summaryrefslogtreecommitdiffstats
path: root/website
diff options
context:
space:
mode:
authorBill Ticehurst <billti@microsoft.com>2012-08-08 15:16:36 -0700
committerBill Ticehurst <billti@microsoft.com>2012-08-08 15:16:36 -0700
commit19634b74f60dce94be4a429210fe2b1d4ebec5bf (patch)
tree1c2b8b3478693b1ff1dcd99237dee549ed376cb0 /website
parent385b4f716367daeff9b78b400df86e896ad2bee7 (diff)
Update float value tests
Diffstat (limited to 'website')
-rw-r--r--website/json/ch08.json2
-rw-r--r--website/json/ch15.json2
-rw-r--r--website/json/suiteDescrip.json2
3 files changed, 3 insertions, 3 deletions
diff --git a/website/json/ch08.json b/website/json/ch08.json
index dfcb8e899..2dad13b7f 100644
--- a/website/json/ch08.json
+++ b/website/json/ch08.json
@@ -1 +1 @@
-{"testsCollection":{"name":"Chapter - ch08","numTests":"182","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":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB1bmRlZmluZWQgaXMgbm90IGEga2V5d29yZAogKgogKiBAcGF0aCBjaDA4LzguMS9TOC4xX0EzLmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGUgdmFyaWFibGUgbmFtZWQgdW5kZWZpbmVkCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSzEjCnZhciB1bmRlZmluZWQgPSAxOwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"undefined is not a keyword","description":"Create variable named undefined","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":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8xLmpzDQogKiBAZGVzY3JpcHRpb24gUHJvcGVydGllcyAtIFtbSGFzT3duUHJvcGVydHldXSAocHJvcGVydHkgZG9lcyBub3QgZXhpc3QpDQogKi8NCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICB2YXIgbyA9IHt9Ow0KICAgIHJldHVybiBvLmhhc093blByb3BlcnR5KCJmb28iKT09PWZhbHNlOw0KDQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Properties - [[HasOwnProperty]] (property does not exist)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8xMC5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKHdyaXRhYmxlLCBjb25maWd1cmFibGUsIG5vbi1lbnVtZXJhYmxlIG93biB2YWx1ZSBwcm9wZXJ0eSkNCiAqLw0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgIHZhciBvID0ge307DQogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCB7dmFsdWU6IDQyLCB3cml0YWJsZTp0cnVlLCBjb25maWd1cmFibGU6dHJ1ZX0pOw0KICAgIHJldHVybiBvLmhhc093blByb3BlcnR5KCJmb28iKTsNCg0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Properties - [[HasOwnProperty]] (writable, configurable, non-enumerable own value property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8xMS5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKHdyaXRhYmxlLCBjb25maWd1cmFibGUsIGVudW1lcmFibGUgb3duIHZhbHVlIHByb3BlcnR5KQ0KICovDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgdmFyIG8gPSB7fTsNCiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIHt2YWx1ZTogNDIsIHdyaXRhYmxlOnRydWUsIGVudW1lcmFibGU6dHJ1ZSwgY29uZmlndXJhYmxlOnRydWV9KTsNCiAgICByZXR1cm4gby5oYXNPd25Qcm9wZXJ0eSgiZm9vIik7DQoNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Properties - [[HasOwnProperty]] (writable, configurable, enumerable own value property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8xMi5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKG5vbi13cml0YWJsZSwgbm9uLWNvbmZpZ3VyYWJsZSwgbm9uLWVudW1lcmFibGUgaW5oZXJpdGVkIHZhbHVlIHByb3BlcnR5KQ0KICovDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgdmFyIGJhc2UgPSB7fTsNCiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYmFzZSwgImZvbyIsIHt2YWx1ZTogNDJ9KTsNCiAgICB2YXIgbyA9IE9iamVjdC5jcmVhdGUoYmFzZSk7DQogICAgcmV0dXJuIG8uaGFzT3duUHJvcGVydHkoImZvbyIpPT09ZmFsc2U7DQoNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Properties - [[HasOwnProperty]] (non-writable, non-configurable, non-enumerable inherited value property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8xMy5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKG5vbi13cml0YWJsZSwgbm9uLWNvbmZpZ3VyYWJsZSwgZW51bWVyYWJsZSBpbmhlcml0ZWQgdmFsdWUgcHJvcGVydHkpDQogKi8NCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICB2YXIgYmFzZSA9IHt9Ow0KICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShiYXNlLCAiZm9vIiwge3ZhbHVlOiA0MiwgZW51bWVyYWJsZTp0cnVlfSk7DQogICAgdmFyIG8gPSBPYmplY3QuY3JlYXRlKGJhc2UpOw0KICAgIHJldHVybiBvLmhhc093blByb3BlcnR5KCJmb28iKT09PWZhbHNlOw0KDQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Properties - [[HasOwnProperty]] (non-writable, non-configurable, enumerable inherited value property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8xNC5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKG5vbi13cml0YWJsZSwgY29uZmlndXJhYmxlLCBub24tZW51bWVyYWJsZSBpbmhlcml0ZWQgdmFsdWUgcHJvcGVydHkpDQogKi8NCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICB2YXIgYmFzZSA9IHt9Ow0KICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShiYXNlLCAiZm9vIiwge3ZhbHVlOiA0MiwgY29uZmlndXJhYmxlOnRydWV9KTsNCiAgICB2YXIgbyA9IE9iamVjdC5jcmVhdGUoYmFzZSk7DQogICAgcmV0dXJuIG8uaGFzT3duUHJvcGVydHkoImZvbyIpPT09ZmFsc2U7DQoNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Properties - [[HasOwnProperty]] (non-writable, configurable, non-enumerable inherited value property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8xNS5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKHdyaXRhYmxlLCBub24tY29uZmlndXJhYmxlLCBub24tZW51bWVyYWJsZSBpbmhlcml0ZWQgdmFsdWUgcHJvcGVydHkpDQogKi8NCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICB2YXIgYmFzZSA9IHt9Ow0KICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShiYXNlLCAiZm9vIiwge3ZhbHVlOiA0Miwgd3JpdGFibGU6dHJ1ZX0pOw0KICAgIHZhciBvID0gT2JqZWN0LmNyZWF0ZShiYXNlKTsNCiAgICByZXR1cm4gby5oYXNPd25Qcm9wZXJ0eSgiZm9vIik9PT1mYWxzZTsNCg0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Properties - [[HasOwnProperty]] (writable, non-configurable, non-enumerable inherited value property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8xNi5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKG5vbi13cml0YWJsZSwgY29uZmlndXJhYmxlLCBlbnVtZXJhYmxlIGluaGVyaXRlZCB2YWx1ZSBwcm9wZXJ0eSkNCiAqLw0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgIHZhciBiYXNlID0ge307DQogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGJhc2UsICJmb28iLCB7dmFsdWU6IDQyLCBjb25maWd1cmFibGU6dHJ1ZSwgZW51bWVyYWJsZTp0cnVlfSk7DQogICAgdmFyIG8gPSBPYmplY3QuY3JlYXRlKGJhc2UpOw0KICAgIHJldHVybiBvLmhhc093blByb3BlcnR5KCJmb28iKT09PWZhbHNlOw0KDQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Properties - [[HasOwnProperty]] (non-writable, configurable, enumerable inherited value property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8xNy5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKHdyaXRhYmxlLCBub24tY29uZmlndXJhYmxlLCBlbnVtZXJhYmxlIGluaGVyaXRlZCB2YWx1ZSBwcm9wZXJ0eSkNCiAqLw0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgIHZhciBiYXNlID0ge307DQogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGJhc2UsICJmb28iLCB7dmFsdWU6IDQyLCB3cml0YWJsZTp0cnVlLCBlbnVtZXJhYmxlOnRydWV9KTsNCiAgICB2YXIgbyA9IE9iamVjdC5jcmVhdGUoYmFzZSk7DQogICAgcmV0dXJuIG8uaGFzT3duUHJvcGVydHkoImZvbyIpPT09ZmFsc2U7DQoNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Properties - [[HasOwnProperty]] (writable, non-configurable, enumerable inherited value property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8xOC5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKHdyaXRhYmxlLCBjb25maWd1cmFibGUsIG5vbi1lbnVtZXJhYmxlIGluaGVyaXRlZCB2YWx1ZSBwcm9wZXJ0eSkNCiAqLw0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgIHZhciBiYXNlID0ge307DQogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGJhc2UsICJmb28iLCB7dmFsdWU6IDQyLCB3cml0YWJsZTp0cnVlLCBjb25maWd1cmFibGU6dHJ1ZX0pOw0KICAgIHZhciBvID0gT2JqZWN0LmNyZWF0ZShiYXNlKTsNCiAgICByZXR1cm4gby5oYXNPd25Qcm9wZXJ0eSgiZm9vIik9PT1mYWxzZTsNCg0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Properties - [[HasOwnProperty]] (writable, configurable, non-enumerable inherited value property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8xOS5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKHdyaXRhYmxlLCBjb25maWd1cmFibGUsIGVudW1lcmFibGUgaW5oZXJpdGVkIHZhbHVlIHByb3BlcnR5KQ0KICovDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgdmFyIGJhc2UgPSB7fTsNCiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYmFzZSwgImZvbyIsIHt2YWx1ZTogNDIsIHdyaXRhYmxlOnRydWUsIGVudW1lcmFibGU6dHJ1ZSwgY29uZmlndXJhYmxlOnRydWV9KTsNCiAgICB2YXIgbyA9IE9iamVjdC5jcmVhdGUoYmFzZSk7DQogICAgcmV0dXJuIG8uaGFzT3duUHJvcGVydHkoImZvbyIpPT09ZmFsc2U7DQoNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Properties - [[HasOwnProperty]] (writable, configurable, enumerable inherited value property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8yLmpzDQogKiBAZGVzY3JpcHRpb24gUHJvcGVydGllcyAtIFtbSGFzT3duUHJvcGVydHldXSAob2xkIHN0eWxlIG93biBwcm9wZXJ0eSkNCiAqLw0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgIHZhciBvID0ge2ZvbzogNDJ9Ow0KICAgIHJldHVybiBvLmhhc093blByb3BlcnR5KCJmb28iKTsNCg0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Properties - [[HasOwnProperty]] (old style own property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8yMC5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKGxpdGVyYWwgb3duIGdldHRlciBwcm9wZXJ0eSkNCiAqLw0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgIHZhciBvID0geyBnZXQgZm9vKCkgeyByZXR1cm4gNDI7fSB9Ow0KICAgIHJldHVybiBvLmhhc093blByb3BlcnR5KCJmb28iKTsNCg0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Properties - [[HasOwnProperty]] (literal own getter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8yMS5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKGxpdGVyYWwgb3duIHNldHRlciBwcm9wZXJ0eSkNCiAqLw0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgIHZhciBvID0geyBzZXQgZm9vKHgpIHs7fSB9Ow0KICAgIHJldHVybiBvLmhhc093blByb3BlcnR5KCJmb28iKTsNCg0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Properties - [[HasOwnProperty]] (literal own setter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8yMi5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKGxpdGVyYWwgb3duIGdldHRlci9zZXR0ZXIgcHJvcGVydHkpDQogKi8NCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICB2YXIgbyA9IHsgZ2V0IGZvbygpIHsgcmV0dXJuIDQyO30sIHNldCBmb28oeCkgezt9IH07DQogICAgcmV0dXJuIG8uaGFzT3duUHJvcGVydHkoImZvbyIpOw0KDQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Properties - [[HasOwnProperty]] (literal own getter/setter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8yMy5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKGxpdGVyYWwgaW5oZXJpdGVkIGdldHRlciBwcm9wZXJ0eSkNCiAqLw0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgIHZhciBiYXNlID0geyBnZXQgZm9vKCkgeyByZXR1cm4gNDI7fSB9Ow0KICAgIHZhciBvID0gT2JqZWN0LmNyZWF0ZShiYXNlKTsNCiAgICByZXR1cm4gby5oYXNPd25Qcm9wZXJ0eSgiZm9vIik9PT1mYWxzZTsNCg0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Properties - [[HasOwnProperty]] (literal inherited getter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8yNC5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKGxpdGVyYWwgaW5oZXJpdGVkIHNldHRlciBwcm9wZXJ0eSkNCiAqLw0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgIHZhciBiYXNlID0geyBzZXQgZm9vKHgpIHs7fSB9Ow0KICAgIHZhciBvID0gT2JqZWN0LmNyZWF0ZShiYXNlKTsNCiAgICByZXR1cm4gby5oYXNPd25Qcm9wZXJ0eSgiZm9vIik9PT1mYWxzZTsNCg0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Properties - [[HasOwnProperty]] (literal inherited setter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8yNS5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKGxpdGVyYWwgaW5oZXJpdGVkIGdldHRlci9zZXR0ZXIgcHJvcGVydHkpDQogKi8NCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICB2YXIgYmFzZSA9IHsgZ2V0IGZvbygpIHsgcmV0dXJuIDQyO30sIHNldCBmb28oeCkgezt9IH07DQogICAgdmFyIG8gPSBPYmplY3QuY3JlYXRlKGJhc2UpOw0KICAgIHJldHVybiBvLmhhc093blByb3BlcnR5KCJmb28iKT09PWZhbHNlOw0KDQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Properties - [[HasOwnProperty]] (literal inherited getter/setter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8yNi5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKG5vbi1jb25maWd1cmFibGUsIG5vbi1lbnVtZXJhYmxlIG93biBnZXR0ZXIgcHJvcGVydHkpDQogKi8NCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICB2YXIgbyA9IHt9Ow0KICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwge2dldDogZnVuY3Rpb24oKSB7cmV0dXJuIDQyO319KTsNCiAgICByZXR1cm4gby5oYXNPd25Qcm9wZXJ0eSgiZm9vIik7DQoNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Properties - [[HasOwnProperty]] (non-configurable, non-enumerable own getter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_26.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8yNy5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKG5vbi1jb25maWd1cmFibGUsIGVudW1lcmFibGUgb3duIGdldHRlciBwcm9wZXJ0eSkNCiAqLw0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgIHZhciBvID0ge307DQogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCB7Z2V0OiBmdW5jdGlvbigpIHtyZXR1cm4gNDI7fSwgZW51bWVyYWJsZTp0cnVlfSk7DQogICAgcmV0dXJuIG8uaGFzT3duUHJvcGVydHkoImZvbyIpOw0KDQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Properties - [[HasOwnProperty]] (non-configurable, enumerable own getter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_27.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8yOC5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKGNvbmZpZ3VyYWJsZSwgbm9uLWVudW1lcmFibGUgb3duIGdldHRlciBwcm9wZXJ0eSkNCiAqLw0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgIHZhciBvID0ge307DQogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCB7Z2V0OiBmdW5jdGlvbigpIHtyZXR1cm4gNDI7fSwgY29uZmlndXJhYmxlOnRydWV9KTsNCiAgICByZXR1cm4gby5oYXNPd25Qcm9wZXJ0eSgiZm9vIik7DQoNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Properties - [[HasOwnProperty]] (configurable, non-enumerable own getter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8yOS5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKGNvbmZpZ3VyYWJsZSwgZW51bWVyYWJsZSBvd24gZ2V0dGVyIHByb3BlcnR5KQ0KICovDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgdmFyIG8gPSB7fTsNCiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIHtnZXQ6IGZ1bmN0aW9uKCkge3JldHVybiA0Mjt9LCBlbnVtZXJhYmxlOnRydWUsIGNvbmZpZ3VyYWJsZTp0cnVlfSk7DQogICAgcmV0dXJuIG8uaGFzT3duUHJvcGVydHkoImZvbyIpOw0KDQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Properties - [[HasOwnProperty]] (configurable, enumerable own getter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8zLmpzDQogKiBAZGVzY3JpcHRpb24gUHJvcGVydGllcyAtIFtbSGFzT3duUHJvcGVydHldXSAob2xkIHN0eWxlIGluaGVyaXRlZCBwcm9wZXJ0eSkNCiAqLw0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgIHZhciBiYXNlID0ge2Zvbzo0Mn07DQogICAgdmFyIG8gPSBPYmplY3QuY3JlYXRlKGJhc2UpOw0KICAgIHJldHVybiBvLmhhc093blByb3BlcnR5KCJmb28iKT09PWZhbHNlOw0KDQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Properties - [[HasOwnProperty]] (old style inherited property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8zMC5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKG5vbi1jb25maWd1cmFibGUsIG5vbi1lbnVtZXJhYmxlIG93biBzZXR0ZXIgcHJvcGVydHkpDQogKi8NCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICB2YXIgbyA9IHt9Ow0KICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwge3NldDogZnVuY3Rpb24oKSB7O319KTsNCiAgICByZXR1cm4gby5oYXNPd25Qcm9wZXJ0eSgiZm9vIik7DQoNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Properties - [[HasOwnProperty]] (non-configurable, non-enumerable own setter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_30.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8zMS5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKG5vbi1jb25maWd1cmFibGUsIGVudW1lcmFibGUgb3duIHNldHRlciBwcm9wZXJ0eSkNCiAqLw0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgIHZhciBvID0ge307DQogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCB7c2V0OiBmdW5jdGlvbigpIHs7fSwgZW51bWVyYWJsZTp0cnVlfSk7DQogICAgcmV0dXJuIG8uaGFzT3duUHJvcGVydHkoImZvbyIpOw0KDQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Properties - [[HasOwnProperty]] (non-configurable, enumerable own setter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_31.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8zMi5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKGNvbmZpZ3VyYWJsZSwgbm9uLWVudW1lcmFibGUgb3duIHNldHRlciBwcm9wZXJ0eSkNCiAqLw0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgIHZhciBvID0ge307DQogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCB7c2V0OiBmdW5jdGlvbigpIHs7fSwgY29uZmlndXJhYmxlOnRydWV9KTsNCiAgICByZXR1cm4gby5oYXNPd25Qcm9wZXJ0eSgiZm9vIik7DQoNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Properties - [[HasOwnProperty]] (configurable, non-enumerable own setter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_32.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8zMy5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKGNvbmZpZ3VyYWJsZSwgZW51bWVyYWJsZSBvd24gc2V0dGVyIHByb3BlcnR5KQ0KICovDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgdmFyIG8gPSB7fTsNCiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIHtzZXQ6IGZ1bmN0aW9uKCkgezt9LCBlbnVtZXJhYmxlOnRydWUsIGNvbmZpZ3VyYWJsZTp0cnVlfSk7DQogICAgcmV0dXJuIG8uaGFzT3duUHJvcGVydHkoImZvbyIpOw0KDQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Properties - [[HasOwnProperty]] (configurable, enumerable own setter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_33.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8zNC5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKG5vbi1jb25maWd1cmFibGUsIG5vbi1lbnVtZXJhYmxlIG93biBnZXR0ZXIvc2V0dGVyIHByb3BlcnR5KQ0KICovDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgdmFyIG8gPSB7fTsNCiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIHtnZXQ6IGZ1bmN0aW9uKCkge3JldHVybiA0Mjt9LCBzZXQ6IGZ1bmN0aW9uKCkgezt9fSk7DQogICAgcmV0dXJuIG8uaGFzT3duUHJvcGVydHkoImZvbyIpOw0KDQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Properties - [[HasOwnProperty]] (non-configurable, non-enumerable own getter/setter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_34.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8zNS5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKG5vbi1jb25maWd1cmFibGUsIGVudW1lcmFibGUgb3duIGdldHRlci9zZXR0ZXIgcHJvcGVydHkpDQogKi8NCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICB2YXIgbyA9IHt9Ow0KICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwge2dldDogZnVuY3Rpb24oKSB7cmV0dXJuIDQyO30sIHNldDogZnVuY3Rpb24oKSB7O30sIGVudW1lcmFibGU6dHJ1ZX0pOw0KICAgIHJldHVybiBvLmhhc093blByb3BlcnR5KCJmb28iKTsNCg0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Properties - [[HasOwnProperty]] (non-configurable, enumerable own getter/setter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_35.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8zNi5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKGNvbmZpZ3VyYWJsZSwgbm9uLWVudW1lcmFibGUgb3duIGdldHRlci9zZXR0ZXIgcHJvcGVydHkpDQogKi8NCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICB2YXIgbyA9IHt9Ow0KICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwge2dldDogZnVuY3Rpb24oKSB7cmV0dXJuIDQyO30sIHNldDogZnVuY3Rpb24oKSB7O30sIGNvbmZpZ3VyYWJsZTp0cnVlfSk7DQogICAgcmV0dXJuIG8uaGFzT3duUHJvcGVydHkoImZvbyIpOw0KDQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Properties - [[HasOwnProperty]] (configurable, non-enumerable own getter/setter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_36.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8zNy5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKGNvbmZpZ3VyYWJsZSwgZW51bWVyYWJsZSBvd24gZ2V0dGVyL3NldHRlciBwcm9wZXJ0eSkNCiAqLw0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgIHZhciBvID0ge307DQogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCB7Z2V0OiBmdW5jdGlvbigpIHtyZXR1cm4gNDI7fSwgc2V0OiBmdW5jdGlvbigpIHs7fSwgZW51bWVyYWJsZTp0cnVlLCBjb25maWd1cmFibGU6dHJ1ZX0pOw0KICAgIHJldHVybiBvLmhhc093blByb3BlcnR5KCJmb28iKTsNCg0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Properties - [[HasOwnProperty]] (configurable, enumerable own getter/setter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_37.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8zOC5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKG5vbi1jb25maWd1cmFibGUsIG5vbi1lbnVtZXJhYmxlIGluaGVyaXRlZCBnZXR0ZXIgcHJvcGVydHkpDQogKi8NCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICB2YXIgYmFzZSA9IHt9Ow0KICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShiYXNlLCAiZm9vIiwge2dldDogZnVuY3Rpb24oKSB7cmV0dXJuIDQyO319KTsNCiAgICB2YXIgbyA9IE9iamVjdC5jcmVhdGUoYmFzZSk7DQogICAgcmV0dXJuIG8uaGFzT3duUHJvcGVydHkoImZvbyIpPT09ZmFsc2U7DQoNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Properties - [[HasOwnProperty]] (non-configurable, non-enumerable inherited getter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_38.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8zOS5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKG5vbi1jb25maWd1cmFibGUsIGVudW1lcmFibGUgaW5oZXJpdGVkIGdldHRlciBwcm9wZXJ0eSkNCiAqLw0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgIHZhciBiYXNlID0ge307DQogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGJhc2UsICJmb28iLCB7Z2V0OiBmdW5jdGlvbigpIHtyZXR1cm4gNDI7fSwgZW51bWVyYWJsZTp0cnVlfSk7DQogICAgdmFyIG8gPSBPYmplY3QuY3JlYXRlKGJhc2UpOw0KICAgIHJldHVybiBvLmhhc093blByb3BlcnR5KCJmb28iKT09PWZhbHNlOw0KDQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Properties - [[HasOwnProperty]] (non-configurable, enumerable inherited getter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_39.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV80LmpzDQogKiBAZGVzY3JpcHRpb24gUHJvcGVydGllcyAtIFtbSGFzT3duUHJvcGVydHldXSAobm9uLXdyaXRhYmxlLCBub24tY29uZmlndXJhYmxlLCBub24tZW51bWVyYWJsZSBvd24gdmFsdWUgcHJvcGVydHkpDQogKi8NCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICB2YXIgbyA9IHt9Ow0KICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwge3ZhbHVlOiA0Mn0pOw0KICAgIHJldHVybiBvLmhhc093blByb3BlcnR5KCJmb28iKTsNCg0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Properties - [[HasOwnProperty]] (non-writable, non-configurable, non-enumerable own value property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV80MC5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKGNvbmZpZ3VyYWJsZSwgbm9uLWVudW1lcmFibGUgaW5oZXJpdGVkIGdldHRlciBwcm9wZXJ0eSkNCiAqLw0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgIHZhciBiYXNlID0ge307DQogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGJhc2UsICJmb28iLCB7Z2V0OiBmdW5jdGlvbigpIHtyZXR1cm4gNDI7fSwgY29uZmlndXJhYmxlOnRydWV9KTsNCiAgICB2YXIgbyA9IE9iamVjdC5jcmVhdGUoYmFzZSk7DQogICAgcmV0dXJuIG8uaGFzT3duUHJvcGVydHkoImZvbyIpPT09ZmFsc2U7DQoNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Properties - [[HasOwnProperty]] (configurable, non-enumerable inherited getter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_40.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV80MS5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKGNvbmZpZ3VyYWJsZSwgZW51bWVyYWJsZSBpbmhlcml0ZWQgZ2V0dGVyIHByb3BlcnR5KQ0KICovDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgdmFyIGJhc2UgPSB7fTsNCiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYmFzZSwgImZvbyIsIHtnZXQ6IGZ1bmN0aW9uKCkge3JldHVybiA0Mjt9LCBlbnVtZXJhYmxlOnRydWUsIGNvbmZpZ3VyYWJsZTp0cnVlfSk7DQogICAgdmFyIG8gPSBPYmplY3QuY3JlYXRlKGJhc2UpOw0KICAgIHJldHVybiBvLmhhc093blByb3BlcnR5KCJmb28iKT09PWZhbHNlOw0KDQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Properties - [[HasOwnProperty]] (configurable, enumerable inherited getter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_41.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV80Mi5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKG5vbi1jb25maWd1cmFibGUsIG5vbi1lbnVtZXJhYmxlIGluaGVyaXRlZCBzZXR0ZXIgcHJvcGVydHkpDQogKi8NCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICB2YXIgYmFzZSA9IHt9Ow0KICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShiYXNlLCAiZm9vIiwge3NldDogZnVuY3Rpb24oKSB7O319KTsNCiAgICB2YXIgbyA9IE9iamVjdC5jcmVhdGUoYmFzZSk7DQogICAgcmV0dXJuIG8uaGFzT3duUHJvcGVydHkoImZvbyIpPT09ZmFsc2U7DQoNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Properties - [[HasOwnProperty]] (non-configurable, non-enumerable inherited setter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_42.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV80My5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKG5vbi1jb25maWd1cmFibGUsIGVudW1lcmFibGUgaW5oZXJpdGVkIHNldHRlciBwcm9wZXJ0eSkNCiAqLw0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgIHZhciBiYXNlID0ge307DQogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGJhc2UsICJmb28iLCB7c2V0OiBmdW5jdGlvbigpIHs7fSwgZW51bWVyYWJsZTp0cnVlfSk7DQogICAgdmFyIG8gPSBPYmplY3QuY3JlYXRlKGJhc2UpOw0KICAgIHJldHVybiBvLmhhc093blByb3BlcnR5KCJmb28iKT09PWZhbHNlOw0KDQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Properties - [[HasOwnProperty]] (non-configurable, enumerable inherited setter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_43.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV80NC5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKGNvbmZpZ3VyYWJsZSwgbm9uLWVudW1lcmFibGUgaW5oZXJpdGVkIHNldHRlciBwcm9wZXJ0eSkNCiAqLw0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgIHZhciBiYXNlID0ge307DQogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGJhc2UsICJmb28iLCB7c2V0OiBmdW5jdGlvbigpIHs7fSwgY29uZmlndXJhYmxlOnRydWV9KTsNCiAgICB2YXIgbyA9IE9iamVjdC5jcmVhdGUoYmFzZSk7DQogICAgcmV0dXJuIG8uaGFzT3duUHJvcGVydHkoImZvbyIpPT09ZmFsc2U7DQoNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Properties - [[HasOwnProperty]] (configurable, non-enumerable inherited setter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_44.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV80NS5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKGNvbmZpZ3VyYWJsZSwgZW51bWVyYWJsZSBpbmhlcml0ZWQgc2V0dGVyIHByb3BlcnR5KQ0KICovDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgdmFyIGJhc2UgPSB7fTsNCiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYmFzZSwgImZvbyIsIHtzZXQ6IGZ1bmN0aW9uKCkgezt9LCBlbnVtZXJhYmxlOnRydWUsIGNvbmZpZ3VyYWJsZTp0cnVlfSk7DQogICAgdmFyIG8gPSBPYmplY3QuY3JlYXRlKGJhc2UpOw0KICAgIHJldHVybiBvLmhhc093blByb3BlcnR5KCJmb28iKT09PWZhbHNlOw0KDQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Properties - [[HasOwnProperty]] (configurable, enumerable inherited setter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_45.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV80Ni5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKG5vbi1jb25maWd1cmFibGUsIG5vbi1lbnVtZXJhYmxlIGluaGVyaXRlZCBnZXR0ZXIvc2V0dGVyIHByb3BlcnR5KQ0KICovDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgdmFyIGJhc2UgPSB7fTsNCiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYmFzZSwgImZvbyIsIHtnZXQ6IGZ1bmN0aW9uKCkge3JldHVybiA0Mjt9LCBzZXQ6IGZ1bmN0aW9uKCkgezt9fSk7DQogICAgdmFyIG8gPSBPYmplY3QuY3JlYXRlKGJhc2UpOw0KICAgIHJldHVybiBvLmhhc093blByb3BlcnR5KCJmb28iKT09PWZhbHNlOw0KDQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Properties - [[HasOwnProperty]] (non-configurable, non-enumerable inherited getter/setter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_46.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV80Ny5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKG5vbi1jb25maWd1cmFibGUsIGVudW1lcmFibGUgaW5oZXJpdGVkIGdldHRlci9zZXR0ZXIgcHJvcGVydHkpDQogKi8NCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICB2YXIgYmFzZSA9IHt9Ow0KICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShiYXNlLCAiZm9vIiwge2dldDogZnVuY3Rpb24oKSB7cmV0dXJuIDQyO30sIHNldDogZnVuY3Rpb24oKSB7O30sIGVudW1lcmFibGU6dHJ1ZX0pOw0KICAgIHZhciBvID0gT2JqZWN0LmNyZWF0ZShiYXNlKTsNCiAgICByZXR1cm4gby5oYXNPd25Qcm9wZXJ0eSgiZm9vIik9PT1mYWxzZTsNCg0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Properties - [[HasOwnProperty]] (non-configurable, enumerable inherited getter/setter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_47.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV80OC5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKGNvbmZpZ3VyYWJsZSwgbm9uLWVudW1lcmFibGUgaW5oZXJpdGVkIGdldHRlci9zZXR0ZXIgcHJvcGVydHkpDQogKi8NCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICB2YXIgYmFzZSA9IHt9Ow0KICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShiYXNlLCAiZm9vIiwge2dldDogZnVuY3Rpb24oKSB7cmV0dXJuIDQyO30sIHNldDogZnVuY3Rpb24oKSB7O30sIGNvbmZpZ3VyYWJsZTp0cnVlfSk7DQogICAgdmFyIG8gPSBPYmplY3QuY3JlYXRlKGJhc2UpOw0KICAgIHJldHVybiBvLmhhc093blByb3BlcnR5KCJmb28iKT09PWZhbHNlOw0KDQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Properties - [[HasOwnProperty]] (configurable, non-enumerable inherited getter/setter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_48.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV80OS5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKGNvbmZpZ3VyYWJsZSwgZW51bWVyYWJsZSBpbmhlcml0ZWQgZ2V0dGVyL3NldHRlciBwcm9wZXJ0eSkNCiAqLw0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgIHZhciBiYXNlID0ge307DQogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGJhc2UsICJmb28iLCB7Z2V0OiBmdW5jdGlvbigpIHtyZXR1cm4gNDI7fSwgc2V0OiBmdW5jdGlvbigpIHs7fSwgZW51bWVyYWJsZTp0cnVlLCBjb25maWd1cmFibGU6dHJ1ZX0pOw0KICAgIHZhciBvID0gT2JqZWN0LmNyZWF0ZShiYXNlKTsNCiAgICByZXR1cm4gby5oYXNPd25Qcm9wZXJ0eSgiZm9vIik9PT1mYWxzZTsNCg0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Properties - [[HasOwnProperty]] (configurable, enumerable inherited getter/setter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_49.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV81LmpzDQogKiBAZGVzY3JpcHRpb24gUHJvcGVydGllcyAtIFtbSGFzT3duUHJvcGVydHldXSAobm9uLXdyaXRhYmxlLCBub24tY29uZmlndXJhYmxlLCBlbnVtZXJhYmxlIG93biB2YWx1ZSBwcm9wZXJ0eSkNCiAqLw0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgIHZhciBvID0ge307DQogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCB7dmFsdWU6IDQyLCBlbnVtZXJhYmxlOnRydWV9KTsNCiAgICByZXR1cm4gby5oYXNPd25Qcm9wZXJ0eSgiZm9vIik7DQoNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Properties - [[HasOwnProperty]] (non-writable, non-configurable, enumerable own value property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV82LmpzDQogKiBAZGVzY3JpcHRpb24gUHJvcGVydGllcyAtIFtbSGFzT3duUHJvcGVydHldXSAobm9uLXdyaXRhYmxlLCBjb25maWd1cmFibGUsIG5vbi1lbnVtZXJhYmxlIG93biB2YWx1ZSBwcm9wZXJ0eSkNCiAqLw0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgIHZhciBvID0ge307DQogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCB7dmFsdWU6IDQyLCBjb25maWd1cmFibGU6dHJ1ZX0pOw0KICAgIHJldHVybiBvLmhhc093blByb3BlcnR5KCJmb28iKTsNCg0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Properties - [[HasOwnProperty]] (non-writable, configurable, non-enumerable own value property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV83LmpzDQogKiBAZGVzY3JpcHRpb24gUHJvcGVydGllcyAtIFtbSGFzT3duUHJvcGVydHldXSAod3JpdGFibGUsIG5vbi1jb25maWd1cmFibGUsIG5vbi1lbnVtZXJhYmxlIG93biB2YWx1ZSBwcm9wZXJ0eSkNCiAqLw0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgIHZhciBvID0ge307DQogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCB7dmFsdWU6IDQyLCB3cml0YWJsZTp0cnVlfSk7DQogICAgcmV0dXJuIG8uaGFzT3duUHJvcGVydHkoImZvbyIpOw0KDQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Properties - [[HasOwnProperty]] (writable, non-configurable, non-enumerable own value property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV84LmpzDQogKiBAZGVzY3JpcHRpb24gUHJvcGVydGllcyAtIFtbSGFzT3duUHJvcGVydHldXSAobm9uLXdyaXRhYmxlLCBjb25maWd1cmFibGUsIGVudW1lcmFibGUgb3duIHZhbHVlIHByb3BlcnR5KQ0KICovDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgdmFyIG8gPSB7fTsNCiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIHt2YWx1ZTogNDIsIGNvbmZpZ3VyYWJsZTp0cnVlLCBlbnVtZXJhYmxlOnRydWV9KTsNCiAgICByZXR1cm4gby5oYXNPd25Qcm9wZXJ0eSgiZm9vIik7DQoNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Properties - [[HasOwnProperty]] (non-writable, configurable, enumerable own value property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV85LmpzDQogKiBAZGVzY3JpcHRpb24gUHJvcGVydGllcyAtIFtbSGFzT3duUHJvcGVydHldXSAod3JpdGFibGUsIG5vbi1jb25maWd1cmFibGUsIGVudW1lcmFibGUgb3duIHZhbHVlIHByb3BlcnR5KQ0KICovDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgdmFyIG8gPSB7fTsNCiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIHt2YWx1ZTogNDIsIHdyaXRhYmxlOnRydWUsIGVudW1lcmFibGU6dHJ1ZX0pOw0KICAgIHJldHVybiBvLmhhc093blByb3BlcnR5KCJmb28iKTsNCg0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Properties - [[HasOwnProperty]] (writable, non-configurable, enumerable own value property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_9.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":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuNC84LjE0LjQtOC1iXzEuanMNCiAqIEBkZXNjcmlwdGlvbiBOb24td3JpdGFibGUgcHJvcGVydHkgb24gYSBwcm90b3R5cGUgd3JpdHRlbiB0by4NCiAqLw0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgICANCiAgICBmdW5jdGlvbiBmb28oKSB7fTsNCiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZm9vLnByb3RvdHlwZSwgImJhciIsIHt2YWx1ZTogInVud3JpdGFibGUifSk7IA0KICAgIA0KICAgIHZhciBvID0gbmV3IGZvbygpOyANCiAgICBvLmJhciA9ICJvdmVycmlkZGVuIjsgDQogICAgcmV0dXJuIG8uaGFzT3duUHJvcGVydHkoImJhciIpPT09ZmFsc2UgJiYgby5iYXI9PT0idW53cml0YWJsZSI7DQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Non-writable property on a prototype written to.","path":"TestCases/ch08/8.12/8.12.4/8.14.4-8-b_1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuNC84LjE0LjQtOC1iXzIuanMNCiAqIEBkZXNjcmlwdGlvbiBOb24td3JpdGFibGUgcHJvcGVydHkgb24gYSBwcm90b3R5cGUgd3JpdHRlbiB0byBpbiBzdHJpY3QgbW9kZS4NCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgInVzZSBzdHJpY3QiOw0KICAgIA0KICAgIGZ1bmN0aW9uIGZvbygpIHt9Ow0KICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShmb28ucHJvdG90eXBlLCAiYmFyIiwge3ZhbHVlOiAidW53cml0YWJsZSJ9KTsgDQogICAgDQogICAgdmFyIG8gPSBuZXcgZm9vKCk7IA0KICAgIHRyeSB7DQogICAgICAgIG8uYmFyID0gIm92ZXJyaWRkZW4iOyANCiAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgIH0gY2F0Y2goZSkgew0KICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIChvLmJhcj09PSJ1bndyaXRhYmxlIik7DQogICAgfQ0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Non-writable property on a prototype written to in strict mode.","onlyStrict":"","path":"TestCases/ch08/8.12/8.12.4/8.14.4-8-b_2.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":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuNS84LjEyLjUtMy1iXzEuanMNCiAqIEBkZXNjcmlwdGlvbiBDaGFuZ2luZyB0aGUgdmFsdWUgb2YgYSBkYXRhIHByb3BlcnR5IHNob3VsZCBub3QgYWZmZWN0IGl0J3Mgbm9uLXZhbHVlIHByb3BlcnR5IGRlc2NyaXB0b3IgYXR0cmlidXRlcy4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIHZhciBvcmlnUmVkdWNlID0gQXJyYXkucHJvdG90eXBlLnJlZHVjZTsNCiAgICB2YXIgb3JpZ0Rlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEFycmF5LnByb3RvdHlwZSwgInJlZHVjZSIpOw0KICAgIHZhciBuZXdEZXNjOw0KICAgIA0KICAgIHRyeSB7DQogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgPSBmdW5jdGlvbiAoKSB7O307DQogICAgICAgIG5ld0Rlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEFycmF5LnByb3RvdHlwZSwgInJlZHVjZSIpOw0KICAgICAgICB2YXIgZGVzY0FycmF5ID0gW29yaWdEZXNjLCBuZXdEZXNjXTsNCiAgICAgICAgDQogICAgICAgIGZvciAodmFyIGogaW4gZGVzY0FycmF5KSB7ICAvL0Vuc3VyZSBubyBhdHRyaWJ1dGVzIGFyZSBtYWdpY2FsbHkgYWRkZWQgdG8gbmV3RGVzYw0KICAgICAgICAgICAgZm9yICh2YXIgaSBpbiBkZXNjQXJyYXlbal0pIHsNCiAgICAgICAgICAgICAgICBpZiAoaT09PSJ2YWx1ZSIpIHsNCiAgICAgICAgICAgICAgICAgICAgaWYgKG9yaWdEZXNjW2ldPT09bmV3RGVzY1tpXSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIGVsc2UgaWYgKG9yaWdEZXNjW2ldIT09bmV3RGVzY1tpXSkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiB0cnVlOyAgICAgICAgDQogICAgDQogICAgfSBmaW5hbGx5IHsNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZSA9IG9yaWdSZWR1Y2U7DQogICAgfQ0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Changing the value of a data property should not affect it's non-value property descriptor attributes.","path":"TestCases/ch08/8.12/8.12.5/8.12.5-3-b_1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuNS84LjEyLjUtMy1iXzIuanMNCiAqIEBkZXNjcmlwdGlvbiBDaGFuZ2luZyB0aGUgdmFsdWUgb2YgYSBkYXRhIHByb3BlcnR5IHNob3VsZCBub3QgYWZmZWN0IGl0J3Mgbm9uLXZhbHVlIHByb3BlcnR5IGRlc2NyaXB0b3IgYXR0cmlidXRlcy4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIHZhciB0ZW1wT2JqID0ge307DQogICAgDQogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRlbXBPYmosICJyZWR1Y2UiLCB7IHZhbHVlOjQ1NiwgZW51bWVyYWJsZTpmYWxzZSwgd3JpdGFibGU6dHJ1ZX0pOw0KICAgIHZhciBvcmlnUmVkdWNlID0gdGVtcE9iai5yZWR1Y2U7DQogICAgdmFyIG9yaWdEZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0ZW1wT2JqLCAicmVkdWNlIik7DQoNCiAgICB2YXIgbmV3RGVzYzsNCiAgICANCiAgICB0cnkgew0KICAgICAgICB0ZW1wT2JqLnJlZHVjZSA9IDEyMzsNCiAgICAgICAgbmV3RGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodGVtcE9iaiwgInJlZHVjZSIpOw0KICAgICAgICB2YXIgZGVzY0FycmF5ID0gW29yaWdEZXNjLCBuZXdEZXNjXTsNCiAgICAgICAgDQogICAgICAgIGZvciAodmFyIGogaW4gZGVzY0FycmF5KSB7DQogICAgICAgICAgICBmb3IgKHZhciBpIGluIGRlc2NBcnJheVtqXSkgew0KICAgICAgICAgICAgICAgIGlmIChpPT09InZhbHVlIikgew0KICAgICAgICAgICAgICAgICAgICBpZiAob3JpZ0Rlc2NbaV09PT1uZXdEZXNjW2ldKSB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgZWxzZSBpZiAob3JpZ0Rlc2NbaV0hPT1uZXdEZXNjW2ldKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgDQogICAgfSBmaW5hbGx5IHsNCiAgICAgICAgdGVtcE9iai5yZWR1Y2UgPSBvcmlnUmVkdWNlOw0KICAgIH0NCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Changing the value of a data property should not affect it's non-value property descriptor attributes.","path":"TestCases/ch08/8.12/8.12.5/8.12.5-3-b_2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuNS84LjEyLjUtNS1iXzEuanMNCiAqIEBkZXNjcmlwdGlvbiBDaGFuZ2luZyB0aGUgdmFsdWUgb2YgYW4gYWNjZXNzb3IgcHJvcGVydHkgc2hvdWxkIG5vdCBhZmZlY3QgaXQncyBwcm9wZXJ0eSBkZXNjcmlwdG9yIGF0dHJpYnV0ZXMuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICB2YXIgdGVtcE9iaiA9IHt9Ow0KICAgIA0KICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0ZW1wT2JqLCAicmVkdWNlIiwgeyBnZXQ6IGZ1bmN0aW9uKCkge3JldHVybiA0NTY7fSwgZW51bWVyYWJsZTpmYWxzZSwgc2V0OiBmdW5jdGlvbigpIHs7fX0pOw0KICAgIHZhciBvcmlnUmVkdWNlID0gdGVtcE9iai5yZWR1Y2U7DQogICAgdmFyIG9yaWdEZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0ZW1wT2JqLCAicmVkdWNlIik7DQoNCiAgICB2YXIgbmV3RGVzYzsNCiAgICANCiAgICB0cnkgew0KICAgICAgICB0ZW1wT2JqLnJlZHVjZSA9IDEyMzsNCiAgICAgICAgbmV3RGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodGVtcE9iaiwgInJlZHVjZSIpOw0KICAgICAgICB2YXIgZGVzY0FycmF5ID0gW29yaWdEZXNjLCBuZXdEZXNjXTsNCiAgICAgICAgDQogICAgICAgIGZvciAodmFyIGogaW4gZGVzY0FycmF5KSB7DQogICAgICAgICAgICBmb3IgKHZhciBpIGluIGRlc2NBcnJheVtqXSkgew0KICAgICAgICAgICAgICAgIGlmIChvcmlnRGVzY1tpXSE9PW5ld0Rlc2NbaV0pIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gdGVtcE9iai5yZWR1Y2U9PT00NTY7ICAgICAgICANCiAgICANCiAgICB9IGZpbmFsbHkgew0KICAgICAgICB0ZW1wT2JqLnJlZHVjZSA9IG9yaWdSZWR1Y2U7DQogICAgfQ0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Changing the value of an accessor property should not affect it's property descriptor attributes.","path":"TestCases/ch08/8.12/8.12.5/8.12.5-5-b_1.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":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuOS84LjEyLjktOS1iLWlfMS5qcw0KICogQGRlc2NyaXB0aW9uIFJlZGVmaW5lIGEgY29uZmlndXJhYmxlIGRhdGEgcHJvcGVydHkgdG8gYmUgYW4gYWNjZXNzb3IgcHJvcGVydHkgb24gYSBuZXdseSBub24tZXh0ZW5zaWJsZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIHZhciBvID0ge307DQogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCANCiAgICAgICAgICAgICAgICAgICAgICAgICAgeyB2YWx1ZTogImhlbGxvIiwgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlfSk7DQogICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKG8pOw0KICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwgeyBnZXQ6IGZ1bmN0aW9uKCkgeyByZXR1cm4gNTt9IH0pOw0KDQogICAgdmFyIGZvb0Rlc2NyaXAgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG8sICJmb28iKTsNCiAgICByZXR1cm4gby5mb289PT01ICYmIGZvb0Rlc2NyaXAuZ2V0IT09dW5kZWZpbmVkICYmIGZvb0Rlc2NyaXAuc2V0PT09dW5kZWZpbmVkICYmIGZvb0Rlc2NyaXAudmFsdWU9PT11bmRlZmluZWQgJiYgZm9vRGVzY3JpcC5jb25maWd1cmFibGU9PT10cnVlICYmIGZvb0Rlc2NyaXAuZW51bWVyYWJsZT09PWZhbHNlICYmIGZvb0Rlc2NyaXAud3JpdGFibGU9PT11bmRlZmluZWQ7DQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Redefine a configurable data property to be an accessor property on a newly non-extensible object","path":"TestCases/ch08/8.12/8.12.9/8.12.9-9-b-i_1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuOS84LjEyLjktOS1iLWlfMi5qcw0KICogQGRlc2NyaXB0aW9uIFJlZGVmaW5lIGEgY29uZmlndXJhYmxlIGRhdGEgcHJvcGVydHkgdG8gYmUgYW4gYWNjZXNzb3IgcHJvcGVydHkgb24gYSBuZXdseSBub24tZXh0ZW5zaWJsZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIHZhciBvID0ge307DQogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCANCiAgICAgICAgICAgICAgICAgICAgICAgICAgeyB2YWx1ZTogImhlbGxvIiwgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWV9KTsNCiAgICBPYmplY3QucHJldmVudEV4dGVuc2lvbnMobyk7DQogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCB7IGdldDogZnVuY3Rpb24oKSB7IHJldHVybiA1O30gfSk7DQoNCiAgICB2YXIgZm9vRGVzY3JpcCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobywgImZvbyIpOw0KICAgIHJldHVybiBvLmZvbz09PTUgJiYgZm9vRGVzY3JpcC5nZXQhPT11bmRlZmluZWQgJiYgZm9vRGVzY3JpcC5zZXQ9PT11bmRlZmluZWQgJiYgZm9vRGVzY3JpcC52YWx1ZT09PXVuZGVmaW5lZCAmJiBmb29EZXNjcmlwLmNvbmZpZ3VyYWJsZT09PXRydWUgJiYgZm9vRGVzY3JpcC5lbnVtZXJhYmxlPT09dHJ1ZSAmJiBmb29EZXNjcmlwLndyaXRhYmxlPT09dW5kZWZpbmVkOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Redefine a configurable data property to be an accessor property on a newly non-extensible object","path":"TestCases/ch08/8.12/8.12.9/8.12.9-9-b-i_2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuOS84LjEyLjktOS1jLWlfMS5qcw0KICogQGRlc2NyaXB0aW9uIFJlZGVmaW5lIGEgY29uZmlndXJhYmxlIGFjY2Vzc29yIHByb3BlcnR5IHRvIGJlIGEgZGF0YSBwcm9wZXJ0eSBvbiBhIG5vbi1leHRlbnNpYmxlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgdmFyIG8gPSB7fTsNCiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIA0KICAgICAgICAgICAgICAgICAgICAgICAgICB7IGdldDogZnVuY3Rpb24oKSB7IHJldHVybiA1O30sIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZX0pOw0KICAgIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyhvKTsNCiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIHsgdmFsdWU6ICJoZWxsbyJ9KTsNCg0KICAgIHZhciBmb29EZXNjcmlwID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvLCAiZm9vIik7DQogICAgcmV0dXJuIG8uZm9vPT09ImhlbGxvIiAmJiBmb29EZXNjcmlwLmdldD09PXVuZGVmaW5lZCAmJiBmb29EZXNjcmlwLnNldD09PXVuZGVmaW5lZCAmJiBmb29EZXNjcmlwLnZhbHVlPT09ImhlbGxvIiAmJiBmb29EZXNjcmlwLmNvbmZpZ3VyYWJsZT09PXRydWUgJiYgZm9vRGVzY3JpcC5lbnVtZXJhYmxlPT09ZmFsc2UgJiYgZm9vRGVzY3JpcC53cml0YWJsZT09PWZhbHNlOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Redefine a configurable accessor property to be a data property on a non-extensible object","path":"TestCases/ch08/8.12/8.12.9/8.12.9-9-c-i_1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuOS84LjEyLjktOS1jLWlfMi5qcw0KICogQGRlc2NyaXB0aW9uIFJlZGVmaW5lIGEgY29uZmlndXJhYmxlIGFjY2Vzc29yIHByb3BlcnR5IHRvIGJlIGEgZGF0YSBwcm9wZXJ0eSBvbiBhIG5vbi1leHRlbnNpYmxlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgdmFyIG8gPSB7fTsNCiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIA0KICAgICAgICAgICAgICAgICAgICAgICAgICB7IGdldDogZnVuY3Rpb24oKSB7IHJldHVybiA1O30sIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZX0pOw0KICAgIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyhvKTsNCiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIA0KICAgICAgICAgICAgICAgICAgICAgICAgICB7IHZhbHVlOiAiaGVsbG8iLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlfSk7DQoNCiAgICB2YXIgZm9vRGVzY3JpcCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobywgImZvbyIpOw0KICAgIHJldHVybiBvLmZvbz09PSJoZWxsbyIgJiYgZm9vRGVzY3JpcC5nZXQ9PT11bmRlZmluZWQgJiYgZm9vRGVzY3JpcC5zZXQ9PT11bmRlZmluZWQgJiYgZm9vRGVzY3JpcC52YWx1ZT09PSJoZWxsbyIgJiYgZm9vRGVzY3JpcC5jb25maWd1cmFibGU9PT10cnVlICYmIGZvb0Rlc2NyaXAuZW51bWVyYWJsZT09PWZhbHNlICYmIGZvb0Rlc2NyaXAud3JpdGFibGU9PT10cnVlOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Redefine a configurable accessor property to be a data property on a non-extensible object","path":"TestCases/ch08/8.12/8.12.9/8.12.9-9-c-i_2.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":"<LF> between chunks of one string not allowed","description":"Insert <LF> between chunks of one string","negative":"","path":"TestCases/ch08/8.4/S8.4_A7.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiA8Q1I+IGJldHdlZW4gY2h1bmtzIG9mIG9uZSBzdHJpbmcgbm90IGFsbG93ZWQKICoKICogQHBhdGggY2gwOC84LjQvUzguNF9BNy4yLmpzCiAqIEBkZXNjcmlwdGlvbiBJbnNlcnQgPENSPiBiZXR3ZWVuIGNodW5rcyBvZiBvbmUgc3RyaW5nCiAqIEBuZWdhdGl2ZQogKi8KCmV2YWwoInZhciB4ID0gYXNkZlx1MDAwRGdoamsiKTsKCg==","commentary":"<CR> between chunks of one string not allowed","description":"Insert <CR> between chunks of one string","negative":"","path":"TestCases/ch08/8.4/S8.4_A7.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiA8UFM+IGJldHdlZW4gY2h1bmtzIG9mIG9uZSBzdHJpbmcgbm90IGFsbG93ZWQKICoKICogQHBhdGggY2gwOC84LjQvUzguNF9BNy4zLmpzCiAqIEBkZXNjcmlwdGlvbiBJbnNlcnQgPFBTPiBiZXR3ZWVuIGNodW5rcyBvZiBvbmUgc3RyaW5nCiAqIEBuZWdhdGl2ZQogKi8KCmV2YWwoInZhciB4ID0gYXNkZlx1MjAyOGdoamsiKTsKCg==","commentary":"<PS> between chunks of one string not allowed","description":"Insert <PS> between chunks of one string","negative":"","path":"TestCases/ch08/8.4/S8.4_A7.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiA8TFM+IGJldHdlZW4gY2h1bmtzIG9mIG9uZSBzdHJpbmcgbm90IGFsbG93ZWQKICoKICogQHBhdGggY2gwOC84LjQvUzguNF9BNy40LmpzCiAqIEBkZXNjcmlwdGlvbiBJbnNlcnQgPExTPiBiZXR3ZWVuIGNodW5rcyBvZiBvbmUgc3RyaW5nCiAqIEBuZWdhdGl2ZQogKi8KCmV2YWwoInZhciB4ID0gYXNkZlx1MjAyOWdoamsiKTsKCg==","commentary":"<LS> between chunks of one string not allowed","description":"Insert <LS> 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":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjcvOC43LjIvOC43LjItMS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBSZWZlcmVuY2VFcnJvciBpcyB0aHJvd24gaWYgTGVmdEhhbmRTaWRlIGV2YWx1YXRlcyB0byBhbiB1bnJlc29sdmFibGUgUmVmZXJlbmNlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoIl84XzdfMl8xID0gMTE7Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjcvOC43LjIvOC43LjItMi1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBSZWZlcmVuY2VFcnJvciBpc24ndCB0aHJvd24gaWYgTGVmdEhhbmRTaWRlIGV2YWx1YXRlcyB0byBhIHJlc29sdmFibGUgUmVmZXJlbmNlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIGIgPSAxMTsNCiAgICAgICAgcmV0dXJuIGIgPT09IDExOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjcvOC43LjIvOC43LjItMy0xLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBldmFsIC0gYSBwcm9wZXJ0eSBuYW1lZCAnZXZhbCcgaXMgcGVybWl0dGVkDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICd1c2Ugc3RyaWN0JzsNCg0KICB2YXIgbyA9IHsgZXZhbDogNDJ9Ow0KICByZXR1cm4gdHJ1ZTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjcvOC43LjIvOC43LjItMy1hLTFncy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gUmVmZXJlbmNlRXJyb3IgaXMgdGhyb3duIGlmIExlZnRIYW5kU2lkZSBldmFsdWF0ZSB0byBhbiB1bnJlc29sdmFibGUgUmVmZXJlbmNlDQogKiBAb25seVN0cmljdA0KICogQG5lZ2F0aXZlIC4NCiAqLw0KDQoidXNlIHN0cmljdCI7DQpiID0gMTE7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjcvOC43LjIvOC43LjItMy1hLTJncy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gJ3J1bnRpbWUnIGVycm9yIGlzIHRocm93biBiZWZvcmUgTGVmdEhhbmRTaWRlIGV2YWx1YXRlcyB0byBhbiB1bnJlc29sdmFibGUgUmVmZXJlbmNlDQogKiBAb25seVN0cmljdA0KICogQG5lZ2F0aXZlIE5vdEVhcmx5RXJyb3INCiAqLw0KDQoidXNlIHN0cmljdCI7DQp0aHJvdyBOb3RFYXJseUVycm9yOw0KYiA9IDExOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjcvOC43LjIvOC43LjItMy1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBUeXBlRXJyb3IgaXMgdGhyb3duIGlmIExlZnRIYW5kU2lkZSBpcyBhIHJlZmVyZW5jZSB0byBhIG5vbi13cml0YWJsZSBkYXRhIHByb3BlcnR5DQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIF84XzdfMl8zID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShfOF83XzJfMywgImIiLCB7DQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIF84XzdfMl8zLmIgPSAxMTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjcvOC43LjIvOC43LjItNC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBUeXBlRXJyb3IgaXMgdGhyb3duIGlmIExlZnRIYW5kU2lkZSBpcyBhIHJlZmVyZW5jZSB0byBhbiBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRoIG5vIHNldHRlcg0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBfOF83XzJfNCA9IHt9Ow0KICAgICAgICB2YXIgXzhfN18yXzRfYlZhbHVlID0gMTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KF84XzdfMl80LCAiYiIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gXzhfN18yXzRfYlZhbHVlOyB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBfOF83XzJfNC5iID0gMTE7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjcvOC43LjIvOC43LjItNS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBUeXBlRXJyb3IgaXMgdGhyb3duIGlmIExlZnRIYW5kU2lkZSBpcyBhIHJlZmVyZW5jZSB0byBhIG5vbi1leGlzdGVudCBwcm9wZXJ0eSBvZiBhbiBub24tZXh0ZW5zaWJsZSBvYmplY3QNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgXzhfN18yXzUgPSB7fTsNCiAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKF84XzdfMl81KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgXzhfN18yXzUuYiA9IDExOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjcvOC43LjIvOC43LjItNi1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBUeXBlRXJyb3IgaXNuJ3QgdGhyb3duIGlmIExlZnRIYW5kU2lkZSBpcyBhIHJlZmVyZW5jZSB0byBhIHdyaXRhYmxlIGRhdGEgcHJvcGVydHkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgXzhfN18yXzYgPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KF84XzdfMl82LCAiYiIsIHsNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIF84XzdfMl82LmIgPSAxMTsNCg0KICAgICAgICByZXR1cm4gXzhfN18yXzYuYiA9PT0gMTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjcvOC43LjIvOC43LjItNy1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBUeXBlRXJyb3IgaXNuJ3QgdGhyb3duIGlmIExlZnRIYW5kU2lkZSBpcyBhIHJlZmVyZW5jZSB0byBhbiBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRoIHNldHRlcg0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBfOF83XzJfNyA9IHt9Ow0KICAgICAgICB2YXIgXzhfN18yXzdfYlZhbHVlID0gMTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KF84XzdfMl83LCAiYiIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gXzhfN18yXzdfYlZhbHVlOyB9LA0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAodmFsdWUpIHsgXzhfN18yXzdfYlZhbHVlID0gdmFsdWU7IH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgXzhfN18yXzcuYiA9IDExOw0KICAgICAgICByZXR1cm4gXzhfN18yXzcuYiA9PT0gMTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjcvOC43LjIvOC43LjItOC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBUeXBlRXJyb3IgaXNuJ3QgdGhyb3duIGlmIExlZnRIYW5kU2lkZSBpcyBhIHJlZmVyZW5jZSB0byBhIHByb3BlcnR5IG9mIGFuIGV4dGVuc2libGUgb2JqZWN0DQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIF84XzdfMl84ID0ge307DQoNCiAgICAgICAgXzhfN18yXzguYiA9IDExOw0KDQogICAgICAgIHJldHVybiBfOF83XzJfOC5iID09PSAxMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"182","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":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB1bmRlZmluZWQgaXMgbm90IGEga2V5d29yZAogKgogKiBAcGF0aCBjaDA4LzguMS9TOC4xX0EzLmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGUgdmFyaWFibGUgbmFtZWQgdW5kZWZpbmVkCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSzEjCnZhciB1bmRlZmluZWQgPSAxOwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"undefined is not a keyword","description":"Create variable named undefined","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":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8xLmpzDQogKiBAZGVzY3JpcHRpb24gUHJvcGVydGllcyAtIFtbSGFzT3duUHJvcGVydHldXSAocHJvcGVydHkgZG9lcyBub3QgZXhpc3QpDQogKi8NCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICB2YXIgbyA9IHt9Ow0KICAgIHJldHVybiBvLmhhc093blByb3BlcnR5KCJmb28iKT09PWZhbHNlOw0KDQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Properties - [[HasOwnProperty]] (property does not exist)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8xMC5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKHdyaXRhYmxlLCBjb25maWd1cmFibGUsIG5vbi1lbnVtZXJhYmxlIG93biB2YWx1ZSBwcm9wZXJ0eSkNCiAqLw0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgIHZhciBvID0ge307DQogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCB7dmFsdWU6IDQyLCB3cml0YWJsZTp0cnVlLCBjb25maWd1cmFibGU6dHJ1ZX0pOw0KICAgIHJldHVybiBvLmhhc093blByb3BlcnR5KCJmb28iKTsNCg0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Properties - [[HasOwnProperty]] (writable, configurable, non-enumerable own value property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8xMS5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKHdyaXRhYmxlLCBjb25maWd1cmFibGUsIGVudW1lcmFibGUgb3duIHZhbHVlIHByb3BlcnR5KQ0KICovDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgdmFyIG8gPSB7fTsNCiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIHt2YWx1ZTogNDIsIHdyaXRhYmxlOnRydWUsIGVudW1lcmFibGU6dHJ1ZSwgY29uZmlndXJhYmxlOnRydWV9KTsNCiAgICByZXR1cm4gby5oYXNPd25Qcm9wZXJ0eSgiZm9vIik7DQoNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Properties - [[HasOwnProperty]] (writable, configurable, enumerable own value property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8xMi5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKG5vbi13cml0YWJsZSwgbm9uLWNvbmZpZ3VyYWJsZSwgbm9uLWVudW1lcmFibGUgaW5oZXJpdGVkIHZhbHVlIHByb3BlcnR5KQ0KICovDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgdmFyIGJhc2UgPSB7fTsNCiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYmFzZSwgImZvbyIsIHt2YWx1ZTogNDJ9KTsNCiAgICB2YXIgbyA9IE9iamVjdC5jcmVhdGUoYmFzZSk7DQogICAgcmV0dXJuIG8uaGFzT3duUHJvcGVydHkoImZvbyIpPT09ZmFsc2U7DQoNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Properties - [[HasOwnProperty]] (non-writable, non-configurable, non-enumerable inherited value property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8xMy5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKG5vbi13cml0YWJsZSwgbm9uLWNvbmZpZ3VyYWJsZSwgZW51bWVyYWJsZSBpbmhlcml0ZWQgdmFsdWUgcHJvcGVydHkpDQogKi8NCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICB2YXIgYmFzZSA9IHt9Ow0KICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShiYXNlLCAiZm9vIiwge3ZhbHVlOiA0MiwgZW51bWVyYWJsZTp0cnVlfSk7DQogICAgdmFyIG8gPSBPYmplY3QuY3JlYXRlKGJhc2UpOw0KICAgIHJldHVybiBvLmhhc093blByb3BlcnR5KCJmb28iKT09PWZhbHNlOw0KDQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Properties - [[HasOwnProperty]] (non-writable, non-configurable, enumerable inherited value property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8xNC5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKG5vbi13cml0YWJsZSwgY29uZmlndXJhYmxlLCBub24tZW51bWVyYWJsZSBpbmhlcml0ZWQgdmFsdWUgcHJvcGVydHkpDQogKi8NCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICB2YXIgYmFzZSA9IHt9Ow0KICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShiYXNlLCAiZm9vIiwge3ZhbHVlOiA0MiwgY29uZmlndXJhYmxlOnRydWV9KTsNCiAgICB2YXIgbyA9IE9iamVjdC5jcmVhdGUoYmFzZSk7DQogICAgcmV0dXJuIG8uaGFzT3duUHJvcGVydHkoImZvbyIpPT09ZmFsc2U7DQoNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Properties - [[HasOwnProperty]] (non-writable, configurable, non-enumerable inherited value property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8xNS5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKHdyaXRhYmxlLCBub24tY29uZmlndXJhYmxlLCBub24tZW51bWVyYWJsZSBpbmhlcml0ZWQgdmFsdWUgcHJvcGVydHkpDQogKi8NCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICB2YXIgYmFzZSA9IHt9Ow0KICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShiYXNlLCAiZm9vIiwge3ZhbHVlOiA0Miwgd3JpdGFibGU6dHJ1ZX0pOw0KICAgIHZhciBvID0gT2JqZWN0LmNyZWF0ZShiYXNlKTsNCiAgICByZXR1cm4gby5oYXNPd25Qcm9wZXJ0eSgiZm9vIik9PT1mYWxzZTsNCg0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Properties - [[HasOwnProperty]] (writable, non-configurable, non-enumerable inherited value property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8xNi5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKG5vbi13cml0YWJsZSwgY29uZmlndXJhYmxlLCBlbnVtZXJhYmxlIGluaGVyaXRlZCB2YWx1ZSBwcm9wZXJ0eSkNCiAqLw0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgIHZhciBiYXNlID0ge307DQogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGJhc2UsICJmb28iLCB7dmFsdWU6IDQyLCBjb25maWd1cmFibGU6dHJ1ZSwgZW51bWVyYWJsZTp0cnVlfSk7DQogICAgdmFyIG8gPSBPYmplY3QuY3JlYXRlKGJhc2UpOw0KICAgIHJldHVybiBvLmhhc093blByb3BlcnR5KCJmb28iKT09PWZhbHNlOw0KDQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Properties - [[HasOwnProperty]] (non-writable, configurable, enumerable inherited value property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8xNy5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKHdyaXRhYmxlLCBub24tY29uZmlndXJhYmxlLCBlbnVtZXJhYmxlIGluaGVyaXRlZCB2YWx1ZSBwcm9wZXJ0eSkNCiAqLw0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgIHZhciBiYXNlID0ge307DQogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGJhc2UsICJmb28iLCB7dmFsdWU6IDQyLCB3cml0YWJsZTp0cnVlLCBlbnVtZXJhYmxlOnRydWV9KTsNCiAgICB2YXIgbyA9IE9iamVjdC5jcmVhdGUoYmFzZSk7DQogICAgcmV0dXJuIG8uaGFzT3duUHJvcGVydHkoImZvbyIpPT09ZmFsc2U7DQoNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Properties - [[HasOwnProperty]] (writable, non-configurable, enumerable inherited value property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8xOC5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKHdyaXRhYmxlLCBjb25maWd1cmFibGUsIG5vbi1lbnVtZXJhYmxlIGluaGVyaXRlZCB2YWx1ZSBwcm9wZXJ0eSkNCiAqLw0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgIHZhciBiYXNlID0ge307DQogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGJhc2UsICJmb28iLCB7dmFsdWU6IDQyLCB3cml0YWJsZTp0cnVlLCBjb25maWd1cmFibGU6dHJ1ZX0pOw0KICAgIHZhciBvID0gT2JqZWN0LmNyZWF0ZShiYXNlKTsNCiAgICByZXR1cm4gby5oYXNPd25Qcm9wZXJ0eSgiZm9vIik9PT1mYWxzZTsNCg0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Properties - [[HasOwnProperty]] (writable, configurable, non-enumerable inherited value property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8xOS5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKHdyaXRhYmxlLCBjb25maWd1cmFibGUsIGVudW1lcmFibGUgaW5oZXJpdGVkIHZhbHVlIHByb3BlcnR5KQ0KICovDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgdmFyIGJhc2UgPSB7fTsNCiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYmFzZSwgImZvbyIsIHt2YWx1ZTogNDIsIHdyaXRhYmxlOnRydWUsIGVudW1lcmFibGU6dHJ1ZSwgY29uZmlndXJhYmxlOnRydWV9KTsNCiAgICB2YXIgbyA9IE9iamVjdC5jcmVhdGUoYmFzZSk7DQogICAgcmV0dXJuIG8uaGFzT3duUHJvcGVydHkoImZvbyIpPT09ZmFsc2U7DQoNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Properties - [[HasOwnProperty]] (writable, configurable, enumerable inherited value property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8yLmpzDQogKiBAZGVzY3JpcHRpb24gUHJvcGVydGllcyAtIFtbSGFzT3duUHJvcGVydHldXSAob2xkIHN0eWxlIG93biBwcm9wZXJ0eSkNCiAqLw0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgIHZhciBvID0ge2ZvbzogNDJ9Ow0KICAgIHJldHVybiBvLmhhc093blByb3BlcnR5KCJmb28iKTsNCg0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Properties - [[HasOwnProperty]] (old style own property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8yMC5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKGxpdGVyYWwgb3duIGdldHRlciBwcm9wZXJ0eSkNCiAqLw0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgIHZhciBvID0geyBnZXQgZm9vKCkgeyByZXR1cm4gNDI7fSB9Ow0KICAgIHJldHVybiBvLmhhc093blByb3BlcnR5KCJmb28iKTsNCg0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Properties - [[HasOwnProperty]] (literal own getter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8yMS5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKGxpdGVyYWwgb3duIHNldHRlciBwcm9wZXJ0eSkNCiAqLw0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgIHZhciBvID0geyBzZXQgZm9vKHgpIHs7fSB9Ow0KICAgIHJldHVybiBvLmhhc093blByb3BlcnR5KCJmb28iKTsNCg0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Properties - [[HasOwnProperty]] (literal own setter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8yMi5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKGxpdGVyYWwgb3duIGdldHRlci9zZXR0ZXIgcHJvcGVydHkpDQogKi8NCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICB2YXIgbyA9IHsgZ2V0IGZvbygpIHsgcmV0dXJuIDQyO30sIHNldCBmb28oeCkgezt9IH07DQogICAgcmV0dXJuIG8uaGFzT3duUHJvcGVydHkoImZvbyIpOw0KDQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Properties - [[HasOwnProperty]] (literal own getter/setter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8yMy5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKGxpdGVyYWwgaW5oZXJpdGVkIGdldHRlciBwcm9wZXJ0eSkNCiAqLw0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgIHZhciBiYXNlID0geyBnZXQgZm9vKCkgeyByZXR1cm4gNDI7fSB9Ow0KICAgIHZhciBvID0gT2JqZWN0LmNyZWF0ZShiYXNlKTsNCiAgICByZXR1cm4gby5oYXNPd25Qcm9wZXJ0eSgiZm9vIik9PT1mYWxzZTsNCg0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Properties - [[HasOwnProperty]] (literal inherited getter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8yNC5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKGxpdGVyYWwgaW5oZXJpdGVkIHNldHRlciBwcm9wZXJ0eSkNCiAqLw0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgIHZhciBiYXNlID0geyBzZXQgZm9vKHgpIHs7fSB9Ow0KICAgIHZhciBvID0gT2JqZWN0LmNyZWF0ZShiYXNlKTsNCiAgICByZXR1cm4gby5oYXNPd25Qcm9wZXJ0eSgiZm9vIik9PT1mYWxzZTsNCg0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Properties - [[HasOwnProperty]] (literal inherited setter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8yNS5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKGxpdGVyYWwgaW5oZXJpdGVkIGdldHRlci9zZXR0ZXIgcHJvcGVydHkpDQogKi8NCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICB2YXIgYmFzZSA9IHsgZ2V0IGZvbygpIHsgcmV0dXJuIDQyO30sIHNldCBmb28oeCkgezt9IH07DQogICAgdmFyIG8gPSBPYmplY3QuY3JlYXRlKGJhc2UpOw0KICAgIHJldHVybiBvLmhhc093blByb3BlcnR5KCJmb28iKT09PWZhbHNlOw0KDQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Properties - [[HasOwnProperty]] (literal inherited getter/setter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8yNi5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKG5vbi1jb25maWd1cmFibGUsIG5vbi1lbnVtZXJhYmxlIG93biBnZXR0ZXIgcHJvcGVydHkpDQogKi8NCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICB2YXIgbyA9IHt9Ow0KICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwge2dldDogZnVuY3Rpb24oKSB7cmV0dXJuIDQyO319KTsNCiAgICByZXR1cm4gby5oYXNPd25Qcm9wZXJ0eSgiZm9vIik7DQoNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Properties - [[HasOwnProperty]] (non-configurable, non-enumerable own getter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_26.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8yNy5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKG5vbi1jb25maWd1cmFibGUsIGVudW1lcmFibGUgb3duIGdldHRlciBwcm9wZXJ0eSkNCiAqLw0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgIHZhciBvID0ge307DQogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCB7Z2V0OiBmdW5jdGlvbigpIHtyZXR1cm4gNDI7fSwgZW51bWVyYWJsZTp0cnVlfSk7DQogICAgcmV0dXJuIG8uaGFzT3duUHJvcGVydHkoImZvbyIpOw0KDQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Properties - [[HasOwnProperty]] (non-configurable, enumerable own getter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_27.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8yOC5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKGNvbmZpZ3VyYWJsZSwgbm9uLWVudW1lcmFibGUgb3duIGdldHRlciBwcm9wZXJ0eSkNCiAqLw0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgIHZhciBvID0ge307DQogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCB7Z2V0OiBmdW5jdGlvbigpIHtyZXR1cm4gNDI7fSwgY29uZmlndXJhYmxlOnRydWV9KTsNCiAgICByZXR1cm4gby5oYXNPd25Qcm9wZXJ0eSgiZm9vIik7DQoNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Properties - [[HasOwnProperty]] (configurable, non-enumerable own getter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8yOS5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKGNvbmZpZ3VyYWJsZSwgZW51bWVyYWJsZSBvd24gZ2V0dGVyIHByb3BlcnR5KQ0KICovDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgdmFyIG8gPSB7fTsNCiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIHtnZXQ6IGZ1bmN0aW9uKCkge3JldHVybiA0Mjt9LCBlbnVtZXJhYmxlOnRydWUsIGNvbmZpZ3VyYWJsZTp0cnVlfSk7DQogICAgcmV0dXJuIG8uaGFzT3duUHJvcGVydHkoImZvbyIpOw0KDQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Properties - [[HasOwnProperty]] (configurable, enumerable own getter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8zLmpzDQogKiBAZGVzY3JpcHRpb24gUHJvcGVydGllcyAtIFtbSGFzT3duUHJvcGVydHldXSAob2xkIHN0eWxlIGluaGVyaXRlZCBwcm9wZXJ0eSkNCiAqLw0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgIHZhciBiYXNlID0ge2Zvbzo0Mn07DQogICAgdmFyIG8gPSBPYmplY3QuY3JlYXRlKGJhc2UpOw0KICAgIHJldHVybiBvLmhhc093blByb3BlcnR5KCJmb28iKT09PWZhbHNlOw0KDQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Properties - [[HasOwnProperty]] (old style inherited property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8zMC5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKG5vbi1jb25maWd1cmFibGUsIG5vbi1lbnVtZXJhYmxlIG93biBzZXR0ZXIgcHJvcGVydHkpDQogKi8NCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICB2YXIgbyA9IHt9Ow0KICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwge3NldDogZnVuY3Rpb24oKSB7O319KTsNCiAgICByZXR1cm4gby5oYXNPd25Qcm9wZXJ0eSgiZm9vIik7DQoNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Properties - [[HasOwnProperty]] (non-configurable, non-enumerable own setter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_30.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8zMS5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKG5vbi1jb25maWd1cmFibGUsIGVudW1lcmFibGUgb3duIHNldHRlciBwcm9wZXJ0eSkNCiAqLw0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgIHZhciBvID0ge307DQogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCB7c2V0OiBmdW5jdGlvbigpIHs7fSwgZW51bWVyYWJsZTp0cnVlfSk7DQogICAgcmV0dXJuIG8uaGFzT3duUHJvcGVydHkoImZvbyIpOw0KDQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Properties - [[HasOwnProperty]] (non-configurable, enumerable own setter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_31.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8zMi5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKGNvbmZpZ3VyYWJsZSwgbm9uLWVudW1lcmFibGUgb3duIHNldHRlciBwcm9wZXJ0eSkNCiAqLw0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgIHZhciBvID0ge307DQogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCB7c2V0OiBmdW5jdGlvbigpIHs7fSwgY29uZmlndXJhYmxlOnRydWV9KTsNCiAgICByZXR1cm4gby5oYXNPd25Qcm9wZXJ0eSgiZm9vIik7DQoNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Properties - [[HasOwnProperty]] (configurable, non-enumerable own setter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_32.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8zMy5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKGNvbmZpZ3VyYWJsZSwgZW51bWVyYWJsZSBvd24gc2V0dGVyIHByb3BlcnR5KQ0KICovDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgdmFyIG8gPSB7fTsNCiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIHtzZXQ6IGZ1bmN0aW9uKCkgezt9LCBlbnVtZXJhYmxlOnRydWUsIGNvbmZpZ3VyYWJsZTp0cnVlfSk7DQogICAgcmV0dXJuIG8uaGFzT3duUHJvcGVydHkoImZvbyIpOw0KDQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Properties - [[HasOwnProperty]] (configurable, enumerable own setter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_33.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8zNC5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKG5vbi1jb25maWd1cmFibGUsIG5vbi1lbnVtZXJhYmxlIG93biBnZXR0ZXIvc2V0dGVyIHByb3BlcnR5KQ0KICovDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgdmFyIG8gPSB7fTsNCiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIHtnZXQ6IGZ1bmN0aW9uKCkge3JldHVybiA0Mjt9LCBzZXQ6IGZ1bmN0aW9uKCkgezt9fSk7DQogICAgcmV0dXJuIG8uaGFzT3duUHJvcGVydHkoImZvbyIpOw0KDQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Properties - [[HasOwnProperty]] (non-configurable, non-enumerable own getter/setter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_34.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8zNS5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKG5vbi1jb25maWd1cmFibGUsIGVudW1lcmFibGUgb3duIGdldHRlci9zZXR0ZXIgcHJvcGVydHkpDQogKi8NCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICB2YXIgbyA9IHt9Ow0KICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwge2dldDogZnVuY3Rpb24oKSB7cmV0dXJuIDQyO30sIHNldDogZnVuY3Rpb24oKSB7O30sIGVudW1lcmFibGU6dHJ1ZX0pOw0KICAgIHJldHVybiBvLmhhc093blByb3BlcnR5KCJmb28iKTsNCg0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Properties - [[HasOwnProperty]] (non-configurable, enumerable own getter/setter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_35.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8zNi5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKGNvbmZpZ3VyYWJsZSwgbm9uLWVudW1lcmFibGUgb3duIGdldHRlci9zZXR0ZXIgcHJvcGVydHkpDQogKi8NCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICB2YXIgbyA9IHt9Ow0KICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwge2dldDogZnVuY3Rpb24oKSB7cmV0dXJuIDQyO30sIHNldDogZnVuY3Rpb24oKSB7O30sIGNvbmZpZ3VyYWJsZTp0cnVlfSk7DQogICAgcmV0dXJuIG8uaGFzT3duUHJvcGVydHkoImZvbyIpOw0KDQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Properties - [[HasOwnProperty]] (configurable, non-enumerable own getter/setter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_36.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8zNy5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKGNvbmZpZ3VyYWJsZSwgZW51bWVyYWJsZSBvd24gZ2V0dGVyL3NldHRlciBwcm9wZXJ0eSkNCiAqLw0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgIHZhciBvID0ge307DQogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCB7Z2V0OiBmdW5jdGlvbigpIHtyZXR1cm4gNDI7fSwgc2V0OiBmdW5jdGlvbigpIHs7fSwgZW51bWVyYWJsZTp0cnVlLCBjb25maWd1cmFibGU6dHJ1ZX0pOw0KICAgIHJldHVybiBvLmhhc093blByb3BlcnR5KCJmb28iKTsNCg0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Properties - [[HasOwnProperty]] (configurable, enumerable own getter/setter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_37.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8zOC5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKG5vbi1jb25maWd1cmFibGUsIG5vbi1lbnVtZXJhYmxlIGluaGVyaXRlZCBnZXR0ZXIgcHJvcGVydHkpDQogKi8NCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICB2YXIgYmFzZSA9IHt9Ow0KICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShiYXNlLCAiZm9vIiwge2dldDogZnVuY3Rpb24oKSB7cmV0dXJuIDQyO319KTsNCiAgICB2YXIgbyA9IE9iamVjdC5jcmVhdGUoYmFzZSk7DQogICAgcmV0dXJuIG8uaGFzT3duUHJvcGVydHkoImZvbyIpPT09ZmFsc2U7DQoNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Properties - [[HasOwnProperty]] (non-configurable, non-enumerable inherited getter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_38.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8zOS5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKG5vbi1jb25maWd1cmFibGUsIGVudW1lcmFibGUgaW5oZXJpdGVkIGdldHRlciBwcm9wZXJ0eSkNCiAqLw0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgIHZhciBiYXNlID0ge307DQogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGJhc2UsICJmb28iLCB7Z2V0OiBmdW5jdGlvbigpIHtyZXR1cm4gNDI7fSwgZW51bWVyYWJsZTp0cnVlfSk7DQogICAgdmFyIG8gPSBPYmplY3QuY3JlYXRlKGJhc2UpOw0KICAgIHJldHVybiBvLmhhc093blByb3BlcnR5KCJmb28iKT09PWZhbHNlOw0KDQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Properties - [[HasOwnProperty]] (non-configurable, enumerable inherited getter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_39.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV80LmpzDQogKiBAZGVzY3JpcHRpb24gUHJvcGVydGllcyAtIFtbSGFzT3duUHJvcGVydHldXSAobm9uLXdyaXRhYmxlLCBub24tY29uZmlndXJhYmxlLCBub24tZW51bWVyYWJsZSBvd24gdmFsdWUgcHJvcGVydHkpDQogKi8NCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICB2YXIgbyA9IHt9Ow0KICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwge3ZhbHVlOiA0Mn0pOw0KICAgIHJldHVybiBvLmhhc093blByb3BlcnR5KCJmb28iKTsNCg0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Properties - [[HasOwnProperty]] (non-writable, non-configurable, non-enumerable own value property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV80MC5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKGNvbmZpZ3VyYWJsZSwgbm9uLWVudW1lcmFibGUgaW5oZXJpdGVkIGdldHRlciBwcm9wZXJ0eSkNCiAqLw0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgIHZhciBiYXNlID0ge307DQogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGJhc2UsICJmb28iLCB7Z2V0OiBmdW5jdGlvbigpIHtyZXR1cm4gNDI7fSwgY29uZmlndXJhYmxlOnRydWV9KTsNCiAgICB2YXIgbyA9IE9iamVjdC5jcmVhdGUoYmFzZSk7DQogICAgcmV0dXJuIG8uaGFzT3duUHJvcGVydHkoImZvbyIpPT09ZmFsc2U7DQoNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Properties - [[HasOwnProperty]] (configurable, non-enumerable inherited getter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_40.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV80MS5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKGNvbmZpZ3VyYWJsZSwgZW51bWVyYWJsZSBpbmhlcml0ZWQgZ2V0dGVyIHByb3BlcnR5KQ0KICovDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgdmFyIGJhc2UgPSB7fTsNCiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYmFzZSwgImZvbyIsIHtnZXQ6IGZ1bmN0aW9uKCkge3JldHVybiA0Mjt9LCBlbnVtZXJhYmxlOnRydWUsIGNvbmZpZ3VyYWJsZTp0cnVlfSk7DQogICAgdmFyIG8gPSBPYmplY3QuY3JlYXRlKGJhc2UpOw0KICAgIHJldHVybiBvLmhhc093blByb3BlcnR5KCJmb28iKT09PWZhbHNlOw0KDQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Properties - [[HasOwnProperty]] (configurable, enumerable inherited getter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_41.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV80Mi5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKG5vbi1jb25maWd1cmFibGUsIG5vbi1lbnVtZXJhYmxlIGluaGVyaXRlZCBzZXR0ZXIgcHJvcGVydHkpDQogKi8NCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICB2YXIgYmFzZSA9IHt9Ow0KICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShiYXNlLCAiZm9vIiwge3NldDogZnVuY3Rpb24oKSB7O319KTsNCiAgICB2YXIgbyA9IE9iamVjdC5jcmVhdGUoYmFzZSk7DQogICAgcmV0dXJuIG8uaGFzT3duUHJvcGVydHkoImZvbyIpPT09ZmFsc2U7DQoNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Properties - [[HasOwnProperty]] (non-configurable, non-enumerable inherited setter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_42.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV80My5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKG5vbi1jb25maWd1cmFibGUsIGVudW1lcmFibGUgaW5oZXJpdGVkIHNldHRlciBwcm9wZXJ0eSkNCiAqLw0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgIHZhciBiYXNlID0ge307DQogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGJhc2UsICJmb28iLCB7c2V0OiBmdW5jdGlvbigpIHs7fSwgZW51bWVyYWJsZTp0cnVlfSk7DQogICAgdmFyIG8gPSBPYmplY3QuY3JlYXRlKGJhc2UpOw0KICAgIHJldHVybiBvLmhhc093blByb3BlcnR5KCJmb28iKT09PWZhbHNlOw0KDQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Properties - [[HasOwnProperty]] (non-configurable, enumerable inherited setter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_43.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV80NC5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKGNvbmZpZ3VyYWJsZSwgbm9uLWVudW1lcmFibGUgaW5oZXJpdGVkIHNldHRlciBwcm9wZXJ0eSkNCiAqLw0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgIHZhciBiYXNlID0ge307DQogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGJhc2UsICJmb28iLCB7c2V0OiBmdW5jdGlvbigpIHs7fSwgY29uZmlndXJhYmxlOnRydWV9KTsNCiAgICB2YXIgbyA9IE9iamVjdC5jcmVhdGUoYmFzZSk7DQogICAgcmV0dXJuIG8uaGFzT3duUHJvcGVydHkoImZvbyIpPT09ZmFsc2U7DQoNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Properties - [[HasOwnProperty]] (configurable, non-enumerable inherited setter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_44.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV80NS5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKGNvbmZpZ3VyYWJsZSwgZW51bWVyYWJsZSBpbmhlcml0ZWQgc2V0dGVyIHByb3BlcnR5KQ0KICovDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgdmFyIGJhc2UgPSB7fTsNCiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYmFzZSwgImZvbyIsIHtzZXQ6IGZ1bmN0aW9uKCkgezt9LCBlbnVtZXJhYmxlOnRydWUsIGNvbmZpZ3VyYWJsZTp0cnVlfSk7DQogICAgdmFyIG8gPSBPYmplY3QuY3JlYXRlKGJhc2UpOw0KICAgIHJldHVybiBvLmhhc093blByb3BlcnR5KCJmb28iKT09PWZhbHNlOw0KDQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Properties - [[HasOwnProperty]] (configurable, enumerable inherited setter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_45.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV80Ni5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKG5vbi1jb25maWd1cmFibGUsIG5vbi1lbnVtZXJhYmxlIGluaGVyaXRlZCBnZXR0ZXIvc2V0dGVyIHByb3BlcnR5KQ0KICovDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgdmFyIGJhc2UgPSB7fTsNCiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYmFzZSwgImZvbyIsIHtnZXQ6IGZ1bmN0aW9uKCkge3JldHVybiA0Mjt9LCBzZXQ6IGZ1bmN0aW9uKCkgezt9fSk7DQogICAgdmFyIG8gPSBPYmplY3QuY3JlYXRlKGJhc2UpOw0KICAgIHJldHVybiBvLmhhc093blByb3BlcnR5KCJmb28iKT09PWZhbHNlOw0KDQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Properties - [[HasOwnProperty]] (non-configurable, non-enumerable inherited getter/setter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_46.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV80Ny5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKG5vbi1jb25maWd1cmFibGUsIGVudW1lcmFibGUgaW5oZXJpdGVkIGdldHRlci9zZXR0ZXIgcHJvcGVydHkpDQogKi8NCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICB2YXIgYmFzZSA9IHt9Ow0KICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShiYXNlLCAiZm9vIiwge2dldDogZnVuY3Rpb24oKSB7cmV0dXJuIDQyO30sIHNldDogZnVuY3Rpb24oKSB7O30sIGVudW1lcmFibGU6dHJ1ZX0pOw0KICAgIHZhciBvID0gT2JqZWN0LmNyZWF0ZShiYXNlKTsNCiAgICByZXR1cm4gby5oYXNPd25Qcm9wZXJ0eSgiZm9vIik9PT1mYWxzZTsNCg0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Properties - [[HasOwnProperty]] (non-configurable, enumerable inherited getter/setter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_47.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV80OC5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKGNvbmZpZ3VyYWJsZSwgbm9uLWVudW1lcmFibGUgaW5oZXJpdGVkIGdldHRlci9zZXR0ZXIgcHJvcGVydHkpDQogKi8NCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICB2YXIgYmFzZSA9IHt9Ow0KICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShiYXNlLCAiZm9vIiwge2dldDogZnVuY3Rpb24oKSB7cmV0dXJuIDQyO30sIHNldDogZnVuY3Rpb24oKSB7O30sIGNvbmZpZ3VyYWJsZTp0cnVlfSk7DQogICAgdmFyIG8gPSBPYmplY3QuY3JlYXRlKGJhc2UpOw0KICAgIHJldHVybiBvLmhhc093blByb3BlcnR5KCJmb28iKT09PWZhbHNlOw0KDQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Properties - [[HasOwnProperty]] (configurable, non-enumerable inherited getter/setter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_48.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV80OS5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKGNvbmZpZ3VyYWJsZSwgZW51bWVyYWJsZSBpbmhlcml0ZWQgZ2V0dGVyL3NldHRlciBwcm9wZXJ0eSkNCiAqLw0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgIHZhciBiYXNlID0ge307DQogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGJhc2UsICJmb28iLCB7Z2V0OiBmdW5jdGlvbigpIHtyZXR1cm4gNDI7fSwgc2V0OiBmdW5jdGlvbigpIHs7fSwgZW51bWVyYWJsZTp0cnVlLCBjb25maWd1cmFibGU6dHJ1ZX0pOw0KICAgIHZhciBvID0gT2JqZWN0LmNyZWF0ZShiYXNlKTsNCiAgICByZXR1cm4gby5oYXNPd25Qcm9wZXJ0eSgiZm9vIik9PT1mYWxzZTsNCg0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Properties - [[HasOwnProperty]] (configurable, enumerable inherited getter/setter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_49.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV81LmpzDQogKiBAZGVzY3JpcHRpb24gUHJvcGVydGllcyAtIFtbSGFzT3duUHJvcGVydHldXSAobm9uLXdyaXRhYmxlLCBub24tY29uZmlndXJhYmxlLCBlbnVtZXJhYmxlIG93biB2YWx1ZSBwcm9wZXJ0eSkNCiAqLw0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgIHZhciBvID0ge307DQogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCB7dmFsdWU6IDQyLCBlbnVtZXJhYmxlOnRydWV9KTsNCiAgICByZXR1cm4gby5oYXNPd25Qcm9wZXJ0eSgiZm9vIik7DQoNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Properties - [[HasOwnProperty]] (non-writable, non-configurable, enumerable own value property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV82LmpzDQogKiBAZGVzY3JpcHRpb24gUHJvcGVydGllcyAtIFtbSGFzT3duUHJvcGVydHldXSAobm9uLXdyaXRhYmxlLCBjb25maWd1cmFibGUsIG5vbi1lbnVtZXJhYmxlIG93biB2YWx1ZSBwcm9wZXJ0eSkNCiAqLw0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgIHZhciBvID0ge307DQogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCB7dmFsdWU6IDQyLCBjb25maWd1cmFibGU6dHJ1ZX0pOw0KICAgIHJldHVybiBvLmhhc093blByb3BlcnR5KCJmb28iKTsNCg0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Properties - [[HasOwnProperty]] (non-writable, configurable, non-enumerable own value property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV83LmpzDQogKiBAZGVzY3JpcHRpb24gUHJvcGVydGllcyAtIFtbSGFzT3duUHJvcGVydHldXSAod3JpdGFibGUsIG5vbi1jb25maWd1cmFibGUsIG5vbi1lbnVtZXJhYmxlIG93biB2YWx1ZSBwcm9wZXJ0eSkNCiAqLw0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgIHZhciBvID0ge307DQogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCB7dmFsdWU6IDQyLCB3cml0YWJsZTp0cnVlfSk7DQogICAgcmV0dXJuIG8uaGFzT3duUHJvcGVydHkoImZvbyIpOw0KDQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Properties - [[HasOwnProperty]] (writable, non-configurable, non-enumerable own value property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV84LmpzDQogKiBAZGVzY3JpcHRpb24gUHJvcGVydGllcyAtIFtbSGFzT3duUHJvcGVydHldXSAobm9uLXdyaXRhYmxlLCBjb25maWd1cmFibGUsIGVudW1lcmFibGUgb3duIHZhbHVlIHByb3BlcnR5KQ0KICovDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgdmFyIG8gPSB7fTsNCiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIHt2YWx1ZTogNDIsIGNvbmZpZ3VyYWJsZTp0cnVlLCBlbnVtZXJhYmxlOnRydWV9KTsNCiAgICByZXR1cm4gby5oYXNPd25Qcm9wZXJ0eSgiZm9vIik7DQoNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Properties - [[HasOwnProperty]] (non-writable, configurable, enumerable own value property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV85LmpzDQogKiBAZGVzY3JpcHRpb24gUHJvcGVydGllcyAtIFtbSGFzT3duUHJvcGVydHldXSAod3JpdGFibGUsIG5vbi1jb25maWd1cmFibGUsIGVudW1lcmFibGUgb3duIHZhbHVlIHByb3BlcnR5KQ0KICovDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgdmFyIG8gPSB7fTsNCiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIHt2YWx1ZTogNDIsIHdyaXRhYmxlOnRydWUsIGVudW1lcmFibGU6dHJ1ZX0pOw0KICAgIHJldHVybiBvLmhhc093blByb3BlcnR5KCJmb28iKTsNCg0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Properties - [[HasOwnProperty]] (writable, non-configurable, enumerable own value property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_9.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":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuNC84LjE0LjQtOC1iXzEuanMNCiAqIEBkZXNjcmlwdGlvbiBOb24td3JpdGFibGUgcHJvcGVydHkgb24gYSBwcm90b3R5cGUgd3JpdHRlbiB0by4NCiAqLw0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgICANCiAgICBmdW5jdGlvbiBmb28oKSB7fTsNCiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZm9vLnByb3RvdHlwZSwgImJhciIsIHt2YWx1ZTogInVud3JpdGFibGUifSk7IA0KICAgIA0KICAgIHZhciBvID0gbmV3IGZvbygpOyANCiAgICBvLmJhciA9ICJvdmVycmlkZGVuIjsgDQogICAgcmV0dXJuIG8uaGFzT3duUHJvcGVydHkoImJhciIpPT09ZmFsc2UgJiYgby5iYXI9PT0idW53cml0YWJsZSI7DQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Non-writable property on a prototype written to.","path":"TestCases/ch08/8.12/8.12.4/8.14.4-8-b_1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuNC84LjE0LjQtOC1iXzIuanMNCiAqIEBkZXNjcmlwdGlvbiBOb24td3JpdGFibGUgcHJvcGVydHkgb24gYSBwcm90b3R5cGUgd3JpdHRlbiB0byBpbiBzdHJpY3QgbW9kZS4NCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgInVzZSBzdHJpY3QiOw0KICAgIA0KICAgIGZ1bmN0aW9uIGZvbygpIHt9Ow0KICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShmb28ucHJvdG90eXBlLCAiYmFyIiwge3ZhbHVlOiAidW53cml0YWJsZSJ9KTsgDQogICAgDQogICAgdmFyIG8gPSBuZXcgZm9vKCk7IA0KICAgIHRyeSB7DQogICAgICAgIG8uYmFyID0gIm92ZXJyaWRkZW4iOyANCiAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgIH0gY2F0Y2goZSkgew0KICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIChvLmJhcj09PSJ1bndyaXRhYmxlIik7DQogICAgfQ0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Non-writable property on a prototype written to in strict mode.","onlyStrict":"","path":"TestCases/ch08/8.12/8.12.4/8.14.4-8-b_2.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":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuNS84LjEyLjUtMy1iXzEuanMNCiAqIEBkZXNjcmlwdGlvbiBDaGFuZ2luZyB0aGUgdmFsdWUgb2YgYSBkYXRhIHByb3BlcnR5IHNob3VsZCBub3QgYWZmZWN0IGl0J3Mgbm9uLXZhbHVlIHByb3BlcnR5IGRlc2NyaXB0b3IgYXR0cmlidXRlcy4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIHZhciBvcmlnUmVkdWNlID0gQXJyYXkucHJvdG90eXBlLnJlZHVjZTsNCiAgICB2YXIgb3JpZ0Rlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEFycmF5LnByb3RvdHlwZSwgInJlZHVjZSIpOw0KICAgIHZhciBuZXdEZXNjOw0KICAgIA0KICAgIHRyeSB7DQogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgPSBmdW5jdGlvbiAoKSB7O307DQogICAgICAgIG5ld0Rlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEFycmF5LnByb3RvdHlwZSwgInJlZHVjZSIpOw0KICAgICAgICB2YXIgZGVzY0FycmF5ID0gW29yaWdEZXNjLCBuZXdEZXNjXTsNCiAgICAgICAgDQogICAgICAgIGZvciAodmFyIGogaW4gZGVzY0FycmF5KSB7ICAvL0Vuc3VyZSBubyBhdHRyaWJ1dGVzIGFyZSBtYWdpY2FsbHkgYWRkZWQgdG8gbmV3RGVzYw0KICAgICAgICAgICAgZm9yICh2YXIgaSBpbiBkZXNjQXJyYXlbal0pIHsNCiAgICAgICAgICAgICAgICBpZiAoaT09PSJ2YWx1ZSIpIHsNCiAgICAgICAgICAgICAgICAgICAgaWYgKG9yaWdEZXNjW2ldPT09bmV3RGVzY1tpXSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIGVsc2UgaWYgKG9yaWdEZXNjW2ldIT09bmV3RGVzY1tpXSkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiB0cnVlOyAgICAgICAgDQogICAgDQogICAgfSBmaW5hbGx5IHsNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZSA9IG9yaWdSZWR1Y2U7DQogICAgfQ0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Changing the value of a data property should not affect it's non-value property descriptor attributes.","path":"TestCases/ch08/8.12/8.12.5/8.12.5-3-b_1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuNS84LjEyLjUtMy1iXzIuanMNCiAqIEBkZXNjcmlwdGlvbiBDaGFuZ2luZyB0aGUgdmFsdWUgb2YgYSBkYXRhIHByb3BlcnR5IHNob3VsZCBub3QgYWZmZWN0IGl0J3Mgbm9uLXZhbHVlIHByb3BlcnR5IGRlc2NyaXB0b3IgYXR0cmlidXRlcy4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIHZhciB0ZW1wT2JqID0ge307DQogICAgDQogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRlbXBPYmosICJyZWR1Y2UiLCB7IHZhbHVlOjQ1NiwgZW51bWVyYWJsZTpmYWxzZSwgd3JpdGFibGU6dHJ1ZX0pOw0KICAgIHZhciBvcmlnUmVkdWNlID0gdGVtcE9iai5yZWR1Y2U7DQogICAgdmFyIG9yaWdEZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0ZW1wT2JqLCAicmVkdWNlIik7DQoNCiAgICB2YXIgbmV3RGVzYzsNCiAgICANCiAgICB0cnkgew0KICAgICAgICB0ZW1wT2JqLnJlZHVjZSA9IDEyMzsNCiAgICAgICAgbmV3RGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodGVtcE9iaiwgInJlZHVjZSIpOw0KICAgICAgICB2YXIgZGVzY0FycmF5ID0gW29yaWdEZXNjLCBuZXdEZXNjXTsNCiAgICAgICAgDQogICAgICAgIGZvciAodmFyIGogaW4gZGVzY0FycmF5KSB7DQogICAgICAgICAgICBmb3IgKHZhciBpIGluIGRlc2NBcnJheVtqXSkgew0KICAgICAgICAgICAgICAgIGlmIChpPT09InZhbHVlIikgew0KICAgICAgICAgICAgICAgICAgICBpZiAob3JpZ0Rlc2NbaV09PT1uZXdEZXNjW2ldKSB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgZWxzZSBpZiAob3JpZ0Rlc2NbaV0hPT1uZXdEZXNjW2ldKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgDQogICAgfSBmaW5hbGx5IHsNCiAgICAgICAgdGVtcE9iai5yZWR1Y2UgPSBvcmlnUmVkdWNlOw0KICAgIH0NCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Changing the value of a data property should not affect it's non-value property descriptor attributes.","path":"TestCases/ch08/8.12/8.12.5/8.12.5-3-b_2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuNS84LjEyLjUtNS1iXzEuanMNCiAqIEBkZXNjcmlwdGlvbiBDaGFuZ2luZyB0aGUgdmFsdWUgb2YgYW4gYWNjZXNzb3IgcHJvcGVydHkgc2hvdWxkIG5vdCBhZmZlY3QgaXQncyBwcm9wZXJ0eSBkZXNjcmlwdG9yIGF0dHJpYnV0ZXMuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICB2YXIgdGVtcE9iaiA9IHt9Ow0KICAgIA0KICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0ZW1wT2JqLCAicmVkdWNlIiwgeyBnZXQ6IGZ1bmN0aW9uKCkge3JldHVybiA0NTY7fSwgZW51bWVyYWJsZTpmYWxzZSwgc2V0OiBmdW5jdGlvbigpIHs7fX0pOw0KICAgIHZhciBvcmlnUmVkdWNlID0gdGVtcE9iai5yZWR1Y2U7DQogICAgdmFyIG9yaWdEZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0ZW1wT2JqLCAicmVkdWNlIik7DQoNCiAgICB2YXIgbmV3RGVzYzsNCiAgICANCiAgICB0cnkgew0KICAgICAgICB0ZW1wT2JqLnJlZHVjZSA9IDEyMzsNCiAgICAgICAgbmV3RGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodGVtcE9iaiwgInJlZHVjZSIpOw0KICAgICAgICB2YXIgZGVzY0FycmF5ID0gW29yaWdEZXNjLCBuZXdEZXNjXTsNCiAgICAgICAgDQogICAgICAgIGZvciAodmFyIGogaW4gZGVzY0FycmF5KSB7DQogICAgICAgICAgICBmb3IgKHZhciBpIGluIGRlc2NBcnJheVtqXSkgew0KICAgICAgICAgICAgICAgIGlmIChvcmlnRGVzY1tpXSE9PW5ld0Rlc2NbaV0pIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gdGVtcE9iai5yZWR1Y2U9PT00NTY7ICAgICAgICANCiAgICANCiAgICB9IGZpbmFsbHkgew0KICAgICAgICB0ZW1wT2JqLnJlZHVjZSA9IG9yaWdSZWR1Y2U7DQogICAgfQ0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Changing the value of an accessor property should not affect it's property descriptor attributes.","path":"TestCases/ch08/8.12/8.12.5/8.12.5-5-b_1.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":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuOS84LjEyLjktOS1iLWlfMS5qcw0KICogQGRlc2NyaXB0aW9uIFJlZGVmaW5lIGEgY29uZmlndXJhYmxlIGRhdGEgcHJvcGVydHkgdG8gYmUgYW4gYWNjZXNzb3IgcHJvcGVydHkgb24gYSBuZXdseSBub24tZXh0ZW5zaWJsZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIHZhciBvID0ge307DQogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCANCiAgICAgICAgICAgICAgICAgICAgICAgICAgeyB2YWx1ZTogImhlbGxvIiwgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlfSk7DQogICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKG8pOw0KICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwgeyBnZXQ6IGZ1bmN0aW9uKCkgeyByZXR1cm4gNTt9IH0pOw0KDQogICAgdmFyIGZvb0Rlc2NyaXAgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG8sICJmb28iKTsNCiAgICByZXR1cm4gby5mb289PT01ICYmIGZvb0Rlc2NyaXAuZ2V0IT09dW5kZWZpbmVkICYmIGZvb0Rlc2NyaXAuc2V0PT09dW5kZWZpbmVkICYmIGZvb0Rlc2NyaXAudmFsdWU9PT11bmRlZmluZWQgJiYgZm9vRGVzY3JpcC5jb25maWd1cmFibGU9PT10cnVlICYmIGZvb0Rlc2NyaXAuZW51bWVyYWJsZT09PWZhbHNlICYmIGZvb0Rlc2NyaXAud3JpdGFibGU9PT11bmRlZmluZWQ7DQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Redefine a configurable data property to be an accessor property on a newly non-extensible object","path":"TestCases/ch08/8.12/8.12.9/8.12.9-9-b-i_1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuOS84LjEyLjktOS1iLWlfMi5qcw0KICogQGRlc2NyaXB0aW9uIFJlZGVmaW5lIGEgY29uZmlndXJhYmxlIGRhdGEgcHJvcGVydHkgdG8gYmUgYW4gYWNjZXNzb3IgcHJvcGVydHkgb24gYSBuZXdseSBub24tZXh0ZW5zaWJsZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIHZhciBvID0ge307DQogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCANCiAgICAgICAgICAgICAgICAgICAgICAgICAgeyB2YWx1ZTogImhlbGxvIiwgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWV9KTsNCiAgICBPYmplY3QucHJldmVudEV4dGVuc2lvbnMobyk7DQogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCB7IGdldDogZnVuY3Rpb24oKSB7IHJldHVybiA1O30gfSk7DQoNCiAgICB2YXIgZm9vRGVzY3JpcCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobywgImZvbyIpOw0KICAgIHJldHVybiBvLmZvbz09PTUgJiYgZm9vRGVzY3JpcC5nZXQhPT11bmRlZmluZWQgJiYgZm9vRGVzY3JpcC5zZXQ9PT11bmRlZmluZWQgJiYgZm9vRGVzY3JpcC52YWx1ZT09PXVuZGVmaW5lZCAmJiBmb29EZXNjcmlwLmNvbmZpZ3VyYWJsZT09PXRydWUgJiYgZm9vRGVzY3JpcC5lbnVtZXJhYmxlPT09dHJ1ZSAmJiBmb29EZXNjcmlwLndyaXRhYmxlPT09dW5kZWZpbmVkOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Redefine a configurable data property to be an accessor property on a newly non-extensible object","path":"TestCases/ch08/8.12/8.12.9/8.12.9-9-b-i_2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuOS84LjEyLjktOS1jLWlfMS5qcw0KICogQGRlc2NyaXB0aW9uIFJlZGVmaW5lIGEgY29uZmlndXJhYmxlIGFjY2Vzc29yIHByb3BlcnR5IHRvIGJlIGEgZGF0YSBwcm9wZXJ0eSBvbiBhIG5vbi1leHRlbnNpYmxlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgdmFyIG8gPSB7fTsNCiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIA0KICAgICAgICAgICAgICAgICAgICAgICAgICB7IGdldDogZnVuY3Rpb24oKSB7IHJldHVybiA1O30sIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZX0pOw0KICAgIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyhvKTsNCiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIHsgdmFsdWU6ICJoZWxsbyJ9KTsNCg0KICAgIHZhciBmb29EZXNjcmlwID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvLCAiZm9vIik7DQogICAgcmV0dXJuIG8uZm9vPT09ImhlbGxvIiAmJiBmb29EZXNjcmlwLmdldD09PXVuZGVmaW5lZCAmJiBmb29EZXNjcmlwLnNldD09PXVuZGVmaW5lZCAmJiBmb29EZXNjcmlwLnZhbHVlPT09ImhlbGxvIiAmJiBmb29EZXNjcmlwLmNvbmZpZ3VyYWJsZT09PXRydWUgJiYgZm9vRGVzY3JpcC5lbnVtZXJhYmxlPT09ZmFsc2UgJiYgZm9vRGVzY3JpcC53cml0YWJsZT09PWZhbHNlOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Redefine a configurable accessor property to be a data property on a non-extensible object","path":"TestCases/ch08/8.12/8.12.9/8.12.9-9-c-i_1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuOS84LjEyLjktOS1jLWlfMi5qcw0KICogQGRlc2NyaXB0aW9uIFJlZGVmaW5lIGEgY29uZmlndXJhYmxlIGFjY2Vzc29yIHByb3BlcnR5IHRvIGJlIGEgZGF0YSBwcm9wZXJ0eSBvbiBhIG5vbi1leHRlbnNpYmxlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgdmFyIG8gPSB7fTsNCiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIA0KICAgICAgICAgICAgICAgICAgICAgICAgICB7IGdldDogZnVuY3Rpb24oKSB7IHJldHVybiA1O30sIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZX0pOw0KICAgIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyhvKTsNCiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIA0KICAgICAgICAgICAgICAgICAgICAgICAgICB7IHZhbHVlOiAiaGVsbG8iLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlfSk7DQoNCiAgICB2YXIgZm9vRGVzY3JpcCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobywgImZvbyIpOw0KICAgIHJldHVybiBvLmZvbz09PSJoZWxsbyIgJiYgZm9vRGVzY3JpcC5nZXQ9PT11bmRlZmluZWQgJiYgZm9vRGVzY3JpcC5zZXQ9PT11bmRlZmluZWQgJiYgZm9vRGVzY3JpcC52YWx1ZT09PSJoZWxsbyIgJiYgZm9vRGVzY3JpcC5jb25maWd1cmFibGU9PT10cnVlICYmIGZvb0Rlc2NyaXAuZW51bWVyYWJsZT09PWZhbHNlICYmIGZvb0Rlc2NyaXAud3JpdGFibGU9PT10cnVlOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Redefine a configurable accessor property to be a data property on a non-extensible object","path":"TestCases/ch08/8.12/8.12.9/8.12.9-9-c-i_2.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":"<LF> between chunks of one string not allowed","description":"Insert <LF> between chunks of one string","negative":"","path":"TestCases/ch08/8.4/S8.4_A7.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiA8Q1I+IGJldHdlZW4gY2h1bmtzIG9mIG9uZSBzdHJpbmcgbm90IGFsbG93ZWQKICoKICogQHBhdGggY2gwOC84LjQvUzguNF9BNy4yLmpzCiAqIEBkZXNjcmlwdGlvbiBJbnNlcnQgPENSPiBiZXR3ZWVuIGNodW5rcyBvZiBvbmUgc3RyaW5nCiAqIEBuZWdhdGl2ZQogKi8KCmV2YWwoInZhciB4ID0gYXNkZlx1MDAwRGdoamsiKTsKCg==","commentary":"<CR> between chunks of one string not allowed","description":"Insert <CR> between chunks of one string","negative":"","path":"TestCases/ch08/8.4/S8.4_A7.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiA8UFM+IGJldHdlZW4gY2h1bmtzIG9mIG9uZSBzdHJpbmcgbm90IGFsbG93ZWQKICoKICogQHBhdGggY2gwOC84LjQvUzguNF9BNy4zLmpzCiAqIEBkZXNjcmlwdGlvbiBJbnNlcnQgPFBTPiBiZXR3ZWVuIGNodW5rcyBvZiBvbmUgc3RyaW5nCiAqIEBuZWdhdGl2ZQogKi8KCmV2YWwoInZhciB4ID0gYXNkZlx1MjAyOGdoamsiKTsKCg==","commentary":"<PS> between chunks of one string not allowed","description":"Insert <PS> between chunks of one string","negative":"","path":"TestCases/ch08/8.4/S8.4_A7.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiA8TFM+IGJldHdlZW4gY2h1bmtzIG9mIG9uZSBzdHJpbmcgbm90IGFsbG93ZWQKICoKICogQHBhdGggY2gwOC84LjQvUzguNF9BNy40LmpzCiAqIEBkZXNjcmlwdGlvbiBJbnNlcnQgPExTPiBiZXR3ZWVuIGNodW5rcyBvZiBvbmUgc3RyaW5nCiAqIEBuZWdhdGl2ZQogKi8KCmV2YWwoInZhciB4ID0gYXNkZlx1MjAyOWdoamsiKTsKCg==","commentary":"<LS> between chunks of one string not allowed","description":"Insert <LS> 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":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiAKLyoqCiAqIEBwYXRoIGNoMDgvOC41LzguNS4xLmpzCiAqIEBkZXNjcmlwdGlvbiBWYWxpZCBOdW1iZXIgcmFuZ2VzCiAqLwoKLy8gQ2hlY2sgcmFuZ2Ugc3VwcG9ydCBmb3IgTnVtYmVyIHZhbHVlcyAoSUVFRSA3NTQgNjQtYml0IGZsb2F0cyBoYXZpbmcgdGhlIGZvcm0gcyptKjIqKmUpCi8vCi8vIEZvciBub3JtYWxpemVkIGZsb2F0cywgc2lnbiAocykgaXMgKzEgb3IgLTEsIG0gKG1hbnRpc2EpIGlzIGEgcG9zaXRpdmUgaW50ZWdlciBsZXNzIAovLyB0aGFuIDIqKjUzIGJ1dCBub3QgbGVzcyB0aGFuIDIqKjUyIGFuZCBlIChleHBvbmVudCkgaXMgYW4gaW50ZWdlciByYW5naW5nIGZyb20gLTEwNzQgdG8gOTcxCi8vCi8vIEZvciBkZW5vcm1hbGl6ZWQgZmxvYXRzLCBzIGlzICsxIG9yIC0xLCBtIGlzIGEgcG9zaXRpdmUgaW50ZWdlciBsZXNzIHRoYW4gMioqNTIsIGFuZAovLyBlIGlzIC0xMDc0Ci8vCi8vIEJlbG93IDY0LWJpdCBmbG9hdCB2YWx1ZXMgc2hvd24gZm9yIGluZm9ybWF0aW9uYWwgcHVycG9zZXMuICBWYWx1ZXMgbWF5IGJlIHBvc2l0aXZlIG9yIG5lZ2F0aXZlLgovLyBJbmZpbml0eSAgPj0gfjEuNzk3NjkzMTM0ODYyMzE1OTA3NzI5MzA1MTkwNzg5ZSszMDggPj0gMioqMTAyNAovLyBNQVhfTk9STSAgID0gfjEuNzk3NjkzMTM0ODYyMzE1NzA4MTQ1Mjc0MjM3MzE3ZSszMDggID0gKDIqKjUzIC0gMSkgKiAoMioqLTUyKSAqICgyKioxMDIzKSA9ICgyKio1My0xKSAqICgyKio5NzEpID0gKDIqKjEwMjQpIC0gKDIqKjk3MSkKLy8gTUlOX05PUk0gICA9IH4yLjIyNTA3Mzg1ODUwNzIwMTM4MzA5MDIzMjcxNzMzMjRlLTMwOCA9IDIqKi0xMDIyCi8vIE1BWF9ERU5PUk0gPSB+Mi4yMjUwNzM4NTg1MDcyMDA4ODkwMjQ1ODY4NzYwODU5ZS0zMDggPSBNSU5fTk9STSAtIE1JTl9ERU5PUk0gPSAoMioqLTEwMjIpIC0gKDIqKi0xMDc0KQovLyBNSU5fREVOT1JNID0gfjQuOTQwNjU2NDU4NDEyNDY1NDQxNzY1Njg3OTI4NjgyMmUtMzI0ID0gMioqLTEwNzQKIAovLyBGaWxsIGFuIGFycmF5IHdpdGggMiB0byB0aGUgcG93ZXIgb2YgKDAgLi4uIC0xMDc1KQp2YXIgdmFsdWUgPSAxOwp2YXIgZmxvYXRWYWx1ZXMgPSBuZXcgQXJyYXkoMTA3Nik7CmZvcih2YXIgcG93ZXIgPSAwOyBwb3dlciA8PSAxMDc1OyBwb3dlcisrKXsKCWZsb2F0VmFsdWVzW3Bvd2VyXSA9IHZhbHVlOwogICAgLy8gVXNlIGJhc2ljIG1hdGggb3BlcmF0aW9ucyBmb3IgdGVzdGluZywgd2hpY2ggYXJlIHJlcXVpcmVkIHRvIHN1cHBvcnQgJ2dyYWR1YWwgdW5kZXJmbG93JyByYXRoZXIKICAgIC8vIHRoYW4gTWF0aC5wb3cgZXRjLi4uLCB3aGljaCBhcmUgZGVmaW5lZCBhcyAnaW1wbGVtZW50YXRpb24gZGVwZW5kZW50Jy4KCXZhbHVlID0gdmFsdWUgKiAwLjU7Cn0KCi8vIFRoZSBsYXN0IHZhbHVlIGlzIGJlbG93IG1pbiBkZW5vcm0gYW5kIHNob3VsZCByb3VuZCB0byAwLCBldmVyeXRoaW5nIGVsc2Ugc2hvdWxkIGNvbnRhaW4gYSB2YWx1ZQppZihmbG9hdFZhbHVlc1sxMDc1XSAhPT0gMCkgewogICRFUlJPUigiVmFsdWUgYWZ0ZXIgbWluIGRlbm9ybSBzaG91bGQgcm91bmQgdG8gMCIpOwp9CgovLyBWYWxpZGF0ZSB0aGUgbGFzdCBhY3R1YWwgdmFsdWUgaXMgbWluIGRlbm9ybQppZihmbG9hdFZhbHVlc1sxMDc0XSAhPT0gNC45NDA2NTY0NTg0MTI0NjU0NDE3NjU2ODc5Mjg2ODIyZS0zMjQpIHsKICAkRVJST1IoIk1pbiBkZW5vcm0gdmFsdWUgaXMgaW5jb3JyZWN0OiAiICsgZmxvYXRWYWx1ZXNbMTA3NF0pOwp9CgovLyBWYWxpZGF0ZSB0aGF0IGV2ZXJ5IHZhbHVlIGlzIGhhbGYgdGhlIHZhbHVlIGJlZm9yZSBpdCB1cCB0byAxCmZvcih2YXIgaW5kZXggPSAxMDc0OyBpbmRleCA+IDA7IGluZGV4LS0pewogIGlmKGZsb2F0VmFsdWVzW2luZGV4XSA9PT0gMCl7CgkkRVJST1IoIjIqKi0iICsgaW5kZXggKyAiIHNob3VsZCBub3QgYmUgMCIpOwogIH0KICBpZihmbG9hdFZhbHVlc1tpbmRleCAtIDFdICE9PSAoZmxvYXRWYWx1ZXNbaW5kZXhdICogMikpewoJJEVSUk9SKCJWYWx1ZSBzaG91bGQgYmUgZG91YmxlIGFkamFjZW50IHZhbHVlIGF0IGluZGV4ICIgKyBpbmRleCk7CiAgfQp9CgovLyBNYXggbm9ybSBzaG91bGQgYmUgc3VwcG9ydGVkIGFuZCBjb21wYXJlIGxlc3MgdGhhbiBpbmlmaXR5CmlmKCEoMS43OTc2OTMxMzQ4NjIzMTU3MDgxNDUyNzQyMzczMTdlKzMwOCA8IEluZmluaXR5KSl7CgkkRVJST1IoIk1heCBOdW1iZXIgdmFsdWUgMS43OTc2OTMxMzQ4NjIzMTU3MDgxNDUyNzQyMzczMTdlKzMwOCBzaG91bGQgbm90IG92ZXJmbG93IHRvIGluZmluaXR5Iik7Cn0KCi8vIE51bWJlcnMgY2xvc2VyIHRvIDIqKjEwMjQgdGhlbiBtYXggbm9ybSBzaG91bGQgb3ZlcmZsb3cgdG8gaW5maW5pdHkKaWYoISgxLjc5NzY5MzEzNDg2MjMxNTgwOGUrMzA4ID09PSArSW5maW5pdHkpKXsKCSRFUlJPUigiMS43OTc2OTMxMzQ4NjIzMTU4MDhlKzMwOCBkaWQgbm90IHJlc29sdmUgdG8gSW5maW5pdHkiKTsKfQo=","commentary":"","description":"Valid Number ranges","path":"TestCases/ch08/8.5/8.5.1.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":"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":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjcvOC43LjIvOC43LjItMS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBSZWZlcmVuY2VFcnJvciBpcyB0aHJvd24gaWYgTGVmdEhhbmRTaWRlIGV2YWx1YXRlcyB0byBhbiB1bnJlc29sdmFibGUgUmVmZXJlbmNlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoIl84XzdfMl8xID0gMTE7Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjcvOC43LjIvOC43LjItMi1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBSZWZlcmVuY2VFcnJvciBpc24ndCB0aHJvd24gaWYgTGVmdEhhbmRTaWRlIGV2YWx1YXRlcyB0byBhIHJlc29sdmFibGUgUmVmZXJlbmNlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIGIgPSAxMTsNCiAgICAgICAgcmV0dXJuIGIgPT09IDExOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjcvOC43LjIvOC43LjItMy0xLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBldmFsIC0gYSBwcm9wZXJ0eSBuYW1lZCAnZXZhbCcgaXMgcGVybWl0dGVkDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICd1c2Ugc3RyaWN0JzsNCg0KICB2YXIgbyA9IHsgZXZhbDogNDJ9Ow0KICByZXR1cm4gdHJ1ZTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjcvOC43LjIvOC43LjItMy1hLTFncy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gUmVmZXJlbmNlRXJyb3IgaXMgdGhyb3duIGlmIExlZnRIYW5kU2lkZSBldmFsdWF0ZSB0byBhbiB1bnJlc29sdmFibGUgUmVmZXJlbmNlDQogKiBAb25seVN0cmljdA0KICogQG5lZ2F0aXZlIC4NCiAqLw0KDQoidXNlIHN0cmljdCI7DQpiID0gMTE7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjcvOC43LjIvOC43LjItMy1hLTJncy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gJ3J1bnRpbWUnIGVycm9yIGlzIHRocm93biBiZWZvcmUgTGVmdEhhbmRTaWRlIGV2YWx1YXRlcyB0byBhbiB1bnJlc29sdmFibGUgUmVmZXJlbmNlDQogKiBAb25seVN0cmljdA0KICogQG5lZ2F0aXZlIE5vdEVhcmx5RXJyb3INCiAqLw0KDQoidXNlIHN0cmljdCI7DQp0aHJvdyBOb3RFYXJseUVycm9yOw0KYiA9IDExOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjcvOC43LjIvOC43LjItMy1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBUeXBlRXJyb3IgaXMgdGhyb3duIGlmIExlZnRIYW5kU2lkZSBpcyBhIHJlZmVyZW5jZSB0byBhIG5vbi13cml0YWJsZSBkYXRhIHByb3BlcnR5DQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIF84XzdfMl8zID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShfOF83XzJfMywgImIiLCB7DQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIF84XzdfMl8zLmIgPSAxMTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjcvOC43LjIvOC43LjItNC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBUeXBlRXJyb3IgaXMgdGhyb3duIGlmIExlZnRIYW5kU2lkZSBpcyBhIHJlZmVyZW5jZSB0byBhbiBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRoIG5vIHNldHRlcg0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBfOF83XzJfNCA9IHt9Ow0KICAgICAgICB2YXIgXzhfN18yXzRfYlZhbHVlID0gMTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KF84XzdfMl80LCAiYiIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gXzhfN18yXzRfYlZhbHVlOyB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBfOF83XzJfNC5iID0gMTE7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjcvOC43LjIvOC43LjItNS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBUeXBlRXJyb3IgaXMgdGhyb3duIGlmIExlZnRIYW5kU2lkZSBpcyBhIHJlZmVyZW5jZSB0byBhIG5vbi1leGlzdGVudCBwcm9wZXJ0eSBvZiBhbiBub24tZXh0ZW5zaWJsZSBvYmplY3QNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgXzhfN18yXzUgPSB7fTsNCiAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKF84XzdfMl81KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgXzhfN18yXzUuYiA9IDExOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjcvOC43LjIvOC43LjItNi1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBUeXBlRXJyb3IgaXNuJ3QgdGhyb3duIGlmIExlZnRIYW5kU2lkZSBpcyBhIHJlZmVyZW5jZSB0byBhIHdyaXRhYmxlIGRhdGEgcHJvcGVydHkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgXzhfN18yXzYgPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KF84XzdfMl82LCAiYiIsIHsNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIF84XzdfMl82LmIgPSAxMTsNCg0KICAgICAgICByZXR1cm4gXzhfN18yXzYuYiA9PT0gMTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjcvOC43LjIvOC43LjItNy1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBUeXBlRXJyb3IgaXNuJ3QgdGhyb3duIGlmIExlZnRIYW5kU2lkZSBpcyBhIHJlZmVyZW5jZSB0byBhbiBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRoIHNldHRlcg0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBfOF83XzJfNyA9IHt9Ow0KICAgICAgICB2YXIgXzhfN18yXzdfYlZhbHVlID0gMTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KF84XzdfMl83LCAiYiIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gXzhfN18yXzdfYlZhbHVlOyB9LA0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAodmFsdWUpIHsgXzhfN18yXzdfYlZhbHVlID0gdmFsdWU7IH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgXzhfN18yXzcuYiA9IDExOw0KICAgICAgICByZXR1cm4gXzhfN18yXzcuYiA9PT0gMTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjcvOC43LjIvOC43LjItOC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBUeXBlRXJyb3IgaXNuJ3QgdGhyb3duIGlmIExlZnRIYW5kU2lkZSBpcyBhIHJlZmVyZW5jZSB0byBhIHByb3BlcnR5IG9mIGFuIGV4dGVuc2libGUgb2JqZWN0DQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIF84XzdfMl84ID0ge307DQoNCiAgICAgICAgXzhfN18yXzguYiA9IDExOw0KDQogICAgICAgIHJldHVybiBfOF83XzJfOC5iID09PSAxMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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/ch15.json b/website/json/ch15.json
index f170963b8..ca7951dd4 100644
--- a/website/json/ch15.json
+++ b/website/json/ch15.json
@@ -1 +1 @@
-{"testsCollection":{"name":"Chapter - ch15","numTests":"8073","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":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMS8xNS4xLjEuMS8xNS4xLjEuMS0wLmpzDQogKiBAZGVzY3JpcHRpb24gR2xvYmFsLk5hTiBpcyBhIGRhdGEgcHJvcGVydHkgd2l0aCBkZWZhdWx0IGF0dHJpYnV0ZSB2YWx1ZXMgKGZhbHNlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGZuR2xvYmFsT2JqZWN0KCksICdOYU4nKTsNCiAgaWYgKGRlc2Mud3JpdGFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMS8xNS4xLjEuMi8xNS4xLjEuMi0wLmpzDQogKiBAZGVzY3JpcHRpb24gR2xvYmFsLkluZmluaXR5IGlzIGEgZGF0YSBwcm9wZXJ0eSB3aXRoIGRlZmF1bHQgYXR0cmlidXRlIHZhbHVlcyAoZmFsc2UpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZm5HbG9iYWxPYmplY3QoKSwgJ0luZmluaXR5Jyk7DQogIGlmIChkZXNjLndyaXRhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMS8xNS4xLjEuMy8xNS4xLjEuMy0wLmpzDQogKiBAZGVzY3JpcHRpb24gR2xvYmFsLnVuZGVmaW5lZCBpcyBhIGRhdGEgcHJvcGVydHkgd2l0aCBkZWZhdWx0IGF0dHJpYnV0ZSB2YWx1ZXMgKGZhbHNlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGZuR2xvYmFsT2JqZWN0KCksICd1bmRlZmluZWQnKTsNCiAgaWYgKGRlc2Mud3JpdGFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMS8xNS4xLjEuMy8xNS4xLjEuMy0xLmpzDQogKiBAZGVzY3JpcHRpb24gdW5kZWZpbmVkIGlzIG5vdCB3cml0YWJsZSwgc2hvdWxkIG5vdCB0aHJvdyBpbiBub24tc3RyaWN0IG1vZGUNCiAqIEBub1N0cmljdA0KICovDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCl7DQogICAgdW5kZWZpbmVkID0gNTsNCiAgICBpZih0eXBlb2YgdW5kZWZpbmVkICE9PSAidW5kZWZpbmVkIikgcmV0dXJuIGZhbHNlOw0KDQogICAgdmFyIG5vc3VjaHByb3BlcnR5Ow0KICAgIGlmKG5vc3VjaHByb3BlcnR5ICE9PSB1bmRlZmluZWQpIHJldHVybiBmYWxzZTsNCiAgICANCiAgICByZXR1cm4gdHJ1ZTsNCn0NCg0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"undefined is not writable, should not throw in non-strict mode","noStrict":"","path":"TestCases/ch15/15.1/15.1.1/15.1.1.3/15.1.1.3-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMS8xNS4xLjEuMy8xNS4xLjEuMy0yLmpzDQogKiBAZGVzY3JpcHRpb24gdW5kZWZpbmVkIGlzIG5vdCB3cml0YWJsZSwgc2hvdWxkIHRocm93IFR5cGVFcnJvciBpbiBzdHJpY3QgbW9kZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpew0KICAidXNlIHN0cmljdCI7DQogIHZhciBnbG9iYWwgPSBmbkdsb2JhbE9iamVjdCgpOw0KICB0cnl7DQogICAgZ2xvYmFsWyJ1bmRlZmluZWQiXSA9IDU7ICAvLyBTaG91bGQgdGhyb3cgYSBUeXBlRXJyb3IgYXMgcGVyIDguMTIuNQ0KICB9IGNhdGNoIChleCkgew0KICAgIGlmKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKXsNCiAgICAgIHJldHVybiB0cnVlOw0KICAgIH0gZWxzZSB7DQogICAgICByZXR1cm4gZmFsc2U7DQogICAgfQ0KICB9DQp9DQoNCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"undefined is not writable, should throw TypeError in strict mode","onlyStrict":"","path":"TestCases/ch15/15.1/15.1.1/15.1.1.3/15.1.1.3-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMS8xNS4xLjEuMy8xNS4xLjEuMy0zLmpzDQogKiBAZGVzY3JpcHRpb24gdW5kZWZpbmVkIGlzIG5vdCB3cml0YWJsZSwgc2ltcGxlIGFzc2lnbm1lbnQgc2hvdWxkIHJldHVybiB0aGUgcnZhbCB2YWx1ZSAoMTEuMTMuMS02KQ0KICovDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCl7DQogIHZhciBuZXdQcm9wZXJ0eSA9IHVuZGVmaW5lZCA9IDQyOw0KICByZXR1cm4gKG5ld1Byb3BlcnR5ID09PSA0Mik7DQp9DQoNCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"undefined is not writable, simple assignment should return the rval value (11.13.1-6)","path":"TestCases/ch15/15.1/15.1.1/15.1.1.3/15.1.1.3-3.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":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMi8xNS4xLjIuMi0yLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBwYXJlc2VJbnQgLSAnUycgaXMgdGhlIGVtcHR5IHN0cmluZyB3aGVuIGlucHV0U3RyaW5nIGRvZXMgbm90IGNvbnRhaW4gYW55IHN1Y2ggY2hhcmFjdGVycw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiBpc05hTihwYXJzZUludCgiIikpICYmIHBhcnNlSW50KCIiKSAhPT0gcGFyc2VJbnQoIiIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMy8xNS4xLjIuMy0yLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBwYXJlc2VGbG9hdCAtICd0cmltbWVkU3RyaW5nJyBpcyB0aGUgZW1wdHkgc3RyaW5nIHdoZW4gaW5wdXRTdHJpbmcgZG9lcyBub3QgY29udGFpbiBhbnkgc3VjaCBjaGFyYWN0ZXJzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIGlzTmFOKHBhcnNlRmxvYXQoIiIpKSAmJiBwYXJzZUZsb2F0KCIiKSAhPT0gcGFyc2VGbG9hdCgiIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCMSA9IDB4eHh4eHh4eCAoWzB4MDAgLSAweDdGXSksIHdpdGhvdXQgW3VyaVJlc2VydmVkLCAjXSwgcmV0dXJuIEIxCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjEvUzE1LjEuMy4xX0EyLjJfVDEuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMsIHVzZSBSRkMgMzYyOQogKi8KCnZhciBlcnJvckNvdW50ID0gMDsKdmFyIGNvdW50ID0gMDsKdmFyIGluZGV4UDsKdmFyIGluZGV4TyA9IDA7CnZhciB1cmlSZXNlcnZlZCA9IFsiOyIsICIvIiwgIj8iLCAiOiIsICJAIiwgIiYiLCAiPSIsICIrIiwgIiQiLCAiLCJdOwpsOgpmb3IgKHZhciBpbmRleEIxID0gMHgwMDsgaW5kZXhCMSA8PSAweDdGOyBpbmRleEIxKyspIHsgICAgICAgCiAgY291bnQrKzsKICB2YXIgaGV4QjEgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhCMSk7ICAKICB2YXIgaW5kZXggPSBpbmRleEIxOyAgCiAgdHJ5IHsKICAgIHZhciBoZXggPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGluZGV4KTsKICAgIGZvciAoaW5kZXhDID0gMDsgaW5kZXhDIDwgdXJpUmVzZXJ2ZWQubGVuZ3RoOyBpbmRleEMrKykgeyAgICAKICAgICAgaWYgKGhleCA9PT0gdXJpUmVzZXJ2ZWRbaW5kZXhDXSkgY29udGludWUgbDsgICAgICAgIAogICAgfSAKICAgIGlmIChoZXggPT09ICIjIikgY29udGludWUgbDsKICAgIGlmIChkZWNvZGVVUkkoIiUiICsgaGV4QjEuc3Vic3RyaW5nKDIpKSA9PT0gaGV4KSBjb250aW51ZTsKICB9IGNhdGNoIChlKSB7CiAgICBpZiAoZSBpbnN0YW5jZW9mIFRlc3QyNjJFcnJvcikgdGhyb3cgZTsKICB9ICAgCiAgaWYgKGluZGV4TyA9PT0gMCkgeyAKICAgIGluZGV4TyA9IGluZGV4OwogIH0gZWxzZSB7CiAgICBpZiAoKGluZGV4IC0gaW5kZXhQKSAhPT0gMSkgeyAgICAgICAgICAgICAKICAgICAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgICAgIH0gCiAgICAgIGVsc2UgewogICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogICAgICB9ICAKICAgICAgaW5kZXhPID0gaW5kZXg7CiAgICB9ICAgICAgICAgCiAgfQogIGluZGV4UCA9IGluZGV4OwogIGVycm9yQ291bnQrKzsgICAgICAgICAKfQoKaWYgKGVycm9yQ291bnQgPiAwKSB7CiAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgfSBlbHNlIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgfSAgICAgCiAgJEVSUk9SKCdUb3RhbCBlcnJvcjogJyArIGVycm9yQ291bnQgKyAnIGJhZCBVbmljb2RlIGNoYXJhY3RlciBpbiAnICsgY291bnQgKyAnICcpOwp9CgpmdW5jdGlvbiBkZWNpbWFsVG9IZXhTdHJpbmcobikgewogIG4gPSBOdW1iZXIobik7CiAgdmFyIGggPSAiIjsKICBmb3IgKHZhciBpID0gMzsgaSA+PSAwOyBpLS0pIHsKICAgIGlmIChuID49IE1hdGgucG93KDE2LCBpKSkgewogICAgICB2YXIgdCA9IE1hdGguZmxvb3IobiAvIE1hdGgucG93KDE2LCBpKSk7CiAgICAgIG4gLT0gdCAqIE1hdGgucG93KDE2LCBpKTsKICAgICAgaWYgKCB0ID49IDEwICkgewogICAgICAgIGlmICggdCA9PSAxMCApIHsgaCArPSAiQSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTEgKSB7IGggKz0gIkIiOyB9CiAgICAgICAgaWYgKCB0ID09IDEyICkgeyBoICs9ICJDIjsgfQogICAgICAgIGlmICggdCA9PSAxMyApIHsgaCArPSAiRCI7IH0KICAgICAgICBpZiAoIHQgPT0gMTQgKSB7IGggKz0gIkUiOyB9CiAgICAgICAgaWYgKCB0ID09IDE1ICkgeyBoICs9ICJGIjsgfQogICAgICB9IGVsc2UgewogICAgICAgIGggKz0gU3RyaW5nKHQpOwogICAgICB9CiAgICB9IGVsc2UgewogICAgICBoICs9ICIwIjsKICAgIH0KICB9CiAgcmV0dXJuIGg7Cn0KCg==","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":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCMSA9IDExMHh4eHh4IChbMHhDMCAtIDB4REZdKSwgQjIgPSAxMHh4eHh4eCAoWzB4ODAgLSAweEJGKSwgd2l0aG91dCBCMSA9IFsweEMwLCAweEMxXSwgcmV0dXJuIFVURjgoQjEsIEIyKQogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4xL1MxNS4xLjMuMV9BMi4zX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzLCB1c2UgUkZDIDM2MjkKICovCgp2YXIgZXJyb3JDb3VudCA9IDA7CnZhciBjb3VudCA9IDA7CnZhciBpbmRleFA7CnZhciBpbmRleE8gPSAwOwoKZm9yICh2YXIgaW5kZXhCMSA9IDB4QzI7IGluZGV4QjEgPD0gMHhERjsgaW5kZXhCMSsrKSB7ICAgICAKICB2YXIgaGV4QjEgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhCMSk7CiAgZm9yICh2YXIgaW5kZXhCMiA9IDB4ODA7IGluZGV4QjIgPD0gMHhCRjsgaW5kZXhCMisrKSB7CiAgICBjb3VudCsrOwogICAgdmFyIGhleEIyID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4QjIpOwogICAgdmFyIGluZGV4ID0gKGluZGV4QjEgJiAweDFGKSAqIDB4NDAgKyAoaW5kZXhCMiAmIDB4M0YpOyAgCiAgICB0cnkgewogICAgICBpZiAoZGVjb2RlVVJJKCIlIiArIGhleEIxLnN1YnN0cmluZygyKSArICIlIiArIGhleEIyLnN1YnN0cmluZygyKSkgPT09IFN0cmluZy5mcm9tQ2hhckNvZGUoaW5kZXgpKSBjb250aW51ZTsNCiAgfSBjYXRjaCAoZSkgew0KICAgICAgaWYgKGUgaW5zdGFuY2VvZiBUZXN0MjYyRXJyb3IpIHRocm93IGU7CiAgICB9ICAgCiAgICBpZiAoaW5kZXhPID09PSAwKSB7IAogICAgICBpbmRleE8gPSBpbmRleDsKICAgIH0gZWxzZSB7CiAgICAgIGlmICgoaW5kZXggLSBpbmRleFApICE9PSAxKSB7ICAgICAgICAgICAgIAogICAgICAgIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAgICAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogICAgICAgIH0gCiAgICAgICAgZWxzZSB7CiAgICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogICAgICAgIH0gIAogICAgICAgIGluZGV4TyA9IGluZGV4OwogICAgICB9ICAgICAgICAgCiAgICB9CiAgICBpbmRleFAgPSBpbmRleDsKICAgIGVycm9yQ291bnQrKzsgICAgICAgCiAgfQp9CgppZiAoZXJyb3JDb3VudCA+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":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCMSA9IDExMTB4eHh4IChbMHhFMCAtIDB4RUZdKSwgQjIsIEIzID0gMTB4eHh4eHh4IChbMHg4MCAtIDB4QkZdKSwgd2l0aG91dCBbQjEsIEIyXSA9IFsweEUwLCAweDgwIC0gMHg5Rl0sIFsweEVELCAweEEwIC0gMHhCRl0gKDB4RDgwMCAtIDB4REZGRiksIHJldHVybiBVVEY4KEIxLCBCMiwgQjMpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjEvUzE1LjEuMy4xX0EyLjRfVDEuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMsIHVzZSBSRkMgMzYyOQogKi8KCnZhciBlcnJvckNvdW50ID0gMDsKdmFyIGNvdW50ID0gMDsKdmFyIGluZGV4UDsKdmFyIGluZGV4TyA9IDA7Cgpmb3IgKHZhciBpbmRleEIxID0gMHhFMDsgaW5kZXhCMSA8PSAweEVGOyBpbmRleEIxKyspIHsgICAgIAogIHZhciBoZXhCMSA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleEIxKTsKICBmb3IgKHZhciBpbmRleEIyID0gMHg4MDsgaW5kZXhCMiA8PSAweEJGOyBpbmRleEIyKyspIHsKICAgIGlmICgoaW5kZXhCMSA9PT0gMHhFMCkgJiYgKGluZGV4QjIgPD0gMHg5RikpIGNvbnRpbnVlOwogICAgaWYgKChpbmRleEIxID09PSAweEVEKSAmJiAoMHhBMCA8PSBpbmRleEIyKSkgY29udGludWU7ICAgICAgICAgCiAgICB2YXIgaGV4QjIgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhCMik7CiAgICBmb3IgKHZhciBpbmRleEIzID0gMHg4MDsgaW5kZXhCMyA8PSAweEJGOyBpbmRleEIzKyspIHsKICAgICAgY291bnQrKzsKICAgICAgdmFyIGhleEIzID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4QjMpOwogICAgICB2YXIgaW5kZXggPSAoaW5kZXhCMSAmIDB4MEYpICogMHgxMDAwICsgKGluZGV4QjIgJiAweDNGKSAqIDB4NDAgKyAoaW5kZXhCMyAmIDB4M0YpOyAgCiAgICAgIHRyeSB7CiAgICAgICAgaWYgKGRlY29kZVVSSSgiJSIgKyBoZXhCMS5zdWJzdHJpbmcoMikgKyAiJSIgKyBoZXhCMi5zdWJzdHJpbmcoMikgKyAiJSIgKyBoZXhCMy5zdWJzdHJpbmcoMikpID09PSBTdHJpbmcuZnJvbUNoYXJDb2RlKGluZGV4KSkgY29udGludWU7DQogICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgIGlmIChlIGluc3RhbmNlb2YgVGVzdDI2MkVycm9yKSB0aHJvdyBlOwogICAgICB9ICAgCiAgICAgIGlmIChpbmRleE8gPT09IDApIHsgCiAgICAgICAgaW5kZXhPID0gaW5kZXg7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaWYgKChpbmRleCAtIGluZGV4UCkgIT09IDEpIHsgICAgICAgICAgICAgCiAgICAgICAgICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICAgICAgICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICAgICAgICAgIH0gCiAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogICAgICAgICAgfSAgCiAgICAgICAgICBpbmRleE8gPSBpbmRleDsKICAgICAgICB9ICAgICAgICAgCiAgICAgIH0KICAgICAgaW5kZXhQID0gaW5kZXg7CiAgICAgIGVycm9yQ291bnQrKzsgIAogICAgfSAgICAgCiAgfQp9CgppZiAoZXJyb3JDb3VudCA+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.1/S15.1.3.1_A2.4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCMSA9IDExMTEweHh4IChbMHhGMCAtIDB4MEY0XSksIEIyLCBCMywgQjQgPSAxMHh4eHh4eHggKFsweDgwIC0gMHhCRl0pLCB3aXRob3V0IFtCMSwgQjJdID0gWzB4RjAsIDB4ODAgLSAweDlGXSwgWzB4RjQsIDB4OTAgLSAweEJGXSwgcmV0dXJuIFVURjgoQjEsIEIyLCBCMywgQjQpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjEvUzE1LjEuMy4xX0EyLjVfVDEuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMsIHVzZSBSRkMgMzYyOQogKi8KCnZhciBlcnJvckNvdW50ID0gMDsKdmFyIGNvdW50ID0gMDsKdmFyIGluZGV4UDsKdmFyIGluZGV4TyA9IDA7Cgpmb3IgKHZhciBpbmRleEIxID0gMHhGMDsgaW5kZXhCMSA8PSAweEY0OyBpbmRleEIxKyspIHsgICAgIAogIHZhciBoZXhCMSA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleEIxKTsKICBmb3IgKHZhciBpbmRleEIyID0gMHg4MDsgaW5kZXhCMiA8PSAweEJGOyBpbmRleEIyKyspIHsKICAgIGlmICgoaW5kZXhCMSA9PT0gMHhGMCkgJiYgKGluZGV4QjIgPD0gMHg5RikpIGNvbnRpbnVlOyAgICAgICAgICAgIAogICAgaWYgKChpbmRleEIxID09PSAweEY0KSAmJiAoaW5kZXhCMiA+PSAweDkwKSkgY29udGludWU7CiAgICB2YXIgaGV4QjIgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhCMik7CiAgICBmb3IgKHZhciBpbmRleEIzID0gMHg4MDsgaW5kZXhCMyA8PSAweEJGOyBpbmRleEIzKyspIHsKICAgICAgdmFyIGhleEIzID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4QjMpOwogICAgICBmb3IgKHZhciBpbmRleEI0ID0gMHg4MDsgaW5kZXhCNCA8PSAweEJGOyBpbmRleEI0KyspIHsKICAgICAgICB2YXIgaGV4QjQgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhCNCk7CiAgICAgICAgY291bnQrKzsKICAgICAgICB2YXIgaW5kZXggPSAoaW5kZXhCMSAmIDB4MDcpICogMHg0MDAwMCArIChpbmRleEIyICYgMHgzRikgKiAweDEwMDAgKyAoaW5kZXhCMyAmIDB4M0YpICogMHg0MCArIChpbmRleEI0ICYgMHgzRik7CiAgICAgICAgdmFyIEwgPSAoKGluZGV4IC0gMHgxMDAwMCkgJiAweDAzRkYpICsgMHhEQzAwOwogICAgICAgIHZhciBIID0gKCgoaW5kZXggLSAweDEwMDAwKSA+PiAxMCkgJiAweDAzRkYpICsgMHhEODAwOyAgCiAgICAgICAgdHJ5IHsKICAgICAgICAgIGlmIChkZWNvZGVVUkkoIiUiICsgaGV4QjEuc3Vic3RyaW5nKDMpICsgIiUiICsgaGV4QjIuc3Vic3RyaW5nKDMpICsgIiUiICsgaGV4QjMuc3Vic3RyaW5nKDMpICsgIiUiICsgaGV4QjQuc3Vic3RyaW5nKDMpKSA9PT0gU3RyaW5nLmZyb21DaGFyQ29kZShIKSArIFN0cmluZy5mcm9tQ2hhckNvZGUoTCkpIGNvbnRpbnVlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgaWYgKGUgaW5zdGFuY2VvZiBUZXN0MjYyRXJyb3IpIHRocm93IGU7CiAgICAgICAgfSAgIAogICAgICAgIGlmIChpbmRleE8gPT09IDApIHsgCiAgICAgICAgICBpbmRleE8gPSBpbmRleDsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgaWYgKChpbmRleCAtIGluZGV4UCkgIT09IDEpIHsgICAgICAgICAgICAgCiAgICAgICAgICAgIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgICAgICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgICAgICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICAgICAgICAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogICAgICAgICAgICB9IAogICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICAgICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICAgICAgICAgICAgfSAgCiAgICAgICAgICAgIGluZGV4TyA9IGluZGV4OwogICAgICAgICAgfSAgICAgICAgIAogICAgICAgIH0KICAgICAgICBpbmRleFAgPSBpbmRleDsKICAgICAgICBlcnJvckNvdW50Kys7ICAKICAgICAgfQogICAgfSAgICAgCiAgfQp9CgppZiAoZXJyb3JDb3VudCA+IDApIHsKICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICB9IGVsc2UgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICB9ICAgICAKICAkRVJST1IoJ1RvdGFsIGVycm9yOiAnICsgZXJyb3JDb3VudCArICcgYmFkIFVuaWNvZGUgY2hhcmFjdGVyIGluICcgKyBjb3VudCArICcgJyk7Cn0KCmZ1bmN0aW9uIGRlY2ltYWxUb0hleFN0cmluZyhuKSB7CiAgbiA9IE51bWJlcihuKTsKICB2YXIgaCA9ICIiOwogIGZvciAodmFyIGkgPSA0OyBpID49IDA7IGktLSkgewogICAgaWYgKG4gPj0gTWF0aC5wb3coMTYsIGkpKSB7CiAgICAgIHZhciB0ID0gTWF0aC5mbG9vcihuIC8gTWF0aC5wb3coMTYsIGkpKTsKICAgICAgbiAtPSB0ICogTWF0aC5wb3coMTYsIGkpOwogICAgICBpZiAoIHQgPj0gMTAgKSB7CiAgICAgICAgaWYgKCB0ID09IDEwICkgeyBoICs9ICJBIjsgfQogICAgICAgIGlmICggdCA9PSAxMSApIHsgaCArPSAiQiI7IH0KICAgICAgICBpZiAoIHQgPT0gMTIgKSB7IGggKz0gIkMiOyB9CiAgICAgICAgaWYgKCB0ID09IDEzICkgeyBoICs9ICJEIjsgfQogICAgICAgIGlmICggdCA9PSAxNCApIHsgaCArPSAiRSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTUgKSB7IGggKz0gIkYiOyB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaCArPSBTdHJpbmcodCk7CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIGggKz0gIjAiOwogICAgfQogIH0KICByZXR1cm4gaDsKfQoK","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":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCMSA9IDB4eHh4eHh4eCAoWzB4MDAgLSAweDdGXSksIHJldHVybiBCMQogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4yL1MxNS4xLjMuMl9BMi4yX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzLCB1c2UgUkZDIDM2MjkKICovCgplcnJvckNvdW50ID0gMDsKY291bnQgPSAwOwp2YXIgaW5kZXhQOwp2YXIgaW5kZXhPID0gMDsKZm9yIChpbmRleEIxID0gMHgwMDsgaW5kZXhCMSA8PSAweDdGOyBpbmRleEIxKyspIHsgICAgICAgCiAgY291bnQrKzsKICB2YXIgaGV4QjEgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhCMSk7ICAKICB2YXIgaW5kZXggPSBpbmRleEIxOyAgCiAgdHJ5IHsKICAgIGhleCA9IFN0cmluZy5mcm9tQ2hhckNvZGUoaW5kZXgpOwogICAgaWYgKGRlY29kZVVSSUNvbXBvbmVudCgiJSIgKyBoZXhCMS5zdWJzdHJpbmcoMikpID09PSBoZXgpIGNvbnRpbnVlOw0KICB9IGNhdGNoIChlKSB7DQogICAgaWYgKGUgaW5zdGFuY2VvZiBUZXN0MjYyRXJyb3IpIHRocm93IGU7CiAgfSAgIAogIGlmIChpbmRleE8gPT09IDApIHsgCiAgICBpbmRleE8gPSBpbmRleDsKICB9IGVsc2UgewogICAgaWYgKChpbmRleCAtIGluZGV4UCkgIT09IDEpIHsgICAgICAgICAgICAgCiAgICAgIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogICAgICB9IAogICAgICBlbHNlIHsKICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICAgICAgfSAgCiAgICAgIGluZGV4TyA9IGluZGV4OwogICAgfSAgICAgICAgIAogIH0KICBpbmRleFAgPSBpbmRleDsKICBlcnJvckNvdW50Kys7ICAgICAgICAgCn0KCmlmIChlcnJvckNvdW50ID4gMCkgewogIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogIH0gZWxzZSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogIH0gICAgIAogICRFUlJPUignVG90YWwgZXJyb3I6ICcgKyBlcnJvckNvdW50ICsgJyBiYWQgVW5pY29kZSBjaGFyYWN0ZXIgaW4gJyArIGNvdW50ICsgJyAnKTsKfQoKZnVuY3Rpb24gZGVjaW1hbFRvSGV4U3RyaW5nKG4pIHsKICBuID0gTnVtYmVyKG4pOwogIHZhciBoID0gIiI7CiAgZm9yICh2YXIgaSA9IDM7IGkgPj0gMDsgaS0tKSB7CiAgICBpZiAobiA+PSBNYXRoLnBvdygxNiwgaSkpIHsKICAgICAgdmFyIHQgPSBNYXRoLmZsb29yKG4gLyBNYXRoLnBvdygxNiwgaSkpOwogICAgICBuIC09IHQgKiBNYXRoLnBvdygxNiwgaSk7CiAgICAgIGlmICggdCA+PSAxMCApIHsKICAgICAgICBpZiAoIHQgPT0gMTAgKSB7IGggKz0gIkEiOyB9CiAgICAgICAgaWYgKCB0ID09IDExICkgeyBoICs9ICJCIjsgfQogICAgICAgIGlmICggdCA9PSAxMiApIHsgaCArPSAiQyI7IH0KICAgICAgICBpZiAoIHQgPT0gMTMgKSB7IGggKz0gIkQiOyB9CiAgICAgICAgaWYgKCB0ID09IDE0ICkgeyBoICs9ICJFIjsgfQogICAgICAgIGlmICggdCA9PSAxNSApIHsgaCArPSAiRiI7IH0KICAgICAgfSBlbHNlIHsKICAgICAgICBoICs9IFN0cmluZyh0KTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgaCArPSAiMCI7CiAgICB9CiAgfQogIHJldHVybiBoOwp9Cgo=","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":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCMSA9IDExMHh4eHh4IChbMHhDMCAtIDB4REZdKSwgQjIgPSAxMHh4eHh4eCAoWzB4ODAgLSAweEJGKSwgd2l0aG91dCBCMSA9IFsweEMwLCAweEMxXSwgcmV0dXJuIFVURjgoQjEsIEIyKQogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4yL1MxNS4xLjMuMl9BMi4zX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzLCB1c2UgUkZDIDM2MjkKICovCgplcnJvckNvdW50ID0gMDsKY291bnQgPSAwOwp2YXIgaW5kZXhQOwp2YXIgaW5kZXhPID0gMDsKCmZvciAoaW5kZXhCMSA9IDB4QzI7IGluZGV4QjEgPD0gMHhERjsgaW5kZXhCMSsrKSB7ICAgICAKICB2YXIgaGV4QjEgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhCMSk7CiAgZm9yIChpbmRleEIyID0gMHg4MDsgaW5kZXhCMiA8PSAweEJGOyBpbmRleEIyKyspIHsKICAgIGNvdW50Kys7CiAgICB2YXIgaGV4QjIgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhCMik7CiAgICB2YXIgaW5kZXggPSAoaW5kZXhCMSAmIDB4MUYpICogMHg0MCArIChpbmRleEIyICYgMHgzRik7ICAKICAgIHRyeSB7CiAgICAgIGlmIChkZWNvZGVVUklDb21wb25lbnQoIiUiICsgaGV4QjEuc3Vic3RyaW5nKDIpICsgIiUiICsgaGV4QjIuc3Vic3RyaW5nKDIpKSA9PT0gU3RyaW5nLmZyb21DaGFyQ29kZShpbmRleCkpIGNvbnRpbnVlOw0KICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgIGlmIChlIGluc3RhbmNlb2YgVGVzdDI2MkVycm9yKSB0aHJvdyBlOwogICAgfSAgIAogICAgaWYgKGluZGV4TyA9PT0gMCkgeyAKICAgICAgaW5kZXhPID0gaW5kZXg7CiAgICB9IGVsc2UgewogICAgICBpZiAoKGluZGV4IC0gaW5kZXhQKSAhPT0gMSkgeyAgICAgICAgICAgICAKICAgICAgICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgICAgICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICAgICAgICB9IAogICAgICAgIGVsc2UgewogICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICAgICAgICB9ICAKICAgICAgICBpbmRleE8gPSBpbmRleDsKICAgICAgfSAgICAgICAgIAogICAgfQogICAgaW5kZXhQID0gaW5kZXg7CiAgICBlcnJvckNvdW50Kys7ICAgICAgIAogIH0KfQoKaWYgKGVycm9yQ291bnQgPiAwKSB7CiAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgfSBlbHNlIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgfSAgICAgCiAgJEVSUk9SKCdUb3RhbCBlcnJvcjogJyArIGVycm9yQ291bnQgKyAnIGJhZCBVbmljb2RlIGNoYXJhY3RlciBpbiAnICsgY291bnQgKyAnICcpOwp9CgpmdW5jdGlvbiBkZWNpbWFsVG9IZXhTdHJpbmcobikgewogIG4gPSBOdW1iZXIobik7CiAgdmFyIGggPSAiIjsKICBmb3IgKHZhciBpID0gMzsgaSA+PSAwOyBpLS0pIHsKICAgIGlmIChuID49IE1hdGgucG93KDE2LCBpKSkgewogICAgICB2YXIgdCA9IE1hdGguZmxvb3IobiAvIE1hdGgucG93KDE2LCBpKSk7CiAgICAgIG4gLT0gdCAqIE1hdGgucG93KDE2LCBpKTsKICAgICAgaWYgKCB0ID49IDEwICkgewogICAgICAgIGlmICggdCA9PSAxMCApIHsgaCArPSAiQSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTEgKSB7IGggKz0gIkIiOyB9CiAgICAgICAgaWYgKCB0ID09IDEyICkgeyBoICs9ICJDIjsgfQogICAgICAgIGlmICggdCA9PSAxMyApIHsgaCArPSAiRCI7IH0KICAgICAgICBpZiAoIHQgPT0gMTQgKSB7IGggKz0gIkUiOyB9CiAgICAgICAgaWYgKCB0ID09IDE1ICkgeyBoICs9ICJGIjsgfQogICAgICB9IGVsc2UgewogICAgICAgIGggKz0gU3RyaW5nKHQpOwogICAgICB9CiAgICB9IGVsc2UgewogICAgICBoICs9ICIwIjsKICAgIH0KICB9CiAgcmV0dXJuIGg7Cn0KCg==","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":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCMSA9IDExMTB4eHh4IChbMHhFMCAtIDB4RUZdKSwgQjIsIEIzID0gMTB4eHh4eHh4IChbMHg4MCAtIDB4QkZdKSwgd2l0aG91dCBbQjEsIEIyXSA9IFsweEUwLCAweDgwIC0gMHg5Rl0sIFsweEVELCAweEEwIC0gMHhCRl0gKDB4RDgwMCAtIDB4REZGRiksIHJldHVybiBVVEY4KEIxLCBCMiwgQjMpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjIvUzE1LjEuMy4yX0EyLjRfVDEuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMsIHVzZSBSRkMgMzYyOQogKi8KCmVycm9yQ291bnQgPSAwOwpjb3VudCA9IDA7CnZhciBpbmRleFA7CnZhciBpbmRleE8gPSAwOwoKZm9yIChpbmRleEIxID0gMHhFMDsgaW5kZXhCMSA8PSAweEVGOyBpbmRleEIxKyspIHsgICAgIAogIHZhciBoZXhCMSA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleEIxKTsKICBmb3IgKGluZGV4QjIgPSAweDgwOyBpbmRleEIyIDw9IDB4QkY7IGluZGV4QjIrKykgewogICAgaWYgKChpbmRleEIxID09PSAweEUwKSAmJiAoaW5kZXhCMiA8PSAweDlGKSkgY29udGludWU7CiAgICBpZiAoKGluZGV4QjEgPT09IDB4RUQpICYmICgweEEwIDw9IGluZGV4QjIpKSBjb250aW51ZTsgICAgICAgICAKICAgIHZhciBoZXhCMiA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleEIyKTsKICAgIGZvciAoaW5kZXhCMyA9IDB4ODA7IGluZGV4QjMgPD0gMHhCRjsgaW5kZXhCMysrKSB7CiAgICAgIGNvdW50Kys7CiAgICAgIHZhciBoZXhCMyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleEIzKTsKICAgICAgdmFyIGluZGV4ID0gKGluZGV4QjEgJiAweDBGKSAqIDB4MTAwMCArIChpbmRleEIyICYgMHgzRikgKiAweDQwICsgKGluZGV4QjMgJiAweDNGKTsgIAogICAgICB0cnkgewogICAgICAgIGlmIChkZWNvZGVVUklDb21wb25lbnQoIiUiICsgaGV4QjEuc3Vic3RyaW5nKDIpICsgIiUiICsgaGV4QjIuc3Vic3RyaW5nKDIpICsgIiUiICsgaGV4QjMuc3Vic3RyaW5nKDIpKSA9PT0gU3RyaW5nLmZyb21DaGFyQ29kZShpbmRleCkpIGNvbnRpbnVlOw0KICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICBpZiAoZSBpbnN0YW5jZW9mIFRlc3QyNjJFcnJvcikgdGhyb3cgZTsKICAgICAgfQogICAgICBpZiAoaW5kZXhPID09PSAwKSB7IAogICAgICAgIGluZGV4TyA9IGluZGV4OwogICAgICB9IGVsc2UgewogICAgICAgIGlmICgoaW5kZXggLSBpbmRleFApICE9PSAxKSB7ICAgICAgICAgICAgIAogICAgICAgICAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICAgICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAgICAgICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgICAgICAgICB9IAogICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICAgICAgICAgIH0gIAogICAgICAgICAgaW5kZXhPID0gaW5kZXg7CiAgICAgICAgfSAgICAgICAgIAogICAgICB9CiAgICAgIGluZGV4UCA9IGluZGV4OwogICAgICBlcnJvckNvdW50Kys7ICAKICAgIH0gICAgIAogIH0KfQoKaWYgKGVycm9yQ291bnQgPiAwKSB7CiAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgfSBlbHNlIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgfSAgICAgCiAgJEVSUk9SKCdUb3RhbCBlcnJvcjogJyArIGVycm9yQ291bnQgKyAnIGJhZCBVbmljb2RlIGNoYXJhY3RlciBpbiAnICsgY291bnQgKyAnICcpOwp9CgpmdW5jdGlvbiBkZWNpbWFsVG9IZXhTdHJpbmcobikgewogIG4gPSBOdW1iZXIobik7CiAgdmFyIGggPSAiIjsKICBmb3IgKHZhciBpID0gMzsgaSA+PSAwOyBpLS0pIHsKICAgIGlmIChuID49IE1hdGgucG93KDE2LCBpKSkgewogICAgICB2YXIgdCA9IE1hdGguZmxvb3IobiAvIE1hdGgucG93KDE2LCBpKSk7CiAgICAgIG4gLT0gdCAqIE1hdGgucG93KDE2LCBpKTsKICAgICAgaWYgKCB0ID49IDEwICkgewogICAgICAgIGlmICggdCA9PSAxMCApIHsgaCArPSAiQSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTEgKSB7IGggKz0gIkIiOyB9CiAgICAgICAgaWYgKCB0ID09IDEyICkgeyBoICs9ICJDIjsgfQogICAgICAgIGlmICggdCA9PSAxMyApIHsgaCArPSAiRCI7IH0KICAgICAgICBpZiAoIHQgPT0gMTQgKSB7IGggKz0gIkUiOyB9CiAgICAgICAgaWYgKCB0ID09IDE1ICkgeyBoICs9ICJGIjsgfQogICAgICB9IGVsc2UgewogICAgICAgIGggKz0gU3RyaW5nKHQpOwogICAgICB9CiAgICB9IGVsc2UgewogICAgICBoICs9ICIwIjsKICAgIH0KICB9CiAgcmV0dXJuIGg7Cn0KCg==","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+PiAxMCkgJiAweDAzRkYpICsgMHhEODAwOyAgCiAgICAgICAgdHJ5IHsKICAgICAgICAgIGlmIChkZWNvZGVVUklDb21wb25lbnQoIiUiICsgaGV4QjEuc3Vic3RyaW5nKDMpICsgIiUiICsgaGV4QjIuc3Vic3RyaW5nKDMpICsgIiUiICsgaGV4QjMuc3Vic3RyaW5nKDMpICsgIiUiICsgaGV4QjQuc3Vic3RyaW5nKDMpKSA9PT0gU3RyaW5nLmZyb21DaGFyQ29kZShIKSArIFN0cmluZy5mcm9tQ2hhckNvZGUoTCkpIGNvbnRpbnVlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgaWYgKGUgaW5zdGFuY2VvZiBUZXN0MjYyRXJyb3IpIHRocm93IGU7CiAgICAgICAgfSAgIAogICAgICAgIGlmIChpbmRleE8gPT09IDApIHsgCiAgICAgICAgICBpbmRleE8gPSBpbmRleDsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgaWYgKChpbmRleCAtIGluZGV4UCkgIT09IDEpIHsgICAgICAgICAgICAgCiAgICAgICAgICAgIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgICAgICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgICAgICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICAgICAgICAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogICAgICAgICAgICB9IAogICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICAgICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICAgICAgICAgICAgfSAgCiAgICAgICAgICAgIGluZGV4TyA9IGluZGV4OwogICAgICAgICAgfSAgICAgICAgIAogICAgICAgIH0KICAgICAgICBpbmRleFAgPSBpbmRleDsKICAgICAgICBlcnJvckNvdW50Kys7ICAKICAgICAgfQogICAgfSAgICAgCiAgfQp9CgppZiAoZXJyb3JDb3VudCA+IDApIHsKICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICB9IGVsc2UgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICB9ICAgICAKICAkRVJST1IoJ1RvdGFsIGVycm9yOiAnICsgZXJyb3JDb3VudCArICcgYmFkIFVuaWNvZGUgY2hhcmFjdGVyIGluICcgKyBjb3VudCArICcgJyk7Cn0KCmZ1bmN0aW9uIGRlY2ltYWxUb0hleFN0cmluZyhuKSB7CiAgbiA9IE51bWJlcihuKTsKICB2YXIgaCA9ICIiOwogIGZvciAodmFyIGkgPSA0OyBpID49IDA7IGktLSkgewogICAgaWYgKG4gPj0gTWF0aC5wb3coMTYsIGkpKSB7CiAgICAgIHZhciB0ID0gTWF0aC5mbG9vcihuIC8gTWF0aC5wb3coMTYsIGkpKTsKICAgICAgbiAtPSB0ICogTWF0aC5wb3coMTYsIGkpOwogICAgICBpZiAoIHQgPj0gMTAgKSB7CiAgICAgICAgaWYgKCB0ID09IDEwICkgeyBoICs9ICJBIjsgfQogICAgICAgIGlmICggdCA9PSAxMSApIHsgaCArPSAiQiI7IH0KICAgICAgICBpZiAoIHQgPT0gMTIgKSB7IGggKz0gIkMiOyB9CiAgICAgICAgaWYgKCB0ID09IDEzICkgeyBoICs9ICJEIjsgfQogICAgICAgIGlmICggdCA9PSAxNCApIHsgaCArPSAiRSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTUgKSB7IGggKz0gIkYiOyB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaCArPSBTdHJpbmcodCk7CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIGggKz0gIjAiOwogICAgfQogIH0KICByZXR1cm4gaDsKfQoK","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":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdHJpbmcuY2hhckF0KGspIGluIFsweEQ4MDAgLSAweERCRkZdIGFuZCBzdHJpbmcuY2hhckF0KGsrMSkgaW4gWzB4REMwMCDvv70gMHhERkZGXSwgcmV0dXJuIDQgb2N0ZXRzICgwMDB3d3d4eCB4eHh4eXl5eSB5eXp6enp6eiAtPiAxMTExMHd3dyAxMHh4eHh4eCAxMHl5eXl5eSAxMHp6enp6eikKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuNC9TMTUuMS4zLjRfQTIuNF9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ29tcGxleCB0ZXN0cywgdXNlIFJGQyAzNjI5LCBzdHJpbmcuY2hhckF0KGsrMSkgaW4gWzB4REMwMCwgMHhEREZGLCAweERGRkZdCiAqLwoKY2hhcnMgPSBbMHhEQzAwLCAweERERkYsIDB4REZGRl07IAplcnJvckNvdW50ID0gMDsKY291bnQgPSAwOwp2YXIgaW5kZXhQOwp2YXIgaW5kZXhPID0gMDsgCmZvciAoaW5kZXggPSAweEQ4MDA7IGluZGV4IDw9IDB4REJGRjsgaW5kZXgrKykgewogIHJlcyA9IHRydWU7CiAgZm9yIChpbmRleEMgPSAwOyBpbmRleEMgPCBjaGFycy5sZW5ndGg7IGluZGV4QysrKSB7CiAgICBpbmRleDEgPSAoaW5kZXggLSAweEQ4MDApICogMHg0MDAgKyAoY2hhcnNbaW5kZXhDXSAtIDB4REMwMCkgKyAweDEwMDAwOyAKICAgIGhleDEgPSBkZWNpbWFsVG9IZXhTdHJpbmcoMHgwMDgwICsgKGluZGV4MSAmIDB4MDAzRikpLnN1YnN0cmluZygyKTsKICAgIGhleDIgPSBkZWNpbWFsVG9IZXhTdHJpbmcoMHgwMDgwICsgKGluZGV4MSAmIDB4MEZDMCkgLyAweDAwNDApLnN1YnN0cmluZygyKTsKICAgIGhleDMgPSBkZWNpbWFsVG9IZXhTdHJpbmcoMHgwMDgwICsgKGluZGV4MSAmIDB4M0YwMDApIC8gMHgxMDAwKS5zdWJzdHJpbmcoMik7CiAgICBoZXg0ID0gZGVjaW1hbFRvSGV4U3RyaW5nKDB4MDBGMCArIChpbmRleDEgJiAweDFDMDAwMCkgLyAweDQwMDAwKS5zdWJzdHJpbmcoMik7CiAgICBzdHIgPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGluZGV4LCBjaGFyc1tpbmRleENdKTsKICAgIHRyeSB7CiAgI