test262/website/json/ch11.json

8127 lines
2.6 MiB

{
"testsCollection":{
"name":"Chapter - ch11",
"numTests":"1320",
"tests":[
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4xLzExLjEuMS8xMS4xLjEtMWdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSAndGhpcycgb2JqZWN0IGF0IHRoZSBnbG9iYWwgc2NvcGUgaXMgbm90IHVuZGVmaW5lZA0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoidXNlIHN0cmljdCI7DQppZiAodGhpcz09PXVuZGVmaW5lZCkgew0KICAgIHRocm93IE5vdEVhcmx5RXJyb3I7DQp9DQo=",
"commentary":"",
"description":"Strict Mode - 'this' object at the global scope is not undefined",
"onlyStrict":"",
"path":"TestCases/ch11/11.1/11.1.1/11.1.1-1gs.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgInRoaXMiIGlzIHJlc2VydmVkIHdvcmQKICoKICogQHBhdGggY2gxMS8xMS4xLzExLjEuMS9TMTEuMS4xX0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgInRoaXM9MSIgZmFpbHMKICogQG5lZ2F0aXZlCiAqLwoKdGhpcyA9IDE7Cgo=",
"commentary":"The \"this\" is reserved word",
"description":"Checking if execution of \"this=1\" fails",
"negative":"",
"path":"TestCases/ch11/11.1/11.1.1/S11.1.1_A1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBCZWluZyBpbiBmdW5jdGlvbiBjb2RlLCAidGhpcyIgYW5kIGV2YWwoInRoaXMiKSwgY2FsbGVkIGFzIGEgZnVuY3Rpb25zLCByZXR1cm4gdGhlIGdsb2JhbCBvYmplY3QKICoKICogQHBhdGggY2gxMS8xMS4xLzExLjEuMS9TMTEuMS4xX0EzLjEuanMKICogQGRlc2NyaXB0aW9uIENyZWF0aW5nIGZ1bmN0aW9uIHdoaWNoIHJldHVybnMgInRoaXMiIG9yIGV2YWwoInRoaXMiKQogKiBAbm9TdHJpY3QKICovCgovL0NIRUNLIzEKZnVuY3Rpb24gTXlGdW5jdGlvbigpIHtyZXR1cm4gdGhpc30KaWYgKE15RnVuY3Rpb24oKSAhPT0gdGhpcykgewogICRFUlJPUignIzE6IGZ1bmN0aW9uIE15RnVuY3Rpb24oKSB7cmV0dXJuIHRoaXN9IE15RnVuY3Rpb24oKSA9PT0gdGhpcy4gQWN0dWFsOiAnICsgKE15RnVuY3Rpb24oKSkpOwp9CgovL0NIRUNLIzIKZnVuY3Rpb24gTXlGdW5jdGlvbigpIHtyZXR1cm4gZXZhbCgidGhpcyIpfQppZiAoTXlGdW5jdGlvbigpICE9PSB0aGlzKSB7CiAgJEVSUk9SKCcjMjogZnVuY3Rpb24gTXlGdW5jdGlvbigpIHtyZXR1cm4gZXZhbCgidGhpcyIpfSBNeUZ1bmN0aW9uKCkgPT09IHRoaXMuIEFjdHVhbDogJyArIChNeUZ1bmN0aW9uKCkpKTsKfQoKCgo=",
"commentary":"Being in function code, \"this\" and eval(\"this\"), called as a functions, return the global object",
"description":"Creating function which returns \"this\" or eval(\"this\")",
"noStrict":"",
"path":"TestCases/ch11/11.1/11.1.1/S11.1.1_A3.1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBCZWluZyBpbiBmdW5jdGlvbiBjb2RlLCAidGhpcyIgYW5kIGV2YWwoInRoaXMiKSwgY2FsbGVkIGFzIGEgY29uc3RydWN0b3JzLCByZXR1cm4gdGhlIG9iamVjdAogKgogKiBAcGF0aCBjaDExLzExLjEvMTEuMS4xL1MxMS4xLjFfQTMuMi5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRlIGZ1bmN0aW9uLiBJdCBoYXZlIHByb3BlcnR5LCB0aGF0IHJldHVybmVkICJ0aGlzIgogKiBAbm9TdHJpY3QKICovCgovL0NIRUNLIzEKZnVuY3Rpb24gTXlGdW5jdGlvbigpIHt0aGlzLlRISVMgPSB0aGlzfQppZiAoKG5ldyBNeUZ1bmN0aW9uKCkpLlRISVMudG9TdHJpbmcoKSAhPT0gIltvYmplY3QgT2JqZWN0XSIpIHsKICAkRVJST1IoJyMxOiBmdW5jdGlvbiBNeUZ1bmN0aW9uKCkge3RoaXMuVEhJUyA9IHRoaXN9IChuZXcgTXlGdW5jdGlvbigpKS5USElTLnRvU3RyaW5nKCkgIT09ICJbb2JqZWN0IE9iamVjdF0iLiBBY3R1YWw6ICcgKyAoKG5ldyBNeUZ1bmN0aW9uKCkpLlRISVMudG9TdHJpbmcoKSkpOwp9CgovL0NIRUNLIzIKZnVuY3Rpb24gTXlGdW5jdGlvbigpIHt0aGlzLlRISVMgPSBldmFsKCJ0aGlzIil9CmlmICgobmV3IE15RnVuY3Rpb24oKSkuVEhJUy50b1N0cmluZygpICE9PSAiW29iamVjdCBPYmplY3RdIikgewogICRFUlJPUignIzI6IGZ1bmN0aW9uIE15RnVuY3Rpb24oKSB7dGhpcy5USElTID0gZXZhbCgidGhpcyIpfSAobmV3IE15RnVuY3Rpb24oKSkuVEhJUy50b1N0cmluZygpICE9PSAiW29iamVjdCBPYmplY3RdIi4gQWN0dWFsOiAnICsgKChuZXcgTXlGdW5jdGlvbigpKS5USElTLnRvU3RyaW5nKCkpKTsKfQoKCg==",
"commentary":"Being in function code, \"this\" and eval(\"this\"), called as a constructors, return the object",
"description":"Create function. It have property, that returned \"this\"",
"noStrict":"",
"path":"TestCases/ch11/11.1/11.1.1/S11.1.1_A3.2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBCZWluZyBpbiBhbm9ueW1vdXMgY29kZSwgInRoaXMiIGFuZCBldmFsKCJ0aGlzIiksIGNhbGxlZCBhcyBhIGZ1bmN0aW9uLCByZXR1cm4gdGhlIGdsb2JhbCBvYmplY3QKICoKICogQHBhdGggY2gxMS8xMS4xLzExLjEuMS9TMTEuMS4xX0E0LjEuanMKICogQGRlc2NyaXB0aW9uIENyZWF0aW5nIGZ1bmN0aW9uIHdpdGggbmV3IEZ1bmN0aW9uKCkgY29uc3RydWN0b3IKICovCgovL0NIRUNLIzEKdmFyIE15RnVuY3Rpb24gPSBuZXcgRnVuY3Rpb24oInJldHVybiB0aGlzIik7CmlmIChNeUZ1bmN0aW9uKCkgIT09IHRoaXMpIHsKICAkRVJST1IoJyMxOiB2YXIgTXlGdW5jdGlvbiA9IG5ldyBGdW5jdGlvbigicmV0dXJuIHRoaXMiKTsgTXlGdW5jdGlvbigpID09PSB0aGlzLiBBY3R1YWw6ICcgKyAoTXlGdW5jdGlvbigpKSk7Cn0KCi8vQ0hFQ0sjMgpNeUZ1bmN0aW9uID0gbmV3IEZ1bmN0aW9uKCJyZXR1cm4gZXZhbChcJ3RoaXNcJykiKTsKaWYgKE15RnVuY3Rpb24oKSAhPT0gdGhpcykgewogICRFUlJPUignIzI6IHZhciBNeUZ1bmN0aW9uID0gbmV3IEZ1bmN0aW9uKCJyZXR1cm4gZXZhbChcJ3RoaXNcJykiKTsgTXlGdW5jdGlvbigpID09PSB0aGlzLiBBY3R1YWw6ICcgKyAoTXlGdW5jdGlvbigpKSk7Cn0KCgoK",
"commentary":"Being in anonymous code, \"this\" and eval(\"this\"), called as a function, return the global object",
"description":"Creating function with new Function() constructor",
"path":"TestCases/ch11/11.1/11.1.1/S11.1.1_A4.1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBCZWluZyBpbiBhbm9ueW1vdXMgY29kZSwgInRoaXMiIGFuZCBldmFsKCJ0aGlzIiksIGNhbGxlZCBhcyBhIGNvbnN0cnVjdG9yLCByZXR1cm4gdGhlIG9iamVjdAogKgogKiBAcGF0aCBjaDExLzExLjEvMTEuMS4xL1MxMS4xLjFfQTQuMi5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRpbmcgZnVuY3Rpb24gYnkgdXNpbmcgbmV3IEZ1bmN0aW9uKCkgY29uc3RydWN0b3IuIEl0IGhhcyB0aGUgcHJvcGVydHksIHdoaWNoIHJldHVybnMgInRoaXMiCiAqLwoKLy9DSEVDSyMxCnZhciBNeUZ1bmN0aW9uID0gbmV3IEZ1bmN0aW9uKCJ0aGlzLlRISVMgPSB0aGlzIik7CnZhciBNeU9iamVjdCA9IG5ldyBNeUZ1bmN0aW9uKCk7CmlmIChNeU9iamVjdC5USElTLnRvU3RyaW5nKCkgIT09ICJbb2JqZWN0IE9iamVjdF0iKSB7CiAgJEVSUk9SKCcjMTogdmFyIE15RnVuY3Rpb24gPSBuZXcgRnVuY3Rpb24oInRoaXMuVEhJUyA9IHRoaXMiKTsgdmFyIE15T2JqZWN0ID0gbmV3IE15RnVuY3Rpb24oKTsgTXlPYmplY3QuVEhJUy50b1N0cmluZygpID09PSAiW29iamVjdCBPYmplY3RdIi4gQWN0dWFsOiAnICsgKE15T2JqZWN0LlRISVMudG9TdHJpbmcoKSkpOwp9CgovL0NIRUNLIzIKTXlGdW5jdGlvbiA9IG5ldyBGdW5jdGlvbigidGhpcy5USElTID0gZXZhbChcJ3RoaXNcJykiKTsKTXlPYmplY3QgPSBuZXcgTXlGdW5jdGlvbigpOwppZiAoTXlPYmplY3QuVEhJUy50b1N0cmluZygpICE9PSAiW29iamVjdCBPYmplY3RdIikgewogICRFUlJPUignIzI6IHZhciBNeUZ1bmN0aW9uID0gbmV3IEZ1bmN0aW9uKCJ0aGlzLlRISVMgPSBldmFsKFwndGhpc1wnKSIpOyB2YXIgTXlPYmplY3QgPSBuZXcgTXlGdW5jdGlvbigpOyBNeU9iamVjdC5USElTLnRvU3RyaW5nKCkgPT09ICJbb2JqZWN0IE9iamVjdF0iLiBBY3R1YWw6ICcgKyAoTXlPYmplY3QuVEhJUy50b1N0cmluZygpKSk7Cn0KCgo=",
"commentary":"Being in anonymous code, \"this\" and eval(\"this\"), called as a constructor, return the object",
"description":"Creating function by using new Function() constructor. It has the property, which returns \"this\"",
"path":"TestCases/ch11/11.1/11.1.1/S11.1.1_A4.2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcgYW4gSWRlbnRpZmllciBpcyBhbHdheXMgYSB2YWx1ZSBvZiB0eXBlIFJlZmVyZW5jZQogKgogKiBAcGF0aCBjaDExLzExLjEvMTEuMS4yL1MxMS4xLjJfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIENyZWF0aW5nIHZhcmlhYmxlcyB3aXRob3V0IGRlZmluaW5nIGl0CiAqLwoKLy9DSEVDSyMxCmlmICh0aGlzLnggIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6IHRoaXMueCA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAodGhpcy54KSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgb2JqZWN0ID0gbmV3IE9iamVjdCgpOwppZiAob2JqZWN0LnByb3AgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzI6IHZhciBvYmplY3QgPSBuZXcgT2JqZWN0KCk7IG9iamVjdC5wcm9wID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChvYmplY3QucHJvcCkpOwp9CgovL0NIRUNLIzMKdGhpcy55Kys7CmlmIChpc05hTih5KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IHRoaXMueSsrOyB5ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh5KSk7Cn0KCg==",
"commentary":"The result of evaluating an Identifier is always a value of type Reference",
"description":"Creating variables without defining it",
"path":"TestCases/ch11/11.1/11.1.2/S11.1.2_A1_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcgYW4gSWRlbnRpZmllciBpcyBhbHdheXMgYSB2YWx1ZSBvZiB0eXBlIFJlZmVyZW5jZQogKgogKiBAcGF0aCBjaDExLzExLjEvMTEuMS4yL1MxMS4xLjJfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIFRyeWluZyB0byBnZW5lcmF0ZSBSZWZlcmVuY2VFcnJvcgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHRoaXMuejsKICB6OwogICRFUlJPUignIzEuMTogdGhpcy56OyB6ID09PSB1bmRlZmluZWQgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArICh6KSk7Cn0gY2F0Y2goZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiB0aGlzLno7IHogPT09IHVuZGVmaW5lZCB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCg==",
"commentary":"The result of evaluating an Identifier is always a value of type Reference",
"description":"Trying to generate ReferenceError",
"path":"TestCases/ch11/11.1/11.1.2/S11.1.2_A1_T2.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4xLzExLjEuNC8xMS4xLjQtMC5qcw0KICogQGRlc2NyaXB0aW9uIGVsZW1lbnRzIGVsaWRlZCBhdCB0aGUgZW5kIG9mIGFuIGFycmF5IGRvIG5vdCBjb250cmlidXRlIHRvIGl0cyBsZW5ndGgNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYSA9IFssXTsNCiAgaWYgKGEubGVuZ3RoID09PSAxKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=",
"commentary":"",
"description":"elements elided at the end of an array do not contribute to its length",
"path":"TestCases/ch11/11.1/11.1.4/11.1.4-0.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogUmVmZXIgMTEuMS40OyANCiAqIFRoZSBwcm9kdWN0aW9uDQogKiBFbGVtZW50TGlzdCA6IEVsaXNpb25vcHQgQXNzaWdubWVudEV4cHJlc3Npb24NCiAqIDUuQ2FsbCB0aGUgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIGludGVybmFsIG1ldGhvZCBvZiBhcnJheSB3aXRoIGFyZ3VtZW50cyBUb1N0cmluZyhmaXJzdEluZGV4KSwgdGhlIFByb3BlcnR5IERlc2NyaXB0b3IgeyBbW1ZhbHVlXV06IGluaXRWYWx1ZSwgW1tXcml0YWJsZV1dOiB0cnVlDQogKiAgICAgLCBbW0VudW1lcmFibGVdXTogdHJ1ZSwgW1tDb25maWd1cmFibGVdXTogdHJ1ZX0sIGFuZCBmYWxzZS4NCiAqDQogKiBAcGF0aCBjaDExLzExLjEvMTEuMS40LzExLjEuNF80LTUtMS5qcw0KICogQGRlc2NyaXB0aW9uIEluaXRpYWxpemUgYXJyYXkgdXNpbmcgRWxlbWVudExpc3QgKEVsaXNpb25vcHQgQXNzaWdubWVudEV4cHJlc3Npb24pIHdoZW4gaW5kZXggcHJvcGVydHkgKHJlYWQtb25seSkgZXhpc3RzIGluIEFycmF5LnByb3RvdHlwZSAoc3RlcCA1KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTAwLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgdmFyIGFyciA9IFsxMDFdOw0KDQogICAgICAgICAgICByZXR1cm4gYXJyLmhhc093blByb3BlcnR5KCIwIikgJiYgYXJyWzBdID09PSAxMDE7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K",
"commentary":"Refer 11.1.4;\nThe production\nElementList : Elisionopt AssignmentExpression\n5.Call the [[DefineOwnProperty]] internal method of array with arguments ToString(firstIndex), the Property Descriptor { [[Value]]: initValue, [[Writable]]: true\n , [[Enumerable]]: true, [[Configurable]]: true}, and false.",
"description":"Initialize array using ElementList (Elisionopt AssignmentExpression) when index property (read-only) exists in Array.prototype (step 5)",
"path":"TestCases/ch11/11.1/11.1.4/11.1.4_4-5-1.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogUmVmZXIgMTEuMS40OyANCiAqIFRoZSBwcm9kdWN0aW9uDQogKiBFbGVtZW50TGlzdCA6IEVsZW1lbnRMaXN0ICwgRWxpc2lvbm9wdCBBc3NpZ25tZW50RXhwcmVzc2lvbg0KICogNi5DYWxsIHRoZSBbW0RlZmluZU93blByb3BlcnR5XV0gaW50ZXJuYWwgbWV0aG9kIG9mIGFycmF5IHdpdGggYXJndW1lbnRzIFRvU3RyaW5nKFRvVWludDMyKChwYWQrbGVuKSkgYW5kIHRoZSBQcm9wZXJ0eSBEZXNjcmlwdG9yIHsgW1tWYWx1ZV1dOiBpbml0VmFsdWUNCiAqICAgICAsIFtbV3JpdGFibGVdXTogdHJ1ZSwgW1tFbnVtZXJhYmxlXV06IHRydWUsIFtbQ29uZmlndXJhYmxlXV06IHRydWV9LCBhbmQgZmFsc2UuDQogKg0KICogQHBhdGggY2gxMS8xMS4xLzExLjEuNC8xMS4xLjRfNS02LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBJbml0aWFsaXplIGFycmF5IHVzaW5nIEVsZW1lbnRMaXN0IChFbGVtZW50TGlzdCAsIEVsaXNpb25vcHQgQXNzaWdubWVudEV4cHJlc3Npb24pIHdoZW4gaW5kZXggcHJvcGVydHkgKHJlYWQtb25seSkgZXhpc3RzIGluIEFycmF5LnByb3RvdHlwZSAoc3RlcCA2KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMSIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTAwLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgdmFyIGFyciA9IFsxMDEsIDEyXTsNCg0KICAgICAgICAgICAgcmV0dXJuIGFyci5oYXNPd25Qcm9wZXJ0eSgiMSIpICYmIGFyclsxXSA9PT0gMTI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K",
"commentary":"Refer 11.1.4;\nThe production\nElementList : ElementList , Elisionopt AssignmentExpression\n6.Call the [[DefineOwnProperty]] internal method of array with arguments ToString(ToUint32((pad+len)) and the Property Descriptor { [[Value]]: initValue\n , [[Writable]]: true, [[Enumerable]]: true, [[Configurable]]: true}, and false.",
"description":"Initialize array using ElementList (ElementList , Elisionopt AssignmentExpression) when index property (read-only) exists in Array.prototype (step 6)",
"path":"TestCases/ch11/11.1/11.1.4/11.1.4_5-6-1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFdmFsdWF0ZSB0aGUgcHJvZHVjdGlvbiBBcnJheUxpdGVyYWw6IFsgXQogKgogKiBAcGF0aCBjaDExLzExLjEvMTEuMS40L1MxMS4xLjRfQTEuMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdmFyaW91cyBwcm9wZXJ0aWVzIG9mIHRoZSBhcnJheSBkZWZpbmVkIHdpdGggZXhwcmVzc2lvbiAidmFyIGFycmF5ID0gW10iCiAqLwoKdmFyIGFycmF5ID0gW107CgovL0NIRUNLIzEKaWYgKHR5cGVvZiBhcnJheSAhPT0gIm9iamVjdCIpIHsKICAkRVJST1IoJyMxOiB2YXIgYXJyYXkgPSBbXTsgdHlwZW9mIGFycmF5ID09PSAib2JqZWN0Ii4gQWN0dWFsOiAnICsgKHR5cGVvZiBhcnJheSkpOwp9CgovL0NIRUNLIzIKaWYgKGFycmF5IGluc3RhbmNlb2YgQXJyYXkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB2YXIgYXJyYXkgPSBbXTsgYXJyYXkgaW5zdGFuY2VvZiBBcnJheSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzMKaWYgKGFycmF5LnRvU3RyaW5nICE9PSBBcnJheS5wcm90b3R5cGUudG9TdHJpbmcpIHsKICAkRVJST1IoJyMzOiB2YXIgYXJyYXkgPSBbXTsgYXJyYXkudG9TdHJpbmcgPT09IEFycmF5LnByb3RvdHlwZS50b1N0cmluZy4gQWN0dWFsOiAnICsgKGFycmF5LnRvU3RyaW5nKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoYXJyYXkubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogdmFyIGFycmF5ID0gW107IGFycmF5Lmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnICsgKGFycmF5Lmxlbmd0aCkpOwp9Cgo=",
"commentary":"Evaluate the production ArrayLiteral: [ ]",
"description":"Checking various properties of the array defined with expression \"var array = []\"",
"path":"TestCases/ch11/11.1/11.1.4/S11.1.4_A1.1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFdmFsdWF0ZSB0aGUgcHJvZHVjdGlvbiBBcnJheUxpdGVyYWw6IFsgRWxpc2lvbiBdCiAqCiAqIEBwYXRoIGNoMTEvMTEuMS8xMS4xLjQvUzExLjEuNF9BMS4yLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB2YXJpb3VzIHByb3BlcnRpZXMgdGhlIGFycmF5IGRlZmluZWQgd2l0aCAidmFyIGFycmF5ID0gWywsLCwsXSIKICovCgp2YXIgYXJyYXkgPSBbLCwsLCxdOwoKLy9DSEVDSyMxCmlmICh0eXBlb2YgYXJyYXkgIT09ICJvYmplY3QiKSB7CiAgJEVSUk9SKCcjMTogdmFyIGFycmF5ID0gWywsLCwsXTsgdHlwZW9mIGFycmF5ID09PSAib2JqZWN0Ii4gQWN0dWFsOiAnICsgKHR5cGVvZiBhcnJheSkpOwp9CgovL0NIRUNLIzIKaWYgKGFycmF5IGluc3RhbmNlb2YgQXJyYXkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB2YXIgYXJyYXkgPSBbLCwsLCxdOyBhcnJheSBpbnN0YW5jZW9mIEFycmF5ID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoYXJyYXkudG9TdHJpbmcgIT09IEFycmF5LnByb3RvdHlwZS50b1N0cmluZykgewogICRFUlJPUignIzM6IHZhciBhcnJheSA9IFssLCwsLF07IGFycmF5LnRvU3RyaW5nID09PSBBcnJheS5wcm90b3R5cGUudG9TdHJpbmcuIEFjdHVhbDogJyArIChhcnJheS50b1N0cmluZykpOwp9CgovL0NIRUNLIzQKaWYgKGFycmF5Lmxlbmd0aCAhPT0gNSkgewogICRFUlJPUignIzQ6IHZhciBhcnJheSA9IFssLCwsLF07IGFycmF5Lmxlbmd0aCA9PT0gNS4gQWN0dWFsOiAnICsgKGFycmF5Lmxlbmd0aCkpOwp9Cgo=",
"commentary":"Evaluate the production ArrayLiteral: [ Elision ]",
"description":"Checking various properties the array defined with \"var array = [,,,,,]\"",
"path":"TestCases/ch11/11.1/11.1.4/S11.1.4_A1.2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFdmFsdWF0ZSB0aGUgcHJvZHVjdGlvbiBBcnJheUxpdGVyYWw6IFsgQXNzaWdubWVudEV4cHJlc3Npb24gXQogKgogKiBAcGF0aCBjaDExLzExLjEvMTEuMS40L1MxMS4xLjRfQTEuMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdmFyaW91cyBwcm9wZXJ0ZWlzIGFuZCBjb250ZW50cyBvZiB0aGUgYXJyYXkgZGVmaW5lZCB3aXRoICJ2YXIgYXJyYXkgPSBbMSwyLDMsNCw1XSIKICovCgp2YXIgYXJyYXkgPSBbMSwyLDMsNCw1XTsKCi8vQ0hFQ0sjMQppZiAodHlwZW9mIGFycmF5ICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzE6IHZhciBhcnJheSA9IFsxLDIsMyw0LDVdOyB0eXBlb2YgYXJyYXkgPT09ICJvYmplY3QiLiBBY3R1YWw6ICcgKyAodHlwZW9mIGFycmF5KSk7Cn0KCi8vQ0hFQ0sjMgppZiAoYXJyYXkgaW5zdGFuY2VvZiBBcnJheSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHZhciBhcnJheSA9IFsxLDIsMyw0LDVdOyBhcnJheSBpbnN0YW5jZW9mIEFycmF5ID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoYXJyYXkudG9TdHJpbmcgIT09IEFycmF5LnByb3RvdHlwZS50b1N0cmluZykgewogICRFUlJPUignIzM6IHZhciBhcnJheSA9IFsxLDIsMyw0LDVdOyBhcnJheS50b1N0cmluZyA9PT0gQXJyYXkucHJvdG90eXBlLnRvU3RyaW5nLiBBY3R1YWw6ICcgKyAoYXJyYXkudG9TdHJpbmcpKTsKfQoKLy9DSEVDSyM0CmlmIChhcnJheS5sZW5ndGggIT09IDUpIHsKICAkRVJST1IoJyM0OiB2YXIgYXJyYXkgPSBbMSwyLDMsNCw1XTsgYXJyYXkubGVuZ3RoID09PSA1LiBBY3R1YWw6ICcgKyAoYXJyYXkubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjNQppZiAoYXJyYXlbMF0gIT09IDEpIHsKICAkRVJST1IoJyM1OiB2YXIgYXJyYXkgPSBbMSwyLDMsNCw1XTsgYXJyYXlbMF0gPT09IDEuIEFjdHVhbDogJyArIChhcnJheVswXSkpOwp9CgovL0NIRUNLIzYKaWYgKGFycmF5WzFdICE9PSAyKSB7CiAgJEVSUk9SKCcjNjogdmFyIGFycmF5ID0gWzEsMiwzLDQsNV07IGFycmF5WzFdID09PSAyLiBBY3R1YWw6ICcgKyAoYXJyYXlbMV0pKTsKfQoKLy9DSEVDSyM3CmlmIChhcnJheVsyXSAhPT0gMykgewogICRFUlJPUignIzc6IHZhciBhcnJheSA9IFsxLDIsMyw0LDVdOyBhcnJheVsyXSA9PT0gMy4gQWN0dWFsOiAnICsgKGFycmF5WzJdKSk7Cn0KCi8vQ0hFQ0sjOAppZiAoYXJyYXlbM10gIT09IDQpIHsKICAkRVJST1IoJyM4OiB2YXIgYXJyYXkgPSBbMSwyLDMsNCw1XTsgYXJyYXlbM10gPT09IDQuIEFjdHVhbDogJyArIChhcnJheVszXSkpOwp9CgovL0NIRUNLIzkKaWYgKGFycmF5WzRdICE9PSA1KSB7CiAgJEVSUk9SKCcjOTogdmFyIGFycmF5ID0gWzEsMiwzLDQsNV07IGFycmF5WzRdID09PSA1LiBBY3R1YWw6ICcgKyAoYXJyYXlbNF0pKTsKfQoK",
"commentary":"Evaluate the production ArrayLiteral: [ AssignmentExpression ]",
"description":"Checking various properteis and contents of the array defined with \"var array = [1,2,3,4,5]\"",
"path":"TestCases/ch11/11.1/11.1.4/S11.1.4_A1.3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFdmFsdWF0ZSB0aGUgcHJvZHVjdGlvbiBBcnJheUxpdGVyYWw6IFsgRWxpc2lvbiwgQXNzaWdubWVudEV4cHJlc3Npb24gXQogKgogKiBAcGF0aCBjaDExLzExLjEvMTEuMS40L1MxMS4xLjRfQTEuNC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdmFyaW91cyBwcm9wZXJ0ZWlzIGFuZCBjb250ZW50IG9mIHRoZSBhcnJheSBkZWZpbmVkIHdpdGggInZhciBhcnJheSA9IFssLCwxLDJdIgogKi8KCnZhciBhcnJheSA9IFssLCwxLDJdOwoKLy9DSEVDSyMxCmlmICh0eXBlb2YgYXJyYXkgIT09ICJvYmplY3QiKSB7CiAgJEVSUk9SKCcjMTogdmFyIGFycmF5ID0gWywsLDEsMl07IHR5cGVvZiBhcnJheSA9PT0gIm9iamVjdCIuIEFjdHVhbDogJyArICh0eXBlb2YgYXJyYXkpKTsKfQoKLy9DSEVDSyMyCmlmIChhcnJheSBpbnN0YW5jZW9mIEFycmF5ICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogdmFyIGFycmF5ID0gWywsLDEsMl07IGFycmF5IGluc3RhbmNlb2YgQXJyYXkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMzCmlmIChhcnJheS50b1N0cmluZyAhPT0gQXJyYXkucHJvdG90eXBlLnRvU3RyaW5nKSB7CiAgJEVSUk9SKCcjMzogdmFyIGFycmF5ID0gWywsLDEsMl07IGFycmF5LnRvU3RyaW5nID09PSBBcnJheS5wcm90b3R5cGUudG9TdHJpbmcuIEFjdHVhbDogJyArIChhcnJheS50b1N0cmluZykpOwp9CgovL0NIRUNLIzQKaWYgKGFycmF5Lmxlbmd0aCAhPT0gNSkgewogICRFUlJPUignIzQ6IHZhciBhcnJheSA9IFssLCwxLDJdOyBhcnJheS5sZW5ndGggPT09IDUuIEFjdHVhbDogJyArIChhcnJheS5sZW5ndGgpKTsKfQoKLy9DSEVDSyM1CmlmIChhcnJheVswXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjNTogdmFyIGFycmF5ID0gWywsLDEsMl07IGFycmF5WzBdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChhcnJheVswXSkpOwp9CgovL0NIRUNLIzYKaWYgKGFycmF5WzFdICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyM2OiB2YXIgYXJyYXkgPSBbLCwsMSwyXTsgYXJyYXlbMV0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKGFycmF5WzFdKSk7Cn0KCi8vQ0hFQ0sjNwppZiAoYXJyYXlbMl0gIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzc6IHZhciBhcnJheSA9IFssLCwxLDJdOyBhcnJheVsyXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoYXJyYXlbMl0pKTsKfQoKLy9DSEVDSyM4CmlmIChhcnJheVszXSAhPT0gMSkgewogICRFUlJPUignIzg6IHZhciBhcnJheSA9IFssLCwxLDJdOyBhcnJheVszXSA9PT0gMS4gQWN0dWFsOiAnICsgKGFycmF5WzNdKSk7Cn0KCi8vQ0hFQ0sjOQppZiAoYXJyYXlbNF0gIT09IDIpIHsKICAkRVJST1IoJyM5OiB2YXIgYXJyYXkgPSBbLCwsMSwyXTsgYXJyYXlbNF0gPT09IDIuIEFjdHVhbDogJyArIChhcnJheVs0XSkpOwp9Cgo=",
"commentary":"Evaluate the production ArrayLiteral: [ Elision, AssignmentExpression ]",
"description":"Checking various properteis and content of the array defined with \"var array = [,,,1,2]\"",
"path":"TestCases/ch11/11.1/11.1.4/S11.1.4_A1.4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFdmFsdWF0ZSB0aGUgcHJvZHVjdGlvbiBBcnJheUxpdGVyYWw6IFsgQXNzaWdubWVudEV4cHJlc3Npb24sIEVsaXNpb24gXQogKgogKiBAcGF0aCBjaDExLzExLjEvMTEuMS40L1MxMS4xLjRfQTEuNS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdmFyaW91cyBwcm9wZXJ0ZWlzIGFuZCBjb250ZW50cyBvZiB0aGUgYXJyYXkgZGVmaW5lZCB3aXRoICJ2YXIgYXJyYXkgPSBbNCw1LCwsLF0iCiAqLwoKdmFyIGFycmF5ID0gWzQsNSwsLCxdOwoKLy9DSEVDSyMxCmlmICh0eXBlb2YgYXJyYXkgIT09ICJvYmplY3QiKSB7CiAgJEVSUk9SKCcjMTogdmFyIGFycmF5ID0gWzQsNSwsLCxdOyB0eXBlb2YgYXJyYXkgPT09ICJvYmplY3QiLiBBY3R1YWw6ICcgKyAodHlwZW9mIGFycmF5KSk7Cn0KCi8vQ0hFQ0sjMgppZiAoYXJyYXkgaW5zdGFuY2VvZiBBcnJheSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHZhciBhcnJheSA9IFs0LDUsLCwsXTsgYXJyYXkgaW5zdGFuY2VvZiBBcnJheSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzMKaWYgKGFycmF5LnRvU3RyaW5nICE9PSBBcnJheS5wcm90b3R5cGUudG9TdHJpbmcpIHsKICAkRVJST1IoJyMzOiB2YXIgYXJyYXkgPSBbNCw1LCwsLF07IGFycmF5LnRvU3RyaW5nID09PSBBcnJheS5wcm90b3R5cGUudG9TdHJpbmcuIEFjdHVhbDogJyArIChhcnJheS50b1N0cmluZykpOwp9CgovL0NIRUNLIzQKaWYgKGFycmF5Lmxlbmd0aCAhPT0gNSkgewogICRFUlJPUignIzQ6IHZhciBhcnJheSA9IFs0LDUsLCwsXTsgYXJyYXkubGVuZ3RoID09PSA1LiBBY3R1YWw6ICcgKyAoYXJyYXkubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjNQppZiAoYXJyYXlbMF0gIT09IDQpIHsKICAkRVJST1IoJyM1OiB2YXIgYXJyYXkgPSBbNCw1LCwsLF07IGFycmF5WzBdID09PSA0LiBBY3R1YWw6ICcgKyAoYXJyYXlbMF0pKTsKfQoKLy9DSEVDSyM2CmlmIChhcnJheVsxXSAhPT0gNSkgewogICRFUlJPUignIzY6IHZhciBhcnJheSA9IFs0LDUsLCwsXTsgYXJyYXlbMV0gPT09IDUuIEFjdHVhbDogJyArIChhcnJheVsxXSkpOwp9CgovL0NIRUNLIzcKaWYgKGFycmF5WzJdICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyM3OiB2YXIgYXJyYXkgPSBbNCw1LCwsLF07IGFycmF5WzJdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChhcnJheVsyXSkpOwp9CgovL0NIRUNLIzgKaWYgKGFycmF5WzNdICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyM4OiB2YXIgYXJyYXkgPSBbNCw1LCwsLF07IGFycmF5WzNdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChhcnJheVszXSkpOwp9CgovL0NIRUNLIzkKaWYgKGFycmF5WzRdICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyM5OiB2YXIgYXJyYXkgPSBbNCw1LCwsLF07IGFycmF5WzRdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChhcnJheVs0XSkpOwp9Cgo=",
"commentary":"Evaluate the production ArrayLiteral: [ AssignmentExpression, Elision ]",
"description":"Checking various properteis and contents of the array defined with \"var array = [4,5,,,,]\"",
"path":"TestCases/ch11/11.1/11.1.4/S11.1.4_A1.5.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFdmFsdWF0ZSB0aGUgcHJvZHVjdGlvbiBBcnJheUxpdGVyYWw6IFsgRWxpc2lvbiwgQXNzaWdubWVudEV4cHJlc3Npb24sIEVsaXNpb24gXQogKgogKiBAcGF0aCBjaDExLzExLjEvMTEuMS40L1MxMS4xLjRfQTEuNi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdmFyaW91cyBwcm9wZXJ0ZWlzIGFuZCBjb250ZW50cyBvZiB0aGUgYXJyYXkgZGVmaW5lZCB3aXRoICJ2YXIgYXJyYXkgPSBbLCwzLCwsXSIKICovCgp2YXIgYXJyYXkgPSBbLCwzLCwsXTsKCi8vQ0hFQ0sjMQppZiAodHlwZW9mIGFycmF5ICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzE6IHZhciBhcnJheSA9IFssLDMsLCxdOyB0eXBlb2YgYXJyYXkgPT09ICJvYmplY3QiLiBBY3R1YWw6ICcgKyAodHlwZW9mIGFycmF5KSk7Cn0KCi8vQ0hFQ0sjMgppZiAoYXJyYXkgaW5zdGFuY2VvZiBBcnJheSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHZhciBhcnJheSA9IFssLDMsLCxdOyBhcnJheSBpbnN0YW5jZW9mIEFycmF5ID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoYXJyYXkudG9TdHJpbmcgIT09IEFycmF5LnByb3RvdHlwZS50b1N0cmluZykgewogICRFUlJPUignIzM6IHZhciBhcnJheSA9IFssLDMsLCxdOyBhcnJheS50b1N0cmluZyA9PT0gQXJyYXkucHJvdG90eXBlLnRvU3RyaW5nLiBBY3R1YWw6ICcgKyAoYXJyYXkudG9TdHJpbmcpKTsKfQoKLy9DSEVDSyM0CmlmIChhcnJheS5sZW5ndGggIT09IDUpIHsKICAkRVJST1IoJyM0OiB2YXIgYXJyYXkgPSBbLCwzLCwsXTsgYXJyYXkubGVuZ3RoID09PSA1LiBBY3R1YWw6ICcgKyAoYXJyYXkubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjNQppZiAoYXJyYXlbMF0gIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzU6IHZhciBhcnJheSA9IFssLDMsLCxdOyBhcnJheVswXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoYXJyYXlbMF0pKTsKfQoKLy9DSEVDSyM2CmlmIChhcnJheVsxXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjNjogdmFyIGFycmF5ID0gWywsMywsLF07IGFycmF5WzFdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChhcnJheVsxXSkpOwp9CgovL0NIRUNLIzcKaWYgKGFycmF5WzJdICE9PSAzKSB7CiAgJEVSUk9SKCcjNzogdmFyIGFycmF5ID0gWywsMywsLF07IGFycmF5WzJdID09PSAzLiBBY3R1YWw6ICcgKyAoYXJyYXlbMl0pKTsKfQoKLy9DSEVDSyM4CmlmIChhcnJheVszXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjODogdmFyIGFycmF5ID0gWywsMywsLF07IGFycmF5WzNdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChhcnJheVszXSkpOwp9CgovL0NIRUNLIzkKaWYgKGFycmF5WzRdICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyM5OiB2YXIgYXJyYXkgPSBbLCwzLCwsXTsgYXJyYXlbNF0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKGFycmF5WzRdKSk7Cn0KCg==",
"commentary":"Evaluate the production ArrayLiteral: [ Elision, AssignmentExpression, Elision ]",
"description":"Checking various properteis and contents of the array defined with \"var array = [,,3,,,]\"",
"path":"TestCases/ch11/11.1/11.1.4/S11.1.4_A1.6.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFdmFsdWF0ZSB0aGUgcHJvZHVjdGlvbiBBcnJheUxpdGVyYWw6IFsgQXNzaWdubWVudEV4cHJlc3Npb24sIEVsaXNpb24sIEFzc2lnbm1lbnRFeHByZXNzaW9uIF0KICoKICogQHBhdGggY2gxMS8xMS4xLzExLjEuNC9TMTEuMS40X0ExLjcuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHZhcmlvdXMgcHJvcGVydGVpcyBhbmQgY29udGVudHMgb2YgdGhlIGFycmF5IGRlZmluZWQgd2l0aCAidmFyIGFycmF5ID0gWzEsMiwsNCw1XSIKICovCgp2YXIgYXJyYXkgPSBbMSwyLCw0LDVdOwoKLy9DSEVDSyMxCmlmICh0eXBlb2YgYXJyYXkgIT09ICJvYmplY3QiKSB7CiAgJEVSUk9SKCcjMTogdmFyIGFycmF5ID0gWzEsMiwsNCw1XTsgdHlwZW9mIGFycmF5ID09PSAib2JqZWN0Ii4gQWN0dWFsOiAnICsgKHR5cGVvZiBhcnJheSkpOwp9CgovL0NIRUNLIzIKaWYgKGFycmF5IGluc3RhbmNlb2YgQXJyYXkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB2YXIgYXJyYXkgPSBbMSwyLCw0LDVdOyBhcnJheSBpbnN0YW5jZW9mIEFycmF5ID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoYXJyYXkudG9TdHJpbmcgIT09IEFycmF5LnByb3RvdHlwZS50b1N0cmluZykgewogICRFUlJPUignIzM6IHZhciBhcnJheSA9IFsxLDIsLDQsNV07IGFycmF5LnRvU3RyaW5nID09PSBBcnJheS5wcm90b3R5cGUudG9TdHJpbmcuIEFjdHVhbDogJyArIChhcnJheS50b1N0cmluZykpOwp9CgovL0NIRUNLIzQKaWYgKGFycmF5Lmxlbmd0aCAhPT0gNSkgewogICRFUlJPUignIzQ6IHZhciBhcnJheSA9IFsxLDIsLDQsNV07IGFycmF5Lmxlbmd0aCA9PT0gNS4gQWN0dWFsOiAnICsgKGFycmF5Lmxlbmd0aCkpOwp9CgovL0NIRUNLIzUKaWYgKGFycmF5WzBdICE9PSAxKSB7CiAgJEVSUk9SKCcjNTogdmFyIGFycmF5ID0gWzEsMiwsNCw1XTsgYXJyYXlbMF0gPT09IDEuIEFjdHVhbDogJyArIChhcnJheVswXSkpOwp9CgovL0NIRUNLIzYKaWYgKGFycmF5WzFdICE9PSAyKSB7CiAgJEVSUk9SKCcjNjogdmFyIGFycmF5ID0gWzEsMiwsNCw1XTsgYXJyYXlbMV0gPT09IDIuIEFjdHVhbDogJyArIChhcnJheVsxXSkpOwp9CgovL0NIRUNLIzcKaWYgKGFycmF5WzJdICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyM3OiB2YXIgYXJyYXkgPSBbMSwyLCw0LDVdOyBhcnJheVsyXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoYXJyYXlbMl0pKTsKfQoKLy9DSEVDSyM4CmlmIChhcnJheVszXSAhPT0gNCkgewogICRFUlJPUignIzg6IHZhciBhcnJheSA9IFsxLDIsLDQsNV07IGFycmF5WzNdID09PSA0LiBBY3R1YWw6ICcgKyAoYXJyYXlbM10pKTsKfQoKLy9DSEVDSyM5CmlmIChhcnJheVs0XSAhPT0gNSkgewogICRFUlJPUignIzk6IHZhciBhcnJheSA9IFsxLDIsLDQsNV07IGFycmF5WzRdID09PSA1LiBBY3R1YWw6ICcgKyAoYXJyYXlbNF0pKTsKfQoK",
"commentary":"Evaluate the production ArrayLiteral: [ AssignmentExpression, Elision, AssignmentExpression ]",
"description":"Checking various properteis and contents of the array defined with \"var array = [1,2,,4,5]\"",
"path":"TestCases/ch11/11.1/11.1.4/S11.1.4_A1.7.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDcmVhdGUgbXVsdGkgZGltZW5zaW9uYWwgYXJyYXkKICoKICogQHBhdGggY2gxMS8xMS4xLzExLjEuNC9TMTEuMS40X0EyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB2YXJpb3VzIHByb3BlcnRlaXMgYW5kIGNvbnRlbnRzIG9mIHRoZSBhcnJ5YSBkZWZpbmVkIHdpdGggInZhciBhcnJheSA9IFtbMSwyXSwgWzNdLCBbXV0iCiAqLwoKdmFyIGFycmF5ID0gW1sxLDJdLCBbM10sIFtdXTsKCi8vQ0hFQ0sjMQppZiAodHlwZW9mIGFycmF5ICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzE6IHZhciBhcnJheSA9IFtbMSwyXSwgWzNdLCBbXV07IHR5cGVvZiBhcnJheSA9PT0gIm9iamVjdCIuIEFjdHVhbDogJyArICh0eXBlb2YgYXJyYXkpKTsKfQoKLy9DSEVDSyMyCmlmIChhcnJheSBpbnN0YW5jZW9mIEFycmF5ICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogdmFyIGFycmF5ID0gW1sxLDJdLCBbM10sIFtdXTsgYXJyYXkgaW5zdGFuY2VvZiBBcnJheSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzMKaWYgKGFycmF5LnRvU3RyaW5nICE9PSBBcnJheS5wcm90b3R5cGUudG9TdHJpbmcpIHsKICAkRVJST1IoJyMzOiB2YXIgYXJyYXkgPSBbWzEsMl0sIFszXSwgW11dOyBhcnJheS50b1N0cmluZyA9PT0gQXJyYXkucHJvdG90eXBlLnRvU3RyaW5nLiBBY3R1YWw6ICcgKyAoYXJyYXkudG9TdHJpbmcpKTsKfQoKLy9DSEVDSyM0CmlmIChhcnJheS5sZW5ndGggIT09IDMpIHsKICAkRVJST1IoJyM0OiB2YXIgYXJyYXkgPSBbWzEsMl0sIFszXSwgW11dOyBhcnJheS5sZW5ndGggPT09IDMuIEFjdHVhbDogJyArIChhcnJheS5sZW5ndGgpKTsKfQoKdmFyIHN1YmFycmF5ID0gYXJyYXlbMF07CgovL0NIRUNLIzUKaWYgKHR5cGVvZiBzdWJhcnJheSAhPT0gIm9iamVjdCIpIHsKICAkRVJST1IoJyM1OiB2YXIgYXJyYXkgPSBbWzEsMl0sIFszXSwgW11dOyB2YXIgc3ViYXJyYXkgPSBhcnJheVswXTsgdHlwZW9mIHN1YmFycmF5ID09PSAib2JqZWN0Ii4gQWN0dWFsOiAnICsgKHR5cGVvZiBzdWJhcnJheSkpOwp9CgovL0NIRUNLIzYKaWYgKHN1YmFycmF5IGluc3RhbmNlb2YgQXJyYXkgIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiB2YXIgYXJyYXkgPSBbWzEsMl0sIFszXSwgW11dOyB2YXIgc3ViYXJyYXkgPSBhcnJheVswXTsgc3ViYXJyYXkgaW5zdGFuY2VvZiBBcnJheSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzcKaWYgKHN1YmFycmF5LnRvU3RyaW5nICE9PSBBcnJheS5wcm90b3R5cGUudG9TdHJpbmcpIHsKICAkRVJST1IoJyM3OiB2YXIgYXJyYXkgPSBbWzEsMl0sIFszXSwgW11dOyB2YXIgc3ViYXJyYXkgPSBhcnJheVswXTsgc3ViYXJyYXkudG9TdHJpbmcgPT09IEFycmF5LnByb3RvdHlwZS50b1N0cmluZy4gQWN0dWFsOiAnICsgKHN1YmFycmF5LnRvU3RyaW5nKSk7Cn0KCi8vQ0hFQ0sjOAppZiAoc3ViYXJyYXkubGVuZ3RoICE9PSAyKSB7CiAgJEVSUk9SKCcjODogdmFyIGFycmF5ID0gW1sxLDJdLCBbM10sIFtdXTsgdmFyIHN1YmFycmF5ID0gYXJyYXlbMF07IHN1YmFycmF5Lmxlbmd0aCA9PT0gMi4gQWN0dWFsOiAnICsgKHN1YmFycmF5Lmxlbmd0aCkpOwp9CgovL0NIRUNLIzkKaWYgKHN1YmFycmF5WzBdICE9PSAxKSB7CiAgJEVSUk9SKCcjOTogdmFyIGFycmF5ID0gW1sxLDJdLCBbM10sIFtdXTsgdmFyIHN1YmFycmF5ID0gYXJyYXlbMF07IHN1YmFycmF5WzBdID09PSAxLiBBY3R1YWw6ICcgKyAoc3ViYXJyYXlbMF0pKTsKfQoKLy9DSEVDSyMxMAppZiAoc3ViYXJyYXlbMV0gIT09IDIpIHsKICAkRVJST1IoJyMxMDogdmFyIGFycmF5ID0gW1sxLDJdLCBbM10sIFtdXTsgdmFyIHN1YmFycmF5ID0gYXJyYXlbMV07IHN1YmFycmF5WzFdID09PSAyLiBBY3R1YWw6ICcgKyAoc3ViYXJyYXlbMV0pKTsKfQoKdmFyIHN1YmFycmF5ID0gYXJyYXlbMV07CgovL0NIRUNLIzExCmlmICh0eXBlb2Ygc3ViYXJyYXkgIT09ICJvYmplY3QiKSB7CiRFUlJPUignIzExOiB2YXIgYXJyYXkgPSBbWzEsMl0sIFszXSwgW11dOyB2YXIgc3ViYXJyYXkgPSBhcnJheVsxXTsgdHlwZW9mIHN1YmFycmF5ID09PSAib2JqZWN0Ii4gQWN0dWFsOiAnICsgKHR5cGVvZiBzdWJhcnJheSkpOwp9CgovL0NIRUNLIzEyCmlmIChzdWJhcnJheSBpbnN0YW5jZW9mIEFycmF5ICE9PSB0cnVlKSB7CiRFUlJPUignIzEyOiB2YXIgYXJyYXkgPSBbWzEsMl0sIFszXSwgW11dOyB2YXIgc3ViYXJyYXkgPSBhcnJheVsxXTsgc3ViYXJyYXkgaW5zdGFuY2VvZiBBcnJheSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzEzCmlmIChzdWJhcnJheS50b1N0cmluZyAhPT0gQXJyYXkucHJvdG90eXBlLnRvU3RyaW5nKSB7CiRFUlJPUignIzEzOiB2YXIgYXJyYXkgPSBbWzEsMl0sIFszXSwgW11dOyB2YXIgc3ViYXJyYXkgPSBhcnJheVsxXTsgc3ViYXJyYXkudG9TdHJpbmcgPT09IEFycmF5LnByb3RvdHlwZS50b1N0cmluZy4gQWN0dWFsOiAnICsgKHN1YmFycmF5LnRvU3RyaW5nKSk7Cn0KCi8vQ0hFQ0sjMTQKaWYgKHN1YmFycmF5Lmxlbmd0aCAhPT0gMSkgewokRVJST1IoJyMxNDogdmFyIGFycmF5ID0gW1sxLDJdLCBbM10sIFtdXTsgdmFyIHN1YmFycmF5ID0gYXJyYXlbMV07IHN1YmFycmF5Lmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnICsgKHN1YmFycmF5Lmxlbmd0aCkpOwp9CgovL0NIRUNLIzE1CmlmIChzdWJhcnJheVswXSAhPT0gMykgewokRVJST1IoJyMxNTogdmFyIGFycmF5ID0gW1sxLDJdLCBbM10sIFtdXTsgdmFyIHN1YmFycmF5ID0gYXJyYXlbMV07IHN1YmFycmF5WzBdID09PSAzLiBBY3R1YWw6ICcgKyAoc3ViYXJyYXlbMF0pKTsKfQoKdmFyIHN1YmFycmF5ID0gYXJyYXlbMl07CgovL0NIRUNLIzE2CmlmICh0eXBlb2Ygc3ViYXJyYXkgIT09ICJvYmplY3QiKSB7CiRFUlJPUignIzE2OiB2YXIgYXJyYXkgPSBbWzEsMl0sIFszXSwgW11dOyB2YXIgc3ViYXJyYXkgPSBhcnJheVsyXTsgdHlwZW9mIHN1YmFycmF5ID09PSAib2JqZWN0Ii4gQWN0dWFsOiAnICsgKHR5cGVvZiBzdWJhcnJheSkpOwp9CgovL0NIRUNLIzE3CmlmIChzdWJhcnJheSBpbnN0YW5jZW9mIEFycmF5ICE9PSB0cnVlKSB7CiRFUlJPUignIzE3OiB2YXIgYXJyYXkgPSBbWzEsMl0sIFszXSwgW11dOyB2YXIgc3ViYXJyYXkgPSBhcnJheVsyXTsgc3ViYXJyYXkgaW5zdGFuY2VvZiBBcnJheSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzE4CmlmIChzdWJhcnJheS50b1N0cmluZyAhPT0gQXJyYXkucHJvdG90eXBlLnRvU3RyaW5nKSB7CiRFUlJPUignIzE4OiB2YXIgYXJyYXkgPSBbWzEsMl0sIFszXSwgW11dOyB2YXIgc3ViYXJyYXkgPSBhcnJheVsyXTsgc3ViYXJyYXkudG9TdHJpbmcgPT09IEFycmF5LnByb3RvdHlwZS50b1N0cmluZy4gQWN0dWFsOiAnICsgKHN1YmFycmF5LnRvU3RyaW5nKSk7Cn0KCi8vQ0hFQ0sjMTkKaWYgKHN1YmFycmF5Lmxlbmd0aCAhPT0gMCkgewokRVJST1IoJyMxOTogdmFyIGFycmF5ID0gW1sxLDJdLCBbM10sIFtdXTsgdmFyIHN1YmFycmF5ID0gYXJyYXlbMl07IHN1YmFycmF5Lmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnICsgKHN1YmFycmF5Lmxlbmd0aCkpOwp9CgovL0NIRUNLIzIwCmlmIChhcnJheVswXVswXSAhPT0gMSkgewogICRFUlJPUignIzIwOiB2YXIgYXJyYXkgPSBbWzEsMl0sIFszXSwgW11dOyBhcnJheVswXVswXSA9PT0gMS4gQWN0dWFsOiAnICsgKGFycmF5WzBdWzBdKSk7Cn0KCi8vQ0hFQ0sjMjEKaWYgKGFycmF5WzBdWzFdICE9PSAyKSB7CiAgJEVSUk9SKCcjMjE6IHZhciBhcnJheSA9IFtbMSwyXSwgWzNdLCBbXV07IGFycmF5WzBdWzFdID09PSAyLiBBY3R1YWw6ICcgKyAoYXJyYXlbMF1bMV0pKTsKfQoKLy9DSEVDSyMyMgppZiAoYXJyYXlbMV1bMF0gIT09IDMpIHsKICAkRVJST1IoJyM3MjI6IHZhciBhcnJheSA9IFtbMSwyXSwgWzNdLCBbXV07IGFycmF5WzFdWzBdID09PSAzLiBBY3R1YWw6ICcgKyAoYXJyYXlbMV1bMF0pKTsKfQoK",
"commentary":"Create multi dimensional array",
"description":"Checking various properteis and contents of the arrya defined with \"var array = [[1,2], [3], []]\"",
"path":"TestCases/ch11/11.1/11.1.4/S11.1.4_A2.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogaXQgaXNuJ3QgY2xlYXIgd2hhdCBzcGVjaWZpYyByZXF1aXJlbWVudHMgb2YgdGhlIHNwZWNpZmljYWl0b24gYXJlIGJlaW5nIHRlc3RlZCBoZXJlLiBUaGlzIHRlc3Qgc2hvdWxkIA0KICogcHJvYmFibHkgYmUgcmVwbGFjZWQgYnkgc29tZSBtb3JlIHRhcmdldGVkIHRlc3RzLiAgQWxsZW5XQg0KICoNCiAqIEBwYXRoIGNoMTEvMTEuMS8xMS4xLjUvMTEuMS41LTAtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdCBsaXRlcmFsIC0gZ2V0IHNldCBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBzMSA9ICJJbiBnZXR0ZXIiOw0KICB2YXIgczIgPSAiSW4gc2V0dGVyIjsNCiAgdmFyIHMzID0gIk1vZGlmaWVkIGJ5IHNldHRlciI7DQogIGV2YWwoInZhciBvID0ge2dldCBmb28oKXsgcmV0dXJuIHMxO30sc2V0IGZvbyhhcmcpe3JldHVybiBzMiA9IHMzfX07Iik7DQogIGlmKG8uZm9vICE9PSBzMSkgDQogICAgcmV0dXJuIGZhbHNlOw0KICBvLmZvbz0xMDsNCiAgaWYoczIgIT09IHMzKSANCiAgICByZXR1cm4gZmFsc2U7DQogIHJldHVybiB0cnVlOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==",
"commentary":"it isn't clear what specific requirements of the specificaiton are being tested here. This test should\nprobably be replaced by some more targeted tests. AllenWB",
"description":"Object literal - get set property",
"path":"TestCases/ch11/11.1/11.1.5/11.1.5-0-1.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogaXQgaXNuJ3QgY2xlYXIgd2hhdCBzcGVjaWZpYyByZXF1aXJlbWVudHMgb2YgdGhlIHNwZWNpZmljYWl0b24gYXJlIGJlaW5nIHRlc3RlZCBoZXJlLiBUaGlzIHRlc3Qgc2hvdWxkIA0KICogcHJvYmFibHkgYmUgcmVwbGFjZWQgYnkgc29tZSBtb3JlIHRhcmdldGVkIHRlc3RzLiAgQWxsZW5XQg0KICoNCiAqIEBwYXRoIGNoMTEvMTEuMS8xMS4xLjUvMTEuMS41LTAtMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdCBsaXRlcmFsIC0gbXVsdGlwbGUgZ2V0IHNldCBwcm9wZXJ0aWVzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIHMxID0gIkZpcnN0IGdldHRlciI7DQogIHZhciBzMiA9ICJGaXJzdCBzZXR0ZXIiOw0KICB2YXIgczMgPSAiU2Vjb25kIGdldHRlciI7DQogIGV2YWwoInZhciBvID0ge2dldCBmb28oKXsgcmV0dXJuIHMxO30sc2V0IGZvbyhhcmcpe3JldHVybiBzMiA9IHMzfSwgZ2V0IGJhcigpeyByZXR1cm4gczN9LCBzZXQgYmFyKGFyZyl7IHMzID0gYXJnO319OyIpOw0KICBpZihvLmZvbyAhPT0gczEpIA0KICAgIHJldHVybiBmYWxzZTsNCiAgby5mb28gPSAxMDsNCiAgaWYoczIgIT09IHMzKSANCiAgICByZXR1cm4gZmFsc2U7DQogIGlmKG8uYmFyICE9PSBzMykNCiAgICByZXR1cm4gZmFsc2U7DQogIG8uYmFyID0gIlNlY29uZCBzZXR0ZXIiOw0KICBpZihvLmJhciAhPT0gIlNlY29uZCBzZXR0ZXIiKQ0KICAgIHJldHVybiBmYWxzZTsNCiAgcmV0dXJuIHRydWU7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K",
"commentary":"it isn't clear what specific requirements of the specificaiton are being tested here. This test should\nprobably be replaced by some more targeted tests. AllenWB",
"description":"Object literal - multiple get set properties",
"path":"TestCases/ch11/11.1/11.1.5/11.1.5-0-2.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4xLzExLjEuNS8xMS4xLjUtMS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gd2hlbiAnZXZhbCcgb2NjdXJzIGFzIHRoZSBJZGVudGlmaWVyIGluIGEgUHJvcGVydHlTZXRQYXJhbWV0ZXJMaXN0IG9mIGEgUHJvcGVydHlBc3NpZ25tZW50IHRoYXQgaXMgY29udGFpbmVkIGluIHN0cmljdCBjb2RlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgidmFyIG9iaiA9IHtzZXQgXzExXzFfNV8xX2Z1bihldmFsKSB7fX07Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==",
"commentary":"",
"description":"Strict Mode - SyntaxError is thrown when 'eval' occurs as the Identifier in a PropertySetParameterList of a PropertyAssignment that is contained in strict code",
"onlyStrict":"",
"path":"TestCases/ch11/11.1/11.1.5/11.1.5-1-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4xLzExLjEuNS8xMS4xLjUtMWdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gd2hlbiAnZXZhbCcgb2NjdXJzIGFzIHRoZSBJZGVudGlmaWVyIGluIGEgUHJvcGVydHlTZXRQYXJhbWV0ZXJMaXN0IG9mIGEgUHJvcGVydHlBc3NpZ25tZW50IHRoYXQgaXMgY29udGFpbmVkIGluIHN0cmljdCBjb2RlDQogKiBAb25seVN0cmljdA0KICogQG5lZ2F0aXZlIF4oKD8hTm90RWFybHlFcnJvcikuKSokDQogKi8NCiJ1c2Ugc3RyaWN0IjsNCnRocm93IE5vdEVhcmx5RXJyb3I7DQp2YXIgb2JqID0geyBzZXQgXzExXzFfNV8xX2Z1bihldmFsKSB7fX07DQo=",
"commentary":"",
"description":"Strict Mode - SyntaxError is thrown when 'eval' occurs as the Identifier in a PropertySetParameterList of a PropertyAssignment that is contained in strict code",
"negative":"^((?!NotEarlyError).)*$",
"onlyStrict":"",
"path":"TestCases/ch11/11.1/11.1.5/11.1.5-1gs.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4xLzExLjEuNS8xMS4xLjUtMi1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gd2hlbiAnYXJndW1lbnRzJyBvY2N1cnMgYXMgdGhlIElkZW50aWZpZXIgaW4gYSBQcm9wZXJ0eVNldFBhcmFtZXRlckxpc3Qgb2YgYSBQcm9wZXJ0eUFzc2lnbm1lbnQgdGhhdCBpcyBjb250YWluZWQgaW4gc3RyaWN0IGNvZGUNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgICJ1c2Ugc3RyaWN0IjsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgidmFyIG9iaiA9IHtzZXQgXzExXzFfNV8yX2Z1bihhcmd1bWVudHMpIHt9IH07Iik7DQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=",
"commentary":"",
"description":"Strict Mode - SyntaxError is thrown when 'arguments' occurs as the Identifier in a PropertySetParameterList of a PropertyAssignment that is contained in strict code",
"onlyStrict":"",
"path":"TestCases/ch11/11.1/11.1.5/11.1.5-2-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4xLzExLjEuNS8xMS4xLjUtMmdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gd2hlbiBldmFsIGNvZGUgY29udGFpbnMgYW4gT2JqZWN0TGl0ZXJhbCB3aXRoIG1vcmUgdGhhbiBvbmUgZGVmaW5pdGlvbiBvZiBhbnkgZGF0YSBwcm9wZXJ0eQ0KICogQG9ubHlTdHJpY3QNCiAqIEBuZWdhdGl2ZSBeKCg/IU5vdEVhcmx5RXJyb3IpLikqJA0KICovDQoidXNlIHN0cmljdCI7DQp0aHJvdyBOb3RFYXJseUVycm9yOw0KdmFyIG9iaiA9IHsgXzExXzFfNV8yX2dzOiAxMCwgXzExXzFfNV8yX2dzOiAxMCB9Ow0K",
"commentary":"",
"description":"Strict Mode - SyntaxError is thrown when eval code contains an ObjectLiteral with more than one definition of any data property",
"negative":"^((?!NotEarlyError).)*$",
"onlyStrict":"",
"path":"TestCases/ch11/11.1/11.1.5/11.1.5-2gs.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4xLzExLjEuNS8xMS4xLjUtMy1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gd2hlbiAgJ2V2YWxzJyAgb2NjdXJzIGFzIHRoZSBJZGVudGlmaWVyIGluIGEgUHJvcGVydHlTZXRQYXJhbWV0ZXJMaXN0IG9mIGEgUHJvcGVydHlBc3NpZ25tZW50ICBpZiBpdHMgRnVuY3Rpb25Cb2R5IGlzIHN0cmljdCBjb2RlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoInZhciBvYmogPSB7c2V0IF8xMV8xXzVfM19mdW4oZXZhbCkgeyBcInVzZSBzdHJpY3RcIjsgfX07Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==",
"commentary":"",
"description":"Strict Mode - SyntaxError is thrown when 'evals' occurs as the Identifier in a PropertySetParameterList of a PropertyAssignment if its FunctionBody is strict code",
"onlyStrict":"",
"path":"TestCases/ch11/11.1/11.1.5/11.1.5-3-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogUmVmZXIgMTEuMS41OyANCiAqICAgVGhlIHByb2R1Y3Rpb24NCiAqICAgICAgUHJvcGVydHlOYW1lQW5kVmFsdWVMaXN0IDogIFByb3BlcnR5TmFtZUFuZFZhbHVlTGlzdCAsIFByb3BlcnR5QXNzaWdubWVudA0KICogICAgNC4gSWYgcHJldmlvdXMgaXMgbm90IHVuZGVmaW5lZCB0aGVuIHRocm93IGEgU3ludGF4RXJyb3IgZXhjZXB0aW9uIGlmIGFueSBvZiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIHRydWUNCiAqICAgICAgYS4gVGhpcyBwcm9kdWN0aW9uIGlzIGNvbnRhaW5lZCBpbiBzdHJpY3QgY29kZSBhbmQgSXNEYXRhRGVzY3JpcHRvcihwcmV2aW91cykgaXMgdHJ1ZSBhbmQgSXNEYXRhRGVzY3JpcHRvcihwcm9wSWQuZGVzY3JpcHRvcikgaXMgdHJ1ZQ0KICoNCiAqIEBwYXRoIGNoMTEvMTEuMS8xMS4xLjUvMTEuMS41LTQtNC1hLTEtcy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdCBsaXRlcmFsIC0gU3ludGF4RXJyb3IgZm9yIGR1cGxpY2F0ZSBkYXRlIHByb3BlcnR5IG5hbWUgaW4gc3RyaWN0IG1vZGUNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgDQogIHRyeQ0KICB7DQogICAgZXZhbCgiJ3VzZSBzdHJpY3QnOyAoe2ZvbzowLGZvbzoxfSk7Iik7DQogICAgcmV0dXJuIGZhbHNlOw0KICB9DQogIGNhdGNoKGUpDQogIHsNCiAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcik7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=",
"commentary":"Refer 11.1.5;\n The production\n PropertyNameAndValueList : PropertyNameAndValueList , PropertyAssignment\n 4. If previous is not undefined then throw a SyntaxError exception if any of the following conditions are true\n a. This production is contained in strict code and IsDataDescriptor(previous) is true and IsDataDescriptor(propId.descriptor) is true",
"description":"Object literal - SyntaxError for duplicate date property name in strict mode",
"onlyStrict":"",
"path":"TestCases/ch11/11.1/11.1.5/11.1.5-4-4-a-1-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4xLzExLjEuNS8xMS4xLjUtNC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gd2hlbiAnYXJndW1lbnRzJyAgb2NjdXJzIGFzIHRoZSBJZGVudGlmaWVyIGluIGEgUHJvcGVydHlTZXRQYXJhbWV0ZXJMaXN0IG9mIGEgUHJvcGVydHlBc3NpZ25tZW50ICBpZiBpdHMgRnVuY3Rpb25Cb2R5IGlzIHN0cmljdCBjb2RlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoInZhciBvYmogPSB7c2V0IF8xMV8xXzVfNF9mdW4oYXJndW1lbnRzKSB7XCJ1c2Ugc3RyaWN0XCI7fX07Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==",
"commentary":"",
"description":"Strict Mode - SyntaxError is thrown when 'arguments' occurs as the Identifier in a PropertySetParameterList of a PropertyAssignment if its FunctionBody is strict code",
"onlyStrict":"",
"path":"TestCases/ch11/11.1/11.1.5/11.1.5-4-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogUmVmZXIgMTEuMS41OyANCiAqIFRoZSBwcm9kdWN0aW9uDQogKiBQcm9wZXJ0eU5hbWVBbmRWYWx1ZUxpc3QgOiBQcm9wZXJ0eUFzc2lnbm1lbnQgDQogKiAzLkNhbGwgdGhlIFtbRGVmaW5lT3duUHJvcGVydHldXSBpbnRlcm5hbCBtZXRob2Qgb2Ygb2JqIHdpdGggYXJndW1lbnRzIHByb3BJZC5uYW1lLCBwcm9wSWQuZGVzY3JpcHRvciwgYW5kIGZhbHNlLg0KICoNCiAqIEBwYXRoIGNoMTEvMTEuMS8xMS4xLjUvMTEuMS41XzMtMy0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0IGluaXRpYWxpemF0aW9uIHVzaW5nIFByb3BlcnR5TmFtZUFuZFZhbHVlTGlzdCAoUHJvcGVydHlBc3NpZ25tZW50KSB3aGVuIHByb3BlcnR5IChyZWFkLW9ubHkpIGV4aXN0cyBpbiBPYmplY3QucHJvdG90eXBlIChzdGVwIDMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShPYmplY3QucHJvdG90eXBlLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTAwLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgdmFyIG9iaiA9IHsgcHJvcDogMTIgfTsNCg0KICAgICAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIG9iai5wcm9wID09PSAxMjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlLnByb3A7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=",
"commentary":"Refer 11.1.5;\nThe production\nPropertyNameAndValueList : PropertyAssignment\n3.Call the [[DefineOwnProperty]] internal method of obj with arguments propId.name, propId.descriptor, and false.",
"description":"Object initialization using PropertyNameAndValueList (PropertyAssignment) when property (read-only) exists in Object.prototype (step 3)",
"path":"TestCases/ch11/11.1/11.1.5/11.1.5_3-3-1.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogUmVmZXIgMTEuMS41OyANCiAqICAgVGhlIHByb2R1Y3Rpb24NCiAqICAgICAgUHJvcGVydHlOYW1lQW5kVmFsdWVMaXN0IDogIFByb3BlcnR5TmFtZUFuZFZhbHVlTGlzdCAsIFByb3BlcnR5QXNzaWdubWVudA0KICogICAgNC4gSWYgcHJldmlvdXMgaXMgbm90IHVuZGVmaW5lZCB0aGVuIHRocm93IGEgU3ludGF4RXJyb3IgZXhjZXB0aW9uIGlmIGFueSBvZiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIHRydWUNCiAqICAgICAgYS4gVGhpcyBwcm9kdWN0aW9uIGlzIGNvbnRhaW5lZCBpbiBzdHJpY3QgY29kZSBhbmQgSXNEYXRhRGVzY3JpcHRvcihwcmV2aW91cykgaXMgdHJ1ZSBhbmQgSXNEYXRhRGVzY3JpcHRvcihwcm9wSWQuZGVzY3JpcHRvcikgaXMgdHJ1ZQ0KICoNCiAqIEBwYXRoIGNoMTEvMTEuMS8xMS4xLjUvMTEuMS41XzQtNC1hLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QgbGl0ZXJhbCAtIER1cGxpY2F0ZSBkYXRhIHByb3BlcnR5IG5hbWUgYWxsb3dlZCBpZiBub3QgaW4gc3RyaWN0IG1vZGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICANCiAgZXZhbCgiKHtmb286MCxmb286MX0pOyIpOw0KICByZXR1cm4gdHJ1ZTsNCiAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K",
"commentary":"Refer 11.1.5;\n The production\n PropertyNameAndValueList : PropertyNameAndValueList , PropertyAssignment\n 4. If previous is not undefined then throw a SyntaxError exception if any of the following conditions are true\n a. This production is contained in strict code and IsDataDescriptor(previous) is true and IsDataDescriptor(propId.descriptor) is true",
"description":"Object literal - Duplicate data property name allowed if not in strict mode",
"path":"TestCases/ch11/11.1/11.1.5/11.1.5_4-4-a-2.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogUmVmZXIgMTEuMS41OyANCiAqICAgVGhlIHByb2R1Y3Rpb24NCiAqICAgICAgUHJvcGVydHlOYW1lQW5kVmFsdWVMaXN0IDogIFByb3BlcnR5TmFtZUFuZFZhbHVlTGlzdCAsIFByb3BlcnR5QXNzaWdubWVudA0KICogICAgNC4gSWYgcHJldmlvdXMgaXMgbm90IHVuZGVmaW5lZCB0aGVuIHRocm93IGEgU3ludGF4RXJyb3IgZXhjZXB0aW9uIGlmIGFueSBvZiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIHRydWUNCiAqICAgICAgYS4gVGhpcyBwcm9kdWN0aW9uIGlzIGNvbnRhaW5lZCBpbiBzdHJpY3QgY29kZSBhbmQgSXNEYXRhRGVzY3JpcHRvcihwcmV2aW91cykgaXMgdHJ1ZSBhbmQgSXNEYXRhRGVzY3JpcHRvcihwcm9wSWQuZGVzY3JpcHRvcikgaXMgdHJ1ZQ0KICoNCiAqIEBwYXRoIGNoMTEvMTEuMS8xMS4xLjUvMTEuMS41XzQtNC1hLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QgbGl0ZXJhbCAtIER1cGxpY2F0ZSBkYXRhIHByb3BlcnR5IG5hbWUgYWxsb3dlZCBnZXRzIGxhc3QgZGVmaW5lZCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIA0KICB2YXIgbyA9IGV2YWwoIih7Zm9vOjAsZm9vOjF9KTsiKTsNCiAgcmV0dXJuIG8uZm9vPT09MTsNCiAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K",
"commentary":"Refer 11.1.5;\n The production\n PropertyNameAndValueList : PropertyNameAndValueList , PropertyAssignment\n 4. If previous is not undefined then throw a SyntaxError exception if any of the following conditions are true\n a. This production is contained in strict code and IsDataDescriptor(previous) is true and IsDataDescriptor(propId.descriptor) is true",
"description":"Object literal - Duplicate data property name allowed gets last defined value",
"path":"TestCases/ch11/11.1/11.1.5/11.1.5_4-4-a-3.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogUmVmZXIgMTEuMS41OyANCiAqICAgVGhlIHByb2R1Y3Rpb24NCiAqICAgICAgUHJvcGVydHlOYW1lQW5kVmFsdWVMaXN0IDogIFByb3BlcnR5TmFtZUFuZFZhbHVlTGlzdCAsIFByb3BlcnR5QXNzaWdubWVudA0KICogICAgNC4gSWYgcHJldmlvdXMgaXMgbm90IHVuZGVmaW5lZCB0aGVuIHRocm93IGEgU3ludGF4RXJyb3IgZXhjZXB0aW9uIGlmIGFueSBvZiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIHRydWUNCiAqICAgICAgYi5Jc0RhdGFEZXNjcmlwdG9yKHByZXZpb3VzKSBpcyB0cnVlIGFuZCBJc0FjY2Vzc29yRGVzY3JpcHRvcihwcm9wSWQuZGVzY3JpcHRvcikgaXMgdHJ1ZS4NCiAqDQogKiBAcGF0aCBjaDExLzExLjEvMTEuMS41LzExLjEuNV80LTQtYi0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0IGxpdGVyYWwgLSBTeW50YXhFcnJvciBpZiBhIGRhdGEgcHJvcGVydHkgZGVmaW5pdGlvbiBpcyBmb2xsb3dlZCBieSBnZXQgYWNjZXNzb3IgZGVmaW5pdGlvbiB3aXRoIHRoZSBzYW1lIG5hbWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB0cnkNCiAgew0KICAgIGV2YWwoIih7Zm9vIDogMSwgZ2V0IGZvbygpe319KTsiKTsNCiAgICByZXR1cm4gZmFsc2U7DQogIH0NCiAgY2F0Y2goZSkNCiAgew0KICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3I7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=",
"commentary":"Refer 11.1.5;\n The production\n PropertyNameAndValueList : PropertyNameAndValueList , PropertyAssignment\n 4. If previous is not undefined then throw a SyntaxError exception if any of the following conditions are true\n b.IsDataDescriptor(previous) is true and IsAccessorDescriptor(propId.descriptor) is true.",
"description":"Object literal - SyntaxError if a data property definition is followed by get accessor definition with the same name",
"path":"TestCases/ch11/11.1/11.1.5/11.1.5_4-4-b-1.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogUmVmZXIgMTEuMS41OyANCiAqICAgVGhlIHByb2R1Y3Rpb24NCiAqICAgICAgUHJvcGVydHlOYW1lQW5kVmFsdWVMaXN0IDogIFByb3BlcnR5TmFtZUFuZFZhbHVlTGlzdCAsIFByb3BlcnR5QXNzaWdubWVudA0KICogICAgNC4gSWYgcHJldmlvdXMgaXMgbm90IHVuZGVmaW5lZCB0aGVuIHRocm93IGEgU3ludGF4RXJyb3IgZXhjZXB0aW9uIGlmIGFueSBvZiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIHRydWUNCiAqICAgICAgYi5Jc0RhdGFEZXNjcmlwdG9yKHByZXZpb3VzKSBpcyB0cnVlIGFuZCBJc0FjY2Vzc29yRGVzY3JpcHRvcihwcm9wSWQuZGVzY3JpcHRvcikgaXMgdHJ1ZS4NCiAqDQogKiBAcGF0aCBjaDExLzExLjEvMTEuMS41LzExLjEuNV80LTQtYi0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0IGxpdGVyYWwgLSBTeW50YXhFcnJvciBpZiBhIGRhdGEgcHJvcGVydHkgZGVmaW5pdGlvbiBpcyBmb2xsb3dlZCBieSBzZXQgYWNjZXNzb3IgZGVmaW5pdGlvbiB3aXRoIHRoZSBzYW1lIG5hbWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB0cnkNCiAgew0KICAgIGV2YWwoIih7Zm9vIDogMSwgc2V0IGZvbyh4KXt9fSk7Iik7DQogICAgcmV0dXJuIGZhbHNlOw0KICB9DQogIGNhdGNoKGUpDQogIHsNCiAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K",
"commentary":"Refer 11.1.5;\n The production\n PropertyNameAndValueList : PropertyNameAndValueList , PropertyAssignment\n 4. If previous is not undefined then throw a SyntaxError exception if any of the following conditions are true\n b.IsDataDescriptor(previous) is true and IsAccessorDescriptor(propId.descriptor) is true.",
"description":"Object literal - SyntaxError if a data property definition is followed by set accessor definition with the same name",
"path":"TestCases/ch11/11.1/11.1.5/11.1.5_4-4-b-2.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogUmVmZXIgMTEuMS41OyANCiAqICAgVGhlIHByb2R1Y3Rpb24NCiAqICAgICAgUHJvcGVydHlOYW1lQW5kVmFsdWVMaXN0IDogIFByb3BlcnR5TmFtZUFuZFZhbHVlTGlzdCAsIFByb3BlcnR5QXNzaWdubWVudA0KICogICAgNC4gSWYgcHJldmlvdXMgaXMgbm90IHVuZGVmaW5lZCB0aGVuIHRocm93IGEgU3ludGF4RXJyb3IgZXhjZXB0aW9uIGlmIGFueSBvZiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIHRydWUNCiAqICAgICAgYy5Jc0FjY2Vzc29yRGVzY3JpcHRvcihwcmV2aW91cykgaXMgdHJ1ZSBhbmQgSXNEYXRhRGVzY3JpcHRvcihwcm9wSWQuZGVzY3JpcHRvcikgaXMgdHJ1ZS4NCiAqDQogKiBAcGF0aCBjaDExLzExLjEvMTEuMS41LzExLjEuNV80LTQtYy0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0IGxpdGVyYWwgLSBTeW50YXhFcnJvciBpZiBhIGdldCBhY2Nlc3NvciBwcm9wZXJ0eSBkZWZpbml0aW9uIGlzIGZvbGxvd2VkIGJ5IGEgZGF0YSBwcm9wZXJ0eSBkZWZpbml0aW9uIHdpdGggdGhlIHNhbWUgbmFtZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHRyeQ0KICB7DQogICAgZXZhbCgiKHtnZXQgZm9vKCl7fSwgZm9vIDogMX0pOyIpOw0KICAgIHJldHVybiBmYWxzZTsNCiAgfQ0KICBjYXRjaChlKQ0KICB7DQogICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==",
"commentary":"Refer 11.1.5;\n The production\n PropertyNameAndValueList : PropertyNameAndValueList , PropertyAssignment\n 4. If previous is not undefined then throw a SyntaxError exception if any of the following conditions are true\n c.IsAccessorDescriptor(previous) is true and IsDataDescriptor(propId.descriptor) is true.",
"description":"Object literal - SyntaxError if a get accessor property definition is followed by a data property definition with the same name",
"path":"TestCases/ch11/11.1/11.1.5/11.1.5_4-4-c-1.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogUmVmZXIgMTEuMS41OyANCiAqICAgVGhlIHByb2R1Y3Rpb24NCiAqICAgICAgUHJvcGVydHlOYW1lQW5kVmFsdWVMaXN0IDogIFByb3BlcnR5TmFtZUFuZFZhbHVlTGlzdCAsIFByb3BlcnR5QXNzaWdubWVudA0KICogICAgNC4gSWYgcHJldmlvdXMgaXMgbm90IHVuZGVmaW5lZCB0aGVuIHRocm93IGEgU3ludGF4RXJyb3IgZXhjZXB0aW9uIGlmIGFueSBvZiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIHRydWUNCiAqICAgICAgYy5Jc0FjY2Vzc29yRGVzY3JpcHRvcihwcmV2aW91cykgaXMgdHJ1ZSBhbmQgSXNEYXRhRGVzY3JpcHRvcihwcm9wSWQuZGVzY3JpcHRvcikgaXMgdHJ1ZS4NCiAqDQogKiBAcGF0aCBjaDExLzExLjEvMTEuMS41LzExLjEuNV80LTQtYy0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0IGxpdGVyYWwgLSBTeW50YXhFcnJvciBpZiBhIHNldCBhY2Nlc3NvciBwcm9wZXJ0eSBkZWZpbml0aW9uIGlzIGZvbGxvd2VkIGJ5IGEgZGF0YSBwcm9wZXJ0eSBkZWZpbml0aW9uIHdpdGggdGhlIHNhbWUgbmFtZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHRyeQ0KICB7DQogICAgZXZhbCgiKHtzZXQgZm9vKHgpe30sIGZvbyA6IDF9KTsiKTsNCiAgICByZXR1cm4gZmFsc2U7DQogIH0NCiAgY2F0Y2goZSkNCiAgew0KICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3I7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=",
"commentary":"Refer 11.1.5;\n The production\n PropertyNameAndValueList : PropertyNameAndValueList , PropertyAssignment\n 4. If previous is not undefined then throw a SyntaxError exception if any of the following conditions are true\n c.IsAccessorDescriptor(previous) is true and IsDataDescriptor(propId.descriptor) is true.",
"description":"Object literal - SyntaxError if a set accessor property definition is followed by a data property definition with the same name",
"path":"TestCases/ch11/11.1/11.1.5/11.1.5_4-4-c-2.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogUmVmZXIgMTEuMS41OyANCiAqICAgVGhlIHByb2R1Y3Rpb24NCiAqICAgICBQcm9wZXJ0eU5hbWVBbmRWYWx1ZUxpc3QgOiAgUHJvcGVydHlOYW1lQW5kVmFsdWVMaXN0ICwgUHJvcGVydHlBc3NpZ25tZW50DQogKiAgIDQuIElmIHByZXZpb3VzIGlzIG5vdCB1bmRlZmluZWQgdGhlbiB0aHJvdyBhIFN5bnRheEVycm9yIGV4Y2VwdGlvbiBpZiBhbnkgb2YgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSB0cnVlDQogKiAgICAgZC4JSXNBY2Nlc3NvckRlc2NyaXB0b3IocHJldmlvdXMpIGlzIHRydWUgYW5kIElzQWNjZXNzb3JEZXNjcmlwdG9yKHByb3BJZC5kZXNjcmlwdG9yKSBpcyB0cnVlIGFuZCBlaXRoZXIgYm90aCBwcmV2aW91cyBhbmQgcHJvcElkLmRlc2NyaXB0b3IgaGF2ZSBbW0dldF1dIGZpZWxkcyBvciBib3RoIHByZXZpb3VzIGFuZCBwcm9wSWQuZGVzY3JpcHRvciBoYXZlIFtbU2V0XV0gZmllbGRzDQogKg0KICogQHBhdGggY2gxMS8xMS4xLzExLjEuNS8xMS4xLjVfNC00LWQtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdCBsaXRlcmFsIC0gU3ludGF4RXJyb3IgZm9yIGR1cGxpY2F0ZSBwcm9wZXJ0eSBuYW1lIChnZXQsZ2V0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHRyeQ0KICB7DQogICAgZXZhbCgiKHtnZXQgZm9vKCl7fSwgZ2V0IGZvbygpe319KTsiKTsNCiAgICByZXR1cm4gZmFsc2U7DQogIH0NCiAgY2F0Y2goZSkNCiAgew0KICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3I7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=",
"commentary":"Refer 11.1.5;\n The production\n PropertyNameAndValueList : PropertyNameAndValueList , PropertyAssignment\n 4. If previous is not undefined then throw a SyntaxError exception if any of the following conditions are true\n d.\tIsAccessorDescriptor(previous) is true and IsAccessorDescriptor(propId.descriptor) is true and either both previous and propId.descriptor have [[Get]] fields or both previous and propId.descriptor have [[Set]] fields",
"description":"Object literal - SyntaxError for duplicate property name (get,get)",
"path":"TestCases/ch11/11.1/11.1.5/11.1.5_4-4-d-1.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogUmVmZXIgMTEuMS41OyANCiAqICAgVGhlIHByb2R1Y3Rpb24NCiAqICAgICBQcm9wZXJ0eU5hbWVBbmRWYWx1ZUxpc3QgOiAgUHJvcGVydHlOYW1lQW5kVmFsdWVMaXN0ICwgUHJvcGVydHlBc3NpZ25tZW50DQogKiAgIDQuIElmIHByZXZpb3VzIGlzIG5vdCB1bmRlZmluZWQgdGhlbiB0aHJvdyBhIFN5bnRheEVycm9yIGV4Y2VwdGlvbiBpZiBhbnkgb2YgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSB0cnVlDQogKiAgICAgZC4JSXNBY2Nlc3NvckRlc2NyaXB0b3IocHJldmlvdXMpIGlzIHRydWUgYW5kIElzQWNjZXNzb3JEZXNjcmlwdG9yKHByb3BJZC5kZXNjcmlwdG9yKSBpcyB0cnVlIGFuZCBlaXRoZXIgYm90aCBwcmV2aW91cyBhbmQgcHJvcElkLmRlc2NyaXB0b3IgaGF2ZSBbW0dldF1dIGZpZWxkcyBvciBib3RoIHByZXZpb3VzIGFuZCBwcm9wSWQuZGVzY3JpcHRvciBoYXZlIFtbU2V0XV0gZmllbGRzDQogKg0KICogQHBhdGggY2gxMS8xMS4xLzExLjEuNS8xMS4xLjVfNC00LWQtMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdCBsaXRlcmFsIC0gU3ludGF4RXJyb3IgZm9yIGR1cGxpY2F0ZSBwcm9wZXJ0eSBuYW1lIChzZXQsc2V0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHRyeQ0KICB7DQogICAgZXZhbCgiKHtzZXQgZm9vKGFyZyl7fSwgc2V0IGZvbyhhcmcxKXt9fSk7Iik7DQogICAgcmV0dXJuIGZhbHNlOw0KICB9DQogIGNhdGNoKGUpDQogIHsNCiAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K",
"commentary":"Refer 11.1.5;\n The production\n PropertyNameAndValueList : PropertyNameAndValueList , PropertyAssignment\n 4. If previous is not undefined then throw a SyntaxError exception if any of the following conditions are true\n d.\tIsAccessorDescriptor(previous) is true and IsAccessorDescriptor(propId.descriptor) is true and either both previous and propId.descriptor have [[Get]] fields or both previous and propId.descriptor have [[Set]] fields",
"description":"Object literal - SyntaxError for duplicate property name (set,set)",
"path":"TestCases/ch11/11.1/11.1.5/11.1.5_4-4-d-2.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogUmVmZXIgMTEuMS41OyANCiAqICAgVGhlIHByb2R1Y3Rpb24NCiAqICAgICBQcm9wZXJ0eU5hbWVBbmRWYWx1ZUxpc3QgOiAgUHJvcGVydHlOYW1lQW5kVmFsdWVMaXN0ICwgUHJvcGVydHlBc3NpZ25tZW50DQogKiAgIDQuIElmIHByZXZpb3VzIGlzIG5vdCB1bmRlZmluZWQgdGhlbiB0aHJvdyBhIFN5bnRheEVycm9yIGV4Y2VwdGlvbiBpZiBhbnkgb2YgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSB0cnVlDQogKiAgICAgZC4JSXNBY2Nlc3NvckRlc2NyaXB0b3IocHJldmlvdXMpIGlzIHRydWUgYW5kIElzQWNjZXNzb3JEZXNjcmlwdG9yKHByb3BJZC5kZXNjcmlwdG9yKSBpcyB0cnVlIGFuZCBlaXRoZXIgYm90aCBwcmV2aW91cyBhbmQgcHJvcElkLmRlc2NyaXB0b3IgaGF2ZSBbW0dldF1dIGZpZWxkcyBvciBib3RoIHByZXZpb3VzIGFuZCBwcm9wSWQuZGVzY3JpcHRvciBoYXZlIFtbU2V0XV0gZmllbGRzDQogKg0KICogQHBhdGggY2gxMS8xMS4xLzExLjEuNS8xMS4xLjVfNC00LWQtMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdCBsaXRlcmFsIC0gU3ludGF4RXJyb3IgZm9yIGR1cGxpY2F0ZSBwcm9wZXJ0eSBuYW1lIChnZXQsc2V0LGdldCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB0cnkNCiAgew0KICAgIGV2YWwoIih7Z2V0IGZvbygpe30sIHNldCBmb28oYXJnKXt9LCBnZXQgZm9vKCl7fX0pOyIpOw0KICAgIHJldHVybiBmYWxzZTsNCiAgfQ0KICBjYXRjaChlKQ0KICB7DQogICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==",
"commentary":"Refer 11.1.5;\n The production\n PropertyNameAndValueList : PropertyNameAndValueList , PropertyAssignment\n 4. If previous is not undefined then throw a SyntaxError exception if any of the following conditions are true\n d.\tIsAccessorDescriptor(previous) is true and IsAccessorDescriptor(propId.descriptor) is true and either both previous and propId.descriptor have [[Get]] fields or both previous and propId.descriptor have [[Set]] fields",
"description":"Object literal - SyntaxError for duplicate property name (get,set,get)",
"path":"TestCases/ch11/11.1/11.1.5/11.1.5_4-4-d-3.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogUmVmZXIgMTEuMS41OyANCiAqICAgVGhlIHByb2R1Y3Rpb24NCiAqICAgICBQcm9wZXJ0eU5hbWVBbmRWYWx1ZUxpc3QgOiAgUHJvcGVydHlOYW1lQW5kVmFsdWVMaXN0ICwgUHJvcGVydHlBc3NpZ25tZW50DQogKiAgIDQuIElmIHByZXZpb3VzIGlzIG5vdCB1bmRlZmluZWQgdGhlbiB0aHJvdyBhIFN5bnRheEVycm9yIGV4Y2VwdGlvbiBpZiBhbnkgb2YgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSB0cnVlDQogKiAgICAgZC4JSXNBY2Nlc3NvckRlc2NyaXB0b3IocHJldmlvdXMpIGlzIHRydWUgYW5kIElzQWNjZXNzb3JEZXNjcmlwdG9yKHByb3BJZC5kZXNjcmlwdG9yKSBpcyB0cnVlIGFuZCBlaXRoZXIgYm90aCBwcmV2aW91cyBhbmQgcHJvcElkLmRlc2NyaXB0b3IgaGF2ZSBbW0dldF1dIGZpZWxkcyBvciBib3RoIHByZXZpb3VzIGFuZCBwcm9wSWQuZGVzY3JpcHRvciBoYXZlIFtbU2V0XV0gZmllbGRzDQogKg0KICogQHBhdGggY2gxMS8xMS4xLzExLjEuNS8xMS4xLjVfNC00LWQtNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdCBsaXRlcmFsIC0gU3ludGF4RXJyb3IgZm9yIGR1cGxpY2F0ZSBwcm9wZXJ0eSBuYW1lIChzZXQsZ2V0LHNldCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB0cnkNCiAgew0KICAgIGV2YWwoIih7c2V0IGZvbyhhcmcpe30sIGdldCBmb28oKXt9LCBzZXQgZm9vKGFyZzEpe319KTsiKTsNCiAgICByZXR1cm4gZmFsc2U7DQogIH0NCiAgY2F0Y2goZSkNCiAgew0KICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3I7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=",
"commentary":"Refer 11.1.5;\n The production\n PropertyNameAndValueList : PropertyNameAndValueList , PropertyAssignment\n 4. If previous is not undefined then throw a SyntaxError exception if any of the following conditions are true\n d.\tIsAccessorDescriptor(previous) is true and IsAccessorDescriptor(propId.descriptor) is true and either both previous and propId.descriptor have [[Get]] fields or both previous and propId.descriptor have [[Set]] fields",
"description":"Object literal - SyntaxError for duplicate property name (set,get,set)",
"path":"TestCases/ch11/11.1/11.1.5/11.1.5_4-4-d-4.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogUmVmZXIgMTEuMS41OyANCiAqIFRoZSBwcm9kdWN0aW9uDQogKiBQcm9wZXJ0eU5hbWVBbmRWYWx1ZUxpc3QgOiBQcm9wZXJ0eU5hbWVBbmRWYWx1ZUxpc3QgLCBQcm9wZXJ0eUFzc2lnbm1lbnQgDQogKiA1LkNhbGwgdGhlIFtbRGVmaW5lT3duUHJvcGVydHldXSBpbnRlcm5hbCBtZXRob2Qgb2Ygb2JqIHdpdGggYXJndW1lbnRzIHByb3BJZC5uYW1lLCBwcm9wSWQuZGVzY3JpcHRvciwgYW5kIGZhbHNlLg0KICoNCiAqIEBwYXRoIGNoMTEvMTEuMS8xMS4xLjUvMTEuMS41XzQtNS0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0IGluaXRpYWxpemF0aW9uIHVzaW5nIFByb3BlcnR5TmFtZUFuZFZhbHVlTGlzdCAoUHJvcGVydHlOYW1lQW5kVmFsdWVMaXN0ICwgUHJvcGVydHlBc3NpZ25tZW50KSB3aGVuIHByb3BlcnR5IChyZWFkLW9ubHkpIGV4aXN0cyBpbiBPYmplY3QucHJvdG90eXBlIChTdGVwIDUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShPYmplY3QucHJvdG90eXBlLCAicHJvcDIiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMCwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIG9iaiA9IHsgcHJvcDE6IDEwMSwgcHJvcDI6IDEyIH07DQoNCiAgICAgICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3AyIik7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZS5wcm9wMjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==",
"commentary":"Refer 11.1.5;\nThe production\nPropertyNameAndValueList : PropertyNameAndValueList , PropertyAssignment\n5.Call the [[DefineOwnProperty]] internal method of obj with arguments propId.name, propId.descriptor, and false.",
"description":"Object initialization using PropertyNameAndValueList (PropertyNameAndValueList , PropertyAssignment) when property (read-only) exists in Object.prototype (Step 5)",
"path":"TestCases/ch11/11.1/11.1.5/11.1.5_4-5-1.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogUmVmZXIgMTEuMS41OyANCiAqICAgVGhlIHByb2R1Y3Rpb24NCiAqICAgICAgUHJvcGVydHlBc3NpZ25tZW50IDogUHJvcGVydHlOYW1lIDogQXNzaWdubWVudEV4cHJlc3Npb24gDQogKiAgIDQuTGV0IGRlc2MgYmUgdGhlIFByb3BlcnR5IERlc2NyaXB0b3J7W1tWYWx1ZV1dOiBwcm9wVmFsdWUsIFtbV3JpdGFibGVdXTogdHJ1ZSwgW1tFbnVtZXJhYmxlXV06IHRydWUsIFtbQ29uZmlndXJhYmxlXV06IHRydWV9DQogKg0KICogQHBhdGggY2gxMS8xMS4xLzExLjEuNS8xMS4xLjVfNS00LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QgbGl0ZXJhbCAtIHByb3BlcnR5IGRlc2NyaXB0b3IgZm9yIGFzc2lnbm1lbnQgZXhwcmVzc2lvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgdmFyIG8gPSB7Zm9vIDogMX07DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvLCJmb28iKTsNCiAgaWYoZGVzYy52YWx1ZSA9PT0gMSAmJg0KICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQogICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gdHJ1ZSAmJg0KICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkNCiAgICByZXR1cm4gdHJ1ZTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=",
"commentary":"Refer 11.1.5;\n The production\n PropertyAssignment : PropertyName : AssignmentExpression\n 4.Let desc be the Property Descriptor{[[Value]]: propValue, [[Writable]]: true, [[Enumerable]]: true, [[Configurable]]: true}",
"description":"Object literal - property descriptor for assignment expression",
"path":"TestCases/ch11/11.1/11.1.5/11.1.5_5-4-1.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4xLzExLjEuNS8xMS4xLjVfNi0yLTEtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gU3ludGF4RXJyb3IgaXMgdGhyb3duIHdoZW4gYW4gYXNzaWdubWVudCB0byBhIHJlc2VydmVkIHdvcmQgb3IgYSBmdXR1cmUgcmVzZXJ2ZWQgd29yZCBpcyBjb250YWluZWQgaW4gc3RyaWN0IGNvZGUNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJ2YXIgb2JqID0ge1wNCiAgICAgICAgICAgICAgICBnZXQgXzExXzFfNV82XzJfMSgpIHtcDQogICAgICAgICAgICAgICAgICAgcHVibGljID0gNDI7XA0KICAgICAgICAgICAgICAgICAgIHJldHVybiBwdWJsaWM7XA0KICAgICAgICAgICAgICAgIH1cDQogICAgICAgICAgICB9OyIpOw0KDQogICAgICAgICAgICB2YXIgXzExXzFfNV82XzJfMSA9IG9iai5fMTFfMV81XzZfMl8xOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K",
"commentary":"",
"description":"Strict Mode - SyntaxError is thrown when an assignment to a reserved word or a future reserved word is contained in strict code",
"onlyStrict":"",
"path":"TestCases/ch11/11.1/11.1.5/11.1.5_6-2-1-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4xLzExLjEuNS8xMS4xLjVfNi0yLTItcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gU3ludGF4RXJyb3IgaXMgdGhyb3duIHdoZW4gYW4gYXNzaWdubWVudCB0byBhIHJlc2VydmVkIHdvcmQgb3IgYSBmdXR1cmUgcmVzZXJ2ZWQgd29yZCBpcyBtYWRlIGluc2lkZSBhIHN0cmljdCBtb2RlIEZ1bmN0aW9uQm9keSBvZiBhIFByb3BlcnR5QXNzaWdubWVudA0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJ2YXIgb2JqID0ge1wNCiAgICAgICAgICAgICAgICBnZXQgXzExXzFfNV82XzJfMigpIHtcDQogICAgICAgICAgICAgICAgICAgXCJ1c2Ugc3RyaWN0XCI7XA0KICAgICAgICAgICAgICAgICAgIHB1YmxpYyA9IDQyO1wNCiAgICAgICAgICAgICAgICAgICByZXR1cm4gcHVibGljO1wNCiAgICAgICAgICAgICAgICB9XA0KICAgICAgICAgICAgfTtcDQogICAgICAgICAgICB2YXIgXzExXzFfNV82XzJfMiA9IG9iai5fMTFfMV81XzZfMl8yOyIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K",
"commentary":"",
"description":"Strict Mode - SyntaxError is thrown when an assignment to a reserved word or a future reserved word is made inside a strict mode FunctionBody of a PropertyAssignment",
"onlyStrict":"",
"path":"TestCases/ch11/11.1/11.1.5/11.1.5_6-2-2-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogUmVmZXIgMTEuMS41OyANCiAqICAgVGhlIHByb2R1Y3Rpb24NCiAqICAgICAgUHJvcGVydHlBc3NpZ25tZW50IDogZ2V0IFByb3BlcnR5TmFtZSAoICkgeyBGdW5jdGlvbkJvZHkgfSANCiAqICAgMy5MZXQgZGVzYyBiZSB0aGUgUHJvcGVydHkgRGVzY3JpcHRvcntbW0dldF1dOiBjbG9zdXJlLCBbW0VudW1lcmFibGVdXTogdHJ1ZSwgW1tDb25maWd1cmFibGVdXTogdHJ1ZX0NCiAqDQogKiBAcGF0aCBjaDExLzExLjEvMTEuMS41LzExLjEuNV82LTMtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdCBsaXRlcmFsIC0gcHJvcGVydHkgZGVzY3JpcHRvciBmb3IgZ2V0IHByb3BlcnR5IGFzc2lnbm1lbnQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIGV2YWwoInZhciBvID0ge2dldCBmb28oKXtyZXR1cm4gMTt9fTsiKTsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG8sImZvbyIpOw0KICBpZihkZXNjLmVudW1lcmFibGUgPT09IHRydWUgJiYNCiAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpDQogICAgcmV0dXJuIHRydWU7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K",
"commentary":"Refer 11.1.5;\n The production\n PropertyAssignment : get PropertyName ( ) { FunctionBody }\n 3.Let desc be the Property Descriptor{[[Get]]: closure, [[Enumerable]]: true, [[Configurable]]: true}",
"description":"Object literal - property descriptor for get property assignment",
"path":"TestCases/ch11/11.1/11.1.5/11.1.5_6-3-1.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogUmVmZXIgMTEuMS41OyANCiAqICAgVGhlIHByb2R1Y3Rpb24NCiAqICAgICAgUHJvcGVydHlBc3NpZ25tZW50IDogZ2V0IFByb3BlcnR5TmFtZSAoICkgeyBGdW5jdGlvbkJvZHkgfSANCiAqICAgMy5MZXQgZGVzYyBiZSB0aGUgUHJvcGVydHkgRGVzY3JpcHRvcntbW0dldF1dOiBjbG9zdXJlLCBbW0VudW1lcmFibGVdXTogdHJ1ZSwgW1tDb25maWd1cmFibGVdXTogdHJ1ZX0NCiAqDQogKiBAcGF0aCBjaDExLzExLjEvMTEuMS41LzExLjEuNV82LTMtMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdCBsaXRlcmFsIC0gcHJvcGVydHkgZGVzY3JpcHRvciBmb3IgZ2V0IHByb3BlcnR5IGFzc2lnbm1lbnQgc2hvdWxkIG5vdCBjcmVhdGUgYSBzZXQgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIGV2YWwoInZhciBvID0ge2dldCBmb28oKXtyZXR1cm4gMTt9fTsiKTsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG8sImZvbyIpOw0KICByZXR1cm4gZGVzYy5zZXQgPT09IHVuZGVmaW5lZA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==",
"commentary":"Refer 11.1.5;\n The production\n PropertyAssignment : get PropertyName ( ) { FunctionBody }\n 3.Let desc be the Property Descriptor{[[Get]]: closure, [[Enumerable]]: true, [[Configurable]]: true}",
"description":"Object literal - property descriptor for get property assignment should not create a set function",
"path":"TestCases/ch11/11.1/11.1.5/11.1.5_6-3-2.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4xLzExLjEuNS8xMS4xLjVfNy0yLTEtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gU3ludGF4RXJyb3IgaXMgdGhyb3duIHdoZW4gYW4gYXNzaWdubWVudCB0byBhIHJlc2VydmVkIHdvcmQgaXMgY29udGFpbmVkIGluIHN0cmljdCBjb2RlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgidmFyIGRhdGEgPSBcImRhdGFcIjtcDQogICAgICAgICAgICB2YXIgb2JqID0ge1wNCiAgICAgICAgICAgICAgICBzZXQgXzExXzFfNV83XzJfMSh2YWx1ZSkge1wNCiAgICAgICAgICAgICAgICAgICAgcHVibGljID0gNDI7XA0KICAgICAgICAgICAgICAgICAgICBkYXRhID0gdmFsdWU7XA0KICAgICAgICAgICAgICAgIH1cDQogICAgICAgICAgICB9O1wNCiAgICAgICAgICAgIG9iai5fMTFfMV81XzdfMl8xID0gMTsiKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==",
"commentary":"",
"description":"Strict Mode - SyntaxError is thrown when an assignment to a reserved word is contained in strict code",
"onlyStrict":"",
"path":"TestCases/ch11/11.1/11.1.5/11.1.5_7-2-1-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4xLzExLjEuNS8xMS4xLjVfNy0yLTItcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gU3ludGF4RXJyb3IgaXMgdGhyb3duIHdoZW4gYW4gYXNzaWdubWVudCB0byBhIHJlc2VydmVkIHdvcmQgaXMgbWFkZSBpbiAgYSBzdHJpY3QgRnVuY3Rpb25Cb2R5IG9mIGEgUHJvcGVydHlBc3NpZ25tZW50DQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgidmFyIGRhdGEgPSBcImRhdGFcIjtcDQogICAgICAgICAgICB2YXIgb2JqID0ge1wNCiAgICAgICAgICAgICAgICBzZXQgXzExXzFfNV83XzJfMih2YWx1ZSkge1wNCiAgICAgICAgICAgICAgICAgICAgcHVibGljID0gNDI7XA0KICAgICAgICAgICAgICAgICAgICBkYXRhID0gdmFsdWU7XA0KICAgICAgICAgICAgICAgIH1cDQogICAgICAgICAgICB9O1wNCiAgICAgICAgICAgIG9iai5fMTFfMV81XzdfMl8yID0gMTsiKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==",
"commentary":"",
"description":"Strict Mode - SyntaxError is thrown when an assignment to a reserved word is made in a strict FunctionBody of a PropertyAssignment",
"onlyStrict":"",
"path":"TestCases/ch11/11.1/11.1.5/11.1.5_7-2-2-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogUmVmZXIgMTEuMS41OyANCiAqICAgVGhlIHByb2R1Y3Rpb24NCiAqICAgICAgUHJvcGVydHlBc3NpZ25tZW50IDogc2V0IFByb3BlcnR5TmFtZSggUHJvcGVydHlTZXRQYXJhbWV0ZXJMaXN0ICkgeyBGdW5jdGlvbkJvZHkgfSANCiAqICAgMy5MZXQgZGVzYyBiZSB0aGUgUHJvcGVydHkgRGVzY3JpcHRvcntbW1NldF1dOiBjbG9zdXJlLCBbW0VudW1lcmFibGVdXTogdHJ1ZSwgW1tDb25maWd1cmFibGVdXTogdHJ1ZX0NCiAqDQogKiBAcGF0aCBjaDExLzExLjEvMTEuMS41LzExLjEuNV83LTMtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdCBsaXRlcmFsIC0gcHJvcGVydHkgZGVzY3JpcHRvciBmb3Igc2V0IHByb3BlcnR5IGFzc2lnbm1lbnQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIGV2YWwoInZhciBvID0ge3NldCBmb28oYXJnKXtyZXR1cm4gMTt9fTsiKTsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG8sImZvbyIpOw0KICBpZihkZXNjLmVudW1lcmFibGUgPT09IHRydWUgJiYNCiAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpDQogICAgcmV0dXJuIHRydWU7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K",
"commentary":"Refer 11.1.5;\n The production\n PropertyAssignment : set PropertyName( PropertySetParameterList ) { FunctionBody }\n 3.Let desc be the Property Descriptor{[[Set]]: closure, [[Enumerable]]: true, [[Configurable]]: true}",
"description":"Object literal - property descriptor for set property assignment",
"path":"TestCases/ch11/11.1/11.1.5/11.1.5_7-3-1.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogUmVmZXIgMTEuMS41OyANCiAqICAgVGhlIHByb2R1Y3Rpb24NCiAqICAgICAgUHJvcGVydHlBc3NpZ25tZW50IDogZ2V0IFByb3BlcnR5TmFtZSAoICkgeyBGdW5jdGlvbkJvZHkgfSANCiAqICAgMy5MZXQgZGVzYyBiZSB0aGUgUHJvcGVydHkgRGVzY3JpcHRvcntbW0dldF1dOiBjbG9zdXJlLCBbW0VudW1lcmFibGVdXTogdHJ1ZSwgW1tDb25maWd1cmFibGVdXTogdHJ1ZX0NCiAqDQogKiBAcGF0aCBjaDExLzExLjEvMTEuMS41LzExLjEuNV83LTMtMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdCBsaXRlcmFsIC0gcHJvcGVydHkgZGVzY3JpcHRvciBmb3Igc2V0IHByb3BlcnR5IGFzc2lnbm1lbnQgc2hvdWxkIG5vdCBjcmVhdGUgYSBnZXQgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIGV2YWwoInZhciBvID0ge3NldCBmb28oYXJnKXt9fTsiKTsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG8sImZvbyIpOw0KICByZXR1cm4gZGVzYy5nZXQgPT09IHVuZGVmaW5lZA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==",
"commentary":"Refer 11.1.5;\n The production\n PropertyAssignment : get PropertyName ( ) { FunctionBody }\n 3.Let desc be the Property Descriptor{[[Get]]: closure, [[Enumerable]]: true, [[Configurable]]: true}",
"description":"Object literal - property descriptor for set property assignment should not create a get function",
"path":"TestCases/ch11/11.1/11.1.5/11.1.5_7-3-2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFdmFsdWF0ZSB0aGUgcHJvZHVjdGlvbiBPYmplY3RMaXRlcmFsOiB7IH0KICoKICogQHBhdGggY2gxMS8xMS4xLzExLjEuNS9TMTEuMS41X0ExLjEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHZhcmlvdXMgcHJvcGVydGVpcyBvZiB0aGUgb2JqZWN0IGRlZmluZWQgd2l0aCAidmFyIG9iamVjdCA9IHt9IgogKi8KCnZhciBvYmplY3QgPSB7fTsKCi8vQ0hFQ0sjMQppZiAodHlwZW9mIG9iamVjdCAhPT0gIm9iamVjdCIpIHsKICAkRVJST1IoJyMxOiB2YXIgb2JqZWN0ID0ge307IHR5cGVvZiBvYmplY3QgPT09ICJvYmplY3QiLiBBY3R1YWw6ICcgKyAodHlwZW9mIG9iamVjdCkpOwp9CgovL0NIRUNLIzIKaWYgKG9iamVjdCBpbnN0YW5jZW9mIE9iamVjdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHZhciBvYmplY3QgPSB7fTsgb2JqZWN0IGluc3RhbmNlb2YgT2JqZWN0ID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAob2JqZWN0LnRvU3RyaW5nICE9PSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nKSB7CiAgJEVSUk9SKCcjMzogdmFyIG9iamVjdCA9IHt9OyBvYmplY3QudG9TdHJpbmcgPT09IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuIEFjdHVhbDogJyArIChvYmplY3QudG9TdHJpbmcpKTsKfQoKLy9DSEVDSyM0CmlmIChvYmplY3QudG9TdHJpbmcoKSAhPT0gIltvYmplY3QgT2JqZWN0XSIpIHsKICAkRVJST1IoJyM0OiB2YXIgb2JqZWN0ID0ge307IG9iamVjdC50b1N0cmluZyA9PT0gIltvYmplY3QgT2JqZWN0XSIuIEFjdHVhbDogJyArIChvYmplY3QudG9TdHJpbmcpKTsKfQoK",
"commentary":"Evaluate the production ObjectLiteral: { }",
"description":"Checking various properteis of the object defined with \"var object = {}\"",
"path":"TestCases/ch11/11.1/11.1.5/S11.1.5_A1.1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFdmFsdWF0ZSB0aGUgcHJvZHVjdGlvbiBPYmplY3RMaXRlcmFsOiB7IE51bWVyaWNMaXRlcmFsIDogQXNzaWdubWVudEV4cHJlc3Npb259CiAqCiAqIEBwYXRoIGNoMTEvMTEuMS8xMS4xLjUvUzExLjEuNV9BMS4yLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB2YXJpb3VzIHByb3BlcnRlaXMgYW5kIGNvbnRlbnRzIG9mIHRoZSBvYmplY3QgZGVmaW5lZCB3aXRoICJ2YXIgb2JqZWN0ID0gezEgOiB0cnVlfSIKICovCgp2YXIgb2JqZWN0ID0gezEgOiB0cnVlfTsKCi8vQ0hFQ0sjMQppZiAodHlwZW9mIG9iamVjdCAhPT0gIm9iamVjdCIpIHsKICAkRVJST1IoJyMxOiB2YXIgb2JqZWN0ID0gezEgOiB0cnVlfTsgdHlwZW9mIG9iamVjdCA9PT0gIm9iamVjdCIuIEFjdHVhbDogJyArICh0eXBlb2Ygb2JqZWN0KSk7Cn0KCi8vQ0hFQ0sjMgppZiAob2JqZWN0IGluc3RhbmNlb2YgT2JqZWN0ICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogdmFyIG9iamVjdCA9IHsxIDogdHJ1ZX07IG9iamVjdCBpbnN0YW5jZW9mIE9iamVjdCA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzMKaWYgKG9iamVjdC50b1N0cmluZyAhPT0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZykgewogICRFUlJPUignIzM6IHZhciBvYmplY3QgPSB7MSA6IHRydWV9OyBvYmplY3QudG9TdHJpbmcgPT09IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuIEFjdHVhbDogJyArIChvYmplY3QudG9TdHJpbmcpKTsKfQoKLy9DSEVDSyM0CmlmIChvYmplY3RbMV0gIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiB2YXIgb2JqZWN0ID0gezEgOiB0cnVlfTsgb2JqZWN0WzFdID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNQppZiAob2JqZWN0WyIxIl0gIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiB2YXIgb2JqZWN0ID0gezEgOiB0cnVlfTsgb2JqZWN0WyIxIl0gPT09IHRydWUnKTsKfQoKCg==",
"commentary":"Evaluate the production ObjectLiteral: { NumericLiteral : AssignmentExpression}",
"description":"Checking various properteis and contents of the object defined with \"var object = {1 : true}\"",
"path":"TestCases/ch11/11.1/11.1.5/S11.1.5_A1.2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFdmFsdWF0ZSB0aGUgcHJvZHVjdGlvbiBPYmplY3RMaXRlcmFsOiB7IFN0cmluZ0xpdGVyYWwgOiBBc3NpZ25tZW50RXhwcmVzc2lvbn0KICoKICogQHBhdGggY2gxMS8xMS4xLzExLjEuNS9TMTEuMS41X0ExLjMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHZhcmlvdXMgcHJvcGVydGVpcyBhbmQgY29udGVudHMgb2YgdGhlIG9iamVjdCBkZWZpbmVkIHdpdGggInZhciBvYmplY3QgPSB7IngiIDogdHJ1ZX0iCiAqLwoKdmFyIG9iamVjdCA9IHsieCIgOiB0cnVlfTsKCi8vQ0hFQ0sjMQppZiAodHlwZW9mIG9iamVjdCAhPT0gIm9iamVjdCIpIHsKICAkRVJST1IoJyMxOiB2YXIgb2JqZWN0ID0geyJ4IiA6IHRydWV9OyB0eXBlb2Ygb2JqZWN0ID09PSAib2JqZWN0Ii4gQWN0dWFsOiAnICsgKHR5cGVvZiBvYmplY3QpKTsKfQoKLy9DSEVDSyMyCmlmIChvYmplY3QgaW5zdGFuY2VvZiBPYmplY3QgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB2YXIgb2JqZWN0ID0geyJ4IiA6IHRydWV9OyBvYmplY3QgaW5zdGFuY2VvZiBPYmplY3QgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMzCmlmIChvYmplY3QudG9TdHJpbmcgIT09IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcpIHsKICAkRVJST1IoJyMzOiB2YXIgb2JqZWN0ID0geyJ4IiA6IHRydWV9OyBvYmplY3QudG9TdHJpbmcgPT09IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuIEFjdHVhbDogJyArIChvYmplY3QudG9TdHJpbmcpKTsKfQoKLy9DSEVDSyM0CmlmIChvYmplY3RbIngiXSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6IHZhciBvYmplY3QgPSB7IngiIDogdHJ1ZX07IG9iamVjdFsieCJdID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNQppZiAob2JqZWN0LnggIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiB2YXIgb2JqZWN0ID0geyJ4IiA6IHRydWV9OyBvYmplY3QueCA9PT0gdHJ1ZScpOwp9Cgo=",
"commentary":"Evaluate the production ObjectLiteral: { StringLiteral : AssignmentExpression}",
"description":"Checking various properteis and contents of the object defined with \"var object = {\"x\" : true}\"",
"path":"TestCases/ch11/11.1/11.1.5/S11.1.5_A1.3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFdmFsdWF0ZSB0aGUgcHJvZHVjdGlvbiBPYmplY3RMaXRlcmFsOiB7IElkZW50aWZpZXIgOiBBc3NpZ25tZW50RXhwcmVzc2lvbn0KICoKICogQHBhdGggY2gxMS8xMS4xLzExLjEuNS9TMTEuMS41X0ExLjQuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHZhcmlvdXMgcHJvcGVydGVpcyBhbmQgY29udGVudHMgb2YgdGhlIG9iamVjdCBkZWZpbmVkIHdpdGggInZhciBvYmplY3QgPSB7cHJvcCA6IHRydWV9IgogKi8KCnZhciBvYmplY3QgPSB7cHJvcCA6IHRydWV9OwoKLy9DSEVDSyMxCmlmICh0eXBlb2Ygb2JqZWN0ICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzE6IHZhciBvYmplY3QgPSB7cHJvcCA6IHRydWV9OyB0eXBlb2Ygb2JqZWN0ID09PSAib2JqZWN0Ii4gQWN0dWFsOiAnICsgKHR5cGVvZiBvYmplY3QpKTsKfQoKLy9DSEVDSyMyCmlmIChvYmplY3QgaW5zdGFuY2VvZiBPYmplY3QgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB2YXIgb2JqZWN0ID0ge3Byb3AgOiB0cnVlfTsgb2JqZWN0IGluc3RhbmNlb2YgT2JqZWN0ID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAob2JqZWN0LnRvU3RyaW5nICE9PSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nKSB7CiAgJEVSUk9SKCcjMzogdmFyIG9iamVjdCA9IHtwcm9wIDogdHJ1ZX07IG9iamVjdC50b1N0cmluZyA9PT0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy4gQWN0dWFsOiAnICsgKG9iamVjdC50b1N0cmluZykpOwp9CgovL0NIRUNLIzQKaWYgKG9iamVjdFsicHJvcCJdICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogdmFyIG9iamVjdCA9IHtwcm9wIDogdHJ1ZX07IG9iamVjdFsicHJvcCJdID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNQppZiAob2JqZWN0LnByb3AgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiB2YXIgb2JqZWN0ID0ge3Byb3AgOiB0cnVlfTsgb2JqZWN0LnByb3AgPT09IHRydWUnKTsKfQoK",
"commentary":"Evaluate the production ObjectLiteral: { Identifier : AssignmentExpression}",
"description":"Checking various properteis and contents of the object defined with \"var object = {prop : true}\"",
"path":"TestCases/ch11/11.1/11.1.5/S11.1.5_A1.4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFdmFsdWF0ZSB0aGUgcHJvZHVjdGlvbiBPYmplY3RMaXRlcmFsOiB7IFByb3BlcnR5TmFtZSA6IEFzc2lnbm1lbnRFeHByZXNzaW9uIH0KICoKICogQHBhdGggY2gxMS8xMS4xLzExLjEuNS9TMTEuMS41X0EyLmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGluZyBwcm9wZXJ0eSAicHJvcCIgb2YgdmFyaW91cyB0eXBlcyhib29sZWFuLCBudW1iZXIgYW5kIGV0Yy4pCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gdHJ1ZTsKdmFyIG9iamVjdCA9IHtwcm9wIDogeH07IAppZiAob2JqZWN0LnByb3AgIT09IHgpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IHRydWU7IHZhciBvYmplY3QgPSB7cHJvcCA6IHh9OyBvYmplY3QucHJvcCA9PT0geC4gQWN0dWFsOiAnICsgKG9iamVjdC5wcm9wKSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgeCA9IG5ldyBCb29sZWFuKHRydWUpOwp2YXIgb2JqZWN0ID0ge3Byb3AgOiB4fTsgCmlmIChvYmplY3QucHJvcCAhPT0geCkgewogICRFUlJPUignIzI6IHZhciB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHZhciBvYmplY3QgPSB7cHJvcCA6IHh9OyBvYmplY3QucHJvcCA9PT0geC4gQWN0dWFsOiAnICsgKG9iamVjdC5wcm9wKSk7Cn0KCi8vQ0hFQ0sjMwp2YXIgeCA9IDE7CnZhciBvYmplY3QgPSB7cHJvcCA6IHh9OyAKaWYgKG9iamVjdC5wcm9wICE9PSB4KSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSAxOyB2YXIgb2JqZWN0ID0ge3Byb3AgOiB4fTsgb2JqZWN0LnByb3AgPT09IHguIEFjdHVhbDogJyArIChvYmplY3QucHJvcCkpOwp9CgovL0NIRUNLIzQKdmFyIHggPSBuZXcgTnVtYmVyKDEpOwp2YXIgb2JqZWN0ID0ge3Byb3AgOiB4fTsgCmlmIChvYmplY3QucHJvcCAhPT0geCkgewogICRFUlJPUignIzQ6IHZhciB4ID0gbmV3IE51bWJlcigxKTsgdmFyIG9iamVjdCA9IHtwcm9wIDogeH07IG9iamVjdC5wcm9wID09PSB4LiBBY3R1YWw6ICcgKyAob2JqZWN0LnByb3ApKTsKfQoKLy9DSEVDSyM1CnZhciB4ID0gIjEiOwp2YXIgb2JqZWN0ID0ge3Byb3AgOiB4fTsgCmlmIChvYmplY3QucHJvcCAhPT0geCkgewogICRFUlJPUignIzU6IHZhciB4ID0gIjEiOyB2YXIgb2JqZWN0ID0ge3Byb3AgOiB4fTsgb2JqZWN0LnByb3AgPT09IHguIEFjdHVhbDogJyArIChvYmplY3QucHJvcCkpOwp9CgovL0NIRUNLIzYKdmFyIHggPSBuZXcgU3RyaW5nKDEpOwp2YXIgb2JqZWN0ID0ge3Byb3AgOiB4fTsgCmlmIChvYmplY3QucHJvcCAhPT0geCkgewogICRFUlJPUignIzY6IHZhciB4ID0gbmV3IFN0cmluZygxKTsgdmFyIG9iamVjdCA9IHtwcm9wIDogeH07IG9iamVjdC5wcm9wID09PSB4LiBBY3R1YWw6ICcgKyAob2JqZWN0LnByb3ApKTsKfQoKLy9DSEVDSyM3CnZhciB4ID0gdW5kZWZpbmVkOwp2YXIgb2JqZWN0ID0ge3Byb3AgOiB4fTsgCmlmIChvYmplY3QucHJvcCAhPT0geCkgewogICRFUlJPUignIzc6IHZhciB4ID0gdW5kZWZpbmVkOyB2YXIgb2JqZWN0ID0ge3Byb3AgOiB4fTsgb2JqZWN0LnByb3AgPT09IHguIEFjdHVhbDogJyArIChvYmplY3QucHJvcCkpOwp9CgovL0NIRUNLIzgKdmFyIHggPSBudWxsOwp2YXIgb2JqZWN0ID0ge3Byb3AgOiB4fTsgCmlmIChvYmplY3QucHJvcCAhPT0geCkgewogICRFUlJPUignIzg6IHZhciB4ID0gbnVsbDsgdmFyIG9iamVjdCA9IHtwcm9wIDogeH07IG9iamVjdC5wcm9wID09PSB4LiBBY3R1YWw6ICcgKyAob2JqZWN0LnByb3ApKTsKfQoKLy9DSEVDSyM5CnZhciB4ID0ge307CnZhciBvYmplY3QgPSB7cHJvcCA6IHh9OyAKaWYgKG9iamVjdC5wcm9wICE9PSB4KSB7CiAgJEVSUk9SKCcjOTogdmFyIHggPSB7fTsgdmFyIG9iamVjdCA9IHtwcm9wIDogeH07IG9iamVjdC5wcm9wID09PSB4LiBBY3R1YWw6ICcgKyAob2JqZWN0LnByb3ApKTsKfQoKLy9DSEVDSyMxMAp2YXIgeCA9IFsxLDJdOwp2YXIgb2JqZWN0ID0ge3Byb3AgOiB4fTsgCmlmIChvYmplY3QucHJvcCAhPT0geCkgewogICRFUlJPUignIzEwOiB2YXIgeCA9IFsxLDJdOyB2YXIgb2JqZWN0ID0ge3Byb3AgOiB4fTsgb2JqZWN0LnByb3AgPT09IHguIEFjdHVhbDogJyArIChvYmplY3QucHJvcCkpOwp9CgovL0NIRUNLIzExCnZhciB4ID0gZnVuY3Rpb24oKSB7fTsKdmFyIG9iamVjdCA9IHtwcm9wIDogeH07IAppZiAob2JqZWN0LnByb3AgIT09IHgpIHsKICAkRVJST1IoJyMxMTogdmFyIHggPSBmdW5jdGlvbigpIHt9OyB2YXIgb2JqZWN0ID0ge3Byb3AgOiB4fTsgb2JqZWN0LnByb3AgPT09IHguIEFjdHVhbDogJyArIChvYmplY3QucHJvcCkpOwp9CgovL0NIRUNLIzEyCnZhciB4ID0gdGhpczsKdmFyIG9iamVjdCA9IHtwcm9wIDogeH07IAppZiAob2JqZWN0LnByb3AgIT09IHgpIHsKICAkRVJST1IoJyMxMjogdmFyIHggPSB0aGlzOyB2YXIgb2JqZWN0ID0ge3Byb3AgOiB4fTsgb2JqZWN0LnByb3AgPT09IHguIEFjdHVhbDogJyArIChvYmplY3QucHJvcCkpOwp9Cgo=",
"commentary":"Evaluate the production ObjectLiteral: { PropertyName : AssignmentExpression }",
"description":"Creating property \"prop\" of various types(boolean, number and etc.)",
"path":"TestCases/ch11/11.1/11.1.5/S11.1.5_A2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFdmFsdWF0ZSB0aGUgcHJvZHVjdGlvbiBPYmplY3RMaXRlcmFsOiB7IFByb3BlcnR5TmFtZUFuZFZhbHVlTGlzdCB9CiAqCiAqIEBwYXRoIGNoMTEvMTEuMS8xMS4xLjUvUzExLjEuNV9BMy5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRpbmcgdGhlIG9iamVjdCBkZWZpbmVkIHdpdGggInZhciBvYmplY3QgPSB7MCA6IDEsICIxIiA6ICJ4IiwgbyA6IHt9fSIKICovCgp2YXIgb2JqZWN0ID0gezAgOiAxLCAiMSIgOiAieCIsIG8gOiB7fX07CgovL0NIRUNLIzEKaWYgKG9iamVjdFswXSAhPT0gMSkgewogICRFUlJPUignIzE6IHZhciBvYmplY3QgPSB7MCA6IDE7ICIxIiA6ICJ4IjsgbyA6IHt9fTsgb2JqZWN0WzBdID09PSAxLiBBY3R1YWw6ICcgKyAob2JqZWN0WzBdKSk7Cn0KCi8vQ0hFQ0sjMgppZiAob2JqZWN0WyIxIl0gIT09ICJ4IikgewogICRFUlJPUignIzI6IHZhciBvYmplY3QgPSB7MCA6IDE7ICIxIiA6ICJ4IjsgbyA6IHt9fTsgb2JqZWN0WyIxIl0gPT09ICJ4Ii4gQWN0dWFsOiAnICsgKG9iamVjdFsiMSJdKSk7Cn0KCi8vQ0hFQ0sjMwppZiAodHlwZW9mIG9iamVjdC5vICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzE6IHZhciBvYmplY3QgPSB7MCA6IDE7ICIxIiA6ICJ4IjsgbyA6IHt9fTsgdHlwZW9mIG9iamVjdC5vID09PSAib2JqZWN0Ii4gQWN0dWFsOiAnICsgKHR5cGVvZiBvYmplY3QubykpOwp9Cgo=",
"commentary":"Evaluate the production ObjectLiteral: { PropertyNameAndValueList }",
"description":"Creating the object defined with \"var object = {0 : 1, \"1\" : \"x\", o : {}}\"",
"path":"TestCases/ch11/11.1/11.1.5/S11.1.5_A3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgUHJvcGVydHlOYW1lIGlzIG5vdCByZWFsbHkgYSBCb29sZWFuTGl0ZXJhbAogKgogKiBAcGF0aCBjaDExLzExLjEvMTEuMS41L1MxMS4xLjVfQTQuMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZXhlY3V0aW9uIG9mICJ2YXIgb2JqZWN0ID0ge3RydWUgOiAxfSIgZG9lcyBub3QgZmFpbAogKi8KCi8vQ0hFQ0sjMQp2YXIgb2JqZWN0ID0ge3RydWUgOiAxfTsKCg==",
"commentary":"The PropertyName is not really a BooleanLiteral",
"description":"Checking if execution of \"var object = {true : 1}\" does not fail",
"path":"TestCases/ch11/11.1/11.1.5/S11.1.5_A4.1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgUHJvcGVydHlOYW1lIGlzIG5vdCByZWFsbHkgYSBudWxsTGl0ZXJhbAogKgogKiBAcGF0aCBjaDExLzExLjEvMTEuMS41L1MxMS4xLjVfQTQuMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZXhlY3V0aW9uIG9mICJ2YXIgb2JqZWN0ID0ge251bGwgOiB0cnVlfSIgZG9lcyBub3QgZmFpbAogKi8KCi8vQ0hFQ0sjMQp2YXIgb2JqZWN0ID0ge251bGwgOiB0cnVlfTsK",
"commentary":"The PropertyName is not really a nullLiteral",
"description":"Checking if execution of \"var object = {null : true}\" does not fail",
"path":"TestCases/ch11/11.1/11.1.5/S11.1.5_A4.2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgUHJvcGVydHlOYW1lIGlzIHVuZGVmaW5lZCwgVG9TdHJpbmcoQm9vbGVhbkxpdGVyYWwpLCBUb1N0cmluZyhudWxsTGl0ZXJhbCkKICoKICogQHBhdGggY2gxMS8xMS4xLzExLjEuNS9TMTEuMS41X0E0LjMuanMKICogQGRlc2NyaXB0aW9uIENyZWF0aW5nIHByb3BlcnRpZXMgd2l0aCBmb2xsb3dpbmcgbmFtZXM6IHVuZGVmaW5lZCwgJ3RydWUnLCAnbnVsbCcKICovCgovL0NIRUNLIzEKdmFyIG9iamVjdCA9IHt1bmRlZmluZWQgOiB0cnVlfTsKaWYgKG9iamVjdC51bmRlZmluZWQgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiB2YXIgb2JqZWN0ID0ge3VuZGVmaW5lZCA6IHRydWV9OyBvYmplY3QudW5kZWZpbmVkID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgp2YXIgb2JqZWN0ID0ge3VuZGVmaW5lZCA6IHRydWV9OwppZiAob2JqZWN0WyJ1bmRlZmluZWQiXSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHZhciBvYmplY3QgPSB7dW5kZWZpbmVkIDogdHJ1ZX07IG9iamVjdFsidW5kZWZpbmVkIl0gPT09IHRydWUnKTsKfQoKLy9DSEVDSyMzCnZhciBvYmplY3QgPSB7InRydWUiIDogdHJ1ZX07CmlmIChvYmplY3RbInRydWUiXSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IHZhciBvYmplY3QgPSB7InRydWUiIDogdHJ1ZX07IG9iamVjdFsidHJ1ZSJdID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNAp2YXIgb2JqZWN0ID0geyJudWxsIiA6IHRydWV9OwppZiAob2JqZWN0WyJudWxsIl0gIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiB2YXIgb2JqZWN0ID0geyJudWxsIiA6IHRydWV9OyBvYmplY3RbIm51bGwiXSA9PT0gdHJ1ZScpOwp9Cgo=",
"commentary":"The PropertyName is undefined, ToString(BooleanLiteral), ToString(nullLiteral)",
"description":"Creating properties with following names: undefined, 'true', 'null'",
"path":"TestCases/ch11/11.1/11.1.5/S11.1.5_A4.3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGluc2lkZSAiZ3JvdXBpbmciIG9wZXJhdG9yIGFyZSBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTEvMTEuMS8xMS4xLjYvUzExLjEuNl9BMS5qcwogKiBAZGVzY3JpcHRpb24gSW5zZXJ0aW5nIFdoaXRlU3BhY2VzIGFuZCBMaW5lVGVybWluYXRvcnMgaW50byBncm91cGluZyBvcGVyYXRvci4gRXZhbCBpcyB1c2VkCiAqLwoKLy9DSEVDSyMxCmlmIChldmFsKCIoXHUwMDA5MVx1MDAwOSkiKSAhPT0gMSkgewogICRFUlJPUignIzE6IChcXHUwMDA5MVxcdTAwMDkpID09PSAxJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoZXZhbCgiKFx1MDAwQjFcdTAwMEIpIikgIT09IDEpIHsKICAkRVJST1IoJyMyOiAoXFx1MDAwQjFcXHUwMDBCKSA9PT0gMScpOyAgCn0KCi8vQ0hFQ0sjMwppZiAoZXZhbCgiKFx1MDAwQzFcdTAwMEMpIikgIT09IDEpIHsKICAkRVJST1IoJyMzOiAoXFx1MDAwQzFcXHUwMDBDKSA9PT0gMScpOwp9CgovL0NIRUNLIzQKaWYgKGV2YWwoIihcdTAwMjAxXHUwMDIwKSIpICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogKFxcdTAwMjAxXFx1MDAyMCA9PT0gMScpOwp9CgovL0NIRUNLIzUKaWYgKGV2YWwoIihcdTAwQTAxXHUwMEEwKSIpICE9PSAxKSB7CiAgJEVSUk9SKCcjNTogKFxcdTAwQTAxXFx1MDBBMCkgPT09IDEnKTsKfQoKLy9DSEVDSyM2CmlmIChldmFsKCIoXHUwMDBBMVx1MDAwQSkiKSAhPT0gMSkgewogICRFUlJPUignIzY6IChcXHUwMDBBMVxcdTAwMEEpID09PSAxJyk7ICAKfQoKLy9DSEVDSyM3CmlmIChldmFsKCIoXHUwMDBEMVx1MDAwRCkiKSAhPT0gMSkgewogICRFUlJPUignIzc6IChcXHUwMDBEMVxcdTAwMEQpID09PSAxJyk7Cn0KCi8vQ0hFQ0sjOAppZiAoZXZhbCgiKFx1MjAyODFcdTIwMjgpIikgIT09IDEpIHsKICAkRVJST1IoJyM4OiAoXFx1MjAyODFcXHUyMDI4KSA9PT0gMScpOwp9CgovL0NIRUNLIzkKaWYgKGV2YWwoIihcdTIwMjkxXHUyMDI5KSIpICE9PSAxKSB7CiAgJEVSUk9SKCcjOTogKFxcdTIwMjkxXFx1MjAyOSkgPT09IDEnKTsKfQoKLy9DSEVDSyMxMAppZiAoZXZhbCgiKFx1MDAwOVx1MDAwQlx1MDAwQ1x1MDAyMFx1MDBBMFx1MDAwQVx1MDAwRFx1MjAyOFx1MjAyOTFcdTAwMDlcdTAwMEJcdTAwMENcdTAwMjBcdTAwQTBcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjkpIikgIT09IDEpIHsKICAkRVJST1IoJyMxMDogKFxcdTAwMDlcXHUwMDBCXFx1MDAwQ1xcdTAwMjBcXHUwMEEwXFx1MDAwQVxcdTAwMERcXHUyMDI4XFx1MjAyOTFcXHUwMDA5XFx1MDAwQlxcdTAwMENcXHUwMDIwXFx1MDBBMFxcdTAwMEFcXHUwMDBEXFx1MjAyOFxcdTIwMjkpID09PSAxJyk7Cn0KCg==",
"commentary":"White Space and Line Terminator inside \"grouping\" operator are allowed",
"description":"Inserting WhiteSpaces and LineTerminators into grouping operator. Eval is used",
"path":"TestCases/ch11/11.1/11.1.6/S11.1.6_A1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAiVGhpcyIgb3BlcmF0b3IgZG9lc24ndCB1c2UgR2V0VmFsdWUuIFRoZSBvcGVyYXRvcnMgImRlbGV0ZSIgYW5kICJ0eXBlb2YiIGNhbiBiZSBhcHBsaWVkIHRvIHBhcmVudGhlc2lzZWQgZXhwcmVzc2lvbnMKICoKICogQHBhdGggY2gxMS8xMS4xLzExLjEuNi9TMTEuMS42X0EyLmpzCiAqIEBkZXNjcmlwdGlvbiBBcHBseWluZyAiZGVsZXRlIiBhbmQgInR5cGVvZiIgb3BlcmF0b3JzIHRvIGFuIHVuZGVmaW5lZCB2YXJpYWJsZSBhbmQgYSBwcm9wZXJ0eSBvZiBhbiBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKGRlbGV0ZSAoeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiBkZWxldGUgKHgpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAodHlwZW9mICh4KSAhPT0gInVuZGVmaW5lZCIpIHsKICAkRVJST1IoJyMyOiB0eXBlb2YgKHgpID09PSAidW5kZWZpbmVkIi4gQWN0dWFsOiAnICsgKHR5cGVvZiAoeCkpKTsKfQoKdmFyIG9iamVjdCA9IHt9OwovL0NIRUNLIzMKaWYgKGRlbGV0ZSAob2JqZWN0LnByb3ApICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogdmFyIG9iamVjdCA9IHt9OyBkZWxldGUgKG9iamVjdC5wcm9wKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzQKaWYgKHR5cGVvZiAob2JqZWN0LnByb3ApICE9PSAidW5kZWZpbmVkIikgewogICRFUlJPUignIzQ6IHZhciBvYmplY3QgPSB7fTsgdHlwZW9mIChvYmplY3QucHJvcCkgPT09ICJ1bmRlZmluZWQiLiBBY3R1YWw6ICcgKyAodHlwZW9mIChvYmplY3QucHJvcCkpKTsKfQoK",
"commentary":"\"This\" operator doesn't use GetValue. The operators \"delete\" and \"typeof\" can be applied to parenthesised expressions",
"description":"Applying \"delete\" and \"typeof\" operators to an undefined variable and a property of an object",
"path":"TestCases/ch11/11.1/11.1.6/S11.1.6_A2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAiVGhpcyIgb3BlcmF0b3Igb25seSBldmFsdWF0ZXMgRXhwcmVzc2lvbgogKgogKiBAcGF0aCBjaDExLzExLjEvMTEuMS42L1MxMS4xLjZfQTNfVDEuanMKICogQGRlc2NyaXB0aW9uIEFwcGx5aW5nIGdyb3VwaW5nIG9wZXJhdG9yIHRvIEJvb2xlYW4KICovCgovLyBDaGVjayBmb3IgQm9vbGVhbgoKLy9DSEVDSyMxCmlmICgodHJ1ZSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiAodHJ1ZSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7CmlmICgoeCkgIT09IHgpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IG5ldyBCb29sZWFuKHRydWUpOyAoeCkgPT09IHguIEFjdHVhbDogJyArICgoeCkpKTsKfQoK",
"commentary":"\"This\" operator only evaluates Expression",
"description":"Applying grouping operator to Boolean",
"path":"TestCases/ch11/11.1/11.1.6/S11.1.6_A3_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAiVGhpcyIgb3BlcmF0b3Igb25seSBldmFsdWF0ZXMgRXhwcmVzc2lvbgogKgogKiBAcGF0aCBjaDExLzExLjEvMTEuMS42L1MxMS4xLjZfQTNfVDIuanMKICogQGRlc2NyaXB0aW9uIEFwcGx5aW5nIGdyb3VwaW5nIG9wZXJhdG9yIHRvIE51bWJlcgogKi8KCi8vQ2hlY2sgZm9yIE51bWJlcgoKLy9DSEVDSyMxCmlmICgoMSkgIT09IDEpIHsKICAkRVJST1IoJyMxOiAoMSkgPT09IDEuIEFjdHVhbDogJyArICgoMSkpKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gbmV3IE51bWJlcigxKTsKaWYgKCh4KSAhPT0geCkgewogICRFUlJPUignIzI6IHZhciB4ID0gbmV3IE51bWJlcigxKTsgKHgpID09PSB4LiBBY3R1YWw6ICcgKyAoKHgpKSk7Cn0KCg==",
"commentary":"\"This\" operator only evaluates Expression",
"description":"Applying grouping operator to Number",
"path":"TestCases/ch11/11.1/11.1.6/S11.1.6_A3_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAiVGhpcyIgb3BlcmF0b3Igb25seSBldmFsdWF0ZXMgRXhwcmVzc2lvbgogKgogKiBAcGF0aCBjaDExLzExLjEvMTEuMS42L1MxMS4xLjZfQTNfVDMuanMKICogQGRlc2NyaXB0aW9uIEFwcGx5aW5nIGdyb3VwaW5nIG9wZXJhdG9yIHRvIFN0cmluZwogKi8KCi8vQ2hlY2sgZm9yIFN0cmluZwoKLy9DSEVDSyMxCmlmICgoIjEiKSAhPT0gIjEiKSB7CiAgJEVSUk9SKCcjMTogKCIxIikgPT09ICIxIi4gQWN0dWFsOiAnICsgKCgiMSIpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoKCJ4IikgIT09ICJ4IikgewogICRFUlJPUignIzI6ICgieCIpID09PSAieCIuIEFjdHVhbDogJyArICgoIngiKSkpOwp9CgovL0NIRUNLIzMKdmFyIHggPSBuZXcgTnVtYmVyKCIxIik7CmlmICgoeCkgIT09IHgpIHsKICAkRVJST1IoJyMzOiB2YXIgeCA9IG5ldyBOdW1iZXIoIjEiKTsgKHgpID09PSB4LiBBY3R1YWw6ICcgKyAoKHgpKSk7Cn0KCg==",
"commentary":"\"This\" operator only evaluates Expression",
"description":"Applying grouping operator to String",
"path":"TestCases/ch11/11.1/11.1.6/S11.1.6_A3_T3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAiVGhpcyIgb3BlcmF0b3Igb25seSBldmFsdWF0ZXMgRXhwcmVzc2lvbgogKgogKiBAcGF0aCBjaDExLzExLjEvMTEuMS42L1MxMS4xLjZfQTNfVDQuanMKICogQGRlc2NyaXB0aW9uIEFwcGx5aW5nIGdyb3VwaW5nIG9wZXJhdG9yIHRvIHVuZGVmaW5lZAogKi8KCi8vQ2hlY2sgZm9yIHVuZGVmaW5lZCBhbmQgbnVsbAoKLy9DSEVDSyMxCmlmICgodW5kZWZpbmVkKSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTogKHVuZGVmaW5lZCkgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKCh1bmRlZmluZWQpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoKHZvaWQgMCkgIT09IHZvaWQgMCkgewogICRFUlJPUignIzI6ICh2b2lkIDApID09PSB2b2lkIDAuIEFjdHVhbDogJyArICgodm9pZCAwKSkpOwp9CgovL0NIRUNLIzIKaWYgKChudWxsKSAhPT0gbnVsbCkgewogICRFUlJPUignIzI6IChudWxsKSA9PT0gbnVsbC4gQWN0dWFsOiAnICsgKChudWxsKSkpOwp9Cgo=",
"commentary":"\"This\" operator only evaluates Expression",
"description":"Applying grouping operator to undefined",
"path":"TestCases/ch11/11.1/11.1.6/S11.1.6_A3_T4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAiVGhpcyIgb3BlcmF0b3Igb25seSBldmFsdWF0ZXMgRXhwcmVzc2lvbgogKgogKiBAcGF0aCBjaDExLzExLjEvMTEuMS42L1MxMS4xLjZfQTNfVDUuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nIGdyb3VwaW5nIG9wZXJhdG9yIGluIGRlY2xhcmF0aW9uIG9mIHZhcmlhYmxlcwogKi8KCi8vQ0hFQ0sjMQooeCkgPSAxOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzE6ICh4KSA9IDE7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgeSA9IDE7ICh5KSsrOyArKyh5KTsgKHkpLS07IC0tKHkpOwppZiAoeSAhPT0gMSkgewogICRFUlJPUignIzI6IHZhciB5ID0gMTsgKHkpKys7ICsrKHkpOyAoeSktLTsgLS0oeSk7IHkgPT09IDEuIEFjdHVhbDogJyArICh5KSk7Cn0KCg==",
"commentary":"\"This\" operator only evaluates Expression",
"description":"Using grouping operator in declaration of variables",
"path":"TestCases/ch11/11.1/11.1.6/S11.1.6_A3_T5.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAiVGhpcyIgb3BlcmF0b3Igb25seSBldmFsdWF0ZXMgRXhwcmVzc2lvbgogKgogKiBAcGF0aCBjaDExLzExLjEvMTEuMS42L1MxMS4xLjZfQTNfVDYuanMKICogQGRlc2NyaXB0aW9uIEFwcGx5aW5nIGdyb3VwaW5nIG9wZXJhdG9yIHRvIGRlbGV0ZSBhbmQgdHlwZW9mIG9wZXJhdG9ycwogKi8KCi8vQ0hFQ0sjMQppZiAoZGVsZXRlICh4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IGRlbGV0ZSAoeCkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCmlmICh0eXBlb2YgKHgpICE9PSAidW5kZWZpbmVkIikgewogICRFUlJPUignIzI6IHR5cGVvZiAoeCkgPT09ICJ1bmRlZmluZWQiLiBBY3R1YWw6ICcgKyAodHlwZW9mICh4KSkpOwp9Cgo=",
"commentary":"\"This\" operator only evaluates Expression",
"description":"Applying grouping operator to delete and typeof operators",
"path":"TestCases/ch11/11.1/11.1.6/S11.1.6_A3_T6.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gQml0d2lzZUFOREV4cHJlc3Npb24gYW5kICImIiBvciBiZXR3ZWVuICImIiBhbmQgRXF1YWxpdHlFeHByZXNzaW9uIGFyZSBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTAvMTEuMTAuMS9TMTEuMTAuMV9BMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdXNlcyBldmFsCiAqLwoKLy9DSEVDSyMxCmlmICgoZXZhbCgiMVx1MDAwOSZcdTAwMDkxIikpICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogKDFcXHUwMDA5JlxcdTAwMDkxKSA9PT0gMScpOwp9CgovL0NIRUNLIzIKaWYgKChldmFsKCIxXHUwMDBCJlx1MDAwQjEiKSkgIT09IDEpIHsKICAkRVJST1IoJyMyOiAoMVxcdTAwMEImXFx1MDAwQjEpID09PSAxJyk7ICAKfQoKLy9DSEVDSyMzCmlmICgoZXZhbCgiMVx1MDAwQyZcdTAwMEMxIikpICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogKDFcXHUwMDBDJlxcdTAwMEMxKSA9PT0gMScpOwp9CgovL0NIRUNLIzQKaWYgKChldmFsKCIxXHUwMDIwJlx1MDAyMDEiKSkgIT09IDEpIHsKICAkRVJST1IoJyM0OiAoMVxcdTAwMjAmXFx1MDAyMDEpID09PSAxJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoKGV2YWwoIjFcdTAwQTAmXHUwMEEwMSIpKSAhPT0gMSkgewogICRFUlJPUignIzU6ICgxXFx1MDBBMCZcXHUwMEEwMSkgPT09IDEnKTsKfQoKLy9DSEVDSyM2CmlmICgoZXZhbCgiMVx1MDAwQSZcdTAwMEExIikpICE9PSAxKSB7CiAgJEVSUk9SKCcjNjogKDFcXHUwMDBBJlxcdTAwMEExKSA9PT0gMScpOyAgCn0KCi8vQ0hFQ0sjNwppZiAoKGV2YWwoIjFcdTAwMEQmXHUwMDBEMSIpKSAhPT0gMSkgewogICRFUlJPUignIzc6ICgxXFx1MDAwRCZcXHUwMDBEMSkgPT09IDEnKTsKfQoKLy9DSEVDSyM4CmlmICgoZXZhbCgiMVx1MjAyOCZcdTIwMjgxIikpICE9PSAxKSB7CiAgJEVSUk9SKCcjODogKDFcXHUyMDI4JlxcdTIwMjgxKSA9PT0gMScpOwp9CgovL0NIRUNLIzkKaWYgKChldmFsKCIxXHUyMDI5Jlx1MjAyOTEiKSkgIT09IDEpIHsKICAkRVJST1IoJyM5OiAoMVxcdTIwMjkmXFx1MjAyOTEpID09PSAxJyk7Cn0KCgovL0NIRUNLIzEwCmlmICgoZXZhbCgiMVx1MDAwOVx1MDAwQlx1MDAwQ1x1MDAyMFx1MDBBMFx1MDAwQVx1MDAwRFx1MjAyOFx1MjAyOSZcdTAwMDlcdTAwMEJcdTAwMENcdTAwMjBcdTAwQTBcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjkxIikpICE9PSAxKSB7CiAgJEVSUk9SKCcjMTA6ICgxXFx1MDAwOVxcdTAwMEJcXHUwMDBDXFx1MDAyMFxcdTAwQTBcXHUwMDBBXFx1MDAwRFxcdTIwMjhcXHUyMDI5JlxcdTAwMDlcXHUwMDBCXFx1MDAwQ1xcdTAwMjBcXHUwMEEwXFx1MDAwQVxcdTAwMERcXHUyMDI4XFx1MjAyOTEpID09PSAxJyk7Cn0KCg==",
"commentary":"White Space and Line Terminator between BitwiseANDExpression and \"&\" or between \"&\" and EqualityExpression are allowed",
"description":"Checking uses eval",
"path":"TestCases/ch11/11.10/11.10.1/S11.10.1_A1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICYgeSB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTAvMTEuMTAuMS9TMTEuMTAuMV9BMi4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBFaXRoZXIgVHlwZSBpcyBub3QgUmVmZXJlbmNlIG9yIEdldEJhc2UgaXMgbm90IG51bGwKICovCgovL0NIRUNLIzEKaWYgKCgxICYgMSkgIT09IDEpIHsKICAkRVJST1IoJyMxOiAoMSAmIDEpID09PSAxLiBBY3R1YWw6ICcgKyAoKDEgJiAxKSkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAxOwppZiAoKHggJiAxKSAhPT0gMSkgewogICRFUlJPUignIzI6IHZhciB4ID0gMTsgKHggJiAxKSA9PT0gMS4gQWN0dWFsOiAnICsgKCh4ICYgMSkpKTsKfQoKLy9DSEVDSyMzCnZhciB5ID0gMTsKaWYgKCgxICYgeSkgIT09IDEpIHsKICAkRVJST1IoJyMzOiB2YXIgeSA9IDE7ICgxICYgeSkgPT09IDEuIEFjdHVhbDogJyArICgoMSAmIHkpKSk7Cn0KCi8vQ0hFQ0sjNAp2YXIgeCA9IDE7CnZhciB5ID0gMTsKaWYgKCh4ICYgeSkgIT09IDEpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IDE7IHZhciB5ID0gMTsgKHggJiB5KSA9PT0gMS4gQWN0dWFsOiAnICsgKCh4ICYgeSkpKTsKfQoKLy9DSEVDSyM1CnZhciBvYmplY3R4ID0gbmV3IE9iamVjdCgpOwp2YXIgb2JqZWN0eSA9IG5ldyBPYmplY3QoKTsKb2JqZWN0eC5wcm9wID0gMTsKb2JqZWN0eS5wcm9wID0gMTsKaWYgKChvYmplY3R4LnByb3AgJiBvYmplY3R5LnByb3ApICE9PSAxKSB7CiAgJEVSUk9SKCcjNTogdmFyIG9iamVjdHggPSBuZXcgT2JqZWN0KCk7IHZhciBvYmplY3R5ID0gbmV3IE9iamVjdCgpOyBvYmplY3R4LnByb3AgPSAxOyBvYmplY3R5LnByb3AgPSAxOyAob2JqZWN0eC5wcm9wICYgb2JqZWN0eS5wcm9wKSA9PT0gMS4gQWN0dWFsOiAnICsgKChvYmplY3R4LnByb3AgJiBvYmplY3R5LnByb3ApKSk7Cn0KCg==",
"commentary":"Operator x & y uses GetValue",
"description":"Either Type is not Reference or GetBase is not null",
"path":"TestCases/ch11/11.10/11.10.1/S11.10.1_A2.1_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICYgeSB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTAvMTEuMTAuMS9TMTEuMTAuMV9BMi4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBHZXRCYXNlKHgpIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgeCAmIDE7CiAgJEVSUk9SKCcjMS4xOiB4ICYgMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHggJiAxKSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiB4ICYgMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoK",
"commentary":"Operator x & y uses GetValue",
"description":"If GetBase(x) is null, throw ReferenceError",
"path":"TestCases/ch11/11.10/11.10.1/S11.10.1_A2.1_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICYgeSB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTAvMTEuMTAuMS9TMTEuMTAuMV9BMi4xX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBHZXRCYXNlKHkpIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgMSAmIHk7CiAgJEVSUk9SKCcjMS4xOiAxICYgeSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKDEgJiB5KSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiAxICYgeSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoKCg==",
"commentary":"Operator x & y uses GetValue",
"description":"If GetBase(y) is null, throw ReferenceError",
"path":"TestCases/ch11/11.10/11.10.1/S11.10.1_A2.1_T3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICYgeSB1c2VzIFtbRGVmYXVsdCBWYWx1ZV1dCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTAvMTEuMTAuMS9TMTEuMTAuMV9BMi4yX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBUeXBlKHZhbHVlKSBpcyBPYmplY3QsIGV2YWx1YXRlIFRvUHJpbWl0aXZlKHZhbHVlLCBOdW1iZXIpCiAqLwoKLy9DSEVDSyMxCmlmICgoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0gJiAxKSAhPT0gMSkgewogICRFUlJPUignIzE6ICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSAmIDEpID09PSAxLiBBY3R1YWw6ICcgKyAoKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19ICYgMSkpKTsKfQoKLy9DSEVDSyMyCmlmICgoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX0gJiAxKSAhPT0gMSkgewogICRFUlJPUignIzI6ICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSAmIDEpID09PSAxLiBBY3R1YWw6ICcgKyAoKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19ICYgMSkpKTsKfQoKLy9DSEVDSyMzCmlmICgoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19ICYgMSkgIT09IDEpIHsKICAkRVJST1IoJyMzOiAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19ICYgMSkgPT09IDEuIEFjdHVhbDogJyArICgoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19ICYgMSkpKTsKfQoKLy9DSEVDSyM0CnRyeSB7CiAgaWYgKCh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19ICYgMSkgIT09IDEpIHsKICAgICRFUlJPUignIzQuMTogKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gJiAxKSA9PT0gMS4gQWN0dWFsOiAnICsgKCh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19ICYgMSkpKTsKICB9Cn0KY2F0Y2ggKGUpIHsKICBpZiAoZSA9PT0gImVycm9yIikgewogICAgJEVSUk9SKCcjNC4yOiAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fSAmIDEpIG5vdCB0aHJvdyAiZXJyb3IiJyk7CiAgfSBlbHNlIHsKICAgICRFUlJPUignIzQuMzogKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gJiAxKSBub3QgdGhyb3cgRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9CgovL0NIRUNLIzUKaWYgKCgxICYge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSAhPT0gMSkgewogICRFUlJPUignIzUuMTogKDEgJiB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0pID09PSAxLiBBY3R1YWw6ICcgKyAoKDEgJiB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0pKSk7Cn0KCi8vQ0hFQ0sjNgppZiAoKDEgJiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0pICE9PSAxKSB7CiAgJEVSUk9SKCcjNjogKDEgJiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0pID09PSAxLiBBY3R1YWw6ICcgKyAoKDEgJiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0pKSk7Cn0KCi8vQ0hFQ0sjNwp0cnkgewogIDEgJiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OwogICRFUlJPUignIzcuMTogMSAmIHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0gdGhyb3cgImVycm9yIi4gQWN0dWFsOiAnICsgKDEgJiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSk7Cn0gIApjYXRjaCAoZSkgewogIGlmIChlICE9PSAiZXJyb3IiKSB7CiAgICAkRVJST1IoJyM3LjI6IDEgJiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19IHRocm93ICJlcnJvciIuIEFjdHVhbDogJyArIChlKSk7CiAgfSAKfQoKLy9DSEVDSyM4CnRyeSB7CiAgMSAmIHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07CiAgJEVSUk9SKCcjOC4xOiAxICYge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArICgxICYge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSkpOwp9ICAKY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyM4LjI6IDEgJiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19IHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9IAp9Cgo=",
"commentary":"Operator x & y uses [[Default Value]]",
"description":"If Type(value) is Object, evaluate ToPrimitive(value, Number)",
"path":"TestCases/ch11/11.10/11.10.1/S11.10.1_A2.2_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUb0ludDMyKGZpcnN0IGV4cHJlc3Npb24pIGlzIGNhbGxlZCBmaXJzdCwgYW5kIHRoZW4gVG9JbnQzMihzZWNvbmQgZXhwcmVzc2lvbikKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4xL1MxMS4xMC4xX0EyLjNfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGJ5IHVzaW5nICJ0aHJvdyIKICovCgovL0NIRUNLIzEKdmFyIHggPSB7IHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9IH07CnZhciB5ID0geyB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfSB9Owp0cnkgewogICB4ICYgeTsKICAgJEVSUk9SKCcjMS4xOiB2YXIgeCA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieCI7IH0gfTsgdmFyIHkgPSB7IHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9IH07IHggJiB5IHRocm93ICJ4Ii4gQWN0dWFsOiAnICsgKHggJiB5KSk7Cn0gY2F0Y2ggKGUpIHsKICAgaWYgKGUgPT09ICJ5IikgewogICAgICRFUlJPUignIzEuMjogVG9JbnQzMihmaXJzdCBleHByZXNzaW9uKSBpcyBjYWxsZWQgZmlyc3QsIGFuZCB0aGVuIFRvSW50MzIoc2Vjb25kIGV4cHJlc3Npb24pJyk7CiAgIH0gZWxzZSB7CiAgICAgaWYgKGUgIT09ICJ4IikgewogICAgICAgJEVSUk9SKCcjMS4zOiB2YXIgeCA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieCI7IH0gfTsgdmFyIHkgPSB7IHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9IH07IHggJiB5IHRocm93ICJ4Ii4gQWN0dWFsOiAnICsgKGUpKTsKICAgICB9CiAgIH0KfQoK",
"commentary":"ToInt32(first expression) is called first, and then ToInt32(second expression)",
"description":"Checking by using \"throw\"",
"path":"TestCases/ch11/11.10/11.10.1/S11.10.1_A2.3_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4xL1MxMS4xMC4xX0EyLjRfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggIj0iCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gMDsgCmlmICgoKHggPSAxKSAmIHgpICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSAwOyAoKHggPSAxKSAmIHgpID09PSAxLiBBY3R1YWw6ICcgKyAoKCh4ID0gMSkgJiB4KSkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAwOyAKaWYgKCh4ICYgKHggPSAxKSkgIT09IDApIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IDA7ICh4ICYgKHggPSAxKSkgPT09IDAuIEFjdHVhbDogJyArICgoeCAmICh4ID0gMSkpKSk7Cn0KCgo=",
"commentary":"First expression is evaluated first, and then second expression",
"description":"Checking with \"=\"",
"path":"TestCases/ch11/11.10/11.10.1/S11.10.1_A2.4_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4xL1MxMS4xMC4xX0EyLjRfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggInRocm93IgogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9Owp2YXIgeSA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9Owp0cnkgewogICB4KCkgJiB5KCk7CiAgICRFUlJPUignIzEuMTogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpICYgeSgpIHRocm93ICJ4Ii4gQWN0dWFsOiAnICsgKHgoKSAmIHkoKSkpOwp9IGNhdGNoIChlKSB7CiAgIGlmIChlID09PSAieSIpIHsKICAgICAkRVJST1IoJyMxLjI6IEZpcnN0IGV4cHJlc3Npb24gaXMgZXZhbHVhdGVkIGZpcnN0LCBhbmQgdGhlbiBzZWNvbmQgZXhwcmVzc2lvbicpOwogICB9IGVsc2UgewogICAgIGlmIChlICE9PSAieCIpIHsKICAgICAgICRFUlJPUignIzEuMzogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpICYgeSgpIHRocm93ICJ4Ii4gQWN0dWFsOiAnICsgKGUpKTsKICAgICB9CiAgIH0KfQoK",
"commentary":"First expression is evaluated first, and then second expression",
"description":"Checking with \"throw\"",
"path":"TestCases/ch11/11.10/11.10.1/S11.10.1_A2.4_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4xL1MxMS4xMC4xX0EyLjRfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggdW5kZWNsYXJhdGVkIHZhcmlhYmxlcwogKiBAbm9TdHJpY3QKICovCgovL0NIRUNLIzEKdHJ5IHsKICB4ICYgKHggPSAxKTsKICAkRVJST1IoJyMxLjE6IHggJiAoeCA9IDEpIHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoeCAmICh4ID0gMSkpKTsKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiB4ICYgKHggPSAxKSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCi8vQ0hFQ0sjMgppZiAoKCh5ID0gMSkgJiB5KSAhPT0gMSkgewogICRFUlJPUignIzI6ICgoeSA9IDEpICYgeSkgPT09IDEuIEFjdHVhbDogJyArICgoKHkgPSAxKSAmIHkpKSk7Cn0KCgo=",
"commentary":"First expression is evaluated first, and then second expression",
"description":"Checking with undeclarated variables",
"noStrict":"",
"path":"TestCases/ch11/11.10/11.10.1/S11.10.1_A2.4_T3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICYgeSByZXR1cm5zIFRvTnVtYmVyKHgpICYgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4xL1MxMS4xMC4xX0EzX1QxLjEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgYXJlIHByaW1pdGl2ZSBib29sZWFuIGFuZCBCb29sZWFuIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAoKHRydWUgJiB0cnVlKSAhPT0gMSkgewogICRFUlJPUignIzE6ICh0cnVlICYgdHJ1ZSkgPT09IDEuIEFjdHVhbDogJyArICgodHJ1ZSAmIHRydWUpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoKG5ldyBCb29sZWFuKHRydWUpICYgdHJ1ZSkgIT09IDEpIHsKICAkRVJST1IoJyMyOiAobmV3IEJvb2xlYW4odHJ1ZSkgJiB0cnVlKSA9PT0gMS4gQWN0dWFsOiAnICsgKChuZXcgQm9vbGVhbih0cnVlKSAmIHRydWUpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoKHRydWUgJiBuZXcgQm9vbGVhbih0cnVlKSkgIT09IDEpIHsKICAkRVJST1IoJyMzOiAodHJ1ZSAmIG5ldyBCb29sZWFuKHRydWUpKSA9PT0gMS4gQWN0dWFsOiAnICsgKCh0cnVlICYgbmV3IEJvb2xlYW4odHJ1ZSkpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoKG5ldyBCb29sZWFuKHRydWUpICYgbmV3IEJvb2xlYW4odHJ1ZSkpICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogKG5ldyBCb29sZWFuKHRydWUpICYgbmV3IEJvb2xlYW4odHJ1ZSkpID09PSAxLiBBY3R1YWw6ICcgKyAoKG5ldyBCb29sZWFuKHRydWUpICYgbmV3IEJvb2xlYW4odHJ1ZSkpKSk7Cn0KCg==",
"commentary":"Operator x & y returns ToNumber(x) & ToNumber(y)",
"description":"Type(x) and Type(y) are primitive boolean and Boolean object",
"path":"TestCases/ch11/11.10/11.10.1/S11.10.1_A3_T1.1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICYgeSByZXR1cm5zIFRvTnVtYmVyKHgpICYgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4xL1MxMS4xMC4xX0EzX1QxLjIuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgYXJlIHByaW1pdGl2ZSBudW1iZXIgYW5kIE51bWJlciBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKCgxICYgMSkgIT09IDEpIHsKICAkRVJST1IoJyMxOiAoMSAmIDEpID09PSAxLiBBY3R1YWw6ICcgKyAoKDEgJiAxKSkpOwp9CgovL0NIRUNLIzIKaWYgKChuZXcgTnVtYmVyKDEpICYgMSkgIT09IDEpIHsKICAkRVJST1IoJyMyOiAobmV3IE51bWJlcigxKSAmIDEpID09PSAxLiBBY3R1YWw6ICcgKyAoKG5ldyBOdW1iZXIoMSkgJiAxKSkpOwp9CgovL0NIRUNLIzMKaWYgKCgxICYgbmV3IE51bWJlcigxKSkgIT09IDEpIHsKICAkRVJST1IoJyMzOiAoMSAmIG5ldyBOdW1iZXIoMSkpID09PSAxLiBBY3R1YWw6ICcgKyAoKDEgJiBuZXcgTnVtYmVyKDEpKSkpOwp9CgovL0NIRUNLIzQKaWYgKChuZXcgTnVtYmVyKDEpICYgbmV3IE51bWJlcigxKSkgIT09IDEpIHsKICAkRVJST1IoJyM0OiAobmV3IE51bWJlcigxKSAmIG5ldyBOdW1iZXIoMSkpID09PSAxLiBBY3R1YWw6ICcgKyAoKG5ldyBOdW1iZXIoMSkgJiBuZXcgTnVtYmVyKDEpKSkpOwp9CgoK",
"commentary":"Operator x & y returns ToNumber(x) & ToNumber(y)",
"description":"Type(x) and Type(y) are primitive number and Number object",
"path":"TestCases/ch11/11.10/11.10.1/S11.10.1_A3_T1.2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICYgeSByZXR1cm5zIFRvTnVtYmVyKHgpICYgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4xL1MxMS4xMC4xX0EzX1QxLjMuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgYXJlIHByaW1pdGl2ZSBzdHJpbmcgYW5kIFN0cmluZyBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKCgiMSIgJiAiMSIpICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogKCIxIiAmICIxIikgPT09IDEuIEFjdHVhbDogJyArICgoIjEiICYgIjEiKSkpOwp9CgovL0NIRUNLIzIKaWYgKChuZXcgU3RyaW5nKCIxIikgJiAiMSIpICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogKG5ldyBTdHJpbmcoIjEiKSAmICIxIikgPT09IDEuIEFjdHVhbDogJyArICgobmV3IFN0cmluZygiMSIpICYgIjEiKSkpOwp9CgovL0NIRUNLIzMKaWYgKCgiMSIgJiBuZXcgU3RyaW5nKCIxIikpICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogKCIxIiAmIG5ldyBTdHJpbmcoIjEiKSkgPT09IDEuIEFjdHVhbDogJyArICgoIjEiICYgbmV3IFN0cmluZygiMSIpKSkpOwp9CgovL0NIRUNLIzQKaWYgKChuZXcgU3RyaW5nKCIxIikgJiBuZXcgU3RyaW5nKCIxIikpICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogKG5ldyBTdHJpbmcoIjEiKSAmIG5ldyBTdHJpbmcoIjEiKSkgPT09IDEuIEFjdHVhbDogJyArICgobmV3IFN0cmluZygiMSIpICYgbmV3IFN0cmluZygiMSIpKSkpOwp9CgovL0NIRUNLIzUKaWYgKCgieCIgJiAiMSIpICE9PSAwKSB7CiAgJEVSUk9SKCcjNTogKCJ4IiAmICIxIikgPT09IDAuIEFjdHVhbDogJyArICgoIngiICYgIjEiKSkpOwp9CgovL0NIRUNLIzYKaWYgKCgiMSIgJiAieCIpICE9PSAwKSB7CiAgJEVSUk9SKCcjNjogKCIxIiAmICJ4IikgPT09IDAuIEFjdHVhbDogJyArICgoIjEiICYgIngiKSkpOwp9Cgo=",
"commentary":"Operator x & y returns ToNumber(x) & ToNumber(y)",
"description":"Type(x) and Type(y) are primitive string and String object",
"path":"TestCases/ch11/11.10/11.10.1/S11.10.1_A3_T1.3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICYgeSByZXR1cm5zIFRvTnVtYmVyKHgpICYgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4xL1MxMS4xMC4xX0EzX1QxLjQuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgYXJlIG51bGwgYW5kIHVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQppZiAoKG51bGwgJiB1bmRlZmluZWQpICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogKG51bGwgJiB1bmRlZmluZWQpID09PSAwLiBBY3R1YWw6ICcgKyAoKG51bGwgJiB1bmRlZmluZWQpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoKHVuZGVmaW5lZCAmIG51bGwpICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogKHVuZGVmaW5lZCAmIG51bGwpID09PSAwLiBBY3R1YWw6ICcgKyAoKHVuZGVmaW5lZCAmIG51bGwpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoKHVuZGVmaW5lZCAmIHVuZGVmaW5lZCkgIT09IDApIHsKICAkRVJST1IoJyMzOiAodW5kZWZpbmVkICYgdW5kZWZpbmVkKSA9PT0gMC4gQWN0dWFsOiAnICsgKCh1bmRlZmluZWQgJiB1bmRlZmluZWQpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoKG51bGwgJiBudWxsKSAhPT0gMCkgewogICRFUlJPUignIzQ6IChudWxsICYgbnVsbCkgPT09IDAuIEFjdHVhbDogJyArICgobnVsbCAmIG51bGwpKSk7Cn0KCg==",
"commentary":"Operator x & y returns ToNumber(x) & ToNumber(y)",
"description":"Type(x) and Type(y) are null and undefined",
"path":"TestCases/ch11/11.10/11.10.1/S11.10.1_A3_T1.4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICYgeSByZXR1cm5zIFRvTnVtYmVyKHgpICYgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4xL1MxMS4xMC4xX0EzX1QxLjUuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgYXJlIE9iamVjdCBvYmplY3QgYW5kIEZ1bmN0aW9uIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAoKHt9ICYgZnVuY3Rpb24oKXtyZXR1cm4gMX0pICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogKHt9ICYgZnVuY3Rpb24oKXtyZXR1cm4gMX0pID09PSAwLiBBY3R1YWw6ICcgKyAoKHt9ICYgZnVuY3Rpb24oKXtyZXR1cm4gMX0pKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoKGZ1bmN0aW9uKCl7cmV0dXJuIDF9ICYge30pICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogKGZ1bmN0aW9uKCl7cmV0dXJuIDF9ICYge30pID09PSAwLiBBY3R1YWw6ICcgKyAoKGZ1bmN0aW9uKCl7cmV0dXJuIDF9ICYge30pKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoKGZ1bmN0aW9uKCl7cmV0dXJuIDF9ICYgZnVuY3Rpb24oKXtyZXR1cm4gMX0pICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogKGZ1bmN0aW9uKCl7cmV0dXJuIDF9ICYgZnVuY3Rpb24oKXtyZXR1cm4gMX0pID09PSAwLiBBY3R1YWw6ICcgKyAoKGZ1bmN0aW9uKCl7cmV0dXJuIDF9ICYgZnVuY3Rpb24oKXtyZXR1cm4gMX0pKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoKHt9ICYge30pICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogKHt9ICYge30pID09PSAwLiBBY3R1YWw6ICcgKyAoKHt9ICYge30pKSk7Cn0KCgo=",
"commentary":"Operator x & y returns ToNumber(x) & ToNumber(y)",
"description":"Type(x) and Type(y) are Object object and Function object",
"path":"TestCases/ch11/11.10/11.10.1/S11.10.1_A3_T1.5.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICYgeSByZXR1cm5zIFRvTnVtYmVyKHgpICYgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4xL1MxMS4xMC4xX0EzX1QyLjEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgQm9vbGVhbiAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCmlmICgodHJ1ZSAmIDEpICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogKHRydWUgJiAxKSA9PT0gMS4gQWN0dWFsOiAnICsgKCh0cnVlICYgMSkpKTsKfQoKLy9DSEVDSyMyCmlmICgoMSAmIHRydWUpICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogKDEgJiB0cnVlKSA9PT0gMS4gQWN0dWFsOiAnICsgKCgxICYgdHJ1ZSkpKTsKfQoKLy9DSEVDSyMzCmlmICgobmV3IEJvb2xlYW4odHJ1ZSkgJiAxKSAhPT0gMSkgewogICRFUlJPUignIzM6IChuZXcgQm9vbGVhbih0cnVlKSAmIDEpID09PSAxLiBBY3R1YWw6ICcgKyAoKG5ldyBCb29sZWFuKHRydWUpICYgMSkpKTsKfQoKLy9DSEVDSyM0CmlmICgoMSAmIG5ldyBCb29sZWFuKHRydWUpKSAhPT0gMSkgewogICRFUlJPUignIzQ6ICgxICYgbmV3IEJvb2xlYW4odHJ1ZSkpID09PSAxLiBBY3R1YWw6ICcgKyAoKDEgJiBuZXcgQm9vbGVhbih0cnVlKSkpKTsKfQoKLy9DSEVDSyM1CmlmICgodHJ1ZSAmIG5ldyBOdW1iZXIoMSkpICE9PSAxKSB7CiAgJEVSUk9SKCcjNTogKHRydWUgJiBuZXcgTnVtYmVyKDEpKSA9PT0gMS4gQWN0dWFsOiAnICsgKCh0cnVlICYgbmV3IE51bWJlcigxKSkpKTsKfQoKLy9DSEVDSyM2CmlmICgobmV3IE51bWJlcigxKSAmIHRydWUpICE9PSAxKSB7CiAgJEVSUk9SKCcjNjogKG5ldyBOdW1iZXIoMSkgJiB0cnVlKSA9PT0gMS4gQWN0dWFsOiAnICsgKChuZXcgTnVtYmVyKDEpICYgdHJ1ZSkpKTsKfQoKLy9DSEVDSyM3CmlmICgobmV3IEJvb2xlYW4odHJ1ZSkgJiBuZXcgTnVtYmVyKDEpKSAhPT0gMSkgewogICRFUlJPUignIzc6IChuZXcgQm9vbGVhbih0cnVlKSAmIG5ldyBOdW1iZXIoMSkpID09PSAxLiBBY3R1YWw6ICcgKyAoKG5ldyBCb29sZWFuKHRydWUpICYgbmV3IE51bWJlcigxKSkpKTsKfQoKLy9DSEVDSyM4CmlmICgobmV3IE51bWJlcigxKSAmIG5ldyBCb29sZWFuKHRydWUpKSAhPT0gMSkgewogICRFUlJPUignIzg6IChuZXcgTnVtYmVyKDEpICYgbmV3IEJvb2xlYW4odHJ1ZSkpID09PSAxLiBBY3R1YWw6ICcgKyAoKG5ldyBOdW1iZXIoMSkgJiBuZXcgQm9vbGVhbih0cnVlKSkpKTsKfQoK",
"commentary":"Operator x & y returns ToNumber(x) & ToNumber(y)",
"description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Boolean (primitive and object)",
"path":"TestCases/ch11/11.10/11.10.1/S11.10.1_A3_T2.1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICYgeSByZXR1cm5zIFRvTnVtYmVyKHgpICYgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4xL1MxMS4xMC4xX0EzX1QyLjIuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgU3RyaW5nIChwcmltaXRpdmUgYW5kIG9iamVjdCkKICovCgovL0NIRUNLIzEKaWYgKCgiMSIgJiAxKSAhPT0gMSkgewogICRFUlJPUignIzE6ICgiMSIgJiAxKSA9PT0gMS4gQWN0dWFsOiAnICsgKCgiMSIgJiAxKSkpOwp9CgovL0NIRUNLIzIKaWYgKCgxICYgIjEiKSAhPT0gMSkgewogICRFUlJPUignIzI6ICgxICYgIjEiKSA9PT0gMS4gQWN0dWFsOiAnICsgKCgxICYgIjEiKSkpOwp9CgovL0NIRUNLIzMKaWYgKChuZXcgU3RyaW5nKCIxIikgJiAxKSAhPT0gMSkgewogICRFUlJPUignIzM6IChuZXcgU3RyaW5nKCIxIikgJiAxKSA9PT0gMS4gQWN0dWFsOiAnICsgKChuZXcgU3RyaW5nKCIxIikgJiAxKSkpOwp9CgovL0NIRUNLIzQKaWYgKCgxICYgbmV3IFN0cmluZygiMSIpKSAhPT0gMSkgewogICRFUlJPUignIzQ6ICgxICYgbmV3IFN0cmluZygiMSIpKSA9PT0gMS4gQWN0dWFsOiAnICsgKCgxICYgbmV3IFN0cmluZygiMSIpKSkpOwp9CgovL0NIRUNLIzUKaWYgKCgiMSIgJiBuZXcgTnVtYmVyKDEpKSAhPT0gMSkgewogICRFUlJPUignIzU6ICgiMSIgJiBuZXcgTnVtYmVyKDEpKSA9PT0gMS4gQWN0dWFsOiAnICsgKCgiMSIgJiBuZXcgTnVtYmVyKDEpKSkpOwp9CgovL0NIRUNLIzYKaWYgKChuZXcgTnVtYmVyKDEpICYgIjEiKSAhPT0gMSkgewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKDEpICYgIjEiKSA9PT0gMS4gQWN0dWFsOiAnICsgKChuZXcgTnVtYmVyKDEpICYgIjEiKSkpOwp9CgovL0NIRUNLIzcKaWYgKChuZXcgU3RyaW5nKCIxIikgJiBuZXcgTnVtYmVyKDEpKSAhPT0gMSkgewogICRFUlJPUignIzc6IChuZXcgU3RyaW5nKCIxIikgJiBuZXcgTnVtYmVyKDEpKSA9PT0gMS4gQWN0dWFsOiAnICsgKChuZXcgU3RyaW5nKCIxIikgJiBuZXcgTnVtYmVyKDEpKSkpOwp9CgovL0NIRUNLIzgKaWYgKChuZXcgTnVtYmVyKDEpICYgbmV3IFN0cmluZygiMSIpKSAhPT0gMSkgewogICRFUlJPUignIzg6IChuZXcgTnVtYmVyKDEpICYgbmV3IFN0cmluZygiMSIpKSA9PT0gMS4gQWN0dWFsOiAnICsgKChuZXcgTnVtYmVyKDEpICYgbmV3IFN0cmluZygiMSIpKSkpOwp9CgovL0NIRUNLIzkKaWYgKCgieCIgJiAxKSAhPT0gMCkgewogICRFUlJPUignIzk6ICgieCIgJiAxKSA9PT0gMC4gQWN0dWFsOiAnICsgKCgieCIgJiAxKSkpOwp9CgovL0NIRUNLIzEwCmlmICgoMSAmICJ4IikgIT09IDApIHsKICAkRVJST1IoJyMxMDogKDEgJiAieCIpID09PSAwLiBBY3R1YWw6ICcgKyAoKDEgJiAieCIpKSk7Cn0KCg==",
"commentary":"Operator x & y returns ToNumber(x) & ToNumber(y)",
"description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object)",
"path":"TestCases/ch11/11.10/11.10.1/S11.10.1_A3_T2.2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICYgeSByZXR1cm5zIFRvTnVtYmVyKHgpICYgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4xL1MxMS4xMC4xX0EzX1QyLjMuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQppZiAoKDEgJiBudWxsKSAhPT0gMCkgewogICRFUlJPUignIzE6ICgxICYgbnVsbCkgPT09IDAuIEFjdHVhbDogJyArICgoMSAmIG51bGwpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoKG51bGwgJiAxKSAhPT0gMCkgewogICRFUlJPUignIzI6IChudWxsICYgMSkgPT09IDAuIEFjdHVhbDogJyArICgobnVsbCAmIDEpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoKG5ldyBOdW1iZXIoMSkgJiBudWxsKSAhPT0gMCkgewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDEpICYgbnVsbCkgPT09IDAuIEFjdHVhbDogJyArICgobmV3IE51bWJlcigxKSAmIG51bGwpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoKG51bGwgJiBuZXcgTnVtYmVyKDEpKSAhPT0gMCkgewogICRFUlJPUignIzQ6IChudWxsICYgbmV3IE51bWJlcigxKSkgPT09IDAuIEFjdHVhbDogJyArICgobnVsbCAmIG5ldyBOdW1iZXIoMSkpKSk7Cn0KCg==",
"commentary":"Operator x & y returns ToNumber(x) & ToNumber(y)",
"description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null",
"path":"TestCases/ch11/11.10/11.10.1/S11.10.1_A3_T2.3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICYgeSByZXR1cm5zIFRvTnVtYmVyKHgpICYgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4xL1MxMS4xMC4xX0EzX1QyLjQuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCmlmICgoMSAmIHVuZGVmaW5lZCkgIT09IDApIHsKICAkRVJST1IoJyMxOiAoMSAmIHVuZGVmaW5lZCkgPT09IDAuIEFjdHVhbDogJyArICgoMSAmIHVuZGVmaW5lZCkpKTsKfQoKLy9DSEVDSyMyCmlmICgodW5kZWZpbmVkICYgMSkgIT09IDApIHsKICAkRVJST1IoJyMyOiAodW5kZWZpbmVkICYgMSkgPT09IDAuIEFjdHVhbDogJyArICgodW5kZWZpbmVkICYgMSkpKTsKfQoKLy9DSEVDSyMzCmlmICgobmV3IE51bWJlcigxKSAmIHVuZGVmaW5lZCkgIT09IDApIHsKICAkRVJST1IoJyMzOiAobmV3IE51bWJlcigxKSAmIHVuZGVmaW5lZCkgPT09IDAuIEFjdHVhbDogJyArICgobmV3IE51bWJlcigxKSAmIHVuZGVmaW5lZCkpKTsKfQoKLy9DSEVDSyM0CmlmICgodW5kZWZpbmVkICYgbmV3IE51bWJlcigxKSkgIT09IDApIHsKICAkRVJST1IoJyM0OiAodW5kZWZpbmVkICYgbmV3IE51bWJlcigxKSkgPT09IDAuIEFjdHVhbDogJyArICgodW5kZWZpbmVkICYgbmV3IE51bWJlcigxKSkpKTsKfQoK",
"commentary":"Operator x & y returns ToNumber(x) & ToNumber(y)",
"description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined",
"path":"TestCases/ch11/11.10/11.10.1/S11.10.1_A3_T2.4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICYgeSByZXR1cm5zIFRvTnVtYmVyKHgpICYgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4xL1MxMS4xMC4xX0EzX1QyLjUuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgdXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyBhcmUgU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBvciBCb29sZWFuIChwcmltaXRpdmUgYW5kIG9iamVjdCkKICovCgovL0NIRUNLIzEKaWYgKCh0cnVlICYgIjEiKSAhPT0gMSkgewogICRFUlJPUignIzE6ICh0cnVlICYgIjEiKSA9PT0gMS4gQWN0dWFsOiAnICsgKCh0cnVlICYgIjEiKSkpOwp9CgovL0NIRUNLIzIKaWYgKCgiMSIgJiB0cnVlKSAhPT0gMSkgewogICRFUlJPUignIzI6ICgiMSIgJiB0cnVlKSA9PT0gMS4gQWN0dWFsOiAnICsgKCgiMSIgJiB0cnVlKSkpOwp9CgovL0NIRUNLIzMKaWYgKChuZXcgQm9vbGVhbih0cnVlKSAmICIxIikgIT09IDEpIHsKICAkRVJST1IoJyMzOiAobmV3IEJvb2xlYW4odHJ1ZSkgJiAiMSIpID09PSAxLiBBY3R1YWw6ICcgKyAoKG5ldyBCb29sZWFuKHRydWUpICYgIjEiKSkpOwp9CgovL0NIRUNLIzQKaWYgKCgiMSIgJiBuZXcgQm9vbGVhbih0cnVlKSkgIT09IDEpIHsKICAkRVJST1IoJyM0OiAoIjEiICYgbmV3IEJvb2xlYW4odHJ1ZSkpID09PSAxLiBBY3R1YWw6ICcgKyAoKCIxIiAmIG5ldyBCb29sZWFuKHRydWUpKSkpOwp9CgovL0NIRUNLIzUKaWYgKCh0cnVlICYgbmV3IFN0cmluZygiMSIpKSAhPT0gMSkgewogICRFUlJPUignIzU6ICh0cnVlICYgbmV3IFN0cmluZygiMSIpKSA9PT0gMS4gQWN0dWFsOiAnICsgKCh0cnVlICYgbmV3IFN0cmluZygiMSIpKSkpOwp9CgovL0NIRUNLIzYKaWYgKChuZXcgU3RyaW5nKCIxIikgJiB0cnVlKSAhPT0gMSkgewogICRFUlJPUignIzY6IChuZXcgU3RyaW5nKCIxIikgJiB0cnVlKSA9PT0gMS4gQWN0dWFsOiAnICsgKChuZXcgU3RyaW5nKCIxIikgJiB0cnVlKSkpOwp9CgovL0NIRUNLIzcKaWYgKChuZXcgQm9vbGVhbih0cnVlKSAmIG5ldyBTdHJpbmcoIjEiKSkgIT09IDEpIHsKICAkRVJST1IoJyM3OiAobmV3IEJvb2xlYW4odHJ1ZSkgJiBuZXcgU3RyaW5nKCIxIikpID09PSAxLiBBY3R1YWw6ICcgKyAoKG5ldyBCb29sZWFuKHRydWUpICYgbmV3IFN0cmluZygiMSIpKSkpOwp9CgovL0NIRUNLIzgKaWYgKChuZXcgU3RyaW5nKCIxIikgJiBuZXcgQm9vbGVhbih0cnVlKSkgIT09IDEpIHsKICAkRVJST1IoJyM4OiAobmV3IFN0cmluZygiMSIpICYgbmV3IEJvb2xlYW4odHJ1ZSkpID09PSAxLiBBY3R1YWw6ICcgKyAoKG5ldyBTdHJpbmcoIjEiKSAmIG5ldyBCb29sZWFuKHRydWUpKSkpOwp9Cgo=",
"commentary":"Operator x & y returns ToNumber(x) & ToNumber(y)",
"description":"Type(x) us different from Type(y) and both types are String (primitive or object) or Boolean (primitive and object)",
"path":"TestCases/ch11/11.10/11.10.1/S11.10.1_A3_T2.5.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICYgeSByZXR1cm5zIFRvTnVtYmVyKHgpICYgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4xL1MxMS4xMC4xX0EzX1QyLjYuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCmlmICgoIjEiICYgdW5kZWZpbmVkKSAhPT0gMCkgewogICRFUlJPUignIzE6ICgiMSIgJiB1bmRlZmluZWQpID09PSAwLiBBY3R1YWw6ICcgKyAoKCIxIiAmIHVuZGVmaW5lZCkpKTsKfQoKLy9DSEVDSyMyCmlmICgodW5kZWZpbmVkICYgIjEiKSAhPT0gMCkgewogICRFUlJPUignIzI6ICh1bmRlZmluZWQgJiAiMSIpID09PSAwLiBBY3R1YWw6ICcgKyAoKHVuZGVmaW5lZCAmICIxIikpKTsKfQoKLy9DSEVDSyMzCmlmICgobmV3IFN0cmluZygiMSIpICYgdW5kZWZpbmVkKSAhPT0gMCkgewogICRFUlJPUignIzM6IChuZXcgU3RyaW5nKCIxIikgJiB1bmRlZmluZWQpID09PSAwLiBBY3R1YWw6ICcgKyAoKG5ldyBTdHJpbmcoIjEiKSAmIHVuZGVmaW5lZCkpKTsKfQoKLy9DSEVDSyM0CmlmICgodW5kZWZpbmVkICYgbmV3IFN0cmluZygiMSIpKSAhPT0gMCkgewogICRFUlJPUignIzQ6ICh1bmRlZmluZWQgJiBuZXcgU3RyaW5nKCIxIikpID09PSAwLiBBY3R1YWw6ICcgKyAoKHVuZGVmaW5lZCAmIG5ldyBTdHJpbmcoIjEiKSkpKTsKfQoK",
"commentary":"Operator x & y returns ToNumber(x) & ToNumber(y)",
"description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Undefined",
"path":"TestCases/ch11/11.10/11.10.1/S11.10.1_A3_T2.6.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICYgeSByZXR1cm5zIFRvTnVtYmVyKHgpICYgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4xL1MxMS4xMC4xX0EzX1QyLjcuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQppZiAoKCIxIiAmIG51bGwpICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogKCIxIiAmIG51bGwpID09PSAwLiBBY3R1YWw6ICcgKyAoKCIxIiAmIG51bGwpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoKG51bGwgJiAiMSIpICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogKG51bGwgJiAiMSIpID09PSAwLiBBY3R1YWw6ICcgKyAoKG51bGwgJiAiMSIpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoKG5ldyBTdHJpbmcoIjEiKSAmIG51bGwpICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogKG5ldyBTdHJpbmcoIjEiKSAmIG51bGwpID09PSAwLiBBY3R1YWw6ICcgKyAoKG5ldyBTdHJpbmcoIjEiKSAmIG51bGwpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoKG51bGwgJiBuZXcgU3RyaW5nKCIxIikpICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogKG51bGwgJiBuZXcgU3RyaW5nKCIxIikpID09PSAwLiBBY3R1YWw6ICcgKyAoKG51bGwgJiBuZXcgU3RyaW5nKCIxIikpKSk7Cn0KCg==",
"commentary":"Operator x & y returns ToNumber(x) & ToNumber(y)",
"description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null",
"path":"TestCases/ch11/11.10/11.10.1/S11.10.1_A3_T2.7.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICYgeSByZXR1cm5zIFRvTnVtYmVyKHgpICYgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4xL1MxMS4xMC4xX0EzX1QyLjguanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gQm9vbGVhbiAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQppZiAoKHRydWUgJiB1bmRlZmluZWQpICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogKHRydWUgJiB1bmRlZmluZWQpID09PSAwLiBBY3R1YWw6ICcgKyAoKHRydWUgJiB1bmRlZmluZWQpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoKHVuZGVmaW5lZCAmIHRydWUpICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogKHVuZGVmaW5lZCAmIHRydWUpID09PSAwLiBBY3R1YWw6ICcgKyAoKHVuZGVmaW5lZCAmIHRydWUpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoKG5ldyBCb29sZWFuKHRydWUpICYgdW5kZWZpbmVkKSAhPT0gMCkgewogICRFUlJPUignIzM6IChuZXcgQm9vbGVhbih0cnVlKSAmIHVuZGVmaW5lZCkgPT09IDAuIEFjdHVhbDogJyArICgobmV3IEJvb2xlYW4odHJ1ZSkgJiB1bmRlZmluZWQpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoKHVuZGVmaW5lZCAmIG5ldyBCb29sZWFuKHRydWUpKSAhPT0gMCkgewogICRFUlJPUignIzQ6ICh1bmRlZmluZWQgJiBuZXcgQm9vbGVhbih0cnVlKSkgPT09IDAuIEFjdHVhbDogJyArICgodW5kZWZpbmVkICYgbmV3IEJvb2xlYW4odHJ1ZSkpKSk7Cn0KCg==",
"commentary":"Operator x & y returns ToNumber(x) & ToNumber(y)",
"description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined",
"path":"TestCases/ch11/11.10/11.10.1/S11.10.1_A3_T2.8.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICYgeSByZXR1cm5zIFRvTnVtYmVyKHgpICYgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4xL1MxMS4xMC4xX0EzX1QyLjkuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gQm9vbGVhbiAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIE51bGwKICovCgovL0NIRUNLIzEKaWYgKCh0cnVlICYgbnVsbCkgIT09IDApIHsKICAkRVJST1IoJyMxOiAodHJ1ZSAmIG51bGwpID09PSAwLiBBY3R1YWw6ICcgKyAoKHRydWUgJiBudWxsKSkpOwp9CgovL0NIRUNLIzIKaWYgKChudWxsICYgdHJ1ZSkgIT09IDApIHsKICAkRVJST1IoJyMyOiAobnVsbCAmIHRydWUpID09PSAwLiBBY3R1YWw6ICcgKyAoKG51bGwgJiB0cnVlKSkpOwp9CgovL0NIRUNLIzMKaWYgKChuZXcgQm9vbGVhbih0cnVlKSAmIG51bGwpICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogKG5ldyBCb29sZWFuKHRydWUpICYgbnVsbCkgPT09IDAuIEFjdHVhbDogJyArICgobmV3IEJvb2xlYW4odHJ1ZSkgJiBudWxsKSkpOwp9CgovL0NIRUNLIzQKaWYgKChudWxsICYgbmV3IEJvb2xlYW4odHJ1ZSkpICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogKG51bGwgJiBuZXcgQm9vbGVhbih0cnVlKSkgPT09IDAuIEFjdHVhbDogJyArICgobnVsbCAmIG5ldyBCb29sZWFuKHRydWUpKSkpOwp9Cgo=",
"commentary":"Operator x & y returns ToNumber(x) & ToNumber(y)",
"description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null",
"path":"TestCases/ch11/11.10/11.10.1/S11.10.1_A3_T2.9.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gQml0d2lzZVhPUkV4cHJlc3Npb24gYW5kICJeIiBvciBiZXR3ZWVuICJeIiBhbmQgQml0d2lzZUFOREV4cHJlc3Npb24gYXJlIGFsbG93ZWQKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4yL1MxMS4xMC4yX0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgY2hlY2sgdXNlcyBldmFsCiAqLwoKLy9DSEVDSyMxCmlmICgoZXZhbCgiMVx1MDAwOV5cdTAwMDkxIikpICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogKDFcXHUwMDA5XlxcdTAwMDkxKSA9PT0gMCcpOwp9CgovL0NIRUNLIzIKaWYgKChldmFsKCIxXHUwMDBCXlx1MDAwQjEiKSkgIT09IDApIHsKICAkRVJST1IoJyMyOiAoMVxcdTAwMEJeXFx1MDAwQjEpID09PSAwJyk7ICAKfQoKLy9DSEVDSyMzCmlmICgoZXZhbCgiMVx1MDAwQ15cdTAwMEMxIikpICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogKDFcXHUwMDBDXlxcdTAwMEMxKSA9PT0gMCcpOwp9CgovL0NIRUNLIzQKaWYgKChldmFsKCIxXHUwMDIwXlx1MDAyMDEiKSkgIT09IDApIHsKICAkRVJST1IoJyM0OiAoMVxcdTAwMjBeXFx1MDAyMDEpID09PSAwJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoKGV2YWwoIjFcdTAwQTBeXHUwMEEwMSIpKSAhPT0gMCkgewogICRFUlJPUignIzU6ICgxXFx1MDBBMF5cXHUwMEEwMSkgPT09IDAnKTsKfQoKLy9DSEVDSyM2CmlmICgoZXZhbCgiMVx1MDAwQV5cdTAwMEExIikpICE9PSAwKSB7CiAgJEVSUk9SKCcjNjogKDFcXHUwMDBBXlxcdTAwMEExKSA9PT0gMCcpOyAgCn0KCi8vQ0hFQ0sjNwppZiAoKGV2YWwoIjFcdTAwMEReXHUwMDBEMSIpKSAhPT0gMCkgewogICRFUlJPUignIzc6ICgxXFx1MDAwRF5cXHUwMDBEMSkgPT09IDAnKTsKfQoKLy9DSEVDSyM4CmlmICgoZXZhbCgiMVx1MjAyOF5cdTIwMjgxIikpICE9PSAwKSB7CiAgJEVSUk9SKCcjODogKDFcXHUyMDI4XlxcdTIwMjgxKSA9PT0gMCcpOwp9CgovL0NIRUNLIzkKaWYgKChldmFsKCIxXHUyMDI5Xlx1MjAyOTEiKSkgIT09IDApIHsKICAkRVJST1IoJyM5OiAoMVxcdTIwMjleXFx1MjAyOTEpID09PSAwJyk7Cn0KCgovL0NIRUNLIzEwCmlmICgoZXZhbCgiMVx1MDAwOVx1MDAwQlx1MDAwQ1x1MDAyMFx1MDBBMFx1MDAwQVx1MDAwRFx1MjAyOFx1MjAyOV5cdTAwMDlcdTAwMEJcdTAwMENcdTAwMjBcdTAwQTBcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjkxIikpICE9PSAwKSB7CiAgJEVSUk9SKCcjMTA6ICgxXFx1MDAwOVxcdTAwMEJcXHUwMDBDXFx1MDAyMFxcdTAwQTBcXHUwMDBBXFx1MDAwRFxcdTIwMjhcXHUyMDI5XlxcdTAwMDlcXHUwMDBCXFx1MDAwQ1xcdTAwMjBcXHUwMEEwXFx1MDAwQVxcdTAwMERcXHUyMDI4XFx1MjAyOTEpID09PSAwJyk7Cn0KCg==",
"commentary":"White Space and Line Terminator between BitwiseXORExpression and \"^\" or between \"^\" and BitwiseANDExpression are allowed",
"description":"The check uses eval",
"path":"TestCases/ch11/11.10/11.10.2/S11.10.2_A1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IF4geSB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTAvMTEuMTAuMi9TMTEuMTAuMl9BMi4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBFaXRoZXIgVHlwZSBpcyBub3QgUmVmZXJlbmNlIG9yIEdldEJhc2UgaXMgbm90IG51bGwKICovCgovL0NIRUNLIzEKaWYgKCgxIF4gMSkgIT09IDApIHsKICAkRVJST1IoJyMxOiAoMSBeIDEpID09PSAwLiBBY3R1YWw6ICcgKyAoKDEgXiAxKSkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAxOwppZiAoKHggXiAxKSAhPT0gMCkgewogICRFUlJPUignIzI6IHZhciB4ID0gMTsgKHggXiAxKSA9PT0gMC4gQWN0dWFsOiAnICsgKCh4IF4gMSkpKTsKfQoKLy9DSEVDSyMzCnZhciB5ID0gMTsKaWYgKCgxIF4geSkgIT09IDApIHsKICAkRVJST1IoJyMzOiB2YXIgeSA9IDE7ICgxIF4geSkgPT09IDAuIEFjdHVhbDogJyArICgoMSBeIHkpKSk7Cn0KCi8vQ0hFQ0sjNAp2YXIgeCA9IDE7CnZhciB5ID0gMTsKaWYgKCh4IF4geSkgIT09IDApIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IDE7IHZhciB5ID0gMTsgKHggXiB5KSA9PT0gMC4gQWN0dWFsOiAnICsgKCh4IF4geSkpKTsKfQoKLy9DSEVDSyM1CnZhciBvYmplY3R4ID0gbmV3IE9iamVjdCgpOwp2YXIgb2JqZWN0eSA9IG5ldyBPYmplY3QoKTsKb2JqZWN0eC5wcm9wID0gMTsKb2JqZWN0eS5wcm9wID0gMTsKaWYgKChvYmplY3R4LnByb3AgXiBvYmplY3R5LnByb3ApICE9PSAwKSB7CiAgJEVSUk9SKCcjNTogdmFyIG9iamVjdHggPSBuZXcgT2JqZWN0KCk7IHZhciBvYmplY3R5ID0gbmV3IE9iamVjdCgpOyBvYmplY3R4LnByb3AgPSAxOyBvYmplY3R5LnByb3AgPSAxOyAob2JqZWN0eC5wcm9wIF4gb2JqZWN0eS5wcm9wKSA9PT0gMC4gQWN0dWFsOiAnICsgKChvYmplY3R4LnByb3AgXiBvYmplY3R5LnByb3ApKSk7Cn0KIAoK",
"commentary":"Operator x ^ y uses GetValue",
"description":"Either Type is not Reference or GetBase is not null",
"path":"TestCases/ch11/11.10/11.10.2/S11.10.2_A2.1_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IF4geSB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTAvMTEuMTAuMi9TMTEuMTAuMl9BMi4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBHZXRCYXNlKHgpIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgeCBeIDE7CiAgJEVSUk9SKCcjMS4xOiB4IF4gMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHggXiAxKSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiB4IF4gMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoK",
"commentary":"Operator x ^ y uses GetValue",
"description":"If GetBase(x) is null, throw ReferenceError",
"path":"TestCases/ch11/11.10/11.10.2/S11.10.2_A2.1_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IF4geSB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTAvMTEuMTAuMi9TMTEuMTAuMl9BMi4xX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBHZXRCYXNlKHkpIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgMSBeIHk7CiAgJEVSUk9SKCcjMS4xOiAxIF4geSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKDEgXiB5KSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiAxIF4geSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoK",
"commentary":"Operator x ^ y uses GetValue",
"description":"If GetBase(y) is null, throw ReferenceError",
"path":"TestCases/ch11/11.10/11.10.2/S11.10.2_A2.1_T3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IF4geSB1c2VzIFtbRGVmYXVsdCBWYWx1ZV1dCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTAvMTEuMTAuMi9TMTEuMTAuMl9BMi4yX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBUeXBlKHZhbHVlKSBpcyBPYmplY3QsIGV2YWx1YXRlIFRvUHJpbWl0aXZlKHZhbHVlLCBOdW1iZXIpCiAqLwoKLy9DSEVDSyMxCmlmICgoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0gXiAxKSAhPT0gMCkgewogICRFUlJPUignIzE6ICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSBeIDEpID09PSAwLiBBY3R1YWw6ICcgKyAoKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19IF4gMSkpKTsKfQoKLy9DSEVDSyMyCmlmICgoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX0gXiAxKSAhPT0gMCkgewogICRFUlJPUignIzI6ICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSBeIDEpID09PSAwLiBBY3R1YWw6ICcgKyAoKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19IF4gMSkpKTsKfQoKLy9DSEVDSyMzCmlmICgoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19IF4gMSkgIT09IDApIHsKICAkRVJST1IoJyMzOiAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19IF4gMSkgPT09IDAuIEFjdHVhbDogJyArICgoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19IF4gMSkpKTsKfQoKLy9DSEVDSyM0CnRyeSB7CiAgaWYgKCh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19IF4gMSkgIT09IDApIHsKICAgICRFUlJPUignIzQuMTogKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gXiAxKSA9PT0gMC4gQWN0dWFsOiAnICsgKCh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19IF4gMSkpKTsKICB9Cn0KY2F0Y2ggKGUpIHsKICBpZiAoZSA9PT0gImVycm9yIikgewogICAgJEVSUk9SKCcjNC4yOiAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fSBeIDEpIG5vdCB0aHJvdyAiZXJyb3IiJyk7CiAgfSBlbHNlIHsKICAgICRFUlJPUignIzQuMzogKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gXiAxKSBub3QgdGhyb3cgRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9CgovL0NIRUNLIzUKaWYgKCgxIF4ge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSAhPT0gMCkgewogICRFUlJPUignIzU6ICgxIF4ge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSA9PT0gMC4gQWN0dWFsOiAnICsgKCgxIF4ge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSkpOwp9CgovL0NIRUNLIzYKaWYgKCgxIF4ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSAhPT0gMCkgewogICRFUlJPUignIzY6ICgxIF4ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSA9PT0gMC4gQWN0dWFsOiAnICsgKCgxIF4ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSkpOwp9CgovL0NIRUNLIzcKdHJ5IHsKICAxIF4ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsKICAkRVJST1IoJyM3LjE6IDEgXiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19IHRocm93ICJlcnJvciIuIEFjdHVhbDogJyArICgxIF4ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSkpOwp9ICAKY2F0Y2ggKGUpIHsKICBpZiAoZSAhPT0gImVycm9yIikgewogICAgJEVSUk9SKCcjNy4yOiAxIF4ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSB0aHJvdyAiZXJyb3IiLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gCn0KCi8vQ0hFQ0sjOAp0cnkgewogIDEgXiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19OwogICRFUlJPUignIzguMTogMSBeIHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0gdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoMSBeIHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0pKTsKfSAgCmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjOC4yOiAxIF4ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfSAKfQoK",
"commentary":"Operator x ^ y uses [[Default Value]]",
"description":"If Type(value) is Object, evaluate ToPrimitive(value, Number)",
"path":"TestCases/ch11/11.10/11.10.2/S11.10.2_A2.2_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUb0ludDMyKGZpcnN0IGV4cHJlc3Npb24pIGlzIGNhbGxlZCBmaXJzdCwgYW5kIHRoZW4gVG9JbnQzMihzZWNvbmQgZXhwcmVzc2lvbikKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4yL1MxMS4xMC4yX0EyLjNfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggInRocm93IgogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieCI7IH0gfTsKdmFyIHkgPSB7IHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9IH07CnRyeSB7CiAgIHggXiB5OwogICAkRVJST1IoJyMxLjE6IHZhciB4ID0geyB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfSB9OyB2YXIgeSA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieSI7IH0gfTsgeCBeIHkgdGhyb3cgIngiLiBBY3R1YWw6ICcgKyAoeCBeIHkpKTsKfSBjYXRjaCAoZSkgewogICBpZiAoZSA9PT0gInkiKSB7CiAgICAgJEVSUk9SKCcjMS4yOiBUb0ludDMyKGZpcnN0IGV4cHJlc3Npb24pIGlzIGNhbGxlZCBmaXJzdCwgYW5kIHRoZW4gVG9JbnQzMihzZWNvbmQgZXhwcmVzc2lvbiknKTsKICAgfSBlbHNlIHsKICAgICBpZiAoZSAhPT0gIngiKSB7CiAgICAgICAkRVJST1IoJyMxLjM6IHZhciB4ID0geyB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfSB9OyB2YXIgeSA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieSI7IH0gfTsgeCBeIHkgdGhyb3cgIngiLiBBY3R1YWw6ICcgKyAoZSkpOwogICAgIH0KICAgfQp9Cgo=",
"commentary":"ToInt32(first expression) is called first, and then ToInt32(second expression)",
"description":"Checking with \"throw\"",
"path":"TestCases/ch11/11.10/11.10.2/S11.10.2_A2.3_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4yL1MxMS4xMC4yX0EyLjRfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggIj0iCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gMTsgCmlmICgoKHggPSAwKSBeIHgpICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSAwOyAoKHggPSAxKSBeIHgpID09PSAwLiBBY3R1YWw6ICcgKyAoKCh4ID0gMSkgXiB4KSkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAwOyAKaWYgKCh4IF4gKHggPSAxKSkgIT09IDEpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IDA7ICh4IF4gKHggPSAxKSkgPT09IDEuIEFjdHVhbDogJyArICgoeCBeICh4ID0gMSkpKSk7Cn0KCgoK",
"commentary":"First expression is evaluated first, and then second expression",
"description":"Checking with \"=\"",
"path":"TestCases/ch11/11.10/11.10.2/S11.10.2_A2.4_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4yL1MxMS4xMC4yX0EyLjRfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggInRocm93IgogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9Owp2YXIgeSA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9Owp0cnkgewogICB4KCkgXiB5KCk7CiAgICRFUlJPUignIzEuMTogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpIF4geSgpIHRocm93ICJ4Ii4gQWN0dWFsOiAnICsgKHgoKSBeIHkoKSkpOwp9IGNhdGNoIChlKSB7CiAgIGlmIChlID09PSAieSIpIHsKICAgICAkRVJST1IoJyMxLjI6IEZpcnN0IGV4cHJlc3Npb24gaXMgZXZhbHVhdGVkIGZpcnN0LCBhbmQgdGhlbiBzZWNvbmQgZXhwcmVzc2lvbicpOwogICB9IGVsc2UgewogICAgIGlmIChlICE9PSAieCIpIHsKICAgICAgICRFUlJPUignIzEuMzogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpIF4geSgpIHRocm93ICJ4Ii4gQWN0dWFsOiAnICsgKGUpKTsKICAgICB9CiAgIH0KfQoK",
"commentary":"First expression is evaluated first, and then second expression",
"description":"Checking with \"throw\"",
"path":"TestCases/ch11/11.10/11.10.2/S11.10.2_A2.4_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4yL1MxMS4xMC4yX0EyLjRfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggdW5kZWNsYXJhdGVkIHZhcmlhYmxlcwogKiBAbm9TdHJpY3QKICovCgovL0NIRUNLIzEKdHJ5IHsKICB4IF4gKHggPSAxKTsKICAkRVJST1IoJyMxLjE6IHggXiAoeCA9IDEpIHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoeCBeICh4ID0gMSkpKTsKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiB4IF4gKHggPSAxKSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCi8vQ0hFQ0sjMgppZiAoKCh5ID0gMSkgXiB5KSAhPT0gMCkgewogICRFUlJPUignIzI6ICgoeSA9IDEpIF4geSkgPT09IDAuIEFjdHVhbDogJyArICgoKHkgPSAxKSBeIHkpKSk7Cn0KCgoK",
"commentary":"First expression is evaluated first, and then second expression",
"description":"Checking with undeclarated variables",
"noStrict":"",
"path":"TestCases/ch11/11.10/11.10.2/S11.10.2_A2.4_T3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IF4geSByZXR1cm5zIFRvTnVtYmVyKHgpIF4gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4yL1MxMS4xMC4yX0EzX1QxLjEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgYXJlIHByaW1pdGl2ZSBib29sZWFuIGFuZCBCb29sZWFuIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAoKHRydWUgXiB0cnVlKSAhPT0gMCkgewogICRFUlJPUignIzE6ICh0cnVlIF4gdHJ1ZSkgPT09IDAuIEFjdHVhbDogJyArICgodHJ1ZSBeIHRydWUpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoKG5ldyBCb29sZWFuKHRydWUpIF4gdHJ1ZSkgIT09IDApIHsKICAkRVJST1IoJyMyOiAobmV3IEJvb2xlYW4odHJ1ZSkgXiB0cnVlKSA9PT0gMC4gQWN0dWFsOiAnICsgKChuZXcgQm9vbGVhbih0cnVlKSBeIHRydWUpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoKHRydWUgXiBuZXcgQm9vbGVhbih0cnVlKSkgIT09IDApIHsKICAkRVJST1IoJyMzOiAodHJ1ZSBeIG5ldyBCb29sZWFuKHRydWUpKSA9PT0gMC4gQWN0dWFsOiAnICsgKCh0cnVlIF4gbmV3IEJvb2xlYW4odHJ1ZSkpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoKG5ldyBCb29sZWFuKHRydWUpIF4gbmV3IEJvb2xlYW4odHJ1ZSkpICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogKG5ldyBCb29sZWFuKHRydWUpIF4gbmV3IEJvb2xlYW4odHJ1ZSkpID09PSAwLiBBY3R1YWw6ICcgKyAoKG5ldyBCb29sZWFuKHRydWUpIF4gbmV3IEJvb2xlYW4odHJ1ZSkpKSk7Cn0KCg==",
"commentary":"Operator x ^ y returns ToNumber(x) ^ ToNumber(y)",
"description":"Type(x) and Type(y) are primitive boolean and Boolean object",
"path":"TestCases/ch11/11.10/11.10.2/S11.10.2_A3_T1.1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IF4geSByZXR1cm5zIFRvTnVtYmVyKHgpIF4gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4yL1MxMS4xMC4yX0EzX1QxLjIuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgYXJlIHByaW1pdGl2ZSBudW1iZXIgYW5kIE51bWJlciBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKCgxIF4gMSkgIT09IDApIHsKICAkRVJST1IoJyMxOiAoMSBeIDEpID09PSAwLiBBY3R1YWw6ICcgKyAoKDEgXiAxKSkpOwp9CgovL0NIRUNLIzIKaWYgKChuZXcgTnVtYmVyKDEpIF4gMSkgIT09IDApIHsKICAkRVJST1IoJyMyOiAobmV3IE51bWJlcigxKSBeIDEpID09PSAwLiBBY3R1YWw6ICcgKyAoKG5ldyBOdW1iZXIoMSkgXiAxKSkpOwp9CgovL0NIRUNLIzMKaWYgKCgxIF4gbmV3IE51bWJlcigxKSkgIT09IDApIHsKICAkRVJST1IoJyMzOiAoMSBeIG5ldyBOdW1iZXIoMSkpID09PSAwLiBBY3R1YWw6ICcgKyAoKDEgXiBuZXcgTnVtYmVyKDEpKSkpOwp9CgovL0NIRUNLIzQKaWYgKChuZXcgTnVtYmVyKDEpIF4gbmV3IE51bWJlcigxKSkgIT09IDApIHsKICAkRVJST1IoJyM0OiAobmV3IE51bWJlcigxKSBeIG5ldyBOdW1iZXIoMSkpID09PSAwLiBBY3R1YWw6ICcgKyAoKG5ldyBOdW1iZXIoMSkgXiBuZXcgTnVtYmVyKDEpKSkpOwp9CgoK",
"commentary":"Operator x ^ y returns ToNumber(x) ^ ToNumber(y)",
"description":"Type(x) and Type(y) are primitive number and Number object",
"path":"TestCases/ch11/11.10/11.10.2/S11.10.2_A3_T1.2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IF4geSByZXR1cm5zIFRvTnVtYmVyKHgpIF4gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4yL1MxMS4xMC4yX0EzX1QxLjMuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgYXJlIHByaW1pdGl2ZSBzdHJpbmcgYW5kIFN0cmluZyBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKCgiMSIgXiAiMSIpICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogKCIxIiBeICIxIikgPT09IDAuIEFjdHVhbDogJyArICgoIjEiIF4gIjEiKSkpOwp9CgovL0NIRUNLIzIKaWYgKChuZXcgU3RyaW5nKCIxIikgXiAiMSIpICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogKG5ldyBTdHJpbmcoIjEiKSBeICIxIikgPT09IDAuIEFjdHVhbDogJyArICgobmV3IFN0cmluZygiMSIpIF4gIjEiKSkpOwp9CgovL0NIRUNLIzMKaWYgKCgiMSIgXiBuZXcgU3RyaW5nKCIxIikpICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogKCIxIiBeIG5ldyBTdHJpbmcoIjEiKSkgPT09IDAuIEFjdHVhbDogJyArICgoIjEiIF4gbmV3IFN0cmluZygiMSIpKSkpOwp9CgovL0NIRUNLIzQKaWYgKChuZXcgU3RyaW5nKCIxIikgXiBuZXcgU3RyaW5nKCIxIikpICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogKG5ldyBTdHJpbmcoIjEiKSBeIG5ldyBTdHJpbmcoIjEiKSkgPT09IDAuIEFjdHVhbDogJyArICgobmV3IFN0cmluZygiMSIpIF4gbmV3IFN0cmluZygiMSIpKSkpOwp9CgovL0NIRUNLIzUKaWYgKCgieCIgXiAiMSIpICE9PSAxKSB7CiAgJEVSUk9SKCcjNTogKCJ4IiBeICIxIikgPT09IDEuIEFjdHVhbDogJyArICgoIngiIF4gIjEiKSkpOwp9CgovL0NIRUNLIzYKaWYgKCgiMSIgXiAieCIpICE9PSAxKSB7CiAgJEVSUk9SKCcjNjogKCIxIiBeICJ4IikgPT09IDEuIEFjdHVhbDogJyArICgoIjEiIF4gIngiKSkpOwp9Cgo=",
"commentary":"Operator x ^ y returns ToNumber(x) ^ ToNumber(y)",
"description":"Type(x) and Type(y) are primitive string and String object",
"path":"TestCases/ch11/11.10/11.10.2/S11.10.2_A3_T1.3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IF4geSByZXR1cm5zIFRvTnVtYmVyKHgpIF4gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4yL1MxMS4xMC4yX0EzX1QxLjQuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgYXJlIG51bGwgYW5kIHVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQppZiAoKG51bGwgXiB1bmRlZmluZWQpICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogKG51bGwgXiB1bmRlZmluZWQpID09PSAwLiBBY3R1YWw6ICcgKyAoKG51bGwgXiB1bmRlZmluZWQpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoKHVuZGVmaW5lZCBeIG51bGwpICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogKHVuZGVmaW5lZCBeIG51bGwpID09PSAwLiBBY3R1YWw6ICcgKyAoKHVuZGVmaW5lZCBeIG51bGwpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoKHVuZGVmaW5lZCBeIHVuZGVmaW5lZCkgIT09IDApIHsKICAkRVJST1IoJyMzOiAodW5kZWZpbmVkIF4gdW5kZWZpbmVkKSA9PT0gMC4gQWN0dWFsOiAnICsgKCh1bmRlZmluZWQgXiB1bmRlZmluZWQpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoKG51bGwgXiBudWxsKSAhPT0gMCkgewogICRFUlJPUignIzQ6IChudWxsIF4gbnVsbCkgPT09IDAuIEFjdHVhbDogJyArICgobnVsbCBeIG51bGwpKSk7Cn0KCg==",
"commentary":"Operator x ^ y returns ToNumber(x) ^ ToNumber(y)",
"description":"Type(x) and Type(y) are null and undefined",
"path":"TestCases/ch11/11.10/11.10.2/S11.10.2_A3_T1.4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IF4geSByZXR1cm5zIFRvTnVtYmVyKHgpIF4gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4yL1MxMS4xMC4yX0EzX1QxLjUuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgYXJlIE9iamVjdCBvYmplY3QgYW5kIEZ1bmN0aW9uIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAoKHt9IF4gZnVuY3Rpb24oKXtyZXR1cm4gMX0pICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogKHt9IF4gZnVuY3Rpb24oKXtyZXR1cm4gMX0pID09PSAwLiBBY3R1YWw6ICcgKyAoKHt9IF4gZnVuY3Rpb24oKXtyZXR1cm4gMX0pKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoKGZ1bmN0aW9uKCl7cmV0dXJuIDF9IF4ge30pICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogKGZ1bmN0aW9uKCl7cmV0dXJuIDF9IF4ge30pID09PSAwLiBBY3R1YWw6ICcgKyAoKGZ1bmN0aW9uKCl7cmV0dXJuIDF9IF4ge30pKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoKGZ1bmN0aW9uKCl7cmV0dXJuIDF9IF4gZnVuY3Rpb24oKXtyZXR1cm4gMX0pICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogKGZ1bmN0aW9uKCl7cmV0dXJuIDF9IF4gZnVuY3Rpb24oKXtyZXR1cm4gMX0pID09PSAwLiBBY3R1YWw6ICcgKyAoKGZ1bmN0aW9uKCl7cmV0dXJuIDF9IF4gZnVuY3Rpb24oKXtyZXR1cm4gMX0pKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoKHt9IF4ge30pICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogKHt9IF4ge30pID09PSAwLiBBY3R1YWw6ICcgKyAoKHt9IF4ge30pKSk7Cn0KCgo=",
"commentary":"Operator x ^ y returns ToNumber(x) ^ ToNumber(y)",
"description":"Type(x) and Type(y) are Object object and Function object",
"path":"TestCases/ch11/11.10/11.10.2/S11.10.2_A3_T1.5.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IF4geSByZXR1cm5zIFRvTnVtYmVyKHgpIF4gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4yL1MxMS4xMC4yX0EzX1QyLjEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgQm9vbGVhbiAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCmlmICgodHJ1ZSBeIDEpICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogKHRydWUgXiAxKSA9PT0gMC4gQWN0dWFsOiAnICsgKCh0cnVlIF4gMSkpKTsKfQoKLy9DSEVDSyMyCmlmICgoMSBeIHRydWUpICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogKDEgXiB0cnVlKSA9PT0gMC4gQWN0dWFsOiAnICsgKCgxIF4gdHJ1ZSkpKTsKfQoKLy9DSEVDSyMzCmlmICgobmV3IEJvb2xlYW4odHJ1ZSkgXiAxKSAhPT0gMCkgewogICRFUlJPUignIzM6IChuZXcgQm9vbGVhbih0cnVlKSBeIDEpID09PSAwLiBBY3R1YWw6ICcgKyAoKG5ldyBCb29sZWFuKHRydWUpIF4gMSkpKTsKfQoKLy9DSEVDSyM0CmlmICgoMSBeIG5ldyBCb29sZWFuKHRydWUpKSAhPT0gMCkgewogICRFUlJPUignIzQ6ICgxIF4gbmV3IEJvb2xlYW4odHJ1ZSkpID09PSAwLiBBY3R1YWw6ICcgKyAoKDEgXiBuZXcgQm9vbGVhbih0cnVlKSkpKTsKfQoKLy9DSEVDSyM1CmlmICgodHJ1ZSBeIG5ldyBOdW1iZXIoMSkpICE9PSAwKSB7CiAgJEVSUk9SKCcjNTogKHRydWUgXiBuZXcgTnVtYmVyKDEpKSA9PT0gMC4gQWN0dWFsOiAnICsgKCh0cnVlIF4gbmV3IE51bWJlcigxKSkpKTsKfQoKLy9DSEVDSyM2CmlmICgobmV3IE51bWJlcigxKSBeIHRydWUpICE9PSAwKSB7CiAgJEVSUk9SKCcjNjogKG5ldyBOdW1iZXIoMSkgXiB0cnVlKSA9PT0gMC4gQWN0dWFsOiAnICsgKChuZXcgTnVtYmVyKDEpIF4gdHJ1ZSkpKTsKfQoKLy9DSEVDSyM3CmlmICgobmV3IEJvb2xlYW4odHJ1ZSkgXiBuZXcgTnVtYmVyKDEpKSAhPT0gMCkgewogICRFUlJPUignIzc6IChuZXcgQm9vbGVhbih0cnVlKSBeIG5ldyBOdW1iZXIoMSkpID09PSAwLiBBY3R1YWw6ICcgKyAoKG5ldyBCb29sZWFuKHRydWUpIF4gbmV3IE51bWJlcigxKSkpKTsKfQoKLy9DSEVDSyM4CmlmICgobmV3IE51bWJlcigxKSBeIG5ldyBCb29sZWFuKHRydWUpKSAhPT0gMCkgewogICRFUlJPUignIzg6IChuZXcgTnVtYmVyKDEpIF4gbmV3IEJvb2xlYW4odHJ1ZSkpID09PSAwLiBBY3R1YWw6ICcgKyAoKG5ldyBOdW1iZXIoMSkgXiBuZXcgQm9vbGVhbih0cnVlKSkpKTsKfQoK",
"commentary":"Operator x ^ y returns ToNumber(x) ^ ToNumber(y)",
"description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Boolean (primitive and object)",
"path":"TestCases/ch11/11.10/11.10.2/S11.10.2_A3_T2.1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IF4geSByZXR1cm5zIFRvTnVtYmVyKHgpIF4gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4yL1MxMS4xMC4yX0EzX1QyLjIuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgU3RyaW5nIChwcmltaXRpdmUgYW5kIG9iamVjdCkKICovCgovL0NIRUNLIzEKaWYgKCgiMSIgXiAxKSAhPT0gMCkgewogICRFUlJPUignIzE6ICgiMSIgXiAxKSA9PT0gMC4gQWN0dWFsOiAnICsgKCgiMSIgXiAxKSkpOwp9CgovL0NIRUNLIzIKaWYgKCgxIF4gIjEiKSAhPT0gMCkgewogICRFUlJPUignIzI6ICgxIF4gIjEiKSA9PT0gMC4gQWN0dWFsOiAnICsgKCgxIF4gIjEiKSkpOwp9CgovL0NIRUNLIzMKaWYgKChuZXcgU3RyaW5nKCIxIikgXiAxKSAhPT0gMCkgewogICRFUlJPUignIzM6IChuZXcgU3RyaW5nKCIxIikgXiAxKSA9PT0gMC4gQWN0dWFsOiAnICsgKChuZXcgU3RyaW5nKCIxIikgXiAxKSkpOwp9CgovL0NIRUNLIzQKaWYgKCgxIF4gbmV3IFN0cmluZygiMSIpKSAhPT0gMCkgewogICRFUlJPUignIzQ6ICgxIF4gbmV3IFN0cmluZygiMSIpKSA9PT0gMC4gQWN0dWFsOiAnICsgKCgxIF4gbmV3IFN0cmluZygiMSIpKSkpOwp9CgovL0NIRUNLIzUKaWYgKCgiMSIgXiBuZXcgTnVtYmVyKDEpKSAhPT0gMCkgewogICRFUlJPUignIzU6ICgiMSIgXiBuZXcgTnVtYmVyKDEpKSA9PT0gMC4gQWN0dWFsOiAnICsgKCgiMSIgXiBuZXcgTnVtYmVyKDEpKSkpOwp9CgovL0NIRUNLIzYKaWYgKChuZXcgTnVtYmVyKDEpIF4gIjEiKSAhPT0gMCkgewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKDEpIF4gIjEiKSA9PT0gMC4gQWN0dWFsOiAnICsgKChuZXcgTnVtYmVyKDEpIF4gIjEiKSkpOwp9CgovL0NIRUNLIzcKaWYgKChuZXcgU3RyaW5nKCIxIikgXiBuZXcgTnVtYmVyKDEpKSAhPT0gMCkgewogICRFUlJPUignIzc6IChuZXcgU3RyaW5nKCIxIikgXiBuZXcgTnVtYmVyKDEpKSA9PT0gMC4gQWN0dWFsOiAnICsgKChuZXcgU3RyaW5nKCIxIikgXiBuZXcgTnVtYmVyKDEpKSkpOwp9CgovL0NIRUNLIzgKaWYgKChuZXcgTnVtYmVyKDEpIF4gbmV3IFN0cmluZygiMSIpKSAhPT0gMCkgewogICRFUlJPUignIzg6IChuZXcgTnVtYmVyKDEpIF4gbmV3IFN0cmluZygiMSIpKSA9PT0gMC4gQWN0dWFsOiAnICsgKChuZXcgTnVtYmVyKDEpIF4gbmV3IFN0cmluZygiMSIpKSkpOwp9CgovL0NIRUNLIzkKaWYgKCgieCIgXiAxKSAhPT0gMSkgewogICRFUlJPUignIzk6ICgieCIgXiAxKSA9PT0gMS4gQWN0dWFsOiAnICsgKCgieCIgXiAxKSkpOwp9CgovL0NIRUNLIzEwCmlmICgoMSBeICJ4IikgIT09IDEpIHsKICAkRVJST1IoJyMxMDogKDEgXiAieCIpID09PSAxLiBBY3R1YWw6ICcgKyAoKDEgXiAieCIpKSk7Cn0KCg==",
"commentary":"Operator x ^ y returns ToNumber(x) ^ ToNumber(y)",
"description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object)",
"path":"TestCases/ch11/11.10/11.10.2/S11.10.2_A3_T2.2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IF4geSByZXR1cm5zIFRvTnVtYmVyKHgpIF4gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4yL1MxMS4xMC4yX0EzX1QyLjMuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQppZiAoKDEgXiBudWxsKSAhPT0gMSkgewogICRFUlJPUignIzE6ICgxIF4gbnVsbCkgPT09IDEuIEFjdHVhbDogJyArICgoMSBeIG51bGwpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoKG51bGwgXiAxKSAhPT0gMSkgewogICRFUlJPUignIzI6IChudWxsIF4gMSkgPT09IDEuIEFjdHVhbDogJyArICgobnVsbCBeIDEpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoKG5ldyBOdW1iZXIoMSkgXiBudWxsKSAhPT0gMSkgewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDEpIF4gbnVsbCkgPT09IDEuIEFjdHVhbDogJyArICgobmV3IE51bWJlcigxKSBeIG51bGwpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoKG51bGwgXiBuZXcgTnVtYmVyKDEpKSAhPT0gMSkgewogICRFUlJPUignIzQ6IChudWxsIF4gbmV3IE51bWJlcigxKSkgPT09IDEuIEFjdHVhbDogJyArICgobnVsbCBeIG5ldyBOdW1iZXIoMSkpKSk7Cn0KCg==",
"commentary":"Operator x ^ y returns ToNumber(x) ^ ToNumber(y)",
"description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null",
"path":"TestCases/ch11/11.10/11.10.2/S11.10.2_A3_T2.3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IF4geSByZXR1cm5zIFRvTnVtYmVyKHgpIF4gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4yL1MxMS4xMC4yX0EzX1QyLjQuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCmlmICgoMSBeIHVuZGVmaW5lZCkgIT09IDEpIHsKICAkRVJST1IoJyMxOiAoMSBeIHVuZGVmaW5lZCkgPT09IDEuIEFjdHVhbDogJyArICgoMSBeIHVuZGVmaW5lZCkpKTsKfQoKLy9DSEVDSyMyCmlmICgodW5kZWZpbmVkIF4gMSkgIT09IDEpIHsKICAkRVJST1IoJyMyOiAodW5kZWZpbmVkIF4gMSkgPT09IDEuIEFjdHVhbDogJyArICgodW5kZWZpbmVkIF4gMSkpKTsKfQoKLy9DSEVDSyMzCmlmICgobmV3IE51bWJlcigxKSBeIHVuZGVmaW5lZCkgIT09IDEpIHsKICAkRVJST1IoJyMzOiAobmV3IE51bWJlcigxKSBeIHVuZGVmaW5lZCkgPT09IDEuIEFjdHVhbDogJyArICgobmV3IE51bWJlcigxKSBeIHVuZGVmaW5lZCkpKTsKfQoKLy9DSEVDSyM0CmlmICgodW5kZWZpbmVkIF4gbmV3IE51bWJlcigxKSkgIT09IDEpIHsKICAkRVJST1IoJyM0OiAodW5kZWZpbmVkIF4gbmV3IE51bWJlcigxKSkgPT09IDEuIEFjdHVhbDogJyArICgodW5kZWZpbmVkIF4gbmV3IE51bWJlcigxKSkpKTsKfQoK",
"commentary":"Operator x ^ y returns ToNumber(x) ^ ToNumber(y)",
"description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined",
"path":"TestCases/ch11/11.10/11.10.2/S11.10.2_A3_T2.4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IF4geSByZXR1cm5zIFRvTnVtYmVyKHgpIF4gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4yL1MxMS4xMC4yX0EzX1QyLjUuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgQm9vbGVhbiAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCmlmICgodHJ1ZSBeICIxIikgIT09IDApIHsKICAkRVJST1IoJyMxOiAodHJ1ZSBeICIxIikgPT09IDAuIEFjdHVhbDogJyArICgodHJ1ZSBeICIxIikpKTsKfQoKLy9DSEVDSyMyCmlmICgoIjEiIF4gdHJ1ZSkgIT09IDApIHsKICAkRVJST1IoJyMyOiAoIjEiIF4gdHJ1ZSkgPT09IDAuIEFjdHVhbDogJyArICgoIjEiIF4gdHJ1ZSkpKTsKfQoKLy9DSEVDSyMzCmlmICgobmV3IEJvb2xlYW4odHJ1ZSkgXiAiMSIpICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogKG5ldyBCb29sZWFuKHRydWUpIF4gIjEiKSA9PT0gMC4gQWN0dWFsOiAnICsgKChuZXcgQm9vbGVhbih0cnVlKSBeICIxIikpKTsKfQoKLy9DSEVDSyM0CmlmICgoIjEiIF4gbmV3IEJvb2xlYW4odHJ1ZSkpICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogKCIxIiBeIG5ldyBCb29sZWFuKHRydWUpKSA9PT0gMC4gQWN0dWFsOiAnICsgKCgiMSIgXiBuZXcgQm9vbGVhbih0cnVlKSkpKTsKfQoKLy9DSEVDSyM1CmlmICgodHJ1ZSBeIG5ldyBTdHJpbmcoIjEiKSkgIT09IDApIHsKICAkRVJST1IoJyM1OiAodHJ1ZSBeIG5ldyBTdHJpbmcoIjEiKSkgPT09IDAuIEFjdHVhbDogJyArICgodHJ1ZSBeIG5ldyBTdHJpbmcoIjEiKSkpKTsKfQoKLy9DSEVDSyM2CmlmICgobmV3IFN0cmluZygiMSIpIF4gdHJ1ZSkgIT09IDApIHsKICAkRVJST1IoJyM2OiAobmV3IFN0cmluZygiMSIpIF4gdHJ1ZSkgPT09IDAuIEFjdHVhbDogJyArICgobmV3IFN0cmluZygiMSIpIF4gdHJ1ZSkpKTsKfQoKLy9DSEVDSyM3CmlmICgobmV3IEJvb2xlYW4odHJ1ZSkgXiBuZXcgU3RyaW5nKCIxIikpICE9PSAwKSB7CiAgJEVSUk9SKCcjNzogKG5ldyBCb29sZWFuKHRydWUpIF4gbmV3IFN0cmluZygiMSIpKSA9PT0gMC4gQWN0dWFsOiAnICsgKChuZXcgQm9vbGVhbih0cnVlKSBeIG5ldyBTdHJpbmcoIjEiKSkpKTsKfQoKLy9DSEVDSyM4CmlmICgobmV3IFN0cmluZygiMSIpIF4gbmV3IEJvb2xlYW4odHJ1ZSkpICE9PSAwKSB7CiAgJEVSUk9SKCcjODogKG5ldyBTdHJpbmcoIjEiKSBeIG5ldyBCb29sZWFuKHRydWUpKSA9PT0gMC4gQWN0dWFsOiAnICsgKChuZXcgU3RyaW5nKCIxIikgXiBuZXcgQm9vbGVhbih0cnVlKSkpKTsKfQoK",
"commentary":"Operator x ^ y returns ToNumber(x) ^ ToNumber(y)",
"description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Boolean (primitive and object)",
"path":"TestCases/ch11/11.10/11.10.2/S11.10.2_A3_T2.5.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IF4geSByZXR1cm5zIFRvTnVtYmVyKHgpIF4gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4yL1MxMS4xMC4yX0EzX1QyLjYuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCmlmICgoIjEiIF4gdW5kZWZpbmVkKSAhPT0gMSkgewogICRFUlJPUignIzE6ICgiMSIgXiB1bmRlZmluZWQpID09PSAxLiBBY3R1YWw6ICcgKyAoKCIxIiBeIHVuZGVmaW5lZCkpKTsKfQoKLy9DSEVDSyMyCmlmICgodW5kZWZpbmVkIF4gIjEiKSAhPT0gMSkgewogICRFUlJPUignIzI6ICh1bmRlZmluZWQgXiAiMSIpID09PSAxLiBBY3R1YWw6ICcgKyAoKHVuZGVmaW5lZCBeICIxIikpKTsKfQoKLy9DSEVDSyMzCmlmICgobmV3IFN0cmluZygiMSIpIF4gdW5kZWZpbmVkKSAhPT0gMSkgewogICRFUlJPUignIzM6IChuZXcgU3RyaW5nKCIxIikgXiB1bmRlZmluZWQpID09PSAxLiBBY3R1YWw6ICcgKyAoKG5ldyBTdHJpbmcoIjEiKSBeIHVuZGVmaW5lZCkpKTsKfQoKLy9DSEVDSyM0CmlmICgodW5kZWZpbmVkIF4gbmV3IFN0cmluZygiMSIpKSAhPT0gMSkgewogICRFUlJPUignIzQ6ICh1bmRlZmluZWQgXiBuZXcgU3RyaW5nKCIxIikpID09PSAxLiBBY3R1YWw6ICcgKyAoKHVuZGVmaW5lZCBeIG5ldyBTdHJpbmcoIjEiKSkpKTsKfQoK",
"commentary":"Operator x ^ y returns ToNumber(x) ^ ToNumber(y)",
"description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Undefined",
"path":"TestCases/ch11/11.10/11.10.2/S11.10.2_A3_T2.6.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IF4geSByZXR1cm5zIFRvTnVtYmVyKHgpIF4gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4yL1MxMS4xMC4yX0EzX1QyLjcuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQppZiAoKCIxIiBeIG51bGwpICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogKCIxIiBeIG51bGwpID09PSAxLiBBY3R1YWw6ICcgKyAoKCIxIiBeIG51bGwpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoKG51bGwgXiAiMSIpICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogKG51bGwgXiAiMSIpID09PSAxLiBBY3R1YWw6ICcgKyAoKG51bGwgXiAiMSIpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoKG5ldyBTdHJpbmcoIjEiKSBeIG51bGwpICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogKG5ldyBTdHJpbmcoIjEiKSBeIG51bGwpID09PSAxLiBBY3R1YWw6ICcgKyAoKG5ldyBTdHJpbmcoIjEiKSBeIG51bGwpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoKG51bGwgXiBuZXcgU3RyaW5nKCIxIikpICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogKG51bGwgXiBuZXcgU3RyaW5nKCIxIikpID09PSAxLiBBY3R1YWw6ICcgKyAoKG51bGwgXiBuZXcgU3RyaW5nKCIxIikpKSk7Cn0KCg==",
"commentary":"Operator x ^ y returns ToNumber(x) ^ ToNumber(y)",
"description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null",
"path":"TestCases/ch11/11.10/11.10.2/S11.10.2_A3_T2.7.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IF4geSByZXR1cm5zIFRvTnVtYmVyKHgpIF4gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4yL1MxMS4xMC4yX0EzX1QyLjguanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gQm9vbGVhbiAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQppZiAoKHRydWUgXiB1bmRlZmluZWQpICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogKHRydWUgXiB1bmRlZmluZWQpID09PSAxLiBBY3R1YWw6ICcgKyAoKHRydWUgXiB1bmRlZmluZWQpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoKHVuZGVmaW5lZCBeIHRydWUpICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogKHVuZGVmaW5lZCBeIHRydWUpID09PSAxLiBBY3R1YWw6ICcgKyAoKHVuZGVmaW5lZCBeIHRydWUpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoKG5ldyBCb29sZWFuKHRydWUpIF4gdW5kZWZpbmVkKSAhPT0gMSkgewogICRFUlJPUignIzM6IChuZXcgQm9vbGVhbih0cnVlKSBeIHVuZGVmaW5lZCkgPT09IDEuIEFjdHVhbDogJyArICgobmV3IEJvb2xlYW4odHJ1ZSkgXiB1bmRlZmluZWQpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoKHVuZGVmaW5lZCBeIG5ldyBCb29sZWFuKHRydWUpKSAhPT0gMSkgewogICRFUlJPUignIzQ6ICh1bmRlZmluZWQgXiBuZXcgQm9vbGVhbih0cnVlKSkgPT09IDEuIEFjdHVhbDogJyArICgodW5kZWZpbmVkIF4gbmV3IEJvb2xlYW4odHJ1ZSkpKSk7Cn0KCg==",
"commentary":"Operator x ^ y returns ToNumber(x) ^ ToNumber(y)",
"description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined",
"path":"TestCases/ch11/11.10/11.10.2/S11.10.2_A3_T2.8.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IF4geSByZXR1cm5zIFRvTnVtYmVyKHgpIF4gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4yL1MxMS4xMC4yX0EzX1QyLjkuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gQm9vbGVhbiAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIE51bGwKICovCgovL0NIRUNLIzEKaWYgKCh0cnVlIF4gbnVsbCkgIT09IDEpIHsKICAkRVJST1IoJyMxOiAodHJ1ZSBeIG51bGwpID09PSAxLiBBY3R1YWw6ICcgKyAoKHRydWUgXiBudWxsKSkpOwp9CgovL0NIRUNLIzIKaWYgKChudWxsIF4gdHJ1ZSkgIT09IDEpIHsKICAkRVJST1IoJyMyOiAobnVsbCBeIHRydWUpID09PSAxLiBBY3R1YWw6ICcgKyAoKG51bGwgXiB0cnVlKSkpOwp9CgovL0NIRUNLIzMKaWYgKChuZXcgQm9vbGVhbih0cnVlKSBeIG51bGwpICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogKG5ldyBCb29sZWFuKHRydWUpIF4gbnVsbCkgPT09IDEuIEFjdHVhbDogJyArICgobmV3IEJvb2xlYW4odHJ1ZSkgXiBudWxsKSkpOwp9CgovL0NIRUNLIzQKaWYgKChudWxsIF4gbmV3IEJvb2xlYW4odHJ1ZSkpICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogKG51bGwgXiBuZXcgQm9vbGVhbih0cnVlKSkgPT09IDEuIEFjdHVhbDogJyArICgobnVsbCBeIG5ldyBCb29sZWFuKHRydWUpKSkpOwp9Cgo=",
"commentary":"Operator x ^ y returns ToNumber(x) ^ ToNumber(y)",
"description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null",
"path":"TestCases/ch11/11.10/11.10.2/S11.10.2_A3_T2.9.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gQml0d2lzZU9SRXhwcmVzc2lvbiBhbmQgInwiIG9yIGJldHdlZW4gInwiIGFuZCBCaXR3aXNlWE9SRXhwcmVzc2lvbiBhcmUgYWxsb3dlZAogKgogKiBAcGF0aCBjaDExLzExLjEwLzExLjEwLjMvUzExLjEwLjNfQTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGJ5IHVzaW5nIGV2YWwKICovCgovL0NIRUNLIzEKaWYgKChldmFsKCIwXHUwMDA5fFx1MDAwOTEiKSkgIT09IDEpIHsKICAkRVJST1IoJyMxOiAoMFxcdTAwMDl8XFx1MDAwOTEpID09PSAxJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKGV2YWwoIjBcdTAwMEJ8XHUwMDBCMSIpKSAhPT0gMSkgewogICRFUlJPUignIzI6ICgwXFx1MDAwQnxcXHUwMDBCMSkgPT09IDEnKTsgIAp9CgovL0NIRUNLIzMKaWYgKChldmFsKCIwXHUwMDBDfFx1MDAwQzEiKSkgIT09IDEpIHsKICAkRVJST1IoJyMzOiAoMFxcdTAwMEN8XFx1MDAwQzEpID09PSAxJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKGV2YWwoIjBcdTAwMjB8XHUwMDIwMSIpKSAhPT0gMSkgewogICRFUlJPUignIzQ6ICgwXFx1MDAyMHxcXHUwMDIwMSkgPT09IDEnKTsKfQoKLy9DSEVDSyM1CmlmICgoZXZhbCgiMFx1MDBBMHxcdTAwQTAxIikpICE9PSAxKSB7CiAgJEVSUk9SKCcjNTogKDBcXHUwMEEwfFxcdTAwQTAxKSA9PT0gMScpOwp9CgovL0NIRUNLIzYKaWYgKChldmFsKCIwXHUwMDBBfFx1MDAwQTEiKSkgIT09IDEpIHsKICAkRVJST1IoJyM2OiAoMFxcdTAwMEF8XFx1MDAwQTEpID09PSAxJyk7ICAKfQoKLy9DSEVDSyM3CmlmICgoZXZhbCgiMFx1MDAwRHxcdTAwMEQxIikpICE9PSAxKSB7CiAgJEVSUk9SKCcjNzogKDBcXHUwMDBEfFxcdTAwMEQxKSA9PT0gMScpOwp9CgovL0NIRUNLIzgKaWYgKChldmFsKCIwXHUyMDI4fFx1MjAyODEiKSkgIT09IDEpIHsKICAkRVJST1IoJyM4OiAoMFxcdTIwMjh8XFx1MjAyODEpID09PSAxJyk7Cn0KCi8vQ0hFQ0sjOQppZiAoKGV2YWwoIjBcdTIwMjl8XHUyMDI5MSIpKSAhPT0gMSkgewogICRFUlJPUignIzk6ICgwXFx1MjAyOXxcXHUyMDI5MSkgPT09IDEnKTsKfQoKCi8vQ0hFQ0sjMTAKaWYgKChldmFsKCIwXHUwMDA5XHUwMDBCXHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5fFx1MDAwOVx1MDAwQlx1MDAwQ1x1MDAyMFx1MDBBMFx1MDAwQVx1MDAwRFx1MjAyOFx1MjAyOTEiKSkgIT09IDEpIHsKICAkRVJST1IoJyMxMDogKDBcXHUwMDA5XFx1MDAwQlxcdTAwMENcXHUwMDIwXFx1MDBBMFxcdTAwMEFcXHUwMDBEXFx1MjAyOFxcdTIwMjl8XFx1MDAwOVxcdTAwMEJcXHUwMDBDXFx1MDAyMFxcdTAwQTBcXHUwMDBBXFx1MDAwRFxcdTIwMjhcXHUyMDI5MSkgPT09IDEnKTsKfQoK",
"commentary":"White Space and Line Terminator between BitwiseORExpression and \"|\" or between \"|\" and BitwiseXORExpression are allowed",
"description":"Checking by using eval",
"path":"TestCases/ch11/11.10/11.10.3/S11.10.3_A1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IHwgeSB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTAvMTEuMTAuMy9TMTEuMTAuM19BMi4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBFaXRoZXIgVHlwZSBpcyBub3QgUmVmZXJlbmNlIG9yIEdldEJhc2UgaXMgbm90IG51bGwKICovCgovL0NIRUNLIzEKaWYgKCgxIHwgMCkgIT09IDEpIHsKICAkRVJST1IoJyMxOiAoMSB8IDApID09PSAxLiBBY3R1YWw6ICcgKyAoKDEgfCAwKSkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAxOwppZiAoKHggfCAwKSAhPT0gMSkgewogICRFUlJPUignIzI6IHZhciB4ID0gMTsgKHggfCAwKSA9PT0gMS4gQWN0dWFsOiAnICsgKCh4IHwgMCkpKTsKfQoKLy9DSEVDSyMzCnZhciB5ID0gMDsKaWYgKCgxIHwgeSkgIT09IDEpIHsKICAkRVJST1IoJyMzOiB2YXIgeSA9IDA7ICgxIHwgeSkgPT09IDEuIEFjdHVhbDogJyArICgoMSB8IHkpKSk7Cn0KCi8vQ0hFQ0sjNAp2YXIgeCA9IDE7CnZhciB5ID0gMDsKaWYgKCh4IHwgeSkgIT09IDEpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IDE7IHZhciB5ID0gMDsgKHggfCB5KSA9PT0gMS4gQWN0dWFsOiAnICsgKCh4IHwgeSkpKTsKfQoKLy9DSEVDSyM1CnZhciBvYmplY3R4ID0gbmV3IE9iamVjdCgpOwp2YXIgb2JqZWN0eSA9IG5ldyBPYmplY3QoKTsKb2JqZWN0eC5wcm9wID0gMTsKb2JqZWN0eS5wcm9wID0gMDsKaWYgKChvYmplY3R4LnByb3AgfCBvYmplY3R5LnByb3ApICE9PSAxKSB7CiAgJEVSUk9SKCcjNTogdmFyIG9iamVjdHggPSBuZXcgT2JqZWN0KCk7IHZhciBvYmplY3R5ID0gbmV3IE9iamVjdCgpOyBvYmplY3R4LnByb3AgPSAxOyBvYmplY3R5LnByb3AgPSAwOyAob2JqZWN0eC5wcm9wIHwgb2JqZWN0eS5wcm9wKSA9PT0gMS4gQWN0dWFsOiAnICsgKChvYmplY3R4LnByb3AgfCBvYmplY3R5LnByb3ApKSk7Cn0KCg==",
"commentary":"Operator x | y uses GetValue",
"description":"Either Type is not Reference or GetBase is not null",
"path":"TestCases/ch11/11.10/11.10.3/S11.10.3_A2.1_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IHwgeSB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTAvMTEuMTAuMy9TMTEuMTAuM19BMi4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBHZXRCYXNlKHgpIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgeCB8IDE7CiAgJEVSUk9SKCcjMS4xOiB4IHwgMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHggfCAxKSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiB4IHwgMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoK",
"commentary":"Operator x | y uses GetValue",
"description":"If GetBase(x) is null, throw ReferenceError",
"path":"TestCases/ch11/11.10/11.10.3/S11.10.3_A2.1_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IHwgeSB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTAvMTEuMTAuMy9TMTEuMTAuM19BMi4xX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBHZXRCYXNlKHkpIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgMSB8IHk7CiAgJEVSUk9SKCcjMS4xOiAxIHwgeSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKDEgfCB5KSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiAxIHwgeSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoK",
"commentary":"Operator x | y uses GetValue",
"description":"If GetBase(y) is null, throw ReferenceError",
"path":"TestCases/ch11/11.10/11.10.3/S11.10.3_A2.1_T3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IHwgeSB1c2VzIFtbRGVmYXVsdCBWYWx1ZV1dCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTAvMTEuMTAuMy9TMTEuMTAuM19BMi4yX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBUeXBlKHZhbHVlKSBpcyBPYmplY3QsIGV2YWx1YXRlIFRvUHJpbWl0aXZlKHZhbHVlLCBOdW1iZXIpCiAqLwoKLy9DSEVDSyMxCmlmICgoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0gfCAwKSAhPT0gMSkgewogICRFUlJPUignIzE6ICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSB8IDApID09PSAxLiBBY3R1YWw6ICcgKyAoKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19IHwgMCkpKTsKfQoKLy9DSEVDSyMyCmlmICgoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX0gfCAwKSAhPT0gMSkgewogICRFUlJPUignIzI6ICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSB8IDApID09PSAxLiBBY3R1YWw6ICcgKyAoKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19IHwgMCkpKTsKfQoKLy9DSEVDSyMzCmlmICgoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19IHwgMCkgIT09IDEpIHsKICAkRVJST1IoJyMzOiAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19IHwgMCkgPT09IDEuIEFjdHVhbDogJyArICgoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19IHwgMCkpKTsKfQoKLy9DSEVDSyM0CnRyeSB7CiAgaWYgKCh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19IHwgMCkgIT09IDEpIHsKICAgICRFUlJPUignIzQuMTogKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gfCAwKSA9PT0gMS4gQWN0dWFsOiAnICsgKCh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19IHwgMCkpKTsKICB9Cn0KY2F0Y2ggKGUpIHsKICBpZiAoZSA9PT0gImVycm9yIikgewogICAgJEVSUk9SKCcjNC4yOiAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fSB8IDApIG5vdCB0aHJvdyAiZXJyb3IiJyk7CiAgfSBlbHNlIHsKICAgICRFUlJPUignIzQuMzogKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gfCAwKSBub3QgdGhyb3cgRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9CgovL0NIRUNLIzUKaWYgKCgwIHwge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSAhPT0gMSkgewogICRFUlJPUignIzU6ICgwIHwge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSA9PT0gMS4gQWN0dWFsOiAnICsgKCgwIHwge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSkpOwp9CgovL0NIRUNLIzYKaWYgKCgwIHwge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSAhPT0gMSkgewogICRFUlJPUignIzY6ICgwIHwge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSA9PT0gMS4gQWN0dWFsOiAnICsgKCgwIHwge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSkpOwp9CgovL0NIRUNLIzcKdHJ5IHsKICAwIHwge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsKICAkRVJST1IoJyM3LjE6IDAgfCB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19IHRocm93ICJlcnJvciIuIEFjdHVhbDogJyArICgwIHwge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSkpOwp9ICAKY2F0Y2ggKGUpIHsKICBpZiAoZSAhPT0gImVycm9yIikgewogICAgJEVSUk9SKCcjNy4yOiAwIHwge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSB0aHJvdyAiZXJyb3IiLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gCn0KCi8vQ0hFQ0sjOAp0cnkgewogIDAgfCB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19OwogICRFUlJPUignIzguMTogMCB8IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0gdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoMCB8IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0pKTsKfSAgCmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjOC4yOiAwIHwge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfSAKfQoK",
"commentary":"Operator x | y uses [[Default Value]]",
"description":"If Type(value) is Object, evaluate ToPrimitive(value, Number)",
"path":"TestCases/ch11/11.10/11.10.3/S11.10.3_A2.2_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUb0ludDMyKGZpcnN0IGV4cHJlc3Npb24pIGlzIGNhbGxlZCBmaXJzdCwgYW5kIHRoZW4gVG9JbnQzMihzZWNvbmQgZXhwcmVzc2lvbikKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4zL1MxMS4xMC4zX0EyLjNfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggInRocm93IgogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieCI7IH0gfTsKdmFyIHkgPSB7IHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9IH07CnRyeSB7CiAgIHggfCB5OwogICAkRVJST1IoJyMxLjE6IHZhciB4ID0geyB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfSB9OyB2YXIgeSA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieSI7IH0gfTsgeCB8IHkgdGhyb3cgIngiLiBBY3R1YWw6ICcgKyAoeCB8IHkpKTsKfSBjYXRjaCAoZSkgewogICBpZiAoZSA9PT0gInkiKSB7CiAgICAgJEVSUk9SKCcjMS4yOiBUb0ludDMyKGZpcnN0IGV4cHJlc3Npb24pIGlzIGNhbGxlZCBmaXJzdCwgYW5kIHRoZW4gVG9JbnQzMihzZWNvbmQgZXhwcmVzc2lvbiknKTsKICAgfSBlbHNlIHsKICAgICBpZiAoZSAhPT0gIngiKSB7CiAgICAgICAkRVJST1IoJyMxLjM6IHZhciB4ID0geyB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfSB9OyB2YXIgeSA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieSI7IH0gfTsgeCB8IHkgdGhyb3cgIngiLiBBY3R1YWw6ICcgKyAoZSkpOwogICAgIH0KICAgfQp9Cgo=",
"commentary":"ToInt32(first expression) is called first, and then ToInt32(second expression)",
"description":"Checking with \"throw\"",
"path":"TestCases/ch11/11.10/11.10.3/S11.10.3_A2.3_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4zL1MxMS4xMC4zX0EyLjRfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggIj0iCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gMTsgCmlmICgoKHggPSAwKSB8IHgpICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSAxOyAoKHggPSAwKSB8IHgpID09PSAwLiBBY3R1YWw6ICcgKyAoKCh4ID0gMCkgfCB4KSkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAxOyAKaWYgKCh4IHwgKHggPSAwKSkgIT09IDEpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IDE7ICh4IHwgKHggPSAwKSkgPT09IDEuIEFjdHVhbDogJyArICgoeCB8ICh4ID0gMCkpKSk7Cn0KCg==",
"commentary":"First expression is evaluated first, and then second expression",
"description":"Checking with \"=\"",
"path":"TestCases/ch11/11.10/11.10.3/S11.10.3_A2.4_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4zL1MxMS4xMC4zX0EyLjRfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggInRocm93IgogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9Owp2YXIgeSA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9Owp0cnkgewogICB4KCkgfCB5KCk7CiAgICRFUlJPUignIzEuMTogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpIHwgeSgpIHRocm93ICJ4Ii4gQWN0dWFsOiAnICsgKHgoKSB8IHkoKSkpOwp9IGNhdGNoIChlKSB7CiAgIGlmIChlID09PSAieSIpIHsKICAgICAkRVJST1IoJyMxLjI6IEZpcnN0IGV4cHJlc3Npb24gaXMgZXZhbHVhdGVkIGZpcnN0LCBhbmQgdGhlbiBzZWNvbmQgZXhwcmVzc2lvbicpOwogICB9IGVsc2UgewogICAgIGlmIChlICE9PSAieCIpIHsKICAgICAgICRFUlJPUignIzEuMzogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpIHwgeSgpIHRocm93ICJ4Ii4gQWN0dWFsOiAnICsgKGUpKTsKICAgICB9CiAgIH0KfQoK",
"commentary":"First expression is evaluated first, and then second expression",
"description":"Checking with \"throw\"",
"path":"TestCases/ch11/11.10/11.10.3/S11.10.3_A2.4_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4zL1MxMS4xMC4zX0EyLjRfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggdW5kZWNsYXJhdGVkIHZhcmlhYmxlcwogKiBAbm9TdHJpY3QKICovCgovL0NIRUNLIzEKdHJ5IHsKICB4IHwgKHggPSAxKTsKICAkRVJST1IoJyMxLjE6IHggfCAoeCA9IDEpIHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoeCB8ICh4ID0gMSkpKTsKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiB4IHwgKHggPSAxKSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCi8vQ0hFQ0sjMgppZiAoKCh5ID0gMSkgfCB5KSAhPT0gMSkgewogICRFUlJPUignIzI6ICgoeSA9IDEpIHwgeSkgPT09IDEuIEFjdHVhbDogJyArICgoKHkgPSAxKSB8IHkpKSk7Cn0KCg==",
"commentary":"First expression is evaluated first, and then second expression",
"description":"Checking with undeclarated variables",
"noStrict":"",
"path":"TestCases/ch11/11.10/11.10.3/S11.10.3_A2.4_T3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IHwgeSByZXR1cm5zIFRvTnVtYmVyKHgpIHwgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4zL1MxMS4xMC4zX0EzX1QxLjEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBib29sZWFuIGFuZCBCb29sZWFuIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAoKHRydWUgfCB0cnVlKSAhPT0gMSkgewogICRFUlJPUignIzE6ICh0cnVlIHwgdHJ1ZSkgPT09IDEuIEFjdHVhbDogJyArICgodHJ1ZSB8IHRydWUpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoKG5ldyBCb29sZWFuKHRydWUpIHwgdHJ1ZSkgIT09IDEpIHsKICAkRVJST1IoJyMyOiAobmV3IEJvb2xlYW4odHJ1ZSkgfCB0cnVlKSA9PT0gMS4gQWN0dWFsOiAnICsgKChuZXcgQm9vbGVhbih0cnVlKSB8IHRydWUpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoKHRydWUgfCBuZXcgQm9vbGVhbih0cnVlKSkgIT09IDEpIHsKICAkRVJST1IoJyMzOiAodHJ1ZSB8IG5ldyBCb29sZWFuKHRydWUpKSA9PT0gMS4gQWN0dWFsOiAnICsgKCh0cnVlIHwgbmV3IEJvb2xlYW4odHJ1ZSkpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoKG5ldyBCb29sZWFuKHRydWUpIHwgbmV3IEJvb2xlYW4odHJ1ZSkpICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogKG5ldyBCb29sZWFuKHRydWUpIHwgbmV3IEJvb2xlYW4odHJ1ZSkpID09PSAxLiBBY3R1YWw6ICcgKyAoKG5ldyBCb29sZWFuKHRydWUpIHwgbmV3IEJvb2xlYW4odHJ1ZSkpKSk7Cn0KCg==",
"commentary":"Operator x | y returns ToNumber(x) | ToNumber(y)",
"description":"Type(x) and Type(y) vary between primitive boolean and Boolean object",
"path":"TestCases/ch11/11.10/11.10.3/S11.10.3_A3_T1.1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IHwgeSByZXR1cm5zIFRvTnVtYmVyKHgpIHwgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4zL1MxMS4xMC4zX0EzX1QxLjIuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBudW1iZXIgYW5kIE51bWJlciBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKCgxIHwgMSkgIT09IDEpIHsKICAkRVJST1IoJyMxOiAoMSB8IDEpID09PSAxLiBBY3R1YWw6ICcgKyAoKDEgfCAxKSkpOwp9CgovL0NIRUNLIzIKaWYgKChuZXcgTnVtYmVyKDEpIHwgMSkgIT09IDEpIHsKICAkRVJST1IoJyMyOiAobmV3IE51bWJlcigxKSB8IDEpID09PSAxLiBBY3R1YWw6ICcgKyAoKG5ldyBOdW1iZXIoMSkgfCAxKSkpOwp9CgovL0NIRUNLIzMKaWYgKCgxIHwgbmV3IE51bWJlcigxKSkgIT09IDEpIHsKICAkRVJST1IoJyMzOiAoMSB8IG5ldyBOdW1iZXIoMSkpID09PSAxLiBBY3R1YWw6ICcgKyAoKDEgfCBuZXcgTnVtYmVyKDEpKSkpOwp9CgovL0NIRUNLIzQKaWYgKChuZXcgTnVtYmVyKDEpIHwgbmV3IE51bWJlcigxKSkgIT09IDEpIHsKICAkRVJST1IoJyM0OiAobmV3IE51bWJlcigxKSB8IG5ldyBOdW1iZXIoMSkpID09PSAxLiBBY3R1YWw6ICcgKyAoKG5ldyBOdW1iZXIoMSkgfCBuZXcgTnVtYmVyKDEpKSkpOwp9CgoK",
"commentary":"Operator x | y returns ToNumber(x) | ToNumber(y)",
"description":"Type(x) and Type(y) vary between primitive number and Number object",
"path":"TestCases/ch11/11.10/11.10.3/S11.10.3_A3_T1.2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IHwgeSByZXR1cm5zIFRvTnVtYmVyKHgpIHwgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4zL1MxMS4xMC4zX0EzX1QxLjMuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBzdHJpbmcgYW5kIFN0cmluZyBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKCgiMSIgfCAiMSIpICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogKCIxIiB8ICIxIikgPT09IDEuIEFjdHVhbDogJyArICgoIjEiIHwgIjEiKSkpOwp9CgovL0NIRUNLIzIKaWYgKChuZXcgU3RyaW5nKCIxIikgfCAiMSIpICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogKG5ldyBTdHJpbmcoIjEiKSB8ICIxIikgPT09IDEuIEFjdHVhbDogJyArICgobmV3IFN0cmluZygiMSIpIHwgIjEiKSkpOwp9CgovL0NIRUNLIzMKaWYgKCgiMSIgfCBuZXcgU3RyaW5nKCIxIikpICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogKCIxIiB8IG5ldyBTdHJpbmcoIjEiKSkgPT09IDEuIEFjdHVhbDogJyArICgoIjEiIHwgbmV3IFN0cmluZygiMSIpKSkpOwp9CgovL0NIRUNLIzQKaWYgKChuZXcgU3RyaW5nKCIxIikgfCBuZXcgU3RyaW5nKCIxIikpICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogKG5ldyBTdHJpbmcoIjEiKSB8IG5ldyBTdHJpbmcoIjEiKSkgPT09IDEuIEFjdHVhbDogJyArICgobmV3IFN0cmluZygiMSIpIHwgbmV3IFN0cmluZygiMSIpKSkpOwp9CgovL0NIRUNLIzUKaWYgKCgieCIgfCAiMSIpICE9PSAxKSB7CiAgJEVSUk9SKCcjNTogKCJ4IiB8ICIxIikgPT09IDEuIEFjdHVhbDogJyArICgoIngiIHwgIjEiKSkpOwp9CgovL0NIRUNLIzYKaWYgKCgiMSIgfCAieCIpICE9PSAxKSB7CiAgJEVSUk9SKCcjNjogKCIxIiB8ICJ4IikgPT09IDEuIEFjdHVhbDogJyArICgoIjEiIHwgIngiKSkpOwp9Cgo=",
"commentary":"Operator x | y returns ToNumber(x) | ToNumber(y)",
"description":"Type(x) and Type(y) vary between primitive string and String object",
"path":"TestCases/ch11/11.10/11.10.3/S11.10.3_A3_T1.3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IHwgeSByZXR1cm5zIFRvTnVtYmVyKHgpIHwgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4zL1MxMS4xMC4zX0EzX1QxLjQuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIE51bGwgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQppZiAoKG51bGwgfCB1bmRlZmluZWQpICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogKG51bGwgfCB1bmRlZmluZWQpID09PSAwLiBBY3R1YWw6ICcgKyAoKG51bGwgfCB1bmRlZmluZWQpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoKHVuZGVmaW5lZCB8IG51bGwpICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogKHVuZGVmaW5lZCB8IG51bGwpID09PSAwLiBBY3R1YWw6ICcgKyAoKHVuZGVmaW5lZCB8IG51bGwpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoKHVuZGVmaW5lZCB8IHVuZGVmaW5lZCkgIT09IDApIHsKICAkRVJST1IoJyMzOiAodW5kZWZpbmVkIHwgdW5kZWZpbmVkKSA9PT0gMC4gQWN0dWFsOiAnICsgKCh1bmRlZmluZWQgfCB1bmRlZmluZWQpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoKG51bGwgfCBudWxsKSAhPT0gMCkgewogICRFUlJPUignIzQ6IChudWxsIHwgbnVsbCkgPT09IDAuIEFjdHVhbDogJyArICgobnVsbCB8IG51bGwpKSk7Cn0KCg==",
"commentary":"Operator x | y returns ToNumber(x) | ToNumber(y)",
"description":"Type(x) and Type(y) vary between Null and Undefined",
"path":"TestCases/ch11/11.10/11.10.3/S11.10.3_A3_T1.4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IHwgeSByZXR1cm5zIFRvTnVtYmVyKHgpIHwgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4zL1MxMS4xMC4zX0EzX1QxLjUuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIE9iamVjdCBvYmplY3QgYW5kIEZ1bmN0aW9uIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAoKHt9IHwgZnVuY3Rpb24oKXtyZXR1cm4gMX0pICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogKHt9IHwgZnVuY3Rpb24oKXtyZXR1cm4gMX0pID09PSAwLiBBY3R1YWw6ICcgKyAoKHt9IHwgZnVuY3Rpb24oKXtyZXR1cm4gMX0pKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoKGZ1bmN0aW9uKCl7cmV0dXJuIDF9IHwge30pICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogKGZ1bmN0aW9uKCl7cmV0dXJuIDF9IHwge30pID09PSAwLiBBY3R1YWw6ICcgKyAoKGZ1bmN0aW9uKCl7cmV0dXJuIDF9IHwge30pKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoKGZ1bmN0aW9uKCl7cmV0dXJuIDF9IHwgZnVuY3Rpb24oKXtyZXR1cm4gMX0pICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogKGZ1bmN0aW9uKCl7cmV0dXJuIDF9IHwgZnVuY3Rpb24oKXtyZXR1cm4gMX0pID09PSAwLiBBY3R1YWw6ICcgKyAoKGZ1bmN0aW9uKCl7cmV0dXJuIDF9IHwgZnVuY3Rpb24oKXtyZXR1cm4gMX0pKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoKHt9IHwge30pICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogKHt9IHwge30pID09PSAwLiBBY3R1YWw6ICcgKyAoKHt9IHwge30pKSk7Cn0KCgo=",
"commentary":"Operator x | y returns ToNumber(x) | ToNumber(y)",
"description":"Type(x) and Type(y) vary between Object object and Function object",
"path":"TestCases/ch11/11.10/11.10.3/S11.10.3_A3_T1.5.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IHwgeSByZXR1cm5zIFRvTnVtYmVyKHgpIHwgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4zL1MxMS4xMC4zX0EzX1QyLjEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgQm9vbGVhbiAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCmlmICgodHJ1ZSB8IDEpICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogKHRydWUgfCAxKSA9PT0gMS4gQWN0dWFsOiAnICsgKCh0cnVlIHwgMSkpKTsKfQoKLy9DSEVDSyMyCmlmICgoMSB8IHRydWUpICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogKDEgfCB0cnVlKSA9PT0gMS4gQWN0dWFsOiAnICsgKCgxIHwgdHJ1ZSkpKTsKfQoKLy9DSEVDSyMzCmlmICgobmV3IEJvb2xlYW4odHJ1ZSkgfCAxKSAhPT0gMSkgewogICRFUlJPUignIzM6IChuZXcgQm9vbGVhbih0cnVlKSB8IDEpID09PSAxLiBBY3R1YWw6ICcgKyAoKG5ldyBCb29sZWFuKHRydWUpIHwgMSkpKTsKfQoKLy9DSEVDSyM0CmlmICgoMSB8IG5ldyBCb29sZWFuKHRydWUpKSAhPT0gMSkgewogICRFUlJPUignIzQ6ICgxIHwgbmV3IEJvb2xlYW4odHJ1ZSkpID09PSAxLiBBY3R1YWw6ICcgKyAoKDEgfCBuZXcgQm9vbGVhbih0cnVlKSkpKTsKfQoKLy9DSEVDSyM1CmlmICgodHJ1ZSB8IG5ldyBOdW1iZXIoMSkpICE9PSAxKSB7CiAgJEVSUk9SKCcjNTogKHRydWUgfCBuZXcgTnVtYmVyKDEpKSA9PT0gMS4gQWN0dWFsOiAnICsgKCh0cnVlIHwgbmV3IE51bWJlcigxKSkpKTsKfQoKLy9DSEVDSyM2CmlmICgobmV3IE51bWJlcigxKSB8IHRydWUpICE9PSAxKSB7CiAgJEVSUk9SKCcjNjogKG5ldyBOdW1iZXIoMSkgfCB0cnVlKSA9PT0gMS4gQWN0dWFsOiAnICsgKChuZXcgTnVtYmVyKDEpIHwgdHJ1ZSkpKTsKfQoKLy9DSEVDSyM3CmlmICgobmV3IEJvb2xlYW4odHJ1ZSkgfCBuZXcgTnVtYmVyKDEpKSAhPT0gMSkgewogICRFUlJPUignIzc6IChuZXcgQm9vbGVhbih0cnVlKSB8IG5ldyBOdW1iZXIoMSkpID09PSAxLiBBY3R1YWw6ICcgKyAoKG5ldyBCb29sZWFuKHRydWUpIHwgbmV3IE51bWJlcigxKSkpKTsKfQoKLy9DSEVDSyM4CmlmICgobmV3IE51bWJlcigxKSB8IG5ldyBCb29sZWFuKHRydWUpKSAhPT0gMSkgewogICRFUlJPUignIzg6IChuZXcgTnVtYmVyKDEpIHwgbmV3IEJvb2xlYW4odHJ1ZSkpID09PSAxLiBBY3R1YWw6ICcgKyAoKG5ldyBOdW1iZXIoMSkgfCBuZXcgQm9vbGVhbih0cnVlKSkpKTsKfQoK",
"commentary":"Operator x | y returns ToNumber(x) | ToNumber(y)",
"description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Boolean (primitive and object)",
"path":"TestCases/ch11/11.10/11.10.3/S11.10.3_A3_T2.1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IHwgeSByZXR1cm5zIFRvTnVtYmVyKHgpIHwgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4zL1MxMS4xMC4zX0EzX1QyLjIuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgU3RyaW5nIChwcmltaXRpdmUgYW5kIG9iamVjdCkKICovCgovL0NIRUNLIzEKaWYgKCgiMSIgfCAxKSAhPT0gMSkgewogICRFUlJPUignIzE6ICgiMSIgfCAxKSA9PT0gMS4gQWN0dWFsOiAnICsgKCgiMSIgfCAxKSkpOwp9CgovL0NIRUNLIzIKaWYgKCgxIHwgIjEiKSAhPT0gMSkgewogICRFUlJPUignIzI6ICgxIHwgIjEiKSA9PT0gMS4gQWN0dWFsOiAnICsgKCgxIHwgIjEiKSkpOwp9CgovL0NIRUNLIzMKaWYgKChuZXcgU3RyaW5nKCIxIikgfCAxKSAhPT0gMSkgewogICRFUlJPUignIzM6IChuZXcgU3RyaW5nKCIxIikgfCAxKSA9PT0gMS4gQWN0dWFsOiAnICsgKChuZXcgU3RyaW5nKCIxIikgfCAxKSkpOwp9CgovL0NIRUNLIzQKaWYgKCgxIHwgbmV3IFN0cmluZygiMSIpKSAhPT0gMSkgewogICRFUlJPUignIzQ6ICgxIHwgbmV3IFN0cmluZygiMSIpKSA9PT0gMS4gQWN0dWFsOiAnICsgKCgxIHwgbmV3IFN0cmluZygiMSIpKSkpOwp9CgovL0NIRUNLIzUKaWYgKCgiMSIgfCBuZXcgTnVtYmVyKDEpKSAhPT0gMSkgewogICRFUlJPUignIzU6ICgiMSIgfCBuZXcgTnVtYmVyKDEpKSA9PT0gMS4gQWN0dWFsOiAnICsgKCgiMSIgfCBuZXcgTnVtYmVyKDEpKSkpOwp9CgovL0NIRUNLIzYKaWYgKChuZXcgTnVtYmVyKDEpIHwgIjEiKSAhPT0gMSkgewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKDEpIHwgIjEiKSA9PT0gMS4gQWN0dWFsOiAnICsgKChuZXcgTnVtYmVyKDEpIHwgIjEiKSkpOwp9CgovL0NIRUNLIzcKaWYgKChuZXcgU3RyaW5nKCIxIikgfCBuZXcgTnVtYmVyKDEpKSAhPT0gMSkgewogICRFUlJPUignIzc6IChuZXcgU3RyaW5nKCIxIikgfCBuZXcgTnVtYmVyKDEpKSA9PT0gMS4gQWN0dWFsOiAnICsgKChuZXcgU3RyaW5nKCIxIikgfCBuZXcgTnVtYmVyKDEpKSkpOwp9CgovL0NIRUNLIzgKaWYgKChuZXcgTnVtYmVyKDEpIHwgbmV3IFN0cmluZygiMSIpKSAhPT0gMSkgewogICRFUlJPUignIzg6IChuZXcgTnVtYmVyKDEpIHwgbmV3IFN0cmluZygiMSIpKSA9PT0gMS4gQWN0dWFsOiAnICsgKChuZXcgTnVtYmVyKDEpIHwgbmV3IFN0cmluZygiMSIpKSkpOwp9CgovL0NIRUNLIzkKaWYgKCgieCIgfCAxKSAhPT0gMSkgewogICRFUlJPUignIzk6ICgieCIgfCAxKSA9PT0gMS4gQWN0dWFsOiAnICsgKCgieCIgfCAxKSkpOwp9CgovL0NIRUNLIzEwCmlmICgoMSB8ICJ4IikgIT09IDEpIHsKICAkRVJST1IoJyMxMDogKDEgfCAieCIpID09PSAxLiBBY3R1YWw6ICcgKyAoKDEgfCAieCIpKSk7Cn0KCg==",
"commentary":"Operator x | y returns ToNumber(x) | ToNumber(y)",
"description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object)",
"path":"TestCases/ch11/11.10/11.10.3/S11.10.3_A3_T2.2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IHwgeSByZXR1cm5zIFRvTnVtYmVyKHgpIHwgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4zL1MxMS4xMC4zX0EzX1QyLjMuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQppZiAoKDEgfCBudWxsKSAhPT0gMSkgewogICRFUlJPUignIzE6ICgxIHwgbnVsbCkgPT09IDEuIEFjdHVhbDogJyArICgoMSB8IG51bGwpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoKG51bGwgfCAxKSAhPT0gMSkgewogICRFUlJPUignIzI6IChudWxsIHwgMSkgPT09IDEuIEFjdHVhbDogJyArICgobnVsbCB8IDEpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoKG5ldyBOdW1iZXIoMSkgfCBudWxsKSAhPT0gMSkgewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDEpIHwgbnVsbCkgPT09IDEuIEFjdHVhbDogJyArICgobmV3IE51bWJlcigxKSB8IG51bGwpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoKG51bGwgfCBuZXcgTnVtYmVyKDEpKSAhPT0gMSkgewogICRFUlJPUignIzQ6IChudWxsIHwgbmV3IE51bWJlcigxKSkgPT09IDEuIEFjdHVhbDogJyArICgobnVsbCB8IG5ldyBOdW1iZXIoMSkpKSk7Cn0KCg==",
"commentary":"Operator x | y returns ToNumber(x) | ToNumber(y)",
"description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null",
"path":"TestCases/ch11/11.10/11.10.3/S11.10.3_A3_T2.3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IHwgeSByZXR1cm5zIFRvTnVtYmVyKHgpIHwgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4zL1MxMS4xMC4zX0EzX1QyLjQuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCmlmICgoMSB8IHVuZGVmaW5lZCkgIT09IDEpIHsKICAkRVJST1IoJyMxOiAoMSB8IHVuZGVmaW5lZCkgPT09IDEuIEFjdHVhbDogJyArICgoMSB8IHVuZGVmaW5lZCkpKTsKfQoKLy9DSEVDSyMyCmlmICgodW5kZWZpbmVkIHwgMSkgIT09IDEpIHsKICAkRVJST1IoJyMyOiAodW5kZWZpbmVkIHwgMSkgPT09IDEuIEFjdHVhbDogJyArICgodW5kZWZpbmVkIHwgMSkpKTsKfQoKLy9DSEVDSyMzCmlmICgobmV3IE51bWJlcigxKSB8IHVuZGVmaW5lZCkgIT09IDEpIHsKICAkRVJST1IoJyMzOiAobmV3IE51bWJlcigxKSB8IHVuZGVmaW5lZCkgPT09IDEuIEFjdHVhbDogJyArICgobmV3IE51bWJlcigxKSB8IHVuZGVmaW5lZCkpKTsKfQoKLy9DSEVDSyM0CmlmICgodW5kZWZpbmVkIHwgbmV3IE51bWJlcigxKSkgIT09IDEpIHsKICAkRVJST1IoJyM0OiAodW5kZWZpbmVkIHwgbmV3IE51bWJlcigxKSkgPT09IDEuIEFjdHVhbDogJyArICgodW5kZWZpbmVkIHwgbmV3IE51bWJlcigxKSkpKTsKfQoK",
"commentary":"Operator x | y returns ToNumber(x) | ToNumber(y)",
"description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined",
"path":"TestCases/ch11/11.10/11.10.3/S11.10.3_A3_T2.4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IHwgeSByZXR1cm5zIFRvTnVtYmVyKHgpIHwgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4zL1MxMS4xMC4zX0EzX1QyLjUuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgQm9vbGVhbiAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCmlmICgodHJ1ZSB8ICIxIikgIT09IDEpIHsKICAkRVJST1IoJyMxOiAodHJ1ZSB8ICIxIikgPT09IDEuIEFjdHVhbDogJyArICgodHJ1ZSB8ICIxIikpKTsKfQoKLy9DSEVDSyMyCmlmICgoIjEiIHwgdHJ1ZSkgIT09IDEpIHsKICAkRVJST1IoJyMyOiAoIjEiIHwgdHJ1ZSkgPT09IDEuIEFjdHVhbDogJyArICgoIjEiIHwgdHJ1ZSkpKTsKfQoKLy9DSEVDSyMzCmlmICgobmV3IEJvb2xlYW4odHJ1ZSkgfCAiMSIpICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogKG5ldyBCb29sZWFuKHRydWUpIHwgIjEiKSA9PT0gMS4gQWN0dWFsOiAnICsgKChuZXcgQm9vbGVhbih0cnVlKSB8ICIxIikpKTsKfQoKLy9DSEVDSyM0CmlmICgoIjEiIHwgbmV3IEJvb2xlYW4odHJ1ZSkpICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogKCIxIiB8IG5ldyBCb29sZWFuKHRydWUpKSA9PT0gMS4gQWN0dWFsOiAnICsgKCgiMSIgfCBuZXcgQm9vbGVhbih0cnVlKSkpKTsKfQoKLy9DSEVDSyM1CmlmICgodHJ1ZSB8IG5ldyBTdHJpbmcoIjEiKSkgIT09IDEpIHsKICAkRVJST1IoJyM1OiAodHJ1ZSB8IG5ldyBTdHJpbmcoIjEiKSkgPT09IDEuIEFjdHVhbDogJyArICgodHJ1ZSB8IG5ldyBTdHJpbmcoIjEiKSkpKTsKfQoKLy9DSEVDSyM2CmlmICgobmV3IFN0cmluZygiMSIpIHwgdHJ1ZSkgIT09IDEpIHsKICAkRVJST1IoJyM2OiAobmV3IFN0cmluZygiMSIpIHwgdHJ1ZSkgPT09IDEuIEFjdHVhbDogJyArICgobmV3IFN0cmluZygiMSIpIHwgdHJ1ZSkpKTsKfQoKLy9DSEVDSyM3CmlmICgobmV3IEJvb2xlYW4odHJ1ZSkgfCBuZXcgU3RyaW5nKCIxIikpICE9PSAxKSB7CiAgJEVSUk9SKCcjNzogKG5ldyBCb29sZWFuKHRydWUpIHwgbmV3IFN0cmluZygiMSIpKSA9PT0gMS4gQWN0dWFsOiAnICsgKChuZXcgQm9vbGVhbih0cnVlKSB8IG5ldyBTdHJpbmcoIjEiKSkpKTsKfQoKLy9DSEVDSyM4CmlmICgobmV3IFN0cmluZygiMSIpIHwgbmV3IEJvb2xlYW4odHJ1ZSkpICE9PSAxKSB7CiAgJEVSUk9SKCcjODogKG5ldyBTdHJpbmcoIjEiKSB8IG5ldyBCb29sZWFuKHRydWUpKSA9PT0gMS4gQWN0dWFsOiAnICsgKChuZXcgU3RyaW5nKCIxIikgfCBuZXcgQm9vbGVhbih0cnVlKSkpKTsKfQoK",
"commentary":"Operator x | y returns ToNumber(x) | ToNumber(y)",
"description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Boolean (primitive and object)",
"path":"TestCases/ch11/11.10/11.10.3/S11.10.3_A3_T2.5.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IHwgeSByZXR1cm5zIFRvTnVtYmVyKHgpIHwgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4zL1MxMS4xMC4zX0EzX1QyLjYuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCmlmICgoIjEiIHwgdW5kZWZpbmVkKSAhPT0gMSkgewogICRFUlJPUignIzE6ICgiMSIgfCB1bmRlZmluZWQpID09PSAxLiBBY3R1YWw6ICcgKyAoKCIxIiB8IHVuZGVmaW5lZCkpKTsKfQoKLy9DSEVDSyMyCmlmICgodW5kZWZpbmVkIHwgIjEiKSAhPT0gMSkgewogICRFUlJPUignIzI6ICh1bmRlZmluZWQgfCAiMSIpID09PSAxLiBBY3R1YWw6ICcgKyAoKHVuZGVmaW5lZCB8ICIxIikpKTsKfQoKLy9DSEVDSyMzCmlmICgobmV3IFN0cmluZygiMSIpIHwgdW5kZWZpbmVkKSAhPT0gMSkgewogICRFUlJPUignIzM6IChuZXcgU3RyaW5nKCIxIikgfCB1bmRlZmluZWQpID09PSAxLiBBY3R1YWw6ICcgKyAoKG5ldyBTdHJpbmcoIjEiKSB8IHVuZGVmaW5lZCkpKTsKfQoKLy9DSEVDSyM0CmlmICgodW5kZWZpbmVkIHwgbmV3IFN0cmluZygiMSIpKSAhPT0gMSkgewogICRFUlJPUignIzQ6ICh1bmRlZmluZWQgfCBuZXcgU3RyaW5nKCIxIikpID09PSAxLiBBY3R1YWw6ICcgKyAoKHVuZGVmaW5lZCB8IG5ldyBTdHJpbmcoIjEiKSkpKTsKfQoK",
"commentary":"Operator x | y returns ToNumber(x) | ToNumber(y)",
"description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Undefined",
"path":"TestCases/ch11/11.10/11.10.3/S11.10.3_A3_T2.6.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IHwgeSByZXR1cm5zIFRvTnVtYmVyKHgpIHwgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4zL1MxMS4xMC4zX0EzX1QyLjcuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQppZiAoKCIxIiB8IG51bGwpICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogKCIxIiB8IG51bGwpID09PSAxLiBBY3R1YWw6ICcgKyAoKCIxIiB8IG51bGwpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoKG51bGwgfCAiMSIpICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogKG51bGwgfCAiMSIpID09PSAxLiBBY3R1YWw6ICcgKyAoKG51bGwgfCAiMSIpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoKG5ldyBTdHJpbmcoIjEiKSB8IG51bGwpICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogKG5ldyBTdHJpbmcoIjEiKSB8IG51bGwpID09PSAxLiBBY3R1YWw6ICcgKyAoKG5ldyBTdHJpbmcoIjEiKSB8IG51bGwpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoKG51bGwgfCBuZXcgU3RyaW5nKCIxIikpICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogKG51bGwgfCBuZXcgU3RyaW5nKCIxIikpID09PSAxLiBBY3R1YWw6ICcgKyAoKG51bGwgfCBuZXcgU3RyaW5nKCIxIikpKSk7Cn0KCg==",
"commentary":"Operator x | y returns ToNumber(x) | ToNumber(y)",
"description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null",
"path":"TestCases/ch11/11.10/11.10.3/S11.10.3_A3_T2.7.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IHwgeSByZXR1cm5zIFRvTnVtYmVyKHgpIHwgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4zL1MxMS4xMC4zX0EzX1QyLjguanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gQm9vbGVhbiAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQppZiAoKHRydWUgfCB1bmRlZmluZWQpICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogKHRydWUgfCB1bmRlZmluZWQpID09PSAxLiBBY3R1YWw6ICcgKyAoKHRydWUgfCB1bmRlZmluZWQpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoKHVuZGVmaW5lZCB8IHRydWUpICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogKHVuZGVmaW5lZCB8IHRydWUpID09PSAxLiBBY3R1YWw6ICcgKyAoKHVuZGVmaW5lZCB8IHRydWUpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoKG5ldyBCb29sZWFuKHRydWUpIHwgdW5kZWZpbmVkKSAhPT0gMSkgewogICRFUlJPUignIzM6IChuZXcgQm9vbGVhbih0cnVlKSB8IHVuZGVmaW5lZCkgPT09IDEuIEFjdHVhbDogJyArICgobmV3IEJvb2xlYW4odHJ1ZSkgfCB1bmRlZmluZWQpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoKHVuZGVmaW5lZCB8IG5ldyBCb29sZWFuKHRydWUpKSAhPT0gMSkgewogICRFUlJPUignIzQ6ICh1bmRlZmluZWQgfCBuZXcgQm9vbGVhbih0cnVlKSkgPT09IDEuIEFjdHVhbDogJyArICgodW5kZWZpbmVkIHwgbmV3IEJvb2xlYW4odHJ1ZSkpKSk7Cn0KCg==",
"commentary":"Operator x | y returns ToNumber(x) | ToNumber(y)",
"description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined",
"path":"TestCases/ch11/11.10/11.10.3/S11.10.3_A3_T2.8.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IHwgeSByZXR1cm5zIFRvTnVtYmVyKHgpIHwgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4zL1MxMS4xMC4zX0EzX1QyLjkuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gQm9vbGVhbiAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIE51bGwKICovCgovL0NIRUNLIzEKaWYgKCh0cnVlIHwgbnVsbCkgIT09IDEpIHsKICAkRVJST1IoJyMxOiAodHJ1ZSB8IG51bGwpID09PSAxLiBBY3R1YWw6ICcgKyAoKHRydWUgfCBudWxsKSkpOwp9CgovL0NIRUNLIzIKaWYgKChudWxsIHwgdHJ1ZSkgIT09IDEpIHsKICAkRVJST1IoJyMyOiAobnVsbCB8IHRydWUpID09PSAxLiBBY3R1YWw6ICcgKyAoKG51bGwgfCB0cnVlKSkpOwp9CgovL0NIRUNLIzMKaWYgKChuZXcgQm9vbGVhbih0cnVlKSB8IG51bGwpICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogKG5ldyBCb29sZWFuKHRydWUpIHwgbnVsbCkgPT09IDEuIEFjdHVhbDogJyArICgobmV3IEJvb2xlYW4odHJ1ZSkgfCBudWxsKSkpOwp9CgovL0NIRUNLIzQKaWYgKChudWxsIHwgbmV3IEJvb2xlYW4odHJ1ZSkpICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogKG51bGwgfCBuZXcgQm9vbGVhbih0cnVlKSkgPT09IDEuIEFjdHVhbDogJyArICgobnVsbCB8IG5ldyBCb29sZWFuKHRydWUpKSkpOwp9Cgo=",
"commentary":"Operator x | y returns ToNumber(x) | ToNumber(y)",
"description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null",
"path":"TestCases/ch11/11.10/11.10.3/S11.10.3_A3_T2.9.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gTG9naWNhbEFOREV4cHJlc3Npb24gYW5kICImJiIgb3IgYmV0d2VlbiAiJiYiIGFuZCBCaXR3aXNlT1JFeHByZXNzaW9uIGFyZSBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTEvMTEuMTEuMS9TMTEuMTEuMV9BMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYnkgdXNpbmcgZXZhbAogKi8KCi8vQ0hFQ0sjMQppZiAoKGV2YWwoInRydWVcdTAwMDkmJlx1MDAwOXRydWUiKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiAodHJ1ZVxcdTAwMDkmJlxcdTAwMDl0cnVlKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKChldmFsKCJ0cnVlXHUwMDBCJiZcdTAwMEJ0cnVlIikpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogKHRydWVcXHUwMDBCJiZcXHUwMDBCdHJ1ZSkgPT09IHRydWUnKTsgIAp9CgovL0NIRUNLIzMKaWYgKChldmFsKCJ0cnVlXHUwMDBDJiZcdTAwMEN0cnVlIikpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogKHRydWVcXHUwMDBDJiZcXHUwMDBDdHJ1ZSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM0CmlmICgoZXZhbCgidHJ1ZVx1MDAyMCYmXHUwMDIwdHJ1ZSIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6ICh0cnVlXFx1MDAyMCYmXFx1MDAyMHRydWUpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoKGV2YWwoInRydWVcdTAwQTAmJlx1MDBBMHRydWUiKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiAodHJ1ZVxcdTAwQTAmJlxcdTAwQTB0cnVlKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzYKaWYgKChldmFsKCJ0cnVlXHUwMDBBJiZcdTAwMEF0cnVlIikpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNjogKHRydWVcXHUwMDBBJiZcXHUwMDBBdHJ1ZSkgPT09IHRydWUnKTsgIAp9CgovL0NIRUNLIzcKaWYgKChldmFsKCJ0cnVlXHUwMDBEJiZcdTAwMER0cnVlIikpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNzogKHRydWVcXHUwMDBEJiZcXHUwMDBEdHJ1ZSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM4CmlmICgoZXZhbCgidHJ1ZVx1MjAyOCYmXHUyMDI4dHJ1ZSIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzg6ICh0cnVlXFx1MjAyOCYmXFx1MjAyOHRydWUpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjOQppZiAoKGV2YWwoInRydWVcdTIwMjkmJlx1MjAyOXRydWUiKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM5OiAodHJ1ZVxcdTIwMjkmJlxcdTIwMjl0cnVlKSA9PT0gdHJ1ZScpOwp9CgoKLy9DSEVDSyMxMAppZiAoKGV2YWwoInRydWVcdTAwMDlcdTAwMEJcdTAwMENcdTAwMjBcdTAwQTBcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjkmJlx1MDAwOVx1MDAwQlx1MDAwQ1x1MDAyMFx1MDBBMFx1MDAwQVx1MDAwRFx1MjAyOFx1MjAyOXRydWUiKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxMDogKHRydWVcXHUwMDA5XFx1MDAwQlxcdTAwMENcXHUwMDIwXFx1MDBBMFxcdTAwMEFcXHUwMDBEXFx1MjAyOFxcdTIwMjkmJlxcdTAwMDlcXHUwMDBCXFx1MDAwQ1xcdTAwMjBcXHUwMEEwXFx1MDAwQVxcdTAwMERcXHUyMDI4XFx1MjAyOXRydWUpID09PSB0cnVlJyk7Cn0KCg==",
"commentary":"White Space and Line Terminator between LogicalANDExpression and \"&&\" or between \"&&\" and BitwiseORExpression are allowed",
"description":"Checking by using eval",
"path":"TestCases/ch11/11.11/11.11.1/S11.11.1_A1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICYmIHkgdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjExLzExLjExLjEvUzExLjExLjFfQTIuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gRWl0aGVyIFR5cGUgaXMgbm90IFJlZmVyZW5jZSBvciBHZXRCYXNlIGlzIG5vdCBudWxsCiAqLwoKLy9DSEVDSyMxCmlmICgoZmFsc2UgJiYgdHJ1ZSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogKGZhbHNlICYmIHRydWUpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYgKCh0cnVlICYmIGZhbHNlKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMyOiAodHJ1ZSAmJiBmYWxzZSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwp2YXIgeCA9IGZhbHNlOwppZiAoKHggJiYgdHJ1ZSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBmYWxzZTsgKHggJiYgdHJ1ZSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNAp2YXIgeSA9IG5ldyBCb29sZWFuKGZhbHNlKTsKaWYgKCh0cnVlICYmIHkpICE9PSB5KSB7CiAgJEVSUk9SKCcjNDogdmFyIHkgPSBuZXcgQm9vbGVhbihmYWxzZSk7ICh0cnVlICYmIHkpID09PSB5Jyk7Cn0KCi8vQ0hFQ0sjNQp2YXIgeCA9IGZhbHNlOwp2YXIgeSA9IHRydWU7CmlmICgoeCAmJiB5KSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM1OiB2YXIgeCA9IGZhbHNlOyB2YXIgeSA9IHRydWU7ICh4ICYmIHkpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzYKdmFyIHggPSB0cnVlOwp2YXIgeSA9IG5ldyBCb29sZWFuKGZhbHNlKTsKaWYgKCh4ICYmIHkpICE9PSB5KSB7CiAgJEVSUk9SKCcjNjogdmFyIHggPSB0cnVlOyB2YXIgeSA9IG5ldyBCb29sZWFuKGZhbHNlKTsgKHggJiYgeSkgPT09IHknKTsKfQoKLy9DSEVDSyM3CnZhciBvYmplY3R4ID0gbmV3IE9iamVjdCgpOwp2YXIgb2JqZWN0eSA9IG5ldyBPYmplY3QoKTsKb2JqZWN0eC5wcm9wID0gdHJ1ZTsKb2JqZWN0eS5wcm9wID0gMS4xOwppZiAoKG9iamVjdHgucHJvcCAmJiBvYmplY3R5LnByb3ApICE9PSBvYmplY3R5LnByb3ApIHsKICAkRVJST1IoJyM3OiB2YXIgb2JqZWN0eCA9IG5ldyBPYmplY3QoKTsgdmFyIG9iamVjdHkgPSBuZXcgT2JqZWN0KCk7IG9iamVjdHgucHJvcCA9IHRydWU7IG9iamVjdHkucHJvcCA9IDE7IChvYmplY3R4LnByb3AgJiYgb2JqZWN0eS5wcm9wKSA9PT0gb2JqZWN0eS5wcm9wJyk7Cn0KCi8vQ0hFQ0sjOAp2YXIgb2JqZWN0eCA9IG5ldyBPYmplY3QoKTsKdmFyIG9iamVjdHkgPSBuZXcgT2JqZWN0KCk7Cm9iamVjdHgucHJvcCA9IDA7Cm9iamVjdHkucHJvcCA9IHRydWU7CmlmICgob2JqZWN0eC5wcm9wICYmIG9iamVjdHkucHJvcCkgIT09IG9iamVjdHgucHJvcCkgewogICRFUlJPUignIzg6IHZhciBvYmplY3R4ID0gbmV3IE9iamVjdCgpOyB2YXIgb2JqZWN0eSA9IG5ldyBPYmplY3QoKTsgb2JqZWN0eC5wcm9wID0gMDsgb2JqZWN0eS5wcm9wID0gdHJ1ZTsgKG9iamVjdHgucHJvcCAmJiBvYmplY3R5LnByb3ApID09PSBvYmplY3R4LnByb3AnKTsKfQoK",
"commentary":"Operator x && y uses GetValue",
"description":"Either Type is not Reference or GetBase is not null",
"path":"TestCases/ch11/11.11/11.11.1/S11.11.1_A2.1_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICYmIHkgdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjExLzExLjExLjEvUzExLjExLjFfQTIuMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gSWYgR2V0QmFzZSh4KSBpcyBudWxsLCB0aHJvdyBSZWZlcmVuY2VFcnJvcgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHggJiYgdHJ1ZTsKICAkRVJST1IoJyMxLjE6IHggJiYgdHJ1ZSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHggJiYgdHJ1ZSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogeCAmJiB0cnVlIHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9Cgo=",
"commentary":"Operator x && y uses GetValue",
"description":"If GetBase(x) is null, throw ReferenceError",
"path":"TestCases/ch11/11.11/11.11.1/S11.11.1_A2.1_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICYmIHkgdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjExLzExLjExLjEvUzExLjExLjFfQTIuMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gSWYgVG9Cb29sZWFuKHgpIGlzIHRydWUgYW5kIEdldEJhc2UoeSkgaXMgbnVsbCwgdGhyb3cgUmVmZXJlbmNlRXJyb3IKICovCgovL0NIRUNLIzEKdHJ5IHsKICB0cnVlICYmIHk7CiAgJEVSUk9SKCcjMS4xOiB0cnVlICYmIHkgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArICh0cnVlICYmIHkpKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IHRydWUgJiYgeSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoK",
"commentary":"Operator x && y uses GetValue",
"description":"If ToBoolean(x) is true and GetBase(y) is null, throw ReferenceError",
"path":"TestCases/ch11/11.11/11.11.1/S11.11.1_A2.1_T3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICYmIHkgdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjExLzExLjExLjEvUzExLjExLjFfQTIuMV9UNC5qcwogKiBAZGVzY3JpcHRpb24gSWYgVG9Cb29sZWFuKHgpIGlzIGZhbHNlIGFuZCBHZXRCYXNlKHkpIGlzIG51bGwsIHJldHVybiBmYWxzZQogKi8KCi8vQ0hFQ0sjMQppZiAoKGZhbHNlICYmIHgpICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IChmYWxzZSAmJiB4KSA9PT0gZmFsc2UnKTsKfQoK",
"commentary":"Operator x && y uses GetValue",
"description":"If ToBoolean(x) is false and GetBase(y) is null, return false",
"path":"TestCases/ch11/11.11/11.11.1/S11.11.1_A2.1_T4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS4xMS8xMS4xMS4xL1MxMS4xMS4xX0EyLjRfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggIj0iCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gZmFsc2U7IAppZiAoKCh4ID0gdHJ1ZSkgJiYgeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IGZhbHNlOyAoKHggPSB0cnVlKSAmJiB4KSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKdmFyIHggPSBmYWxzZTsgCmlmICgoeCAmJiAoeCA9IHRydWUpKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IGZhbHNlOyAoeCAmJiAoeCA9IHRydWUpKSA9PT0gZmFsc2UnKTsKfQoKCg==",
"commentary":"First expression is evaluated first, and then second expression",
"description":"Checking with \"=\"",
"path":"TestCases/ch11/11.11/11.11.1/S11.11.1_A2.4_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS4xMS8xMS4xMS4xL1MxMS4xMS4xX0EyLjRfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggInRocm93IgogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9Owp2YXIgeSA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9Owp0cnkgewogICB4KCkgJiYgeSgpOwogICAkRVJST1IoJyMxLjE6IHZhciB4ID0gZnVuY3Rpb24gKCkgeyB0aHJvdyAieCI7IH07IHZhciB5ID0gZnVuY3Rpb24gKCkgeyB0aHJvdyAieSI7IH07IHgoKSAmJiB5KCkgdGhyb3cgIngiLiBBY3R1YWw6ICcgKyAoeCgpICYmIHkoKSkpOwp9IGNhdGNoIChlKSB7CiAgIGlmIChlID09PSAieSIpIHsKICAgICAkRVJST1IoJyMxLjI6IEZpcnN0IGV4cHJlc3Npb24gaXMgZXZhbHVhdGVkIGZpcnN0LCBhbmQgdGhlbiBzZWNvbmQgZXhwcmVzc2lvbicpOwogICB9IGVsc2UgewogICAgIGlmIChlICE9PSAieCIpIHsKICAgICAgICRFUlJPUignIzEuMzogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpICYmIHkoKSB0aHJvdyAieCIuIEFjdHVhbDogJyArIChlKSk7CiAgICAgfQogICB9Cn0KCg==",
"commentary":"First expression is evaluated first, and then second expression",
"description":"Checking with \"throw\"",
"path":"TestCases/ch11/11.11/11.11.1/S11.11.1_A2.4_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS4xMS8xMS4xMS4xL1MxMS4xMS4xX0EyLjRfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggdW5kZWNsYXJhdGVkIHZhcmlhYmxlcwogKiBAbm9TdHJpY3QKICovCgovL0NIRUNLIzEKdHJ5IHsKICB4ICYmICh4ID0gdHJ1ZSk7CiAgJEVSUk9SKCcjMS4xOiB4ICYmICh4ID0gdHJ1ZSkgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArICh4ICYmICh4ID0gdHJ1ZSkpKTsKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiB4ICYmICh4ID0gdHJ1ZSkgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9CgovL0NIRUNLIzIKaWYgKCgoeSA9IHRydWUpICYmIHkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogKCh5ID0gdHJ1ZSkgJiYgeSkgPT09IHRydWUnKTsKfQoKCg==",
"commentary":"First expression is evaluated first, and then second expression",
"description":"Checking with undeclarated variables",
"noStrict":"",
"path":"TestCases/ch11/11.11/11.11.1/S11.11.1_A2.4_T3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUb0Jvb2xlYW4oeCkgaXMgZmFsc2UsIHJldHVybiB4CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTEvMTEuMTEuMS9TMTEuMTEuMV9BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBwcmltaXRpdmUgYm9vbGVhbiBhbmQgVHlwZSh5KSBpcyBjaGFuZ2VkIGJldHdlZW4gcHJpbWl0aXZlIGJvb2xlYW4gYW5kIEJvb2xlYW4gb2JqZWN0CiAqLwoKLy9DSEVDSyMxCmlmICgoZmFsc2UgJiYgdHJ1ZSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogKGZhbHNlICYmIHRydWUpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYgKChmYWxzZSAmJiBmYWxzZSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogKGZhbHNlICYmIGZhbHNlKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMzCmlmICgoZmFsc2UgJiYgbmV3IEJvb2xlYW4odHJ1ZSkpICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6IChmYWxzZSAmJiBuZXcgQm9vbGVhbih0cnVlKSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKGZhbHNlICYmIG5ldyBCb29sZWFuKGZhbHNlKSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogKGZhbHNlICYmIG5ldyBCb29sZWFuKGZhbHNlKSkgPT09IGZhbHNlJyk7Cn0KCg==",
"commentary":"If ToBoolean(x) is false, return x",
"description":"Type(x) is primitive boolean and Type(y) is changed between primitive boolean and Boolean object",
"path":"TestCases/ch11/11.11/11.11.1/S11.11.1_A3_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUb0Jvb2xlYW4oeCkgaXMgZmFsc2UsIHJldHVybiB4CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTEvMTEuMTEuMS9TMTEuMTEuMV9BM19UMi5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBhbmQgVHlwZSh5KSB2YXJ5IGJldHdlZW4gcHJpbWl0aXZlIG51bWJlciBhbmQgTnVtYmVyIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAoKC0wICYmIC0xKSAhPT0gMCkgewogICRFUlJPUignIzEuMTogKC0wICYmIC0xKSA9PT0gMCcpOwp9IGVsc2UgewogIGlmICgoMSAvICgtMCAmJiAtMSkpICE9PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpIHsKICAgICRFUlJPUignIzEuMjogKC0wICYmIC0xKSA9PT0gLTAnKTsKICB9Cn0KCi8vQ0hFQ0sjMgppZiAoKDAgJiYgbmV3IE51bWJlcigtMSkpICE9PSAwKSB7CiAgJEVSUk9SKCcjMi4xOiAoMCAmJiBuZXcgTnVtYmVyKC0xKSkgPT09IDAnKTsKfSBlbHNlIHsKICBpZiAoKDEgLyAoMCAmJiBuZXcgTnVtYmVyKC0xKSkpICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHsKICAgICRFUlJPUignIzIuMjogKDAgJiYgbmV3IE51bWJlcigtMSkpID09PSArMCcpOwogIH0KfQoKLy9DSEVDSyMzCmlmICgoaXNOYU4oTmFOICYmIDEpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IChOYU4gJiYgMSkgPT09IE5vdC1hLU51bWJlcicpOwp9Cgo=",
"commentary":"If ToBoolean(x) is false, return x",
"description":"Type(x) and Type(y) vary between primitive number and Number object",
"path":"TestCases/ch11/11.11/11.11.1/S11.11.1_A3_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUb0Jvb2xlYW4oeCkgaXMgZmFsc2UsIHJldHVybiB4CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTEvMTEuMTEuMS9TMTEuMTEuMV9BM19UMy5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBhbmQgVHlwZSh5KSB2YXJ5IGJldHdlZW4gcHJpbWl0aXZlIHN0cmluZyBhbmQgU3RyaW5nIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAoKCIiICYmICIxIikgIT09ICIiKSB7CiAgJEVSUk9SKCcjMTogKCIiICYmICIxIikgPT09ICIiJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKCIiICYmIG5ldyBTdHJpbmcoIjEiKSkgIT09ICIiKSB7CiAgJEVSUk9SKCcjMjogKCIiICYmIG5ldyBTdHJpbmcoIjEiKSkgPT09ICIiJyk7Cn0KCg==",
"commentary":"If ToBoolean(x) is false, return x",
"description":"Type(x) and Type(y) vary between primitive string and String object",
"path":"TestCases/ch11/11.11/11.11.1/S11.11.1_A3_T3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUb0Jvb2xlYW4oeCkgaXMgZmFsc2UsIHJldHVybiB4CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTEvMTEuMTEuMS9TMTEuMTEuMV9BM19UNC5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBvciBUeXBlKHkpIGlzIGNoYW5nZWQgYmV0d2VlbiBudWxsIGFuZCB1bmRlZmluZWQKICovCgovL0NIRUNLIzEKaWYgKCh1bmRlZmluZWQgJiYgdHJ1ZSkgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6ICh1bmRlZmluZWQgJiYgdHJ1ZSkgPT09IHVuZGVmaW5lZCcpOwp9CgovL0NIRUNLIzIKaWYgKChudWxsICYmIGZhbHNlKSAhPT0gbnVsbCkgewogICRFUlJPUignIzI6IChudWxsICYmIGZhbHNlKSA9PT0gbnVsbCcpOwp9Cgo=",
"commentary":"If ToBoolean(x) is false, return x",
"description":"Type(x) or Type(y) is changed between null and undefined",
"path":"TestCases/ch11/11.11/11.11.1/S11.11.1_A3_T4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUb0Jvb2xlYW4oeCkgaXMgdHJ1ZSwgcmV0dXJuIHkKICoKICogQHBhdGggY2gxMS8xMS4xMS8xMS4xMS4xL1MxMS4xMS4xX0E0X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGFuZCBUeXBlKHkpIHZhcnkgYmV0d2VlbiBwcmltaXRpdmUgYm9vbGVhbiBhbmQgQm9vbGVhbiBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKCh0cnVlICYmIHRydWUpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogKHRydWUgJiYgdHJ1ZSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCmlmICgodHJ1ZSAmJiBmYWxzZSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogKHRydWUgJiYgZmFsc2UpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzMKdmFyIHkgPSBuZXcgQm9vbGVhbih0cnVlKTsKaWYgKChuZXcgQm9vbGVhbih0cnVlKSAmJiAgeSkgIT09IHkpIHsKICAkRVJST1IoJyMzOiAodmFyIHkgPSBuZXcgQm9vbGVhbih0cnVlKTsgKG5ldyBCb29sZWFuKHRydWUpICYmICB5KSA9PT0geScpOwp9CgovL0NIRUNLIzQKdmFyIHkgPSBuZXcgQm9vbGVhbihmYWxzZSk7CmlmICgobmV3IEJvb2xlYW4odHJ1ZSkgJiYgIHkpICE9PSB5KSB7CiAgJEVSUk9SKCcjNDogKHZhciB5ID0gbmV3IEJvb2xlYW4oZmFsc2UpOyAobmV3IEJvb2xlYW4odHJ1ZSkgJiYgIHkpID09PSB5Jyk7Cn0KCi8vQ0hFQ0sjNQp2YXIgeSA9IG5ldyBCb29sZWFuKHRydWUpOwppZiAoKG5ldyBCb29sZWFuKGZhbHNlKSAmJiAgeSkgIT09IHkpIHsKICAkRVJST1IoJyM1OiAodmFyIHkgPSBuZXcgQm9vbGVhbih0cnVlKTsgKG5ldyBCb29sZWFuKGZhbHNlKSAmJiAgeSkgPT09IHknKTsKfQoKLy9DSEVDSyM2CnZhciB5ID0gbmV3IEJvb2xlYW4oZmFsc2UpOwppZiAoKG5ldyBCb29sZWFuKGZhbHNlKSAmJiAgeSkgIT09IHkpIHsKICAkRVJST1IoJyM2OiAodmFyIHkgPSBuZXcgQm9vbGVhbihmYWxzZSk7IChuZXcgQm9vbGVhbihmYWxzZSkgJiYgIHkpID09PSB5Jyk7Cn0KCg==",
"commentary":"If ToBoolean(x) is true, return y",
"description":"Type(x) and Type(y) vary between primitive boolean and Boolean object",
"path":"TestCases/ch11/11.11/11.11.1/S11.11.1_A4_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUb0Jvb2xlYW4oeCkgaXMgdHJ1ZSwgcmV0dXJuIHkKICoKICogQHBhdGggY2gxMS8xMS4xMS8xMS4xMS4xL1MxMS4xMS4xX0E0X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGFuZCBUeXBlKHkpIHZhcnkgYmV0d2VlbiBwcmltaXRpdmUgbnVtYmVyIGFuZCBOdW1iZXIgb2JqZWN0CiAqLwoKLy9DSEVDSyMxCmlmICgoLTEgJiYgLTApICE9PSAwKSB7CiAgJEVSUk9SKCcjMS4xOiAoLTEgJiYgLTApID09PSAwJyk7Cn0gZWxzZSB7CiAgaWYgKCgxIC8gKC0xICYmIC0wKSkgIT09IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgewogICAgJEVSUk9SKCcjMS4yOiAoLTEgJiYgLTApID09PSAtMCcpOwogIH0KfQoKLy9DSEVDSyMyCmlmICgoLTEgJiYgMCkgIT09IDApIHsKICAkRVJST1IoJyMyLjE6ICgtMSAmJiAwKSA9PT0gMCcpOwp9IGVsc2UgewogIGlmICgoMSAvICgtMSAmJiAwKSkgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICAgJEVSUk9SKCcjMi4yOiAoLTEgJiYgMCkgPT09ICswJyk7CiAgfQp9CgovL0NIRUNLIzMKaWYgKChpc05hTigwLjEgJiYgTmFOKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiAoMC4xICYmIE5hTikgPT09IE5vdC1hLU51bWJlcicpOwp9CgovL0NIRUNLIzQKdmFyIHkgPSBuZXcgTnVtYmVyKDApOwppZiAoKG5ldyBOdW1iZXIoLTEpICYmIHkpICE9PSB5KSB7CiAgJEVSUk9SKCcjNDogKHZhciB5ID0gbmV3IE51bWJlcigwKTsgKG5ldyBOdW1iZXIoLTEpICYmIHkpID09PSB5Jyk7Cn0KCi8vQ0hFQ0sjNQp2YXIgeSA9IG5ldyBOdW1iZXIoTmFOKTsKaWYgKChuZXcgTnVtYmVyKDApICYmIHkpICE9PSB5KSB7CiAgJEVSUk9SKCcjNTogKHZhciB5ID0gbmV3IE51bWJlcihOYU4pOyAobmV3IE51bWJlcigwKSAmJiB5KSA9PT0geScpOwp9CgovL0NIRUNLIzYKdmFyIHkgPSBuZXcgTnVtYmVyKC0xKTsKaWYgKChuZXcgTnVtYmVyKE5hTikgJiYgeSkgIT09IHkpIHsKICAkRVJST1IoJyM2OiAodmFyIHkgPSBuZXcgTnVtYmVyKC0xKTsgKG5ldyBOdW1iZXIoTmFOKSAmJiB5KSA9PT0geScpOwp9Cgo=",
"commentary":"If ToBoolean(x) is true, return y",
"description":"Type(x) and Type(y) vary between primitive number and Number object",
"path":"TestCases/ch11/11.11/11.11.1/S11.11.1_A4_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUb0Jvb2xlYW4oeCkgaXMgdHJ1ZSwgcmV0dXJuIHkKICoKICogQHBhdGggY2gxMS8xMS4xMS8xMS4xMS4xL1MxMS4xMS4xX0E0X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGFuZCBUeXBlKHkpIHZhcnkgYmV0d2VlbiBwcmltaXRpdmUgc3RyaW5nIGFuZCBTdHJpbmcgb2JqZWN0CiAqLwoKLy9DSEVDSyMxCmlmICgoIjAiICYmICItMSIpICE9PSAiLTEiKSB7CiAgJEVSUk9SKCcjLTE6ICgiMCIgJiYgIi0xIikgPT09ICItMSInKTsKfQoKLy9DSEVDSyMyCmlmICgoIi0xIiAmJiAieCIpICE9PSAieCIpIHsKICAkRVJST1IoJyMyOiAoIi0xIiAmJiAieCIpID09PSAieCInKTsKfQoKLy9DSEVDSyMzCnZhciB5ID0gbmV3IFN0cmluZygtMSk7CmlmICgobmV3IFN0cmluZygiLTEiKSAmJiB5KSAhPT0geSkgewogICRFUlJPUignIzM6ICh2YXIgeSA9IG5ldyBTdHJpbmcoLTEpOyAobmV3IFN0cmluZygiLTEiKSAmJiB5KSA9PT0geScpOwp9CgovL0NIRUNLIzQKdmFyIHkgPSBuZXcgU3RyaW5nKE5hTik7CmlmICgobmV3IFN0cmluZygiMCIpICYmIHkpICE9PSB5KSB7CiAgJEVSUk9SKCcjNDogKHZhciB5ID0gbmV3IFN0cmluZyhOYU4pOyAobmV3IFN0cmluZygiMCIpICYmIHkpID09PSB5Jyk7Cn0KCi8vQ0hFQ0sjNQp2YXIgeSA9IG5ldyBTdHJpbmcoIi14Iik7CmlmICgobmV3IFN0cmluZygieCIpICYmIHkpICE9PSB5KSB7CiAgJEVSUk9SKCcjNTogKHZhciB5ID0gbmV3IFN0cmluZygiLXgiKTsgKG5ldyBTdHJpbmcoIngiKSAmJiB5KSA9PT0geScpOwp9CgovL0NIRUNLIzYKdmFyIHkgPSBuZXcgU3RyaW5nKC0xKTsKaWYgKChuZXcgU3RyaW5nKE5hTikgJiYgeSkgIT09IHkpIHsKICAkRVJST1IoJyM2OiAodmFyIHkgPSBuZXcgU3RyaW5nKC0xKTsgKG5ldyBTdHJpbmcoTmFOKSAmJiB5KSA9PT0geScpOwp9Cgo=",
"commentary":"If ToBoolean(x) is true, return y",
"description":"Type(x) and Type(y) vary between primitive string and String object",
"path":"TestCases/ch11/11.11/11.11.1/S11.11.1_A4_T3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUb0Jvb2xlYW4oeCkgaXMgdHJ1ZSwgcmV0dXJuIHkKICoKICogQHBhdGggY2gxMS8xMS4xMS8xMS4xMS4xL1MxMS4xMS4xX0E0X1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIG9yIFR5cGUoeSkgaXMgY2hhbmdlZCBiZXR3ZWVuIG51bGwgYW5kIHVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQppZiAoKHRydWUgJiYgdW5kZWZpbmVkKSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTogKHRydWUgJiYgdW5kZWZpbmVkKSA9PT0gdW5kZWZpbmVkJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKHRydWUgJiYgbnVsbCkgIT09IG51bGwpIHsKICAkRVJST1IoJyMyOiAodHJ1ZSAmJiBudWxsKSA9PT0gbnVsbCcpOwp9Cgo=",
"commentary":"If ToBoolean(x) is true, return y",
"description":"Type(x) or Type(y) is changed between null and undefined",
"path":"TestCases/ch11/11.11/11.11.1/S11.11.1_A4_T4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gTG9naWNhbE9SRXhwcmVzc2lvbiBhbmQgInx8IiBvciBiZXR3ZWVuICJ8fCIgYW5kIExvZ2ljYWxBTkRFeHByZXNzaW9uIGFyZSBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTEvMTEuMTEuMi9TMTEuMTEuMl9BMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYnkgdXNpbmcgZXZhbAogKi8KCi8vQ0hFQ0sjMQppZiAoKGV2YWwoImZhbHNlXHUwMDA5fHxcdTAwMDl0cnVlIikpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogKGZhbHNlXFx1MDAwOXx8XFx1MDAwOXRydWUpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKGV2YWwoImZhbHNlXHUwMDBCfHxcdTAwMEJ0cnVlIikpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogKGZhbHNlXFx1MDAwQnx8XFx1MDAwQnRydWUpID09PSB0cnVlJyk7ICAKfQoKLy9DSEVDSyMzCmlmICgoZXZhbCgiZmFsc2VcdTAwMEN8fFx1MDAwQ3RydWUiKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiAoZmFsc2VcXHUwMDBDfHxcXHUwMDBDdHJ1ZSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM0CmlmICgoZXZhbCgiZmFsc2VcdTAwMjB8fFx1MDAyMHRydWUiKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiAoZmFsc2VcXHUwMDIwfHxcXHUwMDIwdHJ1ZSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM1CmlmICgoZXZhbCgiZmFsc2VcdTAwQTB8fFx1MDBBMHRydWUiKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiAoZmFsc2VcXHUwMEEwfHxcXHUwMEEwdHJ1ZSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM2CmlmICgoZXZhbCgiZmFsc2VcdTAwMEF8fFx1MDAwQXRydWUiKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiAoZmFsc2VcXHUwMDBBfHxcXHUwMDBBdHJ1ZSkgPT09IHRydWUnKTsgIAp9CgovL0NIRUNLIzcKaWYgKChldmFsKCJmYWxzZVx1MDAwRHx8XHUwMDBEdHJ1ZSIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzc6IChmYWxzZVxcdTAwMER8fFxcdTAwMER0cnVlKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzgKaWYgKChldmFsKCJmYWxzZVx1MjAyOHx8XHUyMDI4dHJ1ZSIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzg6IChmYWxzZVxcdTIwMjh8fFxcdTIwMjh0cnVlKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzkKaWYgKChldmFsKCJmYWxzZVx1MjAyOXx8XHUyMDI5dHJ1ZSIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzk6IChmYWxzZVxcdTIwMjl8fFxcdTIwMjl0cnVlKSA9PT0gdHJ1ZScpOwp9CgoKLy9DSEVDSyMxMAppZiAoKGV2YWwoImZhbHNlXHUwMDA5XHUwMDBCXHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5fHxcdTAwMDlcdTAwMEJcdTAwMENcdTAwMjBcdTAwQTBcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjl0cnVlIikpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTA6IChmYWxzZVxcdTAwMDlcXHUwMDBCXFx1MDAwQ1xcdTAwMjBcXHUwMEEwXFx1MDAwQVxcdTAwMERcXHUyMDI4XFx1MjAyOXx8XFx1MDAwOVxcdTAwMEJcXHUwMDBDXFx1MDAyMFxcdTAwQTBcXHUwMDBBXFx1MDAwRFxcdTIwMjhcXHUyMDI5dHJ1ZSkgPT09IHRydWUnKTsKfQoK",
"commentary":"White Space and Line Terminator between LogicalORExpression and \"||\" or between \"||\" and LogicalANDExpression are allowed",
"description":"Checking by using eval",
"path":"TestCases/ch11/11.11/11.11.2/S11.11.2_A1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IHx8IHkgdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjExLzExLjExLjIvUzExLjExLjJfQTIuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gRWl0aGVyIFR5cGUgaXMgbm90IFJlZmVyZW5jZSBvciBHZXRCYXNlIGlzIG5vdCBudWxsCiAqLwoKLy9DSEVDSyMxCmlmICgodHJ1ZSB8fCBmYWxzZSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiAodHJ1ZSB8fCBmYWxzZSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCmlmICgoZmFsc2UgfHwgdHJ1ZSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiAoZmFsc2UgfHwgdHJ1ZSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMzCnZhciB4ID0gbmV3IEJvb2xlYW4oZmFsc2UpOwppZiAoKHggfHwgdHJ1ZSkgIT09IHgpIHsKICAkRVJST1IoJyMzOiB2YXIgeCA9IEJvb2xlYW4oZmFsc2UpOyAoeCB8fCB0cnVlKSA9PT0geCcpOwp9CgovL0NIRUNLIzQKdmFyIHkgPSBuZXcgQm9vbGVhbih0cnVlKTsKaWYgKChmYWxzZSB8fCB5KSAhPT0geSkgewogICRFUlJPUignIzQ6IHZhciB5ID0gQm9vbGVhbih0cnVlKTsgKGZhbHNlIHx8IHkpID09PSB5Jyk7Cn0KCi8vQ0hFQ0sjNQp2YXIgeCA9IG5ldyBCb29sZWFuKGZhbHNlKTsKdmFyIHkgPSBuZXcgQm9vbGVhbih0cnVlKTsKaWYgKCh4IHx8IHkpICE9PSB4KSB7CiAgJEVSUk9SKCcjNTogdmFyIHggPSBuZXcgQm9vbGVhbihmYWxzZSk7IHZhciB5ID0gbmV3IEJvb2xlYW4odHJ1ZSk7ICh4IHx8IHkpID09PSB4Jyk7Cn0KCi8vQ0hFQ0sjNgp2YXIgeCA9IGZhbHNlOwp2YXIgeSA9IG5ldyBCb29sZWFuKHRydWUpOwppZiAoKHggfHwgeSkgIT09IHkpIHsKICAkRVJST1IoJyM2OiB2YXIgeCA9IGZhbHNlOyB2YXIgeSA9IG5ldyBCb29sZWFuKHRydWUpOyAoeCB8fCB5KSA9PT0geScpOwp9CgovL0NIRUNLIzcKdmFyIG9iamVjdHggPSBuZXcgT2JqZWN0KCk7CnZhciBvYmplY3R5ID0gbmV3IE9iamVjdCgpOwpvYmplY3R4LnByb3AgPSBmYWxzZTsKb2JqZWN0eS5wcm9wID0gMS4xOwppZiAoKG9iamVjdHgucHJvcCB8fCBvYmplY3R5LnByb3ApICE9PSBvYmplY3R5LnByb3ApIHsKICAkRVJST1IoJyM3OiB2YXIgb2JqZWN0eCA9IG5ldyBPYmplY3QoKTsgdmFyIG9iamVjdHkgPSBuZXcgT2JqZWN0KCk7IG9iamVjdHgucHJvcCA9IGZhbHNlOyBvYmplY3R5LnByb3AgPSAxOyAob2JqZWN0eC5wcm9wIHx8IG9iamVjdHkucHJvcCkgPT09IG9iamVjdHkucHJvcCcpOwp9CgovL0NIRUNLIzgKdmFyIG9iamVjdHggPSBuZXcgT2JqZWN0KCk7CnZhciBvYmplY3R5ID0gbmV3IE9iamVjdCgpOwpvYmplY3R4LnByb3AgPSAxLjE7Cm9iamVjdHkucHJvcCA9IGZhbHNlOwppZiAoKG9iamVjdHgucHJvcCB8fCBvYmplY3R5LnByb3ApICE9PSBvYmplY3R4LnByb3ApIHsKICAkRVJST1IoJyM4OiB2YXIgb2JqZWN0eCA9IG5ldyBPYmplY3QoKTsgdmFyIG9iamVjdHkgPSBuZXcgT2JqZWN0KCk7IG9iamVjdHgucHJvcCA9IDEuMTsgb2JqZWN0eS5wcm9wID0gZmFsc2U7IChvYmplY3R4LnByb3AgfHwgb2JqZWN0eS5wcm9wKSA9PT0gb2JqZWN0eC5wcm9wJyk7Cn0KCg==",
"commentary":"Operator x || y uses GetValue",
"description":"Either Type is not Reference or GetBase is not null",
"path":"TestCases/ch11/11.11/11.11.2/S11.11.2_A2.1_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IHx8IHkgdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjExLzExLjExLjIvUzExLjExLjJfQTIuMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gSWYgR2V0QmFzZSh4KSBpcyBudWxsLCB0aHJvdyBSZWZlcmVuY2VFcnJvcgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHggfHwgdHJ1ZTsKICAkRVJST1IoJyMxLjE6IHggfHwgdHJ1ZSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHggfHwgdHJ1ZSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogeCB8fCB0cnVlIHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9Cgo=",
"commentary":"Operator x || y uses GetValue",
"description":"If GetBase(x) is null, throw ReferenceError",
"path":"TestCases/ch11/11.11/11.11.2/S11.11.2_A2.1_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IHx8IHkgdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjExLzExLjExLjIvUzExLjExLjJfQTIuMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gSWYgVG9Cb29sZWFuKHgpIGlzIGZhbHNlIGFuZCBHZXRCYXNlKHkpIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgZmFsc2UgfHwgeTsKICAkRVJST1IoJyMxLjE6IGZhbHNlIHx8IHkgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArIChmYWxzZSB8fCB5KSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiBmYWxzZSB8fCB5IHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9Cgo=",
"commentary":"Operator x || y uses GetValue",
"description":"If ToBoolean(x) is false and GetBase(y) is null, throw ReferenceError",
"path":"TestCases/ch11/11.11/11.11.2/S11.11.2_A2.1_T3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IHx8IHkgdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjExLzExLjExLjIvUzExLjExLjJfQTIuMV9UNC5qcwogKiBAZGVzY3JpcHRpb24gSWYgVG9Cb29sZWFuKHgpIGlzIHRydWUgYW5kIEdldEJhc2UoeSkgaXMgbnVsbCwgcmV0dXJuIHRydWUKICovCgovL0NIRUNLIzEKaWYgKCh0cnVlIHx8IHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogKHRydWUgfHwgeCkgPT09IHRydWUnKTsKfQoK",
"commentary":"Operator x || y uses GetValue",
"description":"If ToBoolean(x) is true and GetBase(y) is null, return true",
"path":"TestCases/ch11/11.11/11.11.2/S11.11.2_A2.1_T4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS4xMS8xMS4xMS4yL1MxMS4xMS4yX0EyLjRfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggIj0iCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gdHJ1ZTsgCmlmICgoKHggPSBmYWxzZSkgfHwgeCkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSB0cnVlOyAoKHggPSBmYWxzZSkgfHwgeCkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgp2YXIgeCA9IHRydWU7IAppZiAoKHggfHwgKHggPSBmYWxzZSkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSB0cnVlOyAoeCB8fCAoeCA9IGZhbHNlKSkgPT09IHRydWUnKTsKfQoK",
"commentary":"First expression is evaluated first, and then second expression",
"description":"Checking with \"=\"",
"path":"TestCases/ch11/11.11/11.11.2/S11.11.2_A2.4_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS4xMS8xMS4xMS4yL1MxMS4xMS4yX0EyLjRfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggInRocm93IgogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9Owp2YXIgeSA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9Owp0cnkgewogICB4KCkgfHwgeSgpOwogICAkRVJST1IoJyMxLjE6IHZhciB4ID0gZnVuY3Rpb24gKCkgeyB0aHJvdyAieCI7IH07IHZhciB5ID0gZnVuY3Rpb24gKCkgeyB0aHJvdyAieSI7IH07IHgoKSB8fCB5KCkgdGhyb3cgIngiLiBBY3R1YWw6ICcgKyAoeCgpIHx8IHkoKSkpOwp9IGNhdGNoIChlKSB7CiAgIGlmIChlID09PSAieSIpIHsKICAgICAkRVJST1IoJyMxLjI6IEZpcnN0IGV4cHJlc3Npb24gaXMgZXZhbHVhdGVkIGZpcnN0LCBhbmQgdGhlbiBzZWNvbmQgZXhwcmVzc2lvbicpOwogICB9IGVsc2UgewogICAgIGlmIChlICE9PSAieCIpIHsKICAgICAgICRFUlJPUignIzEuMzogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpIHx8IHkoKSB0aHJvdyAieCIuIEFjdHVhbDogJyArIChlKSk7CiAgICAgfQogICB9Cn0KCg==",
"commentary":"First expression is evaluated first, and then second expression",
"description":"Checking with \"throw\"",
"path":"TestCases/ch11/11.11/11.11.2/S11.11.2_A2.4_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS4xMS8xMS4xMS4yL1MxMS4xMS4yX0EyLjRfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggdW5kZWNsYXJhdGVkIHZhcmlhYmxlcwogKiBAbm9TdHJpY3QKICovCgovL0NIRUNLIzEKdHJ5IHsKICB4IHx8ICh4ID0gdHJ1ZSk7CiAgJEVSUk9SKCcjMS4xOiB4IHx8ICh4ID0gdHJ1ZSkgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArICh4IHx8ICh4ID0gdHJ1ZSkpKTsKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiB4IHx8ICh4ID0gdHJ1ZSkgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9CgovL0NIRUNLIzIKaWYgKCgoeSA9IHRydWUpIHx8IHkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogKCh5ID0gdHJ1ZSkgfHwgeSkgPT09IHRydWUnKTsKfQoKCg==",
"commentary":"First expression is evaluated first, and then second expression",
"description":"Checking with undeclarated variables",
"noStrict":"",
"path":"TestCases/ch11/11.11/11.11.2/S11.11.2_A2.4_T3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUb0Jvb2xlYW4oeCkgaXMgZmFsc2UsIHJldHVybiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTEvMTEuMTEuMi9TMTEuMTEuMl9BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBhbmQgVHlwZSh5KSB2YXJ5IGJldHdlZW4gcHJpbWl0aXZlIGJvb2xlYW4gYW5kIEJvb2xlYW4gb2JqZWN0CiAqLwoKLy9DSEVDSyMxCmlmICgoZmFsc2UgfHwgdHJ1ZSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiAoZmFsc2UgfHwgdHJ1ZSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCmlmICgoZmFsc2UgfHwgZmFsc2UpICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6IChmYWxzZSB8fCBmYWxzZSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwp2YXIgeSA9IG5ldyBCb29sZWFuKHRydWUpOwppZiAoKGZhbHNlIHx8IHkpICE9PSB5KSB7CiAgJEVSUk9SKCcjMzogKHZhciB5ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IGZhbHNlIHx8IHkpID09PSB5Jyk7Cn0KCi8vQ0hFQ0sjNAp2YXIgeSA9IG5ldyBCb29sZWFuKGZhbHNlKTsKaWYgKChmYWxzZSB8fCB5KSAhPT0geSkgewogICRFUlJPUignIzQ6ICh2YXIgeSA9IG5ldyBCb29sZWFuKGZhbHNlKTsgZmFsc2UgfHwgeSkgPT09IHknKTsKfQoK",
"commentary":"If ToBoolean(x) is false, return y",
"description":"Type(x) and Type(y) vary between primitive boolean and Boolean object",
"path":"TestCases/ch11/11.11/11.11.2/S11.11.2_A3_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUb0Jvb2xlYW4oeCkgaXMgZmFsc2UsIHJldHVybiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTEvMTEuMTEuMi9TMTEuMTEuMl9BM19UMi5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBhbmQgVHlwZSh5KSB2YXJ5IGJldHdlZW4gcHJpbWl0aXZlIG51bWJlciBhbmQgTnVtYmVyIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAoKDAgfHwgLTApICE9PSAwKSB7CiAgJEVSUk9SKCcjMS4xOiAoMCB8fCAtMCkgPT09IDAnKTsKfSBlbHNlIHsKICBpZiAoKDEgLyAoMCB8fCAtMCkpICE9PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpIHsKICAgICRFUlJPUignIzEuMjogKDAgfHwgLTApID09PSAtMCcpOwogIH0KfQoKLy9DSEVDSyMyCmlmICgoLTAgfHwgMCkgIT09IDApIHsKICAkRVJST1IoJyMyLjE6ICgtMCB8fCAwKSA9PT0gMCcpOwp9IGVsc2UgewogIGlmICgoMSAvICgtMCB8fCAwKSkgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICAgJEVSUk9SKCcjMi4yOiAoLTAgfHwgMCkgPT09ICswJyk7CiAgfQp9CgovL0NIRUNLIzMKdmFyIHkgPSBuZXcgTnVtYmVyKC0xKTsKaWYgKCgwIHx8IHkpICE9PSB5KSB7CiAgJEVSUk9SKCcjMzogKHZhciB5ID0gbmV3IE51bWJlcigtMSk7IDAgfHwgeSkgPT09IHknKTsKfSAKCi8vQ0hFQ0sjNAp2YXIgeSA9IG5ldyBOdW1iZXIoMCk7CmlmICgoTmFOIHx8IHkpICE9PSB5KSB7CiAgJEVSUk9SKCcjNDogKHZhciB5ID0gbmV3IE51bWJlcigwKTsgTmFOIHx8IHkpID09PSB5Jyk7Cn0KCg==",
"commentary":"If ToBoolean(x) is false, return y",
"description":"Type(x) and Type(y) vary between primitive number and Number object",
"path":"TestCases/ch11/11.11/11.11.2/S11.11.2_A3_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUb0Jvb2xlYW4oeCkgaXMgZmFsc2UsIHJldHVybiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTEvMTEuMTEuMi9TMTEuMTEuMl9BM19UMy5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBhbmQgVHlwZSh5KSB2YXJ5IGJldHdlZW4gcHJpbWl0aXZlIHN0cmluZyBhbmQgU3RyaW5nIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAoKCIiIHx8ICIxIikgIT09ICIxIikgewogICRFUlJPUignIzE6ICgiIiB8fCAiMSIpID09PSAiMSInKTsKfQoKLy9DSEVDSyMyCnZhciB5ID0gbmV3IFN0cmluZygiMSIpOwppZiAoKCIiIHx8IHkpICE9PSB5KSB7CiAgJEVSUk9SKCcjMjogKHZhciB5ID0gbmV3IFN0cmluZygiMSIpOyAiIiB8fCB5KSA9PT0geScpOwp9Cgo=",
"commentary":"If ToBoolean(x) is false, return y",
"description":"Type(x) and Type(y) vary between primitive string and String object",
"path":"TestCases/ch11/11.11/11.11.2/S11.11.2_A3_T3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUb0Jvb2xlYW4oeCkgaXMgZmFsc2UsIHJldHVybiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTEvMTEuMTEuMi9TMTEuMTEuMl9BM19UNC5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBvciBUeXBlKHkpIGlzIGNoYW5nZWQgYmV0d2VlbiBudWxsIGFuZCB1bmRlZmluZWQKICovCgovL0NIRUNLIzEKaWYgKChmYWxzZSB8fCB1bmRlZmluZWQpICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMxOiAoZmFsc2UgfHwgdW5kZWZpbmVkKSA9PT0gdW5kZWZpbmVkJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKGZhbHNlIHx8IG51bGwpICE9PSBudWxsKSB7CiAgJEVSUk9SKCcjMjogKGZhbHNlIHx8IG51bGwpID09PSBudWxsJyk7Cn0KCg==",
"commentary":"If ToBoolean(x) is false, return y",
"description":"Type(x) or Type(y) is changed between null and undefined",
"path":"TestCases/ch11/11.11/11.11.2/S11.11.2_A3_T4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUb0Jvb2xlYW4oeCkgaXMgdHJ1ZSwgcmV0dXJuIHgKICoKICogQHBhdGggY2gxMS8xMS4xMS8xMS4xMS4yL1MxMS4xMS4yX0E0X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGFuZCBUeXBlKHkpIHZhcnkgYmV0d2VlbiBwcmltaXRpdmUgYm9vbGVhbiBhbmQgQm9vbGVhbiBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKCgodHJ1ZSB8fCB0cnVlKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiAodHJ1ZSB8fCB0cnVlKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKCh0cnVlIHx8IGZhbHNlKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6ICh0cnVlIHx8IGZhbHNlKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzMKdmFyIHggPSBuZXcgQm9vbGVhbih0cnVlKTsKaWYgKCh4IHx8IG5ldyBCb29sZWFuKHRydWUpKSAhPT0geCkgewogICRFUlJPUignIzM6ICh2YXIgeCA9IG5ldyBCb29sZWFuKHRydWUpOyAoeCB8fCBuZXcgQm9vbGVhbih0cnVlKSkgPT09IHgnKTsKfQoKLy9DSEVDSyM0CnZhciB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7CmlmICgoeCB8fCBuZXcgQm9vbGVhbihmYWxzZSkpICE9PSB4KSB7CiAgJEVSUk9SKCcjNDogKHZhciB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7ICh4IHx8IG5ldyBCb29sZWFuKGZhbHNlKSkgPT09IHgnKTsKfQoKLy9DSEVDSyM1CnZhciB4ID0gbmV3IEJvb2xlYW4oZmFsc2UpOwppZiAoKHggfHwgbmV3IEJvb2xlYW4odHJ1ZSkpICE9PSB4KSB7CiAgJEVSUk9SKCcjNTogKHZhciB4ID0gbmV3IEJvb2xlYW4oZmFsc2UpOyAoeCB8fCBuZXcgQm9vbGVhbih0cnVlKSkgPT09IHgnKTsKfQoKLy9DSEVDSyM2CnZhciB4ID0gbmV3IEJvb2xlYW4oZmFsc2UpOwppZiAoKHggfHwgbmV3IEJvb2xlYW4oZmFsc2UpKSAhPT0geCkgewogICRFUlJPUignIzY6ICh2YXIgeCA9IG5ldyBCb29sZWFuKGZhbHNlKTsgKHggfHwgbmV3IEJvb2xlYW4oZmFsc2UpKSA9PT0geCcpOwp9Cgo=",
"commentary":"If ToBoolean(x) is true, return x",
"description":"Type(x) and Type(y) vary between primitive boolean and Boolean object",
"path":"TestCases/ch11/11.11/11.11.2/S11.11.2_A4_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUb0Jvb2xlYW4oeCkgaXMgdHJ1ZSwgcmV0dXJuIHgKICoKICogQHBhdGggY2gxMS8xMS4xMS8xMS4xMS4yL1MxMS4xMS4yX0E0X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGFuZCBUeXBlKHkpIHZhcnkgYmV0d2VlbiBwcmltaXRpdmUgbnVtYmVyIGFuZCBOdW1iZXIgb2JqZWN0CiAqLwoKLy9DSEVDSyMxCmlmICgoLTEgfHwgMSkgIT09IC0xKSB7CiAgJEVSUk9SKCcjMTogKC0xIHx8IDEpID09PSAtMScpOwp9CgovL0NIRUNLIzIKaWYgKCgxIHx8IG5ldyBOdW1iZXIoMCkpICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogKDEgfHwgbmV3IE51bWJlcigwKSkgPT09IDEnKTsKfSAKCi8vQ0hFQ0sjMwppZiAoKC0xIHx8IE5hTikgIT09IC0xKSB7CiAgJEVSUk9SKCcjMzogKC0xIHx8IE5hTikgPT09IC0xJyk7Cn0KCi8vQ0hFQ0sjNAp2YXIgeCA9IG5ldyBOdW1iZXIoLTEpOwppZiAoKHggfHwgbmV3IE51bWJlcigwKSkgIT09IHgpIHsKICAkRVJST1IoJyM0OiAodmFyIHggPSBuZXcgTnVtYmVyKC0xKTsgKHggfHwgbmV3IE51bWJlcigtMSkpID09PSB4Jyk7Cn0KCi8vQ0hFQ0sjNQp2YXIgeCA9IG5ldyBOdW1iZXIoTmFOKTsKaWYgKCh4IHx8IG5ldyBOdW1iZXIoMSkpICE9PSB4KSB7CiAgJEVSUk9SKCcjNTogKHZhciB4ID0gbmV3IE51bWJlcihOYU4pOyAoeCB8fCBuZXcgTnVtYmVyKDEpKSA9PT0geCcpOwp9CgovL0NIRUNLIzYKdmFyIHggPSBuZXcgTnVtYmVyKDApOwppZiAoKHggfHwgbmV3IE51bWJlcihOYU4pKSAhPT0geCkgewogICRFUlJPUignIzY6ICh2YXIgeCA9IG5ldyBOdW1iZXIoMCk7ICh4IHx8IG5ldyBOdW1iZXIoTmFOKSkgPT09IHgnKTsKfQoK",
"commentary":"If ToBoolean(x) is true, return x",
"description":"Type(x) and Type(y) vary between primitive number and Number object",
"path":"TestCases/ch11/11.11/11.11.2/S11.11.2_A4_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUb0Jvb2xlYW4oeCkgaXMgdHJ1ZSwgcmV0dXJuIHgKICoKICogQHBhdGggY2gxMS8xMS4xMS8xMS4xMS4yL1MxMS4xMS4yX0E0X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGFuZCBUeXBlKHkpIHZhcnkgYmV0d2VlbiBwcmltaXRpdmUgc3RyaW5nIGFuZCBTdHJpbmcgb2JqZWN0CiAqLwoKLy9DSEVDSyMxCmlmICgoIi0xIiB8fCAiMSIpICE9PSAiLTEiKSB7CiAgJEVSUk9SKCcjLTE6ICgiLTEiIHx8ICIxIikgPT09ICItMSInKTsKfQoKLy9DSEVDSyMyCmlmICgoIi0xIiB8fCAieCIpICE9PSAiLTEiKSB7CiAgJEVSUk9SKCcjMjogKCItMSIgfHwgIngiKSA9PT0gIi0xIicpOwp9CgovL0NIRUNLIzMKdmFyIHggPSBuZXcgU3RyaW5nKCItMSIpOwppZiAoKHggfHwgbmV3IFN0cmluZygtMSkpICE9PSB4KSB7CiAgJEVSUk9SKCcjMzogKHZhciB4ID0gbmV3IFN0cmluZygiLTEiKTsgKHggfHwgbmV3IFN0cmluZygtMSkpID09PSB4Jyk7Cn0KCi8vQ0hFQ0sjNAp2YXIgeCA9IG5ldyBTdHJpbmcoTmFOKTsKaWYgKCh4IHx8IG5ldyBTdHJpbmcoIjEiKSkgIT09IHgpIHsKICAkRVJST1IoJyM0OiAodmFyIHggPSBuZXcgU3RyaW5nKE5hTik7ICh4IHx8IG5ldyBTdHJpbmcoIjEiKSkgPT09IHgnKTsKfQoKLy9DSEVDSyM1CnZhciB4ID0gbmV3IFN0cmluZygiLXgiKTsKaWYgKCh4IHx8IG5ldyBTdHJpbmcoIngiKSkgIT09IHgpIHsKICAkRVJST1IoJyM1OiAodmFyIHggPSBuZXcgU3RyaW5nKCIteCIpOyAoeCB8fCBuZXcgU3RyaW5nKCJ4IikpID09PSB4Jyk7Cn0KCi8vQ0hFQ0sjNgp2YXIgeCA9IG5ldyBTdHJpbmcoMCk7CmlmICgoeCB8fCBuZXcgU3RyaW5nKE5hTikpICE9PSB4KSB7CiAgJEVSUk9SKCcjNjogKHZhciB4ID0gbmV3IFN0cmluZygwKTsgKHggfHwgbmV3IFN0cmluZyhOYU4pKSA9PT0geCcpOwp9Cgo=",
"commentary":"If ToBoolean(x) is true, return x",
"description":"Type(x) and Type(y) vary between primitive string and String object",
"path":"TestCases/ch11/11.11/11.11.2/S11.11.2_A4_T3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUb0Jvb2xlYW4oeCkgaXMgdHJ1ZSwgcmV0dXJuIHgKICoKICogQHBhdGggY2gxMS8xMS4xMS8xMS4xMS4yL1MxMS4xMS4yX0E0X1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIG9yIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIE51bGwgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQppZiAoKHRydWUgfHwgdW5kZWZpbmVkKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6ICh0cnVlIHx8IHVuZGVmaW5lZCkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCmlmICgodHJ1ZSB8fCBudWxsKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6ICh0cnVlIHx8IG51bGwpID09PSB0cnVlJyk7Cn0KCg==",
"commentary":"If ToBoolean(x) is true, return x",
"description":"Type(x) or Type(y) vary between Null and Undefined",
"path":"TestCases/ch11/11.11/11.11.2/S11.11.2_A4_T4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gTG9naWNhbE9SRXhwcmVzc2lvbiBhbmQgIj8iIG9yIGJldHdlZW4gIj8iIGFuZCBBc3NpZ25tZW50RXhwcmVzc2lvbiBvciBiZXR3ZWVuIEFzc2lnbm1lbnRFeHByZXNzaW9uIGFuZCAiOiIgb3IgYmV0d2VlbiAiOiIgYW5kIEFzc2lnbm1lbnRFeHByZXNzaW9uIGFyZSBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTIvUzExLjEyX0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBieSB1c2luZyBldmFsCiAqLwoKLy9DSEVDSyMxCmlmICgoZXZhbCgiZmFsc2VcdTAwMDk/XHUwMDA5dHJ1ZVx1MDAwOTpcdTAwMDl0cnVlIikpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogKGZhbHNlXFx1MDAwOT9cXHUwMDA5dHJ1ZVxcdTAwMDk6XFx1MDAwOXRydWUpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKGV2YWwoImZhbHNlXHUwMDBCP1x1MDAwQnRydWVcdTAwMEI6XHUwMDBCdHJ1ZSIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IChmYWxzZVxcdTAwMEI/XFx1MDAwQnRydWVcXHUwMDBCOlxcdTAwMEJ0cnVlKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzMKaWYgKChldmFsKCJmYWxzZVx1MDAwQz9cdTAwMEN0cnVlXHUwMDBDOlx1MDAwQ3RydWUiKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiAoZmFsc2VcXHUwMDBDP1xcdTAwMEN0cnVlXFx1MDAwQzpcXHUwMDBDdHJ1ZSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM0CmlmICgoZXZhbCgiZmFsc2VcdTAwMjA/XHUwMDIwdHJ1ZVx1MDAyMDpcdTAwMjB0cnVlIikpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogKGZhbHNlXFx1MDAyMD9cXHUwMDIwdHJ1ZVxcdTAwMjA6XFx1MDAyMHRydWUpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoKGV2YWwoImZhbHNlXHUwMEEwP1x1MDBBMHRydWVcdTAwQTA6XHUwMEEwdHJ1ZSIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzU6IChmYWxzZVxcdTAwQTA/XFx1MDBBMHRydWVcXHUwMEEwOlxcdTAwQTB0cnVlKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzYKaWYgKChldmFsKCJmYWxzZVx1MDAwQT9cdTAwMEF0cnVlXHUwMDBBOlx1MDAwQXRydWUiKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiAoZmFsc2VcXHUwMDBBP1xcdTAwMEF0cnVlXFx1MDAwQTpcXHUwMDBBdHJ1ZSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM3CmlmICgoZXZhbCgiZmFsc2VcdTAwMEQ/XHUwMDBEdHJ1ZVx1MDAwRDpcdTAwMER0cnVlIikpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNzogKGZhbHNlXFx1MDAwRD9cXHUwMDBEdHJ1ZVxcdTAwMEQ6XFx1MDAwRHRydWUpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjOAppZiAoKGV2YWwoImZhbHNlXHUyMDI4P1x1MjAyOHRydWVcdTIwMjg6XHUyMDI4dHJ1ZSIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzg6IChmYWxzZVxcdTIwMjg/XFx1MjAyOHRydWVcXHUyMDI4OlxcdTIwMjh0cnVlKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzkKaWYgKChldmFsKCJmYWxzZVx1MjAyOT9cdTIwMjl0cnVlXHUyMDI5Olx1MjAyOXRydWUiKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM5OiAoZmFsc2VcXHUyMDI5P1xcdTIwMjl0cnVlXFx1MjAyOTpcXHUyMDI5dHJ1ZSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMxMAppZiAoKGV2YWwoImZhbHNlXHUwMDA5XHUwMDBCXHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5P1x1MDAwOVx1MDAwQlx1MDAwQ1x1MDAyMFx1MDBBMFx1MDAwQVx1MDAwRFx1MjAyOFx1MjAyOXRydWVcdTAwMDlcdTAwMEJcdTAwMENcdTAwMjBcdTAwQTBcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjk6XHUwMDA5XHUwMDBCXHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5dHJ1ZSIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzEwOiAoZmFsc2VcXHUwMDA5XFx1MDAwQlxcdTAwMENcXHUwMDIwXFx1MDBBMFxcdTAwMEFcXHUwMDBEXFx1MjAyOFxcdTIwMjk/XFx1MDAwOVxcdTAwMEJcXHUwMDBDXFx1MDAyMFxcdTAwQTBcXHUwMDBBXFx1MDAwRFxcdTIwMjhcXHUyMDI5dHJ1ZVxcdTAwMDlcXHUwMDBCXFx1MDAwQ1xcdTAwMjBcXHUwMEEwXFx1MDAwQVxcdTAwMERcXHUyMDI4XFx1MjAyOTpcXHUwMDA5XFx1MDAwQlxcdTAwMENcXHUwMDIwXFx1MDBBMFxcdTAwMEFcXHUwMDBEXFx1MjAyOFxcdTIwMjl0cnVlKSA9PT0gdHJ1ZScpOwp9Cgo=",
"commentary":"White Space and Line Terminator between LogicalORExpression and \"?\" or between \"?\" and AssignmentExpression or between AssignmentExpression and \":\" or between \":\" and AssignmentExpression are allowed",
"description":"Checking by using eval",
"path":"TestCases/ch11/11.12/S11.12_A1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID8geSA6IHogdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjEyL1MxMS4xMl9BMi4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBFaXRoZXIgVHlwZSBpcyBub3QgUmVmZXJlbmNlIG9yIEdldEJhc2UgaXMgbm90IG51bGwKICovCgovL0NIRUNLIzEKaWYgKCh0cnVlID8gZmFsc2UgOiB0cnVlKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiAodHJ1ZSA/IGZhbHNlIDogdHJ1ZSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKGZhbHNlID8gZmFsc2UgOiB0cnVlKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IChmYWxzZSA/IGZhbHNlIDogdHJ1ZSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMzCnZhciB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7CnZhciB5ID0gbmV3IEJvb2xlYW4oZmFsc2UpOwppZiAoKHggPyB5IDogdHJ1ZSkgIT09IHkpIHsKICAkRVJST1IoJyMzOiB2YXIgeCA9IG5ldyBCb29sZWFuKHRydWUpOyB2YXIgeSA9IG5ldyBCb29sZWFuKGZhbHNlKTsgKHggPyB5IDogdHJ1ZSkgPT09IHknKTsKfQoKLy9DSEVDSyM0CnZhciB6ID0gbmV3IEJvb2xlYW4odHJ1ZSk7CmlmICgoZmFsc2UgPyBmYWxzZSA6IHopICE9PSB6KSB7CiAgJEVSUk9SKCcjNDogdmFyIHogPSBuZXcgQm9vbGVhbih0cnVlKTsgKGZhbHNlID8gZmFsc2UgOiB6KSA9PT0geicpOwp9CgovL0NIRUNLIzUKdmFyIHggPSBuZXcgQm9vbGVhbih0cnVlKTsKdmFyIHkgPSBuZXcgQm9vbGVhbihmYWxzZSk7CnZhciB6ID0gbmV3IEJvb2xlYW4odHJ1ZSk7CmlmICgoeCA/IHkgOiB6KSAhPT0geSkgewogICRFUlJPUignIzU6IHZhciB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHZhciB5ID0gbmV3IEJvb2xlYW4oZmFsc2UpOyB2YXIgeiA9IG5ldyBCb29sZWFuKHRydWUpOyAoeCA/IHkgOiB6KSA9PT0geScpOwp9CgovL0NIRUNLIzYKdmFyIHggPSBmYWxzZTsKdmFyIHkgPSBuZXcgQm9vbGVhbihmYWxzZSk7CnZhciB6ID0gbmV3IEJvb2xlYW4odHJ1ZSk7CmlmICgoeCA/IHkgOiB6KSAhPT0geikgewogICRFUlJPUignIzY6IHZhciB4ID0gZmFsc2U7IHZhciB5ID0gbmV3IEJvb2xlYW4oZmFsc2UpOyB2YXIgeiA9IG5ldyBCb29sZWFuKHRydWUpOyAoeCA/IHkgOiB6KSA9PT0geicpOwp9Cgo=",
"commentary":"Operator x ? y : z uses GetValue",
"description":"Either Type is not Reference or GetBase is not null",
"path":"TestCases/ch11/11.12/S11.12_A2.1_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID8geSA6IHogdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjEyL1MxMS4xMl9BMi4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBHZXRCYXNlKHgpIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgeCA/IHRydWUgOiBmYWxzZTsKICAkRVJST1IoJyMxLjE6IHggPyB0cnVlIDogZmFsc2UgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArICh4ID8gdHJ1ZSA6IGZhbHNlKSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiB4ID8gdHJ1ZSA6IGZhbHNlIHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9Cgo=",
"commentary":"Operator x ? y : z uses GetValue",
"description":"If GetBase(x) is null, throw ReferenceError",
"path":"TestCases/ch11/11.12/S11.12_A2.1_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID8geSA6IHogdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjEyL1MxMS4xMl9BMi4xX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBUb0Jvb2xlYW4oeCkgaXMgdHJ1ZSBhbmQgR2V0QmFzZSh5KSBpcyBudWxsLCB0aHJvdyBSZWZlcmVuY2VFcnJvcgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHRydWUgPyB5IDogZmFsc2U7CiAgJEVSUk9SKCcjMS4xOiB0cnVlID8geSA6IGZhbHNlIHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAodHJ1ZSA/IHkgOiBmYWxzZSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogdHJ1ZSA/IHkgOiBmYWxzZSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoK",
"commentary":"Operator x ? y : z uses GetValue",
"description":"If ToBoolean(x) is true and GetBase(y) is null, throw ReferenceError",
"path":"TestCases/ch11/11.12/S11.12_A2.1_T3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID8geSA6IHogdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjEyL1MxMS4xMl9BMi4xX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBUb0Jvb2xlYW4oeCkgaXMgZmFsc2UgYW5kIEdldEJhc2UoeikgaXMgbnVsbCwgdGhyb3cgUmVmZXJlbmNlRXJyb3IKICovCgovL0NIRUNLIzEKdHJ5IHsKICBmYWxzZSA/IHRydWUgOiB6OwogICRFUlJPUignIzEuMTogZmFsc2UgPyB0cnVlIDogeiB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGZhbHNlID8gdHJ1ZSA6IHopKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IGZhbHNlID8gdHJ1ZSA6IHogdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7ICAKICB9Cn0KCg==",
"commentary":"Operator x ? y : z uses GetValue",
"description":"If ToBoolean(x) is false and GetBase(z) is null, throw ReferenceError",
"path":"TestCases/ch11/11.12/S11.12_A2.1_T4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID8geSA6IHogdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjEyL1MxMS4xMl9BMi4xX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBUb0Jvb2xlYW4oeCkgaXMgdHJ1ZSBhbmQgR2V0QmFzZSh6KSBpcyBudWxsLCByZXR1cm4geQogKi8KCi8vQ0hFQ0sjMQp2YXIgeSA9IG5ldyBPYmplY3QoKTsKaWYgKCh0cnVlID8geSA6IHopICE9PSB5KSB7CiAgJEVSUk9SKCcjMTogdmFyIHkgPSBuZXcgT2JqZWN0KCk7ICh0cnVlID8geSA6IHopID09PSB5Jyk7Cn0KCg==",
"commentary":"Operator x ? y : z uses GetValue",
"description":"If ToBoolean(x) is true and GetBase(z) is null, return y",
"path":"TestCases/ch11/11.12/S11.12_A2.1_T5.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID8geSA6IHogdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjEyL1MxMS4xMl9BMi4xX1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBUb0Jvb2xlYW4oeCkgaXMgZmFsc2UgYW5kIEdldEJhc2UoeSkgaXMgbnVsbCwgcmV0dXJuIHoKICovCgovL0NIRUNLIzEKdmFyIHogPSBuZXcgT2JqZWN0KCk7CmlmICgoZmFsc2UgPyB5IDogeikgIT09IHopIHsKICAkRVJST1IoJyMxOiB2YXIgeiA9IG5ldyBPYmplY3QoKTsgKGZhbHNlID8geSA6IHopID09PSB6Jyk7Cn0KCg==",
"commentary":"Operator x ? y : z uses GetValue",
"description":"If ToBoolean(x) is false and GetBase(y) is null, return z",
"path":"TestCases/ch11/11.12/S11.12_A2.1_T6.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUb0Jvb2xlYW4oeCkgaXMgZmFsc2UsIHJldHVybiB6CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTIvUzExLjEyX0EzX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHkpIGFuZCBUeXBlKHopIGFyZSBib29sZWFuIHByaW1pdGl2ZXMKICovCgovL0NIRUNLIzEKaWYgKChmYWxzZSA/IGZhbHNlIDogdHJ1ZSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiAoZmFsc2UgPyBmYWxzZSA6IHRydWUpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgp2YXIgeiA9IG5ldyBCb29sZWFuKHRydWUpOwppZiAoKGZhbHNlID8gdHJ1ZSA6IHopICE9PSB6KSB7CiAgJEVSUk9SKCcjMjogKHZhciB5ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IChmYWxzZSA/IHRydWUgOiB6KSA9PT0geicpOwp9Cgo=",
"commentary":"If ToBoolean(x) is false, return z",
"description":"Type(y) and Type(z) are boolean primitives",
"path":"TestCases/ch11/11.12/S11.12_A3_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUb0Jvb2xlYW4oeCkgaXMgZmFsc2UsIHJldHVybiB6CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTIvUzExLjEyX0EzX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHkpIGFuZCBUeXBlKHopIGFyZSBudW1iZXIgcHJpbWl0aXZlcwogKi8KCi8vQ0hFQ0sjMQppZiAoKDAgPyAwIDogMSkgIT09IDEpIHsKICAkRVJST1IoJyMxOiAoMCA/IDAgOiAxKSA9PT0gMScpOwp9CgovL0NIRUNLIzIKdmFyIHogPSBuZXcgTnVtYmVyKDEpOwppZiAoKDAgPyAxIDogeikgIT09IHopIHsKICAkRVJST1IoJyMyOiAodmFyIHkgPSBuZXcgTnVtYmVyKDEpOyAoMCA/IDEgOiB6KSA9PT0geicpOwp9Cgo=",
"commentary":"If ToBoolean(x) is false, return z",
"description":"Type(y) and Type(z) are number primitives",
"path":"TestCases/ch11/11.12/S11.12_A3_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUb0Jvb2xlYW4oeCkgaXMgZmFsc2UsIHJldHVybiB6CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTIvUzExLjEyX0EzX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHkpIGFuZCBUeXBlKHopIGFyZSBzdHJpbmcgcHJpbWl0aXZlcwogKi8KCi8vQ0hFQ0sjMQppZiAoKCIiID8gIiIgOiAiMSIpICE9PSAiMSIpIHsKICAkRVJST1IoJyMxOiAoIiIgPyAiIiA6ICIxIikgPT09ICIxIicpOwp9CgovL0NIRUNLIzIKdmFyIHogPSBuZXcgU3RyaW5nKCIxIik7CmlmICgoIiIgPyAiMSIgOiB6KSAhPT0geikgewogICRFUlJPUignIzI6ICh2YXIgeSA9IG5ldyBTdHJpbmcoIjEiKTsgKCIiID8gIjEiIDogeikgPT09IHonKTsKfQoK",
"commentary":"If ToBoolean(x) is false, return z",
"description":"Type(y) and Type(z) are string primitives",
"path":"TestCases/ch11/11.12/S11.12_A3_T3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUb0Jvb2xlYW4oeCkgaXMgZmFsc2UsIHJldHVybiB6CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTIvUzExLjEyX0EzX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIG9yIFR5cGUoeSkgaXMgY2hhbmdlZCBiZXR3ZWVuIG51bGwgYW5kIHVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQppZiAoKGZhbHNlID8gdHJ1ZSA6IHVuZGVmaW5lZCkgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6IChmYWxzZSA/IHRydWUgOiB1bmRlZmluZWQpID09PSB1bmRlZmluZWQnKTsKfQoKLy9DSEVDSyMyCmlmICgoZmFsc2UgPyB0cnVlIDogbnVsbCkgIT09IG51bGwpIHsKICAkRVJST1IoJyMyOiAoZmFsc2UgPyB0cnVlIDogbnVsbCkgPT09IG51bGwnKTsKfQoK",
"commentary":"If ToBoolean(x) is false, return z",
"description":"Type(x) or Type(y) is changed between null and undefined",
"path":"TestCases/ch11/11.12/S11.12_A3_T4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUb0Jvb2xlYW4oeCkgaXMgdHJ1ZSwgcmV0dXJuIHkKICoKICogQHBhdGggY2gxMS8xMS4xMi9TMTEuMTJfQTRfVDEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeSkgYW5kIFR5cGUoeikgYXJlIGJvb2xlYW4gcHJpbWl0aXZlcwogKi8KCi8vQ0hFQ0sjMQppZiAoKHRydWUgPyBmYWxzZSA6IHRydWUpICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6ICh0cnVlID8gZmFsc2UgOiB0cnVlKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyCnZhciB5ID0gbmV3IEJvb2xlYW4odHJ1ZSk7CmlmICgodHJ1ZSA/IHkgOiBmYWxzZSkgIT09IHkpIHsKICAkRVJST1IoJyMyOiAodmFyIHkgPSBuZXcgQm9vbGVhbih0cnVlKTsgKHRydWUgPyB5IDogZmFsc2UpID09PSB5Jyk7Cn0KCi8vQ0hFQ0sjMwp2YXIgeSA9IG5ldyBCb29sZWFuKGZhbHNlKTsKaWYgKCh5ID8geSA6IHRydWUpICE9PSB5KSB7CiAgJEVSUk9SKCcjMzogKHZhciB5ID0gbmV3IEJvb2xlYW4oZmFsc2UpOyAoeSA/IHkgOiB0cnVlKSA9PT0geScpOwp9Cgo=",
"commentary":"If ToBoolean(x) is true, return y",
"description":"Type(y) and Type(z) are boolean primitives",
"path":"TestCases/ch11/11.12/S11.12_A4_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUb0Jvb2xlYW4oeCkgaXMgdHJ1ZSwgcmV0dXJuIHkKICoKICogQHBhdGggY2gxMS8xMS4xMi9TMTEuMTJfQTRfVDIuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeSkgYW5kIFR5cGUoeikgYXJlIG51bWJlciBwcmltaXRpdmVzCiAqLwoKLy9DSEVDSyMxCmlmICgoMSA/IDAgOiAxKSAhPT0gMCkgewogICRFUlJPUignIzE6ICgxID8gMCA6IDEpID09PSAwJyk7Cn0KCi8vQ0hFQ0sjMgp2YXIgeSA9IG5ldyBOdW1iZXIoMSk7CmlmICgoMSA/IHkgOiAwKSAhPT0geSkgewogICRFUlJPUignIzI6ICh2YXIgeSA9IG5ldyBOdW1iZXIoMSk7ICgxID8geSA6IDApID09PSB5Jyk7Cn0KCi8vQ0hFQ0sjMwp2YXIgeSA9IG5ldyBOdW1iZXIoTmFOKTsKaWYgKCh5ID8geSA6IDEpICE9PSB5KSB7CiAgJEVSUk9SKCcjMzogKHZhciB5ID0gbmV3IE51bWJlcihOYU4pOyAoeSA/IHkgOiAxKSA9PT0geScpOwp9Cgo=",
"commentary":"If ToBoolean(x) is true, return y",
"description":"Type(y) and Type(z) are number primitives",
"path":"TestCases/ch11/11.12/S11.12_A4_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUb0Jvb2xlYW4oeCkgaXMgdHJ1ZSwgcmV0dXJuIHkKICoKICogQHBhdGggY2gxMS8xMS4xMi9TMTEuMTJfQTRfVDMuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeSkgYW5kIFR5cGUoeikgYXJlIHN0cmluZyBwcmltaXRpdmVzCiAqLwoKLy9DSEVDSyMxCmlmICgoIjEiID8gIiIgOiAiMSIpICE9PSAiIikgewogICRFUlJPUignIzE6ICgiMSIgPyAiIiA6ICIxIikgPT09ICIiJyk7Cn0KCi8vQ0hFQ0sjMgp2YXIgeSA9IG5ldyBTdHJpbmcoIjEiKTsKaWYgKCgiMSIgPyB5IDogIiIpICE9PSB5KSB7CiAgJEVSUk9SKCcjMjogKHZhciB5ID0gbmV3IFN0cmluZygiMSIpOyAoIjEiID8geSA6ICIiKSA9PT0geScpOwp9CgovL0NIRUNLIzMKdmFyIHkgPSBuZXcgU3RyaW5nKCJ5Iik7CmlmICgoeSA/IHkgOiAiMSIpICE9PSB5KSB7CiAgJEVSUk9SKCcjMzogKHZhciB5ID0gbmV3IFN0cmluZygieSIpOyAoeSA/IHkgOiAiMSIpID09PSB5Jyk7Cn0KCg==",
"commentary":"If ToBoolean(x) is true, return y",
"description":"Type(y) and Type(z) are string primitives",
"path":"TestCases/ch11/11.12/S11.12_A4_T3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUb0Jvb2xlYW4oeCkgaXMgdHJ1ZSwgcmV0dXJuIHkKICoKICogQHBhdGggY2gxMS8xMS4xMi9TMTEuMTJfQTRfVDQuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgb3IgVHlwZSh5KSBpcyBjaGFuZ2VkIGJldHdlZW4gbnVsbCBhbmQgdW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCmlmICgodHJ1ZSA/IHVuZGVmaW5lZCA6IHRydWUpICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMxOiAodHJ1ZSA/IHVuZGVmaW5lZCA6IHRydWUpID09PSB1bmRlZmluZWQnKTsKfQoKLy9DSEVDSyMyCmlmICgodHJ1ZSA/IG51bGwgOiB0cnVlKSAhPT0gbnVsbCkgewogICRFUlJPUignIzI6ICh0cnVlID8gbnVsbCA6IHRydWUpID09PSBudWxsJyk7Cn0KCg==",
"commentary":"If ToBoolean(x) is true, return y",
"description":"Type(x) or Type(y) is changed between null and undefined",
"path":"TestCases/ch11/11.12/S11.12_A4_T4.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogUHV0VmFsdWUgb3BlcmF0ZXMgb25seSBvbiByZWZlcmVuY2VzIChzZWUgc3RlcCAxKQ0KICoNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMS8xMS4xMy4xLTEtMS5qcw0KICogQGRlc2NyaXB0aW9uIHNpbXBsZSBhc3NpZ25tZW50IHRocm93cyBSZWZlcmVuY2VFcnJvciBpZiBMZWZ0SGFuZFNpZGUgaXMgbm90IGEgcmVmZXJlbmNlIChudW1iZXIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdHJ5IHsNCiAgICBldmFsKCI0MiA9IDQyIik7DQogIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICBpZiAoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSB7DQogICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=",
"commentary":"PutValue operates only on references (see step 1)",
"description":"simple assignment throws ReferenceError if LeftHandSide is not a reference (number)",
"path":"TestCases/ch11/11.13/11.13.1/11.13.1-1-1.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogUHV0VmFsdWUgb3BlcmF0ZXMgb25seSBvbiByZWZlcmVuY2VzIChzZWUgc3RlcCAxKS4NCiAqDQogKiBAcGF0aCBjaDExLzExLjEzLzExLjEzLjEvMTEuMTMuMS0xLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBzaW1wbGUgYXNzaWdubWVudCB0aHJvd3MgUmVmZXJlbmNlRXJyb3IgaWYgTGVmdEhhbmRTaWRlIGlzIG5vdCBhIHJlZmVyZW5jZSAoc3RyaW5nKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHRyeSB7DQogICAgZXZhbCgiJ3gnID0gNDIiKTsNCiAgfQ0KICBjYXRjaCAoZSkgew0KICAgIGlmIChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpIHsNCiAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==",
"commentary":"PutValue operates only on references (see step 1).",
"description":"simple assignment throws ReferenceError if LeftHandSide is not a reference (string)",
"path":"TestCases/ch11/11.13/11.13.1/11.13.1-1-2.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogUHV0VmFsdWUgb3BlcmF0ZXMgb25seSBvbiByZWZlcmVuY2VzIChzZWUgc3RlcCAxKS4NCiAqDQogKiBAcGF0aCBjaDExLzExLjEzLzExLjEzLjEvMTEuMTMuMS0xLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBzaW1wbGUgYXNzaWdubWVudCB0aHJvd3MgUmVmZXJlbmNlRXJyb3IgaWYgTGVmdEhhbmRTaWRlIGlzIG5vdCBhIHJlZmVyZW5jZSAoYm9vbGVhbikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB0cnkgew0KICAgIGV2YWwoInRydWUgPSA0MiIpOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgaWYgKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgew0KICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K",
"commentary":"PutValue operates only on references (see step 1).",
"description":"simple assignment throws ReferenceError if LeftHandSide is not a reference (boolean)",
"path":"TestCases/ch11/11.13/11.13.1/11.13.1-1-3.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogUHV0VmFsdWUgb3BlcmF0ZXMgb25seSBvbiByZWZlcmVuY2VzIChzZWUgc3RlcCAxKS4NCiAqDQogKiBAcGF0aCBjaDExLzExLjEzLzExLjEzLjEvMTEuMTMuMS0xLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBzaW1wbGUgYXNzaWdubWVudCB0aHJvd3MgUmVmZXJlbmNlRXJyb3IgaWYgTGVmdEhhbmRTaWRlIGlzIG5vdCBhIHJlZmVyZW5jZSAobnVsbCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB0cnkgew0KICAgIGV2YWwoIm51bGwgPSA0MiIpOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgaWYgKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgew0KICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K",
"commentary":"PutValue operates only on references (see step 1).",
"description":"simple assignment throws ReferenceError if LeftHandSide is not a reference (null)",
"path":"TestCases/ch11/11.13/11.13.1/11.13.1-1-4.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogUHV0VmFsdWUgb3BlcmF0ZXMgb25seSBvbiByZWZlcmVuY2VzIChzZWUgc3RlcCAzLmEpLg0KICoNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMS8xMS4xMy4xLTEtNi1zLmpzDQogKiBAZGVzY3JpcHRpb24gc2ltcGxlIGFzc2lnbm1lbnQgdGhyb3dzIFJlZmVyZW5jZUVycm9yIGlmIExlZnRIYW5kU2lkZSBpcyBhbiB1bnJlc29sdmFibGUgcmVmZXJlbmNlIGluIHN0cmljdCBtb2RlIChiYXNlIG9iaiB1bmRlZmluZWQpDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICd1c2Ugc3RyaWN0JzsNCiAgDQogIHRyeSB7DQogICAgX19FUzNfMV90ZXN0X3N1aXRlX3Rlc3RfMTFfMTNfMV91bmlxdWVfaWRfMF9fLnggPSA0MjsNCiAgICByZXR1cm4gZmFsc2U7DQogIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcik7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=",
"commentary":"PutValue operates only on references (see step 3.a).",
"description":"simple assignment throws ReferenceError if LeftHandSide is an unresolvable reference in strict mode (base obj undefined)",
"onlyStrict":"",
"path":"TestCases/ch11/11.13/11.13.1/11.13.1-1-6-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4xLzExLjEzLjEtMS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBUeXBlRXJyb3IgaXMgdGhyb3duIGlmIFRoZSBMZWZ0SGFuZFNpZGUgaXMgYSByZWZlcmVuY2UgdG8gYSBkYXRhIHByb3BlcnR5IHdpdGggdGhlIGF0dHJpYnV0ZSB2YWx1ZSB7W1tXcml0YWJsZV1dOmZhbHNlfSB1bmRlciBzdHJpY3QgbW9kZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBvYmoucHJvcCA9IDIwOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBvYmoucHJvcCA9PT0gMTA7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=",
"commentary":"",
"description":"Strict Mode - TypeError is thrown if The LeftHandSide is a reference to a data property with the attribute value {[[Writable]]:false} under strict mode",
"onlyStrict":"",
"path":"TestCases/ch11/11.13/11.13.1/11.13.1-1-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4xLzExLjEzLjEtMi1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBUeXBlRXJyb3IgaXMgdGhyb3duIGlmIFRoZSBMZWZ0SGFuZFNpZGUgaXMgYSByZWZlcmVuY2UgdG8gYW4gYWNjZXNzb3IgcHJvcGVydHkgd2l0aCB0aGUgYXR0cmlidXRlIHZhbHVlIHtbW1NldF1dOnVuZGVmaW5lZH0gdW5kZXIgc3RyaWN0IG1vZGUNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDExOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgb2JqLnByb3AgPSAyMDsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgb2JqLnByb3AgPT09IDExOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K",
"commentary":"",
"description":"Strict Mode - TypeError is thrown if The LeftHandSide is a reference to an accessor property with the attribute value {[[Set]]:undefined} under strict mode",
"onlyStrict":"",
"path":"TestCases/ch11/11.13/11.13.1/11.13.1-2-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4xLzExLjEzLjEtMy1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBUeXBlRXJyb3IgaXMgdGhyb3duIGlmIFRoZSBMZWZ0SGFuZFNpZGUgaXMgYSByZWZlcmVuY2UgdG8gYSBub24tZXhpc3RlbnQgcHJvcGVydHkgb2YgYW4gb2JqZWN0IHdob3NlIFtbRXh0ZW5zaWJsZV1dIGludGVybmFsIHByb3BlcnR5IGhhcyB0aGUgdmFsdWUgZmFsc2UgdW5kZXIgc3RyaWN0IG1vZGUNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyhvYmopOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBvYmoubGVuID0gMTA7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K",
"commentary":"",
"description":"Strict Mode - TypeError is thrown if The LeftHandSide is a reference to a non-existent property of an object whose [[Extensible]] internal property has the value false under strict mode",
"onlyStrict":"",
"path":"TestCases/ch11/11.13/11.13.1/11.13.1-3-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogUHV0VmFsdWUgb3BlcmF0ZXMgb25seSBvbiByZWZlcmVuY2VzIChzZWUgc3RlcCAzLmIpLg0KICoNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMS8xMS4xMy4xLTQtMS5qcw0KICogQGRlc2NyaXB0aW9uIHNpbXBsZSBhc3NpZ25tZW50IGNyZWF0ZXMgcHJvcGVydHkgb24gdGhlIGdsb2JhbCBvYmplY3QgaWYgTGVmdEhhbmRTaWRlIGlzIGFuIHVucmVzb2x2YWJsZSByZWZlcmVuY2UNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmdW5jdGlvbiBmb28oKSB7DQogICAgX19FUzNfMV90ZXN0X3N1aXRlX3Rlc3RfMTFfMTNfMV91bmlxdWVfaWRfM19fID0gNDI7DQogIH0NCiAgZm9vKCk7DQoNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGZuR2xvYmFsT2JqZWN0KCksICdfX0VTM18xX3Rlc3Rfc3VpdGVfdGVzdF8xMV8xM18xX3VuaXF1ZV9pZF8zX18nKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IDQyICYmDQogICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgZGVsZXRlIF9fRVMzXzFfdGVzdF9zdWl0ZV90ZXN0XzExXzEzXzFfdW5pcXVlX2lkXzNfXzsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfSAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K",
"commentary":"PutValue operates only on references (see step 3.b).",
"description":"simple assignment creates property on the global object if LeftHandSide is an unresolvable reference",
"path":"TestCases/ch11/11.13/11.13.1/11.13.1-4-1.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4xLzExLjEzLjEtNC0xNC1zLmpzDQogKiBAZGVzY3JpcHRpb24gc2ltcGxlIGFzc2lnbm1lbnQgdGhyb3dzIFR5cGVFcnJvciBpZiBMZWZ0SGFuZFNpZGUgaXMgYSByZWFkb25seSBwcm9wZXJ0eSBpbiBzdHJpY3QgbW9kZSAoTnVtYmVyLk1BWF9WQUxVRSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgJ3VzZSBzdHJpY3QnOw0KDQogIHRyeSB7DQogICAgTnVtYmVyLk1BWF9WQUxVRSA9IDQyOw0KICAgIHJldHVybiBmYWxzZTsNCiAgfQ0KICBjYXRjaCAoZSkgew0KICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=",
"commentary":"",
"description":"simple assignment throws TypeError if LeftHandSide is a readonly property in strict mode (Number.MAX_VALUE)",
"onlyStrict":"",
"path":"TestCases/ch11/11.13/11.13.1/11.13.1-4-14-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4xLzExLjEzLjEtNC0yNy1zLmpzDQogKiBAZGVzY3JpcHRpb24gc2ltcGxlIGFzc2lnbm1lbnQgdGhyb3dzIFR5cGVFcnJvciBpZiBMZWZ0SGFuZFNpZGUgaXMgYSByZWFkb25seSBwcm9wZXJ0eSBpbiBzdHJpY3QgbW9kZSAoR2xvYmFsLnVuZGVmaW5lZCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICd1c2Ugc3RyaWN0JzsNCg0KICAgIHRyeSB7DQogICAgICBmbkdsb2JhbE9iamVjdCgpLnVuZGVmaW5lZCA9IDQyOw0KICAgICAgcmV0dXJuIGZhbHNlOw0KICAgIH0NCiAgICBjYXRjaCAoZSkgew0KICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K",
"commentary":"",
"description":"simple assignment throws TypeError if LeftHandSide is a readonly property in strict mode (Global.undefined)",
"path":"TestCases/ch11/11.13/11.13.1/11.13.1-4-27-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4xLzExLjEzLjEtNC0yOC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gaWYgdGhlIGlkZW50aWZpZXIgJ2V2YWwnIGFwcGVhcnMgYXMgdGhlIExlZnRIYW5kU2lkZUV4cHJlc3Npb24gb2Ygc2ltcGxlIGFzc2lnbm1lbnQoPSkgdW5kZXIgc3RyaWN0IG1vZGUNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgYmxhaCA9IGV2YWw7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJ2YXIgZXZhbCA9IDIwOyIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yICYmIGJsYWggPT09IGV2YWw7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=",
"commentary":"",
"description":"Strict Mode - SyntaxError is thrown if the identifier 'eval' appears as the LeftHandSideExpression of simple assignment(=) under strict mode",
"onlyStrict":"",
"path":"TestCases/ch11/11.13/11.13.1/11.13.1-4-28-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4xLzExLjEzLjEtNC0yOGdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gaWYgdGhlIGlkZW50aWZpZXIgJ01hdGguUEknIGFwcGVhcnMgYXMgdGhlIExlZnRIYW5kU2lkZUV4cHJlc3Npb24gb2Ygc2ltcGxlIGFzc2lnbm1lbnQoPSkNCiAqIEBvbmx5U3RyaWN0DQogKiBAbmVnYXRpdmUgTm90RWFybHlFcnJvcg0KICovDQoidXNlIHN0cmljdCI7DQp0aHJvdyBOb3RFYXJseUVycm9yOw0KTWF0aC5QSSA9IDIwOw0K",
"commentary":"",
"description":"Strict Mode - SyntaxError is thrown if the identifier 'Math.PI' appears as the LeftHandSideExpression of simple assignment(=)",
"negative":"NotEarlyError",
"onlyStrict":"",
"path":"TestCases/ch11/11.13/11.13.1/11.13.1-4-28gs.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4xLzExLjEzLjEtNC0yOS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gaWYgdGhlIGlkZW50aWZpZXIgJ2FyZ3VtZW50cycgYXBwZWFycyBhcyB0aGUgTGVmdEhhbmRTaWRlRXhwcmVzc2lvbiBvZiBzaW1wbGUgYXNzaWdubWVudCg9KSB1bmRlciBzdHJpY3QgbW9kZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBibGFoID0gYXJndW1lbnRzOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgidmFyIGFyZ3VtZW50cyA9IDIwOyIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yICYmIGJsYWggPT09IGFyZ3VtZW50czsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==",
"commentary":"",
"description":"Strict Mode - SyntaxError is thrown if the identifier 'arguments' appears as the LeftHandSideExpression of simple assignment(=) under strict mode",
"onlyStrict":"",
"path":"TestCases/ch11/11.13/11.13.1/11.13.1-4-29-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4xLzExLjEzLjEtNC0yOWdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gaWYgdGhlIGlkZW50aWZpZXIgJ01hdGguUEknIGFwcGVhcnMgYXMgdGhlIExlZnRIYW5kU2lkZUV4cHJlc3Npb24gb2Ygc2ltcGxlIGFzc2lnbm1lbnQoPSkNCiAqIEBvbmx5U3RyaWN0DQogKiBAbmVnYXRpdmUgLg0KICovDQoidXNlIHN0cmljdCI7DQpNYXRoLlBJID0gMjA7DQo=",
"commentary":"",
"description":"Strict Mode - SyntaxError is thrown if the identifier 'Math.PI' appears as the LeftHandSideExpression of simple assignment(=)",
"negative":".",
"onlyStrict":"",
"path":"TestCases/ch11/11.13/11.13.1/11.13.1-4-29gs.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4xLzExLjEzLjEtNC0zLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBzaW1wbGUgYXNzaWdubWVudCB0aHJvd3MgVHlwZUVycm9yIGlmIExlZnRIYW5kU2lkZSBpcyBhIHJlYWRvbmx5IHByb3BlcnR5IGluIHN0cmljdCBtb2RlIChHbG9iYWwuSW5maW5pdHkpDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgJ3VzZSBzdHJpY3QnOw0KDQogICAgdHJ5IHsNCiAgICAgIGZuR2xvYmFsT2JqZWN0KCkuSW5maW5pdHkgPSA0MjsNCiAgICAgIHJldHVybiBmYWxzZTsNCiAgICB9DQogICAgY2F0Y2ggKGUpIHsNCiAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==",
"commentary":"",
"description":"simple assignment throws TypeError if LeftHandSide is a readonly property in strict mode (Global.Infinity)",
"onlyStrict":"",
"path":"TestCases/ch11/11.13/11.13.1/11.13.1-4-3-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4xLzExLjEzLjEtNC0zMC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gaWYgdGhlIGlkZW50aWZpZXIgJ2V2YWwnIGFwcGVhcnMgYXMgdGhlIExlZnRIYW5kU2lkZUV4cHJlc3Npb24gKFByaW1hcnlFeHByZXNzaW9uKSBvZiBzaW1wbGUgYXNzaWdubWVudCg9KSB1bmRlciBzdHJpY3QgbW9kZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIGJsYWggPSBldmFsOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgiKGV2YWwpID0gMjA7Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IgJiYgYmxhaCA9PT0gZXZhbDsNCiAgICAgICAgfQ0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==",
"commentary":"",
"description":"Strict Mode - SyntaxError is thrown if the identifier 'eval' appears as the LeftHandSideExpression (PrimaryExpression) of simple assignment(=) under strict mode",
"onlyStrict":"",
"path":"TestCases/ch11/11.13/11.13.1/11.13.1-4-30-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4xLzExLjEzLjEtNC0zMS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gaWYgdGhlIGlkZW50aWZpZXIgJ2FyZ3VtZW50cycgYXBwZWFycyBhcyB0aGUgTGVmdEhhbmRTaWRlRXhwcmVzc2lvbiAoUHJpbWFyeUV4cHJlc3Npb24pIG9mIHNpbXBsZSBhc3NpZ25tZW50KD0pIHVuZGVyIHN0cmljdCBtb2RlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgYmxhaCA9IGFyZ3VtZW50czsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoIihhcmd1bWVudHMpID0gMjA7Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IgJiYgYmxhaCA9PT0gYXJndW1lbnRzOw0KICAgICAgICB9DQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7",
"commentary":"",
"description":"Strict Mode - SyntaxError is thrown if the identifier 'arguments' appears as the LeftHandSideExpression (PrimaryExpression) of simple assignment(=) under strict mode",
"onlyStrict":"",
"path":"TestCases/ch11/11.13/11.13.1/11.13.1-4-31-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4xLzExLjEzLjEtNC02LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBzaW1wbGUgYXNzaWdubWVudCB0aHJvd3MgVHlwZUVycm9yIGlmIExlZnRIYW5kU2lkZSBpcyBhIHJlYWRvbmx5IHByb3BlcnR5IGluIHN0cmljdCBtb2RlIChGdW5jdGlvbi5sZW5ndGgpDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICd1c2Ugc3RyaWN0JzsNCiAgDQogIHRyeSB7DQogICAgRnVuY3Rpb24ubGVuZ3RoID0gNDI7DQogICAgcmV0dXJuIGZhbHNlOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==",
"commentary":"",
"description":"simple assignment throws TypeError if LeftHandSide is a readonly property in strict mode (Function.length)",
"onlyStrict":"",
"path":"TestCases/ch11/11.13/11.13.1/11.13.1-4-6-s.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gTGVmdEhhbmRTaWRlRXhwcmVzc2lvbiBhbmQgIj0iIG9yIGJldHdlZW4gIj0iIGFuZCBBc3NpZ25tZW50RXhwcmVzc2lvbiBhcmUgYWxsb3dlZAogKgogKiBAcGF0aCBjaDExLzExLjEzLzExLjEzLjEvUzExLjEzLjFfQTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGJ5IHVzaW5nIGV2YWwKICogQG5vU3RyaWN0CiAqLwoKLy9DSEVDSyMxCmlmICgoZXZhbCgieFx1MDAwOT1cdTAwMDl0cnVlIikpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogKHhcXHUwMDA5PVxcdTAwMDl0cnVlKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKChldmFsKCJ4XHUwMDBCPVx1MDAwQnRydWUiKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiAoeFxcdTAwMEI9XFx1MDAwQnRydWUpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKGV2YWwoInhcdTAwMEM9XHUwMDBDdHJ1ZSIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6ICh4XFx1MDAwQz1cXHUwMDBDdHJ1ZSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM0CmlmICgoZXZhbCgieFx1MDAyMD1cdTAwMjB0cnVlIikpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogKHhcXHUwMDIwPVxcdTAwMjB0cnVlKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzUKaWYgKChldmFsKCJ4XHUwMEEwPVx1MDBBMHRydWUiKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiAoeFxcdTAwQTA9XFx1MDBBMHRydWUpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNgppZiAoKGV2YWwoInhcdTAwMEE9XHUwMDBBdHJ1ZSIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzY6ICh4XFx1MDAwQT1cXHUwMDBBdHJ1ZSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM3CmlmICgoZXZhbCgieFx1MDAwRD1cdTAwMER0cnVlIikpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNzogKHhcXHUwMDBEPVxcdTAwMER0cnVlKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzgKaWYgKChldmFsKCJ4XHUyMDI4PVx1MjAyOHRydWUiKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM4OiAoeFxcdTIwMjg9XFx1MjAyOHRydWUpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjOQppZiAoKGV2YWwoInhcdTIwMjk9XHUyMDI5dHJ1ZSIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzk6ICh4XFx1MjAyOT1cXHUyMDI5dHJ1ZSkgPT09IHRydWUnKTsKfQoKCi8vQ0hFQ0sjMTAKaWYgKChldmFsKCJ4XHUwMDA5XHUwMDBCXHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5PVx1MDAwOVx1MDAwQlx1MDAwQ1x1MDAyMFx1MDBBMFx1MDAwQVx1MDAwRFx1MjAyOFx1MjAyOXRydWUiKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxMDogKHhcXHUwMDA5XFx1MDAwQlxcdTAwMENcXHUwMDIwXFx1MDBBMFxcdTAwMEFcXHUwMDBEXFx1MjAyOFxcdTIwMjk9XFx1MDAwOVxcdTAwMEJcXHUwMDBDXFx1MDAyMFxcdTAwQTBcXHUwMDBBXFx1MDAwRFxcdTIwMjhcXHUyMDI5dHJ1ZSkgPT09IHRydWUnKTsKfQoK",
"commentary":"White Space and Line Terminator between LeftHandSideExpression and \"=\" or between \"=\" and AssignmentExpression are allowed",
"description":"Checking by using eval",
"noStrict":"",
"path":"TestCases/ch11/11.13/11.13.1/S11.13.1_A1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID0geSB1c2VzIEdldFZhbHVlIGFuZCBQdXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjEzLzExLjEzLjEvUzExLjEzLjFfQTIuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gRWl0aGVyIEFzc2lnbWVudEV4cHJlc3Npb24gaXMgbm90IFJlZmVyZW5jZSBvciBHZXRCYXNlIGlzIG5vdCBudWxsCiAqLwoKLy9DSEVDSyMxCnggPSAxOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzE6IHggPSAxOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAxOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzI6IHZhciB4ID0gMTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnkgPSAxOwp4ID0geTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMzOiB5ID0gMTsgeCA9IHk7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp2YXIgeSA9IDE7CnZhciB4ID0geTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM0OiB2YXIgeSA9IDE7IHZhciB4ID0geTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM1CnZhciBvYmplY3R4ID0gbmV3IE9iamVjdCgpOwp2YXIgb2JqZWN0eSA9IG5ldyBPYmplY3QoKTsKb2JqZWN0eS5wcm9wID0gMS4xOwpvYmplY3R4LnByb3AgPSBvYmplY3R5LnByb3A7CmlmIChvYmplY3R4LnByb3AgIT09IG9iamVjdHkucHJvcCkgewogICRFUlJPUignIzU6IHZhciBvYmplY3R4ID0gbmV3IE9iamVjdCgpOyB2YXIgb2JqZWN0eSA9IG5ldyBPYmplY3QoKTsgb2JqZWN0eS5wcm9wID0gMTsgb2JqZWN0eC5wcm9wID0gb2JqZWN0eS5wcm9wOyBvYmplY3R4LnByb3AgPT09IG9iamVjdHkucHJvcC4gQWN0dWFsOiAnICsgKG9iamVjdHgucHJvcCkpOwp9IGVsc2UgewogIGlmIChvYmplY3R4ID09PSBvYmplY3R5KSB7CiAgICAkRVJST1IoJyM1OiB2YXIgb2JqZWN0eCA9IG5ldyBPYmplY3QoKTsgdmFyIG9iamVjdHkgPSBuZXcgT2JqZWN0KCk7IG9iamVjdHkucHJvcCA9IDE7IG9iamVjdHgucHJvcCA9IG9iamVjdHkucHJvcDsgb2JqZWN0eCAhPT0gb2JqZWN0eScpOwogIH0gCn0KCgo=",
"commentary":"Operator x = y uses GetValue and PutValue",
"description":"Either AssigmentExpression is not Reference or GetBase is not null",
"path":"TestCases/ch11/11.13/11.13.1/S11.13.1_A2.1_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID0geSB1c2VzIEdldFZhbHVlIGFuZCBQdXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjEzLzExLjEzLjEvUzExLjEzLjFfQTIuMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gSWYgR2V0QmFzZShBc3NpZ21lbnRFeHByZXNzaW9uKSBpcyBudWxsLCB0aHJvdyBSZWZlcmVuY2VFcnJvcgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHggPSB5OwogICRFUlJPUignIzEuMTogeCA9IHkgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArICh4ID0geSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogeCA9IHkgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7ICAKICB9Cn0KCg==",
"commentary":"Operator x = y uses GetValue and PutValue",
"description":"If GetBase(AssigmentExpression) is null, throw ReferenceError",
"path":"TestCases/ch11/11.13/11.13.1/S11.13.1_A2.1_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID0geSB1c2VzIEdldFZhbHVlIGFuZCBQdXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjEzLzExLjEzLjEvUzExLjEzLjFfQTIuMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gSWYgVHlwZShMZWZ0SGFuZFNpZGVFeHByZXNzaW9uKSBpcyBub3QgUmVmZXJlbmNlLCB0aHJvdyBSZWZlcmVuY2VFcnJvciAob3IgU3ludGF4RXJyb3IpCiAqIEBuZWdhdGl2ZQogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIDEgPSAxOwogICRFUlJPUignIzEuMTogMSA9IDEgdGhyb3cgUmVmZXJlbmNlRXJyb3IgKG9yIFN5bnRheEVycm9yKS4gQWN0dWFsOiAnICsgKDEgPSAxKSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiAxID0gMSB0aHJvdyBSZWZlcmVuY2VFcnJvciAob3IgU3ludGF4RXJyb3IpLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfSBlbHNlIHsKICAgIDEgPSAxOwogIH0KfQoK",
"commentary":"Operator x = y uses GetValue and PutValue",
"description":"If Type(LeftHandSideExpression) is not Reference, throw ReferenceError (or SyntaxError)",
"negative":"",
"path":"TestCases/ch11/11.13/11.13.1/S11.13.1_A2.1_T3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID0geSBQdXRWYWx1ZSh4LCB5KQogKgogKiBAcGF0aCBjaDExLzExLjEzLzExLjEzLjEvUzExLjEzLjFfQTMuMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRXhwcmVzc2lvbiBhbmQgVmFyaWFibGUgc3RhdGVtZW50cwogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IDE7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSAxOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeSA9IDE7CmlmICh5ICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogeSA9IDE7IHkgPT09IDEuIEFjdHVhbDogJyArICh5KSk7Cn0KCg==",
"commentary":"Operator x = y PutValue(x, y)",
"description":"Checking Expression and Variable statements",
"path":"TestCases/ch11/11.13/11.13.1/S11.13.1_A3.1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID0geSByZXR1cm5zIEdldFZhbHVlKHkpCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMS9TMTEuMTMuMV9BMy4yLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBFeHByZXNzaW9uIGFuZCBWYXJpYWJsZSBzdGF0ZW1lbnRzCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gMDsKaWYgKCh4ID0gMSkgIT09IDEpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IDA7ICh4ID0gMSkgPT09IDEuIEFjdHVhbDogJyArICgoeCA9IDEpKSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gMDsKaWYgKCh4ID0gMSkgIT09IDEpIHsKICAkRVJST1IoJyMyOiB4ID0gMDsgKHggPSAxKSA9PT0gMS4gQWN0dWFsOiAnICsgKCh4ID0gMSkpKTsKfQoK",
"commentary":"Operator x = y returns GetValue(y)",
"description":"Checking Expression and Variable statements",
"path":"TestCases/ch11/11.13/11.13.1/S11.13.1_A3.2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBc3NpZ25tZW50RXhwcmVzc2lvbiA6IExlZnRIYW5kU2lkZUV4cHJlc3Npb24gPSBBc3NpZ25tZW50RXhwcmVzc2lvbgogKgogKiBAcGF0aCBjaDExLzExLjEzLzExLjEzLjEvUzExLjEzLjFfQTRfVDEuanMKICogQGRlc2NyaXB0aW9uIFN5bnRheCBjaGVjawogKi8KCi8vQ0hFQ0sjMQp4ID0geCA9IDE7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogVGhlIGV4cHJlc3Npb24geCA9IHggPSAxIGlzIHRoZSBzYW1lIHggPSAoeCA9IDEpLCBub3QgKHggPSB4KSA9IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCgoK",
"commentary":"AssignmentExpression : LeftHandSideExpression = AssignmentExpression",
"description":"Syntax check",
"path":"TestCases/ch11/11.13/11.13.1/S11.13.1_A4_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBc3NpZ25tZW50RXhwcmVzc2lvbiA6IExlZnRIYW5kU2lkZUV4cHJlc3Npb24gPSBBc3NpZ25tZW50RXhwcmVzc2lvbgogKgogKiBAcGF0aCBjaDExLzExLjEzLzExLjEzLjEvUzExLjEzLjFfQTRfVDIuanMKICogQGRlc2NyaXB0aW9uIFN5bnRheCBjaGVjayBpZiAieCA9IHgiIHRocm93cyBSZWZlcmVuY2VFcnJvcgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHggPSB4OwogICRFUlJPUignIzEuMTogeCA9IHggdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArICh4ID0geCkpOwp9IGNhdGNoKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogeCA9IHggdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7ICAKICB9Cn0KCgoK",
"commentary":"AssignmentExpression : LeftHandSideExpression = AssignmentExpression",
"description":"Syntax check if \"x = x\" throws ReferenceError",
"path":"TestCases/ch11/11.13/11.13.1/S11.13.1_A4_T2.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yLzExLjEzLjItMS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBSZWZlcmVuY2VFcnJvciBpcyB0aHJvd24gaWYgdGhlIExlZnRIYW5kU2lkZUV4cHJlc3Npb24gb2YgYSBDb21wb3VuZCBBc3NpZ25tZW50IG9wZXJhdG9yKCo9KSBldmFsdWF0ZXMgdG8gYW4gdW5yZXNvbHZhYmxlIHJlZmVyZW5jZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJfMTFfMTNfMl8xICo9IDE7Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=",
"commentary":"",
"description":"Strict Mode - ReferenceError is thrown if the LeftHandSideExpression of a Compound Assignment operator(*=) evaluates to an unresolvable reference",
"onlyStrict":"",
"path":"TestCases/ch11/11.13/11.13.2/11.13.2-1-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yLzExLjEzLjItMTAtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gUmVmZXJlbmNlRXJyb3IgaXMgdGhyb3duIGlmIHRoZSBMZWZ0SGFuZFNpZGVFeHByZXNzaW9uIG9mIGEgQ29tcG91bmQgQXNzaWdubWVudCBvcGVyYXRvcihePSkgZXZhbHVhdGVzIHRvIGFuIHVucmVzb2x2YWJsZSByZWZlcmVuY2UNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgiXzExXzEzXzJfMTAgXj0gMTsiKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==",
"commentary":"",
"description":"Strict Mode - ReferenceError is thrown if the LeftHandSideExpression of a Compound Assignment operator(^=) evaluates to an unresolvable reference",
"onlyStrict":"",
"path":"TestCases/ch11/11.13/11.13.2/11.13.2-10-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yLzExLjEzLjItMTEtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gUmVmZXJlbmNlRXJyb3IgaXMgdGhyb3duIGlmIHRoZSBMZWZ0SGFuZFNpZGVFeHByZXNzaW9uIG9mIGEgQ29tcG91bmQgQXNzaWdubWVudCBvcGVyYXRvcih8PSkgZXZhbHVhdGVzIHRvIGFuIHVucmVzb2x2YWJsZSByZWZlcmVuY2UNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgiXzExXzEzXzJfMTEgfD0gMTsiKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==",
"commentary":"",
"description":"Strict Mode - ReferenceError is thrown if the LeftHandSideExpression of a Compound Assignment operator(|=) evaluates to an unresolvable reference",
"onlyStrict":"",
"path":"TestCases/ch11/11.13/11.13.2/11.13.2-11-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yLzExLjEzLjItMTItcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gUmVmZXJlbmNlRXJyb3IgaXNuJ3QgdGhyb3duIGlmIHRoZSBMZWZ0SGFuZFNpZGVFeHByZXNzaW9uIG9mIGEgQ29tcG91bmQgQXNzaWdubWVudCBvcGVyYXRvcigqPSkgZXZhbHVhdGVzIHRvIGEgcmVzb2x2YWJsZSByZWZlcmVuY2UNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgXzExXzEzXzJfMTIgPSA1DQogICAgICAgIF8xMV8xM18yXzEyICo9IDI7DQogICAgICAgIHJldHVybiBfMTFfMTNfMl8xMiA9PT0gMTA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K",
"commentary":"",
"description":"Strict Mode - ReferenceError isn't thrown if the LeftHandSideExpression of a Compound Assignment operator(*=) evaluates to a resolvable reference",
"onlyStrict":"",
"path":"TestCases/ch11/11.13/11.13.2/11.13.2-12-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yLzExLjEzLjItMTMtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gUmVmZXJlbmNlRXJyb3IgaXNuJ3QgdGhyb3duIGlmIHRoZSBMZWZ0SGFuZFNpZGVFeHByZXNzaW9uIG9mIGEgQ29tcG91bmQgQXNzaWdubWVudCBvcGVyYXRvcigvPSkgZXZhbHVhdGVzIHRvIGEgcmVzb2x2YWJsZSByZWZlcmVuY2UNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgXzExXzEzXzJfMTMgPSA2DQogICAgICAgIF8xMV8xM18yXzEzIC89IDI7DQogICAgICAgIHJldHVybiBfMTFfMTNfMl8xMyA9PT0gMzsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=",
"commentary":"",
"description":"Strict Mode - ReferenceError isn't thrown if the LeftHandSideExpression of a Compound Assignment operator(/=) evaluates to a resolvable reference",
"onlyStrict":"",
"path":"TestCases/ch11/11.13/11.13.2/11.13.2-13-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yLzExLjEzLjItMTQtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gUmVmZXJlbmNlRXJyb3IgaXNuJ3QgdGhyb3duIGlmIHRoZSBMZWZ0SGFuZFNpZGVFeHByZXNzaW9uIG9mIGEgQ29tcG91bmQgQXNzaWdubWVudCBvcGVyYXRvciglPSkgZXZhbHVhdGVzIHRvIGEgcmVzb2x2YWJsZSByZWZlcmVuY2UNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgXzExXzEzXzJfMTQgPSA1DQogICAgICAgIF8xMV8xM18yXzE0ICU9IDI7DQogICAgICAgIHJldHVybiBfMTFfMTNfMl8xNCA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=",
"commentary":"",
"description":"Strict Mode - ReferenceError isn't thrown if the LeftHandSideExpression of a Compound Assignment operator(%=) evaluates to a resolvable reference",
"onlyStrict":"",
"path":"TestCases/ch11/11.13/11.13.2/11.13.2-14-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yLzExLjEzLjItMTUtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gUmVmZXJlbmNlRXJyb3IgaXNuJ3QgdGhyb3duIGlmIHRoZSBMZWZ0SGFuZFNpZGVFeHByZXNzaW9uIG9mIGEgQ29tcG91bmQgQXNzaWdubWVudCBvcGVyYXRvcig+Pj49KSBldmFsdWF0ZXMgdG8gYSByZXNvbHZhYmxlIHJlZmVyZW5jZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBfMTFfMTNfMl8xNSA9IDgNCiAgICAgICAgXzExXzEzXzJfMTUgPj4+PSAyOw0KICAgICAgICByZXR1cm4gXzExXzEzXzJfMTUgPT09IDI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K",
"commentary":"",
"description":"Strict Mode - ReferenceError isn't thrown if the LeftHandSideExpression of a Compound Assignment operator(>>>=) evaluates to a resolvable reference",
"onlyStrict":"",
"path":"TestCases/ch11/11.13/11.13.2/11.13.2-15-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yLzExLjEzLjItMTYtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gUmVmZXJlbmNlRXJyb3IgaXNuJ3QgdGhyb3duIGlmIHRoZSBMZWZ0SGFuZFNpZGVFeHByZXNzaW9uIG9mIGEgQ29tcG91bmQgQXNzaWdubWVudCBvcGVyYXRvcigtPSkgZXZhbHVhdGVzIHRvIGEgcmVzb2x2YWJsZSByZWZlcmVuY2UNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgXzExXzEzXzJfMTYgPSA1DQogICAgICAgIF8xMV8xM18yXzE2IC09IDI7DQogICAgICAgIHJldHVybiBfMTFfMTNfMl8xNiA9PT0gMzsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=",
"commentary":"",
"description":"Strict Mode - ReferenceError isn't thrown if the LeftHandSideExpression of a Compound Assignment operator(-=) evaluates to a resolvable reference",
"onlyStrict":"",
"path":"TestCases/ch11/11.13/11.13.2/11.13.2-16-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yLzExLjEzLjItMTctcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gUmVmZXJlbmNlRXJyb3IgaXNuJ3QgdGhyb3duIGlmIHRoZSBMZWZ0SGFuZFNpZGVFeHByZXNzaW9uIG9mIGEgQ29tcG91bmQgQXNzaWdubWVudCBvcGVyYXRvcig8PD0pIGV2YWx1YXRlcyB0byBhIHJlc29sdmFibGUgcmVmZXJlbmNlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIF8xMV8xM18yXzE3ID0gMTsNCiAgICAgICAgXzExXzEzXzJfMTcgPDw9IDI7DQogICAgICAgIHJldHVybiBfMTFfMTNfMl8xNyA9PT0gNDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=",
"commentary":"",
"description":"Strict Mode - ReferenceError isn't thrown if the LeftHandSideExpression of a Compound Assignment operator(<<=) evaluates to a resolvable reference",
"onlyStrict":"",
"path":"TestCases/ch11/11.13/11.13.2/11.13.2-17-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yLzExLjEzLjItMTgtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gUmVmZXJlbmNlRXJyb3IgaXNuJ3QgdGhyb3duIGlmIHRoZSBMZWZ0SGFuZFNpZGVFeHByZXNzaW9uIG9mIGEgQ29tcG91bmQgQXNzaWdubWVudCBvcGVyYXRvcig+Pj0pIGV2YWx1YXRlcyB0byBhIHJlc29sdmFibGUgcmVmZXJlbmNlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIF8xMV8xM18yXzE4ID0gNA0KICAgICAgICBfMTFfMTNfMl8xOCA+Pj0gMjsNCiAgICAgICAgcmV0dXJuIF8xMV8xM18yXzE4ID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==",
"commentary":"",
"description":"Strict Mode - ReferenceError isn't thrown if the LeftHandSideExpression of a Compound Assignment operator(>>=) evaluates to a resolvable reference",
"onlyStrict":"",
"path":"TestCases/ch11/11.13/11.13.2/11.13.2-18-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yLzExLjEzLjItMTktcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gUmVmZXJlbmNlRXJyb3IgaXNuJ3QgdGhyb3duIGlmIHRoZSBMZWZ0SGFuZFNpZGVFeHByZXNzaW9uIG9mIGEgQ29tcG91bmQgQXNzaWdubWVudCBvcGVyYXRvcigrPSkgZXZhbHVhdGVzIHRvIGEgcmVzb2x2YWJsZSByZWZlcmVuY2UNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgXzExXzEzXzJfMTkgPSAtMQ0KICAgICAgICBfMTFfMTNfMl8xOSArPSAxMDsNCiAgICAgICAgcmV0dXJuIF8xMV8xM18yXzE5ID09PSA5Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==",
"commentary":"",
"description":"Strict Mode - ReferenceError isn't thrown if the LeftHandSideExpression of a Compound Assignment operator(+=) evaluates to a resolvable reference",
"onlyStrict":"",
"path":"TestCases/ch11/11.13/11.13.2/11.13.2-19-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yLzExLjEzLjItMi1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBSZWZlcmVuY2VFcnJvciBpcyB0aHJvd24gaWYgdGhlIExlZnRIYW5kU2lkZUV4cHJlc3Npb24gb2YgYSBDb21wb3VuZCBBc3NpZ25tZW50IG9wZXJhdG9yKC89KSBldmFsdWF0ZXMgdG8gYW4gdW5yZXNvbHZhYmxlIHJlZmVyZW5jZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJfMTFfMTNfMl8yIC89IDE7Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=",
"commentary":"",
"description":"Strict Mode - ReferenceError is thrown if the LeftHandSideExpression of a Compound Assignment operator(/=) evaluates to an unresolvable reference",
"onlyStrict":"",
"path":"TestCases/ch11/11.13/11.13.2/11.13.2-2-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yLzExLjEzLjItMjAtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gUmVmZXJlbmNlRXJyb3IgaXNuJ3QgdGhyb3duIGlmIHRoZSBMZWZ0SGFuZFNpZGVFeHByZXNzaW9uIG9mIGEgQ29tcG91bmQgQXNzaWdubWVudCBvcGVyYXRvcigmPSkgZXZhbHVhdGVzIHRvIGEgcmVzb2x2YWJsZSByZWZlcmVuY2UNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgXzExXzEzXzJfMjAgPSA1DQogICAgICAgIF8xMV8xM18yXzIwICY9IDM7DQogICAgICAgIHJldHVybiBfMTFfMTNfMl8yMCA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=",
"commentary":"",
"description":"Strict Mode - ReferenceError isn't thrown if the LeftHandSideExpression of a Compound Assignment operator(&=) evaluates to a resolvable reference",
"onlyStrict":"",
"path":"TestCases/ch11/11.13/11.13.2/11.13.2-20-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yLzExLjEzLjItMjEtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gUmVmZXJlbmNlRXJyb3IgaXNuJ3QgdGhyb3duIGlmIHRoZSBMZWZ0SGFuZFNpZGVFeHByZXNzaW9uIG9mIGEgQ29tcG91bmQgQXNzaWdubWVudCBvcGVyYXRvcihePSkgZXZhbHVhdGVzIHRvIGEgcmVzb2x2YWJsZSByZWZlcmVuY2UNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgXzExXzEzXzJfMjEgPSA1DQogICAgICAgIF8xMV8xM18yXzIxIF49IDM7DQogICAgICAgIHJldHVybiBfMTFfMTNfMl8yMSA9PT0gNjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=",
"commentary":"",
"description":"Strict Mode - ReferenceError isn't thrown if the LeftHandSideExpression of a Compound Assignment operator(^=) evaluates to a resolvable reference",
"onlyStrict":"",
"path":"TestCases/ch11/11.13/11.13.2/11.13.2-21-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yLzExLjEzLjItMjItcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gUmVmZXJlbmNlRXJyb3IgaXNuJ3QgdGhyb3duIGlmIHRoZSBMZWZ0SGFuZFNpZGVFeHByZXNzaW9uIG9mIGEgQ29tcG91bmQgQXNzaWdubWVudCBvcGVyYXRvcih8PSkgZXZhbHVhdGVzIHRvIGEgcmVzb2x2YWJsZSByZWZlcmVuY2UNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgXzExXzEzXzJfMjIgPSA1DQogICAgICAgIF8xMV8xM18yXzIyIHw9IDI7DQogICAgICAgIHJldHVybiBfMTFfMTNfMl8yMiA9PT0gNzsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=",
"commentary":"",
"description":"Strict Mode - ReferenceError isn't thrown if the LeftHandSideExpression of a Compound Assignment operator(|=) evaluates to a resolvable reference",
"onlyStrict":"",
"path":"TestCases/ch11/11.13/11.13.2/11.13.2-22-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yLzExLjEzLjItMjMtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gVHlwZUVycm9yIGlzIHRocm93biBpZiBUaGUgTGVmdEhhbmRTaWRlIG9mIGEgQ29tcG91bmQgQXNzaWdubWVudCBvcGVyYXRvcigqPSkgaXMgYSByZWZlcmVuY2UgdG8gYSBkYXRhIHByb3BlcnR5IHdpdGggdGhlIGF0dHJpYnV0ZSB2YWx1ZSB7W1tXcml0YWJsZV1dOmZhbHNlfQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBvYmoucHJvcCAqPSAyMDsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgb2JqLnByb3AgPT09IDEwOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K",
"commentary":"",
"description":"Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(*=) is a reference to a data property with the attribute value {[[Writable]]:false}",
"onlyStrict":"",
"path":"TestCases/ch11/11.13/11.13.2/11.13.2-23-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yLzExLjEzLjItMjQtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gVHlwZUVycm9yIGlzIHRocm93biBpZiBUaGUgTGVmdEhhbmRTaWRlIG9mIGEgQ29tcG91bmQgQXNzaWdubWVudCBvcGVyYXRvcigvPSkgaXMgYSByZWZlcmVuY2UgdG8gYSBkYXRhIHByb3BlcnR5IHdpdGggdGhlIGF0dHJpYnV0ZSB2YWx1ZSB7W1tXcml0YWJsZV1dOmZhbHNlfQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBvYmoucHJvcCAvPSAyMDsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgb2JqLnByb3AgPT09IDEwOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K",
"commentary":"",
"description":"Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(/=) is a reference to a data property with the attribute value {[[Writable]]:false}",
"onlyStrict":"",
"path":"TestCases/ch11/11.13/11.13.2/11.13.2-24-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yLzExLjEzLjItMjUtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gVHlwZUVycm9yIGlzIHRocm93biBpZiBUaGUgTGVmdEhhbmRTaWRlIG9mIGEgQ29tcG91bmQgQXNzaWdubWVudCBvcGVyYXRvciglPSkgaXMgYSByZWZlcmVuY2UgdG8gYSBkYXRhIHByb3BlcnR5IHdpdGggdGhlIGF0dHJpYnV0ZSB2YWx1ZSB7W1tXcml0YWJsZV1dOmZhbHNlfQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBvYmoucHJvcCAlPSAyMDsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgb2JqLnByb3AgPT09IDEwOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K",
"commentary":"",
"description":"Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(%=) is a reference to a data property with the attribute value {[[Writable]]:false}",
"onlyStrict":"",
"path":"TestCases/ch11/11.13/11.13.2/11.13.2-25-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yLzExLjEzLjItMjYtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gVHlwZUVycm9yIGlzIHRocm93biBpZiBUaGUgTGVmdEhhbmRTaWRlIG9mIGEgQ29tcG91bmQgQXNzaWdubWVudCBvcGVyYXRvcigrPSkgaXMgYSByZWZlcmVuY2UgdG8gYSBkYXRhIHByb3BlcnR5IHdpdGggdGhlIGF0dHJpYnV0ZSB2YWx1ZSB7W1tXcml0YWJsZV1dOmZhbHNlfQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBvYmoucHJvcCArPSAyMDsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgb2JqLnByb3AgPT09IDEwOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K",
"commentary":"",
"description":"Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(+=) is a reference to a data property with the attribute value {[[Writable]]:false}",
"onlyStrict":"",
"path":"TestCases/ch11/11.13/11.13.2/11.13.2-26-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yLzExLjEzLjItMjctcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gVHlwZUVycm9yIGlzIHRocm93biBpZiBUaGUgTGVmdEhhbmRTaWRlIG9mIGEgQ29tcG91bmQgQXNzaWdubWVudCBvcGVyYXRvcigtPSkgaXMgYSByZWZlcmVuY2UgdG8gYSBkYXRhIHByb3BlcnR5IHdpdGggdGhlIGF0dHJpYnV0ZSB2YWx1ZSB7W1tXcml0YWJsZV1dOmZhbHNlfQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBvYmoucHJvcCAtPSAyMDsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgb2JqLnByb3AgPT09IDEwOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K",
"commentary":"",
"description":"Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(-=) is a reference to a data property with the attribute value {[[Writable]]:false}",
"onlyStrict":"",
"path":"TestCases/ch11/11.13/11.13.2/11.13.2-27-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yLzExLjEzLjItMjgtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gVHlwZUVycm9yIGlzIHRocm93biBpZiBUaGUgTGVmdEhhbmRTaWRlIG9mIGEgQ29tcG91bmQgQXNzaWdubWVudCBvcGVyYXRvcig8PD0pIGlzIGEgcmVmZXJlbmNlIHRvIGEgZGF0YSBwcm9wZXJ0eSB3aXRoIHRoZSBhdHRyaWJ1dGUgdmFsdWUge1tbV3JpdGFibGVdXTpmYWxzZX0NCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgb2JqLnByb3AgPDw9IDIwOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBvYmoucHJvcCA9PT0gMTA7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=",
"commentary":"",
"description":"Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(<<=) is a reference to a data property with the attribute value {[[Writable]]:false}",
"onlyStrict":"",
"path":"TestCases/ch11/11.13/11.13.2/11.13.2-28-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yLzExLjEzLjItMjktcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gVHlwZUVycm9yIGlzIHRocm93biBpZiBUaGUgTGVmdEhhbmRTaWRlIG9mIGEgQ29tcG91bmQgQXNzaWdubWVudCBvcGVyYXRvcig+Pj0pIGlzIGEgcmVmZXJlbmNlIHRvIGEgZGF0YSBwcm9wZXJ0eSB3aXRoIHRoZSBhdHRyaWJ1dGUgdmFsdWUge1tbV3JpdGFibGVdXTpmYWxzZX0NCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgb2JqLnByb3AgPj49IDIwOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBvYmoucHJvcCA9PT0gMTA7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=",
"commentary":"",
"description":"Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(>>=) is a reference to a data property with the attribute value {[[Writable]]:false}",
"onlyStrict":"",
"path":"TestCases/ch11/11.13/11.13.2/11.13.2-29-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yLzExLjEzLjItMy1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBSZWZlcmVuY2VFcnJvciBpcyB0aHJvd24gaWYgdGhlIExlZnRIYW5kU2lkZUV4cHJlc3Npb24gb2YgYSBDb21wb3VuZCBBc3NpZ25tZW50IG9wZXJhdG9yKCU9KSBldmFsdWF0ZXMgdG8gYW4gdW5yZXNvbHZhYmxlIHJlZmVyZW5jZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJfMTFfMTNfMl8zICU9IDE7Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=",
"commentary":"",
"description":"Strict Mode - ReferenceError is thrown if the LeftHandSideExpression of a Compound Assignment operator(%=) evaluates to an unresolvable reference",
"onlyStrict":"",
"path":"TestCases/ch11/11.13/11.13.2/11.13.2-3-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yLzExLjEzLjItMzAtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gVHlwZUVycm9yIGlzIHRocm93biBpZiBUaGUgTGVmdEhhbmRTaWRlIG9mIGEgQ29tcG91bmQgQXNzaWdubWVudCBvcGVyYXRvcig+Pj49KSBpcyBhIHJlZmVyZW5jZSB0byBhIGRhdGEgcHJvcGVydHkgd2l0aCB0aGUgYXR0cmlidXRlIHZhbHVlIHtbW1dyaXRhYmxlXV06ZmFsc2V9DQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIG9iai5wcm9wID4+Pj0gMjA7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIG9iai5wcm9wID09PSAxMDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==",
"commentary":"",
"description":"Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(>>>=) is a reference to a data property with the attribute value {[[Writable]]:false}",
"onlyStrict":"",
"path":"TestCases/ch11/11.13/11.13.2/11.13.2-30-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yLzExLjEzLjItMzEtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gVHlwZUVycm9yIGlzIHRocm93biBpZiBUaGUgTGVmdEhhbmRTaWRlIG9mIGEgQ29tcG91bmQgQXNzaWdubWVudCBvcGVyYXRvcigmPSkgaXMgYSByZWZlcmVuY2UgdG8gYSBkYXRhIHByb3BlcnR5IHdpdGggdGhlIGF0dHJpYnV0ZSB2YWx1ZSB7W1tXcml0YWJsZV1dOmZhbHNlfQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBvYmoucHJvcCAmPSAyMDsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgb2JqLnByb3AgPT09IDEwOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K",
"commentary":"",
"description":"Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(&=) is a reference to a data property with the attribute value {[[Writable]]:false}",
"onlyStrict":"",
"path":"TestCases/ch11/11.13/11.13.2/11.13.2-31-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yLzExLjEzLjItMzItcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gVHlwZUVycm9yIGlzIHRocm93biBpZiBUaGUgTGVmdEhhbmRTaWRlIG9mIGEgQ29tcG91bmQgQXNzaWdubWVudCBvcGVyYXRvcihePSkgaXMgYSByZWZlcmVuY2UgdG8gYSBkYXRhIHByb3BlcnR5IHdpdGggdGhlIGF0dHJpYnV0ZSB2YWx1ZSB7W1tXcml0YWJsZV1dOmZhbHNlfQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBvYmoucHJvcCBePSAyMDsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgb2JqLnByb3AgPT09IDEwOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K",
"commentary":"",
"description":"Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(^=) is a reference to a data property with the attribute value {[[Writable]]:false}",
"onlyStrict":"",
"path":"TestCases/ch11/11.13/11.13.2/11.13.2-32-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yLzExLjEzLjItMzMtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gVHlwZUVycm9yIGlzIHRocm93biBpZiBUaGUgTGVmdEhhbmRTaWRlIG9mIGEgQ29tcG91bmQgQXNzaWdubWVudCBvcGVyYXRvcih8PSkgaXMgYSByZWZlcmVuY2UgdG8gYSBkYXRhIHByb3BlcnR5IHdpdGggdGhlIGF0dHJpYnV0ZSB2YWx1ZSB7W1tXcml0YWJsZV1dOmZhbHNlfQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBvYmoucHJvcCB8PSAyMDsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgb2JqLnByb3AgPT09IDEwOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K",
"commentary":"",
"description":"Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(|=) is a reference to a data property with the attribute value {[[Writable]]:false}",
"onlyStrict":"",
"path":"TestCases/ch11/11.13/11.13.2/11.13.2-33-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yLzExLjEzLjItMzQtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gVHlwZUVycm9yIGlzIHRocm93biBpZiBUaGUgTGVmdEhhbmRTaWRlIG9mIGEgQ29tcG91bmQgQXNzaWdubWVudCBvcGVyYXRvcigqPSkgaXMgYSByZWZlcmVuY2UgdG8gYW4gYWNjZXNzb3IgcHJvcGVydHkgd2l0aCB0aGUgYXR0cmlidXRlIHZhbHVlIHtbW1NldF1dOnVuZGVmaW5lZH0NCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDExOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgb2JqLnByb3AgKj0gMjA7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIG9iai5wcm9wID09PSAxMTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==",
"commentary":"",
"description":"Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(*=) is a reference to an accessor property with the attribute value {[[Set]]:undefined}",
"onlyStrict":"",
"path":"TestCases/ch11/11.13/11.13.2/11.13.2-34-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yLzExLjEzLjItMzUtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gVHlwZUVycm9yIGlzIHRocm93biBpZiBUaGUgTGVmdEhhbmRTaWRlIG9mIGEgQ29tcG91bmQgQXNzaWdubWVudCBvcGVyYXRvcigvPSkgaXMgYSByZWZlcmVuY2UgdG8gYW4gYWNjZXNzb3IgcHJvcGVydHkgd2l0aCB0aGUgYXR0cmlidXRlIHZhbHVlIHtbW1NldF1dOnVuZGVmaW5lZH0NCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDExOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgb2JqLnByb3AgLz0gMjA7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIG9iai5wcm9wID09PSAxMTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==",
"commentary":"",
"description":"Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(/=) is a reference to an accessor property with the attribute value {[[Set]]:undefined}",
"onlyStrict":"",
"path":"TestCases/ch11/11.13/11.13.2/11.13.2-35-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yLzExLjEzLjItMzYtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gVHlwZUVycm9yIGlzIHRocm93biBpZiBUaGUgTGVmdEhhbmRTaWRlIG9mIGEgQ29tcG91bmQgQXNzaWdubWVudCBvcGVyYXRvciglPSkgaXMgYSByZWZlcmVuY2UgdG8gYW4gYWNjZXNzb3IgcHJvcGVydHkgd2l0aCB0aGUgYXR0cmlidXRlIHZhbHVlIHtbW1NldF1dOnVuZGVmaW5lZH0NCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDExOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgb2JqLnByb3AgJT0gMjA7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIG9iai5wcm9wID09PSAxMTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==",
"commentary":"",
"description":"Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(%=) is a reference to an accessor property with the attribute value {[[Set]]:undefined}",
"onlyStrict":"",
"path":"TestCases/ch11/11.13/11.13.2/11.13.2-36-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yLzExLjEzLjItMzctcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gVHlwZUVycm9yIGlzIHRocm93biBpZiBUaGUgTGVmdEhhbmRTaWRlIG9mIGEgQ29tcG91bmQgQXNzaWdubWVudCBvcGVyYXRvcigrPSkgaXMgYSByZWZlcmVuY2UgdG8gYW4gYWNjZXNzb3IgcHJvcGVydHkgd2l0aCB0aGUgYXR0cmlidXRlIHZhbHVlIHtbW1NldF1dOnVuZGVmaW5lZH0NCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDExOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgb2JqLnByb3AgKz0gMjA7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIG9iai5wcm9wID09PSAxMTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==",
"commentary":"",
"description":"Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(+=) is a reference to an accessor property with the attribute value {[[Set]]:undefined}",
"onlyStrict":"",
"path":"TestCases/ch11/11.13/11.13.2/11.13.2-37-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yLzExLjEzLjItMzgtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gVHlwZUVycm9yIGlzIHRocm93biBpZiBUaGUgTGVmdEhhbmRTaWRlIG9mIGEgQ29tcG91bmQgQXNzaWdubWVudCBvcGVyYXRvcigtPSkgaXMgYSByZWZlcmVuY2UgdG8gYW4gYWNjZXNzb3IgcHJvcGVydHkgd2l0aCB0aGUgYXR0cmlidXRlIHZhbHVlIHtbW1NldF1dOnVuZGVmaW5lZH0NCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDExOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgb2JqLnByb3AgLT0gMjA7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIG9iai5wcm9wID09PSAxMTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==",
"commentary":"",
"description":"Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(-=) is a reference to an accessor property with the attribute value {[[Set]]:undefined}",
"onlyStrict":"",
"path":"TestCases/ch11/11.13/11.13.2/11.13.2-38-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yLzExLjEzLjItMzktcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gVHlwZUVycm9yIGlzIHRocm93biBpZiBUaGUgTGVmdEhhbmRTaWRlIG9mIGEgQ29tcG91bmQgQXNzaWdubWVudCBvcGVyYXRvcig8PD0pIGlzIGEgcmVmZXJlbmNlIHRvIGFuIGFjY2Vzc29yIHByb3BlcnR5IHdpdGggdGhlIGF0dHJpYnV0ZSB2YWx1ZSB7W1tTZXRdXTp1bmRlZmluZWR9DQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIG9iai5wcm9wIDw8PSAyMDsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgb2JqLnByb3AgPT09IDExOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K",
"commentary":"",
"description":"Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(<<=) is a reference to an accessor property with the attribute value {[[Set]]:undefined}",
"onlyStrict":"",
"path":"TestCases/ch11/11.13/11.13.2/11.13.2-39-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yLzExLjEzLjItNC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBSZWZlcmVuY2VFcnJvciBpcyB0aHJvd24gaWYgdGhlIExlZnRIYW5kU2lkZUV4cHJlc3Npb24gb2YgYSBDb21wb3VuZCBBc3NpZ25tZW50IG9wZXJhdG9yKCs9KSBldmFsdWF0ZXMgdG8gYW4gdW5yZXNvbHZhYmxlIHJlZmVyZW5jZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJfMTFfMTNfMl80ICs9IDE7Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=",
"commentary":"",
"description":"Strict Mode - ReferenceError is thrown if the LeftHandSideExpression of a Compound Assignment operator(+=) evaluates to an unresolvable reference",
"onlyStrict":"",
"path":"TestCases/ch11/11.13/11.13.2/11.13.2-4-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yLzExLjEzLjItNDAtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gVHlwZUVycm9yIGlzIHRocm93biBpZiBUaGUgTGVmdEhhbmRTaWRlIG9mIGEgQ29tcG91bmQgQXNzaWdubWVudCBvcGVyYXRvcig+Pj0pIGlzIGEgcmVmZXJlbmNlIHRvIGFuIGFjY2Vzc29yIHByb3BlcnR5IHdpdGggdGhlIGF0dHJpYnV0ZSB2YWx1ZSB7W1tTZXRdXTp1bmRlZmluZWR9DQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIG9iai5wcm9wID4+PSAyMDsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgb2JqLnByb3AgPT09IDExOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K",
"commentary":"",
"description":"Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(>>=) is a reference to an accessor property with the attribute value {[[Set]]:undefined}",
"onlyStrict":"",
"path":"TestCases/ch11/11.13/11.13.2/11.13.2-40-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yLzExLjEzLjItNDEtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gVHlwZUVycm9yIGlzIHRocm93biBpZiBUaGUgTGVmdEhhbmRTaWRlIG9mIGEgQ29tcG91bmQgQXNzaWdubWVudCBvcGVyYXRvcig+Pj49KSBpcyBhIHJlZmVyZW5jZSB0byBhbiBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRoIHRoZSBhdHRyaWJ1dGUgdmFsdWUge1tbU2V0XV06dW5kZWZpbmVkfQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTE7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBvYmoucHJvcCA+Pj49IDIwOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBvYmoucHJvcCA9PT0gMTE7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=",
"commentary":"",
"description":"Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(>>>=) is a reference to an accessor property with the attribute value {[[Set]]:undefined}",
"onlyStrict":"",
"path":"TestCases/ch11/11.13/11.13.2/11.13.2-41-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yLzExLjEzLjItNDItcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gVHlwZUVycm9yIGlzIHRocm93biBpZiBUaGUgTGVmdEhhbmRTaWRlIG9mIGEgQ29tcG91bmQgQXNzaWdubWVudCBvcGVyYXRvcigmPSkgaXMgYSByZWZlcmVuY2UgdG8gYW4gYWNjZXNzb3IgcHJvcGVydHkgd2l0aCB0aGUgYXR0cmlidXRlIHZhbHVlIHtbW1NldF1dOnVuZGVmaW5lZH0NCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDExOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgb2JqLnByb3AgJj0gMjA7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIG9iai5wcm9wID09PSAxMTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==",
"commentary":"",
"description":"Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(&=) is a reference to an accessor property with the attribute value {[[Set]]:undefined}",
"onlyStrict":"",
"path":"TestCases/ch11/11.13/11.13.2/11.13.2-42-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yLzExLjEzLjItNDMtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gVHlwZUVycm9yIGlzIHRocm93biBpZiBUaGUgTGVmdEhhbmRTaWRlIG9mIGEgQ29tcG91bmQgQXNzaWdubWVudCBvcGVyYXRvcihePSkgaXMgYSByZWZlcmVuY2UgdG8gYW4gYWNjZXNzb3IgcHJvcGVydHkgd2l0aCB0aGUgYXR0cmlidXRlIHZhbHVlIHtbW1NldF1dOnVuZGVmaW5lZH0NCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDExOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgb2JqLnByb3AgXj0gMjA7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIG9iai5wcm9wID09PSAxMTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==",
"commentary":"",
"description":"Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(^=) is a reference to an accessor property with the attribute value {[[Set]]:undefined}",
"onlyStrict":"",
"path":"TestCases/ch11/11.13/11.13.2/11.13.2-43-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yLzExLjEzLjItNDQtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gVHlwZUVycm9yIGlzIHRocm93biBpZiBUaGUgTGVmdEhhbmRTaWRlIG9mIGEgQ29tcG91bmQgQXNzaWdubWVudCBvcGVyYXRvcih8PSkgaXMgYSByZWZlcmVuY2Ugb2YgdG8gYW4gYWNjZXNzb3IgcHJvcGVydHkgd2l0aCB0aGUgYXR0cmlidXRlIHZhbHVlIHtbW1NldF1dOnVuZGVmaW5lZH0NCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDExOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgb2JqLnByb3AgfD0gMjA7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIG9iai5wcm9wID09PSAxMTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==",
"commentary":"",
"description":"Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(|=) is a reference of to an accessor property with the attribute value {[[Set]]:undefined}",
"onlyStrict":"",
"path":"TestCases/ch11/11.13/11.13.2/11.13.2-44-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yLzExLjEzLjItNDUtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gVHlwZUVycm9yIGlzIHRocm93biBpZiBUaGUgTGVmdEhhbmRTaWRlIG9mIGEgQ29tcG91bmQgQXNzaWdubWVudCBvcGVyYXRvcigqPSkgaXMgYSByZWZlcmVuY2UgdG8gYSBub24tZXhpc3RlbnQgcHJvcGVydHkgb2YgYW4gb2JqZWN0IHdob3NlIFtbRXh0ZW5zaWJsZV1dIGludGVybmFsIHByb3BlcnR5IGlmIGZhbHNlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QucHJldmVudEV4dGVuc2lvbnMob2JqKTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgb2JqLmxlbiAqPSAxMDsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=",
"commentary":"",
"description":"Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(*=) is a reference to a non-existent property of an object whose [[Extensible]] internal property if false",
"onlyStrict":"",
"path":"TestCases/ch11/11.13/11.13.2/11.13.2-45-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yLzExLjEzLjItNDYtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gVHlwZUVycm9yIGlzIHRocm93biBpZiBUaGUgTGVmdEhhbmRTaWRlIG9mIGEgQ29tcG91bmQgQXNzaWdubWVudCBvcGVyYXRvcigvPSkgaXMgYSByZWZlcmVuY2UgdG8gYSBub24tZXhpc3RlbnQgcHJvcGVydHkgb2YgYW4gb2JqZWN0IHdob3NlIFtbRXh0ZW5zaWJsZV1dIGludGVybmFsIHByb3BlcnR5IGlmIGZhbHNlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QucHJldmVudEV4dGVuc2lvbnMob2JqKTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgb2JqLmxlbiAvPSAxMDsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=",
"commentary":"",
"description":"Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(/=) is a reference to a non-existent property of an object whose [[Extensible]] internal property if false",
"onlyStrict":"",
"path":"TestCases/ch11/11.13/11.13.2/11.13.2-46-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yLzExLjEzLjItNDctcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gVHlwZUVycm9yIGlzIHRocm93biBpZiBUaGUgTGVmdEhhbmRTaWRlIG9mIGEgQ29tcG91bmQgQXNzaWdubWVudCBvcGVyYXRvciglPSkgaXMgYSByZWZlcmVuY2UgdG8gYSBub24tZXhpc3RlbnQgcHJvcGVydHkgb2YgYW4gb2JqZWN0IHdob3NlIFtbRXh0ZW5zaWJsZV1dIGludGVybmFsIHByb3BlcnR5IGlmIGZhbHNlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QucHJldmVudEV4dGVuc2lvbnMob2JqKTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgb2JqLmxlbiAlPSAxMDsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=",
"commentary":"",
"description":"Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(%=) is a reference to a non-existent property of an object whose [[Extensible]] internal property if false",
"onlyStrict":"",
"path":"TestCases/ch11/11.13/11.13.2/11.13.2-47-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yLzExLjEzLjItNDgtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gVHlwZUVycm9yIGlzIHRocm93biBpZiBUaGUgTGVmdEhhbmRTaWRlIG9mIGEgQ29tcG91bmQgQXNzaWdubWVudCBvcGVyYXRvcigrPSkgaXMgYSByZWZlcmVuY2UgdG8gYSBub24tZXhpc3RlbnQgcHJvcGVydHkgb2YgYW4gb2JqZWN0IHdob3NlIFtbRXh0ZW5zaWJsZV1dIGludGVybmFsIHByb3BlcnR5IGlmIGZhbHNlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QucHJldmVudEV4dGVuc2lvbnMob2JqKTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgb2JqLmxlbiArPSAxMDsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=",
"commentary":"",
"description":"Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(+=) is a reference to a non-existent property of an object whose [[Extensible]] internal property if false",
"onlyStrict":"",
"path":"TestCases/ch11/11.13/11.13.2/11.13.2-48-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yLzExLjEzLjItNDktcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gVHlwZUVycm9yIGlzIHRocm93biBpZiBUaGUgTGVmdEhhbmRTaWRlIG9mIGEgQ29tcG91bmQgQXNzaWdubWVudCBvcGVyYXRvcigtPSkgaXMgYSByZWZlcmVuY2UgdG8gYSBub24tZXhpc3RlbnQgcHJvcGVydHkgb2YgYW4gb2JqZWN0IHdob3NlIFtbRXh0ZW5zaWJsZV1dIGludGVybmFsIHByb3BlcnR5IGlmIGZhbHNlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QucHJldmVudEV4dGVuc2lvbnMob2JqKTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgb2JqLmxlbiAtPSAxMDsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=",
"commentary":"",
"description":"Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(-=) is a reference to a non-existent property of an object whose [[Extensible]] internal property if false",
"onlyStrict":"",
"path":"TestCases/ch11/11.13/11.13.2/11.13.2-49-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yLzExLjEzLjItNS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBSZWZlcmVuY2VFcnJvciBpcyB0aHJvd24gaWYgdGhlIExlZnRIYW5kU2lkZUV4cHJlc3Npb24gb2YgYSBDb21wb3VuZCBBc3NpZ25tZW50IG9wZXJhdG9yKC09KSBldmFsdWF0ZXMgdG8gYW4gdW5yZXNvbHZhYmxlIHJlZmVyZW5jZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJfMTFfMTNfMl81IC09IDE7Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=",
"commentary":"",
"description":"Strict Mode - ReferenceError is thrown if the LeftHandSideExpression of a Compound Assignment operator(-=) evaluates to an unresolvable reference",
"onlyStrict":"",
"path":"TestCases/ch11/11.13/11.13.2/11.13.2-5-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yLzExLjEzLjItNTAtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gVHlwZUVycm9yIGlzIHRocm93biBpZiBUaGUgTGVmdEhhbmRTaWRlIG9mIGEgQ29tcG91bmQgQXNzaWdubWVudCBvcGVyYXRvcig8PD0pIGlzIGEgcmVmZXJlbmNlIHRvIGEgbm9uLWV4aXN0ZW50IHByb3BlcnR5IG9mIGFuIG9iamVjdCB3aG9zZSBbW0V4dGVuc2libGVdXSBpbnRlcm5hbCBwcm9wZXJ0eSBpZiBmYWxzZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKG9iaik7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIG9iai5sZW4gPDw9IDEwOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==",
"commentary":"",
"description":"Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(<<=) is a reference to a non-existent property of an object whose [[Extensible]] internal property if false",
"onlyStrict":"",
"path":"TestCases/ch11/11.13/11.13.2/11.13.2-50-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yLzExLjEzLjItNTEtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gVHlwZUVycm9yIGlzIHRocm93biBpZiBUaGUgTGVmdEhhbmRTaWRlIG9mIGEgQ29tcG91bmQgQXNzaWdubWVudCBvcGVyYXRvcig+Pj0pIGlzIGEgcmVmZXJlbmNlIHRvIGEgbm9uLWV4aXN0ZW50IHByb3BlcnR5IG9mIGFuIG9iamVjdCB3aG9zZSBbW0V4dGVuc2libGVdXSBpbnRlcm5hbCBwcm9wZXJ0eSBpZiBmYWxzZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKG9iaik7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIG9iai5sZW4gPj49IDEwOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==",
"commentary":"",
"description":"Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(>>=) is a reference to a non-existent property of an object whose [[Extensible]] internal property if false",
"onlyStrict":"",
"path":"TestCases/ch11/11.13/11.13.2/11.13.2-51-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yLzExLjEzLjItNTItcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gVHlwZUVycm9yIGlzIHRocm93biBpZiBUaGUgTGVmdEhhbmRTaWRlIG9mIGEgQ29tcG91bmQgQXNzaWdubWVudCBvcGVyYXRvcig+Pj49KSBpcyBhIHJlZmVyZW5jZSB0byBhIG5vbi1leGlzdGVudCBwcm9wZXJ0eSBvZiBhbiBvYmplY3Qgd2hvc2UgW1tFeHRlbnNpYmxlXV0gaW50ZXJuYWwgcHJvcGVydHkgaWYgZmFsc2UNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyhvYmopOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBvYmoubGVuID4+Pj0gMTA7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K",
"commentary":"",
"description":"Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(>>>=) is a reference to a non-existent property of an object whose [[Extensible]] internal property if false",
"onlyStrict":"",
"path":"TestCases/ch11/11.13/11.13.2/11.13.2-52-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yLzExLjEzLjItNTMtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gVHlwZUVycm9yIGlzIHRocm93biBpZiBUaGUgTGVmdEhhbmRTaWRlIG9mIGEgQ29tcG91bmQgQXNzaWdubWVudCBvcGVyYXRvcigmPSkgaXMgYSByZWZlcmVuY2UgdG8gYSBub24tZXhpc3RlbnQgcHJvcGVydHkgb2YgYW4gb2JqZWN0IHdob3NlIFtbRXh0ZW5zaWJsZV1dIGludGVybmFsIHByb3BlcnR5IGlmIGZhbHNlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QucHJldmVudEV4dGVuc2lvbnMob2JqKTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgb2JqLmxlbiAmPSAxMDsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=",
"commentary":"",
"description":"Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(&=) is a reference to a non-existent property of an object whose [[Extensible]] internal property if false",
"onlyStrict":"",
"path":"TestCases/ch11/11.13/11.13.2/11.13.2-53-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yLzExLjEzLjItNTQtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gVHlwZUVycm9yIGlzIHRocm93biBpZiBUaGUgTGVmdEhhbmRTaWRlIG9mIGEgQ29tcG91bmQgQXNzaWdubWVudCBvcGVyYXRvcihePSkgaXMgYSByZWZlcmVuY2UgdG8gYSBub24tZXhpc3RlbnQgcHJvcGVydHkgb2YgYW4gb2JqZWN0IHdob3NlIFtbRXh0ZW5zaWJsZV1dIGludGVybmFsIHByb3BlcnR5IGlmIGZhbHNlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QucHJldmVudEV4dGVuc2lvbnMob2JqKTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgb2JqLmxlbiBePSAxMDsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=",
"commentary":"",
"description":"Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(^=) is a reference to a non-existent property of an object whose [[Extensible]] internal property if false",
"onlyStrict":"",
"path":"TestCases/ch11/11.13/11.13.2/11.13.2-54-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yLzExLjEzLjItNTUtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gVHlwZUVycm9yIGlzIHRocm93biBpZiBUaGUgTGVmdEhhbmRTaWRlIG9mIGEgQ29tcG91bmQgQXNzaWdubWVudCBvcGVyYXRvcih8PSkgaXMgYSByZWZlcmVuY2UgdG8gYSBub24tZXhpc3RlbnQgcHJvcGVydHkgb2YgYW4gb2JqZWN0IHdob3NlIFtbRXh0ZW5zaWJsZV1dIGludGVybmFsIHByb3BlcnR5IGlmIGZhbHNlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QucHJldmVudEV4dGVuc2lvbnMob2JqKTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgb2JqLmxlbiB8PSAxMDsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=",
"commentary":"",
"description":"Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(|=) is a reference to a non-existent property of an object whose [[Extensible]] internal property if false",
"onlyStrict":"",
"path":"TestCases/ch11/11.13/11.13.2/11.13.2-55-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yLzExLjEzLjItNi0xLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIHRocm93biBpZiB0aGUgaWRlbnRpZmllciBldmFsIGFwcGVhciBhcyB0aGUgTGVmdEhhbmRTaWRlRXhwcmVzc2lvbiBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IoKj0pDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIGJsYWggPSBldmFsOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgiZXZhbCAqPSAyMDsiKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvciAmJiBibGFoID09PSBldmFsOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K",
"commentary":"",
"description":"Strict Mode - SyntaxError is thrown if the identifier eval appear as the LeftHandSideExpression of a Compound Assignment operator(*=)",
"onlyStrict":"",
"path":"TestCases/ch11/11.13/11.13.2/11.13.2-6-1-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yLzExLjEzLjItNi0xMC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gaWYgdGhlIGlkZW50aWZpZXIgZXZhbCBhcHBlYXIgYXMgdGhlIExlZnRIYW5kU2lkZUV4cHJlc3Npb24gb2YgYSBDb21wb3VuZCBBc3NpZ25tZW50IG9wZXJhdG9yKF49KQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBibGFoID0gZXZhbDsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoImV2YWwgXj0gMjA7Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IgJiYgYmxhaCA9PT0gZXZhbDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==",
"commentary":"",
"description":"Strict Mode - SyntaxError is thrown if the identifier eval appear as the LeftHandSideExpression of a Compound Assignment operator(^=)",
"onlyStrict":"",
"path":"TestCases/ch11/11.13/11.13.2/11.13.2-6-10-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yLzExLjEzLjItNi0xMS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gaWYgdGhlIGlkZW50aWZpZXIgZXZhbCBhcHBlYXIgYXMgdGhlIExlZnRIYW5kU2lkZUV4cHJlc3Npb24gb2YgYSBDb21wb3VuZCBBc3NpZ25tZW50IG9wZXJhdG9yKHw9KQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBibGFoID0gZXZhbDsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoImV2YWwgfD0gMjA7Iik7IA0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yICYmIGJsYWggPT09IGV2YWw7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=",
"commentary":"",
"description":"Strict Mode - SyntaxError is thrown if the identifier eval appear as the LeftHandSideExpression of a Compound Assignment operator(|=)",
"onlyStrict":"",
"path":"TestCases/ch11/11.13/11.13.2/11.13.2-6-11-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yLzExLjEzLjItNi0xMi1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gaWYgdGhlIGlkZW50aWZpZXIgYXJndW1lbnRzIGFwcGVhciBhcyB0aGUgTGVmdEhhbmRTaWRlRXhwcmVzc2lvbiBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IoKj0pDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIGJsYWggPSBhcmd1bWVudHM7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJhcmd1bWVudHMgKj0gMjA7Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IgJiYgYmxhaCA9PT0gYXJndW1lbnRzOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K",
"commentary":"",
"description":"Strict Mode - SyntaxError is thrown if the identifier arguments appear as the LeftHandSideExpression of a Compound Assignment operator(*=)",
"onlyStrict":"",
"path":"TestCases/ch11/11.13/11.13.2/11.13.2-6-12-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yLzExLjEzLjItNi0xMy1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gaWYgdGhlIGlkZW50aWZpZXIgYXJndW1lbnRzIGFwcGVhciBhcyB0aGUgTGVmdEhhbmRTaWRlRXhwcmVzc2lvbiBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IoLz0pDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIGJsYWggPSBhcmd1bWVudHM7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJhcmd1bWVudHMgLz0gMjA7Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IgJiYgYmxhaCA9PT0gYXJndW1lbnRzOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K",
"commentary":"",
"description":"Strict Mode - SyntaxError is thrown if the identifier arguments appear as the LeftHandSideExpression of a Compound Assignment operator(/=)",
"onlyStrict":"",
"path":"TestCases/ch11/11.13/11.13.2/11.13.2-6-13-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yLzExLjEzLjItNi0xNC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gaWYgdGhlIGlkZW50aWZpZXIgYXJndW1lbnRzIGFwcGVhciBhcyB0aGUgTGVmdEhhbmRTaWRlRXhwcmVzc2lvbiBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IoJT0pDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIGJsYWggPSBhcmd1bWVudHM7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJhcmd1bWVudHMgJT0gMjA7Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IgJiYgYmxhaCA9PT0gYXJndW1lbnRzOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K",
"commentary":"",
"description":"Strict Mode - SyntaxError is thrown if the identifier arguments appear as the LeftHandSideExpression of a Compound Assignment operator(%=)",
"onlyStrict":"",
"path":"TestCases/ch11/11.13/11.13.2/11.13.2-6-14-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yLzExLjEzLjItNi0xNS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gaWYgdGhlIGlkZW50aWZpZXIgYXJndW1lbnRzIGFwcGVhciBhcyB0aGUgTGVmdEhhbmRTaWRlRXhwcmVzc2lvbiBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IoKz0pDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIGJsYWggPSBhcmd1bWVudHM7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJhcmd1bWVudHMgKz0gMjA7Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IgJiYgYmxhaCA9PT0gYXJndW1lbnRzOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K",
"commentary":"",
"description":"Strict Mode - SyntaxError is thrown if the identifier arguments appear as the LeftHandSideExpression of a Compound Assignment operator(+=)",
"onlyStrict":"",
"path":"TestCases/ch11/11.13/11.13.2/11.13.2-6-15-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yLzExLjEzLjItNi0xNi1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gaWYgdGhlIGlkZW50aWZpZXIgYXJndW1lbnRzIGFwcGVhciBhcyB0aGUgTGVmdEhhbmRTaWRlRXhwcmVzc2lvbiBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IoLT0pDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIGJsYWggPSBhcmd1bWVudHM7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJhcmd1bWVudHMgLT0gMjA7Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IgJiYgYmxhaCA9PT0gYXJndW1lbnRzOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K",
"commentary":"",
"description":"Strict Mode - SyntaxError is thrown if the identifier arguments appear as the LeftHandSideExpression of a Compound Assignment operator(-=)",
"onlyStrict":"",
"path":"TestCases/ch11/11.13/11.13.2/11.13.2-6-16-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yLzExLjEzLjItNi0xNy1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gaWYgdGhlIGlkZW50aWZpZXIgYXJndW1lbnRzIGFwcGVhciBhcyB0aGUgTGVmdEhhbmRTaWRlRXhwcmVzc2lvbiBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IoPDw9KQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBibGFoID0gYXJndW1lbnRzOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgiYXJndW1lbnRzIDw8PSAyMDsiKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvciAmJiBibGFoID09PSBhcmd1bWVudHM7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=",
"commentary":"",
"description":"Strict Mode - SyntaxError is thrown if the identifier arguments appear as the LeftHandSideExpression of a Compound Assignment operator(<<=)",
"onlyStrict":"",
"path":"TestCases/ch11/11.13/11.13.2/11.13.2-6-17-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yLzExLjEzLjItNi0xOC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gaWYgdGhlIGlkZW50aWZpZXIgYXJndW1lbnRzIGFwcGVhciBhcyB0aGUgTGVmdEhhbmRTaWRlRXhwcmVzc2lvbiBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IoPj49KQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBibGFoID0gYXJndW1lbnRzOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgiYXJndW1lbnRzID4+PSAyMDsiKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvciAmJiBibGFoID09PSBhcmd1bWVudHM7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=",
"commentary":"",
"description":"Strict Mode - SyntaxError is thrown if the identifier arguments appear as the LeftHandSideExpression of a Compound Assignment operator(>>=)",
"onlyStrict":"",
"path":"TestCases/ch11/11.13/11.13.2/11.13.2-6-18-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yLzExLjEzLjItNi0xOS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gaWYgdGhlIGlkZW50aWZpZXIgYXJndW1lbnRzIGFwcGVhciBhcyB0aGUgTGVmdEhhbmRTaWRlRXhwcmVzc2lvbiBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IoPj4+PSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgYmxhaCA9IGFyZ3VtZW50czsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoImFyZ3VtZW50cyA+Pj49IDIwOyIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yICYmIGJsYWggPT09IGFyZ3VtZW50czsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==",
"commentary":"",
"description":"Strict Mode - SyntaxError is thrown if the identifier arguments appear as the LeftHandSideExpression of a Compound Assignment operator(>>>=)",
"onlyStrict":"",
"path":"TestCases/ch11/11.13/11.13.2/11.13.2-6-19-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yLzExLjEzLjItNi0xZ3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIHRocm93IGlmIHRoZSBpZGVudGlmaWVyIGV2YWwgYXBwZWFycyBhcyB0aGUgTGVmdEhhbmRTaWRlRXhwcmVzc2lvbiBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IoKj0pDQogKiBAb25seVN0cmljdA0KICogQG5lZ2F0aXZlIF4oKD8hTm90RWFybHlFcnJvcikuKSokDQogKi8NCg0KInVzZSBzdHJpY3QiOw0KdGhyb3cgTm90RWFybHlFcnJvcjsNCmV2YWwgKj0gMjA7DQo=",
"commentary":"",
"description":"Strict Mode - SyntaxError is throw if the identifier eval appears as the LeftHandSideExpression of a Compound Assignment operator(*=)",
"negative":"^((?!NotEarlyError).)*$",
"onlyStrict":"",
"path":"TestCases/ch11/11.13/11.13.2/11.13.2-6-1gs.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yLzExLjEzLjItNi0yLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIHRocm93biBpZiB0aGUgaWRlbnRpZmllciBldmFsIGFwcGVhciBhcyB0aGUgTGVmdEhhbmRTaWRlRXhwcmVzc2lvbiBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IoLz0pDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIGJsYWggPSBldmFsOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgiZXZhbCAvPSAyMDsiKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvciAmJiBibGFoID09PSBldmFsOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K",
"commentary":"",
"description":"Strict Mode - SyntaxError is thrown if the identifier eval appear as the LeftHandSideExpression of a Compound Assignment operator(/=)",
"onlyStrict":"",
"path":"TestCases/ch11/11.13/11.13.2/11.13.2-6-2-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yLzExLjEzLjItNi0yMC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gaWYgdGhlIGlkZW50aWZpZXIgYXJndW1lbnRzIGFwcGVhciBhcyB0aGUgTGVmdEhhbmRTaWRlRXhwcmVzc2lvbiBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IoJj0pDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIGJsYWggPSBhcmd1bWVudHM7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJhcmd1bWVudHMgJj0gMjA7Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IgJiYgYmxhaCA9PT0gYXJndW1lbnRzOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K",
"commentary":"",
"description":"Strict Mode - SyntaxError is thrown if the identifier arguments appear as the LeftHandSideExpression of a Compound Assignment operator(&=)",
"onlyStrict":"",
"path":"TestCases/ch11/11.13/11.13.2/11.13.2-6-20-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yLzExLjEzLjItNi0yMS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gaWYgdGhlIGlkZW50aWZpZXIgYXJndW1lbnRzIGFwcGVhciBhcyB0aGUgTGVmdEhhbmRTaWRlRXhwcmVzc2lvbiBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IoXj0pDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIGJsYWggPSBhcmd1bWVudHM7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJhcmd1bWVudHMgXj0gMjA7Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IgJiYgYmxhaCA9PT0gYXJndW1lbnRzOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K",
"commentary":"",
"description":"Strict Mode - SyntaxError is thrown if the identifier arguments appear as the LeftHandSideExpression of a Compound Assignment operator(^=)",
"onlyStrict":"",
"path":"TestCases/ch11/11.13/11.13.2/11.13.2-6-21-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yLzExLjEzLjItNi0yMi1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gaWYgdGhlIGlkZW50aWZpZXIgYXJndW1lbnRzIGFwcGVhciBhcyB0aGUgTGVmdEhhbmRTaWRlRXhwcmVzc2lvbiBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IofD0pDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIGJsYWggPSBhcmd1bWVudHM7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJhcmd1bWVudHMgfD0gMjA7Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IgJiYgYmxhaCA9PT0gYXJndW1lbnRzOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K",
"commentary":"",
"description":"Strict Mode - SyntaxError is thrown if the identifier arguments appear as the LeftHandSideExpression of a Compound Assignment operator(|=)",
"onlyStrict":"",
"path":"TestCases/ch11/11.13/11.13.2/11.13.2-6-22-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yLzExLjEzLjItNi0zLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIHRocm93biBpZiB0aGUgaWRlbnRpZmllciBldmFsIGFwcGVhciBhcyB0aGUgTGVmdEhhbmRTaWRlRXhwcmVzc2lvbiBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IoJT0pDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIGJsYWggPSBldmFsOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgiZXZhbCAlPSAyMDsiKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvciAmJiBibGFoID09PSBldmFsOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K",
"commentary":"",
"description":"Strict Mode - SyntaxError is thrown if the identifier eval appear as the LeftHandSideExpression of a Compound Assignment operator(%=)",
"onlyStrict":"",
"path":"TestCases/ch11/11.13/11.13.2/11.13.2-6-3-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yLzExLjEzLjItNi00LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIHRocm93biBpZiB0aGUgaWRlbnRpZmllciBldmFsIGFwcGVhciBhcyB0aGUgTGVmdEhhbmRTaWRlRXhwcmVzc2lvbiBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IoKz0pDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIGJsYWggPSBldmFsOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgiZXZhbCArPSAyMDsiKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvciAmJiBibGFoID09PSBldmFsOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K",
"commentary":"",
"description":"Strict Mode - SyntaxError is thrown if the identifier eval appear as the LeftHandSideExpression of a Compound Assignment operator(+=)",
"onlyStrict":"",
"path":"TestCases/ch11/11.13/11.13.2/11.13.2-6-4-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yLzExLjEzLjItNi01LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIHRocm93biBpZiB0aGUgaWRlbnRpZmllciBldmFsIGFwcGVhciBhcyB0aGUgTGVmdEhhbmRTaWRlRXhwcmVzc2lvbiBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IoLT0pDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIGJsYWggPSBldmFsOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgiZXZhbCAtPSAyMDsiKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvciAmJiBibGFoID09PSBldmFsOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K",
"commentary":"",
"description":"Strict Mode - SyntaxError is thrown if the identifier eval appear as the LeftHandSideExpression of a Compound Assignment operator(-=)",
"onlyStrict":"",
"path":"TestCases/ch11/11.13/11.13.2/11.13.2-6-5-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yLzExLjEzLjItNi02LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIHRocm93biBpZiB0aGUgaWRlbnRpZmllciBldmFsIGFwcGVhciBhcyB0aGUgTGVmdEhhbmRTaWRlRXhwcmVzc2lvbiBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IoPDw9KQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBibGFoID0gZXZhbDsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoImV2YWwgPDw9IDIwOyIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yICYmIGJsYWggPT09IGV2YWw7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=",
"commentary":"",
"description":"Strict Mode - SyntaxError is thrown if the identifier eval appear as the LeftHandSideExpression of a Compound Assignment operator(<<=)",
"onlyStrict":"",
"path":"TestCases/ch11/11.13/11.13.2/11.13.2-6-6-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yLzExLjEzLjItNi03LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIHRocm93biBpZiB0aGUgaWRlbnRpZmllciBldmFsIGFwcGVhciBhcyB0aGUgTGVmdEhhbmRTaWRlRXhwcmVzc2lvbiBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IoPj49KQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBibGFoID0gZXZhbDsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoImV2YWwgPj49IDIwOyIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yICYmIGJsYWggPT09IGV2YWw7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=",
"commentary":"",
"description":"Strict Mode - SyntaxError is thrown if the identifier eval appear as the LeftHandSideExpression of a Compound Assignment operator(>>=)",
"onlyStrict":"",
"path":"TestCases/ch11/11.13/11.13.2/11.13.2-6-7-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yLzExLjEzLjItNi04LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIHRocm93biBpZiB0aGUgaWRlbnRpZmllciBldmFsIGFwcGVhciBhcyB0aGUgTGVmdEhhbmRTaWRlRXhwcmVzc2lvbiBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IoPj4+PSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgYmxhaCA9IGV2YWw7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJldmFsID4+Pj0gMjA7Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IgJiYgYmxhaCA9PT0gZXZhbDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==",
"commentary":"",
"description":"Strict Mode - SyntaxError is thrown if the identifier eval appear as the LeftHandSideExpression of a Compound Assignment operator(>>>=)",
"onlyStrict":"",
"path":"TestCases/ch11/11.13/11.13.2/11.13.2-6-8-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yLzExLjEzLjItNi05LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIHRocm93biBpZiB0aGUgaWRlbnRpZmllciBldmFsIGFwcGVhciBhcyB0aGUgTGVmdEhhbmRTaWRlRXhwcmVzc2lvbiBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IoJj0pDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIGJsYWggPSBldmFsOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgiZXZhbCAmPSAyMDsiKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvciAmJiBibGFoID09PSBldmFsOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K",
"commentary":"",
"description":"Strict Mode - SyntaxError is thrown if the identifier eval appear as the LeftHandSideExpression of a Compound Assignment operator(&=)",
"onlyStrict":"",
"path":"TestCases/ch11/11.13/11.13.2/11.13.2-6-9-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yLzExLjEzLjItNi1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBSZWZlcmVuY2VFcnJvciBpcyB0aHJvd24gaWYgdGhlIExlZnRIYW5kU2lkZUV4cHJlc3Npb24gb2YgYSBDb21wb3VuZCBBc3NpZ25tZW50IG9wZXJhdG9yKDw8PSkgZXZhbHVhdGVzIHRvIGFuIHVucmVzb2x2YWJsZSByZWZlcmVuY2UNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgiXzExXzEzXzJfNiA8PD0gMTsiKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==",
"commentary":"",
"description":"Strict Mode - ReferenceError is thrown if the LeftHandSideExpression of a Compound Assignment operator(<<=) evaluates to an unresolvable reference",
"onlyStrict":"",
"path":"TestCases/ch11/11.13/11.13.2/11.13.2-6-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yLzExLjEzLjItNy1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBSZWZlcmVuY2VFcnJvciBpcyB0aHJvd24gaWYgdGhlIExlZnRIYW5kU2lkZUV4cHJlc3Npb24gb2YgYSBDb21wb3VuZCBBc3NpZ25tZW50IG9wZXJhdG9yKD4+PSkgZXZhbHVhdGVzIHRvIGFuIHVucmVzb2x2YWJsZSByZWZlcmVuY2UNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgiXzExXzEzXzJfNyA+Pj0gMTsiKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==",
"commentary":"",
"description":"Strict Mode - ReferenceError is thrown if the LeftHandSideExpression of a Compound Assignment operator(>>=) evaluates to an unresolvable reference",
"onlyStrict":"",
"path":"TestCases/ch11/11.13/11.13.2/11.13.2-7-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yLzExLjEzLjItOC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBSZWZlcmVuY2VFcnJvciBpcyB0aHJvd24gaWYgdGhlIExlZnRIYW5kU2lkZUV4cHJlc3Npb24gb2YgYSBDb21wb3VuZCBBc3NpZ25tZW50IG9wZXJhdG9yKD4+Pj0pIGV2YWx1YXRlcyB0byBhbiB1bnJlc29sdmFibGUgcmVmZXJlbmNlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoIl8xMV8xM18yXzggPj4+PSAxOyIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K",
"commentary":"",
"description":"Strict Mode - ReferenceError is thrown if the LeftHandSideExpression of a Compound Assignment operator(>>>=) evaluates to an unresolvable reference",
"onlyStrict":"",
"path":"TestCases/ch11/11.13/11.13.2/11.13.2-8-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yLzExLjEzLjItOS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBSZWZlcmVuY2VFcnJvciBpcyB0aHJvd24gaWYgdGhlIExlZnRIYW5kU2lkZUV4cHJlc3Npb24gb2YgYSBDb21wb3VuZCBBc3NpZ25tZW50IG9wZXJhdG9yKCY9KSBldmFsdWF0ZXMgdG8gYW4gdW5yZXNvbHZhYmxlIHJlZmVyZW5jZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJfMTFfMTNfMl85ICY9IDE7Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=",
"commentary":"",
"description":"Strict Mode - ReferenceError is thrown if the LeftHandSideExpression of a Compound Assignment operator(&=) evaluates to an unresolvable reference",
"onlyStrict":"",
"path":"TestCases/ch11/11.13/11.13.2/11.13.2-9-s.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gTGVmdEhhbmRTaWRlRXhwcmVzc2lvbiBhbmQgIkA9IiBvciBiZXR3ZWVuICJAPSIgYW5kIEFzc2lnbm1lbnRFeHByZXNzaW9uIGFyZSBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYnkgdXNpbmcgZXZhbCwgY2hlY2sgb3BlcmF0b3IgaXMgeCAqPSB5CiAqLwoKLy9DSEVDSyMxCnggPSAtMTsKaWYgKChldmFsKCJ4XHUwMDA5Kj1cdTAwMDktMSIpKSAhPT0gMSkgewogICRFUlJPUignIzE6IHggPSAtMTsgKHhcXHUwMDA5Kj1cXHUwMDA5LTEpID09PSAxJyk7Cn0KCi8vQ0hFQ0sjMgp4ID0gLTE7CmlmICgoZXZhbCgieFx1MDAwQio9XHUwMDBCLTEiKSkgIT09IDEpIHsKICAkRVJST1IoJyMyOiB4ID0gLTE7ICh4XFx1MDAwQio9XFx1MDAwQi0xKSA9PT0gMScpOyAgCn0KCi8vQ0hFQ0sjMwp4ID0gLTE7CmlmICgoZXZhbCgieFx1MDAwQyo9XHUwMDBDLTEiKSkgIT09IDEpIHsKICAkRVJST1IoJyMzOiB4ID0gLTE7ICh4XFx1MDAwQyo9XFx1MDAwQy0xKSA9PT0gMScpOwp9CgovL0NIRUNLIzQKeCA9IC0xOwppZiAoKGV2YWwoInhcdTAwMjAqPVx1MDAyMC0xIikpICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogeCA9IC0xOyAoeFxcdTAwMjAqPVxcdTAwMjAtMSkgPT09IDEnKTsKfQoKLy9DSEVDSyM1CnggPSAtMTsKaWYgKChldmFsKCJ4XHUwMEEwKj1cdTAwQTAtMSIpKSAhPT0gMSkgewogICRFUlJPUignIzU6IHggPSAtMTsgKHhcXHUwMEEwKj1cXHUwMEEwLTEpID09PSAxJyk7Cn0KCi8vQ0hFQ0sjNgp4ID0gLTE7CmlmICgoZXZhbCgieFx1MDAwQSo9XHUwMDBBLTEiKSkgIT09IDEpIHsKICAkRVJST1IoJyM2OiB4ID0gLTE7ICh4XFx1MDAwQSo9XFx1MDAwQS0xKSA9PT0gMScpOyAgCn0KCi8vQ0hFQ0sjNwp4ID0gLTE7CmlmICgoZXZhbCgieFx1MDAwRCo9XHUwMDBELTEiKSkgIT09IDEpIHsKICAkRVJST1IoJyM3OiB4ID0gLTE7ICh4XFx1MDAwRCo9XFx1MDAwRC0xKSA9PT0gMScpOwp9CgovL0NIRUNLIzgKeCA9IC0xOwppZiAoKGV2YWwoInhcdTIwMjgqPVx1MjAyOC0xIikpICE9PSAxKSB7CiAgJEVSUk9SKCcjODogeCA9IC0xOyAoeFxcdTIwMjgqPVxcdTIwMjgtMSkgPT09IDEnKTsKfQoKLy9DSEVDSyM5CnggPSAtMTsKaWYgKChldmFsKCJ4XHUyMDI5Kj1cdTIwMjktMSIpKSAhPT0gMSkgewogICRFUlJPUignIzk6IHggPSAtMTsgKHhcXHUyMDI5Kj1cXHUyMDI5LTEpID09PSAxJyk7Cn0KCgovL0NIRUNLIzEwCnggPSAtMTsKaWYgKChldmFsKCJ4XHUwMDA5XHUwMDBCXHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5Kj1cdTAwMDlcdTAwMEJcdTAwMENcdTAwMjBcdTAwQTBcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjktMSIpKSAhPT0gMSkgewogICRFUlJPUignIzEwOiB4ID0gLTE7ICh4XFx1MDAwOVxcdTAwMEJcXHUwMDBDXFx1MDAyMFxcdTAwQTBcXHUwMDBBXFx1MDAwRFxcdTIwMjhcXHUyMDI5Kj1cXHUwMDA5XFx1MDAwQlxcdTAwMENcXHUwMDIwXFx1MDBBMFxcdTAwMEFcXHUwMDBEXFx1MjAyOFxcdTIwMjktMSkgPT09IDEnKTsKfQoK",
"commentary":"White Space and Line Terminator between LeftHandSideExpression and \"@=\" or between \"@=\" and AssignmentExpression are allowed",
"description":"Checking by using eval, check operator is x *= y",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A1_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gTGVmdEhhbmRTaWRlRXhwcmVzc2lvbiBhbmQgIkA9IiBvciBiZXR3ZWVuICJAPSIgYW5kIEFzc2lnbm1lbnRFeHByZXNzaW9uIGFyZSBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMV9UMTAuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGJ5IHVzaW5nIGV2YWwsIGNoZWNrIG9wZXJhdG9yIGlzIHggXj0geQogKi8KCi8vQ0hFQ0sjMQp4ID0gMTsKaWYgKChldmFsKCJ4XHUwMDA5Xj1cdTAwMDkxIikpICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogeCA9IDE7ICh4XFx1MDAwOV49XFx1MDAwOTEpID09PSAwJyk7Cn0KCi8vQ0hFQ0sjMgp4ID0gMTsKaWYgKChldmFsKCJ4XHUwMDBCXj1cdTAwMEIxIikpICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogeCA9IDE7ICh4XFx1MDAwQl49XFx1MDAwQjEpID09PSAwJyk7ICAKfQoKLy9DSEVDSyMzCnggPSAxOwppZiAoKGV2YWwoInhcdTAwMENePVx1MDAwQzEiKSkgIT09IDApIHsKICAkRVJST1IoJyMzOiB4ID0gMTsgKHhcXHUwMDBDXj1cXHUwMDBDMSkgPT09IDAnKTsKfQoKLy9DSEVDSyM0CnggPSAxOwppZiAoKGV2YWwoInhcdTAwMjBePVx1MDAyMDEiKSkgIT09IDApIHsKICAkRVJST1IoJyM0OiB4ID0gMTsgKHhcXHUwMDIwXj1cXHUwMDIwMSkgPT09IDAnKTsKfQoKLy9DSEVDSyM1CnggPSAxOwppZiAoKGV2YWwoInhcdTAwQTBePVx1MDBBMDEiKSkgIT09IDApIHsKICAkRVJST1IoJyM1OiB4ID0gMTsgKHhcXHUwMEEwXj1cXHUwMEEwMSkgPT09IDAnKTsKfQoKLy9DSEVDSyM2CnggPSAxOwppZiAoKGV2YWwoInhcdTAwMEFePVx1MDAwQTEiKSkgIT09IDApIHsKICAkRVJST1IoJyM2OiB4ID0gMTsgKHhcXHUwMDBBXj1cXHUwMDBBMSkgPT09IDAnKTsgIAp9CgovL0NIRUNLIzcKeCA9IDE7CmlmICgoZXZhbCgieFx1MDAwRF49XHUwMDBEMSIpKSAhPT0gMCkgewogICRFUlJPUignIzc6IHggPSAxOyAoeFxcdTAwMERePVxcdTAwMEQxKSA9PT0gMCcpOwp9CgovL0NIRUNLIzgKeCA9IDE7CmlmICgoZXZhbCgieFx1MjAyOF49XHUyMDI4MSIpKSAhPT0gMCkgewogICRFUlJPUignIzg6IHggPSAxOyAoeFxcdTIwMjhePVxcdTIwMjgxKSA9PT0gMCcpOwp9CgovL0NIRUNLIzkKeCA9IDE7CmlmICgoZXZhbCgieFx1MjAyOV49XHUyMDI5MSIpKSAhPT0gMCkgewogICRFUlJPUignIzk6IHggPSAxOyAoeFxcdTIwMjlePVxcdTIwMjkxKSA9PT0gMCcpOwp9CgoKLy9DSEVDSyMxMAp4ID0gMTsKaWYgKChldmFsKCJ4XHUwMDA5XHUwMDBCXHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5Xj1cdTAwMDlcdTAwMEJcdTAwMENcdTAwMjBcdTAwQTBcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjkxIikpICE9PSAwKSB7CiAgJEVSUk9SKCcjMTA6IHggPSAxOyAoeFxcdTAwMDlcXHUwMDBCXFx1MDAwQ1xcdTAwMjBcXHUwMEEwXFx1MDAwQVxcdTAwMERcXHUyMDI4XFx1MjAyOV49XFx1MDAwOVxcdTAwMEJcXHUwMDBDXFx1MDAyMFxcdTAwQTBcXHUwMDBBXFx1MDAwRFxcdTIwMjhcXHUyMDI5MSkgPT09IDAnKTsKfQoK",
"commentary":"White Space and Line Terminator between LeftHandSideExpression and \"@=\" or between \"@=\" and AssignmentExpression are allowed",
"description":"Checking by using eval, check operator is x ^= y",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A1_T10.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gTGVmdEhhbmRTaWRlRXhwcmVzc2lvbiBhbmQgIkA9IiBvciBiZXR3ZWVuICJAPSIgYW5kIEFzc2lnbm1lbnRFeHByZXNzaW9uIGFyZSBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMV9UMTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGJ5IHVzaW5nIGV2YWwsIGNoZWNrIG9wZXJhdG9yIGlzIHggfD0geQogKi8KCi8vQ0hFQ0sjMQp4ID0gMDsKaWYgKChldmFsKCJ4XHUwMDA5fD1cdTAwMDkxIikpICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogeCA9IDA7ICh4XFx1MDAwOXw9XFx1MDAwOTEpID09PSAxJyk7Cn0KCi8vQ0hFQ0sjMgp4ID0gMDsKaWYgKChldmFsKCJ4XHUwMDBCfD1cdTAwMEIxIikpICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogeCA9IDA7ICh4XFx1MDAwQnw9XFx1MDAwQjEpID09PSAxJyk7ICAKfQoKLy9DSEVDSyMzCnggPSAwOwppZiAoKGV2YWwoInhcdTAwMEN8PVx1MDAwQzEiKSkgIT09IDEpIHsKICAkRVJST1IoJyMzOiB4ID0gMDsgKHhcXHUwMDBDfD1cXHUwMDBDMSkgPT09IDEnKTsKfQoKLy9DSEVDSyM0CnggPSAwOwppZiAoKGV2YWwoInhcdTAwMjB8PVx1MDAyMDEiKSkgIT09IDEpIHsKICAkRVJST1IoJyM0OiB4ID0gMDsgKHhcXHUwMDIwfD1cXHUwMDIwMSkgPT09IDEnKTsKfQoKLy9DSEVDSyM1CnggPSAwOwppZiAoKGV2YWwoInhcdTAwQTB8PVx1MDBBMDEiKSkgIT09IDEpIHsKICAkRVJST1IoJyM1OiB4ID0gMDsgKHhcXHUwMEEwfD1cXHUwMEEwMSkgPT09IDEnKTsKfQoKLy9DSEVDSyM2CnggPSAwOwppZiAoKGV2YWwoInhcdTAwMEF8PVx1MDAwQTEiKSkgIT09IDEpIHsKICAkRVJST1IoJyM2OiB4ID0gMDsgKHhcXHUwMDBBfD1cXHUwMDBBMSkgPT09IDEnKTsgIAp9CgovL0NIRUNLIzcKeCA9IDA7CmlmICgoZXZhbCgieFx1MDAwRHw9XHUwMDBEMSIpKSAhPT0gMSkgewogICRFUlJPUignIzc6IHggPSAwOyAoeFxcdTAwMER8PVxcdTAwMEQxKSA9PT0gMScpOwp9CgovL0NIRUNLIzgKeCA9IDA7CmlmICgoZXZhbCgieFx1MjAyOHw9XHUyMDI4MSIpKSAhPT0gMSkgewogICRFUlJPUignIzg6IHggPSAwOyAoeFxcdTIwMjh8PVxcdTIwMjgxKSA9PT0gMScpOwp9CgovL0NIRUNLIzkKeCA9IDA7CmlmICgoZXZhbCgieFx1MjAyOXw9XHUyMDI5MSIpKSAhPT0gMSkgewogICRFUlJPUignIzk6IHggPSAwOyAoeFxcdTIwMjl8PVxcdTIwMjkxKSA9PT0gMScpOwp9CgoKLy9DSEVDSyMxMAp4ID0gMDsKaWYgKChldmFsKCJ4XHUwMDA5XHUwMDBCXHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5fD1cdTAwMDlcdTAwMEJcdTAwMENcdTAwMjBcdTAwQTBcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjkxIikpICE9PSAxKSB7CiAgJEVSUk9SKCcjMTA6IHggPSAwOyAoeFxcdTAwMDlcXHUwMDBCXFx1MDAwQ1xcdTAwMjBcXHUwMEEwXFx1MDAwQVxcdTAwMERcXHUyMDI4XFx1MjAyOXw9XFx1MDAwOVxcdTAwMEJcXHUwMDBDXFx1MDAyMFxcdTAwQTBcXHUwMDBBXFx1MDAwRFxcdTIwMjhcXHUyMDI5MSkgPT09IDEnKTsKfQoK",
"commentary":"White Space and Line Terminator between LeftHandSideExpression and \"@=\" or between \"@=\" and AssignmentExpression are allowed",
"description":"Checking by using eval, check operator is x |= y",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A1_T11.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gTGVmdEhhbmRTaWRlRXhwcmVzc2lvbiBhbmQgIkA9IiBvciBiZXR3ZWVuICJAPSIgYW5kIEFzc2lnbm1lbnRFeHByZXNzaW9uIGFyZSBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYnkgdXNpbmcgZXZhbCwgY2hlY2sgb3BlcmF0b3IgaXMgeCAvPSB5CiAqLwoKLy9DSEVDSyMxCnggPSAtMTsKaWYgKChldmFsKCJ4XHUwMDA5Lz1cdTAwMDktMSIpKSAhPT0gMSkgewogICRFUlJPUignIzE6IHggPSAtMTsgKHhcXHUwMDA5Lz1cXHUwMDA5LTEpID09PSAxJyk7Cn0KCi8vQ0hFQ0sjMgp4ID0gLTE7CmlmICgoZXZhbCgieFx1MDAwQi89XHUwMDBCLTEiKSkgIT09IDEpIHsKICAkRVJST1IoJyMyOiB4ID0gLTE7ICh4XFx1MDAwQi89XFx1MDAwQi0xKSA9PT0gMScpOyAgCn0KCi8vQ0hFQ0sjMwp4ID0gLTE7CmlmICgoZXZhbCgieFx1MDAwQy89XHUwMDBDLTEiKSkgIT09IDEpIHsKICAkRVJST1IoJyMzOiB4ID0gLTE7ICh4XFx1MDAwQy89XFx1MDAwQy0xKSA9PT0gMScpOwp9CgovL0NIRUNLIzQKeCA9IC0xOwppZiAoKGV2YWwoInhcdTAwMjAvPVx1MDAyMC0xIikpICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogeCA9IC0xOyAoeFxcdTAwMjAvPVxcdTAwMjAtMSkgPT09IDEnKTsKfQoKLy9DSEVDSyM1CnggPSAtMTsKaWYgKChldmFsKCJ4XHUwMEEwLz1cdTAwQTAtMSIpKSAhPT0gMSkgewogICRFUlJPUignIzU6IHggPSAtMTsgKHhcXHUwMEEwLz1cXHUwMEEwLTEpID09PSAxJyk7Cn0KCi8vQ0hFQ0sjNgp4ID0gLTE7CmlmICgoZXZhbCgieFx1MDAwQS89XHUwMDBBLTEiKSkgIT09IDEpIHsKICAkRVJST1IoJyM2OiB4ID0gLTE7ICh4XFx1MDAwQS89XFx1MDAwQS0xKSA9PT0gMScpOyAgCn0KCi8vQ0hFQ0sjNwp4ID0gLTE7CmlmICgoZXZhbCgieFx1MDAwRC89XHUwMDBELTEiKSkgIT09IDEpIHsKICAkRVJST1IoJyM3OiB4ID0gLTE7ICh4XFx1MDAwRC89XFx1MDAwRC0xKSA9PT0gMScpOwp9CgovL0NIRUNLIzgKeCA9IC0xOwppZiAoKGV2YWwoInhcdTIwMjgvPVx1MjAyOC0xIikpICE9PSAxKSB7CiAgJEVSUk9SKCcjODogeCA9IC0xOyAoeFxcdTIwMjgvPVxcdTIwMjgtMSkgPT09IDEnKTsKfQoKLy9DSEVDSyM5CnggPSAtMTsKaWYgKChldmFsKCJ4XHUyMDI5Lz1cdTIwMjktMSIpKSAhPT0gMSkgewogICRFUlJPUignIzk6IHggPSAtMTsgKHhcXHUyMDI5Lz1cXHUyMDI5LTEpID09PSAxJyk7Cn0KCgovL0NIRUNLIzEwCnggPSAtMTsKaWYgKChldmFsKCJ4XHUwMDA5XHUwMDBCXHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5Lz1cdTAwMDlcdTAwMEJcdTAwMENcdTAwMjBcdTAwQTBcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjktMSIpKSAhPT0gMSkgewogICRFUlJPUignIzEwOiB4ID0gLTE7ICh4XFx1MDAwOVxcdTAwMEJcXHUwMDBDXFx1MDAyMFxcdTAwQTBcXHUwMDBBXFx1MDAwRFxcdTIwMjhcXHUyMDI5Lz1cXHUwMDA5XFx1MDAwQlxcdTAwMENcXHUwMDIwXFx1MDBBMFxcdTAwMEFcXHUwMDBEXFx1MjAyOFxcdTIwMjktMSkgPT09IDEnKTsKfQoK",
"commentary":"White Space and Line Terminator between LeftHandSideExpression and \"@=\" or between \"@=\" and AssignmentExpression are allowed",
"description":"Checking by using eval, check operator is x /= y",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A1_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gTGVmdEhhbmRTaWRlRXhwcmVzc2lvbiBhbmQgIkA9IiBvciBiZXR3ZWVuICJAPSIgYW5kIEFzc2lnbm1lbnRFeHByZXNzaW9uIGFyZSBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYnkgdXNpbmcgZXZhbCwgY2hlY2sgb3BlcmF0b3IgaXMgeCAlPSB5CiAqLwoKLy9DSEVDSyMxCnggPSAtMTsKaWYgKChldmFsKCJ4XHUwMDA5JT1cdTAwMDktMSIpKSAhPT0gMCkgewogICRFUlJPUignIzE6IHggPSAtMTsgKHhcXHUwMDA5JT1cXHUwMDA5LTEpID09PSAwJyk7Cn0KCi8vQ0hFQ0sjMgp4ID0gLTE7CmlmICgoZXZhbCgieFx1MDAwQiU9XHUwMDBCLTEiKSkgIT09IDApIHsKICAkRVJST1IoJyMyOiB4ID0gLTE7ICh4XFx1MDAwQiU9XFx1MDAwQi0xKSA9PT0gMCcpOyAgCn0KCi8vQ0hFQ0sjMwp4ID0gLTE7CmlmICgoZXZhbCgieFx1MDAwQyU9XHUwMDBDLTEiKSkgIT09IDApIHsKICAkRVJST1IoJyMzOiB4ID0gLTE7ICh4XFx1MDAwQyU9XFx1MDAwQy0xKSA9PT0gMCcpOwp9CgovL0NIRUNLIzQKeCA9IC0xOwppZiAoKGV2YWwoInhcdTAwMjAlPVx1MDAyMC0xIikpICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogeCA9IC0xOyAoeFxcdTAwMjAlPVxcdTAwMjAtMSkgPT09IDAnKTsKfQoKLy9DSEVDSyM1CnggPSAtMTsKaWYgKChldmFsKCJ4XHUwMEEwJT1cdTAwQTAtMSIpKSAhPT0gMCkgewogICRFUlJPUignIzU6IHggPSAtMTsgKHhcXHUwMEEwJT1cXHUwMEEwLTEpID09PSAwJyk7Cn0KCi8vQ0hFQ0sjNgp4ID0gLTE7CmlmICgoZXZhbCgieFx1MDAwQSU9XHUwMDBBLTEiKSkgIT09IDApIHsKICAkRVJST1IoJyM2OiB4ID0gLTE7ICh4XFx1MDAwQSU9XFx1MDAwQS0xKSA9PT0gMCcpOyAgCn0KCi8vQ0hFQ0sjNwp4ID0gLTE7CmlmICgoZXZhbCgieFx1MDAwRCU9XHUwMDBELTEiKSkgIT09IDApIHsKICAkRVJST1IoJyM3OiB4ID0gLTE7ICh4XFx1MDAwRCU9XFx1MDAwRC0xKSA9PT0gMCcpOwp9CgovL0NIRUNLIzgKeCA9IC0xOwppZiAoKGV2YWwoInhcdTIwMjglPVx1MjAyOC0xIikpICE9PSAwKSB7CiAgJEVSUk9SKCcjODogeCA9IC0xOyAoeFxcdTIwMjglPVxcdTIwMjgtMSkgPT09IDAnKTsKfQoKLy9DSEVDSyM5CnggPSAtMTsKaWYgKChldmFsKCJ4XHUyMDI5JT1cdTIwMjktMSIpKSAhPT0gMCkgewogICRFUlJPUignIzk6IHggPSAtMTsgKHhcXHUyMDI5JT1cXHUyMDI5LTEpID09PSAwJyk7Cn0KCgovL0NIRUNLIzEwCnggPSAtMTsKaWYgKChldmFsKCJ4XHUwMDA5XHUwMDBCXHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5JT1cdTAwMDlcdTAwMEJcdTAwMENcdTAwMjBcdTAwQTBcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjktMSIpKSAhPT0gMCkgewogICRFUlJPUignIzEwOiB4ID0gLTE7ICh4XFx1MDAwOVxcdTAwMEJcXHUwMDBDXFx1MDAyMFxcdTAwQTBcXHUwMDBBXFx1MDAwRFxcdTIwMjhcXHUyMDI5JT1cXHUwMDA5XFx1MDAwQlxcdTAwMENcXHUwMDIwXFx1MDBBMFxcdTAwMEFcXHUwMDBEXFx1MjAyOFxcdTIwMjktMSkgPT09IDAnKTsKfQoK",
"commentary":"White Space and Line Terminator between LeftHandSideExpression and \"@=\" or between \"@=\" and AssignmentExpression are allowed",
"description":"Checking by using eval, check operator is x %= y",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A1_T3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gTGVmdEhhbmRTaWRlRXhwcmVzc2lvbiBhbmQgIkA9IiBvciBiZXR3ZWVuICJAPSIgYW5kIEFzc2lnbm1lbnRFeHByZXNzaW9uIGFyZSBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMV9UNC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYnkgdXNpbmcgZXZhbCwgY2hlY2sgb3BlcmF0b3IgaXMgeCArPSB5CiAqLwoKLy9DSEVDSyMxCnggPSAtMTsKaWYgKChldmFsKCJ4XHUwMDA5Kz1cdTAwMDktMSIpKSAhPT0gLTIpIHsKICAkRVJST1IoJyMxOiB4ID0gLTE7ICh4XFx1MDAwOSs9XFx1MDAwOS0xKSA9PT0gLTInKTsKfQoKLy9DSEVDSyMyCnggPSAtMTsKaWYgKChldmFsKCJ4XHUwMDBCKz1cdTAwMEItMSIpKSAhPT0gLTIpIHsKICAkRVJST1IoJyMyOiB4ID0gLTE7ICh4XFx1MDAwQis9XFx1MDAwQi0xKSA9PT0gLTInKTsgIAp9CgovL0NIRUNLIzMKeCA9IC0xOwppZiAoKGV2YWwoInhcdTAwMEMrPVx1MDAwQy0xIikpICE9PSAtMikgewogICRFUlJPUignIzM6IHggPSAtMTsgKHhcXHUwMDBDKz1cXHUwMDBDLTEpID09PSAtMicpOwp9CgovL0NIRUNLIzQKeCA9IC0xOwppZiAoKGV2YWwoInhcdTAwMjArPVx1MDAyMC0xIikpICE9PSAtMikgewogICRFUlJPUignIzQ6IHggPSAtMTsgKHhcXHUwMDIwKz1cXHUwMDIwLTEpID09PSAtMicpOwp9CgovL0NIRUNLIzUKeCA9IC0xOwppZiAoKGV2YWwoInhcdTAwQTArPVx1MDBBMC0xIikpICE9PSAtMikgewogICRFUlJPUignIzU6IHggPSAtMTsgKHhcXHUwMEEwKz1cXHUwMEEwLTEpID09PSAtMicpOwp9CgovL0NIRUNLIzYKeCA9IC0xOwppZiAoKGV2YWwoInhcdTAwMEErPVx1MDAwQS0xIikpICE9PSAtMikgewogICRFUlJPUignIzY6IHggPSAtMTsgKHhcXHUwMDBBKz1cXHUwMDBBLTEpID09PSAtMicpOyAgCn0KCi8vQ0hFQ0sjNwp4ID0gLTE7CmlmICgoZXZhbCgieFx1MDAwRCs9XHUwMDBELTEiKSkgIT09IC0yKSB7CiAgJEVSUk9SKCcjNzogeCA9IC0xOyAoeFxcdTAwMEQrPVxcdTAwMEQtMSkgPT09IC0yJyk7Cn0KCi8vQ0hFQ0sjOAp4ID0gLTE7CmlmICgoZXZhbCgieFx1MjAyOCs9XHUyMDI4LTEiKSkgIT09IC0yKSB7CiAgJEVSUk9SKCcjODogeCA9IC0xOyAoeFxcdTIwMjgrPVxcdTIwMjgtMSkgPT09IC0yJyk7Cn0KCi8vQ0hFQ0sjOQp4ID0gLTE7CmlmICgoZXZhbCgieFx1MjAyOSs9XHUyMDI5LTEiKSkgIT09IC0yKSB7CiAgJEVSUk9SKCcjOTogeCA9IC0xOyAoeFxcdTIwMjkrPVxcdTIwMjktMSkgPT09IC0yJyk7Cn0KCgovL0NIRUNLIzEwCnggPSAtMTsKaWYgKChldmFsKCJ4XHUwMDA5XHUwMDBCXHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5Kz1cdTAwMDlcdTAwMEJcdTAwMENcdTAwMjBcdTAwQTBcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjktMSIpKSAhPT0gLTIpIHsKICAkRVJST1IoJyMxMDogeCA9IC0xOyAoeFxcdTAwMDlcXHUwMDBCXFx1MDAwQ1xcdTAwMjBcXHUwMEEwXFx1MDAwQVxcdTAwMERcXHUyMDI4XFx1MjAyOSs9XFx1MDAwOVxcdTAwMEJcXHUwMDBDXFx1MDAyMFxcdTAwQTBcXHUwMDBBXFx1MDAwRFxcdTIwMjhcXHUyMDI5LTEpID09PSAtMicpOwp9Cgo=",
"commentary":"White Space and Line Terminator between LeftHandSideExpression and \"@=\" or between \"@=\" and AssignmentExpression are allowed",
"description":"Checking by using eval, check operator is x += y",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A1_T4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gTGVmdEhhbmRTaWRlRXhwcmVzc2lvbiBhbmQgIkA9IiBvciBiZXR3ZWVuICJAPSIgYW5kIEFzc2lnbm1lbnRFeHByZXNzaW9uIGFyZSBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMV9UNS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYnkgdXNpbmcgZXZhbCwgY2hlY2sgb3BlcmF0b3IgaXMgeCAtPSB5CiAqLwoKLy9DSEVDSyMxCnggPSAtMTsKaWYgKChldmFsKCJ4XHUwMDA5LT1cdTAwMDkxIikpICE9PSAtMikgewogICRFUlJPUignIzE6IHggPSAtMTsgKHhcXHUwMDA5LT1cXHUwMDA5MSkgPT09IC0yJyk7Cn0KCi8vQ0hFQ0sjMgp4ID0gLTE7CmlmICgoZXZhbCgieFx1MDAwQi09XHUwMDBCMSIpKSAhPT0gLTIpIHsKICAkRVJST1IoJyMyOiB4ID0gLTE7ICh4XFx1MDAwQi09XFx1MDAwQjEpID09PSAtMicpOyAgCn0KCi8vQ0hFQ0sjMwp4ID0gLTE7CmlmICgoZXZhbCgieFx1MDAwQy09XHUwMDBDMSIpKSAhPT0gLTIpIHsKICAkRVJST1IoJyMzOiB4ID0gLTE7ICh4XFx1MDAwQy09XFx1MDAwQzEpID09PSAtMicpOwp9CgovL0NIRUNLIzQKeCA9IC0xOwppZiAoKGV2YWwoInhcdTAwMjAtPVx1MDAyMDEiKSkgIT09IC0yKSB7CiAgJEVSUk9SKCcjNDogeCA9IC0xOyAoeFxcdTAwMjAtPVxcdTAwMjAxKSA9PT0gLTInKTsKfQoKLy9DSEVDSyM1CnggPSAtMTsKaWYgKChldmFsKCJ4XHUwMEEwLT1cdTAwQTAxIikpICE9PSAtMikgewogICRFUlJPUignIzU6IHggPSAtMTsgKHhcXHUwMEEwLT1cXHUwMEEwMSkgPT09IC0yJyk7Cn0KCi8vQ0hFQ0sjNgp4ID0gLTE7CmlmICgoZXZhbCgieFx1MDAwQS09XHUwMDBBMSIpKSAhPT0gLTIpIHsKICAkRVJST1IoJyM2OiB4ID0gLTE7ICh4XFx1MDAwQS09XFx1MDAwQTEpID09PSAtMicpOyAgCn0KCi8vQ0hFQ0sjNwp4ID0gLTE7CmlmICgoZXZhbCgieFx1MDAwRC09XHUwMDBEMSIpKSAhPT0gLTIpIHsKICAkRVJST1IoJyM3OiB4ID0gLTE7ICh4XFx1MDAwRC09XFx1MDAwRDEpID09PSAtMicpOwp9CgovL0NIRUNLIzgKeCA9IC0xOwppZiAoKGV2YWwoInhcdTIwMjgtPVx1MjAyODEiKSkgIT09IC0yKSB7CiAgJEVSUk9SKCcjODogeCA9IC0xOyAoeFxcdTIwMjgtPVxcdTIwMjgxKSA9PT0gLTInKTsKfQoKLy9DSEVDSyM5CnggPSAtMTsKaWYgKChldmFsKCJ4XHUyMDI5LT1cdTIwMjkxIikpICE9PSAtMikgewogICRFUlJPUignIzk6IHggPSAtMTsgKHhcXHUyMDI5LT1cXHUyMDI5MSkgPT09IC0yJyk7Cn0KCgovL0NIRUNLIzEwCnggPSAtMTsKaWYgKChldmFsKCJ4XHUwMDA5XHUwMDBCXHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5LT1cdTAwMDlcdTAwMEJcdTAwMENcdTAwMjBcdTAwQTBcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjkxIikpICE9PSAtMikgewogICRFUlJPUignIzEwOiB4ID0gLTE7ICh4XFx1MDAwOVxcdTAwMEJcXHUwMDBDXFx1MDAyMFxcdTAwQTBcXHUwMDBBXFx1MDAwRFxcdTIwMjhcXHUyMDI5LT1cXHUwMDA5XFx1MDAwQlxcdTAwMENcXHUwMDIwXFx1MDBBMFxcdTAwMEFcXHUwMDBEXFx1MjAyOFxcdTIwMjkxKSA9PT0gLTInKTsKfQoK",
"commentary":"White Space and Line Terminator between LeftHandSideExpression and \"@=\" or between \"@=\" and AssignmentExpression are allowed",
"description":"Checking by using eval, check operator is x -= y",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A1_T5.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gTGVmdEhhbmRTaWRlRXhwcmVzc2lvbiBhbmQgIkA9IiBvciBiZXR3ZWVuICJAPSIgYW5kIEFzc2lnbm1lbnRFeHByZXNzaW9uIGFyZSBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMV9UNi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYnkgdXNpbmcgZXZhbCwgY2hlY2sgb3BlcmF0b3IgaXMgeCA8PD0geQogKi8KCi8vQ0hFQ0sjMQp4ID0gMTsKaWYgKChldmFsKCJ4XHUwMDA5PDw9XHUwMDA5MSIpKSAhPT0gMikgewogICRFUlJPUignIzE6IHggPSAxOyAoeFxcdTAwMDk8PD1cXHUwMDA5MSkgPT09IDInKTsKfQoKLy9DSEVDSyMyCnggPSAxOwppZiAoKGV2YWwoInhcdTAwMEI8PD1cdTAwMEIxIikpICE9PSAyKSB7CiAgJEVSUk9SKCcjMjogeCA9IDE7ICh4XFx1MDAwQjw8PVxcdTAwMEIxKSA9PT0gMicpOyAgCn0KCi8vQ0hFQ0sjMwp4ID0gMTsKaWYgKChldmFsKCJ4XHUwMDBDPDw9XHUwMDBDMSIpKSAhPT0gMikgewogICRFUlJPUignIzM6IHggPSAxOyAoeFxcdTAwMEM8PD1cXHUwMDBDMSkgPT09IDInKTsKfQoKLy9DSEVDSyM0CnggPSAxOwppZiAoKGV2YWwoInhcdTAwMjA8PD1cdTAwMjAxIikpICE9PSAyKSB7CiAgJEVSUk9SKCcjNDogeCA9IDE7ICh4XFx1MDAyMDw8PVxcdTAwMjAxKSA9PT0gMicpOwp9CgovL0NIRUNLIzUKeCA9IDE7CmlmICgoZXZhbCgieFx1MDBBMDw8PVx1MDBBMDEiKSkgIT09IDIpIHsKICAkRVJST1IoJyM1OiB4ID0gMTsgKHhcXHUwMEEwPDw9XFx1MDBBMDEpID09PSAyJyk7Cn0KCi8vQ0hFQ0sjNgp4ID0gMTsKaWYgKChldmFsKCJ4XHUwMDBBPDw9XHUwMDBBMSIpKSAhPT0gMikgewogICRFUlJPUignIzY6IHggPSAxOyAoeFxcdTAwMEE8PD1cXHUwMDBBMSkgPT09IDInKTsgIAp9CgovL0NIRUNLIzcKeCA9IDE7CmlmICgoZXZhbCgieFx1MDAwRDw8PVx1MDAwRDEiKSkgIT09IDIpIHsKICAkRVJST1IoJyM3OiB4ID0gMTsgKHhcXHUwMDBEPDw9XFx1MDAwRDEpID09PSAyJyk7Cn0KCi8vQ0hFQ0sjOAp4ID0gMTsKaWYgKChldmFsKCJ4XHUyMDI4PDw9XHUyMDI4MSIpKSAhPT0gMikgewogICRFUlJPUignIzg6IHggPSAxOyAoeFxcdTIwMjg8PD1cXHUyMDI4MSkgPT09IDInKTsKfQoKLy9DSEVDSyM5CnggPSAxOwppZiAoKGV2YWwoInhcdTIwMjk8PD1cdTIwMjkxIikpICE9PSAyKSB7CiAgJEVSUk9SKCcjOTogeCA9IDE7ICh4XFx1MjAyOTw8PVxcdTIwMjkxKSA9PT0gMicpOwp9CgoKLy9DSEVDSyMxMAp4ID0gMTsKaWYgKChldmFsKCJ4XHUwMDA5XHUwMDBCXHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5PDw9XHUwMDA5XHUwMDBCXHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5MSIpKSAhPT0gMikgewogICRFUlJPUignIzEwOiB4ID0gMTsgKHhcXHUwMDA5XFx1MDAwQlxcdTAwMENcXHUwMDIwXFx1MDBBMFxcdTAwMEFcXHUwMDBEXFx1MjAyOFxcdTIwMjk8PD1cXHUwMDA5XFx1MDAwQlxcdTAwMENcXHUwMDIwXFx1MDBBMFxcdTAwMEFcXHUwMDBEXFx1MjAyOFxcdTIwMjkxKSA9PT0gMicpOwp9Cgo=",
"commentary":"White Space and Line Terminator between LeftHandSideExpression and \"@=\" or between \"@=\" and AssignmentExpression are allowed",
"description":"Checking by using eval, check operator is x <<= y",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A1_T6.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gTGVmdEhhbmRTaWRlRXhwcmVzc2lvbiBhbmQgIkA9IiBvciBiZXR3ZWVuICJAPSIgYW5kIEFzc2lnbm1lbnRFeHByZXNzaW9uIGFyZSBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMV9UNy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYnkgdXNpbmcgZXZhbCwgY2hlY2sgb3BlcmF0b3IgaXMgeCA+Pj0geQogKi8KCi8vQ0hFQ0sjMQp4ID0gMTsKaWYgKChldmFsKCJ4XHUwMDA5Pj49XHUwMDA5MSIpKSAhPT0gMCkgewogICRFUlJPUignIzE6IHggPSAxOyAoeFxcdTAwMDk+Pj1cXHUwMDA5MSkgPT09IDAnKTsKfQoKLy9DSEVDSyMyCnggPSAxOwppZiAoKGV2YWwoInhcdTAwMEI+Pj1cdTAwMEIxIikpICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogeCA9IDE7ICh4XFx1MDAwQj4+PVxcdTAwMEIxKSA9PT0gMCcpOyAgCn0KCi8vQ0hFQ0sjMwp4ID0gMTsKaWYgKChldmFsKCJ4XHUwMDBDPj49XHUwMDBDMSIpKSAhPT0gMCkgewogICRFUlJPUignIzM6IHggPSAxOyAoeFxcdTAwMEM+Pj1cXHUwMDBDMSkgPT09IDAnKTsKfQoKLy9DSEVDSyM0CnggPSAxOwppZiAoKGV2YWwoInhcdTAwMjA+Pj1cdTAwMjAxIikpICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogeCA9IDE7ICh4XFx1MDAyMD4+PVxcdTAwMjAxKSA9PT0gMCcpOwp9CgovL0NIRUNLIzUKeCA9IDE7CmlmICgoZXZhbCgieFx1MDBBMD4+PVx1MDBBMDEiKSkgIT09IDApIHsKICAkRVJST1IoJyM1OiB4ID0gMTsgKHhcXHUwMEEwPj49XFx1MDBBMDEpID09PSAwJyk7Cn0KCi8vQ0hFQ0sjNgp4ID0gMTsKaWYgKChldmFsKCJ4XHUwMDBBPj49XHUwMDBBMSIpKSAhPT0gMCkgewogICRFUlJPUignIzY6IHggPSAxOyAoeFxcdTAwMEE+Pj1cXHUwMDBBMSkgPT09IDAnKTsgIAp9CgovL0NIRUNLIzcKeCA9IDE7CmlmICgoZXZhbCgieFx1MDAwRD4+PVx1MDAwRDEiKSkgIT09IDApIHsKICAkRVJST1IoJyM3OiB4ID0gMTsgKHhcXHUwMDBEPj49XFx1MDAwRDEpID09PSAwJyk7Cn0KCi8vQ0hFQ0sjOAp4ID0gMTsKaWYgKChldmFsKCJ4XHUyMDI4Pj49XHUyMDI4MSIpKSAhPT0gMCkgewogICRFUlJPUignIzg6IHggPSAxOyAoeFxcdTIwMjg+Pj1cXHUyMDI4MSkgPT09IDAnKTsKfQoKLy9DSEVDSyM5CnggPSAxOwppZiAoKGV2YWwoInhcdTIwMjk+Pj1cdTIwMjkxIikpICE9PSAwKSB7CiAgJEVSUk9SKCcjOTogeCA9IDE7ICh4XFx1MjAyOT4+PVxcdTIwMjkxKSA9PT0gMCcpOwp9CgoKLy9DSEVDSyMxMAp4ID0gMTsKaWYgKChldmFsKCJ4XHUwMDA5XHUwMDBCXHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5Pj49XHUwMDA5XHUwMDBCXHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5MSIpKSAhPT0gMCkgewogICRFUlJPUignIzEwOiB4ID0gMTsgKHhcXHUwMDA5XFx1MDAwQlxcdTAwMENcXHUwMDIwXFx1MDBBMFxcdTAwMEFcXHUwMDBEXFx1MjAyOFxcdTIwMjk+Pj1cXHUwMDA5XFx1MDAwQlxcdTAwMENcXHUwMDIwXFx1MDBBMFxcdTAwMEFcXHUwMDBEXFx1MjAyOFxcdTIwMjkxKSA9PT0gMCcpOwp9Cgo=",
"commentary":"White Space and Line Terminator between LeftHandSideExpression and \"@=\" or between \"@=\" and AssignmentExpression are allowed",
"description":"Checking by using eval, check operator is x >>= y",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A1_T7.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gTGVmdEhhbmRTaWRlRXhwcmVzc2lvbiBhbmQgIkA9IiBvciBiZXR3ZWVuICJAPSIgYW5kIEFzc2lnbm1lbnRFeHByZXNzaW9uIGFyZSBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMV9UOC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYnkgdXNpbmcgZXZhbCwgY2hlY2sgb3BlcmF0b3IgaXMgeCA+Pj49IHkKICovCgovL0NIRUNLIzEKeCA9IDE7CmlmICgoZXZhbCgieFx1MDAwOT4+Pj1cdTAwMDkxIikpICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogeCA9IDE7ICh4XFx1MDAwOT4+Pj1cXHUwMDA5MSkgPT09IDAnKTsKfQoKLy9DSEVDSyMyCnggPSAxOwppZiAoKGV2YWwoInhcdTAwMEI+Pj49XHUwMDBCMSIpKSAhPT0gMCkgewogICRFUlJPUignIzI6IHggPSAxOyAoeFxcdTAwMEI+Pj49XFx1MDAwQjEpID09PSAwJyk7ICAKfQoKLy9DSEVDSyMzCnggPSAxOwppZiAoKGV2YWwoInhcdTAwMEM+Pj49XHUwMDBDMSIpKSAhPT0gMCkgewogICRFUlJPUignIzM6IHggPSAxOyAoeFxcdTAwMEM+Pj49XFx1MDAwQzEpID09PSAwJyk7Cn0KCi8vQ0hFQ0sjNAp4ID0gMTsKaWYgKChldmFsKCJ4XHUwMDIwPj4+PVx1MDAyMDEiKSkgIT09IDApIHsKICAkRVJST1IoJyM0OiB4ID0gMTsgKHhcXHUwMDIwPj4+PVxcdTAwMjAxKSA9PT0gMCcpOwp9CgovL0NIRUNLIzUKeCA9IDE7CmlmICgoZXZhbCgieFx1MDBBMD4+Pj1cdTAwQTAxIikpICE9PSAwKSB7CiAgJEVSUk9SKCcjNTogeCA9IDE7ICh4XFx1MDBBMD4+Pj1cXHUwMEEwMSkgPT09IDAnKTsKfQoKLy9DSEVDSyM2CnggPSAxOwppZiAoKGV2YWwoInhcdTAwMEE+Pj49XHUwMDBBMSIpKSAhPT0gMCkgewogICRFUlJPUignIzY6IHggPSAxOyAoeFxcdTAwMEE+Pj49XFx1MDAwQTEpID09PSAwJyk7ICAKfQoKLy9DSEVDSyM3CnggPSAxOwppZiAoKGV2YWwoInhcdTAwMEQ+Pj49XHUwMDBEMSIpKSAhPT0gMCkgewogICRFUlJPUignIzc6IHggPSAxOyAoeFxcdTAwMEQ+Pj49XFx1MDAwRDEpID09PSAwJyk7Cn0KCi8vQ0hFQ0sjOAp4ID0gMTsKaWYgKChldmFsKCJ4XHUyMDI4Pj4+PVx1MjAyODEiKSkgIT09IDApIHsKICAkRVJST1IoJyM4OiB4ID0gMTsgKHhcXHUyMDI4Pj4+PVxcdTIwMjgxKSA9PT0gMCcpOwp9CgovL0NIRUNLIzkKeCA9IDE7CmlmICgoZXZhbCgieFx1MjAyOT4+Pj1cdTIwMjkxIikpICE9PSAwKSB7CiAgJEVSUk9SKCcjOTogeCA9IDE7ICh4XFx1MjAyOT4+Pj1cXHUyMDI5MSkgPT09IDAnKTsKfQoKCi8vQ0hFQ0sjMTAKeCA9IDE7CmlmICgoZXZhbCgieFx1MDAwOVx1MDAwQlx1MDAwQ1x1MDAyMFx1MDBBMFx1MDAwQVx1MDAwRFx1MjAyOFx1MjAyOT4+Pj1cdTAwMDlcdTAwMEJcdTAwMENcdTAwMjBcdTAwQTBcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjkxIikpICE9PSAwKSB7CiAgJEVSUk9SKCcjMTA6IHggPSAxOyAoeFxcdTAwMDlcXHUwMDBCXFx1MDAwQ1xcdTAwMjBcXHUwMEEwXFx1MDAwQVxcdTAwMERcXHUyMDI4XFx1MjAyOT4+Pj1cXHUwMDA5XFx1MDAwQlxcdTAwMENcXHUwMDIwXFx1MDBBMFxcdTAwMEFcXHUwMDBEXFx1MjAyOFxcdTIwMjkxKSA9PT0gMCcpOwp9Cgo=",
"commentary":"White Space and Line Terminator between LeftHandSideExpression and \"@=\" or between \"@=\" and AssignmentExpression are allowed",
"description":"Checking by using eval, check operator is x >>>= y",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A1_T8.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gTGVmdEhhbmRTaWRlRXhwcmVzc2lvbiBhbmQgIkA9IiBvciBiZXR3ZWVuICJAPSIgYW5kIEFzc2lnbm1lbnRFeHByZXNzaW9uIGFyZSBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMV9UOS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYnkgdXNpbmcgZXZhbCwgY2hlY2sgb3BlcmF0b3IgaXMgeCAmPSB5CiAqLwoKLy9DSEVDSyMxCnggPSAxOwppZiAoKGV2YWwoInhcdTAwMDkmPVx1MDAwOTEiKSkgIT09IDEpIHsKICAkRVJST1IoJyMxOiB4ID0gMTsgKHhcXHUwMDA5Jj1cXHUwMDA5MSkgPT09IDEnKTsKfQoKLy9DSEVDSyMyCnggPSAxOwppZiAoKGV2YWwoInhcdTAwMEImPVx1MDAwQjEiKSkgIT09IDEpIHsKICAkRVJST1IoJyMyOiB4ID0gMTsgKHhcXHUwMDBCJj1cXHUwMDBCMSkgPT09IDEnKTsgIAp9CgovL0NIRUNLIzMKeCA9IDE7CmlmICgoZXZhbCgieFx1MDAwQyY9XHUwMDBDMSIpKSAhPT0gMSkgewogICRFUlJPUignIzM6IHggPSAxOyAoeFxcdTAwMEMmPVxcdTAwMEMxKSA9PT0gMScpOwp9CgovL0NIRUNLIzQKeCA9IDE7CmlmICgoZXZhbCgieFx1MDAyMCY9XHUwMDIwMSIpKSAhPT0gMSkgewogICRFUlJPUignIzQ6IHggPSAxOyAoeFxcdTAwMjAmPVxcdTAwMjAxKSA9PT0gMScpOwp9CgovL0NIRUNLIzUKeCA9IDE7CmlmICgoZXZhbCgieFx1MDBBMCY9XHUwMEEwMSIpKSAhPT0gMSkgewogICRFUlJPUignIzU6IHggPSAxOyAoeFxcdTAwQTAmPVxcdTAwQTAxKSA9PT0gMScpOwp9CgovL0NIRUNLIzYKeCA9IDE7CmlmICgoZXZhbCgieFx1MDAwQSY9XHUwMDBBMSIpKSAhPT0gMSkgewogICRFUlJPUignIzY6IHggPSAxOyAoeFxcdTAwMEEmPVxcdTAwMEExKSA9PT0gMScpOyAgCn0KCi8vQ0hFQ0sjNwp4ID0gMTsKaWYgKChldmFsKCJ4XHUwMDBEJj1cdTAwMEQxIikpICE9PSAxKSB7CiAgJEVSUk9SKCcjNzogeCA9IDE7ICh4XFx1MDAwRCY9XFx1MDAwRDEpID09PSAxJyk7Cn0KCi8vQ0hFQ0sjOAp4ID0gMTsKaWYgKChldmFsKCJ4XHUyMDI4Jj1cdTIwMjgxIikpICE9PSAxKSB7CiAgJEVSUk9SKCcjODogeCA9IDE7ICh4XFx1MjAyOCY9XFx1MjAyODEpID09PSAxJyk7Cn0KCi8vQ0hFQ0sjOQp4ID0gMTsKaWYgKChldmFsKCJ4XHUyMDI5Jj1cdTIwMjkxIikpICE9PSAxKSB7CiAgJEVSUk9SKCcjOTogeCA9IDE7ICh4XFx1MjAyOSY9XFx1MjAyOTEpID09PSAxJyk7Cn0KCgovL0NIRUNLIzEwCnggPSAxOwppZiAoKGV2YWwoInhcdTAwMDlcdTAwMEJcdTAwMENcdTAwMjBcdTAwQTBcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjkmPVx1MDAwOVx1MDAwQlx1MDAwQ1x1MDAyMFx1MDBBMFx1MDAwQVx1MDAwRFx1MjAyOFx1MjAyOTEiKSkgIT09IDEpIHsKICAkRVJST1IoJyMxMDogeCA9IDE7ICh4XFx1MDAwOVxcdTAwMEJcXHUwMDBDXFx1MDAyMFxcdTAwQTBcXHUwMDBBXFx1MDAwRFxcdTIwMjhcXHUyMDI5Jj1cXHUwMDA5XFx1MDAwQlxcdTAwMENcXHUwMDIwXFx1MDBBMFxcdTAwMEFcXHUwMDBEXFx1MjAyOFxcdTIwMjkxKSA9PT0gMScpOwp9Cgo=",
"commentary":"White Space and Line Terminator between LeftHandSideExpression and \"@=\" or between \"@=\" and AssignmentExpression are allowed",
"description":"Checking by using eval, check operator is x &= y",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A1_T9.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4xX1QxLjEuanMKICogQGRlc2NyaXB0aW9uIEVpdGhlciBUeXBlIGlzIG5vdCBSZWZlcmVuY2Ugb3IgR2V0QmFzZSBpcyBub3QgbnVsbCwgY2hlY2sgb3BlYXJ0b3IgaXMgInggKj0geSIKICovCgovL0NIRUNLIzEKdmFyIHggPSAxOwp2YXIgeiA9ICh4ICo9IC0xKTsKaWYgKHogIT09IC0xKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSAxOyB2YXIgeiA9ICh4ICo9IC0xKTsgeiA9PT0gLTEuIEFjdHVhbDogJyArICh6KSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgeCA9IDE7CnZhciB5ID0gLTE7CnZhciB6ID0gKHggKj0geSk7CmlmICh6ICE9PSAtMSkgewogICRFUlJPUignIzI6IHZhciB4ID0gMTsgdmFyIHkgPSAtMTsgdmFyIHogPSAoeCAqPSB5KTsgeiA9PT0gLTEuIEFjdHVhbDogJyArICh6KSk7Cn0KCgo=",
"commentary":"Operator uses GetValue",
"description":"Either Type is not Reference or GetBase is not null, check opeartor is \"x *= y\"",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.1_T1.1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4xX1QxLjEwLmpzCiAqIEBkZXNjcmlwdGlvbiBFaXRoZXIgVHlwZSBpcyBub3QgUmVmZXJlbmNlIG9yIEdldEJhc2UgaXMgbm90IG51bGwsIGNoZWNrIG9wZWFydG9yIGlzICJ4IF49IHkiCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gMTsKdmFyIHogPSAoeCBePSAxKTsKaWYgKHogIT09IDApIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IDE7IHZhciB6ID0gKHggXj0gMSk7IHogPT09IDAuIEFjdHVhbDogJyArICh6KSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgeCA9IDE7CnZhciB5ID0gMTsKdmFyIHogPSAoeCBePSB5KTsKaWYgKHogIT09IDApIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IDE7IHZhciB5ID0gMTsgdmFyIHogPSAoeCBePSB5KTsgeiA9PT0gMC4gQWN0dWFsOiAnICsgKHopKTsKfQoKCg==",
"commentary":"Operator uses GetValue",
"description":"Either Type is not Reference or GetBase is not null, check opeartor is \"x ^= y\"",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.1_T1.10.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4xX1QxLjExLmpzCiAqIEBkZXNjcmlwdGlvbiBFaXRoZXIgVHlwZSBpcyBub3QgUmVmZXJlbmNlIG9yIEdldEJhc2UgaXMgbm90IG51bGwsIGNoZWNrIG9wZWFydG9yIGlzICJ4IHw9IHkiCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gMDsKdmFyIHogPSAoeCB8PSAxKTsKaWYgKHogIT09IDEpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IDA7IHZhciB6ID0gKHggfD0gMSk7IHogPT09IDEuIEFjdHVhbDogJyArICh6KSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgeCA9IDA7CnZhciB5ID0gMTsKdmFyIHogPSAoeCB8PSB5KTsKaWYgKHogIT09IDEpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IDA7IHZhciB5ID0gMTsgdmFyIHogPSAoeCB8PSB5KTsgeiA9PT0gMS4gQWN0dWFsOiAnICsgKHopKTsKfQoKCg==",
"commentary":"Operator uses GetValue",
"description":"Either Type is not Reference or GetBase is not null, check opeartor is \"x |= y\"",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.1_T1.11.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4xX1QxLjIuanMKICogQGRlc2NyaXB0aW9uIEVpdGhlciBUeXBlIGlzIG5vdCBSZWZlcmVuY2Ugb3IgR2V0QmFzZSBpcyBub3QgbnVsbCwgY2hlY2sgb3BlYXJ0b3IgaXMgInggLz0geSIKICovCgovL0NIRUNLIzEKdmFyIHggPSAxOwp2YXIgeiA9ICh4IC89IC0xKTsKaWYgKHogIT09IC0xKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSAxOyB2YXIgeiA9ICh4IC89IC0xKTsgeiA9PT0gLTEuIEFjdHVhbDogJyArICh6KSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgeCA9IDE7CnZhciB5ID0gLTE7CnZhciB6ID0gKHggLz0geSk7CmlmICh6ICE9PSAtMSkgewogICRFUlJPUignIzI6IHZhciB4ID0gMTsgdmFyIHkgPSAtMTsgdmFyIHogPSAoeCAvPSB5KTsgeiA9PT0gLTEuIEFjdHVhbDogJyArICh6KSk7Cn0KCgo=",
"commentary":"Operator uses GetValue",
"description":"Either Type is not Reference or GetBase is not null, check opeartor is \"x /= y\"",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.1_T1.2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4xX1QxLjMuanMKICogQGRlc2NyaXB0aW9uIEVpdGhlciBUeXBlIGlzIG5vdCBSZWZlcmVuY2Ugb3IgR2V0QmFzZSBpcyBub3QgbnVsbCwgY2hlY2sgb3BlYXJ0b3IgaXMgInggJT0geSIKICovCgovL0NIRUNLIzEKdmFyIHggPSAtMTsKdmFyIHogPSAoeCAlPSAyKTsKaWYgKHogIT09IC0xKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSAtMTsgdmFyIHogPSAoeCAlPSAyKTsgeiA9PT0gLTEuIEFjdHVhbDogJyArICh6KSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgeCA9IC0xOwp2YXIgeSA9IDI7CnZhciB6ID0gKHggJT0geSk7CmlmICh6ICE9PSAtMSkgewogICRFUlJPUignIzI6IHZhciB4ID0gLTE7IHZhciB5ID0gMjsgdmFyIHogPSAoeCAlPSB5KTsgeiA9PT0gLTEuIEFjdHVhbDogJyArICh6KSk7Cn0KCgo=",
"commentary":"Operator uses GetValue",
"description":"Either Type is not Reference or GetBase is not null, check opeartor is \"x %= y\"",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.1_T1.3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4xX1QxLjQuanMKICogQGRlc2NyaXB0aW9uIEVpdGhlciBUeXBlIGlzIG5vdCBSZWZlcmVuY2Ugb3IgR2V0QmFzZSBpcyBub3QgbnVsbCwgY2hlY2sgb3BlYXJ0b3IgaXMgInggKz0geSIKICovCgovL0NIRUNLIzEKdmFyIHggPSAxOwp2YXIgeiA9ICh4ICs9IDEpOwppZiAoeiAhPT0gMikgewogICRFUlJPUignIzE6IHZhciB4ID0gMTsgdmFyIHogPSAoeCArPSAxKTsgeiA9PT0gMi4gQWN0dWFsOiAnICsgKHopKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gMTsKdmFyIHkgPSAxOwp2YXIgeiA9ICh4ICs9IHkpOwppZiAoeiAhPT0gMikgewogICRFUlJPUignIzI6IHZhciB4ID0gMTsgdmFyIHkgPSAxOyB2YXIgeiA9ICh4ICs9IHkpOyB6ID09PSAyLiBBY3R1YWw6ICcgKyAoeikpOwp9CgoK",
"commentary":"Operator uses GetValue",
"description":"Either Type is not Reference or GetBase is not null, check opeartor is \"x += y\"",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.1_T1.4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4xX1QxLjUuanMKICogQGRlc2NyaXB0aW9uIEVpdGhlciBUeXBlIGlzIG5vdCBSZWZlcmVuY2Ugb3IgR2V0QmFzZSBpcyBub3QgbnVsbCwgY2hlY2sgb3BlYXJ0b3IgaXMgInggLT0geSIKICovCgovL0NIRUNLIzEKdmFyIHggPSAxOwp2YXIgeiA9ICh4IC09IDEpOwppZiAoeiAhPT0gMCkgewogICRFUlJPUignIzE6IHZhciB4ID0gMTsgdmFyIHogPSAoeCAtPSAxKTsgeiA9PT0gMC4gQWN0dWFsOiAnICsgKHopKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gMTsKdmFyIHkgPSAxOwp2YXIgeiA9ICh4IC09IHkpOwppZiAoeiAhPT0gMCkgewogICRFUlJPUignIzI6IHZhciB4ID0gMTsgdmFyIHkgPSAxOyB2YXIgeiA9ICh4IC09IHkpOyB6ID09PSAwLiBBY3R1YWw6ICcgKyAoeikpOwp9CgoK",
"commentary":"Operator uses GetValue",
"description":"Either Type is not Reference or GetBase is not null, check opeartor is \"x -= y\"",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.1_T1.5.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4xX1QxLjYuanMKICogQGRlc2NyaXB0aW9uIEVpdGhlciBUeXBlIGlzIG5vdCBSZWZlcmVuY2Ugb3IgR2V0QmFzZSBpcyBub3QgbnVsbCwgY2hlY2sgb3BlYXJ0b3IgaXMgInggPDw9IHkiCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gMTsKdmFyIHogPSAoeCA8PD0gMSk7CmlmICh6ICE9PSAyKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSAxOyB2YXIgeiA9ICh4IDw8PSAxKTsgeiA9PT0gMi4gQWN0dWFsOiAnICsgKHopKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gMTsKdmFyIHkgPSAxOwp2YXIgeiA9ICh4IDw8PSB5KTsKaWYgKHogIT09IDIpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IDE7IHZhciB5ID0gMTsgdmFyIHogPSAoeCA8PD0geSk7IHogPT09IDIuIEFjdHVhbDogJyArICh6KSk7Cn0KCgo=",
"commentary":"Operator uses GetValue",
"description":"Either Type is not Reference or GetBase is not null, check opeartor is \"x <<= y\"",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.1_T1.6.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4xX1QxLjcuanMKICogQGRlc2NyaXB0aW9uIEVpdGhlciBUeXBlIGlzIG5vdCBSZWZlcmVuY2Ugb3IgR2V0QmFzZSBpcyBub3QgbnVsbCwgY2hlY2sgb3BlYXJ0b3IgaXMgInggPj49IHkiCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gNDsKdmFyIHogPSAoeCA+Pj0gMSk7CmlmICh6ICE9PSAyKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSA0OyB2YXIgeiA9ICh4ID4+PSAxKTsgeiA9PT0gMi4gQWN0dWFsOiAnICsgKHopKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gNDsKdmFyIHkgPSAxOwp2YXIgeiA9ICh4ID4+PSB5KTsKaWYgKHogIT09IDIpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IDQ7IHZhciB5ID0gMTsgdmFyIHogPSAoeCA+Pj0geSk7IHogPT09IDIuIEFjdHVhbDogJyArICh6KSk7Cn0KCgo=",
"commentary":"Operator uses GetValue",
"description":"Either Type is not Reference or GetBase is not null, check opeartor is \"x >>= y\"",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.1_T1.7.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4xX1QxLjguanMKICogQGRlc2NyaXB0aW9uIEVpdGhlciBUeXBlIGlzIG5vdCBSZWZlcmVuY2Ugb3IgR2V0QmFzZSBpcyBub3QgbnVsbCwgY2hlY2sgb3BlYXJ0b3IgaXMgInggPj4+PSB5IgogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IDQ7CnZhciB6ID0gKHggPj4+PSAxKTsKaWYgKHogIT09IDIpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IDQ7IHZhciB6ID0gKHggPj4+PSAxKTsgeiA9PT0gMi4gQWN0dWFsOiAnICsgKHopKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gNDsKdmFyIHkgPSAxOwp2YXIgeiA9ICh4ID4+Pj0geSk7CmlmICh6ICE9PSAyKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSA0OyB2YXIgeSA9IDE7IHZhciB6ID0gKHggPj4+PSB5KTsgeiA9PT0gMi4gQWN0dWFsOiAnICsgKHopKTsKfQoKCg==",
"commentary":"Operator uses GetValue",
"description":"Either Type is not Reference or GetBase is not null, check opeartor is \"x >>>= y\"",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.1_T1.8.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4xX1QxLjkuanMKICogQGRlc2NyaXB0aW9uIEVpdGhlciBUeXBlIGlzIG5vdCBSZWZlcmVuY2Ugb3IgR2V0QmFzZSBpcyBub3QgbnVsbCwgY2hlY2sgb3BlYXJ0b3IgaXMgInggJj0geSIKICovCgovL0NIRUNLIzEKdmFyIHggPSAxOwp2YXIgeiA9ICh4ICY9IDEpOwppZiAoeiAhPT0gMSkgewogICRFUlJPUignIzE6IHZhciB4ID0gMTsgdmFyIHogPSAoeCAmPSAxKTsgeiA9PT0gMS4gQWN0dWFsOiAnICsgKHopKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gMTsKdmFyIHkgPSAxOwp2YXIgeiA9ICh4ICY9IHkpOwppZiAoeiAhPT0gMSkgewogICRFUlJPUignIzI6IHZhciB4ID0gMTsgdmFyIHkgPSAxOyB2YXIgeiA9ICh4ICY9IHkpOyB6ID09PSAxLiBBY3R1YWw6ICcgKyAoeikpOwp9CgoK",
"commentary":"Operator uses GetValue",
"description":"Either Type is not Reference or GetBase is not null, check opeartor is \"x &= y\"",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.1_T1.9.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4xX1QyLjEuanMKICogQGRlc2NyaXB0aW9uIElmIEdldEJhc2UoQXNzaWdtZW50RXhwcmVzc2lvbikgaXMgbnVsbCwgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIENoZWNrIG9wZXJhdG9yIGlzICJ4ICo9IHkiCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgdmFyIHggPSAxOwogIHZhciB6ID0gKHggKj0geSk7CiAgJEVSUk9SKCcjMS4xOiB2YXIgeCA9IDE7IHggKj0geSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHopKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IHZhciB4ID0gMTsgeCAqPSB5IHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9Cgo=",
"commentary":"Operator uses GetValue",
"description":"If GetBase(AssigmentExpression) is null, throw ReferenceError. Check operator is \"x *= y\"",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.1_T2.1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4xX1QyLjEwLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBHZXRCYXNlKEFzc2lnbWVudEV4cHJlc3Npb24pIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yLiBDaGVjayBvcGVyYXRvciBpcyAieCBePSB5IgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHZhciB4ID0gMTsKICB2YXIgeiA9ICh4IF49IHkpOwogICRFUlJPUignIzEuMTogdmFyIHggPSAxOyB4IF49IHkgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArICh6KSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiB2YXIgeCA9IDE7IHggXj0geSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoK",
"commentary":"Operator uses GetValue",
"description":"If GetBase(AssigmentExpression) is null, throw ReferenceError. Check operator is \"x ^= y\"",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.1_T2.10.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4xX1QyLjExLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBHZXRCYXNlKEFzc2lnbWVudEV4cHJlc3Npb24pIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yLiBDaGVjayBvcGVyYXRvciBpcyAieCB8PSB5IgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHZhciB4ID0gMTsKICB2YXIgeiA9ICh4IHw9IHkpOwogICRFUlJPUignIzEuMTogdmFyIHggPSAxOyB4IHw9IHkgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArICh6KSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiB2YXIgeCA9IDE7IHggfD0geSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoK",
"commentary":"Operator uses GetValue",
"description":"If GetBase(AssigmentExpression) is null, throw ReferenceError. Check operator is \"x |= y\"",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.1_T2.11.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4xX1QyLjIuanMKICogQGRlc2NyaXB0aW9uIElmIEdldEJhc2UoQXNzaWdtZW50RXhwcmVzc2lvbikgaXMgbnVsbCwgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIENoZWNrIG9wZXJhdG9yIGlzICJ4IC89IHkiCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgdmFyIHggPSAxOwogIHZhciB6ID0gKHggLz0geSk7CiAgJEVSUk9SKCcjMS4xOiB2YXIgeCA9IDE7IHggLz0geSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHopKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IHZhciB4ID0gMTsgeCAvPSB5IHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9Cgo=",
"commentary":"Operator uses GetValue",
"description":"If GetBase(AssigmentExpression) is null, throw ReferenceError. Check operator is \"x /= y\"",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.1_T2.2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4xX1QyLjMuanMKICogQGRlc2NyaXB0aW9uIElmIEdldEJhc2UoQXNzaWdtZW50RXhwcmVzc2lvbikgaXMgbnVsbCwgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIENoZWNrIG9wZXJhdG9yIGlzICJ4ICU9IHkiCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgdmFyIHggPSAxOwogIHZhciB6ID0gKHggJT0geSk7CiAgJEVSUk9SKCcjMS4xOiB2YXIgeCA9IDE7IHggJT0geSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHopKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IHZhciB4ID0gMTsgeCAlPSB5IHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9Cgo=",
"commentary":"Operator uses GetValue",
"description":"If GetBase(AssigmentExpression) is null, throw ReferenceError. Check operator is \"x %= y\"",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.1_T2.3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4xX1QyLjQuanMKICogQGRlc2NyaXB0aW9uIElmIEdldEJhc2UoQXNzaWdtZW50RXhwcmVzc2lvbikgaXMgbnVsbCwgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIENoZWNrIG9wZXJhdG9yIGlzICJ4ICs9IHkiCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgdmFyIHggPSAxOwogIHZhciB6ID0gKHggKz0geSk7CiAgJEVSUk9SKCcjMS4xOiB2YXIgeCA9IDE7IHggKz0geSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHopKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IHZhciB4ID0gMTsgeCArPSB5IHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9Cgo=",
"commentary":"Operator uses GetValue",
"description":"If GetBase(AssigmentExpression) is null, throw ReferenceError. Check operator is \"x += y\"",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.1_T2.4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4xX1QyLjUuanMKICogQGRlc2NyaXB0aW9uIElmIEdldEJhc2UoQXNzaWdtZW50RXhwcmVzc2lvbikgaXMgbnVsbCwgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIENoZWNrIG9wZXJhdG9yIGlzICJ4IC09IHkiCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgdmFyIHggPSAxOwogIHZhciB6ID0gKHggLT0geSk7CiAgJEVSUk9SKCcjMS4xOiB2YXIgeCA9IDE7IHggLT0geSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHopKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IHZhciB4ID0gMTsgeCAtPSB5IHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9Cgo=",
"commentary":"Operator uses GetValue",
"description":"If GetBase(AssigmentExpression) is null, throw ReferenceError. Check operator is \"x -= y\"",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.1_T2.5.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4xX1QyLjYuanMKICogQGRlc2NyaXB0aW9uIElmIEdldEJhc2UoQXNzaWdtZW50RXhwcmVzc2lvbikgaXMgbnVsbCwgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIENoZWNrIG9wZXJhdG9yIGlzICJ4IDw8PSB5IgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHZhciB4ID0gMTsKICB2YXIgeiA9ICh4IDw8PSB5KTsKICAkRVJST1IoJyMxLjE6IHZhciB4ID0gMTsgeCA8PD0geSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHopKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IHZhciB4ID0gMTsgeCA8PD0geSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoK",
"commentary":"Operator uses GetValue",
"description":"If GetBase(AssigmentExpression) is null, throw ReferenceError. Check operator is \"x <<= y\"",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.1_T2.6.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4xX1QyLjcuanMKICogQGRlc2NyaXB0aW9uIElmIEdldEJhc2UoQXNzaWdtZW50RXhwcmVzc2lvbikgaXMgbnVsbCwgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIENoZWNrIG9wZXJhdG9yIGlzICJ4ID4+PSB5IgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHZhciB4ID0gMTsKICB2YXIgeiA9ICh4ID4+PSB5KTsKICAkRVJST1IoJyMxLjE6IHZhciB4ID0gMTsgeCA+Pj0geSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHopKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IHZhciB4ID0gMTsgeCA+Pj0geSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoK",
"commentary":"Operator uses GetValue",
"description":"If GetBase(AssigmentExpression) is null, throw ReferenceError. Check operator is \"x >>= y\"",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.1_T2.7.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4xX1QyLjguanMKICogQGRlc2NyaXB0aW9uIElmIEdldEJhc2UoQXNzaWdtZW50RXhwcmVzc2lvbikgaXMgbnVsbCwgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIENoZWNrIG9wZXJhdG9yIGlzICJ4ID4+Pj0geSIKICovCgovL0NIRUNLIzEKdHJ5IHsKICB2YXIgeCA9IDE7CiAgdmFyIHogPSAoeCA+Pj49IHkpOwogICRFUlJPUignIzEuMTogdmFyIHggPSAxOyB4ID4+Pj0geSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHopKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IHZhciB4ID0gMTsgeCA+Pj49IHkgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7ICAKICB9Cn0KCg==",
"commentary":"Operator uses GetValue",
"description":"If GetBase(AssigmentExpression) is null, throw ReferenceError. Check operator is \"x >>>= y\"",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.1_T2.8.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4xX1QyLjkuanMKICogQGRlc2NyaXB0aW9uIElmIEdldEJhc2UoQXNzaWdtZW50RXhwcmVzc2lvbikgaXMgbnVsbCwgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIENoZWNrIG9wZXJhdG9yIGlzICJ4ICY9IHkiCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgdmFyIHggPSAxOwogIHZhciB6ID0gKHggJj0geSk7CiAgJEVSUk9SKCcjMS4xOiB2YXIgeCA9IDE7IHggJj0geSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHopKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IHZhciB4ID0gMTsgeCAmPSB5IHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9Cgo=",
"commentary":"Operator uses GetValue",
"description":"If GetBase(AssigmentExpression) is null, throw ReferenceError. Check operator is \"x &= y\"",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.1_T2.9.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4xX1QzLjEuanMKICogQGRlc2NyaXB0aW9uIElmIEdldEJhc2UoTGVmdEhhbmRTaWRlRXhwcmVzc2lvbikgaXMgbnVsbCwgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIENoZWNrIG9wZXJhdG9yIGlzICJ4ICo9IHkiCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgdmFyIHogPSAoeCAqPSAxKTsKICAkRVJST1IoJyMxLjE6IHggKj0gMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHopKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IHggKj0gMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoK",
"commentary":"Operator uses GetValue",
"description":"If GetBase(LeftHandSideExpression) is null, throw ReferenceError. Check operator is \"x *= y\"",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.1_T3.1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4xX1QzLjEwLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBHZXRCYXNlKExlZnRIYW5kU2lkZUV4cHJlc3Npb24pIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yLiBDaGVjayBvcGVyYXRvciBpcyAieCBePSB5IgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHZhciB6ID0gKHggXj0gMSk7CiAgJEVSUk9SKCcjMS4xOiB4IF49IDEgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArICh6KSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiB4IF49IDEgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7ICAKICB9Cn0KCg==",
"commentary":"Operator uses GetValue",
"description":"If GetBase(LeftHandSideExpression) is null, throw ReferenceError. Check operator is \"x ^= y\"",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.1_T3.10.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4xX1QzLjExLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBHZXRCYXNlKExlZnRIYW5kU2lkZUV4cHJlc3Npb24pIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yLiBDaGVjayBvcGVyYXRvciBpcyAieCB8PSB5IgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHZhciB6ID0gKHggfD0gMSk7CiAgJEVSUk9SKCcjMS4xOiB4IHw9IDEgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArICh6KSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiB4IHw9IDEgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7ICAKICB9Cn0KCg==",
"commentary":"Operator uses GetValue",
"description":"If GetBase(LeftHandSideExpression) is null, throw ReferenceError. Check operator is \"x |= y\"",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.1_T3.11.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4xX1QzLjIuanMKICogQGRlc2NyaXB0aW9uIElmIEdldEJhc2UoTGVmdEhhbmRTaWRlRXhwcmVzc2lvbikgaXMgbnVsbCwgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIENoZWNrIG9wZXJhdG9yIGlzICJ4IC89IHkiCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgdmFyIHogPSAoeCAvPSAxKTsKICAkRVJST1IoJyMxLjE6IHggLz0gMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHopKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IHggLz0gMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoK",
"commentary":"Operator uses GetValue",
"description":"If GetBase(LeftHandSideExpression) is null, throw ReferenceError. Check operator is \"x /= y\"",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.1_T3.2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4xX1QzLjMuanMKICogQGRlc2NyaXB0aW9uIElmIEdldEJhc2UoTGVmdEhhbmRTaWRlRXhwcmVzc2lvbikgaXMgbnVsbCwgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIENoZWNrIG9wZXJhdG9yIGlzICJ4ICU9IHkiCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgdmFyIHogPSAoeCAlPSAxKTsKICAkRVJST1IoJyMxLjE6IHggJT0gMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHopKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IHggJT0gMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoK",
"commentary":"Operator uses GetValue",
"description":"If GetBase(LeftHandSideExpression) is null, throw ReferenceError. Check operator is \"x %= y\"",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.1_T3.3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4xX1QzLjQuanMKICogQGRlc2NyaXB0aW9uIElmIEdldEJhc2UoTGVmdEhhbmRTaWRlRXhwcmVzc2lvbikgaXMgbnVsbCwgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIENoZWNrIG9wZXJhdG9yIGlzICJ4ICs9IHkiCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgdmFyIHogPSAoeCArPSAxKTsKICAkRVJST1IoJyMxLjE6IHggKz0gMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHopKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IHggKz0gMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoK",
"commentary":"Operator uses GetValue",
"description":"If GetBase(LeftHandSideExpression) is null, throw ReferenceError. Check operator is \"x += y\"",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.1_T3.4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4xX1QzLjUuanMKICogQGRlc2NyaXB0aW9uIElmIEdldEJhc2UoTGVmdEhhbmRTaWRlRXhwcmVzc2lvbikgaXMgbnVsbCwgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIENoZWNrIG9wZXJhdG9yIGlzICJ4IC09IHkiCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgdmFyIHogPSAoeCAtPSAxKTsKICAkRVJST1IoJyMxLjE6IHggLT0gMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHopKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IHggLT0gMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoK",
"commentary":"Operator uses GetValue",
"description":"If GetBase(LeftHandSideExpression) is null, throw ReferenceError. Check operator is \"x -= y\"",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.1_T3.5.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4xX1QzLjYuanMKICogQGRlc2NyaXB0aW9uIElmIEdldEJhc2UoTGVmdEhhbmRTaWRlRXhwcmVzc2lvbikgaXMgbnVsbCwgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIENoZWNrIG9wZXJhdG9yIGlzICJ4IDw8PSB5IgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHZhciB6ID0gKHggPDw9IDEpOwogICRFUlJPUignIzEuMTogeCA8PD0gMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHopKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IHggPDw9IDEgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7ICAKICB9Cn0KCg==",
"commentary":"Operator uses GetValue",
"description":"If GetBase(LeftHandSideExpression) is null, throw ReferenceError. Check operator is \"x <<= y\"",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.1_T3.6.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4xX1QzLjcuanMKICogQGRlc2NyaXB0aW9uIElmIEdldEJhc2UoTGVmdEhhbmRTaWRlRXhwcmVzc2lvbikgaXMgbnVsbCwgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIENoZWNrIG9wZXJhdG9yIGlzICJ4ID4+PSB5IgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHZhciB6ID0gKHggPj49IDEpOwogICRFUlJPUignIzEuMTogeCA+Pj0gMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHopKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IHggPj49IDEgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7ICAKICB9Cn0KCg==",
"commentary":"Operator uses GetValue",
"description":"If GetBase(LeftHandSideExpression) is null, throw ReferenceError. Check operator is \"x >>= y\"",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.1_T3.7.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4xX1QzLjguanMKICogQGRlc2NyaXB0aW9uIElmIEdldEJhc2UoTGVmdEhhbmRTaWRlRXhwcmVzc2lvbikgaXMgbnVsbCwgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIENoZWNrIG9wZXJhdG9yIGlzICJ4ID4+Pj0geSIKICovCgovL0NIRUNLIzEKdHJ5IHsKICB2YXIgeiA9ICh4ID4+Pj0gMSk7CiAgJEVSUk9SKCcjMS4xOiB4ID4+Pj0gMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHopKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IHggPj4+PSAxIHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9Cgo=",
"commentary":"Operator uses GetValue",
"description":"If GetBase(LeftHandSideExpression) is null, throw ReferenceError. Check operator is \"x >>>= y\"",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.1_T3.8.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4xX1QzLjkuanMKICogQGRlc2NyaXB0aW9uIElmIEdldEJhc2UoTGVmdEhhbmRTaWRlRXhwcmVzc2lvbikgaXMgbnVsbCwgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIENoZWNrIG9wZXJhdG9yIGlzICJ4ICY9IHkiCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgdmFyIHogPSAoeCAmPSAxKTsKICAkRVJST1IoJyMxLjE6IHggJj0gMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHopKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IHggJj0gMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoK",
"commentary":"Operator uses GetValue",
"description":"If GetBase(LeftHandSideExpression) is null, throw ReferenceError. Check operator is \"x &= y\"",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.1_T3.9.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIFB1dFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4yX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBUeXBlKExlZnRIYW5kU2lkZUV4cHJlc3Npb24pIGlzIG5vdCBSZWZlcmVuY2UsIHRocm93IFJlZmVyZW5jZUVycm9yIChvciBTeW50YXhFcnJvcikuIENoZWNrIG9wZXJhdG9yIGlzICJ4ICo9IHkiCiAqIEBuZWdhdGl2ZQogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHZhciB6ID0gKDEgKj0gMSk7CiAgJEVSUk9SKCcjMS4xOiAxICo9IDEgdGhyb3cgUmVmZXJlbmNlRXJyb3IgKG9yIFN5bnRheEVycm9yKS4gQWN0dWFsOiAnICsgKHopKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IDEgKj0gMSB0aHJvdyBSZWZlcmVuY2VFcnJvciAob3IgU3ludGF4RXJyb3IpLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfSBlbHNlIHsKICAgIHZhciB6ID0gKDEgKj0gMSk7CiAgfQp9Cgo=",
"commentary":"Operator uses PutValue",
"description":"If Type(LeftHandSideExpression) is not Reference, throw ReferenceError (or SyntaxError). Check operator is \"x *= y\"",
"negative":"",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.2_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIFB1dFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4yX1QxMC5qcwogKiBAZGVzY3JpcHRpb24gSWYgVHlwZShMZWZ0SGFuZFNpZGVFeHByZXNzaW9uKSBpcyBub3QgUmVmZXJlbmNlLCB0aHJvdyBSZWZlcmVuY2VFcnJvciAob3IgU3ludGF4RXJyb3IpLiBDaGVjayBvcGVyYXRvciBpcyAieCBePSB5IgogKiBAbmVnYXRpdmUKICovCgovL0NIRUNLIzEKdHJ5IHsKICB2YXIgeiA9ICgxIF49IDEpOwogICRFUlJPUignIzEuMTogMSBePSAxIHRocm93IFJlZmVyZW5jZUVycm9yIChvciBTeW50YXhFcnJvcikuIEFjdHVhbDogJyArICh6KSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiAxIF49IDEgdGhyb3cgUmVmZXJlbmNlRXJyb3IgKG9yIFN5bnRheEVycm9yKS4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0gZWxzZSB7CiAgICB2YXIgeiA9ICgxIF49IDEpOwogIH0KfQoK",
"commentary":"Operator uses PutValue",
"description":"If Type(LeftHandSideExpression) is not Reference, throw ReferenceError (or SyntaxError). Check operator is \"x ^= y\"",
"negative":"",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.2_T10.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIFB1dFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4yX1QxMS5qcwogKiBAZGVzY3JpcHRpb24gSWYgVHlwZShMZWZ0SGFuZFNpZGVFeHByZXNzaW9uKSBpcyBub3QgUmVmZXJlbmNlLCB0aHJvdyBSZWZlcmVuY2VFcnJvciAob3IgU3ludGF4RXJyb3IpLiBDaGVjayBvcGVyYXRvciBpcyAieCB8PSB5IgogKiBAbmVnYXRpdmUKICovCgovL0NIRUNLIzEKdHJ5IHsKICB2YXIgeiA9ICgxIHw9IDEpOwogICRFUlJPUignIzEuMTogMSB8PSAxIHRocm93IFJlZmVyZW5jZUVycm9yIChvciBTeW50YXhFcnJvcikuIEFjdHVhbDogJyArICh6KSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiAxIHw9IDEgdGhyb3cgUmVmZXJlbmNlRXJyb3IgKG9yIFN5bnRheEVycm9yKS4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0gZWxzZSB7CiAgICB2YXIgeiA9ICgxIHw9IDEpOwogIH0KfQoK",
"commentary":"Operator uses PutValue",
"description":"If Type(LeftHandSideExpression) is not Reference, throw ReferenceError (or SyntaxError). Check operator is \"x |= y\"",
"negative":"",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.2_T11.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIFB1dFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4yX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBUeXBlKExlZnRIYW5kU2lkZUV4cHJlc3Npb24pIGlzIG5vdCBSZWZlcmVuY2UsIHRocm93IFJlZmVyZW5jZUVycm9yIChvciBTeW50YXhFcnJvcikuIENoZWNrIG9wZXJhdG9yIGlzICJ4IC89IHkiCiAqIEBuZWdhdGl2ZQogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHZhciB6ID0gKDEgLz0gMSk7CiAgJEVSUk9SKCcjMS4xOiAxIC89IDEgdGhyb3cgUmVmZXJlbmNlRXJyb3IgKG9yIFN5bnRheEVycm9yKS4gQWN0dWFsOiAnICsgKHopKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IDEgLz0gMSB0aHJvdyBSZWZlcmVuY2VFcnJvciAob3IgU3ludGF4RXJyb3IpLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfSBlbHNlIHsKICAgIHZhciB6ID0gKDEgLz0gMSk7CiAgfQp9Cgo=",
"commentary":"Operator uses PutValue",
"description":"If Type(LeftHandSideExpression) is not Reference, throw ReferenceError (or SyntaxError). Check operator is \"x /= y\"",
"negative":"",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.2_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIFB1dFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4yX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBUeXBlKExlZnRIYW5kU2lkZUV4cHJlc3Npb24pIGlzIG5vdCBSZWZlcmVuY2UsIHRocm93IFJlZmVyZW5jZUVycm9yIChvciBTeW50YXhFcnJvcikuIENoZWNrIG9wZXJhdG9yIGlzICJ4ICU9IHkiCiAqIEBuZWdhdGl2ZQogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHZhciB6ID0gKDEgJT0gMSk7CiAgJEVSUk9SKCcjMS4xOiAxICU9IDEgdGhyb3cgUmVmZXJlbmNlRXJyb3IgKG9yIFN5bnRheEVycm9yKS4gQWN0dWFsOiAnICsgKHopKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IDEgJT0gMSB0aHJvdyBSZWZlcmVuY2VFcnJvciAob3IgU3ludGF4RXJyb3IpLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfSBlbHNlIHsKICAgIHZhciB6ID0gKDEgJT0gMSk7CiAgfQp9Cgo=",
"commentary":"Operator uses PutValue",
"description":"If Type(LeftHandSideExpression) is not Reference, throw ReferenceError (or SyntaxError). Check operator is \"x %= y\"",
"negative":"",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.2_T3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIFB1dFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4yX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBUeXBlKExlZnRIYW5kU2lkZUV4cHJlc3Npb24pIGlzIG5vdCBSZWZlcmVuY2UsIHRocm93IFJlZmVyZW5jZUVycm9yIChvciBTeW50YXhFcnJvcikuIENoZWNrIG9wZXJhdG9yIGlzICJ4ICs9IHkiCiAqIEBuZWdhdGl2ZQogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHZhciB6ID0gKDEgKz0gMSk7CiAgJEVSUk9SKCcjMS4xOiAxICs9IDEgdGhyb3cgUmVmZXJlbmNlRXJyb3IgKG9yIFN5bnRheEVycm9yKS4gQWN0dWFsOiAnICsgKHopKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IDEgKz0gMSB0aHJvdyBSZWZlcmVuY2VFcnJvciAob3IgU3ludGF4RXJyb3IpLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfSBlbHNlIHsKICAgIHZhciB6ID0gKDEgKz0gMSk7CiAgfQp9Cgo=",
"commentary":"Operator uses PutValue",
"description":"If Type(LeftHandSideExpression) is not Reference, throw ReferenceError (or SyntaxError). Check operator is \"x += y\"",
"negative":"",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.2_T4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIFB1dFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4yX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBUeXBlKExlZnRIYW5kU2lkZUV4cHJlc3Npb24pIGlzIG5vdCBSZWZlcmVuY2UsIHRocm93IFJlZmVyZW5jZUVycm9yIChvciBTeW50YXhFcnJvcikuIENoZWNrIG9wZXJhdG9yIGlzICJ4IC09IHkiCiAqIEBuZWdhdGl2ZQogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHZhciB6ID0gKDEgLT0gMSk7CiAgJEVSUk9SKCcjMS4xOiAxIC09IDEgdGhyb3cgUmVmZXJlbmNlRXJyb3IgKG9yIFN5bnRheEVycm9yKS4gQWN0dWFsOiAnICsgKHopKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IDEgLT0gMSB0aHJvdyBSZWZlcmVuY2VFcnJvciAob3IgU3ludGF4RXJyb3IpLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfSBlbHNlIHsKICAgIHZhciB6ID0gKDEgLT0gMSk7CiAgfQp9Cgo=",
"commentary":"Operator uses PutValue",
"description":"If Type(LeftHandSideExpression) is not Reference, throw ReferenceError (or SyntaxError). Check operator is \"x -= y\"",
"negative":"",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.2_T5.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIFB1dFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4yX1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBUeXBlKExlZnRIYW5kU2lkZUV4cHJlc3Npb24pIGlzIG5vdCBSZWZlcmVuY2UsIHRocm93IFJlZmVyZW5jZUVycm9yIChvciBTeW50YXhFcnJvcikuIENoZWNrIG9wZXJhdG9yIGlzICJ4IDw8PSB5IgogKiBAbmVnYXRpdmUKICovCgovL0NIRUNLIzEKdHJ5IHsKICB2YXIgeiA9ICgxIDw8PSAxKTsKICAkRVJST1IoJyMxLjE6IDEgPDw9IDEgdGhyb3cgUmVmZXJlbmNlRXJyb3IgKG9yIFN5bnRheEVycm9yKS4gQWN0dWFsOiAnICsgKHopKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IDEgPDw9IDEgdGhyb3cgUmVmZXJlbmNlRXJyb3IgKG9yIFN5bnRheEVycm9yKS4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0gZWxzZSB7CiAgICB2YXIgeiA9ICgxIDw8PSAxKTsKICB9Cn0KCg==",
"commentary":"Operator uses PutValue",
"description":"If Type(LeftHandSideExpression) is not Reference, throw ReferenceError (or SyntaxError). Check operator is \"x <<= y\"",
"negative":"",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.2_T6.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIFB1dFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4yX1Q3LmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBUeXBlKExlZnRIYW5kU2lkZUV4cHJlc3Npb24pIGlzIG5vdCBSZWZlcmVuY2UsIHRocm93IFJlZmVyZW5jZUVycm9yIChvciBTeW50YXhFcnJvcikuIENoZWNrIG9wZXJhdG9yIGlzICJ4ID4+PSB5IgogKiBAbmVnYXRpdmUKICovCgovL0NIRUNLIzEKdHJ5IHsKICB2YXIgeiA9ICgxID4+PSAxKTsKICAkRVJST1IoJyMxLjE6IDEgPj49IDEgdGhyb3cgUmVmZXJlbmNlRXJyb3IgKG9yIFN5bnRheEVycm9yKS4gQWN0dWFsOiAnICsgKHopKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IDEgPj49IDEgdGhyb3cgUmVmZXJlbmNlRXJyb3IgKG9yIFN5bnRheEVycm9yKS4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0gZWxzZSB7CiAgICB2YXIgeiA9ICgxID4+PSAxKTsKICB9Cn0KCg==",
"commentary":"Operator uses PutValue",
"description":"If Type(LeftHandSideExpression) is not Reference, throw ReferenceError (or SyntaxError). Check operator is \"x >>= y\"",
"negative":"",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.2_T7.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIFB1dFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4yX1Q4LmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBUeXBlKExlZnRIYW5kU2lkZUV4cHJlc3Npb24pIGlzIG5vdCBSZWZlcmVuY2UsIHRocm93IFJlZmVyZW5jZUVycm9yIChvciBTeW50YXhFcnJvcikuIENoZWNrIG9wZXJhdG9yIGlzICJ4ID4+Pj0geSIKICogQG5lZ2F0aXZlCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgdmFyIHogPSAoMSA+Pj49IDEpOwogICRFUlJPUignIzEuMTogMSA+Pj49IDEgdGhyb3cgUmVmZXJlbmNlRXJyb3IgKG9yIFN5bnRheEVycm9yKS4gQWN0dWFsOiAnICsgKHopKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IDEgPj4+PSAxIHRocm93IFJlZmVyZW5jZUVycm9yIChvciBTeW50YXhFcnJvcikuIEFjdHVhbDogJyArIChlKSk7ICAKICB9IGVsc2UgewogICAgdmFyIHogPSAoMSA+Pj49IDEpOwogIH0KfQoK",
"commentary":"Operator uses PutValue",
"description":"If Type(LeftHandSideExpression) is not Reference, throw ReferenceError (or SyntaxError). Check operator is \"x >>>= y\"",
"negative":"",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.2_T8.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIFB1dFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4yX1Q5LmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBUeXBlKExlZnRIYW5kU2lkZUV4cHJlc3Npb24pIGlzIG5vdCBSZWZlcmVuY2UsIHRocm93IFJlZmVyZW5jZUVycm9yIChvciBTeW50YXhFcnJvcikuIENoZWNrIG9wZXJhdG9yIGlzICJ4ICY9IHkiCiAqIEBuZWdhdGl2ZQogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHZhciB6ID0gKDEgJj0gMSk7CiAgJEVSUk9SKCcjMS4xOiAxICY9IDEgdGhyb3cgUmVmZXJlbmNlRXJyb3IgKG9yIFN5bnRheEVycm9yKS4gQWN0dWFsOiAnICsgKHopKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IDEgJj0gMSB0aHJvdyBSZWZlcmVuY2VFcnJvciAob3IgU3ludGF4RXJyb3IpLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfSBlbHNlIHsKICAgIHZhciB6ID0gKDEgJj0gMSk7CiAgfQp9Cgo=",
"commentary":"Operator uses PutValue",
"description":"If Type(LeftHandSideExpression) is not Reference, throw ReferenceError (or SyntaxError). Check operator is \"x &= y\"",
"negative":"",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.2_T9.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IEA9IHkgdXNlcyBQdXRWYWx1ZSh4LCB4IEAgeSkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0EzLjFfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIEV4cHJlc3Npb24gYW5kIFZhcmlhYmxlIHN0YXRlbWVudHMgZm9yIHggKj0geQogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IDE7CnggKj0gLTE7IAppZiAoeCAhPT0gLTEpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IDE7IHggKj0gLTE7IHggPT09IC0xLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeSA9IDE7CnkgKj0gLTE7CmlmICh5ICE9PSAtMSkgewogICRFUlJPUignIzI6IHkgPSAxOyB5ICo9IC0xOyB5ID09PSAtMS4gQWN0dWFsOiAnICsgKHkpKTsKfQoK",
"commentary":"Operator x @= y uses PutValue(x, x @ y)",
"description":"Checking Expression and Variable statements for x *= y",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A3.1_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IEA9IHkgdXNlcyBQdXRWYWx1ZSh4LCB4IEAgeSkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0EzLjFfVDEwLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBFeHByZXNzaW9uIGFuZCBWYXJpYWJsZSBzdGF0ZW1lbnRzIGZvciB4IF49IHkKICovCgovL0NIRUNLIzEKdmFyIHggPSAwOwp4IF49IDE7IAppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzE6IHZhciB4ID0gMDsgeCBePSAxOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeSA9IDE7CnkgXj0gMDsKaWYgKHkgIT09IDEpIHsKICAkRVJST1IoJyMyOiB5ID0gMTsgeSBePSAwOyB5ID09PSAxLiBBY3R1YWw6ICcgKyAoeSkpOwp9Cgo=",
"commentary":"Operator x @= y uses PutValue(x, x @ y)",
"description":"Checking Expression and Variable statements for x ^= y",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A3.1_T10.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IEA9IHkgdXNlcyBQdXRWYWx1ZSh4LCB4IEAgeSkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0EzLjFfVDExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBFeHByZXNzaW9uIGFuZCBWYXJpYWJsZSBzdGF0ZW1lbnRzIGZvciB4IHw9IHkKICovCgovL0NIRUNLIzEKdmFyIHggPSAwOwp4IHw9IDE7IAppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzE6IHZhciB4ID0gMDsgeCB8PSAxOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeSA9IDE7CnkgfD0gMDsKaWYgKHkgIT09IDEpIHsKICAkRVJST1IoJyMyOiB5ID0gMTsgeSB8PSAwOyB5ID09PSAxLiBBY3R1YWw6ICcgKyAoeSkpOwp9Cgo=",
"commentary":"Operator x @= y uses PutValue(x, x @ y)",
"description":"Checking Expression and Variable statements for x |= y",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A3.1_T11.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IEA9IHkgdXNlcyBQdXRWYWx1ZSh4LCB4IEAgeSkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0EzLjFfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIEV4cHJlc3Npb24gYW5kIFZhcmlhYmxlIHN0YXRlbWVudHMgZm9yIHggLz0geQogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IDE7CnggLz0gLTE7IAppZiAoeCAhPT0gLTEpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IDE7IHggLz0gLTE7IHggPT09IC0xLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeSA9IDE7CnkgLz0gLTE7CmlmICh5ICE9PSAtMSkgewogICRFUlJPUignIzI6IHkgPSAxOyB5IC89IC0xOyB5ID09PSAtMS4gQWN0dWFsOiAnICsgKHkpKTsKfQoK",
"commentary":"Operator x @= y uses PutValue(x, x @ y)",
"description":"Checking Expression and Variable statements for x /= y",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A3.1_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IEA9IHkgdXNlcyBQdXRWYWx1ZSh4LCB4IEAgeSkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0EzLjFfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIEV4cHJlc3Npb24gYW5kIFZhcmlhYmxlIHN0YXRlbWVudHMgZm9yIHggJT0geQogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IC0xOwp4ICU9IDI7IAppZiAoeCAhPT0gLTEpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IC0xOyB4ICU9IDI7IHggPT09IC0xLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeSA9IC0xOwp5ICU9IDI7CmlmICh5ICE9PSAtMSkgewogICRFUlJPUignIzI6IHkgPSAtMTsgeSAlPSAyOyB5ID09PSAtMS4gQWN0dWFsOiAnICsgKHkpKTsKfQoK",
"commentary":"Operator x @= y uses PutValue(x, x @ y)",
"description":"Checking Expression and Variable statements for x %= y",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A3.1_T3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IEA9IHkgdXNlcyBQdXRWYWx1ZSh4LCB4IEAgeSkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0EzLjFfVDQuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIEV4cHJlc3Npb24gYW5kIFZhcmlhYmxlIHN0YXRlbWVudHMgZm9yIHggKz0geQogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IDE7CnggKz0gMTsgCmlmICh4ICE9PSAyKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSAxOyB4ICs9IDE7IHggPT09IDIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp5ID0gMTsKeSArPSAxOwppZiAoeSAhPT0gMikgewogICRFUlJPUignIzI6IHkgPSAxOyB5ICs9IDE7IHkgPT09IDIuIEFjdHVhbDogJyArICh5KSk7Cn0KCg==",
"commentary":"Operator x @= y uses PutValue(x, x @ y)",
"description":"Checking Expression and Variable statements for x += y",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A3.1_T4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IEA9IHkgdXNlcyBQdXRWYWx1ZSh4LCB4IEAgeSkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0EzLjFfVDUuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIEV4cHJlc3Npb24gYW5kIFZhcmlhYmxlIHN0YXRlbWVudHMgZm9yIHggLT0geQogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IC0xOwp4IC09IDE7IAppZiAoeCAhPT0gLTIpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IC0xOyB4IC09IDE7IHggPT09IC0yLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeSA9IC0xOwp5IC09IDE7CmlmICh5ICE9PSAtMikgewogICRFUlJPUignIzI6IHkgPSAtMTsgeSAtPSAxOyB5ID09PSAtMi4gQWN0dWFsOiAnICsgKHkpKTsKfQoK",
"commentary":"Operator x @= y uses PutValue(x, x @ y)",
"description":"Checking Expression and Variable statements for x -= y",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A3.1_T5.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IEA9IHkgdXNlcyBQdXRWYWx1ZSh4LCB4IEAgeSkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0EzLjFfVDYuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIEV4cHJlc3Npb24gYW5kIFZhcmlhYmxlIHN0YXRlbWVudHMgZm9yIHggPDw9IHkKICovCgovL0NIRUNLIzEKdmFyIHggPSAxOwp4IDw8PSAxOyAKaWYgKHggIT09IDIpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IDE7IHggPDw9IDE7IHggPT09IDIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp5ID0gMTsKeSA8PD0gMTsKaWYgKHkgIT09IDIpIHsKICAkRVJST1IoJyMyOiB5ID0gMTsgeSA8PD0gMTsgeSA9PT0gMi4gQWN0dWFsOiAnICsgKHkpKTsKfQoK",
"commentary":"Operator x @= y uses PutValue(x, x @ y)",
"description":"Checking Expression and Variable statements for x <<= y",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A3.1_T6.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IEA9IHkgdXNlcyBQdXRWYWx1ZSh4LCB4IEAgeSkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0EzLjFfVDcuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIEV4cHJlc3Npb24gYW5kIFZhcmlhYmxlIHN0YXRlbWVudHMgZm9yIHggPj49IHkKICovCgovL0NIRUNLIzEKdmFyIHggPSA0Owp4ID4+PSAxOyAKaWYgKHggIT09IDIpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IDQ7IHggPj49IDE7IHggPT09IDIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp5ID0gNDsKeSA+Pj0gMTsKaWYgKHkgIT09IDIpIHsKICAkRVJST1IoJyMyOiB5ID0gNDsgeSA+Pj0gMTsgeSA9PT0gMi4gQWN0dWFsOiAnICsgKHkpKTsKfQoK",
"commentary":"Operator x @= y uses PutValue(x, x @ y)",
"description":"Checking Expression and Variable statements for x >>= y",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A3.1_T7.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IEA9IHkgdXNlcyBQdXRWYWx1ZSh4LCB4IEAgeSkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0EzLjFfVDguanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIEV4cHJlc3Npb24gYW5kIFZhcmlhYmxlIHN0YXRlbWVudHMgZm9yIHggPj4+PSB5CiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gNDsKeCA+Pj49IDE7IAppZiAoeCAhPT0gMikgewogICRFUlJPUignIzE6IHZhciB4ID0gNDsgeCA+Pj49IDE7IHggPT09IDIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp5ID0gNDsKeSA+Pj49IDE7CmlmICh5ICE9PSAyKSB7CiAgJEVSUk9SKCcjMjogeSA9IDQ7IHkgPj4+PSAxOyB5ID09PSAyLiBBY3R1YWw6ICcgKyAoeSkpOwp9Cgo=",
"commentary":"Operator x @= y uses PutValue(x, x @ y)",
"description":"Checking Expression and Variable statements for x >>>= y",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A3.1_T8.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IEA9IHkgdXNlcyBQdXRWYWx1ZSh4LCB4IEAgeSkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0EzLjFfVDkuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIEV4cHJlc3Npb24gYW5kIFZhcmlhYmxlIHN0YXRlbWVudHMgZm9yIHggJj0geQogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IDE7CnggJj0gMTsgCmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSAxOyB4ICY9IDE7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp5ID0gMTsKeSAmPSAxOwppZiAoeSAhPT0gMSkgewogICRFUlJPUignIzI6IHkgPSAxOyB5ICY9IDE7IHkgPT09IDEuIEFjdHVhbDogJyArICh5KSk7Cn0KCg==",
"commentary":"Operator x @= y uses PutValue(x, x @ y)",
"description":"Checking Expression and Variable statements for x &= y",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A3.1_T9.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IEA9IHkgcmV0dXJucyB4IEAgeQogKgogKiBAcGF0aCBjaDExLzExLjEzLzExLjEzLjIvUzExLjEzLjJfQTMuMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRXhwcmVzc2lvbiBhbmQgVmFyaWFibGUgc3RhdGVtZW50cyBmb3IgeCAqPSB5CiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gMTsKdmFyIHgxID0gKHggKj0gLTEpOwppZiAoeDEgIT09IC0xKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSAxOyB2YXIgeDEgPSAoeCAqPSAtMSk7IHgxID09PSAtMS4gQWN0dWFsOiAnICsgKHgxKSk7Cn0KCi8vQ0hFQ0sjMgp5ID0gMTsKeTEgPSAoeSAqPSAtMSk7CmlmICh5MSAhPT0gLTEpIHsKICAkRVJST1IoJyMyOiB5ID0gMTsgeTEgPSAoeSAqPSAtMSk7IHkxID09PSAtMS4gQWN0dWFsOiAnICsgKHkxKSk7Cn0KCg==",
"commentary":"Operator x @= y returns x @ y",
"description":"Checking Expression and Variable statements for x *= y",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A3.2_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IEA9IHkgcmV0dXJucyB4IEAgeQogKgogKiBAcGF0aCBjaDExLzExLjEzLzExLjEzLjIvUzExLjEzLjJfQTMuMl9UMTAuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIEV4cHJlc3Npb24gYW5kIFZhcmlhYmxlIHN0YXRlbWVudHMgZm9yIHggXj0geQogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IDA7CnZhciB4MSA9ICh4IF49IDEpOwppZiAoeDEgIT09IDEpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IDA7IHZhciB4MSA9ICh4IF49IDEpOyB4MSA9PT0gMS4gQWN0dWFsOiAnICsgKHgxKSk7Cn0KCi8vQ0hFQ0sjMgp5ID0gMTsKeTEgPSAoeSBePSAwKTsKaWYgKHkxICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogeSA9IDE7IHkxID0gKHkgXj0gMCk7IHkxID09PSAxLiBBY3R1YWw6ICcgKyAoeTEpKTsKfQoK",
"commentary":"Operator x @= y returns x @ y",
"description":"Checking Expression and Variable statements for x ^= y",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A3.2_T10.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IEA9IHkgcmV0dXJucyB4IEAgeQogKgogKiBAcGF0aCBjaDExLzExLjEzLzExLjEzLjIvUzExLjEzLjJfQTMuMl9UMTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIEV4cHJlc3Npb24gYW5kIFZhcmlhYmxlIHN0YXRlbWVudHMgZm9yIHggfD0geQogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IDA7CnZhciB4MSA9ICh4IHw9IDEpOwppZiAoeDEgIT09IDEpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IDA7IHZhciB4MSA9ICh4IHw9IDEpOyB4MSA9PT0gMS4gQWN0dWFsOiAnICsgKHgxKSk7Cn0KCi8vQ0hFQ0sjMgp5ID0gMTsKeTEgPSAoeSB8PSAwKTsKaWYgKHkxICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogeSA9IDE7IHkxID0gKHkgfD0gMCk7IHkxID09PSAxLiBBY3R1YWw6ICcgKyAoeTEpKTsKfQoK",
"commentary":"Operator x @= y returns x @ y",
"description":"Checking Expression and Variable statements for x |= y",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A3.2_T11.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IEA9IHkgcmV0dXJucyB4IEAgeQogKgogKiBAcGF0aCBjaDExLzExLjEzLzExLjEzLjIvUzExLjEzLjJfQTMuMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRXhwcmVzc2lvbiBhbmQgVmFyaWFibGUgc3RhdGVtZW50cyBmb3IgeCAvPSB5CiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gMTsKdmFyIHgxID0gKHggLz0gLTEpOwppZiAoeDEgIT09IC0xKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSAxOyB2YXIgeDEgPSAoeCAvPSAtMSk7IHgxID09PSAtMS4gQWN0dWFsOiAnICsgKHgxKSk7Cn0KCi8vQ0hFQ0sjMgp5ID0gMTsKeTEgPSAoeSAvPSAtMSk7CmlmICh5MSAhPT0gLTEpIHsKICAkRVJST1IoJyMyOiB5ID0gMTsgeTEgPSAoeSAvPSAtMSk7IHkxID09PSAtMS4gQWN0dWFsOiAnICsgKHkxKSk7Cn0KCg==",
"commentary":"Operator x @= y returns x @ y",
"description":"Checking Expression and Variable statements for x /= y",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A3.2_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IEA9IHkgcmV0dXJucyB4IEAgeQogKgogKiBAcGF0aCBjaDExLzExLjEzLzExLjEzLjIvUzExLjEzLjJfQTMuMl9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRXhwcmVzc2lvbiBhbmQgVmFyaWFibGUgc3RhdGVtZW50cyBmb3IgeCAlPSB5CiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gLTE7CnZhciB4MSA9ICh4ICU9IDIpOwppZiAoeDEgIT09IC0xKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSAtMTsgdmFyIHgxID0gKHggJT0gMik7IHgxID09PSAtMS4gQWN0dWFsOiAnICsgKHgxKSk7Cn0KCi8vQ0hFQ0sjMgp5ID0gLTE7CnkxID0gKHkgJT0gMik7CmlmICh5MSAhPT0gLTEpIHsKICAkRVJST1IoJyMyOiB5ID0gLTE7IHkxID0gKHkgJT0gMik7IHkxID09PSAtMS4gQWN0dWFsOiAnICsgKHkxKSk7Cn0KCg==",
"commentary":"Operator x @= y returns x @ y",
"description":"Checking Expression and Variable statements for x %= y",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A3.2_T3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IEA9IHkgcmV0dXJucyB4IEAgeQogKgogKiBAcGF0aCBjaDExLzExLjEzLzExLjEzLjIvUzExLjEzLjJfQTMuMl9UNC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRXhwcmVzc2lvbiBhbmQgVmFyaWFibGUgc3RhdGVtZW50cyBmb3IgeCArPSB5CiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gMTsKdmFyIHgxID0gKHggKz0gMSk7CmlmICh4MSAhPT0gMikgewogICRFUlJPUignIzE6IHZhciB4ID0gMTsgdmFyIHgxID0gKHggKz0gMSk7IHgxID09PSAyLiBBY3R1YWw6ICcgKyAoeDEpKTsKfQoKLy9DSEVDSyMyCnkgPSAxOwp5MSA9ICh5ICs9IDEpOwppZiAoeTEgIT09IDIpIHsKICAkRVJST1IoJyMyOiB5ID0gMTsgeTEgPSAoeSArPSAxKTsgeTEgPT09IDIuIEFjdHVhbDogJyArICh5MSkpOwp9Cgo=",
"commentary":"Operator x @= y returns x @ y",
"description":"Checking Expression and Variable statements for x += y",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A3.2_T4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IEA9IHkgcmV0dXJucyB4IEAgeQogKgogKiBAcGF0aCBjaDExLzExLjEzLzExLjEzLjIvUzExLjEzLjJfQTMuMl9UNS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRXhwcmVzc2lvbiBhbmQgVmFyaWFibGUgc3RhdGVtZW50cyBmb3IgeCAtPSB5CiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gLTE7CnZhciB4MSA9ICh4IC09IDEpOwppZiAoeDEgIT09IC0yKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSAtMTsgdmFyIHgxID0gKHggLT0gMSk7IHgxID09PSAtMi4gQWN0dWFsOiAnICsgKHgxKSk7Cn0KCi8vQ0hFQ0sjMgp5ID0gLTE7CnkxID0gKHkgLT0gMSk7CmlmICh5MSAhPT0gLTIpIHsKICAkRVJST1IoJyMyOiB5ID0gLTE7IHkxID0gKHkgLT0gMSk7IHkxID09PSAtMi4gQWN0dWFsOiAnICsgKHkxKSk7Cn0KCg==",
"commentary":"Operator x @= y returns x @ y",
"description":"Checking Expression and Variable statements for x -= y",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A3.2_T5.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IEA9IHkgcmV0dXJucyB4IEAgeQogKgogKiBAcGF0aCBjaDExLzExLjEzLzExLjEzLjIvUzExLjEzLjJfQTMuMl9UNi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRXhwcmVzc2lvbiBhbmQgVmFyaWFibGUgc3RhdGVtZW50cyBmb3IgeCA8PD0geQogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IDE7CnZhciB4MSA9ICh4IDw8PSAxKTsKaWYgKHgxICE9PSAyKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSAxOyB2YXIgeDEgPSAoeCA8PD0gMSk7IHgxID09PSAyLiBBY3R1YWw6ICcgKyAoeDEpKTsKfQoKLy9DSEVDSyMyCnkgPSAxOwp5MSA9ICh5IDw8PSAxKTsKaWYgKHkxICE9PSAyKSB7CiAgJEVSUk9SKCcjMjogeSA9IDE7IHkxID0gKHkgPDw9IDEpOyB5MSA9PT0gMi4gQWN0dWFsOiAnICsgKHkxKSk7Cn0KCg==",
"commentary":"Operator x @= y returns x @ y",
"description":"Checking Expression and Variable statements for x <<= y",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A3.2_T6.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IEA9IHkgcmV0dXJucyB4IEAgeQogKgogKiBAcGF0aCBjaDExLzExLjEzLzExLjEzLjIvUzExLjEzLjJfQTMuMl9UNy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRXhwcmVzc2lvbiBhbmQgVmFyaWFibGUgc3RhdGVtZW50cyBmb3IgeCA+Pj0geQogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IDQ7CnZhciB4MSA9ICh4ID4+PSAxKTsKaWYgKHgxICE9PSAyKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSA0OyB2YXIgeDEgPSAoeCA+Pj0gMSk7IHgxID09PSAyLiBBY3R1YWw6ICcgKyAoeDEpKTsKfQoKLy9DSEVDSyMyCnkgPSA0Owp5MSA9ICh5ID4+PSAxKTsKaWYgKHkxICE9PSAyKSB7CiAgJEVSUk9SKCcjMjogeSA9IDQ7IHkxID0gKHkgPj49IDEpOyB5MSA9PT0gMi4gQWN0dWFsOiAnICsgKHkxKSk7Cn0KCg==",
"commentary":"Operator x @= y returns x @ y",
"description":"Checking Expression and Variable statements for x >>= y",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A3.2_T7.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IEA9IHkgcmV0dXJucyB4IEAgeQogKgogKiBAcGF0aCBjaDExLzExLjEzLzExLjEzLjIvUzExLjEzLjJfQTMuMl9UOC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRXhwcmVzc2lvbiBhbmQgVmFyaWFibGUgc3RhdGVtZW50cyBmb3IgeCA+Pj49IHkKICovCgovL0NIRUNLIzEKdmFyIHggPSA0Owp2YXIgeDEgPSAoeCA+Pj49IDEpOwppZiAoeDEgIT09IDIpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IDQ7IHZhciB4MSA9ICh4ID4+Pj0gMSk7IHgxID09PSAyLiBBY3R1YWw6ICcgKyAoeDEpKTsKfQoKLy9DSEVDSyMyCnkgPSA0Owp5MSA9ICh5ID4+Pj0gMSk7CmlmICh5MSAhPT0gMikgewogICRFUlJPUignIzI6IHkgPSA0OyB5MSA9ICh5ID4+Pj0gMSk7IHkxID09PSAyLiBBY3R1YWw6ICcgKyAoeTEpKTsKfQoK",
"commentary":"Operator x @= y returns x @ y",
"description":"Checking Expression and Variable statements for x >>>= y",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A3.2_T8.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IEA9IHkgcmV0dXJucyB4IEAgeQogKgogKiBAcGF0aCBjaDExLzExLjEzLzExLjEzLjIvUzExLjEzLjJfQTMuMl9UOS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRXhwcmVzc2lvbiBhbmQgVmFyaWFibGUgc3RhdGVtZW50cyBmb3IgeCAmPSB5CiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gMTsKdmFyIHgxID0gKHggJj0gMSk7CmlmICh4MSAhPT0gMSkgewogICRFUlJPUignIzE6IHZhciB4ID0gMTsgdmFyIHgxID0gKHggJj0gMSk7IHgxID09PSAxLiBBY3R1YWw6ICcgKyAoeDEpKTsKfQoKLy9DSEVDSyMyCnkgPSAxOwp5MSA9ICh5ICY9IDEpOwppZiAoeTEgIT09IDEpIHsKICAkRVJST1IoJyMyOiB5ID0gMTsgeTEgPSAoeSAmPSAxKTsgeTEgPT09IDEuIEFjdHVhbDogJyArICh5MSkpOwp9Cgo=",
"commentary":"Operator x @= y returns x @ y",
"description":"Checking Expression and Variable statements for x &= y",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A3.2_T9.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IF49IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggXiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xMF9UMS4xLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGFuZCBUeXBlKHkpIHZhcnkgYmV0d2VlbiBwcmltaXRpdmUgYm9vbGVhbiBhbmQgQm9vbGVhbiBvYmplY3QKICovCgovL0NIRUNLIzEKeCA9IHRydWU7CnggXj0gdHJ1ZTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMxOiB4ID0gdHJ1ZTsgeCBePSB0cnVlOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IG5ldyBCb29sZWFuKHRydWUpOwp4IF49IHRydWU7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogeCA9IG5ldyBCb29sZWFuKHRydWUpOyB4IF49IHRydWU7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gdHJ1ZTsKeCBePSBuZXcgQm9vbGVhbih0cnVlKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMzOiB4ID0gdHJ1ZTsgeCBePSBuZXcgQm9vbGVhbih0cnVlKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSBuZXcgQm9vbGVhbih0cnVlKTsKeCBePSBuZXcgQm9vbGVhbih0cnVlKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM0OiB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggXj0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==",
"commentary":"The production x ^= y is the same as x = x ^ y",
"description":"Type(x) and Type(y) vary between primitive boolean and Boolean object",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.10_T1.1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IF49IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggXiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xMF9UMS4yLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGFuZCBUeXBlKHkpIHZhcnkgYmV0d2VlbiBwcmltaXRpdmUgbnVtYmVyIGFuZCBOdW1iZXIgb2JqZWN0CiAqLwoKLy9DSEVDSyMxCnggPSAxOwp4IF49IDE7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogeCA9IDE7IHggXj0gMTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSBuZXcgTnVtYmVyKDEpOwp4IF49IDE7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogeCA9IG5ldyBOdW1iZXIoMSk7IHggXj0gMTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSAxOwp4IF49IG5ldyBOdW1iZXIoMSk7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogeCA9IDE7IHggXj0gbmV3IE51bWJlcigxKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSBuZXcgTnVtYmVyKDEpOwp4IF49IG5ldyBOdW1iZXIoMSk7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogeCA9IG5ldyBOdW1iZXIoMSk7IHggXj0gbmV3IE51bWJlcigxKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKCg==",
"commentary":"The production x ^= y is the same as x = x ^ y",
"description":"Type(x) and Type(y) vary between primitive number and Number object",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.10_T1.2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IF49IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggXiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xMF9UMS4zLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGFuZCBUeXBlKHkpIHZhcnkgYmV0d2VlbiBwcmltaXRpdmUgc3RyaW5nIGFuZCBTdHJpbmcgb2JqZWN0CiAqLwoKLy9DSEVDSyMxCnggPSAiMSI7CnggXj0gIjEiOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzE6IHggPSAiMSI7IHggXj0gIjEiOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IG5ldyBTdHJpbmcoIjEiKTsKeCBePSAiMSI7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCBePSAiMSI7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gIjEiOwp4IF49IG5ldyBTdHJpbmcoIjEiKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMzOiB4ID0gIjEiOyB4IF49IG5ldyBTdHJpbmcoIjEiKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSBuZXcgU3RyaW5nKCIxIik7CnggXj0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzQ6IHggPSBuZXcgU3RyaW5nKCIxIik7IHggXj0gbmV3IFN0cmluZygiMSIpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzUKeCA9ICJ4IjsKeCBePSAiMSI7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjNTogeCA9ICJ4IjsgeCBePSAiMSI7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNgp4ID0gIjEiOwp4IF49ICJ4IjsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM2OiB4ID0gIjEiOyB4IF49ICJ4IjsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoK",
"commentary":"The production x ^= y is the same as x = x ^ y",
"description":"Type(x) and Type(y) vary between primitive string and String object",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.10_T1.3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IF49IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggXiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xMF9UMS40LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGFuZCBUeXBlKHkpIHZhcnkgYmV0d2VlbiBOdWxsIGFuZCBVbmRlZmluZWQKICovCgovL0NIRUNLIzEKeCA9IG51bGw7CnggXj0gdW5kZWZpbmVkOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzE6IHggPSBudWxsOyB4IF49IHVuZGVmaW5lZDsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSB1bmRlZmluZWQ7CnggXj0gbnVsbDsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMyOiB4ID0gdW5kZWZpbmVkOyB4IF49IG51bGw7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gdW5kZWZpbmVkOwp4IF49IHVuZGVmaW5lZDsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMzOiB4ID0gdW5kZWZpbmVkOyB4IF49IHVuZGVmaW5lZDsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSBudWxsOwp4IF49IG51bGw7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogeCA9IG51bGw7IHggXj0gbnVsbDsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoK",
"commentary":"The production x ^= y is the same as x = x ^ y",
"description":"Type(x) and Type(y) vary between Null and Undefined",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.10_T1.4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IF49IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggXiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xMF9UMi4xLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIE51bWJlciAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIEJvb2xlYW4gKHByaW1pdGl2ZSBhbmQgb2JqZWN0KQogKi8KCi8vQ0hFQ0sjMQp4ID0gdHJ1ZTsKeCBePSAxOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzE6IHggPSB0cnVlOyB4IF49IDE7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gMTsKeCBePSB0cnVlOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzI6IHggPSAxOyB4IF49IHRydWU7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7CnggXj0gMTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMzOiB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggXj0gMTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSAxOwp4IF49IG5ldyBCb29sZWFuKHRydWUpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzQ6IHggPSAxOyB4IF49IG5ldyBCb29sZWFuKHRydWUpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzUKeCA9IHRydWU7CnggXj0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM1OiB4ID0gdHJ1ZTsgeCBePSBuZXcgTnVtYmVyKDEpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzYKeCA9IG5ldyBOdW1iZXIoMSk7CnggXj0gdHJ1ZTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM2OiB4ID0gbmV3IE51bWJlcigxKTsgeCBePSB0cnVlOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzcKeCA9IG5ldyBCb29sZWFuKHRydWUpOwp4IF49IG5ldyBOdW1iZXIoMSk7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjNzogeCA9IG5ldyBCb29sZWFuKHRydWUpOyB4IF49IG5ldyBOdW1iZXIoMSk7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjOAp4ID0gbmV3IE51bWJlcigxKTsKeCBePSBuZXcgQm9vbGVhbih0cnVlKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM4OiB4ID0gbmV3IE51bWJlcigxKTsgeCBePSBuZXcgQm9vbGVhbih0cnVlKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoK",
"commentary":"The production x ^= y is the same as x = x ^ y",
"description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Boolean (primitive and object)",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.10_T2.1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IF49IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggXiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xMF9UMi4yLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIE51bWJlciAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIFN0cmluZyAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCnggPSAiMSI7CnggXj0gMTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMxOiB4ID0gIjEiOyB4IF49IDE7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gMTsKeCBePSAiMSI7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogeCA9IDE7IHggXj0gIjEiOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IG5ldyBTdHJpbmcoIjEiKTsKeCBePSAxOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzM6IHggPSBuZXcgU3RyaW5nKCIxIik7IHggXj0gMTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSAxOwp4IF49IG5ldyBTdHJpbmcoIjEiKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM0OiB4ID0gMTsgeCBePSBuZXcgU3RyaW5nKCIxIik7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNQp4ID0gIjEiOwp4IF49IG5ldyBOdW1iZXIoMSk7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjNTogeCA9ICIxIjsgeCBePSBuZXcgTnVtYmVyKDEpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzYKeCA9IG5ldyBOdW1iZXIoMSk7CnggXj0gIjEiOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzY6IHggPSBuZXcgTnVtYmVyKDEpOyB4IF49ICIxIjsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM3CnggPSBuZXcgU3RyaW5nKCIxIik7CnggXj0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM3OiB4ID0gbmV3IFN0cmluZygiMSIpOyB4IF49IG5ldyBOdW1iZXIoMSk7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjOAp4ID0gbmV3IE51bWJlcigxKTsKeCBePSBuZXcgU3RyaW5nKCIxIik7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjODogeCA9IG5ldyBOdW1iZXIoMSk7IHggXj0gbmV3IFN0cmluZygiMSIpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzkKeCA9ICJ4IjsKeCBePSAxOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzk6IHggPSAieCI7IHggXj0gMTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMxMAp4ID0gMTsKeCBePSAieCI7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTA6IHggPSAxOyB4IF49ICJ4IjsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoK",
"commentary":"The production x ^= y is the same as x = x ^ y",
"description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object)",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.10_T2.2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IF49IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggXiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xMF9UMi4zLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIE51bWJlciAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIE51bGwKICovCgovL0NIRUNLIzEKeCA9IDE7CnggXj0gbnVsbDsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMxOiB4ID0gMTsgeCBePSBudWxsOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IG51bGw7CnggXj0gMTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMyOiB4ID0gbnVsbDsgeCBePSAxOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IG5ldyBOdW1iZXIoMSk7CnggXj0gbnVsbDsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMzOiB4ID0gbmV3IE51bWJlcigxKTsgeCBePSBudWxsOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IG51bGw7CnggXj0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM0OiB4ID0gbnVsbDsgeCBePSBuZXcgTnVtYmVyKDEpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=",
"commentary":"The production x ^= y is the same as x = x ^ y",
"description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.10_T2.3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IF49IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggXiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xMF9UMi40LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIE51bWJlciAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQp4ID0gMTsKeCBePSB1bmRlZmluZWQ7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogeCA9IDE7IHggXj0gdW5kZWZpbmVkOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IHVuZGVmaW5lZDsKeCBePSAxOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzI6IHggPSB1bmRlZmluZWQ7IHggXj0gMTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSBuZXcgTnVtYmVyKDEpOwp4IF49IHVuZGVmaW5lZDsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMzOiB4ID0gbmV3IE51bWJlcigxKTsgeCBePSB1bmRlZmluZWQ7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gdW5kZWZpbmVkOwp4IF49IG5ldyBOdW1iZXIoMSk7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogeCA9IHVuZGVmaW5lZDsgeCBePSBuZXcgTnVtYmVyKDEpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=",
"commentary":"The production x ^= y is the same as x = x ^ y",
"description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.10_T2.4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IF49IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggXiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xMF9UMi41LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIFN0cmluZyAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIEJvb2xlYW4gKHByaW1pdGl2ZSBhbmQgb2JqZWN0KQogKi8KCi8vQ0hFQ0sjMQp4ID0gdHJ1ZTsKeCBePSAiMSI7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogeCA9IHRydWU7IHggXj0gIjEiOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9ICIxIjsKeCBePSB0cnVlOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzI6IHggPSAiMSI7IHggXj0gdHJ1ZTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSBuZXcgQm9vbGVhbih0cnVlKTsKeCBePSAiMSI7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBCb29sZWFuKHRydWUpOyB4IF49ICIxIjsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSAiMSI7CnggXj0gbmV3IEJvb2xlYW4odHJ1ZSk7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogeCA9ICIxIjsgeCBePSBuZXcgQm9vbGVhbih0cnVlKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM1CnggPSB0cnVlOwp4IF49IG5ldyBTdHJpbmcoIjEiKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM1OiB4ID0gdHJ1ZTsgeCBePSBuZXcgU3RyaW5nKCIxIik7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNgp4ID0gbmV3IFN0cmluZygiMSIpOwp4IF49IHRydWU7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjNjogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCBePSB0cnVlOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzcKeCA9IG5ldyBCb29sZWFuKHRydWUpOwp4IF49IG5ldyBTdHJpbmcoIjEiKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM3OiB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggXj0gbmV3IFN0cmluZygiMSIpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzgKeCA9IG5ldyBTdHJpbmcoIjEiKTsKeCBePSBuZXcgQm9vbGVhbih0cnVlKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM4OiB4ID0gbmV3IFN0cmluZygiMSIpOyB4IF49IG5ldyBCb29sZWFuKHRydWUpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=",
"commentary":"The production x ^= y is the same as x = x ^ y",
"description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Boolean (primitive and object)",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.10_T2.5.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IF49IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggXiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xMF9UMi42LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIFN0cmluZyAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQp4ID0gIjEiOwp4IF49IHVuZGVmaW5lZDsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMxOiB4ID0gIjEiOyB4IF49IHVuZGVmaW5lZDsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSB1bmRlZmluZWQ7CnggXj0gIjEiOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzI6IHggPSB1bmRlZmluZWQ7IHggXj0gIjEiOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IG5ldyBTdHJpbmcoIjEiKTsKeCBePSB1bmRlZmluZWQ7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCBePSB1bmRlZmluZWQ7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gdW5kZWZpbmVkOwp4IF49IG5ldyBTdHJpbmcoIjEiKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM0OiB4ID0gdW5kZWZpbmVkOyB4IF49IG5ldyBTdHJpbmcoIjEiKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoK",
"commentary":"The production x ^= y is the same as x = x ^ y",
"description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Undefined",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.10_T2.6.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IF49IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggXiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xMF9UMi43LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIFN0cmluZyAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIE51bGwKICovCgovL0NIRUNLIzEKeCA9ICIxIjsKeCBePSBudWxsOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzE6IHggPSAiMSI7IHggXj0gbnVsbDsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSBudWxsOwp4IF49ICIxIjsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMyOiB4ID0gbnVsbDsgeCBePSAiMSI7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gbmV3IFN0cmluZygiMSIpOwp4IF49IG51bGw7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCBePSBudWxsOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IG51bGw7CnggXj0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzQ6IHggPSBudWxsOyB4IF49IG5ldyBTdHJpbmcoIjEiKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoK",
"commentary":"The production x ^= y is the same as x = x ^ y",
"description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.10_T2.7.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IF49IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggXiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xMF9UMi44LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIEJvb2xlYW4gKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBVbmRlZmluZWQKICovCgovL0NIRUNLIzEKeCA9IHRydWU7CnggXj0gdW5kZWZpbmVkOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzE6IHggPSB0cnVlOyB4IF49IHVuZGVmaW5lZDsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSB1bmRlZmluZWQ7CnggXj0gdHJ1ZTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMyOiB4ID0gdW5kZWZpbmVkOyB4IF49IHRydWU7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7CnggXj0gdW5kZWZpbmVkOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzM6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCBePSB1bmRlZmluZWQ7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gdW5kZWZpbmVkOwp4IF49IG5ldyBCb29sZWFuKHRydWUpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzQ6IHggPSB1bmRlZmluZWQ7IHggXj0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==",
"commentary":"The production x ^= y is the same as x = x ^ y",
"description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.10_T2.8.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IF49IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggXiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xMF9UMi45LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIEJvb2xlYW4gKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBOdWxsCiAqLwoKLy9DSEVDSyMxCnggPSB0cnVlOwp4IF49IG51bGw7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogeCA9IHRydWU7IHggXj0gbnVsbDsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSBudWxsOwp4IF49IHRydWU7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogeCA9IG51bGw7IHggXj0gdHJ1ZTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSBuZXcgQm9vbGVhbih0cnVlKTsKeCBePSBudWxsOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzM6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCBePSBudWxsOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IG51bGw7CnggXj0gbmV3IEJvb2xlYW4odHJ1ZSk7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogeCA9IG51bGw7IHggXj0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==",
"commentary":"The production x ^= y is the same as x = x ^ y",
"description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.10_T2.9.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IHw9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggfCB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xMV9UMS4xLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGFuZCBUeXBlKHkpIHZhcnkgYmV0d2VlbiBwcmltaXRpdmUgYm9vbGVhbiBhbmQgQm9vbGVhbiBvYmplY3QKICovCgovL0NIRUNLIzEKeCA9IHRydWU7CnggfD0gdHJ1ZTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMxOiB4ID0gdHJ1ZTsgeCB8PSB0cnVlOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IG5ldyBCb29sZWFuKHRydWUpOwp4IHw9IHRydWU7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogeCA9IG5ldyBCb29sZWFuKHRydWUpOyB4IHw9IHRydWU7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gdHJ1ZTsKeCB8PSBuZXcgQm9vbGVhbih0cnVlKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMzOiB4ID0gdHJ1ZTsgeCB8PSBuZXcgQm9vbGVhbih0cnVlKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSBuZXcgQm9vbGVhbih0cnVlKTsKeCB8PSBuZXcgQm9vbGVhbih0cnVlKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM0OiB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggfD0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==",
"commentary":"The production x |= y is the same as x = x | y",
"description":"Type(x) and Type(y) vary between primitive boolean and Boolean object",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.11_T1.1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IHw9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggfCB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xMV9UMS4yLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGFuZCBUeXBlKHkpIHZhcnkgYmV0d2VlbiBwcmltaXRpdmUgbnVtYmVyIGFuZCBOdW1iZXIgb2JqZWN0CiAqLwoKLy9DSEVDSyMxCnggPSAxOwp4IHw9IDE7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogeCA9IDE7IHggfD0gMTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSBuZXcgTnVtYmVyKDEpOwp4IHw9IDE7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogeCA9IG5ldyBOdW1iZXIoMSk7IHggfD0gMTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSAxOwp4IHw9IG5ldyBOdW1iZXIoMSk7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogeCA9IDE7IHggfD0gbmV3IE51bWJlcigxKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSBuZXcgTnVtYmVyKDEpOwp4IHw9IG5ldyBOdW1iZXIoMSk7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogeCA9IG5ldyBOdW1iZXIoMSk7IHggfD0gbmV3IE51bWJlcigxKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKCg==",
"commentary":"The production x |= y is the same as x = x | y",
"description":"Type(x) and Type(y) vary between primitive number and Number object",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.11_T1.2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IHw9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggfCB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xMV9UMS4zLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGFuZCBUeXBlKHkpIHZhcnkgYmV0d2VlbiBwcmltaXRpdmUgc3RyaW5nIGFuZCBTdHJpbmcgb2JqZWN0CiAqLwoKLy9DSEVDSyMxCnggPSAiMSI7CnggfD0gIjEiOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzE6IHggPSAiMSI7IHggfD0gIjEiOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IG5ldyBTdHJpbmcoIjEiKTsKeCB8PSAiMSI7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCB8PSAiMSI7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gIjEiOwp4IHw9IG5ldyBTdHJpbmcoIjEiKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMzOiB4ID0gIjEiOyB4IHw9IG5ldyBTdHJpbmcoIjEiKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSBuZXcgU3RyaW5nKCIxIik7CnggfD0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzQ6IHggPSBuZXcgU3RyaW5nKCIxIik7IHggfD0gbmV3IFN0cmluZygiMSIpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzUKeCA9ICJ4IjsKeCB8PSAiMSI7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjNTogeCA9ICJ4IjsgeCB8PSAiMSI7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNgp4ID0gIjEiOwp4IHw9ICJ4IjsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM2OiB4ID0gIjEiOyB4IHw9ICJ4IjsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoK",
"commentary":"The production x |= y is the same as x = x | y",
"description":"Type(x) and Type(y) vary between primitive string and String object",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.11_T1.3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IHw9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggfCB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xMV9UMS40LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGFuZCBUeXBlKHkpIHZhcnkgYmV0d2VlbiBOdWxsIGFuZCBVbmRlZmluZWQKICovCgovL0NIRUNLIzEKeCA9IG51bGw7CnggfD0gdW5kZWZpbmVkOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzE6IHggPSBudWxsOyB4IHw9IHVuZGVmaW5lZDsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSB1bmRlZmluZWQ7CnggfD0gbnVsbDsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMyOiB4ID0gdW5kZWZpbmVkOyB4IHw9IG51bGw7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gdW5kZWZpbmVkOwp4IHw9IHVuZGVmaW5lZDsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMzOiB4ID0gdW5kZWZpbmVkOyB4IHw9IHVuZGVmaW5lZDsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSBudWxsOwp4IHw9IG51bGw7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogeCA9IG51bGw7IHggfD0gbnVsbDsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoK",
"commentary":"The production x |= y is the same as x = x | y",
"description":"Type(x) and Type(y) vary between Null and Undefined",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.11_T1.4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IHw9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggfCB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xMV9UMi4xLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIE51bWJlciAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIEJvb2xlYW4gKHByaW1pdGl2ZSBhbmQgb2JqZWN0KQogKi8KCi8vQ0hFQ0sjMQp4ID0gdHJ1ZTsKeCB8PSAxOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzE6IHggPSB0cnVlOyB4IHw9IDE7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gMTsKeCB8PSB0cnVlOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzI6IHggPSAxOyB4IHw9IHRydWU7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7CnggfD0gMTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMzOiB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggfD0gMTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSAxOwp4IHw9IG5ldyBCb29sZWFuKHRydWUpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzQ6IHggPSAxOyB4IHw9IG5ldyBCb29sZWFuKHRydWUpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzUKeCA9IHRydWU7CnggfD0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM1OiB4ID0gdHJ1ZTsgeCB8PSBuZXcgTnVtYmVyKDEpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzYKeCA9IG5ldyBOdW1iZXIoMSk7CnggfD0gdHJ1ZTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM2OiB4ID0gbmV3IE51bWJlcigxKTsgeCB8PSB0cnVlOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzcKeCA9IG5ldyBCb29sZWFuKHRydWUpOwp4IHw9IG5ldyBOdW1iZXIoMSk7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjNzogeCA9IG5ldyBCb29sZWFuKHRydWUpOyB4IHw9IG5ldyBOdW1iZXIoMSk7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjOAp4ID0gbmV3IE51bWJlcigxKTsKeCB8PSBuZXcgQm9vbGVhbih0cnVlKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM4OiB4ID0gbmV3IE51bWJlcigxKTsgeCB8PSBuZXcgQm9vbGVhbih0cnVlKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoK",
"commentary":"The production x |= y is the same as x = x | y",
"description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Boolean (primitive and object)",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.11_T2.1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IHw9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggfCB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xMV9UMi4yLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIE51bWJlciAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIFN0cmluZyAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCnggPSAiMSI7CnggfD0gMTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMxOiB4ID0gIjEiOyB4IHw9IDE7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gMTsKeCB8PSAiMSI7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogeCA9IDE7IHggfD0gIjEiOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IG5ldyBTdHJpbmcoIjEiKTsKeCB8PSAxOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzM6IHggPSBuZXcgU3RyaW5nKCIxIik7IHggfD0gMTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSAxOwp4IHw9IG5ldyBTdHJpbmcoIjEiKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM0OiB4ID0gMTsgeCB8PSBuZXcgU3RyaW5nKCIxIik7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNQp4ID0gIjEiOwp4IHw9IG5ldyBOdW1iZXIoMSk7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjNTogeCA9ICIxIjsgeCB8PSBuZXcgTnVtYmVyKDEpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzYKeCA9IG5ldyBOdW1iZXIoMSk7CnggfD0gIjEiOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzY6IHggPSBuZXcgTnVtYmVyKDEpOyB4IHw9ICIxIjsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM3CnggPSBuZXcgU3RyaW5nKCIxIik7CnggfD0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM3OiB4ID0gbmV3IFN0cmluZygiMSIpOyB4IHw9IG5ldyBOdW1iZXIoMSk7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjOAp4ID0gbmV3IE51bWJlcigxKTsKeCB8PSBuZXcgU3RyaW5nKCIxIik7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjODogeCA9IG5ldyBOdW1iZXIoMSk7IHggfD0gbmV3IFN0cmluZygiMSIpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzkKeCA9ICJ4IjsKeCB8PSAxOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzk6IHggPSAieCI7IHggfD0gMTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMxMAp4ID0gMTsKeCB8PSAieCI7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTA6IHggPSAxOyB4IHw9ICJ4IjsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoK",
"commentary":"The production x |= y is the same as x = x | y",
"description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object)",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.11_T2.2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IHw9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggfCB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xMV9UMi4zLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIE51bWJlciAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIE51bGwKICovCgovL0NIRUNLIzEKeCA9IDE7CnggfD0gbnVsbDsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMxOiB4ID0gMTsgeCB8PSBudWxsOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IG51bGw7CnggfD0gMTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMyOiB4ID0gbnVsbDsgeCB8PSAxOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IG5ldyBOdW1iZXIoMSk7CnggfD0gbnVsbDsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMzOiB4ID0gbmV3IE51bWJlcigxKTsgeCB8PSBudWxsOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IG51bGw7CnggfD0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM0OiB4ID0gbnVsbDsgeCB8PSBuZXcgTnVtYmVyKDEpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=",
"commentary":"The production x |= y is the same as x = x | y",
"description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.11_T2.3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IHw9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggfCB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xMV9UMi40LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIE51bWJlciAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQp4ID0gMTsKeCB8PSB1bmRlZmluZWQ7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogeCA9IDE7IHggfD0gdW5kZWZpbmVkOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IHVuZGVmaW5lZDsKeCB8PSAxOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzI6IHggPSB1bmRlZmluZWQ7IHggfD0gMTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSBuZXcgTnVtYmVyKDEpOwp4IHw9IHVuZGVmaW5lZDsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMzOiB4ID0gbmV3IE51bWJlcigxKTsgeCB8PSB1bmRlZmluZWQ7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gdW5kZWZpbmVkOwp4IHw9IG5ldyBOdW1iZXIoMSk7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogeCA9IHVuZGVmaW5lZDsgeCB8PSBuZXcgTnVtYmVyKDEpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=",
"commentary":"The production x |= y is the same as x = x | y",
"description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.11_T2.4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IHw9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggfCB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xMV9UMi41LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIFN0cmluZyAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIEJvb2xlYW4gKHByaW1pdGl2ZSBhbmQgb2JqZWN0KQogKi8KCi8vQ0hFQ0sjMQp4ID0gdHJ1ZTsKeCB8PSAiMSI7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogeCA9IHRydWU7IHggfD0gIjEiOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9ICIxIjsKeCB8PSB0cnVlOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzI6IHggPSAiMSI7IHggfD0gdHJ1ZTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSBuZXcgQm9vbGVhbih0cnVlKTsKeCB8PSAiMSI7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBCb29sZWFuKHRydWUpOyB4IHw9ICIxIjsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSAiMSI7CnggfD0gbmV3IEJvb2xlYW4odHJ1ZSk7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogeCA9ICIxIjsgeCB8PSBuZXcgQm9vbGVhbih0cnVlKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM1CnggPSB0cnVlOwp4IHw9IG5ldyBTdHJpbmcoIjEiKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM1OiB4ID0gdHJ1ZTsgeCB8PSBuZXcgU3RyaW5nKCIxIik7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNgp4ID0gbmV3IFN0cmluZygiMSIpOwp4IHw9IHRydWU7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjNjogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCB8PSB0cnVlOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzcKeCA9IG5ldyBCb29sZWFuKHRydWUpOwp4IHw9IG5ldyBTdHJpbmcoIjEiKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM3OiB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggfD0gbmV3IFN0cmluZygiMSIpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzgKeCA9IG5ldyBTdHJpbmcoIjEiKTsKeCB8PSBuZXcgQm9vbGVhbih0cnVlKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM4OiB4ID0gbmV3IFN0cmluZygiMSIpOyB4IHw9IG5ldyBCb29sZWFuKHRydWUpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=",
"commentary":"The production x |= y is the same as x = x | y",
"description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Boolean (primitive and object)",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.11_T2.5.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IHw9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggfCB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xMV9UMi42LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIFN0cmluZyAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQp4ID0gIjEiOwp4IHw9IHVuZGVmaW5lZDsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMxOiB4ID0gIjEiOyB4IHw9IHVuZGVmaW5lZDsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSB1bmRlZmluZWQ7CnggfD0gIjEiOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzI6IHggPSB1bmRlZmluZWQ7IHggfD0gIjEiOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IG5ldyBTdHJpbmcoIjEiKTsKeCB8PSB1bmRlZmluZWQ7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCB8PSB1bmRlZmluZWQ7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gdW5kZWZpbmVkOwp4IHw9IG5ldyBTdHJpbmcoIjEiKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM0OiB4ID0gdW5kZWZpbmVkOyB4IHw9IG5ldyBTdHJpbmcoIjEiKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoK",
"commentary":"The production x |= y is the same as x = x | y",
"description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Undefined",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.11_T2.6.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IHw9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggfCB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xMV9UMi43LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIFN0cmluZyAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIE51bGwKICovCgovL0NIRUNLIzEKeCA9ICIxIjsKeCB8PSBudWxsOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzE6IHggPSAiMSI7IHggfD0gbnVsbDsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSBudWxsOwp4IHw9ICIxIjsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMyOiB4ID0gbnVsbDsgeCB8PSAiMSI7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gbmV3IFN0cmluZygiMSIpOwp4IHw9IG51bGw7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCB8PSBudWxsOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IG51bGw7CnggfD0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzQ6IHggPSBudWxsOyB4IHw9IG5ldyBTdHJpbmcoIjEiKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoK",
"commentary":"The production x |= y is the same as x = x | y",
"description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.11_T2.7.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IHw9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggfCB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xMV9UMi44LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIEJvb2xlYW4gKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBVbmRlZmluZWQKICovCgovL0NIRUNLIzEKeCA9IHRydWU7CnggfD0gdW5kZWZpbmVkOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzE6IHggPSB0cnVlOyB4IHw9IHVuZGVmaW5lZDsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSB1bmRlZmluZWQ7CnggfD0gdHJ1ZTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMyOiB4ID0gdW5kZWZpbmVkOyB4IHw9IHRydWU7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7CnggfD0gdW5kZWZpbmVkOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzM6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCB8PSB1bmRlZmluZWQ7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gdW5kZWZpbmVkOwp4IHw9IG5ldyBCb29sZWFuKHRydWUpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzQ6IHggPSB1bmRlZmluZWQ7IHggfD0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==",
"commentary":"The production x |= y is the same as x = x | y",
"description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.11_T2.8.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IHw9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggfCB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xMV9UMi45LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIEJvb2xlYW4gKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBOdWxsCiAqLwoKLy9DSEVDSyMxCnggPSB0cnVlOwp4IHw9IG51bGw7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogeCA9IHRydWU7IHggfD0gbnVsbDsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSBudWxsOwp4IHw9IHRydWU7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogeCA9IG51bGw7IHggfD0gdHJ1ZTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSBuZXcgQm9vbGVhbih0cnVlKTsKeCB8PSBudWxsOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzM6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCB8PSBudWxsOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IG51bGw7CnggfD0gbmV3IEJvb2xlYW4odHJ1ZSk7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogeCA9IG51bGw7IHggfD0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==",
"commentary":"The production x |= y is the same as x = x | y",
"description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.11_T2.9.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICo9IHkgaXMgdGhlIHNhbWUgYXMgdGhlIHByb2R1Y3Rpb24geCA9IHggKiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xX1QxLjEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBib29sZWFuIGFuZCBCb29sZWFuIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQp4ID0gdHJ1ZTsKeCAqPSB0cnVlOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzE6IHggPSB0cnVlOyB4ICo9IHRydWU7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7CnggKj0gdHJ1ZTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMyOiB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggKj0gdHJ1ZTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSB0cnVlOwp4ICo9IG5ldyBCb29sZWFuKHRydWUpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzM6IHggPSB0cnVlOyB4ICo9IG5ldyBCb29sZWFuKHRydWUpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IG5ldyBCb29sZWFuKHRydWUpOwp4ICo9IG5ldyBCb29sZWFuKHRydWUpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzQ6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCAqPSBuZXcgQm9vbGVhbih0cnVlKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoK",
"commentary":"The production x *= y is the same as the production x = x * y",
"description":"Type(x) and Type(y) vary between primitive boolean and Boolean object",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.1_T1.1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICo9IHkgaXMgdGhlIHNhbWUgYXMgdGhlIHByb2R1Y3Rpb24geCA9IHggKiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xX1QxLjIuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBudW1iZXIgYW5kIE51bWJlciBvYmplY3QKICovCgovL0NIRUNLIzEKeCA9IDE7CnggKj0gMTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMxOiB4ID0gMTsgeCAqPSAxOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IG5ldyBOdW1iZXIoMSk7CnggKj0gMTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMyOiB4ID0gbmV3IE51bWJlcigxKTsgeCAqPSAxOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IDE7CnggKj0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMzOiB4ID0gMTsgeCAqPSBuZXcgTnVtYmVyKDEpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IG5ldyBOdW1iZXIoMSk7CnggKj0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM0OiB4ID0gbmV3IE51bWJlcigxKTsgeCAqPSBuZXcgTnVtYmVyKDEpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgoK",
"commentary":"The production x *= y is the same as the production x = x * y",
"description":"Type(x) and Type(y) vary between primitive number and Number object",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.1_T1.2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICo9IHkgaXMgdGhlIHNhbWUgYXMgdGhlIHByb2R1Y3Rpb24geCA9IHggKiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xX1QxLjMuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBzdHJpbmcgYW5kIFN0cmluZyBvYmplY3QKICovCgovL0NIRUNLIzEKeCA9ICIxIjsKeCAqPSAiMSI7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogeCA9ICIxIjsgeCAqPSAiMSI7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gbmV3IFN0cmluZygiMSIpOwp4ICo9ICIxIjsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMyOiB4ID0gbmV3IFN0cmluZygiMSIpOyB4ICo9ICIxIjsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSAiMSI7CnggKj0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzM6IHggPSAiMSI7IHggKj0gbmV3IFN0cmluZygiMSIpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IG5ldyBTdHJpbmcoIjEiKTsKeCAqPSBuZXcgU3RyaW5nKCIxIik7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCAqPSBuZXcgU3RyaW5nKCIxIik7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNQp4ID0gIngiOwp4ICo9ICIxIjsKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNTogeCA9ICJ4IjsgeCAqPSAiMSI7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM2CnggPSAiMSI7CnggKj0gIngiOwppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiB4ID0gIjEiOyB4ICo9ICJ4IjsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=",
"commentary":"The production x *= y is the same as the production x = x * y",
"description":"Type(x) and Type(y) vary between primitive string and String object",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.1_T1.3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICo9IHkgaXMgdGhlIHNhbWUgYXMgdGhlIHByb2R1Y3Rpb24geCA9IHggKiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xX1QxLjQuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIE51bGwgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQp4ID0gbnVsbDsKeCAqPSB1bmRlZmluZWQ7CmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IHggPSBudWxsOyB4ICo9IHVuZGVmaW5lZDsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IHVuZGVmaW5lZDsKeCAqPSBudWxsOwppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB4ID0gdW5kZWZpbmVkOyB4ICo9IG51bGw7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSB1bmRlZmluZWQ7CnggKj0gdW5kZWZpbmVkOwppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiB4ID0gdW5kZWZpbmVkOyB4ICo9IHVuZGVmaW5lZDsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IG51bGw7CnggKj0gbnVsbDsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM0OiB4ID0gbnVsbDsgeCAqPSBudWxsOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=",
"commentary":"The production x *= y is the same as the production x = x * y",
"description":"Type(x) and Type(y) vary between Null and Undefined",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.1_T1.4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICo9IHkgaXMgdGhlIHNhbWUgYXMgdGhlIHByb2R1Y3Rpb24geCA9IHggKiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xX1QyLjEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gQm9vbGVhbiAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIE51bWJlciAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCnggPSB0cnVlOwp4ICo9IDE7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogeCA9IHRydWU7IHggKj0gMTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSAxOwp4ICo9IHRydWU7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogeCA9IDE7IHggKj0gdHJ1ZTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSBuZXcgQm9vbGVhbih0cnVlKTsKeCAqPSAxOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzM6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCAqPSAxOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IDE7CnggKj0gbmV3IEJvb2xlYW4odHJ1ZSk7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogeCA9IDE7IHggKj0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNQp4ID0gdHJ1ZTsKeCAqPSBuZXcgTnVtYmVyKDEpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzU6IHggPSB0cnVlOyB4ICo9IG5ldyBOdW1iZXIoMSk7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNgp4ID0gbmV3IE51bWJlcigxKTsKeCAqPSB0cnVlOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzY6IHggPSBuZXcgTnVtYmVyKDEpOyB4ICo9IHRydWU7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNwp4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7CnggKj0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM3OiB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggKj0gbmV3IE51bWJlcigxKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM4CnggPSBuZXcgTnVtYmVyKDEpOwp4ICo9IG5ldyBCb29sZWFuKHRydWUpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzg6IHggPSBuZXcgTnVtYmVyKDEpOyB4ICo9IG5ldyBCb29sZWFuKHRydWUpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=",
"commentary":"The production x *= y is the same as the production x = x * y",
"description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Number (primitive and object)",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.1_T2.1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICo9IHkgaXMgdGhlIHNhbWUgYXMgdGhlIHByb2R1Y3Rpb24geCA9IHggKiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xX1QyLjIuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgU3RyaW5nIChwcmltaXRpdmUgYW5kIG9iamVjdCkKICovCgovL0NIRUNLIzEKeCA9ICIxIjsKeCAqPSAxOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzE6IHggPSAiMSI7IHggKj0gMTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSAxOwp4ICo9ICIxIjsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMyOiB4ID0gMTsgeCAqPSAiMSI7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gbmV3IFN0cmluZygiMSIpOwp4ICo9IDE7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCAqPSAxOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IDE7CnggKj0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzQ6IHggPSAxOyB4ICo9IG5ldyBTdHJpbmcoIjEiKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM1CnggPSAiMSI7CnggKj0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM1OiB4ID0gIjEiOyB4ICo9IG5ldyBOdW1iZXIoMSk7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNgp4ID0gbmV3IE51bWJlcigxKTsKeCAqPSAiMSI7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjNjogeCA9IG5ldyBOdW1iZXIoMSk7IHggKj0gIjEiOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzcKeCA9IG5ldyBTdHJpbmcoIjEiKTsKeCAqPSBuZXcgTnVtYmVyKDEpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzc6IHggPSBuZXcgU3RyaW5nKCIxIik7IHggKj0gbmV3IE51bWJlcigxKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM4CnggPSBuZXcgTnVtYmVyKDEpOwp4ICo9IG5ldyBTdHJpbmcoIjEiKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM4OiB4ID0gbmV3IE51bWJlcigxKTsgeCAqPSBuZXcgU3RyaW5nKCIxIik7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjOQp4ID0gIngiOwp4ICo9IDE7CmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzk6IHggPSAieCI7IHggKj0gMTsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzEwCnggPSAxOwp4ICo9ICJ4IjsKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTA6IHggPSAxOyB4ICo9ICJ4IjsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=",
"commentary":"The production x *= y is the same as the production x = x * y",
"description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object)",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.1_T2.2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICo9IHkgaXMgdGhlIHNhbWUgYXMgdGhlIHByb2R1Y3Rpb24geCA9IHggKiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xX1QyLjMuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQp4ID0gMTsKeCAqPSBudWxsOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzE6IHggPSAxOyB4ICo9IG51bGw7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gbnVsbDsKeCAqPSAxOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzI6IHggPSBudWxsOyB4ICo9IDE7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gbmV3IE51bWJlcigxKTsKeCAqPSBudWxsOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzM6IHggPSBuZXcgTnVtYmVyKDEpOyB4ICo9IG51bGw7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gbnVsbDsKeCAqPSBuZXcgTnVtYmVyKDEpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzQ6IHggPSBudWxsOyB4ICo9IG5ldyBOdW1iZXIoMSk7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==",
"commentary":"The production x *= y is the same as the production x = x * y",
"description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.1_T2.3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICo9IHkgaXMgdGhlIHNhbWUgYXMgdGhlIHByb2R1Y3Rpb24geCA9IHggKiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xX1QyLjQuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCnggPSAxOwp4ICo9IHVuZGVmaW5lZDsKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogeCA9IDE7IHggKj0gdW5kZWZpbmVkOyB4ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gdW5kZWZpbmVkOwp4ICo9IDE7CmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHggPSB1bmRlZmluZWQ7IHggKj0gMTsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IG5ldyBOdW1iZXIoMSk7CnggKj0gdW5kZWZpbmVkOwppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiB4ID0gbmV3IE51bWJlcigxKTsgeCAqPSB1bmRlZmluZWQ7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSB1bmRlZmluZWQ7CnggKj0gbmV3IE51bWJlcigxKTsKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogeCA9IHVuZGVmaW5lZDsgeCAqPSBuZXcgTnVtYmVyKDEpOyB4ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==",
"commentary":"The production x *= y is the same as the production x = x * y",
"description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.1_T2.4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICo9IHkgaXMgdGhlIHNhbWUgYXMgdGhlIHByb2R1Y3Rpb24geCA9IHggKiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xX1QyLjUuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbWQgQm9vbGVhbiAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCnggPSB0cnVlOwp4ICo9ICIxIjsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMxOiB4ID0gdHJ1ZTsgeCAqPSAiMSI7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gIjEiOwp4ICo9IHRydWU7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogeCA9ICIxIjsgeCAqPSB0cnVlOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IG5ldyBCb29sZWFuKHRydWUpOwp4ICo9ICIxIjsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMzOiB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggKj0gIjEiOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9ICIxIjsKeCAqPSBuZXcgQm9vbGVhbih0cnVlKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM0OiB4ID0gIjEiOyB4ICo9IG5ldyBCb29sZWFuKHRydWUpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzUKeCA9IHRydWU7CnggKj0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzU6IHggPSB0cnVlOyB4ICo9IG5ldyBTdHJpbmcoIjEiKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM2CnggPSBuZXcgU3RyaW5nKCIxIik7CnggKj0gdHJ1ZTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM2OiB4ID0gbmV3IFN0cmluZygiMSIpOyB4ICo9IHRydWU7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNwp4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7CnggKj0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzc6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCAqPSBuZXcgU3RyaW5nKCIxIik7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjOAp4ID0gbmV3IFN0cmluZygiMSIpOwp4ICo9IG5ldyBCb29sZWFuKHRydWUpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzg6IHggPSBuZXcgU3RyaW5nKCIxIik7IHggKj0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==",
"commentary":"The production x *= y is the same as the production x = x * y",
"description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) amd Boolean (primitive and object)",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.1_T2.5.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICo9IHkgaXMgdGhlIHNhbWUgYXMgdGhlIHByb2R1Y3Rpb24geCA9IHggKiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xX1QyLjYuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gcHJpbWl0aXZlIFN0cmluZyAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQp4ID0gIjEiOwp4ICo9IHVuZGVmaW5lZDsKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogeCA9ICIxIjsgeCAqPSB1bmRlZmluZWQ7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSB1bmRlZmluZWQ7CnggKj0gIjEiOwppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB4ID0gdW5kZWZpbmVkOyB4ICo9ICIxIjsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IG5ldyBTdHJpbmcoIjEiKTsKeCAqPSB1bmRlZmluZWQ7CmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IHggPSBuZXcgU3RyaW5nKCIxIik7IHggKj0gdW5kZWZpbmVkOyB4ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gdW5kZWZpbmVkOwp4ICo9IG5ldyBTdHJpbmcoIjEiKTsKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogeCA9IHVuZGVmaW5lZDsgeCAqPSBuZXcgU3RyaW5nKCIxIik7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoK",
"commentary":"The production x *= y is the same as the production x = x * y",
"description":"Type(x) is different from Type(y) and both types vary between primitive String (primitive or object) and Undefined",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.1_T2.6.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICo9IHkgaXMgdGhlIHNhbWUgYXMgdGhlIHByb2R1Y3Rpb24geCA9IHggKiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xX1QyLjcuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQp4ID0gIjEiOwp4ICo9IG51bGw7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogeCA9ICIxIjsgeCAqPSBudWxsOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IG51bGw7CnggKj0gIjEiOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzI6IHggPSBudWxsOyB4ICo9ICIxIjsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSBuZXcgU3RyaW5nKCIxIik7CnggKj0gbnVsbDsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMzOiB4ID0gbmV3IFN0cmluZygiMSIpOyB4ICo9IG51bGw7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gbnVsbDsKeCAqPSBuZXcgU3RyaW5nKCIxIik7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogeCA9IG51bGw7IHggKj0gbmV3IFN0cmluZygiMSIpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=",
"commentary":"The production x *= y is the same as the production x = x * y",
"description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.1_T2.7.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICo9IHkgaXMgdGhlIHNhbWUgYXMgdGhlIHByb2R1Y3Rpb24geCA9IHggKiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xX1QyLjguanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gQm9vbGVhbiAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQp4ID0gdHJ1ZTsKeCAqPSB1bmRlZmluZWQ7CmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IHggPSB0cnVlOyB4ICo9IHVuZGVmaW5lZDsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IHVuZGVmaW5lZDsKeCAqPSB0cnVlOwppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB4ID0gdW5kZWZpbmVkOyB4ICo9IHRydWU7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSBuZXcgQm9vbGVhbih0cnVlKTsKeCAqPSB1bmRlZmluZWQ7CmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCAqPSB1bmRlZmluZWQ7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSB1bmRlZmluZWQ7CnggKj0gbmV3IEJvb2xlYW4odHJ1ZSk7CmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6IHggPSB1bmRlZmluZWQ7IHggKj0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoK",
"commentary":"The production x *= y is the same as the production x = x * y",
"description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.1_T2.8.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICo9IHkgaXMgdGhlIHNhbWUgYXMgdGhlIHByb2R1Y3Rpb24geCA9IHggKiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xX1QyLjkuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gQm9vbGVhbiAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIE51bGwKICovCgovL0NIRUNLIzEKeCA9IHRydWU7CnggKj0gbnVsbDsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMxOiB4ID0gdHJ1ZTsgeCAqPSBudWxsOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IG51bGw7CnggKj0gdHJ1ZTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMyOiB4ID0gbnVsbDsgeCAqPSB0cnVlOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IG5ldyBCb29sZWFuKHRydWUpOwp4ICo9IG51bGw7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBCb29sZWFuKHRydWUpOyB4ICo9IG51bGw7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gbnVsbDsKeCAqPSBuZXcgQm9vbGVhbih0cnVlKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM0OiB4ID0gbnVsbDsgeCAqPSBuZXcgQm9vbGVhbih0cnVlKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoK",
"commentary":"The production x *= y is the same as the production x = x * y",
"description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.1_T2.9.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IC89IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggLyB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4yX1QxLjEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBib29sZWFuIGFuZCBCb29sZWFuIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQp4ID0gdHJ1ZTsKeCAvPSB0cnVlOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzE6IHggPSB0cnVlOyB4IC89IHRydWU7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7CnggLz0gdHJ1ZTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMyOiB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggLz0gdHJ1ZTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSB0cnVlOwp4IC89IG5ldyBCb29sZWFuKHRydWUpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzM6IHggPSB0cnVlOyB4IC89IG5ldyBCb29sZWFuKHRydWUpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IG5ldyBCb29sZWFuKHRydWUpOwp4IC89IG5ldyBCb29sZWFuKHRydWUpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzQ6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCAvPSBuZXcgQm9vbGVhbih0cnVlKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoK",
"commentary":"The production x /= y is the same as x = x / y",
"description":"Type(x) and Type(y) vary between primitive boolean and Boolean object",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.2_T1.1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IC89IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggLyB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4yX1QxLjIuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBudW1iZXIgYW5kIE51bWJlciBvYmplY3QKICovCgovL0NIRUNLIzEKeCA9IDE7CnggLz0gMTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMxOiB4ID0gMTsgeCAvPSAxOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IG5ldyBOdW1iZXIoMSk7CnggLz0gMTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMyOiB4ID0gbmV3IE51bWJlcigxKTsgeCAvPSAxOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IDE7CnggLz0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMzOiB4ID0gMTsgeCAvPSBuZXcgTnVtYmVyKDEpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IG5ldyBOdW1iZXIoMSk7CnggLz0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM0OiB4ID0gbmV3IE51bWJlcigxKTsgeCAvPSBuZXcgTnVtYmVyKDEpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgoK",
"commentary":"The production x /= y is the same as x = x / y",
"description":"Type(x) and Type(y) vary between primitive number and Number object",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.2_T1.2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IC89IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggLyB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4yX1QxLjMuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBzdHJpbmcgYW5kIFN0cmluZyBvYmplY3QKICovCgovL0NIRUNLIzEKeCA9ICIxIjsKeCAvPSAiMSI7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogeCA9ICIxIjsgeCAvPSAiMSI7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gbmV3IFN0cmluZygiMSIpOwp4IC89ICIxIjsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMyOiB4ID0gbmV3IFN0cmluZygiMSIpOyB4IC89ICIxIjsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSAiMSI7CnggLz0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzM6IHggPSAiMSI7IHggLz0gbmV3IFN0cmluZygiMSIpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IG5ldyBTdHJpbmcoIjEiKTsKeCAvPSBuZXcgU3RyaW5nKCIxIik7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCAvPSBuZXcgU3RyaW5nKCIxIik7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNQp4ID0gIngiOwp4IC89ICIxIjsKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNTogeCA9ICJ4IjsgeCAvPSAiMSI7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM2CnggPSAiMSI7CnggLz0gIngiOwppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiB4ID0gIjEiOyB4IC89ICJ4IjsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=",
"commentary":"The production x /= y is the same as x = x / y",
"description":"Type(x) and Type(y) vary between primitive string and String object",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.2_T1.3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IC89IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggLyB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4yX1QxLjQuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIE51bGwgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQp4ID0gbnVsbDsKeCAvPSB1bmRlZmluZWQ7CmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IHggPSBudWxsOyB4IC89IHVuZGVmaW5lZDsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IHVuZGVmaW5lZDsKeCAvPSBudWxsOwppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB4ID0gdW5kZWZpbmVkOyB4IC89IG51bGw7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSB1bmRlZmluZWQ7CnggLz0gdW5kZWZpbmVkOwppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiB4ID0gdW5kZWZpbmVkOyB4IC89IHVuZGVmaW5lZDsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IG51bGw7CnggLz0gbnVsbDsKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogeCA9IG51bGw7IHggLz0gbnVsbDsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=",
"commentary":"The production x /= y is the same as x = x / y",
"description":"Type(x) and Type(y) vary between Null and Undefined",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.2_T1.4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IC89IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggLyB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4yX1QyLjEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgQm9vbGVhbiAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCnggPSB0cnVlOwp4IC89IDE7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogeCA9IHRydWU7IHggLz0gMTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSAxOwp4IC89IHRydWU7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogeCA9IDE7IHggLz0gdHJ1ZTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSBuZXcgQm9vbGVhbih0cnVlKTsKeCAvPSAxOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzM6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCAvPSAxOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IDE7CnggLz0gbmV3IEJvb2xlYW4odHJ1ZSk7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogeCA9IDE7IHggLz0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNQp4ID0gdHJ1ZTsKeCAvPSBuZXcgTnVtYmVyKDEpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzU6IHggPSB0cnVlOyB4IC89IG5ldyBOdW1iZXIoMSk7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNgp4ID0gbmV3IE51bWJlcigxKTsKeCAvPSB0cnVlOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzY6IHggPSBuZXcgTnVtYmVyKDEpOyB4IC89IHRydWU7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNwp4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7CnggLz0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM3OiB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggLz0gbmV3IE51bWJlcigxKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM4CnggPSBuZXcgTnVtYmVyKDEpOwp4IC89IG5ldyBCb29sZWFuKHRydWUpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzg6IHggPSBuZXcgTnVtYmVyKDEpOyB4IC89IG5ldyBCb29sZWFuKHRydWUpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=",
"commentary":"The production x /= y is the same as x = x / y",
"description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Boolean (primitive and object)",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.2_T2.1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IC89IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggLyB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4yX1QyLjIuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgU3RyaW5nIChwcmltaXRpdmUgYW5kIG9iamVjdCkKICovCgovL0NIRUNLIzEKeCA9ICIxIjsKeCAvPSAxOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzE6IHggPSAiMSI7IHggLz0gMTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSAxOwp4IC89ICIxIjsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMyOiB4ID0gMTsgeCAvPSAiMSI7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gbmV3IFN0cmluZygiMSIpOwp4IC89IDE7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCAvPSAxOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IDE7CnggLz0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzQ6IHggPSAxOyB4IC89IG5ldyBTdHJpbmcoIjEiKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM1CnggPSAiMSI7CnggLz0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM1OiB4ID0gIjEiOyB4IC89IG5ldyBOdW1iZXIoMSk7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNgp4ID0gbmV3IE51bWJlcigxKTsKeCAvPSAiMSI7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjNjogeCA9IG5ldyBOdW1iZXIoMSk7IHggLz0gIjEiOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzcKeCA9IG5ldyBTdHJpbmcoIjEiKTsKeCAvPSBuZXcgTnVtYmVyKDEpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzc6IHggPSBuZXcgU3RyaW5nKCIxIik7IHggLz0gbmV3IE51bWJlcigxKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM4CnggPSBuZXcgTnVtYmVyKDEpOwp4IC89IG5ldyBTdHJpbmcoIjEiKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM4OiB4ID0gbmV3IE51bWJlcigxKTsgeCAvPSBuZXcgU3RyaW5nKCIxIik7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjOQp4ID0gIngiOwp4IC89IDE7CmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzk6IHggPSAieCI7IHggLz0gMTsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzEwCnggPSAxOwp4IC89ICJ4IjsKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTA6IHggPSAxOyB4IC89ICJ4IjsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=",
"commentary":"The production x /= y is the same as x = x / y",
"description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object)",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.2_T2.2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IC89IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggLyB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4yX1QyLjMuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQp4ID0gMTsKeCAvPSBudWxsOwppZiAoeCAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7CiAgJEVSUk9SKCcjMTogeCA9IDE7IHggLz0gbnVsbDsgeCA9PT0gK0luZmluaXR5LiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IG51bGw7CnggLz0gMTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMyOiB4ID0gbnVsbDsgeCAvPSAxOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IG5ldyBOdW1iZXIoMSk7CnggLz0gbnVsbDsKaWYgKHggIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICRFUlJPUignIzM6IHggPSBuZXcgTnVtYmVyKDEpOyB4IC89IG51bGw7IHggPT09ICtJbmZpbml0eS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSBudWxsOwp4IC89IG5ldyBOdW1iZXIoMSk7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogeCA9IG51bGw7IHggLz0gbmV3IE51bWJlcigxKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoK",
"commentary":"The production x /= y is the same as x = x / y",
"description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.2_T2.3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IC89IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggLyB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4yX1QyLjQuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCnggPSAxOwp4IC89IHVuZGVmaW5lZDsKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogeCA9IDE7IHggLz0gdW5kZWZpbmVkOyB4ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gdW5kZWZpbmVkOwp4IC89IDE7CmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHggPSB1bmRlZmluZWQ7IHggLz0gMTsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IG5ldyBOdW1iZXIoMSk7CnggLz0gdW5kZWZpbmVkOwppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiB4ID0gbmV3IE51bWJlcigxKTsgeCAvPSB1bmRlZmluZWQ7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSB1bmRlZmluZWQ7CnggLz0gbmV3IE51bWJlcigxKTsKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogeCA9IHVuZGVmaW5lZDsgeCAvPSBuZXcgTnVtYmVyKDEpOyB4ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==",
"commentary":"The production x /= y is the same as x = x / y",
"description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.2_T2.4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IC89IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggLyB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4yX1QyLjUuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgQm9vbGVhbiAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCnggPSB0cnVlOwp4IC89ICIxIjsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMxOiB4ID0gdHJ1ZTsgeCAvPSAiMSI7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gIjEiOwp4IC89IHRydWU7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogeCA9ICIxIjsgeCAvPSB0cnVlOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IG5ldyBCb29sZWFuKHRydWUpOwp4IC89ICIxIjsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMzOiB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggLz0gIjEiOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9ICIxIjsKeCAvPSBuZXcgQm9vbGVhbih0cnVlKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM0OiB4ID0gIjEiOyB4IC89IG5ldyBCb29sZWFuKHRydWUpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzUKeCA9IHRydWU7CnggLz0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzU6IHggPSB0cnVlOyB4IC89IG5ldyBTdHJpbmcoIjEiKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM2CnggPSBuZXcgU3RyaW5nKCIxIik7CnggLz0gdHJ1ZTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM2OiB4ID0gbmV3IFN0cmluZygiMSIpOyB4IC89IHRydWU7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNwp4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7CnggLz0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzc6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCAvPSBuZXcgU3RyaW5nKCIxIik7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjOAp4ID0gbmV3IFN0cmluZygiMSIpOwp4IC89IG5ldyBCb29sZWFuKHRydWUpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzg6IHggPSBuZXcgU3RyaW5nKCIxIik7IHggLz0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==",
"commentary":"The production x /= y is the same as x = x / y",
"description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Boolean (primitive and object)",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.2_T2.5.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IC89IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggLyB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4yX1QyLjYuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCnggPSAiMSI7CnggLz0gdW5kZWZpbmVkOwppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiB4ID0gIjEiOyB4IC89IHVuZGVmaW5lZDsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IHVuZGVmaW5lZDsKeCAvPSAiMSI7CmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHggPSB1bmRlZmluZWQ7IHggLz0gIjEiOyB4ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gbmV3IFN0cmluZygiMSIpOwp4IC89IHVuZGVmaW5lZDsKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCAvPSB1bmRlZmluZWQ7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSB1bmRlZmluZWQ7CnggLz0gbmV3IFN0cmluZygiMSIpOwppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiB4ID0gdW5kZWZpbmVkOyB4IC89IG5ldyBTdHJpbmcoIjEiKTsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=",
"commentary":"The production x /= y is the same as x = x / y",
"description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Undefined",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.2_T2.6.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IC89IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggLyB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4yX1QyLjcuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQp4ID0gIjEiOwp4IC89IG51bGw7CmlmICh4ICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHsKICAkRVJST1IoJyMxOiB4ID0gIjEiOyB4IC89IG51bGw7IHggPT09ICtJbmZpbml0eS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSBudWxsOwp4IC89ICIxIjsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMyOiB4ID0gbnVsbDsgeCAvPSAiMSI7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gbmV3IFN0cmluZygiMSIpOwp4IC89IG51bGw7CmlmICh4ICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHsKICAkRVJST1IoJyMzOiB4ID0gbmV3IFN0cmluZygiMSIpOyB4IC89IG51bGw7IHggPT09ICtJbmZpbml0eS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSBudWxsOwp4IC89IG5ldyBTdHJpbmcoIjEiKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM0OiB4ID0gbnVsbDsgeCAvPSBuZXcgU3RyaW5nKCIxIik7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==",
"commentary":"The production x /= y is the same as x = x / y",
"description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.2_T2.7.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IC89IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggLyB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4yX1QyLjguanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gQm9vbGVhbiAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQp4ID0gdHJ1ZTsKeCAvPSB1bmRlZmluZWQ7CmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IHggPSB0cnVlOyB4IC89IHVuZGVmaW5lZDsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IHVuZGVmaW5lZDsKeCAvPSB0cnVlOwppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB4ID0gdW5kZWZpbmVkOyB4IC89IHRydWU7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSBuZXcgQm9vbGVhbih0cnVlKTsKeCAvPSB1bmRlZmluZWQ7CmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCAvPSB1bmRlZmluZWQ7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSB1bmRlZmluZWQ7CnggLz0gbmV3IEJvb2xlYW4odHJ1ZSk7CmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6IHggPSB1bmRlZmluZWQ7IHggLz0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoK",
"commentary":"The production x /= y is the same as x = x / y",
"description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.2_T2.8.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IC89IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggLyB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4yX1QyLjkuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gQm9vbGVhbiAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIE51bGwKICovCgovL0NIRUNLIzEKeCA9IHRydWU7CnggLz0gbnVsbDsKaWYgKHggIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICRFUlJPUignIzE6IHggPSB0cnVlOyB4IC89IG51bGw7IHggPT09ICtJbmZpbml0eS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSBudWxsOwp4IC89IHRydWU7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogeCA9IG51bGw7IHggLz0gdHJ1ZTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSBuZXcgQm9vbGVhbih0cnVlKTsKeCAvPSBudWxsOwppZiAoeCAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBCb29sZWFuKHRydWUpOyB4IC89IG51bGw7IHggPT09ICtJbmZpbml0eS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSBudWxsOwp4IC89IG5ldyBCb29sZWFuKHRydWUpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzQ6IHggPSBudWxsOyB4IC89IG5ldyBCb29sZWFuKHRydWUpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=",
"commentary":"The production x /= y is the same as x = x / y",
"description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.2_T2.9.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICU9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggJSB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4zX1QxLjEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBib29sZWFuIGFuZCBCb29sZWFuIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQp4ID0gdHJ1ZTsKeCAlPSB0cnVlOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzE6IHggPSB0cnVlOyB4ICU9IHRydWU7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7CnggJT0gdHJ1ZTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMyOiB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggJT0gdHJ1ZTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSB0cnVlOwp4ICU9IG5ldyBCb29sZWFuKHRydWUpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzM6IHggPSB0cnVlOyB4ICU9IG5ldyBCb29sZWFuKHRydWUpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IG5ldyBCb29sZWFuKHRydWUpOwp4ICU9IG5ldyBCb29sZWFuKHRydWUpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzQ6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCAlPSBuZXcgQm9vbGVhbih0cnVlKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoK",
"commentary":"The production x %= y is the same as x = x % y",
"description":"Type(x) and Type(y) vary between primitive boolean and Boolean object",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.3_T1.1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICU9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggJSB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4zX1QxLjIuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBudW1iZXIgYW5kIE51bWJlciBvYmplY3QKICovCgovL0NIRUNLIzEKeCA9IDE7CnggJT0gMTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMxOiB4ID0gMTsgeCAlPSAxOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IG5ldyBOdW1iZXIoMSk7CnggJT0gMTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMyOiB4ID0gbmV3IE51bWJlcigxKTsgeCAlPSAxOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IDE7CnggJT0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMzOiB4ID0gMTsgeCAlPSBuZXcgTnVtYmVyKDEpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IG5ldyBOdW1iZXIoMSk7CnggJT0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM0OiB4ID0gbmV3IE51bWJlcigxKTsgeCAlPSBuZXcgTnVtYmVyKDEpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgoK",
"commentary":"The production x %= y is the same as x = x % y",
"description":"Type(x) and Type(y) vary between primitive number and Number object",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.3_T1.2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICU9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggJSB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4zX1QxLjMuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBzdHJpbmcgYW5kIFN0cmluZyBvYmplY3QKICovCgovL0NIRUNLIzEKeCA9ICIxIjsKeCAlPSAiMSI7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogeCA9ICIxIjsgeCAlPSAiMSI7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gbmV3IFN0cmluZygiMSIpOwp4ICU9ICIxIjsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMyOiB4ID0gbmV3IFN0cmluZygiMSIpOyB4ICU9ICIxIjsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSAiMSI7CnggJT0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzM6IHggPSAiMSI7IHggJT0gbmV3IFN0cmluZygiMSIpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IG5ldyBTdHJpbmcoIjEiKTsKeCAlPSBuZXcgU3RyaW5nKCIxIik7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCAlPSBuZXcgU3RyaW5nKCIxIik7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNQp4ID0gIngiOwp4ICU9ICIxIjsKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNTogeCA9ICJ4IjsgeCAlPSAiMSI7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM2CnggPSAiMSI7CnggJT0gIngiOwppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiB4ID0gIjEiOyB4ICU9ICJ4IjsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=",
"commentary":"The production x %= y is the same as x = x % y",
"description":"Type(x) and Type(y) vary between primitive string and String object",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.3_T1.3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICU9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggJSB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4zX1QxLjQuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIE51bGwgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQp4ID0gbnVsbDsKeCAlPSB1bmRlZmluZWQ7CmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IHggPSBudWxsOyB4ICU9IHVuZGVmaW5lZDsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IHVuZGVmaW5lZDsKeCAlPSBudWxsOwppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB4ID0gdW5kZWZpbmVkOyB4ICU9IG51bGw7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSB1bmRlZmluZWQ7CnggJT0gdW5kZWZpbmVkOwppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiB4ID0gdW5kZWZpbmVkOyB4ICU9IHVuZGVmaW5lZDsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IG51bGw7CnggJT0gbnVsbDsKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogeCA9IG51bGw7IHggJT0gbnVsbDsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=",
"commentary":"The production x %= y is the same as x = x % y",
"description":"Type(x) and Type(y) vary between Null and Undefined",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.3_T1.4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICU9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggJSB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4zX1QyLjEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgQm9vbGVhbiAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCnggPSB0cnVlOwp4ICU9IDE7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogeCA9IHRydWU7IHggJT0gMTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSAxOwp4ICU9IHRydWU7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogeCA9IDE7IHggJT0gdHJ1ZTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSBuZXcgQm9vbGVhbih0cnVlKTsKeCAlPSAxOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzM6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCAlPSAxOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IDE7CnggJT0gbmV3IEJvb2xlYW4odHJ1ZSk7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogeCA9IDE7IHggJT0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNQp4ID0gdHJ1ZTsKeCAlPSBuZXcgTnVtYmVyKDEpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzU6IHggPSB0cnVlOyB4ICU9IG5ldyBOdW1iZXIoMSk7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNgp4ID0gbmV3IE51bWJlcigxKTsKeCAlPSB0cnVlOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzY6IHggPSBuZXcgTnVtYmVyKDEpOyB4ICU9IHRydWU7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNwp4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7CnggJT0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM3OiB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggJT0gbmV3IE51bWJlcigxKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM4CnggPSBuZXcgTnVtYmVyKDEpOwp4ICU9IG5ldyBCb29sZWFuKHRydWUpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzg6IHggPSBuZXcgTnVtYmVyKDEpOyB4ICU9IG5ldyBCb29sZWFuKHRydWUpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=",
"commentary":"The production x %= y is the same as x = x % y",
"description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Boolean (primitive and object)",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.3_T2.1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICU9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggJSB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4zX1QyLjIuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgU3RyaW5nIChwcmltaXRpdmUgYW5kIG9iamVjdCkKICovCgovL0NIRUNLIzEKeCA9ICIxIjsKeCAlPSAxOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzE6IHggPSAiMSI7IHggJT0gMTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSAxOwp4ICU9ICIxIjsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMyOiB4ID0gMTsgeCAlPSAiMSI7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gbmV3IFN0cmluZygiMSIpOwp4ICU9IDE7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCAlPSAxOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IDE7CnggJT0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzQ6IHggPSAxOyB4ICU9IG5ldyBTdHJpbmcoIjEiKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM1CnggPSAiMSI7CnggJT0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM1OiB4ID0gIjEiOyB4ICU9IG5ldyBOdW1iZXIoMSk7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNgp4ID0gbmV3IE51bWJlcigxKTsKeCAlPSAiMSI7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjNjogeCA9IG5ldyBOdW1iZXIoMSk7IHggJT0gIjEiOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzcKeCA9IG5ldyBTdHJpbmcoIjEiKTsKeCAlPSBuZXcgTnVtYmVyKDEpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzc6IHggPSBuZXcgU3RyaW5nKCIxIik7IHggJT0gbmV3IE51bWJlcigxKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM4CnggPSBuZXcgTnVtYmVyKDEpOwp4ICU9IG5ldyBTdHJpbmcoIjEiKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM4OiB4ID0gbmV3IE51bWJlcigxKTsgeCAlPSBuZXcgU3RyaW5nKCIxIik7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjOQp4ID0gIngiOwp4ICU9IDE7CmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzk6IHggPSAieCI7IHggJT0gMTsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzEwCnggPSAxOwp4ICU9ICJ4IjsKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTA6IHggPSAxOyB4ICU9ICJ4IjsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=",
"commentary":"The production x %= y is the same as x = x % y",
"description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object)",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.3_T2.2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICU9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggJSB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4zX1QyLjMuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQp4ID0gMTsKeCAlPSBudWxsOwppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiB4ID0gMTsgeCAlPSBudWxsOyB4ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gbnVsbDsKeCAlPSAxOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzI6IHggPSBudWxsOyB4ICU9IDE7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gbmV3IE51bWJlcigxKTsKeCAlPSBudWxsOwppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiB4ID0gbmV3IE51bWJlcigxKTsgeCAlPSBudWxsOyB4ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gbnVsbDsKeCAlPSBuZXcgTnVtYmVyKDEpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzQ6IHggPSBudWxsOyB4ICU9IG5ldyBOdW1iZXIoMSk7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==",
"commentary":"The production x %= y is the same as x = x % y",
"description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.3_T2.3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICU9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggJSB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4zX1QyLjQuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCnggPSAxOwp4ICU9IHVuZGVmaW5lZDsKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogeCA9IDE7IHggJT0gdW5kZWZpbmVkOyB4ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gdW5kZWZpbmVkOwp4ICU9IDE7CmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHggPSB1bmRlZmluZWQ7IHggJT0gMTsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IG5ldyBOdW1iZXIoMSk7CnggJT0gdW5kZWZpbmVkOwppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiB4ID0gbmV3IE51bWJlcigxKTsgeCAlPSB1bmRlZmluZWQ7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSB1bmRlZmluZWQ7CnggJT0gbmV3IE51bWJlcigxKTsKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogeCA9IHVuZGVmaW5lZDsgeCAlPSBuZXcgTnVtYmVyKDEpOyB4ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==",
"commentary":"The production x %= y is the same as x = x % y",
"description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.3_T2.4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICU9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggJSB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4zX1QyLjUuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgQm9vbGVhbiAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCnggPSB0cnVlOwp4ICU9ICIxIjsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMxOiB4ID0gdHJ1ZTsgeCAlPSAiMSI7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gIjEiOwp4ICU9IHRydWU7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogeCA9ICIxIjsgeCAlPSB0cnVlOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IG5ldyBCb29sZWFuKHRydWUpOwp4ICU9ICIxIjsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMzOiB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggJT0gIjEiOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9ICIxIjsKeCAlPSBuZXcgQm9vbGVhbih0cnVlKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM0OiB4ID0gIjEiOyB4ICU9IG5ldyBCb29sZWFuKHRydWUpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzUKeCA9IHRydWU7CnggJT0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzU6IHggPSB0cnVlOyB4ICU9IG5ldyBTdHJpbmcoIjEiKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM2CnggPSBuZXcgU3RyaW5nKCIxIik7CnggJT0gdHJ1ZTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM2OiB4ID0gbmV3IFN0cmluZygiMSIpOyB4ICU9IHRydWU7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNwp4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7CnggJT0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzc6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCAlPSBuZXcgU3RyaW5nKCIxIik7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjOAp4ID0gbmV3IFN0cmluZygiMSIpOwp4ICU9IG5ldyBCb29sZWFuKHRydWUpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzg6IHggPSBuZXcgU3RyaW5nKCIxIik7IHggJT0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==",
"commentary":"The production x %= y is the same as x = x % y",
"description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Boolean (primitive and object)",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.3_T2.5.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICU9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggJSB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4zX1QyLjYuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCnggPSAiMSI7CnggJT0gdW5kZWZpbmVkOwppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiB4ID0gIjEiOyB4ICU9IHVuZGVmaW5lZDsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IHVuZGVmaW5lZDsKeCAlPSAiMSI7CmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHggPSB1bmRlZmluZWQ7IHggJT0gIjEiOyB4ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gbmV3IFN0cmluZygiMSIpOwp4ICU9IHVuZGVmaW5lZDsKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCAlPSB1bmRlZmluZWQ7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSB1bmRlZmluZWQ7CnggJT0gbmV3IFN0cmluZygiMSIpOwppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiB4ID0gdW5kZWZpbmVkOyB4ICU9IG5ldyBTdHJpbmcoIjEiKTsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=",
"commentary":"The production x %= y is the same as x = x % y",
"description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Undefined",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.3_T2.6.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICU9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggJSB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4zX1QyLjcuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQp4ID0gIjEiOwp4ICU9IG51bGw7CmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IHggPSAiMSI7IHggJT0gbnVsbDsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IG51bGw7CnggJT0gIjEiOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzI6IHggPSBudWxsOyB4ICU9ICIxIjsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSBuZXcgU3RyaW5nKCIxIik7CnggJT0gbnVsbDsKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCAlPSBudWxsOyB4ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gbnVsbDsKeCAlPSBuZXcgU3RyaW5nKCIxIik7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogeCA9IG51bGw7IHggJT0gbmV3IFN0cmluZygiMSIpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=",
"commentary":"The production x %= y is the same as x = x % y",
"description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.3_T2.7.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICU9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggJSB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4zX1QyLjguanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gQm9vbGVhbiAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQp4ID0gdHJ1ZTsKeCAlPSB1bmRlZmluZWQ7CmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IHggPSB0cnVlOyB4ICU9IHVuZGVmaW5lZDsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IHVuZGVmaW5lZDsKeCAlPSB0cnVlOwppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB4ID0gdW5kZWZpbmVkOyB4ICU9IHRydWU7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSBuZXcgQm9vbGVhbih0cnVlKTsKeCAlPSB1bmRlZmluZWQ7CmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCAlPSB1bmRlZmluZWQ7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSB1bmRlZmluZWQ7CnggJT0gbmV3IEJvb2xlYW4odHJ1ZSk7CmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6IHggPSB1bmRlZmluZWQ7IHggJT0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoK",
"commentary":"The production x %= y is the same as x = x % y",
"description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.3_T2.8.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICU9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggJSB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4zX1QyLjkuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gQm9vbGVhbiAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIE51bGwKICovCgovL0NIRUNLIzEKeCA9IHRydWU7CnggJT0gbnVsbDsKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogeCA9IHRydWU7IHggJT0gbnVsbDsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IG51bGw7CnggJT0gdHJ1ZTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMyOiB4ID0gbnVsbDsgeCAlPSB0cnVlOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IG5ldyBCb29sZWFuKHRydWUpOwp4ICU9IG51bGw7CmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCAlPSBudWxsOyB4ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gbnVsbDsKeCAlPSBuZXcgQm9vbGVhbih0cnVlKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM0OiB4ID0gbnVsbDsgeCAlPSBuZXcgQm9vbGVhbih0cnVlKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoK",
"commentary":"The production x %= y is the same as x = x % y",
"description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.3_T2.9.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICs9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggKyB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC40X1QxLjEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBib29sZWFuIGFuZCBCb29sZWFuIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQp4ID0gdHJ1ZTsKeCArPSB0cnVlOwppZiAoeCAhPT0gMikgewogICRFUlJPUignIzE6IHggPSB0cnVlOyB4ICs9IHRydWU7IHggPT09IDIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7CnggKz0gdHJ1ZTsKaWYgKHggIT09IDIpIHsKICAkRVJST1IoJyMyOiB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggKz0gdHJ1ZTsgeCA9PT0gMi4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSB0cnVlOwp4ICs9IG5ldyBCb29sZWFuKHRydWUpOwppZiAoeCAhPT0gMikgewogICRFUlJPUignIzM6IHggPSB0cnVlOyB4ICs9IG5ldyBCb29sZWFuKHRydWUpOyB4ID09PSAyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IG5ldyBCb29sZWFuKHRydWUpOwp4ICs9IG5ldyBCb29sZWFuKHRydWUpOwppZiAoeCAhPT0gMikgewogICRFUlJPUignIzQ6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCArPSBuZXcgQm9vbGVhbih0cnVlKTsgeCA9PT0gMi4gQWN0dWFsOiAnICsgKHgpKTsKfQoK",
"commentary":"The production x += y is the same as x = x + y",
"description":"Type(x) and Type(y) vary between primitive boolean and Boolean object",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.4_T1.1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICs9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggKyB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC40X1QxLjIuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBudW1iZXIgYW5kIE51bWJlciBvYmplY3QKICovCgovL0NIRUNLIzEKeCA9IDE7CnggKz0gMTsKaWYgKHggIT09IDIpIHsKICAkRVJST1IoJyMxOiB4ID0gMTsgeCArPSAxOyB4ID09PSAyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IG5ldyBOdW1iZXIoMSk7CnggKz0gMTsKaWYgKHggIT09IDIpIHsKICAkRVJST1IoJyMyOiB4ID0gbmV3IE51bWJlcigxKTsgeCArPSAxOyB4ID09PSAyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IDE7CnggKz0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDIpIHsKICAkRVJST1IoJyMzOiB4ID0gMTsgeCArPSBuZXcgTnVtYmVyKDEpOyB4ID09PSAyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IG5ldyBOdW1iZXIoMSk7CnggKz0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDIpIHsKICAkRVJST1IoJyM0OiB4ID0gbmV3IE51bWJlcigxKTsgeCArPSBuZXcgTnVtYmVyKDEpOyB4ID09PSAyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgoK",
"commentary":"The production x += y is the same as x = x + y",
"description":"Type(x) and Type(y) vary between primitive number and Number object",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.4_T1.2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICs9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggKyB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC40X1QxLjMuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIE51bGwgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQp4ID0gbnVsbDsKeCArPSB1bmRlZmluZWQ7CmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IHggPSBudWxsOyB4ICs9IHVuZGVmaW5lZDsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IHVuZGVmaW5lZDsKeCArPSBudWxsOwppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB4ID0gdW5kZWZpbmVkOyB4ICs9IG51bGw7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSB1bmRlZmluZWQ7CnggKz0gdW5kZWZpbmVkOwppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiB4ID0gdW5kZWZpbmVkOyB4ICs9IHVuZGVmaW5lZDsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IG51bGw7CnggKz0gbnVsbDsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM0OiB4ID0gbnVsbDsgeCArPSBudWxsOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=",
"commentary":"The production x += y is the same as x = x + y",
"description":"Type(x) and Type(y) vary between Null and Undefined",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.4_T1.3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICs9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggKyB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC40X1QxLjQuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBzdHJpbmcgYW5kIFN0cmluZyBvYmplY3QKICovCgovL0NIRUNLIzEKeCA9ICIxIjsKeCArPSAiMSI7CmlmICh4ICE9PSAiMTEiKSB7CiAgJEVSUk9SKCcjMTogeCA9ICIxIjsgeCArPSAiMSI7IHggPT09ICIxMSIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gbmV3IFN0cmluZygiMSIpOwp4ICs9ICIxIjsKaWYgKHggIT09ICIxMSIpIHsKICAkRVJST1IoJyMyOiB4ID0gbmV3IFN0cmluZygiMSIpOyB4ICs9ICIxIjsgeCA9PT0gIjExIi4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSAiMSI7CnggKz0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gIjExIikgewogICRFUlJPUignIzM6IHggPSAiMSI7IHggKz0gbmV3IFN0cmluZygiMSIpOyB4ID09PSAiMTEiLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IG5ldyBTdHJpbmcoIjEiKTsKeCArPSBuZXcgU3RyaW5nKCIxIik7CmlmICh4ICE9PSAiMTEiKSB7CiAgJEVSUk9SKCcjNDogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCArPSBuZXcgU3RyaW5nKCIxIik7IHggPT09ICIxMSIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNQppZiAoIngiICsgIjEiICE9PSJ4MSIpIHsKICAkRVJST1IoJyM1OiB4ID0gIngiOyB4ICs9ICIxIjsgeCA9PT0gIngxIi4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM2CnggPSAiMSI7CnggKz0gIngiOwppZiAoeCAhPT0gIjF4IikgewogICRFUlJPUignIzY6IHggPSAiMSI7IHggKz0gIngiOyB4ID09PSAiMXgiLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=",
"commentary":"The production x += y is the same as x = x + y",
"description":"Type(x) and Type(y) vary between primitive string and String object",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.4_T1.4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICs9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggKyB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC40X1QyLjEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgQm9vbGVhbiAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCnggPSB0cnVlOwp4ICs9IDE7CmlmICh4ICE9PSAyKSB7CiAgJEVSUk9SKCcjMTogeCA9IHRydWU7IHggKz0gMTsgeCA9PT0gMi4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSAxOwp4ICs9IHRydWU7CmlmICh4ICE9PSAyKSB7CiAgJEVSUk9SKCcjMjogeCA9IDE7IHggKz0gdHJ1ZTsgeCA9PT0gMi4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSBuZXcgQm9vbGVhbih0cnVlKTsKeCArPSAxOwppZiAoeCAhPT0gMikgewogICRFUlJPUignIzM6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCArPSAxOyB4ID09PSAyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IDE7CnggKz0gbmV3IEJvb2xlYW4odHJ1ZSk7CmlmICh4ICE9PSAyKSB7CiAgJEVSUk9SKCcjNDogeCA9IDE7IHggKz0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPT09IDIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNQp4ID0gdHJ1ZTsKeCArPSBuZXcgTnVtYmVyKDEpOwppZiAoeCAhPT0gMikgewogICRFUlJPUignIzU6IHggPSB0cnVlOyB4ICs9IG5ldyBOdW1iZXIoMSk7IHggPT09IDIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNgp4ID0gbmV3IE51bWJlcigxKTsKeCArPSB0cnVlOwppZiAoeCAhPT0gMikgewogICRFUlJPUignIzY6IHggPSBuZXcgTnVtYmVyKDEpOyB4ICs9IHRydWU7IHggPT09IDIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNwp4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7CnggKz0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDIpIHsKICAkRVJST1IoJyM3OiB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggKz0gbmV3IE51bWJlcigxKTsgeCA9PT0gMi4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM4CnggPSBuZXcgTnVtYmVyKDEpOwp4ICs9IG5ldyBCb29sZWFuKHRydWUpOwppZiAoeCAhPT0gMikgewogICRFUlJPUignIzg6IHggPSBuZXcgTnVtYmVyKDEpOyB4ICs9IG5ldyBCb29sZWFuKHRydWUpOyB4ID09PSAyLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=",
"commentary":"The production x += y is the same as x = x + y",
"description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Boolean (primitive and object)",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.4_T2.1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICs9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggKyB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC40X1QyLjIuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQp4ID0gMTsKeCArPSBudWxsOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzE6IHggPSAxOyB4ICs9IG51bGw7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gbnVsbDsKeCArPSAxOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzI6IHggPSBudWxsOyB4ICs9IDE7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gbmV3IE51bWJlcigxKTsKeCArPSBudWxsOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzM6IHggPSBuZXcgTnVtYmVyKDEpOyB4ICs9IG51bGw7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gbnVsbDsKeCArPSBuZXcgTnVtYmVyKDEpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzQ6IHggPSBudWxsOyB4ICs9IG5ldyBOdW1iZXIoMSk7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==",
"commentary":"The production x += y is the same as x = x + y",
"description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.4_T2.2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICs9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggKyB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC40X1QyLjMuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCnggPSAxOwp4ICs9IHVuZGVmaW5lZDsKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogeCA9IDE7IHggKz0gdW5kZWZpbmVkOyB4ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gdW5kZWZpbmVkOwp4ICs9IDE7CmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHggPSB1bmRlZmluZWQ7IHggKz0gMTsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IG5ldyBOdW1iZXIoMSk7CnggKz0gdW5kZWZpbmVkOwppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiB4ID0gbmV3IE51bWJlcigxKTsgeCArPSB1bmRlZmluZWQ7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSB1bmRlZmluZWQ7CnggKz0gbmV3IE51bWJlcigxKTsKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogeCA9IHVuZGVmaW5lZDsgeCArPSBuZXcgTnVtYmVyKDEpOyB4ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==",
"commentary":"The production x += y is the same as x = x + y",
"description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.4_T2.3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICs9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggKyB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC40X1QyLjQuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gQm9vbGVhbiAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQp4ID0gdHJ1ZTsKeCArPSB1bmRlZmluZWQ7CmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IHggPSB0cnVlOyB4ICs9IHVuZGVmaW5lZDsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IHVuZGVmaW5lZDsKeCArPSB0cnVlOwppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB4ID0gdW5kZWZpbmVkOyB4ICs9IHRydWU7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSBuZXcgQm9vbGVhbih0cnVlKTsKeCArPSB1bmRlZmluZWQ7CmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCArPSB1bmRlZmluZWQ7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSB1bmRlZmluZWQ7CnggKz0gbmV3IEJvb2xlYW4odHJ1ZSk7CmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6IHggPSB1bmRlZmluZWQ7IHggKz0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoK",
"commentary":"The production x += y is the same as x = x + y",
"description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.4_T2.4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICs9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggKyB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC40X1QyLjUuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gQm9vbGVhbiAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIE51bGwKICovCgovL0NIRUNLIzEKeCA9IHRydWU7CnggKz0gbnVsbDsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMxOiB4ID0gdHJ1ZTsgeCArPSBudWxsOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IG51bGw7CnggKz0gdHJ1ZTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMyOiB4ID0gbnVsbDsgeCArPSB0cnVlOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IG5ldyBCb29sZWFuKHRydWUpOwp4ICs9IG51bGw7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBCb29sZWFuKHRydWUpOyB4ICs9IG51bGw7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gbnVsbDsKeCArPSBuZXcgQm9vbGVhbih0cnVlKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM0OiB4ID0gbnVsbDsgeCArPSBuZXcgQm9vbGVhbih0cnVlKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoK",
"commentary":"The production x += y is the same as x = x + y",
"description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.4_T2.5.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICs9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggKyB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC40X1QyLjYuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgU3RyaW5nIChwcmltaXRpdmUgYW5kIG9iamVjdCkKICovCgovL0NIRUNLIzEKeCA9ICIxIjsKeCArPSAxOwppZiAoeCAhPT0gIjExIikgewogICRFUlJPUignIzE6IHggPSAiMSI7IHggKz0gMTsgeCA9PT0gIjExIi4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSAxOwp4ICs9ICIxIjsKaWYgKHggIT09ICIxMSIpIHsKICAkRVJST1IoJyMyOiB4ID0gMTsgeCArPSAiMSI7IHggPT09ICIxMSIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gbmV3IFN0cmluZygiMSIpOwp4ICs9IDE7CmlmICh4ICE9PSAiMTEiKSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCArPSAxOyB4ID09PSAiMTEiLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IDE7CnggKz0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gIjExIikgewogICRFUlJPUignIzQ6IHggPSAxOyB4ICs9IG5ldyBTdHJpbmcoIjEiKTsgeCA9PT0gIjExIi4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM1CnggPSAiMSI7CnggKz0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09ICIxMSIpIHsKICAkRVJST1IoJyM1OiB4ID0gIjEiOyB4ICs9IG5ldyBOdW1iZXIoMSk7IHggPT09ICIxMSIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNgp4ID0gbmV3IE51bWJlcigxKTsKeCArPSAiMSI7CmlmICh4ICE9PSAiMTEiKSB7CiAgJEVSUk9SKCcjNjogeCA9IG5ldyBOdW1iZXIoMSk7IHggKz0gIjEiOyB4ID09PSAiMTEiLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzcKeCA9IG5ldyBTdHJpbmcoIjEiKTsKeCArPSBuZXcgTnVtYmVyKDEpOwppZiAoeCAhPT0gIjExIikgewogICRFUlJPUignIzc6IHggPSBuZXcgU3RyaW5nKCIxIik7IHggKz0gbmV3IE51bWJlcigxKTsgeCA9PT0gIjExIi4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM4CnggPSBuZXcgTnVtYmVyKDEpOwp4ICs9IG5ldyBTdHJpbmcoIjEiKTsKaWYgKHggIT09ICIxMSIpIHsKICAkRVJST1IoJyM4OiB4ID0gbmV3IE51bWJlcigxKTsgeCArPSBuZXcgU3RyaW5nKCIxIik7IHggPT09ICIxMSIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjOQppZiAoIngiICsgMSAhPT0ieDEiKSB7CiAgJEVSUk9SKCcjOTogeCA9ICJ4IjsgeCArPSAxOyB4ID09PSAieDEiLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzEwCnggPSAxOwp4ICs9ICJ4IjsKaWYgKHggIT09ICIxeCIpIHsKICAkRVJST1IoJyMxMDogeCA9IDE7IHggKz0gIngiOyB4ID09PSAiMXgiLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=",
"commentary":"The production x += y is the same as x = x + y",
"description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object)",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.4_T2.6.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICs9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggKyB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC40X1QyLjcuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgQm9vbGVhbiAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCnggPSB0cnVlOwp4ICs9ICIxIjsKaWYgKHggIT09ICJ0cnVlMSIpIHsKICAkRVJST1IoJyMxOiB4ID0gdHJ1ZTsgeCArPSAiMSI7IHggPT09ICJ0cnVlMSIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gIjEiOwp4ICs9IHRydWU7CmlmICh4ICE9PSAiMXRydWUiKSB7CiAgJEVSUk9SKCcjMjogeCA9ICIxIjsgeCArPSB0cnVlOyB4ID09PSAiMXRydWUiLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IG5ldyBCb29sZWFuKHRydWUpOwp4ICs9ICIxIjsKaWYgKHggIT09ICJ0cnVlMSIpIHsKICAkRVJST1IoJyMzOiB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggKz0gIjEiOyB4ID09PSAidHJ1ZTEiLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9ICIxIjsKeCArPSBuZXcgQm9vbGVhbih0cnVlKTsKaWYgKHggIT09ICIxdHJ1ZSIpIHsKICAkRVJST1IoJyM0OiB4ID0gIjEiOyB4ICs9IG5ldyBCb29sZWFuKHRydWUpOyB4ID09PSAiMXRydWUiLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzUKeCA9IHRydWU7CnggKz0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gInRydWUxIikgewogICRFUlJPUignIzU6IHggPSB0cnVlOyB4ICs9IG5ldyBTdHJpbmcoIjEiKTsgeCA9PT0gInRydWUxIi4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM2CnggPSBuZXcgU3RyaW5nKCIxIik7CnggKz0gdHJ1ZTsKaWYgKHggIT09ICIxdHJ1ZSIpIHsKICAkRVJST1IoJyM2OiB4ID0gbmV3IFN0cmluZygiMSIpOyB4ICs9IHRydWU7IHggPT09ICIxdHJ1ZSIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNwp4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7CnggKz0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gInRydWUxIikgewogICRFUlJPUignIzc6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCArPSBuZXcgU3RyaW5nKCIxIik7IHggPT09ICJ0cnVlMSIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjOAp4ID0gbmV3IFN0cmluZygiMSIpOwp4ICs9IG5ldyBCb29sZWFuKHRydWUpOwppZiAoeCAhPT0gIjF0cnVlIikgewogICRFUlJPUignIzg6IHggPSBuZXcgU3RyaW5nKCIxIik7IHggKz0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPT09ICIxdHJ1ZSIuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==",
"commentary":"The production x += y is the same as x = x + y",
"description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Boolean (primitive and object)",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.4_T2.7.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICs9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggKyB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC40X1QyLjguanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCnggPSAiMSI7CnggKz0gdW5kZWZpbmVkOwppZiAoeCAhPT0gIjF1bmRlZmluZWQiKSB7CiAgJEVSUk9SKCcjMTogeCA9ICIxIjsgeCArPSB1bmRlZmluZWQ7IHggPT09ICIxdW5kZWZpbmVkIi4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSB1bmRlZmluZWQ7CnggKz0gIjEiOwppZiAoeCAhPT0gInVuZGVmaW5lZDEiKSB7CiAgJEVSUk9SKCcjMjogeCA9IHVuZGVmaW5lZDsgeCArPSAiMSI7IHggPT09ICJ1bmRlZmluZWQxIi4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSBuZXcgU3RyaW5nKCIxIik7CnggKz0gdW5kZWZpbmVkOwppZiAoeCAhPT0gIjF1bmRlZmluZWQiKSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCArPSB1bmRlZmluZWQ7IHggPT09ICIxdW5kZWZpbmVkIi4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSB1bmRlZmluZWQ7CnggKz0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gInVuZGVmaW5lZDEiKSB7CiAgJEVSUk9SKCcjNDogeCA9IHVuZGVmaW5lZDsgeCArPSBuZXcgU3RyaW5nKCIxIik7IHggPT09ICJ1bmRlZmluZWQxIi4gQWN0dWFsOiAnICsgKHgpKTsKfQoK",
"commentary":"The production x += y is the same as x = x + y",
"description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Undefined",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.4_T2.8.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICs9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggKyB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC40X1QyLjkuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQp4ID0gIjEiOwp4ICs9IG51bGw7CmlmICh4ICE9PSAiMW51bGwiKSB7CiAgJEVSUk9SKCcjMTogeCA9ICIxIjsgeCArPSBudWxsOyB4ID09PSAiMW51bGwiLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IG51bGw7CnggKz0gIjEiOwppZiAoeCAhPT0gIm51bGwxIikgewogICRFUlJPUignIzI6IHggPSBudWxsOyB4ICs9ICIxIjsgeCA9PT0gIm51bGwxIi4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSBuZXcgU3RyaW5nKCIxIik7CnggKz0gbnVsbDsKaWYgKHggIT09ICIxbnVsbCIpIHsKICAkRVJST1IoJyMzOiB4ID0gbmV3IFN0cmluZygiMSIpOyB4ICs9IG51bGw7IHggPT09ICIxbnVsbCIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gbnVsbDsKeCArPSBuZXcgU3RyaW5nKCIxIik7CmlmICh4ICE9PSAibnVsbDEiKSB7CiAgJEVSUk9SKCcjNDogeCA9IG51bGw7IHggKz0gbmV3IFN0cmluZygiMSIpOyB4ID09PSAibnVsbDEiLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=",
"commentary":"The production x += y is the same as x = x + y",
"description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.4_T2.9.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IC09IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggLSB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC41X1QxLjEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBib29sZWFuIGFuZCBCb29sZWFuIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQp4ID0gdHJ1ZTsKeCAtPSB0cnVlOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzE6IHggPSB0cnVlOyB4IC09IHRydWU7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7CnggLT0gdHJ1ZTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMyOiB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggLT0gdHJ1ZTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSB0cnVlOwp4IC09IG5ldyBCb29sZWFuKHRydWUpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzM6IHggPSB0cnVlOyB4IC09IG5ldyBCb29sZWFuKHRydWUpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IG5ldyBCb29sZWFuKHRydWUpOwp4IC09IG5ldyBCb29sZWFuKHRydWUpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzQ6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCAtPSBuZXcgQm9vbGVhbih0cnVlKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoK",
"commentary":"The production x -= y is the same as x = x - y",
"description":"Type(x) and Type(y) vary between primitive boolean and Boolean object",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.5_T1.1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IC09IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggLSB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC41X1QxLjIuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBudW1iZXIgYW5kIE51bWJlciBvYmplY3QKICovCgovL0NIRUNLIzEKeCA9IDE7CnggLT0gMTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMxOiB4ID0gMTsgeCAtPSAxOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IG5ldyBOdW1iZXIoMSk7CnggLT0gMTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMyOiB4ID0gbmV3IE51bWJlcigxKTsgeCAtPSAxOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IDE7CnggLT0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMzOiB4ID0gMTsgeCAtPSBuZXcgTnVtYmVyKDEpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IG5ldyBOdW1iZXIoMSk7CnggLT0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM0OiB4ID0gbmV3IE51bWJlcigxKTsgeCAtPSBuZXcgTnVtYmVyKDEpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgoK",
"commentary":"The production x -= y is the same as x = x - y",
"description":"Type(x) and Type(y) vary between primitive number and Number object",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.5_T1.2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IC09IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggLSB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC41X1QxLjMuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBzdHJpbmcgYW5kIFN0cmluZyBvYmplY3QKICovCgovL0NIRUNLIzEKeCA9ICIxIjsKeCAtPSAiMSI7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogeCA9ICIxIjsgeCAtPSAiMSI7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gbmV3IFN0cmluZygiMSIpOwp4IC09ICIxIjsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMyOiB4ID0gbmV3IFN0cmluZygiMSIpOyB4IC09ICIxIjsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSAiMSI7CnggLT0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzM6IHggPSAiMSI7IHggLT0gbmV3IFN0cmluZygiMSIpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IG5ldyBTdHJpbmcoIjEiKTsKeCAtPSBuZXcgU3RyaW5nKCIxIik7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCAtPSBuZXcgU3RyaW5nKCIxIik7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNQp4ID0gIngiOwp4IC09ICIxIjsKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNTogeCA9ICJ4IjsgeCAtPSAiMSI7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM2CnggPSAiMSI7CnggLT0gIngiOwppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiB4ID0gIjEiOyB4IC09ICJ4IjsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=",
"commentary":"The production x -= y is the same as x = x - y",
"description":"Type(x) and Type(y) vary between primitive string and String object",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.5_T1.3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IC09IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggLSB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC41X1QxLjQuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIE51bGwgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQp4ID0gbnVsbDsKeCAtPSB1bmRlZmluZWQ7CmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IHggPSBudWxsOyB4IC09IHVuZGVmaW5lZDsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IHVuZGVmaW5lZDsKeCAtPSBudWxsOwppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB4ID0gdW5kZWZpbmVkOyB4IC09IG51bGw7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSB1bmRlZmluZWQ7CnggLT0gdW5kZWZpbmVkOwppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiB4ID0gdW5kZWZpbmVkOyB4IC09IHVuZGVmaW5lZDsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IG51bGw7CnggLT0gbnVsbDsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM0OiB4ID0gbnVsbDsgeCAtPSBudWxsOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=",
"commentary":"The production x -= y is the same as x = x - y",
"description":"Type(x) and Type(y) vary between Null and Undefined",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.5_T1.4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IC09IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggLSB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC41X1QyLjEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgQm9vbGVhbiAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCnggPSB0cnVlOwp4IC09IDE7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogeCA9IHRydWU7IHggLT0gMTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSAxOwp4IC09IHRydWU7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogeCA9IDE7IHggLT0gdHJ1ZTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSBuZXcgQm9vbGVhbih0cnVlKTsKeCAtPSAxOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzM6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCAtPSAxOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IDE7CnggLT0gbmV3IEJvb2xlYW4odHJ1ZSk7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogeCA9IDE7IHggLT0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNQp4ID0gdHJ1ZTsKeCAtPSBuZXcgTnVtYmVyKDEpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzU6IHggPSB0cnVlOyB4IC09IG5ldyBOdW1iZXIoMSk7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNgp4ID0gbmV3IE51bWJlcigxKTsKeCAtPSB0cnVlOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzY6IHggPSBuZXcgTnVtYmVyKDEpOyB4IC09IHRydWU7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNwp4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7CnggLT0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM3OiB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggLT0gbmV3IE51bWJlcigxKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM4CnggPSBuZXcgTnVtYmVyKDEpOwp4IC09IG5ldyBCb29sZWFuKHRydWUpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzg6IHggPSBuZXcgTnVtYmVyKDEpOyB4IC09IG5ldyBCb29sZWFuKHRydWUpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=",
"commentary":"The production x -= y is the same as x = x - y",
"description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Boolean (primitive and object)",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.5_T2.1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IC09IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggLSB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC41X1QyLjIuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgU3RyaW5nIChwcmltaXRpdmUgYW5kIG9iamVjdCkKICovCgovL0NIRUNLIzEKeCA9ICIxIjsKeCAtPSAxOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzE6IHggPSAiMSI7IHggLT0gMTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSAxOwp4IC09ICIxIjsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMyOiB4ID0gMTsgeCAtPSAiMSI7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gbmV3IFN0cmluZygiMSIpOwp4IC09IDE7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCAtPSAxOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IDE7CnggLT0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzQ6IHggPSAxOyB4IC09IG5ldyBTdHJpbmcoIjEiKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM1CnggPSAiMSI7CnggLT0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM1OiB4ID0gIjEiOyB4IC09IG5ldyBOdW1iZXIoMSk7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNgp4ID0gbmV3IE51bWJlcigxKTsKeCAtPSAiMSI7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjNjogeCA9IG5ldyBOdW1iZXIoMSk7IHggLT0gIjEiOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzcKeCA9IG5ldyBTdHJpbmcoIjEiKTsKeCAtPSBuZXcgTnVtYmVyKDEpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzc6IHggPSBuZXcgU3RyaW5nKCIxIik7IHggLT0gbmV3IE51bWJlcigxKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM4CnggPSBuZXcgTnVtYmVyKDEpOwp4IC09IG5ldyBTdHJpbmcoIjEiKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM4OiB4ID0gbmV3IE51bWJlcigxKTsgeCAtPSBuZXcgU3RyaW5nKCIxIik7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjOQp4ID0gIngiOwp4IC09IDE7CmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzk6IHggPSAieCI7IHggLT0gMTsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzEwCnggPSAxOwp4IC09ICJ4IjsKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTA6IHggPSAxOyB4IC09ICJ4IjsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=",
"commentary":"The production x -= y is the same as x = x - y",
"description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object)",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.5_T2.2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IC09IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggLSB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC41X1QyLjMuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQp4ID0gMTsKeCAtPSBudWxsOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzE6IHggPSAxOyB4IC09IG51bGw7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gbnVsbDsKeCAtPSAxOwppZiAoeCAhPT0gLTEpIHsKICAkRVJST1IoJyMyOiB4ID0gbnVsbDsgeCAtPSAxOyB4ID09PSAtMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSBuZXcgTnVtYmVyKDEpOwp4IC09IG51bGw7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBOdW1iZXIoMSk7IHggLT0gbnVsbDsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSBudWxsOwp4IC09IG5ldyBOdW1iZXIoMSk7CmlmICh4ICE9PSAtMSkgewogICRFUlJPUignIzQ6IHggPSBudWxsOyB4IC09IG5ldyBOdW1iZXIoMSk7IHggPT09IC0xLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=",
"commentary":"The production x -= y is the same as x = x - y",
"description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.5_T2.3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IC09IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggLSB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC41X1QyLjQuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCnggPSAxOwp4IC09IHVuZGVmaW5lZDsKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogeCA9IDE7IHggLT0gdW5kZWZpbmVkOyB4ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gdW5kZWZpbmVkOwp4IC09IDE7CmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHggPSB1bmRlZmluZWQ7IHggLT0gMTsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IG5ldyBOdW1iZXIoMSk7CnggLT0gdW5kZWZpbmVkOwppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiB4ID0gbmV3IE51bWJlcigxKTsgeCAtPSB1bmRlZmluZWQ7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSB1bmRlZmluZWQ7CnggLT0gbmV3IE51bWJlcigxKTsKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogeCA9IHVuZGVmaW5lZDsgeCAtPSBuZXcgTnVtYmVyKDEpOyB4ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==",
"commentary":"The production x -= y is the same as x = x - y",
"description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.5_T2.4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IC09IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggLSB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC41X1QyLjUuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgQm9vbGVhbiAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCnggPSB0cnVlOwp4IC09ICIxIjsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMxOiB4ID0gdHJ1ZTsgeCAtPSAiMSI7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gIjEiOwp4IC09IHRydWU7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogeCA9ICIxIjsgeCAtPSB0cnVlOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IG5ldyBCb29sZWFuKHRydWUpOwp4IC09ICIxIjsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMzOiB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggLT0gIjEiOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9ICIxIjsKeCAtPSBuZXcgQm9vbGVhbih0cnVlKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM0OiB4ID0gIjEiOyB4IC09IG5ldyBCb29sZWFuKHRydWUpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzUKeCA9IHRydWU7CnggLT0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzU6IHggPSB0cnVlOyB4IC09IG5ldyBTdHJpbmcoIjEiKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM2CnggPSBuZXcgU3RyaW5nKCIxIik7CnggLT0gdHJ1ZTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM2OiB4ID0gbmV3IFN0cmluZygiMSIpOyB4IC09IHRydWU7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNwp4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7CnggLT0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzc6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCAtPSBuZXcgU3RyaW5nKCIxIik7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjOAp4ID0gbmV3IFN0cmluZygiMSIpOwp4IC09IG5ldyBCb29sZWFuKHRydWUpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzg6IHggPSBuZXcgU3RyaW5nKCIxIik7IHggLT0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==",
"commentary":"The production x -= y is the same as x = x - y",
"description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Boolean (primitive and object)",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.5_T2.5.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IC09IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggLSB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC41X1QyLjYuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCnggPSAiMSI7CnggLT0gdW5kZWZpbmVkOwppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiB4ID0gIjEiOyB4IC09IHVuZGVmaW5lZDsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IHVuZGVmaW5lZDsKeCAtPSAiMSI7CmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHggPSB1bmRlZmluZWQ7IHggLT0gIjEiOyB4ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gbmV3IFN0cmluZygiMSIpOwp4IC09IHVuZGVmaW5lZDsKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCAtPSB1bmRlZmluZWQ7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSB1bmRlZmluZWQ7CnggLT0gbmV3IFN0cmluZygiMSIpOwppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiB4ID0gdW5kZWZpbmVkOyB4IC09IG5ldyBTdHJpbmcoIjEiKTsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=",
"commentary":"The production x -= y is the same as x = x - y",
"description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Undefined",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.5_T2.6.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IC09IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggLSB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC41X1QyLjcuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQp4ID0gIjEiOwp4IC09IG51bGw7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogeCA9ICIxIjsgeCAtPSBudWxsOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IG51bGw7CnggLT0gIjEiOwppZiAoeCAhPT0gLTEpIHsKICAkRVJST1IoJyMyOiB4ID0gbnVsbDsgeCAtPSAiMSI7IHggPT09IC0xLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IG5ldyBTdHJpbmcoIjEiKTsKeCAtPSBudWxsOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzM6IHggPSBuZXcgU3RyaW5nKCIxIik7IHggLT0gbnVsbDsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSBudWxsOwp4IC09IG5ldyBTdHJpbmcoIjEiKTsKaWYgKHggIT09IC0xKSB7CiAgJEVSUk9SKCcjNDogeCA9IG51bGw7IHggLT0gbmV3IFN0cmluZygiMSIpOyB4ID09PSAtMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoK",
"commentary":"The production x -= y is the same as x = x - y",
"description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.5_T2.7.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IC09IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggLSB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC41X1QyLjguanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gQm9vbGVhbiAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQp4ID0gdHJ1ZTsKeCAtPSB1bmRlZmluZWQ7CmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IHggPSB0cnVlOyB4IC09IHVuZGVmaW5lZDsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IHVuZGVmaW5lZDsKeCAtPSB0cnVlOwppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB4ID0gdW5kZWZpbmVkOyB4IC09IHRydWU7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSBuZXcgQm9vbGVhbih0cnVlKTsKeCAtPSB1bmRlZmluZWQ7CmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCAtPSB1bmRlZmluZWQ7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSB1bmRlZmluZWQ7CnggLT0gbmV3IEJvb2xlYW4odHJ1ZSk7CmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6IHggPSB1bmRlZmluZWQ7IHggLT0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoK",
"commentary":"The production x -= y is the same as x = x - y",
"description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.5_T2.8.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IC09IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggLSB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC41X1QyLjkuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gQm9vbGVhbiAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIE51bGwKICovCgovL0NIRUNLIzEKeCA9IHRydWU7CnggLT0gbnVsbDsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMxOiB4ID0gdHJ1ZTsgeCAtPSBudWxsOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IG51bGw7CnggLT0gdHJ1ZTsKaWYgKHggIT09IC0xKSB7CiAgJEVSUk9SKCcjMjogeCA9IG51bGw7IHggLT0gdHJ1ZTsgeCA9PT0gLTEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7CnggLT0gbnVsbDsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMzOiB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggLT0gbnVsbDsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSBudWxsOwp4IC09IG5ldyBCb29sZWFuKHRydWUpOwppZiAoeCAhPT0gLTEpIHsKICAkRVJST1IoJyM0OiB4ID0gbnVsbDsgeCAtPSBuZXcgQm9vbGVhbih0cnVlKTsgeCA9PT0gLTEuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==",
"commentary":"The production x -= y is the same as x = x - y",
"description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.5_T2.9.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IDw8PSB5IGlzIHRoZSBzYW1lIGFzIHggPSB4IDw8IHkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0E0LjZfVDEuMS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBhbmQgVHlwZSh5KSB2YXJ5IGJldHdlZW4gcHJpbWl0aXZlIGJvb2xlYW4gYW5kIEJvb2xlYW4gb2JqZWN0CiAqLwoKLy9DSEVDSyMxCnggPSB0cnVlOwp4IDw8PSB0cnVlOwppZiAoeCAhPT0gMikgewogICRFUlJPUignIzE6IHggPSB0cnVlOyB4IDw8PSB0cnVlOyB4ID09PSAyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IG5ldyBCb29sZWFuKHRydWUpOwp4IDw8PSB0cnVlOwppZiAoeCAhPT0gMikgewogICRFUlJPUignIzI6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCA8PD0gdHJ1ZTsgeCA9PT0gMi4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSB0cnVlOwp4IDw8PSBuZXcgQm9vbGVhbih0cnVlKTsKaWYgKHggIT09IDIpIHsKICAkRVJST1IoJyMzOiB4ID0gdHJ1ZTsgeCA8PD0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPT09IDIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7CnggPDw9IG5ldyBCb29sZWFuKHRydWUpOwppZiAoeCAhPT0gMikgewogICRFUlJPUignIzQ6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCA8PD0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPT09IDIuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==",
"commentary":"The production x <<= y is the same as x = x << y",
"description":"Type(x) and Type(y) vary between primitive boolean and Boolean object",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.6_T1.1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IDw8PSB5IGlzIHRoZSBzYW1lIGFzIHggPSB4IDw8IHkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0E0LjZfVDEuMi5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBhbmQgVHlwZSh5KSB2YXJ5IGJldHdlZW4gcHJpbWl0aXZlIG51bWJlciBhbmQgTnVtYmVyIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQp4ID0gMTsKeCA8PD0gMTsKaWYgKHggIT09IDIpIHsKICAkRVJST1IoJyMxOiB4ID0gMTsgeCA8PD0gMTsgeCA9PT0gMi4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSBuZXcgTnVtYmVyKDEpOwp4IDw8PSAxOwppZiAoeCAhPT0gMikgewogICRFUlJPUignIzI6IHggPSBuZXcgTnVtYmVyKDEpOyB4IDw8PSAxOyB4ID09PSAyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IDE7CnggPDw9IG5ldyBOdW1iZXIoMSk7CmlmICh4ICE9PSAyKSB7CiAgJEVSUk9SKCcjMzogeCA9IDE7IHggPDw9IG5ldyBOdW1iZXIoMSk7IHggPT09IDIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gbmV3IE51bWJlcigxKTsKeCA8PD0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDIpIHsKICAkRVJST1IoJyM0OiB4ID0gbmV3IE51bWJlcigxKTsgeCA8PD0gbmV3IE51bWJlcigxKTsgeCA9PT0gMi4gQWN0dWFsOiAnICsgKHgpKTsKfQoKCg==",
"commentary":"The production x <<= y is the same as x = x << y",
"description":"Type(x) and Type(y) vary between primitive number and Number object",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.6_T1.2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IDw8PSB5IGlzIHRoZSBzYW1lIGFzIHggPSB4IDw8IHkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0E0LjZfVDEuMy5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBhbmQgVHlwZSh5KSB2YXJ5IGJldHdlZW4gcHJpbWl0aXZlIHN0cmluZyBhbmQgU3RyaW5nIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQp4ID0gIjEiOwp4IDw8PSAiMSI7CmlmICh4ICE9PSAyKSB7CiAgJEVSUk9SKCcjMTogeCA9ICIxIjsgeCA8PD0gIjEiOyB4ID09PSAyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IG5ldyBTdHJpbmcoIjEiKTsKeCA8PD0gIjEiOwppZiAoeCAhPT0gMikgewogICRFUlJPUignIzI6IHggPSBuZXcgU3RyaW5nKCIxIik7IHggPDw9ICIxIjsgeCA9PT0gMi4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSAiMSI7CnggPDw9IG5ldyBTdHJpbmcoIjEiKTsKaWYgKHggIT09IDIpIHsKICAkRVJST1IoJyMzOiB4ID0gIjEiOyB4IDw8PSBuZXcgU3RyaW5nKCIxIik7IHggPT09IDIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gbmV3IFN0cmluZygiMSIpOwp4IDw8PSBuZXcgU3RyaW5nKCIxIik7CmlmICh4ICE9PSAyKSB7CiAgJEVSUk9SKCcjNDogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCA8PD0gbmV3IFN0cmluZygiMSIpOyB4ID09PSAyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzUKeCA9ICJ4IjsKeCA8PD0gIjEiOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzU6IHggPSAieCI7IHggPDw9ICIxIjsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM2CnggPSAiMSI7CnggPDw9ICJ4IjsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM2OiB4ID0gIjEiOyB4IDw8PSAieCI7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==",
"commentary":"The production x <<= y is the same as x = x << y",
"description":"Type(x) and Type(y) vary between primitive string and String object",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.6_T1.3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IDw8PSB5IGlzIHRoZSBzYW1lIGFzIHggPSB4IDw8IHkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0E0LjZfVDEuNC5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBhbmQgVHlwZSh5KSB2YXJ5IGJldHdlZW4gTnVsbCBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCnggPSBudWxsOwp4IDw8PSB1bmRlZmluZWQ7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogeCA9IG51bGw7IHggPDw9IHVuZGVmaW5lZDsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSB1bmRlZmluZWQ7CnggPDw9IG51bGw7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogeCA9IHVuZGVmaW5lZDsgeCA8PD0gbnVsbDsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSB1bmRlZmluZWQ7CnggPDw9IHVuZGVmaW5lZDsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMzOiB4ID0gdW5kZWZpbmVkOyB4IDw8PSB1bmRlZmluZWQ7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gbnVsbDsKeCA8PD0gbnVsbDsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM0OiB4ID0gbnVsbDsgeCA8PD0gbnVsbDsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoK",
"commentary":"The production x <<= y is the same as x = x << y",
"description":"Type(x) and Type(y) vary between Null and Undefined",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.6_T1.4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IDw8PSB5IGlzIHRoZSBzYW1lIGFzIHggPSB4IDw8IHkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0E0LjZfVDIuMS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBOdW1iZXIgKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBCb29sZWFuIChwcmltaXRpdmUgYW5kIG9iamVjdCkKICovCgovL0NIRUNLIzEKeCA9IHRydWU7CnggPDw9IDE7CmlmICh4ICE9PSAyKSB7CiAgJEVSUk9SKCcjMTogeCA9IHRydWU7IHggPDw9IDE7IHggPT09IDIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gMTsKeCA8PD0gdHJ1ZTsKaWYgKHggIT09IDIpIHsKICAkRVJST1IoJyMyOiB4ID0gMTsgeCA8PD0gdHJ1ZTsgeCA9PT0gMi4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSBuZXcgQm9vbGVhbih0cnVlKTsKeCA8PD0gMTsKaWYgKHggIT09IDIpIHsKICAkRVJST1IoJyMzOiB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPDw9IDE7IHggPT09IDIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gMTsKeCA8PD0gbmV3IEJvb2xlYW4odHJ1ZSk7CmlmICh4ICE9PSAyKSB7CiAgJEVSUk9SKCcjNDogeCA9IDE7IHggPDw9IG5ldyBCb29sZWFuKHRydWUpOyB4ID09PSAyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzUKeCA9IHRydWU7CnggPDw9IG5ldyBOdW1iZXIoMSk7CmlmICh4ICE9PSAyKSB7CiAgJEVSUk9SKCcjNTogeCA9IHRydWU7IHggPDw9IG5ldyBOdW1iZXIoMSk7IHggPT09IDIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNgp4ID0gbmV3IE51bWJlcigxKTsKeCA8PD0gdHJ1ZTsKaWYgKHggIT09IDIpIHsKICAkRVJST1IoJyM2OiB4ID0gbmV3IE51bWJlcigxKTsgeCA8PD0gdHJ1ZTsgeCA9PT0gMi4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM3CnggPSBuZXcgQm9vbGVhbih0cnVlKTsKeCA8PD0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDIpIHsKICAkRVJST1IoJyM3OiB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPDw9IG5ldyBOdW1iZXIoMSk7IHggPT09IDIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjOAp4ID0gbmV3IE51bWJlcigxKTsKeCA8PD0gbmV3IEJvb2xlYW4odHJ1ZSk7CmlmICh4ICE9PSAyKSB7CiAgJEVSUk9SKCcjODogeCA9IG5ldyBOdW1iZXIoMSk7IHggPDw9IG5ldyBCb29sZWFuKHRydWUpOyB4ID09PSAyLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=",
"commentary":"The production x <<= y is the same as x = x << y",
"description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Boolean (primitive and object)",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.6_T2.1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IDw8PSB5IGlzIHRoZSBzYW1lIGFzIHggPSB4IDw8IHkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0E0LjZfVDIuMi5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBOdW1iZXIgKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBTdHJpbmcgKHByaW1pdGl2ZSBhbmQgb2JqZWN0KQogKi8KCi8vQ0hFQ0sjMQp4ID0gIjEiOwp4IDw8PSAxOwppZiAoeCAhPT0gMikgewogICRFUlJPUignIzE6IHggPSAiMSI7IHggPDw9IDE7IHggPT09IDIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gMTsKeCA8PD0gIjEiOwppZiAoeCAhPT0gMikgewogICRFUlJPUignIzI6IHggPSAxOyB4IDw8PSAiMSI7IHggPT09IDIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gbmV3IFN0cmluZygiMSIpOwp4IDw8PSAxOwppZiAoeCAhPT0gMikgewogICRFUlJPUignIzM6IHggPSBuZXcgU3RyaW5nKCIxIik7IHggPDw9IDE7IHggPT09IDIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gMTsKeCA8PD0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMikgewogICRFUlJPUignIzQ6IHggPSAxOyB4IDw8PSBuZXcgU3RyaW5nKCIxIik7IHggPT09IDIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNQp4ID0gIjEiOwp4IDw8PSBuZXcgTnVtYmVyKDEpOwppZiAoeCAhPT0gMikgewogICRFUlJPUignIzU6IHggPSAiMSI7IHggPDw9IG5ldyBOdW1iZXIoMSk7IHggPT09IDIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNgp4ID0gbmV3IE51bWJlcigxKTsKeCA8PD0gIjEiOwppZiAoeCAhPT0gMikgewogICRFUlJPUignIzY6IHggPSBuZXcgTnVtYmVyKDEpOyB4IDw8PSAiMSI7IHggPT09IDIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNwp4ID0gbmV3IFN0cmluZygiMSIpOwp4IDw8PSBuZXcgTnVtYmVyKDEpOwppZiAoeCAhPT0gMikgewogICRFUlJPUignIzc6IHggPSBuZXcgU3RyaW5nKCIxIik7IHggPDw9IG5ldyBOdW1iZXIoMSk7IHggPT09IDIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjOAp4ID0gbmV3IE51bWJlcigxKTsKeCA8PD0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMikgewogICRFUlJPUignIzg6IHggPSBuZXcgTnVtYmVyKDEpOyB4IDw8PSBuZXcgU3RyaW5nKCIxIik7IHggPT09IDIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjOQp4ID0gIngiOwp4IDw8PSAxOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzk6IHggPSAieCI7IHggPDw9IDE7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMTAKeCA9IDE7CnggPDw9ICJ4IjsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMxMDogeCA9IDE7IHggPDw9ICJ4IjsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoK",
"commentary":"The production x <<= y is the same as x = x << y",
"description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object)",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.6_T2.2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IDw8PSB5IGlzIHRoZSBzYW1lIGFzIHggPSB4IDw8IHkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0E0LjZfVDIuMy5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBOdW1iZXIgKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBOdWxsCiAqLwoKLy9DSEVDSyMxCnggPSAxOwp4IDw8PSBudWxsOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzE6IHggPSAxOyB4IDw8PSBudWxsOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IG51bGw7CnggPDw9IDE7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogeCA9IG51bGw7IHggPDw9IDE7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gbmV3IE51bWJlcigxKTsKeCA8PD0gbnVsbDsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMzOiB4ID0gbmV3IE51bWJlcigxKTsgeCA8PD0gbnVsbDsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSBudWxsOwp4IDw8PSBuZXcgTnVtYmVyKDEpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzQ6IHggPSBudWxsOyB4IDw8PSBuZXcgTnVtYmVyKDEpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=",
"commentary":"The production x <<= y is the same as x = x << y",
"description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.6_T2.3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IDw8PSB5IGlzIHRoZSBzYW1lIGFzIHggPSB4IDw8IHkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0E0LjZfVDIuNC5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBOdW1iZXIgKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBVbmRlZmluZWQKICovCgovL0NIRUNLIzEKeCA9IDE7CnggPDw9IHVuZGVmaW5lZDsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMxOiB4ID0gMTsgeCA8PD0gdW5kZWZpbmVkOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IHVuZGVmaW5lZDsKeCA8PD0gMTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMyOiB4ID0gdW5kZWZpbmVkOyB4IDw8PSAxOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IG5ldyBOdW1iZXIoMSk7CnggPDw9IHVuZGVmaW5lZDsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMzOiB4ID0gbmV3IE51bWJlcigxKTsgeCA8PD0gdW5kZWZpbmVkOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IHVuZGVmaW5lZDsKeCA8PD0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM0OiB4ID0gdW5kZWZpbmVkOyB4IDw8PSBuZXcgTnVtYmVyKDEpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=",
"commentary":"The production x <<= y is the same as x = x << y",
"description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.6_T2.4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IDw8PSB5IGlzIHRoZSBzYW1lIGFzIHggPSB4IDw8IHkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0E0LjZfVDIuNS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBTdHJpbmcgKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBCb29sZWFuIChwcmltaXRpdmUgYW5kIG9iamVjdCkKICovCgovL0NIRUNLIzEKeCA9IHRydWU7CnggPDw9ICIxIjsKaWYgKHggIT09IDIpIHsKICAkRVJST1IoJyMxOiB4ID0gdHJ1ZTsgeCA8PD0gIjEiOyB4ID09PSAyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9ICIxIjsKeCA8PD0gdHJ1ZTsKaWYgKHggIT09IDIpIHsKICAkRVJST1IoJyMyOiB4ID0gIjEiOyB4IDw8PSB0cnVlOyB4ID09PSAyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IG5ldyBCb29sZWFuKHRydWUpOwp4IDw8PSAiMSI7CmlmICh4ICE9PSAyKSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBCb29sZWFuKHRydWUpOyB4IDw8PSAiMSI7IHggPT09IDIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gIjEiOwp4IDw8PSBuZXcgQm9vbGVhbih0cnVlKTsKaWYgKHggIT09IDIpIHsKICAkRVJST1IoJyM0OiB4ID0gIjEiOyB4IDw8PSBuZXcgQm9vbGVhbih0cnVlKTsgeCA9PT0gMi4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM1CnggPSB0cnVlOwp4IDw8PSBuZXcgU3RyaW5nKCIxIik7CmlmICh4ICE9PSAyKSB7CiAgJEVSUk9SKCcjNTogeCA9IHRydWU7IHggPDw9IG5ldyBTdHJpbmcoIjEiKTsgeCA9PT0gMi4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM2CnggPSBuZXcgU3RyaW5nKCIxIik7CnggPDw9IHRydWU7CmlmICh4ICE9PSAyKSB7CiAgJEVSUk9SKCcjNjogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCA8PD0gdHJ1ZTsgeCA9PT0gMi4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM3CnggPSBuZXcgQm9vbGVhbih0cnVlKTsKeCA8PD0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMikgewogICRFUlJPUignIzc6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCA8PD0gbmV3IFN0cmluZygiMSIpOyB4ID09PSAyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzgKeCA9IG5ldyBTdHJpbmcoIjEiKTsKeCA8PD0gbmV3IEJvb2xlYW4odHJ1ZSk7CmlmICh4ICE9PSAyKSB7CiAgJEVSUk9SKCcjODogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCA8PD0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPT09IDIuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==",
"commentary":"The production x <<= y is the same as x = x << y",
"description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Boolean (primitive and object)",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.6_T2.5.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IDw8PSB5IGlzIHRoZSBzYW1lIGFzIHggPSB4IDw8IHkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0E0LjZfVDIuNi5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBTdHJpbmcgKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBVbmRlZmluZWQKICovCgovL0NIRUNLIzEKeCA9ICIxIjsKeCA8PD0gdW5kZWZpbmVkOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzE6IHggPSAiMSI7IHggPDw9IHVuZGVmaW5lZDsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSB1bmRlZmluZWQ7CnggPDw9ICIxIjsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMyOiB4ID0gdW5kZWZpbmVkOyB4IDw8PSAiMSI7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gbmV3IFN0cmluZygiMSIpOwp4IDw8PSB1bmRlZmluZWQ7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCA8PD0gdW5kZWZpbmVkOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IHVuZGVmaW5lZDsKeCA8PD0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzQ6IHggPSB1bmRlZmluZWQ7IHggPDw9IG5ldyBTdHJpbmcoIjEiKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoK",
"commentary":"The production x <<= y is the same as x = x << y",
"description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Undefined",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.6_T2.6.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IDw8PSB5IGlzIHRoZSBzYW1lIGFzIHggPSB4IDw8IHkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0E0LjZfVDIuNy5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBTdHJpbmcgKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBOdWxsCiAqLwoKLy9DSEVDSyMxCnggPSAiMSI7CnggPDw9IG51bGw7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogeCA9ICIxIjsgeCA8PD0gbnVsbDsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSBudWxsOwp4IDw8PSAiMSI7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogeCA9IG51bGw7IHggPDw9ICIxIjsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSBuZXcgU3RyaW5nKCIxIik7CnggPDw9IG51bGw7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCA8PD0gbnVsbDsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSBudWxsOwp4IDw8PSBuZXcgU3RyaW5nKCIxIik7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogeCA9IG51bGw7IHggPDw9IG5ldyBTdHJpbmcoIjEiKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoK",
"commentary":"The production x <<= y is the same as x = x << y",
"description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.6_T2.7.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IDw8PSB5IGlzIHRoZSBzYW1lIGFzIHggPSB4IDw8IHkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0E0LjZfVDIuOC5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBCb29sZWFuIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCnggPSB0cnVlOwp4IDw8PSB1bmRlZmluZWQ7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogeCA9IHRydWU7IHggPDw9IHVuZGVmaW5lZDsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSB1bmRlZmluZWQ7CnggPDw9IHRydWU7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogeCA9IHVuZGVmaW5lZDsgeCA8PD0gdHJ1ZTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSBuZXcgQm9vbGVhbih0cnVlKTsKeCA8PD0gdW5kZWZpbmVkOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzM6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCA8PD0gdW5kZWZpbmVkOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IHVuZGVmaW5lZDsKeCA8PD0gbmV3IEJvb2xlYW4odHJ1ZSk7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogeCA9IHVuZGVmaW5lZDsgeCA8PD0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==",
"commentary":"The production x <<= y is the same as x = x << y",
"description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.6_T2.8.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IDw8PSB5IGlzIHRoZSBzYW1lIGFzIHggPSB4IDw8IHkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0E0LjZfVDIuOS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBCb29sZWFuIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQp4ID0gdHJ1ZTsKeCA8PD0gbnVsbDsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMxOiB4ID0gdHJ1ZTsgeCA8PD0gbnVsbDsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSBudWxsOwp4IDw8PSB0cnVlOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzI6IHggPSBudWxsOyB4IDw8PSB0cnVlOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IG5ldyBCb29sZWFuKHRydWUpOwp4IDw8PSBudWxsOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzM6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCA8PD0gbnVsbDsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSBudWxsOwp4IDw8PSBuZXcgQm9vbGVhbih0cnVlKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM0OiB4ID0gbnVsbDsgeCA8PD0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==",
"commentary":"The production x <<= y is the same as x = x << y",
"description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.6_T2.9.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ID4+PSB5IGlzIHRoZSBzYW1lIGFzIHggPSB4ID4+IHkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0E0LjdfVDEuMS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBhbmQgVHlwZSh5KSB2YXJ5IGJldHdlZW4gcHJpbWl0aXZlIGJvb2xlYW4gYW5kIEJvb2xlYW4gb2JqZWN0CiAqLwoKLy9DSEVDSyMxCnggPSB0cnVlOwp4ID4+PSB0cnVlOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzE6IHggPSB0cnVlOyB4ID4+PSB0cnVlOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IG5ldyBCb29sZWFuKHRydWUpOwp4ID4+PSB0cnVlOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzI6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCA+Pj0gdHJ1ZTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSB0cnVlOwp4ID4+PSBuZXcgQm9vbGVhbih0cnVlKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMzOiB4ID0gdHJ1ZTsgeCA+Pj0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7CnggPj49IG5ldyBCb29sZWFuKHRydWUpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzQ6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCA+Pj0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==",
"commentary":"The production x >>= y is the same as x = x >> y",
"description":"Type(x) and Type(y) vary between primitive boolean and Boolean object",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.7_T1.1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ID4+PSB5IGlzIHRoZSBzYW1lIGFzIHggPSB4ID4+IHkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0E0LjdfVDEuMi5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBhbmQgVHlwZSh5KSB2YXJ5IGJldHdlZW4gcHJpbWl0aXZlIG51bWJlciBhbmQgTnVtYmVyIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQp4ID0gMTsKeCA+Pj0gMTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMxOiB4ID0gMTsgeCA+Pj0gMTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSBuZXcgTnVtYmVyKDEpOwp4ID4+PSAxOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzI6IHggPSBuZXcgTnVtYmVyKDEpOyB4ID4+PSAxOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IDE7CnggPj49IG5ldyBOdW1iZXIoMSk7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogeCA9IDE7IHggPj49IG5ldyBOdW1iZXIoMSk7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gbmV3IE51bWJlcigxKTsKeCA+Pj0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM0OiB4ID0gbmV3IE51bWJlcigxKTsgeCA+Pj0gbmV3IE51bWJlcigxKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKCg==",
"commentary":"The production x >>= y is the same as x = x >> y",
"description":"Type(x) and Type(y) vary between primitive number and Number object",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.7_T1.2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ID4+PSB5IGlzIHRoZSBzYW1lIGFzIHggPSB4ID4+IHkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0E0LjdfVDEuMy5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBhbmQgVHlwZSh5KSB2YXJ5IGJldHdlZW4gcHJpbWl0aXZlIHN0cmluZyBhbmQgU3RyaW5nIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQp4ID0gIjEiOwp4ID4+PSAiMSI7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogeCA9ICIxIjsgeCA+Pj0gIjEiOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IG5ldyBTdHJpbmcoIjEiKTsKeCA+Pj0gIjEiOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzI6IHggPSBuZXcgU3RyaW5nKCIxIik7IHggPj49ICIxIjsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSAiMSI7CnggPj49IG5ldyBTdHJpbmcoIjEiKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMzOiB4ID0gIjEiOyB4ID4+PSBuZXcgU3RyaW5nKCIxIik7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gbmV3IFN0cmluZygiMSIpOwp4ID4+PSBuZXcgU3RyaW5nKCIxIik7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCA+Pj0gbmV3IFN0cmluZygiMSIpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzUKeCA9ICJ4IjsKeCA+Pj0gIjEiOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzU6IHggPSAieCI7IHggPj49ICIxIjsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM2CnggPSAiMSI7CnggPj49ICJ4IjsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM2OiB4ID0gIjEiOyB4ID4+PSAieCI7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==",
"commentary":"The production x >>= y is the same as x = x >> y",
"description":"Type(x) and Type(y) vary between primitive string and String object",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.7_T1.3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ID4+PSB5IGlzIHRoZSBzYW1lIGFzIHggPSB4ID4+IHkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0E0LjdfVDEuNC5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBhbmQgVHlwZSh5KSB2YXJ5IGJldHdlZW4gTnVsbCBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCnggPSBudWxsOwp4ID4+PSB1bmRlZmluZWQ7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogeCA9IG51bGw7IHggPj49IHVuZGVmaW5lZDsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSB1bmRlZmluZWQ7CnggPj49IG51bGw7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogeCA9IHVuZGVmaW5lZDsgeCA+Pj0gbnVsbDsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSB1bmRlZmluZWQ7CnggPj49IHVuZGVmaW5lZDsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMzOiB4ID0gdW5kZWZpbmVkOyB4ID4+PSB1bmRlZmluZWQ7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gbnVsbDsKeCA+Pj0gbnVsbDsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM0OiB4ID0gbnVsbDsgeCA+Pj0gbnVsbDsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoK",
"commentary":"The production x >>= y is the same as x = x >> y",
"description":"Type(x) and Type(y) vary between Null and Undefined",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.7_T1.4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ID4+PSB5IGlzIHRoZSBzYW1lIGFzIHggPSB4ID4+IHkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0E0LjdfVDIuMS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBOdW1iZXIgKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBCb29sZWFuIChwcmltaXRpdmUgYW5kIG9iamVjdCkKICovCgovL0NIRUNLIzEKeCA9IHRydWU7CnggPj49IDE7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogeCA9IHRydWU7IHggPj49IDE7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gMTsKeCA+Pj0gdHJ1ZTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMyOiB4ID0gMTsgeCA+Pj0gdHJ1ZTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSBuZXcgQm9vbGVhbih0cnVlKTsKeCA+Pj0gMTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMzOiB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPj49IDE7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gMTsKeCA+Pj0gbmV3IEJvb2xlYW4odHJ1ZSk7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogeCA9IDE7IHggPj49IG5ldyBCb29sZWFuKHRydWUpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzUKeCA9IHRydWU7CnggPj49IG5ldyBOdW1iZXIoMSk7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjNTogeCA9IHRydWU7IHggPj49IG5ldyBOdW1iZXIoMSk7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNgp4ID0gbmV3IE51bWJlcigxKTsKeCA+Pj0gdHJ1ZTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM2OiB4ID0gbmV3IE51bWJlcigxKTsgeCA+Pj0gdHJ1ZTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM3CnggPSBuZXcgQm9vbGVhbih0cnVlKTsKeCA+Pj0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM3OiB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPj49IG5ldyBOdW1iZXIoMSk7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjOAp4ID0gbmV3IE51bWJlcigxKTsKeCA+Pj0gbmV3IEJvb2xlYW4odHJ1ZSk7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjODogeCA9IG5ldyBOdW1iZXIoMSk7IHggPj49IG5ldyBCb29sZWFuKHRydWUpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=",
"commentary":"The production x >>= y is the same as x = x >> y",
"description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Boolean (primitive and object)",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.7_T2.1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ID4+PSB5IGlzIHRoZSBzYW1lIGFzIHggPSB4ID4+IHkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0E0LjdfVDIuMi5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBOdW1iZXIgKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBTdHJpbmcgKHByaW1pdGl2ZSBhbmQgb2JqZWN0KQogKi8KCi8vQ0hFQ0sjMQp4ID0gIjEiOwp4ID4+PSAxOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzE6IHggPSAiMSI7IHggPj49IDE7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gMTsKeCA+Pj0gIjEiOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzI6IHggPSAxOyB4ID4+PSAiMSI7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gbmV3IFN0cmluZygiMSIpOwp4ID4+PSAxOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzM6IHggPSBuZXcgU3RyaW5nKCIxIik7IHggPj49IDE7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gMTsKeCA+Pj0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzQ6IHggPSAxOyB4ID4+PSBuZXcgU3RyaW5nKCIxIik7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNQp4ID0gIjEiOwp4ID4+PSBuZXcgTnVtYmVyKDEpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzU6IHggPSAiMSI7IHggPj49IG5ldyBOdW1iZXIoMSk7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNgp4ID0gbmV3IE51bWJlcigxKTsKeCA+Pj0gIjEiOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzY6IHggPSBuZXcgTnVtYmVyKDEpOyB4ID4+PSAiMSI7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNwp4ID0gbmV3IFN0cmluZygiMSIpOwp4ID4+PSBuZXcgTnVtYmVyKDEpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzc6IHggPSBuZXcgU3RyaW5nKCIxIik7IHggPj49IG5ldyBOdW1iZXIoMSk7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjOAp4ID0gbmV3IE51bWJlcigxKTsKeCA+Pj0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzg6IHggPSBuZXcgTnVtYmVyKDEpOyB4ID4+PSBuZXcgU3RyaW5nKCIxIik7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjOQp4ID0gIngiOwp4ID4+PSAxOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzk6IHggPSAieCI7IHggPj49IDE7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMTAKeCA9IDE7CnggPj49ICJ4IjsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMxMDogeCA9IDE7IHggPj49ICJ4IjsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoK",
"commentary":"The production x >>= y is the same as x = x >> y",
"description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object)",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.7_T2.2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ID4+PSB5IGlzIHRoZSBzYW1lIGFzIHggPSB4ID4+IHkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0E0LjdfVDIuMy5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBOdW1iZXIgKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBOdWxsCiAqLwoKLy9DSEVDSyMxCnggPSAxOwp4ID4+PSBudWxsOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzE6IHggPSAxOyB4ID4+PSBudWxsOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IG51bGw7CnggPj49IDE7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogeCA9IG51bGw7IHggPj49IDE7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gbmV3IE51bWJlcigxKTsKeCA+Pj0gbnVsbDsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMzOiB4ID0gbmV3IE51bWJlcigxKTsgeCA+Pj0gbnVsbDsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSBudWxsOwp4ID4+PSBuZXcgTnVtYmVyKDEpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzQ6IHggPSBudWxsOyB4ID4+PSBuZXcgTnVtYmVyKDEpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=",
"commentary":"The production x >>= y is the same as x = x >> y",
"description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.7_T2.3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ID4+PSB5IGlzIHRoZSBzYW1lIGFzIHggPSB4ID4+IHkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0E0LjdfVDIuNC5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBOdW1iZXIgKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBVbmRlZmluZWQKICovCgovL0NIRUNLIzEKeCA9IDE7CnggPj49IHVuZGVmaW5lZDsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMxOiB4ID0gMTsgeCA+Pj0gdW5kZWZpbmVkOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IHVuZGVmaW5lZDsKeCA+Pj0gMTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMyOiB4ID0gdW5kZWZpbmVkOyB4ID4+PSAxOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IG5ldyBOdW1iZXIoMSk7CnggPj49IHVuZGVmaW5lZDsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMzOiB4ID0gbmV3IE51bWJlcigxKTsgeCA+Pj0gdW5kZWZpbmVkOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IHVuZGVmaW5lZDsKeCA+Pj0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM0OiB4ID0gdW5kZWZpbmVkOyB4ID4+PSBuZXcgTnVtYmVyKDEpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=",
"commentary":"The production x >>= y is the same as x = x >> y",
"description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.7_T2.4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ID4+PSB5IGlzIHRoZSBzYW1lIGFzIHggPSB4ID4+IHkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0E0LjdfVDIuNS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBTdHJpbmcgKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBCb29sZWFuIChwcmltaXRpdmUgYW5kIG9iamVjdCkKICovCgovL0NIRUNLIzEKeCA9IHRydWU7CnggPj49ICIxIjsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMxOiB4ID0gdHJ1ZTsgeCA+Pj0gIjEiOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9ICIxIjsKeCA+Pj0gdHJ1ZTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMyOiB4ID0gIjEiOyB4ID4+PSB0cnVlOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IG5ldyBCb29sZWFuKHRydWUpOwp4ID4+PSAiMSI7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBCb29sZWFuKHRydWUpOyB4ID4+PSAiMSI7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gIjEiOwp4ID4+PSBuZXcgQm9vbGVhbih0cnVlKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM0OiB4ID0gIjEiOyB4ID4+PSBuZXcgQm9vbGVhbih0cnVlKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM1CnggPSB0cnVlOwp4ID4+PSBuZXcgU3RyaW5nKCIxIik7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjNTogeCA9IHRydWU7IHggPj49IG5ldyBTdHJpbmcoIjEiKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM2CnggPSBuZXcgU3RyaW5nKCIxIik7CnggPj49IHRydWU7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjNjogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCA+Pj0gdHJ1ZTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM3CnggPSBuZXcgQm9vbGVhbih0cnVlKTsKeCA+Pj0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzc6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCA+Pj0gbmV3IFN0cmluZygiMSIpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzgKeCA9IG5ldyBTdHJpbmcoIjEiKTsKeCA+Pj0gbmV3IEJvb2xlYW4odHJ1ZSk7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjODogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCA+Pj0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==",
"commentary":"The production x >>= y is the same as x = x >> y",
"description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Boolean (primitive and object)",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.7_T2.5.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ID4+PSB5IGlzIHRoZSBzYW1lIGFzIHggPSB4ID4+IHkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0E0LjdfVDIuNi5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBTdHJpbmcgKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBVbmRlZmluZWQKICovCgovL0NIRUNLIzEKeCA9ICIxIjsKeCA+Pj0gdW5kZWZpbmVkOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzE6IHggPSAiMSI7IHggPj49IHVuZGVmaW5lZDsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSB1bmRlZmluZWQ7CnggPj49ICIxIjsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMyOiB4ID0gdW5kZWZpbmVkOyB4ID4+PSAiMSI7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gbmV3IFN0cmluZygiMSIpOwp4ID4+PSB1bmRlZmluZWQ7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCA+Pj0gdW5kZWZpbmVkOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IHVuZGVmaW5lZDsKeCA+Pj0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzQ6IHggPSB1bmRlZmluZWQ7IHggPj49IG5ldyBTdHJpbmcoIjEiKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoK",
"commentary":"The production x >>= y is the same as x = x >> y",
"description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Undefined",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.7_T2.6.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ID4+PSB5IGlzIHRoZSBzYW1lIGFzIHggPSB4ID4+IHkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0E0LjdfVDIuNy5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBTdHJpbmcgKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBOdWxsCiAqLwoKLy9DSEVDSyMxCnggPSAiMSI7CnggPj49IG51bGw7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogeCA9ICIxIjsgeCA+Pj0gbnVsbDsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSBudWxsOwp4ID4+PSAiMSI7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogeCA9IG51bGw7IHggPj49ICIxIjsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSBuZXcgU3RyaW5nKCIxIik7CnggPj49IG51bGw7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCA+Pj0gbnVsbDsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSBudWxsOwp4ID4+PSBuZXcgU3RyaW5nKCIxIik7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogeCA9IG51bGw7IHggPj49IG5ldyBTdHJpbmcoIjEiKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoK",
"commentary":"The production x >>= y is the same as x = x >> y",
"description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.7_T2.7.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ID4+PSB5IGlzIHRoZSBzYW1lIGFzIHggPSB4ID4+IHkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0E0LjdfVDIuOC5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBCb29sZWFuIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCnggPSB0cnVlOwp4ID4+PSB1bmRlZmluZWQ7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogeCA9IHRydWU7IHggPj49IHVuZGVmaW5lZDsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSB1bmRlZmluZWQ7CnggPj49IHRydWU7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogeCA9IHVuZGVmaW5lZDsgeCA+Pj0gdHJ1ZTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSBuZXcgQm9vbGVhbih0cnVlKTsKeCA+Pj0gdW5kZWZpbmVkOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzM6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCA+Pj0gdW5kZWZpbmVkOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IHVuZGVmaW5lZDsKeCA+Pj0gbmV3IEJvb2xlYW4odHJ1ZSk7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogeCA9IHVuZGVmaW5lZDsgeCA+Pj0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==",
"commentary":"The production x >>= y is the same as x = x >> y",
"description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.7_T2.8.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ID4+PSB5IGlzIHRoZSBzYW1lIGFzIHggPSB4ID4+IHkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0E0LjdfVDIuOS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBCb29sZWFuIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQp4ID0gdHJ1ZTsKeCA+Pj0gbnVsbDsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMxOiB4ID0gdHJ1ZTsgeCA+Pj0gbnVsbDsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSBudWxsOwp4ID4+PSB0cnVlOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzI6IHggPSBudWxsOyB4ID4+PSB0cnVlOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IG5ldyBCb29sZWFuKHRydWUpOwp4ID4+PSBudWxsOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzM6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCA+Pj0gbnVsbDsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSBudWxsOwp4ID4+PSBuZXcgQm9vbGVhbih0cnVlKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM0OiB4ID0gbnVsbDsgeCA+Pj0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==",
"commentary":"The production x >>= y is the same as x = x >> y",
"description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.7_T2.9.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ID4+Pj0geSBpcyB0aGUgc2FtZSBhcyB4ID0geCA+Pj4geQogKgogKiBAcGF0aCBjaDExLzExLjEzLzExLjEzLjIvUzExLjEzLjJfQTQuOF9UMS4xLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGFuZCBUeXBlKHkpIHZhcnkgYmV0d2VlbiBwcmltaXRpdmUgYm9vbGVhbiBhbmQgQm9vbGVhbiBvYmplY3QKICovCgovL0NIRUNLIzEKeCA9IHRydWU7CnggPj4+PSB0cnVlOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzE6IHggPSB0cnVlOyB4ID4+Pj0gdHJ1ZTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSBuZXcgQm9vbGVhbih0cnVlKTsKeCA+Pj49IHRydWU7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogeCA9IG5ldyBCb29sZWFuKHRydWUpOyB4ID4+Pj0gdHJ1ZTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSB0cnVlOwp4ID4+Pj0gbmV3IEJvb2xlYW4odHJ1ZSk7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogeCA9IHRydWU7IHggPj4+PSBuZXcgQm9vbGVhbih0cnVlKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSBuZXcgQm9vbGVhbih0cnVlKTsKeCA+Pj49IG5ldyBCb29sZWFuKHRydWUpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzQ6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCA+Pj49IG5ldyBCb29sZWFuKHRydWUpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=",
"commentary":"The production x >>>= y is the same as x = x >>> y",
"description":"Type(x) and Type(y) vary between primitive boolean and Boolean object",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.8_T1.1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ID4+Pj0geSBpcyB0aGUgc2FtZSBhcyB4ID0geCA+Pj4geQogKgogKiBAcGF0aCBjaDExLzExLjEzLzExLjEzLjIvUzExLjEzLjJfQTQuOF9UMS4yLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGFuZCBUeXBlKHkpIHZhcnkgYmV0d2VlbiBwcmltaXRpdmUgbnVtYmVyIGFuZCBOdW1iZXIgb2JqZWN0CiAqLwoKLy9DSEVDSyMxCnggPSAxOwp4ID4+Pj0gMTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMxOiB4ID0gMTsgeCA+Pj49IDE7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gbmV3IE51bWJlcigxKTsKeCA+Pj49IDE7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogeCA9IG5ldyBOdW1iZXIoMSk7IHggPj4+PSAxOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IDE7CnggPj4+PSBuZXcgTnVtYmVyKDEpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzM6IHggPSAxOyB4ID4+Pj0gbmV3IE51bWJlcigxKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSBuZXcgTnVtYmVyKDEpOwp4ID4+Pj0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM0OiB4ID0gbmV3IE51bWJlcigxKTsgeCA+Pj49IG5ldyBOdW1iZXIoMSk7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCgo=",
"commentary":"The production x >>>= y is the same as x = x >>> y",
"description":"Type(x) and Type(y) vary between primitive number and Number object",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.8_T1.2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ID4+Pj0geSBpcyB0aGUgc2FtZSBhcyB4ID0geCA+Pj4geQogKgogKiBAcGF0aCBjaDExLzExLjEzLzExLjEzLjIvUzExLjEzLjJfQTQuOF9UMS4zLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGFuZCBUeXBlKHkpIHZhcnkgYmV0d2VlbiBwcmltaXRpdmUgc3RyaW5nIGFuZCBTdHJpbmcgb2JqZWN0CiAqLwoKLy9DSEVDSyMxCnggPSAiMSI7CnggPj4+PSAiMSI7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogeCA9ICIxIjsgeCA+Pj49ICIxIjsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSBuZXcgU3RyaW5nKCIxIik7CnggPj4+PSAiMSI7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCA+Pj49ICIxIjsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSAiMSI7CnggPj4+PSBuZXcgU3RyaW5nKCIxIik7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogeCA9ICIxIjsgeCA+Pj49IG5ldyBTdHJpbmcoIjEiKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSBuZXcgU3RyaW5nKCIxIik7CnggPj4+PSBuZXcgU3RyaW5nKCIxIik7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCA+Pj49IG5ldyBTdHJpbmcoIjEiKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM1CnggPSAieCI7CnggPj4+PSAiMSI7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjNTogeCA9ICJ4IjsgeCA+Pj49ICIxIjsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM2CnggPSAiMSI7CnggPj4+PSAieCI7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjNjogeCA9ICIxIjsgeCA+Pj49ICJ4IjsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoK",
"commentary":"The production x >>>= y is the same as x = x >>> y",
"description":"Type(x) and Type(y) vary between primitive string and String object",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.8_T1.3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ID4+Pj0geSBpcyB0aGUgc2FtZSBhcyB4ID0geCA+Pj4geQogKgogKiBAcGF0aCBjaDExLzExLjEzLzExLjEzLjIvUzExLjEzLjJfQTQuOF9UMS40LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGFuZCBUeXBlKHkpIHZhcnkgYmV0d2VlbiBOdWxsIGFuZCBVbmRlZmluZWQKICovCgovL0NIRUNLIzEKeCA9IG51bGw7CnggPj4+PSB1bmRlZmluZWQ7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogeCA9IG51bGw7IHggPj4+PSB1bmRlZmluZWQ7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gdW5kZWZpbmVkOwp4ID4+Pj0gbnVsbDsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMyOiB4ID0gdW5kZWZpbmVkOyB4ID4+Pj0gbnVsbDsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSB1bmRlZmluZWQ7CnggPj4+PSB1bmRlZmluZWQ7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogeCA9IHVuZGVmaW5lZDsgeCA+Pj49IHVuZGVmaW5lZDsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSBudWxsOwp4ID4+Pj0gbnVsbDsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM0OiB4ID0gbnVsbDsgeCA+Pj49IG51bGw7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==",
"commentary":"The production x >>>= y is the same as x = x >>> y",
"description":"Type(x) and Type(y) vary between Null and Undefined",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.8_T1.4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ID4+Pj0geSBpcyB0aGUgc2FtZSBhcyB4ID0geCA+Pj4geQogKgogKiBAcGF0aCBjaDExLzExLjEzLzExLjEzLjIvUzExLjEzLjJfQTQuOF9UMi4xLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIE51bWJlciAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIEJvb2xlYW4gKHByaW1pdGl2ZSBhbmQgb2JqZWN0KQogKi8KCi8vQ0hFQ0sjMQp4ID0gdHJ1ZTsKeCA+Pj49IDE7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogeCA9IHRydWU7IHggPj4+PSAxOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IDE7CnggPj4+PSB0cnVlOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzI6IHggPSAxOyB4ID4+Pj0gdHJ1ZTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSBuZXcgQm9vbGVhbih0cnVlKTsKeCA+Pj49IDE7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBCb29sZWFuKHRydWUpOyB4ID4+Pj0gMTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSAxOwp4ID4+Pj0gbmV3IEJvb2xlYW4odHJ1ZSk7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogeCA9IDE7IHggPj4+PSBuZXcgQm9vbGVhbih0cnVlKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM1CnggPSB0cnVlOwp4ID4+Pj0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM1OiB4ID0gdHJ1ZTsgeCA+Pj49IG5ldyBOdW1iZXIoMSk7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNgp4ID0gbmV3IE51bWJlcigxKTsKeCA+Pj49IHRydWU7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjNjogeCA9IG5ldyBOdW1iZXIoMSk7IHggPj4+PSB0cnVlOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzcKeCA9IG5ldyBCb29sZWFuKHRydWUpOwp4ID4+Pj0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM3OiB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPj4+PSBuZXcgTnVtYmVyKDEpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzgKeCA9IG5ldyBOdW1iZXIoMSk7CnggPj4+PSBuZXcgQm9vbGVhbih0cnVlKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM4OiB4ID0gbmV3IE51bWJlcigxKTsgeCA+Pj49IG5ldyBCb29sZWFuKHRydWUpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=",
"commentary":"The production x >>>= y is the same as x = x >>> y",
"description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Boolean (primitive and object)",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.8_T2.1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ID4+Pj0geSBpcyB0aGUgc2FtZSBhcyB4ID0geCA+Pj4geQogKgogKiBAcGF0aCBjaDExLzExLjEzLzExLjEzLjIvUzExLjEzLjJfQTQuOF9UMi4yLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIE51bWJlciAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIFN0cmluZyAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCnggPSAiMSI7CnggPj4+PSAxOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzE6IHggPSAiMSI7IHggPj4+PSAxOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IDE7CnggPj4+PSAiMSI7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogeCA9IDE7IHggPj4+PSAiMSI7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gbmV3IFN0cmluZygiMSIpOwp4ID4+Pj0gMTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMzOiB4ID0gbmV3IFN0cmluZygiMSIpOyB4ID4+Pj0gMTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSAxOwp4ID4+Pj0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzQ6IHggPSAxOyB4ID4+Pj0gbmV3IFN0cmluZygiMSIpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzUKeCA9ICIxIjsKeCA+Pj49IG5ldyBOdW1iZXIoMSk7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjNTogeCA9ICIxIjsgeCA+Pj49IG5ldyBOdW1iZXIoMSk7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNgp4ID0gbmV3IE51bWJlcigxKTsKeCA+Pj49ICIxIjsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM2OiB4ID0gbmV3IE51bWJlcigxKTsgeCA+Pj49ICIxIjsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM3CnggPSBuZXcgU3RyaW5nKCIxIik7CnggPj4+PSBuZXcgTnVtYmVyKDEpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzc6IHggPSBuZXcgU3RyaW5nKCIxIik7IHggPj4+PSBuZXcgTnVtYmVyKDEpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzgKeCA9IG5ldyBOdW1iZXIoMSk7CnggPj4+PSBuZXcgU3RyaW5nKCIxIik7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjODogeCA9IG5ldyBOdW1iZXIoMSk7IHggPj4+PSBuZXcgU3RyaW5nKCIxIik7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjOQp4ID0gIngiOwp4ID4+Pj0gMTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM5OiB4ID0gIngiOyB4ID4+Pj0gMTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMxMAp4ID0gMTsKeCA+Pj49ICJ4IjsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMxMDogeCA9IDE7IHggPj4+PSAieCI7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==",
"commentary":"The production x >>>= y is the same as x = x >>> y",
"description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object)",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.8_T2.2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ID4+Pj0geSBpcyB0aGUgc2FtZSBhcyB4ID0geCA+Pj4geQogKgogKiBAcGF0aCBjaDExLzExLjEzLzExLjEzLjIvUzExLjEzLjJfQTQuOF9UMi4zLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIE51bWJlciAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIE51bGwKICovCgovL0NIRUNLIzEKeCA9IDE7CnggPj4+PSBudWxsOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzE6IHggPSAxOyB4ID4+Pj0gbnVsbDsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSBudWxsOwp4ID4+Pj0gMTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMyOiB4ID0gbnVsbDsgeCA+Pj49IDE7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gbmV3IE51bWJlcigxKTsKeCA+Pj49IG51bGw7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBOdW1iZXIoMSk7IHggPj4+PSBudWxsOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IG51bGw7CnggPj4+PSBuZXcgTnVtYmVyKDEpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzQ6IHggPSBudWxsOyB4ID4+Pj0gbmV3IE51bWJlcigxKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoK",
"commentary":"The production x >>>= y is the same as x = x >>> y",
"description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.8_T2.3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ID4+Pj0geSBpcyB0aGUgc2FtZSBhcyB4ID0geCA+Pj4geQogKgogKiBAcGF0aCBjaDExLzExLjEzLzExLjEzLjIvUzExLjEzLjJfQTQuOF9UMi40LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIE51bWJlciAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQp4ID0gMTsKeCA+Pj49IHVuZGVmaW5lZDsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMxOiB4ID0gMTsgeCA+Pj49IHVuZGVmaW5lZDsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSB1bmRlZmluZWQ7CnggPj4+PSAxOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzI6IHggPSB1bmRlZmluZWQ7IHggPj4+PSAxOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IG5ldyBOdW1iZXIoMSk7CnggPj4+PSB1bmRlZmluZWQ7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBOdW1iZXIoMSk7IHggPj4+PSB1bmRlZmluZWQ7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gdW5kZWZpbmVkOwp4ID4+Pj0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM0OiB4ID0gdW5kZWZpbmVkOyB4ID4+Pj0gbmV3IE51bWJlcigxKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoK",
"commentary":"The production x >>>= y is the same as x = x >>> y",
"description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.8_T2.4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ID4+Pj0geSBpcyB0aGUgc2FtZSBhcyB4ID0geCA+Pj4geQogKgogKiBAcGF0aCBjaDExLzExLjEzLzExLjEzLjIvUzExLjEzLjJfQTQuOF9UMi41LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIFN0cmluZyAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIEJvb2xlYW4gKHByaW1pdGl2ZSBhbmQgb2JqZWN0KQogKi8KCi8vQ0hFQ0sjMQp4ID0gdHJ1ZTsKeCA+Pj49ICIxIjsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMxOiB4ID0gdHJ1ZTsgeCA+Pj49ICIxIjsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSAiMSI7CnggPj4+PSB0cnVlOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzI6IHggPSAiMSI7IHggPj4+PSB0cnVlOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IG5ldyBCb29sZWFuKHRydWUpOwp4ID4+Pj0gIjEiOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzM6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCA+Pj49ICIxIjsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSAiMSI7CnggPj4+PSBuZXcgQm9vbGVhbih0cnVlKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM0OiB4ID0gIjEiOyB4ID4+Pj0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNQp4ID0gdHJ1ZTsKeCA+Pj49IG5ldyBTdHJpbmcoIjEiKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM1OiB4ID0gdHJ1ZTsgeCA+Pj49IG5ldyBTdHJpbmcoIjEiKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM2CnggPSBuZXcgU3RyaW5nKCIxIik7CnggPj4+PSB0cnVlOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzY6IHggPSBuZXcgU3RyaW5nKCIxIik7IHggPj4+PSB0cnVlOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzcKeCA9IG5ldyBCb29sZWFuKHRydWUpOwp4ID4+Pj0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzc6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCA+Pj49IG5ldyBTdHJpbmcoIjEiKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM4CnggPSBuZXcgU3RyaW5nKCIxIik7CnggPj4+PSBuZXcgQm9vbGVhbih0cnVlKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM4OiB4ID0gbmV3IFN0cmluZygiMSIpOyB4ID4+Pj0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==",
"commentary":"The production x >>>= y is the same as x = x >>> y",
"description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Boolean (primitive and object)",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.8_T2.5.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ID4+Pj0geSBpcyB0aGUgc2FtZSBhcyB4ID0geCA+Pj4geQogKgogKiBAcGF0aCBjaDExLzExLjEzLzExLjEzLjIvUzExLjEzLjJfQTQuOF9UMi42LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIFN0cmluZyAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQp4ID0gIjEiOwp4ID4+Pj0gdW5kZWZpbmVkOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzE6IHggPSAiMSI7IHggPj4+PSB1bmRlZmluZWQ7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gdW5kZWZpbmVkOwp4ID4+Pj0gIjEiOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzI6IHggPSB1bmRlZmluZWQ7IHggPj4+PSAiMSI7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gbmV3IFN0cmluZygiMSIpOwp4ID4+Pj0gdW5kZWZpbmVkOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzM6IHggPSBuZXcgU3RyaW5nKCIxIik7IHggPj4+PSB1bmRlZmluZWQ7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gdW5kZWZpbmVkOwp4ID4+Pj0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzQ6IHggPSB1bmRlZmluZWQ7IHggPj4+PSBuZXcgU3RyaW5nKCIxIik7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==",
"commentary":"The production x >>>= y is the same as x = x >>> y",
"description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Undefined",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.8_T2.6.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ID4+Pj0geSBpcyB0aGUgc2FtZSBhcyB4ID0geCA+Pj4geQogKgogKiBAcGF0aCBjaDExLzExLjEzLzExLjEzLjIvUzExLjEzLjJfQTQuOF9UMi43LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIFN0cmluZyAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIE51bGwKICovCgovL0NIRUNLIzEKeCA9ICIxIjsKeCA+Pj49IG51bGw7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogeCA9ICIxIjsgeCA+Pj49IG51bGw7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gbnVsbDsKeCA+Pj49ICIxIjsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMyOiB4ID0gbnVsbDsgeCA+Pj49ICIxIjsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSBuZXcgU3RyaW5nKCIxIik7CnggPj4+PSBudWxsOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzM6IHggPSBuZXcgU3RyaW5nKCIxIik7IHggPj4+PSBudWxsOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IG51bGw7CnggPj4+PSBuZXcgU3RyaW5nKCIxIik7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogeCA9IG51bGw7IHggPj4+PSBuZXcgU3RyaW5nKCIxIik7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==",
"commentary":"The production x >>>= y is the same as x = x >>> y",
"description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.8_T2.7.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ID4+Pj0geSBpcyB0aGUgc2FtZSBhcyB4ID0geCA+Pj4geQogKgogKiBAcGF0aCBjaDExLzExLjEzLzExLjEzLjIvUzExLjEzLjJfQTQuOF9UMi44LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIEJvb2xlYW4gKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBVbmRlZmluZWQKICovCgovL0NIRUNLIzEKeCA9IHRydWU7CnggPj4+PSB1bmRlZmluZWQ7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogeCA9IHRydWU7IHggPj4+PSB1bmRlZmluZWQ7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gdW5kZWZpbmVkOwp4ID4+Pj0gdHJ1ZTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMyOiB4ID0gdW5kZWZpbmVkOyB4ID4+Pj0gdHJ1ZTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSBuZXcgQm9vbGVhbih0cnVlKTsKeCA+Pj49IHVuZGVmaW5lZDsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMzOiB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPj4+PSB1bmRlZmluZWQ7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gdW5kZWZpbmVkOwp4ID4+Pj0gbmV3IEJvb2xlYW4odHJ1ZSk7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogeCA9IHVuZGVmaW5lZDsgeCA+Pj49IG5ldyBCb29sZWFuKHRydWUpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=",
"commentary":"The production x >>>= y is the same as x = x >>> y",
"description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.8_T2.8.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ID4+Pj0geSBpcyB0aGUgc2FtZSBhcyB4ID0geCA+Pj4geQogKgogKiBAcGF0aCBjaDExLzExLjEzLzExLjEzLjIvUzExLjEzLjJfQTQuOF9UMi45LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIEJvb2xlYW4gKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBOdWxsCiAqLwoKLy9DSEVDSyMxCnggPSB0cnVlOwp4ID4+Pj0gbnVsbDsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMxOiB4ID0gdHJ1ZTsgeCA+Pj49IG51bGw7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gbnVsbDsKeCA+Pj49IHRydWU7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogeCA9IG51bGw7IHggPj4+PSB0cnVlOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IG5ldyBCb29sZWFuKHRydWUpOwp4ID4+Pj0gbnVsbDsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMzOiB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPj4+PSBudWxsOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IG51bGw7CnggPj4+PSBuZXcgQm9vbGVhbih0cnVlKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM0OiB4ID0gbnVsbDsgeCA+Pj49IG5ldyBCb29sZWFuKHRydWUpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=",
"commentary":"The production x >>>= y is the same as x = x >>> y",
"description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.8_T2.9.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICY9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggJiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC45X1QxLjEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBib29sZWFuIGFuZCBCb29sZWFuIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQp4ID0gdHJ1ZTsKeCAmPSB0cnVlOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzE6IHggPSB0cnVlOyB4ICY9IHRydWU7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7CnggJj0gdHJ1ZTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMyOiB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggJj0gdHJ1ZTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSB0cnVlOwp4ICY9IG5ldyBCb29sZWFuKHRydWUpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzM6IHggPSB0cnVlOyB4ICY9IG5ldyBCb29sZWFuKHRydWUpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IG5ldyBCb29sZWFuKHRydWUpOwp4ICY9IG5ldyBCb29sZWFuKHRydWUpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzQ6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCAmPSBuZXcgQm9vbGVhbih0cnVlKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoK",
"commentary":"The production x &= y is the same as x = x & y",
"description":"Type(x) and Type(y) vary between primitive boolean and Boolean object",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.9_T1.1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICY9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggJiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC45X1QxLjIuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBudW1iZXIgYW5kIE51bWJlciBvYmplY3QKICovCgovL0NIRUNLIzEKeCA9IDE7CnggJj0gMTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMxOiB4ID0gMTsgeCAmPSAxOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IG5ldyBOdW1iZXIoMSk7CnggJj0gMTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMyOiB4ID0gbmV3IE51bWJlcigxKTsgeCAmPSAxOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IDE7CnggJj0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMzOiB4ID0gMTsgeCAmPSBuZXcgTnVtYmVyKDEpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IG5ldyBOdW1iZXIoMSk7CnggJj0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM0OiB4ID0gbmV3IE51bWJlcigxKTsgeCAmPSBuZXcgTnVtYmVyKDEpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgoK",
"commentary":"The production x &= y is the same as x = x & y",
"description":"Type(x) and Type(y) vary between primitive number and Number object",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.9_T1.2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICY9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggJiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC45X1QxLjMuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBzdHJpbmcgYW5kIFN0cmluZyBvYmplY3QKICovCgovL0NIRUNLIzEKeCA9ICIxIjsKeCAmPSAiMSI7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogeCA9ICIxIjsgeCAmPSAiMSI7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gbmV3IFN0cmluZygiMSIpOwp4ICY9ICIxIjsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMyOiB4ID0gbmV3IFN0cmluZygiMSIpOyB4ICY9ICIxIjsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSAiMSI7CnggJj0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzM6IHggPSAiMSI7IHggJj0gbmV3IFN0cmluZygiMSIpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IG5ldyBTdHJpbmcoIjEiKTsKeCAmPSBuZXcgU3RyaW5nKCIxIik7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCAmPSBuZXcgU3RyaW5nKCIxIik7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNQp4ID0gIngiOwp4ICY9ICIxIjsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM1OiB4ID0gIngiOyB4ICY9ICIxIjsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM2CnggPSAiMSI7CnggJj0gIngiOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzY6IHggPSAiMSI7IHggJj0gIngiOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=",
"commentary":"The production x &= y is the same as x = x & y",
"description":"Type(x) and Type(y) vary between primitive string and String object",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.9_T1.3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICY9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggJiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC45X1QxLjQuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIE51bGwgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQp4ID0gbnVsbDsKeCAmPSB1bmRlZmluZWQ7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogeCA9IG51bGw7IHggJj0gdW5kZWZpbmVkOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IHVuZGVmaW5lZDsKeCAmPSBudWxsOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzI6IHggPSB1bmRlZmluZWQ7IHggJj0gbnVsbDsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSB1bmRlZmluZWQ7CnggJj0gdW5kZWZpbmVkOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzM6IHggPSB1bmRlZmluZWQ7IHggJj0gdW5kZWZpbmVkOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IG51bGw7CnggJj0gbnVsbDsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM0OiB4ID0gbnVsbDsgeCAmPSBudWxsOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=",
"commentary":"The production x &= y is the same as x = x & y",
"description":"Type(x) and Type(y) vary between Null and Undefined",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.9_T1.4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICY9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggJiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC45X1QyLjEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgQm9vbGVhbiAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCnggPSB0cnVlOwp4ICY9IDE7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogeCA9IHRydWU7IHggJj0gMTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSAxOwp4ICY9IHRydWU7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogeCA9IDE7IHggJj0gdHJ1ZTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSBuZXcgQm9vbGVhbih0cnVlKTsKeCAmPSAxOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzM6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCAmPSAxOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IDE7CnggJj0gbmV3IEJvb2xlYW4odHJ1ZSk7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogeCA9IDE7IHggJj0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNQp4ID0gdHJ1ZTsKeCAmPSBuZXcgTnVtYmVyKDEpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzU6IHggPSB0cnVlOyB4ICY9IG5ldyBOdW1iZXIoMSk7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNgp4ID0gbmV3IE51bWJlcigxKTsKeCAmPSB0cnVlOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzY6IHggPSBuZXcgTnVtYmVyKDEpOyB4ICY9IHRydWU7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNwp4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7CnggJj0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM3OiB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggJj0gbmV3IE51bWJlcigxKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM4CnggPSBuZXcgTnVtYmVyKDEpOwp4ICY9IG5ldyBCb29sZWFuKHRydWUpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzg6IHggPSBuZXcgTnVtYmVyKDEpOyB4ICY9IG5ldyBCb29sZWFuKHRydWUpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=",
"commentary":"The production x &= y is the same as x = x & y",
"description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Boolean (primitive and object)",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.9_T2.1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICY9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggJiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC45X1QyLjIuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgU3RyaW5nIChwcmltaXRpdmUgYW5kIG9iamVjdCkKICovCgovL0NIRUNLIzEKeCA9ICIxIjsKeCAmPSAxOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzE6IHggPSAiMSI7IHggJj0gMTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSAxOwp4ICY9ICIxIjsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMyOiB4ID0gMTsgeCAmPSAiMSI7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gbmV3IFN0cmluZygiMSIpOwp4ICY9IDE7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCAmPSAxOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IDE7CnggJj0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzQ6IHggPSAxOyB4ICY9IG5ldyBTdHJpbmcoIjEiKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM1CnggPSAiMSI7CnggJj0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM1OiB4ID0gIjEiOyB4ICY9IG5ldyBOdW1iZXIoMSk7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNgp4ID0gbmV3IE51bWJlcigxKTsKeCAmPSAiMSI7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjNjogeCA9IG5ldyBOdW1iZXIoMSk7IHggJj0gIjEiOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzcKeCA9IG5ldyBTdHJpbmcoIjEiKTsKeCAmPSBuZXcgTnVtYmVyKDEpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzc6IHggPSBuZXcgU3RyaW5nKCIxIik7IHggJj0gbmV3IE51bWJlcigxKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM4CnggPSBuZXcgTnVtYmVyKDEpOwp4ICY9IG5ldyBTdHJpbmcoIjEiKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM4OiB4ID0gbmV3IE51bWJlcigxKTsgeCAmPSBuZXcgU3RyaW5nKCIxIik7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjOQp4ID0gIngiOwp4ICY9IDE7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjOTogeCA9ICJ4IjsgeCAmPSAxOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzEwCnggPSAxOwp4ICY9ICJ4IjsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMxMDogeCA9IDE7IHggJj0gIngiOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=",
"commentary":"The production x &= y is the same as x = x & y",
"description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object)",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.9_T2.2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICY9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggJiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC45X1QyLjMuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQp4ID0gMTsKeCAmPSBudWxsOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzE6IHggPSAxOyB4ICY9IG51bGw7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gbnVsbDsKeCAmPSAxOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzI6IHggPSBudWxsOyB4ICY9IDE7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gbmV3IE51bWJlcigxKTsKeCAmPSBudWxsOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzM6IHggPSBuZXcgTnVtYmVyKDEpOyB4ICY9IG51bGw7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gbnVsbDsKeCAmPSBuZXcgTnVtYmVyKDEpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzQ6IHggPSBudWxsOyB4ICY9IG5ldyBOdW1iZXIoMSk7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==",
"commentary":"The production x &= y is the same as x = x & y",
"description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.9_T2.3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICY9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggJiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC45X1QyLjQuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCnggPSAxOwp4ICY9IHVuZGVmaW5lZDsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMxOiB4ID0gMTsgeCAmPSB1bmRlZmluZWQ7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gdW5kZWZpbmVkOwp4ICY9IDE7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogeCA9IHVuZGVmaW5lZDsgeCAmPSAxOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IG5ldyBOdW1iZXIoMSk7CnggJj0gdW5kZWZpbmVkOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzM6IHggPSBuZXcgTnVtYmVyKDEpOyB4ICY9IHVuZGVmaW5lZDsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSB1bmRlZmluZWQ7CnggJj0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM0OiB4ID0gdW5kZWZpbmVkOyB4ICY9IG5ldyBOdW1iZXIoMSk7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==",
"commentary":"The production x &= y is the same as x = x & y",
"description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.9_T2.4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICY9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggJiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC45X1QyLjUuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgQm9vbGVhbiAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCnggPSB0cnVlOwp4ICY9ICIxIjsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMxOiB4ID0gdHJ1ZTsgeCAmPSAiMSI7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gIjEiOwp4ICY9IHRydWU7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogeCA9ICIxIjsgeCAmPSB0cnVlOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IG5ldyBCb29sZWFuKHRydWUpOwp4ICY9ICIxIjsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMzOiB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggJj0gIjEiOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9ICIxIjsKeCAmPSBuZXcgQm9vbGVhbih0cnVlKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM0OiB4ID0gIjEiOyB4ICY9IG5ldyBCb29sZWFuKHRydWUpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzUKeCA9IHRydWU7CnggJj0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzU6IHggPSB0cnVlOyB4ICY9IG5ldyBTdHJpbmcoIjEiKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM2CnggPSBuZXcgU3RyaW5nKCIxIik7CnggJj0gdHJ1ZTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM2OiB4ID0gbmV3IFN0cmluZygiMSIpOyB4ICY9IHRydWU7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNwp4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7CnggJj0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzc6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCAmPSBuZXcgU3RyaW5nKCIxIik7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjOAp4ID0gbmV3IFN0cmluZygiMSIpOwp4ICY9IG5ldyBCb29sZWFuKHRydWUpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzg6IHggPSBuZXcgU3RyaW5nKCIxIik7IHggJj0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==",
"commentary":"The production x &= y is the same as x = x & y",
"description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Boolean (primitive and object)",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.9_T2.5.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICY9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggJiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC45X1QyLjYuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCnggPSAiMSI7CnggJj0gdW5kZWZpbmVkOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzE6IHggPSAiMSI7IHggJj0gdW5kZWZpbmVkOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IHVuZGVmaW5lZDsKeCAmPSAiMSI7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogeCA9IHVuZGVmaW5lZDsgeCAmPSAiMSI7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gbmV3IFN0cmluZygiMSIpOwp4ICY9IHVuZGVmaW5lZDsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMzOiB4ID0gbmV3IFN0cmluZygiMSIpOyB4ICY9IHVuZGVmaW5lZDsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSB1bmRlZmluZWQ7CnggJj0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzQ6IHggPSB1bmRlZmluZWQ7IHggJj0gbmV3IFN0cmluZygiMSIpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=",
"commentary":"The production x &= y is the same as x = x & y",
"description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Undefined",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.9_T2.6.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICY9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggJiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC45X1QyLjcuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQp4ID0gIjEiOwp4ICY9IG51bGw7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogeCA9ICIxIjsgeCAmPSBudWxsOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IG51bGw7CnggJj0gIjEiOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzI6IHggPSBudWxsOyB4ICY9ICIxIjsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSBuZXcgU3RyaW5nKCIxIik7CnggJj0gbnVsbDsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMzOiB4ID0gbmV3IFN0cmluZygiMSIpOyB4ICY9IG51bGw7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gbnVsbDsKeCAmPSBuZXcgU3RyaW5nKCIxIik7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogeCA9IG51bGw7IHggJj0gbmV3IFN0cmluZygiMSIpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=",
"commentary":"The production x &= y is the same as x = x & y",
"description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.9_T2.7.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICY9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggJiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC45X1QyLjguanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gQm9vbGVhbiAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQp4ID0gdHJ1ZTsKeCAmPSB1bmRlZmluZWQ7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogeCA9IHRydWU7IHggJj0gdW5kZWZpbmVkOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IHVuZGVmaW5lZDsKeCAmPSB0cnVlOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzI6IHggPSB1bmRlZmluZWQ7IHggJj0gdHJ1ZTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSBuZXcgQm9vbGVhbih0cnVlKTsKeCAmPSB1bmRlZmluZWQ7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBCb29sZWFuKHRydWUpOyB4ICY9IHVuZGVmaW5lZDsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSB1bmRlZmluZWQ7CnggJj0gbmV3IEJvb2xlYW4odHJ1ZSk7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogeCA9IHVuZGVmaW5lZDsgeCAmPSBuZXcgQm9vbGVhbih0cnVlKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoK",
"commentary":"The production x &= y is the same as x = x & y",
"description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.9_T2.8.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICY9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggJiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC45X1QyLjkuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gQm9vbGVhbiAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIE51bGwKICovCgovL0NIRUNLIzEKeCA9IHRydWU7CnggJj0gbnVsbDsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMxOiB4ID0gdHJ1ZTsgeCAmPSBudWxsOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IG51bGw7CnggJj0gdHJ1ZTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMyOiB4ID0gbnVsbDsgeCAmPSB0cnVlOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IG5ldyBCb29sZWFuKHRydWUpOwp4ICY9IG51bGw7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBCb29sZWFuKHRydWUpOyB4ICY9IG51bGw7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gbnVsbDsKeCAmPSBuZXcgQm9vbGVhbih0cnVlKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM0OiB4ID0gbnVsbDsgeCAmPSBuZXcgQm9vbGVhbih0cnVlKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoK",
"commentary":"The production x &= y is the same as x = x & y",
"description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null",
"path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.9_T2.9.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gRXhwcmVzc2lvbiBhbmQgLCBvciBiZXR3ZWVuICwgYW5kIEFzc2lnbm1lbnRFeHByZXNzaW9uIGFyZSBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTQvUzExLjE0X0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBieSB1c2luZyBldmFsCiAqLwoKLy9DSEVDSyMxCmlmICgoZXZhbCgiZmFsc2VcdTAwMDksXHUwMDA5dHJ1ZSIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IChmYWxzZVxcdTAwMDksXFx1MDAwOXRydWUpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKGV2YWwoImZhbHNlXHUwMDBCLFx1MDAwQnRydWUiKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiAoZmFsc2VcXHUwMDBCLFxcdTAwMEJ0cnVlKSA9PT0gdHJ1ZScpOyAgCn0KCi8vQ0hFQ0sjMwppZiAoKGV2YWwoImZhbHNlXHUwMDBDLFx1MDAwQ3RydWUiKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiAoZmFsc2VcXHUwMDBDLFxcdTAwMEN0cnVlKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzQKaWYgKChldmFsKCJmYWxzZVx1MDAyMCxcdTAwMjB0cnVlIikpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogKGZhbHNlXFx1MDAyMCxcXHUwMDIwdHJ1ZSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM1CmlmICgoZXZhbCgiZmFsc2VcdTAwQTAsXHUwMEEwdHJ1ZSIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzU6IChmYWxzZVxcdTAwQTAsXFx1MDBBMHRydWUpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNgppZiAoKGV2YWwoImZhbHNlXHUwMDBBLFx1MDAwQXRydWUiKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiAoZmFsc2VcXHUwMDBBLFxcdTAwMEF0cnVlKSA9PT0gdHJ1ZScpOyAgCn0KCi8vQ0hFQ0sjNwppZiAoKGV2YWwoImZhbHNlXHUwMDBELFx1MDAwRHRydWUiKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM3OiAoZmFsc2VcXHUwMDBELFxcdTAwMER0cnVlKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzgKaWYgKChldmFsKCJmYWxzZVx1MjAyOCxcdTIwMjh0cnVlIikpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjODogKGZhbHNlXFx1MjAyOCxcXHUyMDI4dHJ1ZSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM5CmlmICgoZXZhbCgiZmFsc2VcdTIwMjksXHUyMDI5dHJ1ZSIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzk6IChmYWxzZVxcdTIwMjksXFx1MjAyOXRydWUpID09PSB0cnVlJyk7Cn0KCgovL0NIRUNLIzEwCmlmICgoZXZhbCgiZmFsc2VcdTAwMDlcdTAwMEJcdTAwMENcdTAwMjBcdTAwQTBcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjksXHUwMDA5XHUwMDBCXHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5dHJ1ZSIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzEwOiAoZmFsc2VcXHUwMDA5XFx1MDAwQlxcdTAwMENcXHUwMDIwXFx1MDBBMFxcdTAwMEFcXHUwMDBEXFx1MjAyOFxcdTIwMjksXFx1MDAwOVxcdTAwMEJcXHUwMDBDXFx1MDAyMFxcdTAwQTBcXHUwMDBBXFx1MDAwRFxcdTIwMjhcXHUyMDI5dHJ1ZSkgPT09IHRydWUnKTsKfQoK",
"commentary":"White Space and Line Terminator between Expression and , or between , and AssignmentExpression are allowed",
"description":"Checking by using eval",
"path":"TestCases/ch11/11.14/S11.14_A1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTQvUzExLjE0X0EyLjFfVDEuanMKICogQGRlc2NyaXB0aW9uIEVpdGhlciBFeHByZXNzaW9uIGlzIG5vdCBSZWZlcmVuY2Ugb3IgR2V0QmFzZSBpcyBub3QgbnVsbAogKi8KCi8vQ0hFQ0sjMQppZiAoKDEsMikgIT09IDIpIHsKICAkRVJST1IoJyMxOiAoMSwyKSA9PT0gMi4gQWN0dWFsOiAnICsgKCgxLDIpKSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgeCA9IDE7CmlmICgoeCwgMikgIT09IDIpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IDE7ICh4LCAyKSA9PT0gMi4gQWN0dWFsOiAnICsgKCh4LCAyKSkpOwp9CgovL0NIRUNLIzMKdmFyIHkgPSAyOwppZiAoKDEsIHkpICE9PSAyKSB7CiAgJEVSUk9SKCcjMzogdmFyIHkgPSAyOyAoMSwgeSkgPT09IDIuIEFjdHVhbDogJyArICgoMSwgeSkpKTsKfQoKLy9DSEVDSyM0CnZhciB4ID0gMTsKdmFyIHkgPSAyOwppZiAoKHgsIHkpICE9PSAyKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSAxOyB2YXIgeSA9IDI7ICh4LCB5KSA9PT0gMi4gQWN0dWFsOiAnICsgKCh4LCB5KSkpOwp9CgovL0NIRUNLIzUKdmFyIHggPSAxOwppZiAoKHgsIHgpICE9PSAxKSB7CiAgJEVSUk9SKCcjNTogdmFyIHggPSAxOyAoeCwgeCkgPT09IDEuIEFjdHVhbDogJyArICgoeCwgeCkpKTsKfQoKLy9DSEVDSyM2CnZhciBvYmplY3R4ID0gbmV3IE9iamVjdCgpOwp2YXIgb2JqZWN0eSA9IG5ldyBPYmplY3QoKTsKb2JqZWN0eC5wcm9wID0gdHJ1ZTsKb2JqZWN0eS5wcm9wID0gMS4xOwppZiAoKG9iamVjdHgucHJvcCA9IGZhbHNlLCBvYmplY3R5LnByb3ApICE9PSBvYmplY3R5LnByb3ApIHsKICAkRVJST1IoJyM2OiB2YXIgb2JqZWN0eCA9IG5ldyBPYmplY3QoKTsgdmFyIG9iamVjdHkgPSBuZXcgT2JqZWN0KCk7IG9iamVjdHgucHJvcCA9IHRydWU7IG9iamVjdHkucHJvcCA9IDE7IChvYmplY3R4LnByb3AgPSBmYWxzZSwgb2JqZWN0eS5wcm9wKSA9PT0gb2JqZWN0eS5wcm9wLiBBY3R1YWw6ICcgKyAoKG9iamVjdHgucHJvcCA9IGZhbHNlLCBvYmplY3R5LnByb3ApKSk7Cn0gZWxzZSB7CiAgaWYgKG9iamVjdHgucHJvcCAhPT0gZmFsc2UpIHsKICAgICRFUlJPUignIzY6IHZhciBvYmplY3R4ID0gbmV3IE9iamVjdCgpOyB2YXIgb2JqZWN0eSA9IG5ldyBPYmplY3QoKTsgb2JqZWN0eC5wcm9wID0gdHJ1ZTsgb2JqZWN0eS5wcm9wID0gMTsgb2JqZWN0eC5wcm9wID0gZmFsc2UsIG9iamVjdHkucHJvcDsgb2JqZWN0eC5wcm9wID09PSBmYWxzZScpOwogIH0gCn0KCgo=",
"commentary":"Operator uses GetValue",
"description":"Either Expression is not Reference or GetBase is not null",
"path":"TestCases/ch11/11.14/S11.14_A2.1_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTQvUzExLjE0X0EyLjFfVDIuanMKICogQGRlc2NyaXB0aW9uIElmIEdldEJhc2UoRXhwcmVzc2lvbikgaXMgbnVsbCwgdGhyb3cgUmVmZXJlbmNlRXJyb3IKICovCgovL0NIRUNLIzEKdHJ5IHsKICB4LCAxOwogICRFUlJPUignIzEuMTogeCwgMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHgsIDEpKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IHgsIDEgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7ICAKICB9Cn0KCg==",
"commentary":"Operator uses GetValue",
"description":"If GetBase(Expression) is null, throw ReferenceError",
"path":"TestCases/ch11/11.14/S11.14_A2.1_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTQvUzExLjE0X0EyLjFfVDMuanMKICogQGRlc2NyaXB0aW9uIElmIEdldEJhc2UoQXNzaWdtZW50RXhwcmVzc2lvbikgaXMgbnVsbCwgdGhyb3cgUmVmZXJlbmNlRXJyb3IKICovCgovL0NIRUNLIzEKdHJ5IHsKICAxLCB5OwogICRFUlJPUignIzEuMTogMSwgeSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKDEsIHkpKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IDEsIHkgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7ICAKICB9Cn0KCg==",
"commentary":"Operator uses GetValue",
"description":"If GetBase(AssigmentExpression) is null, throw ReferenceError",
"path":"TestCases/ch11/11.14/S11.14_A2.1_T3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDb21tYSBPcGVyYXRvciBldmFsdWF0ZXMgYWxsIEV4cHJlc3Npb25zIGFuZCByZXR1cm5zIHRoZSBsYXN0IG9mIHRoZW0KICoKICogQHBhdGggY2gxMS8xMS4xNC9TMTEuMTRfQTMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggIj0iCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gMDsKdmFyIHkgPSAwOwp2YXIgeiA9IDA7CmlmICgoeCA9IDEsIHkgPSAyLCB6ID0gMykgIT09IDMpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IDA7IHZhciB5ID0gMDsgdmFyIHogPSAwOyAoeCA9IDEsIHkgPSAyLCB6ID0gMykgPT09IDMuIEFjdHVhbDogJyArICgoeCA9IDEsIHkgPSAyLCB6ID0gMykpKTsKfQoKdmFyIHggPSAwOwp2YXIgeSA9IDA7CnZhciB6ID0gMDsKeCA9IDEsIHkgPSAyLCB6ID0gMzsKCi8vQ0hFQ0sjMgppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzI6IHZhciB4ID0gMDsgdmFyIHkgPSAwOyB2YXIgeiA9IDA7IHggPSAxLCB5ID0gMiwgeiA9IDM7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwppZiAoeSAhPT0gMikgewogICRFUlJPUignIzM6IHZhciB4ID0gMDsgdmFyIHkgPSAwOyB2YXIgeiA9IDA7IHggPSAxLCB5ID0gMiwgeiA9IDM7IHkgPT09IDIuIEFjdHVhbDogJyArICh5KSk7Cn0KCi8vQ0hFQ0sjNAppZiAoeiAhPT0gMykgewogICRFUlJPUignIzQ6IHZhciB4ID0gMDsgdmFyIHkgPSAwOyB2YXIgeiA9IDA7IHggPSAxLCB5ID0gMiwgeiA9IDM7IHogPT09IDMuIEFjdHVhbDogJyArICh6KSk7Cn0KCg==",
"commentary":"Comma Operator evaluates all Expressions and returns the last of them",
"description":"Checking with \"=\"",
"path":"TestCases/ch11/11.14/S11.14_A3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gTWVtYmVyRXhwcmVzc2lvbiBvciBDYWxsRXhwcmVzc2lvbiBhbmQgIi4iIGFuZCBiZXR3ZWVuICIuIiBhbmQgSWRlbnRpZmllciBhcmUgYWxsb3dlZAogKgogKiBAcGF0aCBjaDExLzExLjIvMTEuMi4xL1MxMS4yLjFfQTEuMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYnkgdXNpbmcgZXZhbAogKi8KCi8vQ0hFQ0sjMQppZiAoZXZhbCgiTnVtYmVyXHUwMDA5Llx1MDAwOVBPU0lUSVZFX0lORklOSVRZIikgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICRFUlJPUignIzE6IE51bWJlclxcdTAwMDkuXFx1MDAwOVBPU0lUSVZFX0lORklOSVRZID09PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFknKTsKfQoKLy9DSEVDSyMyCmlmIChldmFsKCJOdW1iZXJcdTAwMEIuXHUwMDBCUE9TSVRJVkVfSU5GSU5JVFkiKSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7CiAgJEVSUk9SKCcjMjogTnVtYmVyXFx1MDAwQi5cXHUwMDBCUE9TSVRJVkVfSU5GSU5JVFkgPT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWScpOyAgCn0KCi8vQ0hFQ0sjMwppZiAoZXZhbCgiTnVtYmVyXHUwMDBDLlx1MDAwQ1BPU0lUSVZFX0lORklOSVRZIikgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICRFUlJPUignIzM6IE51bWJlclxcdTAwMEMuXFx1MDAwQ1BPU0lUSVZFX0lORklOSVRZID09PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFknKTsKfQoKLy9DSEVDSyM0CmlmIChldmFsKCJOdW1iZXJcdTAwMjAuXHUwMDIwUE9TSVRJVkVfSU5GSU5JVFkiKSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7CiAgJEVSUk9SKCcjNDogTnVtYmVyXFx1MDAyMC5cXHUwMDIwUE9TSVRJVkVfSU5GSU5JVFkgPT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWScpOwp9CgovL0NIRUNLIzUKaWYgKGV2YWwoIk51bWJlclx1MDBBMC5cdTAwQTBQT1NJVElWRV9JTkZJTklUWSIpICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHsKICAkRVJST1IoJyM1OiBOdW1iZXJcXHUwMEEwLlxcdTAwQTBQT1NJVElWRV9JTkZJTklUWSA9PT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZJyk7Cn0KCi8vQ0hFQ0sjNgppZiAoZXZhbCgiTnVtYmVyXHUwMDBBLlx1MDAwQVBPU0lUSVZFX0lORklOSVRZIikgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICRFUlJPUignIzY6IE51bWJlclxcdTAwMEEuXFx1MDAwQVBPU0lUSVZFX0lORklOSVRZID09PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFknKTsgIAp9CgovL0NIRUNLIzcKaWYgKGV2YWwoIk51bWJlclx1MDAwRC5cdTAwMERQT1NJVElWRV9JTkZJTklUWSIpICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHsKICAkRVJST1IoJyM3OiBOdW1iZXJcXHUwMDBELlxcdTAwMERQT1NJVElWRV9JTkZJTklUWSA9PT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZJyk7Cn0KCi8vQ0hFQ0sjOAppZiAoZXZhbCgiTnVtYmVyXHUyMDI4Llx1MjAyOFBPU0lUSVZFX0lORklOSVRZIikgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICRFUlJPUignIzg6IE51bWJlclxcdTIwMjguXFx1MjAyOFBPU0lUSVZFX0lORklOSVRZID09PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFknKTsKfQoKLy9DSEVDSyM5CmlmIChldmFsKCJOdW1iZXJcdTIwMjkuXHUyMDI5UE9TSVRJVkVfSU5GSU5JVFkiKSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7CiAgJEVSUk9SKCcjOTogTnVtYmVyXFx1MjAyOS5cXHUyMDI5UE9TSVRJVkVfSU5GSU5JVFkgPT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWScpOwp9CgovL0NIRUNLIzEwCmlmIChldmFsKCJOdW1iZXJcdTAwMDlcdTAwMEJcdTAwMENcdTAwMjBcdTAwQTBcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjkuXHUwMDA5XHUwMDBCXHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5UE9TSVRJVkVfSU5GSU5JVFkiKSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7CiAgJEVSUk9SKCcjMTA6IE51bWJlclxcdTAwMDlcXHUwMDBCXFx1MDAwQ1xcdTAwMjBcXHUwMEEwXFx1MDAwQVxcdTAwMERcXHUyMDI4XFx1MjAyOS5cXHUwMDA5XFx1MDAwQlxcdTAwMENcXHUwMDIwXFx1MDBBMFxcdTAwMEFcXHUwMDBEXFx1MjAyOFxcdTIwMjlQT1NJVElWRV9JTkZJTklUWSA9PT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZJyk7Cn0KCg==",
"commentary":"White Space and Line Terminator between MemberExpression or CallExpression and \".\" and between \".\" and Identifier are allowed",
"description":"Checking by using eval",
"path":"TestCases/ch11/11.2/11.2.1/S11.2.1_A1.1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gIlsiIGFuZCBNZW1iZXJFeHByZXNzaW9uIG9yIENhbGxFeHByZXNzaW9uIGFuZCBiZXR3ZWVuIElkZW50aWZpZXIgYW5kICJdIiBhcmUgYWxsb3dlZAogKgogKiBAcGF0aCBjaDExLzExLjIvMTEuMi4xL1MxMS4yLjFfQTEuMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYnkgdXNpbmcgZXZhbAogKi8KCi8vQ0hFQ0sjMQppZiAoZXZhbCgnTnVtYmVyW1x1MDAwOSJQT1NJVElWRV9JTkZJTklUWSJcdTAwMDldJykgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICRFUlJPUignIzE6IE51bWJlcltcXHUwMDA5IlBPU0lUSVZFX0lORklOSVRZIlxcdTAwMDldID09PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFknKTsKfQoKLy9DSEVDSyMyCmlmIChldmFsKCdOdW1iZXJbXHUwMDBCIlBPU0lUSVZFX0lORklOSVRZIlx1MDAwQl0nKSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7CiAgJEVSUk9SKCcjMjogTnVtYmVyW1xcdTAwMEIiUE9TSVRJVkVfSU5GSU5JVFkiXFx1MDAwQl0gPT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWScpOyAgCn0KCi8vQ0hFQ0sjMwppZiAoZXZhbCgnTnVtYmVyW1x1MDAwQyJQT1NJVElWRV9JTkZJTklUWSJcdTAwMENdJykgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICRFUlJPUignIzM6IE51bWJlcltcXHUwMDBDIlBPU0lUSVZFX0lORklOSVRZIlxcdTAwMENdID09PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFknKTsKfQoKLy9DSEVDSyM0CmlmIChldmFsKCdOdW1iZXJbXHUwMDIwIlBPU0lUSVZFX0lORklOSVRZIlx1MDAyMF0nKSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7CiAgJEVSUk9SKCcjNDogTnVtYmVyW1xcdTAwMjAiUE9TSVRJVkVfSU5GSU5JVFkiXFx1MDAyMF0gPT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWScpOwp9CgovL0NIRUNLIzUKaWYgKGV2YWwoJ051bWJlcltcdTAwQTAiUE9TSVRJVkVfSU5GSU5JVFkiXHUwMEEwXScpICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHsKICAkRVJST1IoJyM1OiBOdW1iZXJbXFx1MDBBMCJQT1NJVElWRV9JTkZJTklUWSJcXHUwMEEwXSA9PT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZJyk7Cn0KCi8vQ0hFQ0sjNgppZiAoZXZhbCgnTnVtYmVyW1x1MDAwQSJQT1NJVElWRV9JTkZJTklUWSJcdTAwMEFdJykgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICRFUlJPUignIzY6IE51bWJlcltcXHUwMDBBIlBPU0lUSVZFX0lORklOSVRZIlxcdTAwMEFdID09PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFknKTsgIAp9CgovL0NIRUNLIzcKaWYgKGV2YWwoJ051bWJlcltcdTAwMEQiUE9TSVRJVkVfSU5GSU5JVFkiXHUwMDBEXScpICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHsKICAkRVJST1IoJyM3OiBOdW1iZXJbXFx1MDAwRCJQT1NJVElWRV9JTkZJTklUWSJcXHUwMDBEXSA9PT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZJyk7Cn0KCi8vQ0hFQ0sjOAppZiAoZXZhbCgnTnVtYmVyW1x1MjAyOCJQT1NJVElWRV9JTkZJTklUWSJcdTIwMjhdJykgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICRFUlJPUignIzg6IE51bWJlcltcXHUyMDI4IlBPU0lUSVZFX0lORklOSVRZIlxcdTIwMjhdID09PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFknKTsKfQoKLy9DSEVDSyM5CmlmIChldmFsKCdOdW1iZXJbXHUyMDI5IlBPU0lUSVZFX0lORklOSVRZIlx1MjAyOV0nKSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7CiAgJEVSUk9SKCcjOTogTnVtYmVyW1xcdTIwMjkiUE9TSVRJVkVfSU5GSU5JVFkiXFx1MjAyOV0gPT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWScpOwp9CgovL0NIRUNLIzEwCmlmIChldmFsKCdOdW1iZXJbXHUwMDA5XHUwMDBCXHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5IlBPU0lUSVZFX0lORklOSVRZIlx1MDAwOVx1MDAwQlx1MDAwQ1x1MDAyMFx1MDBBMFx1MDAwQVx1MDAwRFx1MjAyOFx1MjAyOV0nKSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7CiAgJEVSUk9SKCcjMTA6IE51bWJlcltcXHUwMDA5XFx1MDAwQlxcdTAwMENcXHUwMDIwXFx1MDBBMFxcdTAwMEFcXHUwMDBEXFx1MjAyOFxcdTIwMjkiUE9TSVRJVkVfSU5GSU5JVFkiXFx1MDAwOVxcdTAwMEJcXHUwMDBDXFx1MDAyMFxcdTAwQTBcXHUwMDBBXFx1MDAwRFxcdTIwMjhcXHUyMDI5XSA9PT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZJyk7Cn0KCg==",
"commentary":"White Space and Line Terminator between \"[\" and MemberExpression or CallExpression and between Identifier and \"]\" are allowed",
"description":"Checking by using eval",
"path":"TestCases/ch11/11.2/11.2.1/S11.2.1_A1.2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNZW1iZXJFeHByZXNzaW9uIGFuZCBDYWxsRXhwcmVzc2lvbiB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMi8xMS4yLjEvUzExLjIuMV9BMi5qcwogKiBAZGVzY3JpcHRpb24gSWYgR2V0QmFzZShNZW1iZXJFeHByZXNzaW9uIG9yIENhbGxFeHByZXNzaW9uKSBpcyBudWxsLCB0aHJvdyBSZWZlcmVuY2VFcnJvcgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIG9iamVjdFsxXTsKICAkRVJST1IoJyMxLjE6IG9iamVjdFsxXSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKG9iamVjdFsxXSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogb2JqZWN0WzFdIHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9CgovL0NIRUNLIzIKdHJ5IHsKICBvYmplY3QucHJvcDsKICAkRVJST1IoJyMyLjE6IG9iamVjdC5wcm9wIHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAob2JqZWN0LnByb3ApKTsgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzIuMjogb2JqZWN0LnByb3AgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7IAogIH0KfQoK",
"commentary":"MemberExpression and CallExpression uses GetValue",
"description":"If GetBase(MemberExpression or CallExpression) is null, throw ReferenceError",
"path":"TestCases/ch11/11.2/11.2.1/S11.2.1_A2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNZW1iZXJFeHByZXNzaW9uIGNhbGxzIFRvT2JqZWN0KE1lbWJlckV4cHJlc3Npb24pIGFuZCBUb1N0cmluZyhFeHByZXNzaW9uKS4gQ2FsbEV4cHJlc3Npb24gY2FsbHMgVG9PYmplY3QoQ2FsbEV4cHJlc3Npb24pIGFuZCBUb1N0cmluZyhFeHByZXNzaW9uKQogKgogKiBAcGF0aCBjaDExLzExLjIvMTEuMi4xL1MxMS4yLjFfQTNfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIEJvb2xlYW4gY2FzZQogKi8KCi8vQ0hFQ0sjMQppZiAodHJ1ZS50b1N0cmluZygpICE9PSAidHJ1ZSIpIHsKICAkRVJST1IoJyMxOiB0cnVlLnRvU3RyaW5nKCkgPT09ICJ0cnVlIi4gQWN0dWFsOiAnICsgKHRydWUudG9TdHJpbmcoKSkpOwp9CgovL0NIRUNLIzIKaWYgKGZhbHNlWyJ0b1N0cmluZyJdKCkgIT09ICJmYWxzZSIpIHsKICAkRVJST1IoJyMyOiBmYWxzZVsidG9TdHJpbmciXSgpID09PSAiZmFsc2UiLiBBY3R1YWw6ICcgKyAoZmFsc2VbInRvU3RyaW5nIl0oKSkpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBCb29sZWFuKHRydWUpLnRvU3RyaW5nKCkgIT09ICJ0cnVlIikgewogICRFUlJPUignIzM6IG5ldyBCb29sZWFuKHRydWUpLnRvU3RyaW5nKCkgPT09ICJ0cnVlIi4gQWN0dWFsOiAnICsgKG5ldyBCb29sZWFuKHRydWUpLnRvU3RyaW5nKCkpKTsKfQoKLy9DSEVDSyM0CmlmIChuZXcgQm9vbGVhbihmYWxzZSlbInRvU3RyaW5nIl0oKSAhPT0gImZhbHNlIikgewogICRFUlJPUignIzQ6IG5ldyBCb29sZWFuKGZhbHNlKVsidG9TdHJpbmciXSgpID09PSAiZmFsc2UiLiBBY3R1YWw6ICcgKyAobmV3IEJvb2xlYW4oZmFsc2UpWyJ0b1N0cmluZyJdKCkpKTsKfSAgCgo=",
"commentary":"MemberExpression calls ToObject(MemberExpression) and ToString(Expression). CallExpression calls ToObject(CallExpression) and ToString(Expression)",
"description":"Checking Boolean case",
"path":"TestCases/ch11/11.2/11.2.1/S11.2.1_A3_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNZW1iZXJFeHByZXNzaW9uIGNhbGxzIFRvT2JqZWN0KE1lbWJlckV4cHJlc3Npb24pIGFuZCBUb1N0cmluZyhFeHByZXNzaW9uKS4gQ2FsbEV4cHJlc3Npb24gY2FsbHMgVG9PYmplY3QoQ2FsbEV4cHJlc3Npb24pIGFuZCBUb1N0cmluZyhFeHByZXNzaW9uKQogKgogKiBAcGF0aCBjaDExLzExLjIvMTEuMi4xL1MxMS4yLjFfQTNfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIE51bWJlciBjYXNlCiAqLwoKLy9DSEVDSyMxCmlmICgxLi50b1N0cmluZygpICE9PSAiMSIpIHsKICAkRVJST1IoJyMxOiAxLi50b1N0cmluZygpID09PSAiMSIuIEFjdHVhbDogJyArICgxLi50b1N0cmluZygpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoMS4xLnRvRml4ZWQoNSkgIT09ICIxLjEwMDAwIikgewogICRFUlJPUignIzI6IDEuMS50b0ZpeGVkKDUpID09PSAiMS4xMDAwMCIuIEFjdHVhbDogJyArICgxLjEudG9GaXhlZCg1KSkpOwp9CgovL0NIRUNLIzMKaWYgKDFbInRvU3RyaW5nIl0oKSAhPT0gIjEiKSB7CiAgJEVSUk9SKCcjMzogMVsidG9TdHJpbmciXSgpID09PSAiMSIuIEFjdHVhbDogJyArICgxWyJ0b1N0cmluZyJdKCkpKTsKfQoKLy9DSEVDSyM0CmlmICgxLlsidG9GaXhlZCJdKDUpICE9PSAiMS4wMDAwMCIpIHsKICAkRVJST1IoJyM0OiAxLlsidG9GaXhlZCJdKDUpID09PSAiMS4wMDAwMCIuIEFjdHVhbDogJyArICgxLlsidG9GaXhlZCJdKDUpKSk7Cn0KCi8vQ0hFQ0sjNQppZiAobmV3IE51bWJlcigxKS50b1N0cmluZygpICE9PSAiMSIpIHsKICAkRVJST1IoJyM1OiBuZXcgTnVtYmVyKDEpLnRvU3RyaW5nKCkgPT09ICIxIi4gQWN0dWFsOiAnICsgKG5ldyBOdW1iZXIoMSkudG9TdHJpbmcoKSkpOwp9CgovL0NIRUNLIzYKaWYgKG5ldyBOdW1iZXIoMSlbInRvRml4ZWQiXSg1KSAhPT0gIjEuMDAwMDAiKSB7CiAgJEVSUk9SKCcjNjogbmV3IE51bWJlcigxKVsidG9GaXhlZCJdKDUpID09PSAiMS4wMDAwMCIuIEFjdHVhbDogJyArIChuZXcgTnVtYmVyKDEpWyJ0b0ZpeGVkIl0oNSkpKTsKfSAKCg==",
"commentary":"MemberExpression calls ToObject(MemberExpression) and ToString(Expression). CallExpression calls ToObject(CallExpression) and ToString(Expression)",
"description":"Checking Number case",
"path":"TestCases/ch11/11.2/11.2.1/S11.2.1_A3_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNZW1iZXJFeHByZXNzaW9uIGNhbGxzIFRvT2JqZWN0KE1lbWJlckV4cHJlc3Npb24pIGFuZCBUb1N0cmluZyhFeHByZXNzaW9uKS4gQ2FsbEV4cHJlc3Npb24gY2FsbHMgVG9PYmplY3QoQ2FsbEV4cHJlc3Npb24pIGFuZCBUb1N0cmluZyhFeHByZXNzaW9uKQogKgogKiBAcGF0aCBjaDExLzExLjIvMTEuMi4xL1MxMS4yLjFfQTNfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFN0cmluZyBjYXNlOwogKi8KCi8vQ0hFQ0sjMQppZiAoImFiYzEyMyIuY2hhckF0KDUpICE9PSAiMyIpIHsKICAkRVJST1IoJyMxOiAiYWJjMTIzIi5jaGFyQXQoNSkgPT09ICIzIi4gQWN0dWFsOiAnICsgKCJhYmMxMjMiLmNoYXJBdCg1KSkpOwp9CgovL0NIRUNLIzIKaWYgKCJhYmMxMjMiWyJjaGFyQXQiXSgwKSAhPT0gImEiKSB7CiAgJEVSUk9SKCcjMjogImFiYzEyMyJbImNoYXJBdCJdKDApID09PSAiYSIuIEFjdHVhbDogJyArICgiYWJjMTIzIlsiY2hhckF0Il0oMCkpKTsKfQoKLy9DSEVDSyMzCmlmICgiYWJjMTIzIi5sZW5ndGggIT09IDYpIHsKICAkRVJST1IoJyMzOiAiYWJjMTIzIi5sZW5ndGggPT09IDYuIEFjdHVhbDogJyArICgiYWJjMTIzIi5sZW5ndGgpKTsKfQoKLy9DSEVDSyM0CmlmICgiYWJjMTIzIlsibGVuZ3RoIl0gIT09IDYpIHsKICAkRVJST1IoJyM0OiAiYWJjMTIzIlsibGVuZ3RoIl0gPT09IDYuIEFjdHVhbDogJyArICgiYWJjMTIzIlsibGVuZ3RoIl0pKTsKfQoKLy9DSEVDSyM1CmlmIChuZXcgU3RyaW5nKCJhYmMxMjMiKS5sZW5ndGggIT09IDYpIHsKICAkRVJST1IoJyM1OiBuZXcgU3RyaW5nKCJhYmMxMjMiKS5sZW5ndGggPT09IDYuIEFjdHVhbDogJyArIChuZXcgU3RyaW5nKCJhYmMxMjMiKS5sZW5ndGgpKTsKfQoKLy9DSEVDSyM2CmlmIChuZXcgU3RyaW5nKCJhYmMxMjMiKVsiY2hhckF0Il0oMikgIT09ICJjIikgewogICRFUlJPUignIzY6IG5ldyBTdHJpbmcoImFiYzEyMyIpWyJjaGFyQXQiXSgyKSA9PT0gImMiLiBBY3R1YWw6ICcgKyAobmV3IFN0cmluZygiYWJjMTIzIilbImNoYXJBdCJdKDIpKSk7Cn0gIAoK",
"commentary":"MemberExpression calls ToObject(MemberExpression) and ToString(Expression). CallExpression calls ToObject(CallExpression) and ToString(Expression)",
"description":"Checking String case",
"path":"TestCases/ch11/11.2/11.2.1/S11.2.1_A3_T3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNZW1iZXJFeHByZXNzaW9uIGNhbGxzIFRvT2JqZWN0KE1lbWJlckV4cHJlc3Npb24pIGFuZCBUb1N0cmluZyhFeHByZXNzaW9uKS4gQ2FsbEV4cHJlc3Npb24gY2FsbHMgVG9PYmplY3QoQ2FsbEV4cHJlc3Npb24pIGFuZCBUb1N0cmluZyhFeHByZXNzaW9uKQogKgogKiBAcGF0aCBjaDExLzExLjIvMTEuMi4xL1MxMS4yLjFfQTNfVDQuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nICJ1bmRlZmluZWQiIGNhc2UKICovCgovL0NIRUNLIzEKdHJ5IHsKICB1bmRlZmluZWQudG9TdHJpbmcoKTsKICAkRVJST1IoJyMxLjE6IHVuZGVmaW5lZC50b1N0cmluZygpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKHVuZGVmaW5lZC50b1N0cmluZygpKSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogdW5kZWZpbmVkLnRvU3RyaW5nKCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9CgovL0NIRUNLIzIKdHJ5IHsgIAogIHVuZGVmaW5lZFsidG9TdHJpbmciXSgpOwogICRFUlJPUignIzIuMTogdW5kZWZpbmVkWyJ0b1N0cmluZyJdKCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAodW5kZWZpbmVkWyJ0b1N0cmluZyJdKCkpKTsgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMyLjI6IHVuZGVmaW5lZFsidG9TdHJpbmciXSgpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgCiAgfQp9Cgo=",
"commentary":"MemberExpression calls ToObject(MemberExpression) and ToString(Expression). CallExpression calls ToObject(CallExpression) and ToString(Expression)",
"description":"Checking \"undefined\" case",
"path":"TestCases/ch11/11.2/11.2.1/S11.2.1_A3_T4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNZW1iZXJFeHByZXNzaW9uIGNhbGxzIFRvT2JqZWN0KE1lbWJlckV4cHJlc3Npb24pIGFuZCBUb1N0cmluZyhFeHByZXNzaW9uKS4gQ2FsbEV4cHJlc3Npb24gY2FsbHMgVG9PYmplY3QoQ2FsbEV4cHJlc3Npb24pIGFuZCBUb1N0cmluZyhFeHByZXNzaW9uKQogKgogKiBAcGF0aCBjaDExLzExLjIvMTEuMi4xL1MxMS4yLjFfQTNfVDUuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nICJudWxsIiBjYXNlCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgbnVsbC50b1N0cmluZygpOwogICRFUlJPUignIzEuMTogbnVsbC50b1N0cmluZygpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKG51bGwudG9TdHJpbmcoKSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IG51bGwudG9TdHJpbmcoKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7ICAKICB9Cn0KCi8vQ0hFQ0sjMgp0cnkgeyAgCiAgbnVsbFsidG9TdHJpbmciXSgpOwogICRFUlJPUignIzIuMTogbnVsbFsidG9TdHJpbmciXSgpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKG51bGxbInRvU3RyaW5nIl0oKSkpOyAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzIuMjogbnVsbFsidG9TdHJpbmciXSgpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgCiAgfQp9Cgo=",
"commentary":"MemberExpression calls ToObject(MemberExpression) and ToString(Expression). CallExpression calls ToObject(CallExpression) and ToString(Expression)",
"description":"Checking \"null\" case",
"path":"TestCases/ch11/11.2/11.2.1/S11.2.1_A3_T5.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayB0eXBlIG9mIHZhcmlvdXMgcHJvcGVydGllcwogKgogKiBAcGF0aCBjaDExLzExLjIvMTEuMi4xL1MxMS4yLjFfQTRfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHByb3BlcnRpZXMgb2YgdGhpcyBvYmplY3QKICovCgovL0NIRUNLIzEtMzIKaWYgKHR5cGVvZiAodGhpcy5OYU4pICA9PT0gInVuZGVmaW5lZCIpICAkRVJST1IoJyMxOiB0eXBlb2YgKHRoaXMuTmFOKSAhPT0gInVuZGVmaW5lZCInKTsKaWYgKHR5cGVvZiB0aGlzWydOYU4nXSAgPT09ICJ1bmRlZmluZWQiKSAgJEVSUk9SKCcjMjogdHlwZW9mIHRoaXNbIk5hTiJdICE9PSAidW5kZWZpbmVkIicpOwppZiAodHlwZW9mIHRoaXMuSW5maW5pdHkgID09PSAidW5kZWZpbmVkIikgICRFUlJPUignIzM6IHR5cGVvZiB0aGlzLkluZmluaXR5ICE9PSAidW5kZWZpbmVkIicpOwppZiAodHlwZW9mIHRoaXNbJ0luZmluaXR5J10gID09PSAidW5kZWZpbmVkIikgICRFUlJPUignIzQ6IHR5cGVvZiB0aGlzWyJJbmZpbml0eSJdICE9PSAidW5kZWZpbmVkIicpOwppZiAodHlwZW9mIHRoaXMucGFyc2VJbnQgID09PSAidW5kZWZpbmVkIikgICRFUlJPUignIzU6IHR5cGVvZiB0aGlzLnBhcnNlSW50ICE9PSAidW5kZWZpbmVkIicpOwppZiAodHlwZW9mIHRoaXNbJ3BhcnNlSW50J10gPT09ICJ1bmRlZmluZWQiKSAgJEVSUk9SKCcjNjogdHlwZW9mIHRoaXNbInBhcnNlSW50Il0gIT09ICJ1bmRlZmluZWQiJyk7CmlmICh0eXBlb2YgdGhpcy5wYXJzZUZsb2F0ICA9PT0gInVuZGVmaW5lZCIpICAkRVJST1IoJyM3OiB0eXBlb2YgdGhpcy5wYXJzZUZsb2F0ICE9PSAidW5kZWZpbmVkIicpOwppZiAodHlwZW9mIHRoaXNbJ3BhcnNlRmxvYXQnXSA9PT0gInVuZGVmaW5lZCIpICAkRVJST1IoJyM4OiB0eXBlb2YgdGhpc1sicGFyc2VGbG9hdCJdICE9PSAidW5kZWZpbmVkIicpOwppZiAodHlwZW9mIHRoaXMuaXNOYU4gID09PSAidW5kZWZpbmVkIikgICRFUlJPUignIzEzOiB0eXBlb2YgdGhpcy5pc05hTiAhPT0gInVuZGVmaW5lZCInKTsKaWYgKHR5cGVvZiB0aGlzWydpc05hTiddID09PSAidW5kZWZpbmVkIikgICRFUlJPUignIzE0OiB0eXBlb2YgdGhpc1siaXNOYU4iXSAhPT0gInVuZGVmaW5lZCInKTsKaWYgKHR5cGVvZiB0aGlzLmlzRmluaXRlICA9PT0gInVuZGVmaW5lZCIpICAkRVJST1IoJyMxNTogdHlwZW9mIHRoaXMuaXNGaW5pdGUgIT09ICJ1bmRlZmluZWQiJyk7CmlmICh0eXBlb2YgdGhpc1snaXNGaW5pdGUnXSA9PT0gInVuZGVmaW5lZCIpICAkRVJST1IoJyMxNjogdHlwZW9mIHRoaXNbImlzRmluaXRlIl0gIT09ICJ1bmRlZmluZWQiJyk7CmlmICh0eXBlb2YgdGhpcy5PYmplY3QgPT09ICJ1bmRlZmluZWQiKSAgJEVSUk9SKCcjMTc6IHR5cGVvZiB0aGlzLk9iamVjdCAhPT0gInVuZGVmaW5lZCInKTsKaWYgKHR5cGVvZiB0aGlzWydPYmplY3QnXSA9PT0gInVuZGVmaW5lZCIpICAkRVJST1IoJyMxODogdHlwZW9mIHRoaXNbIk9iamVjdCJdICE9PSAidW5kZWZpbmVkIicpOwppZiAodHlwZW9mIHRoaXMuTnVtYmVyID09PSAidW5kZWZpbmVkIikgICRFUlJPUignIzE5OiB0eXBlb2YgdGhpcy5OdW1iZXIgIT09ICJ1bmRlZmluZWQiJyk7CmlmICh0eXBlb2YgdGhpc1snTnVtYmVyJ10gPT09ICJ1bmRlZmluZWQiKSAgJEVSUk9SKCcjMjA6IHR5cGVvZiB0aGlzWyJOdW1iZXIiXSAhPT0gInVuZGVmaW5lZCInKTsKaWYgKHR5cGVvZiB0aGlzLkZ1bmN0aW9uID09PSAidW5kZWZpbmVkIikgICRFUlJPUignIzIxOiB0eXBlb2YgdGhpcy5GdW5jdGlvbiAhPT0gInVuZGVmaW5lZCInKTsKaWYgKHR5cGVvZiB0aGlzWydGdW5jdGlvbiddID09PSAidW5kZWZpbmVkIikgICRFUlJPUignIzIyOiB0eXBlb2YgdGhpc1siRnVuY3Rpb24iXSAhPT0gInVuZGVmaW5lZCInKTsKaWYgKHR5cGVvZiB0aGlzLkFycmF5ID09PSAidW5kZWZpbmVkIikgICRFUlJPUignIzIzOiB0eXBlb2YgdGhpcy5BcnJheSAhPT0gInVuZGVmaW5lZCInKTsKaWYgKHR5cGVvZiB0aGlzWydBcnJheSddID09PSAidW5kZWZpbmVkIikgICRFUlJPUignIzI0OiB0eXBlb2YgdGhpc1siQXJyYXkiXSAhPT0gInVuZGVmaW5lZCInKTsKaWYgKHR5cGVvZiB0aGlzLlN0cmluZyA9PT0gInVuZGVmaW5lZCIpICAkRVJST1IoJyMyNTogdHlwZW9mIHRoaXMuU3RyaW5nICE9PSAidW5kZWZpbmVkIicpOwppZiAodHlwZW9mIHRoaXNbJ1N0cmluZyddID09PSAidW5kZWZpbmVkIikgICRFUlJPUignIzI2OiB0eXBlb2YgdGhpc1siU3RyaW5nIl0gIT09ICJ1bmRlZmluZWQiJyk7CmlmICh0eXBlb2YgdGhpcy5Cb29sZWFuID09PSAidW5kZWZpbmVkIikgICRFUlJPUignIzI3OiB0eXBlb2YgdGhpcy5Cb29sZWFuICE9PSAidW5kZWZpbmVkIicpOwppZiAodHlwZW9mIHRoaXNbJ0Jvb2xlYW4nXSA9PT0gInVuZGVmaW5lZCIpICAkRVJST1IoJyMyODogdHlwZW9mIHRoaXNbIkJvb2xlYW4iXSAhPT0gInVuZGVmaW5lZCInKTsKaWYgKHR5cGVvZiB0aGlzLkRhdGUgPT09ICJ1bmRlZmluZWQiKSAgJEVSUk9SKCcjMjk6IHR5cGVvZiB0aGlzLkRhdGUgIT09ICJ1bmRlZmluZWQiJyk7CmlmICh0eXBlb2YgdGhpc1snRGF0ZSddID09PSAidW5kZWZpbmVkIikgICRFUlJPUignIzMwOiB0eXBlb2YgdGhpc1siRGF0ZSJdICE9PSAidW5kZWZpbmVkIicpOwppZiAodHlwZW9mIHRoaXMuTWF0aCA9PT0gInVuZGVmaW5lZCIpICAkRVJST1IoJyMzMTogdHlwZW9mIHRoaXMuTWF0aCAhPT0gInVuZGVmaW5lZCInKTsKaWYgKHR5cGVvZiB0aGlzWydNYXRoJ10gPT09ICJ1bmRlZmluZWQiKSAgJEVSUk9SKCcjMzI6IHR5cGVvZiB0aGlzWyJNYXRoIl0gIT09ICJ1bmRlZmluZWQiJyk7Cgo=",
"commentary":"Check type of various properties",
"description":"Checking properties of this object",
"path":"TestCases/ch11/11.2/11.2.1/S11.2.1_A4_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayB0eXBlIG9mIHZhcmlvdXMgcHJvcGVydGllcwogKgogKiBAcGF0aCBjaDExLzExLjIvMTEuMi4xL1MxMS4yLjFfQTRfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHByb3BlcnRpZXMgYW5kIG1ldGhvZHMgb2YgT2JqZWN0IG9iamVjdHMKICovCgovL0NIRUNLIzEtOAppZiAodHlwZW9mIE9iamVjdC5wcm90b3R5cGUgICE9PSAib2JqZWN0IikgICRFUlJPUignIzE6IHR5cGVvZiBPYmplY3QucHJvdG90eXBlID09PSAib2JqZWN0Ii4gQWN0dWFsOiAnICsgKHR5cGVvZiBPYmplY3QucHJvdG90eXBlICkpOwppZiAodHlwZW9mIE9iamVjdFsncHJvdG90eXBlJ10gIT09ICJvYmplY3QiKSAgJEVSUk9SKCcjMjogdHlwZW9mIE9iamVjdFsicHJvdG90eXBlIl0gPT09ICJvYmplY3QiLiBBY3R1YWw6ICcgKyAodHlwZW9mIE9iamVjdFsicHJvdG90eXBlIl0gKSk7CmlmICh0eXBlb2YgT2JqZWN0LnRvU3RyaW5nICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjMzogdHlwZW9mIE9iamVjdC50b1N0cmluZyA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBPYmplY3QudG9TdHJpbmcgKSk7CmlmICh0eXBlb2YgT2JqZWN0Wyd0b1N0cmluZyddICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjNDogdHlwZW9mIE9iamVjdFsidG9TdHJpbmciXSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBPYmplY3RbInRvU3RyaW5nIl0gKSk7CmlmICh0eXBlb2YgT2JqZWN0LnZhbHVlT2YgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyM1OiB0eXBlb2YgT2JqZWN0LnZhbHVlT2YgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgT2JqZWN0LnZhbHVlT2YgKSk7CmlmICh0eXBlb2YgT2JqZWN0Wyd2YWx1ZU9mJ10gIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyM2OiB0eXBlb2YgT2JqZWN0WyJ2YWx1ZU9mIl0gPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgT2JqZWN0WyJ2YWx1ZU9mIl0gKSk7CmlmICh0eXBlb2YgT2JqZWN0LmNvbnN0cnVjdG9yICAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzc6IHR5cGVvZiBPYmplY3QuY29uc3RydWN0b3IgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgT2JqZWN0LmNvbnN0cnVjdG9yICkpOwppZiAodHlwZW9mIE9iamVjdFsnY29uc3RydWN0b3InXSAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzg6IHR5cGVvZiBPYmplY3RbImNvbnN0cnVjdG9yIl0gPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgT2JqZWN0WyJjb25zdHJ1Y3RvciJdICkpOwoK",
"commentary":"Check type of various properties",
"description":"Checking properties and methods of Object objects",
"path":"TestCases/ch11/11.2/11.2.1/S11.2.1_A4_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayB0eXBlIG9mIHZhcmlvdXMgcHJvcGVydGllcwogKgogKiBAcGF0aCBjaDExLzExLjIvMTEuMi4xL1MxMS4yLjFfQTRfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHByb3BlcnRpZXMgb2YgdGhlIEZ1bmN0aW9uIG9iamVjdAogKi8KCi8vQ0hFQ0sjMS04CmlmICh0eXBlb2YgRnVuY3Rpb24ucHJvdG90eXBlICAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzE6IHR5cGVvZiBGdW5jdGlvbi5wcm90b3R5cGUgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgRnVuY3Rpb24ucHJvdG90eXBlICkpOwppZiAodHlwZW9mIEZ1bmN0aW9uWydwcm90b3R5cGUnXSAgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyMyOiB0eXBlb2YgRnVuY3Rpb25bInByb3RvdHlwZSJdID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIEZ1bmN0aW9uWyJwcm90b3R5cGUiXSApKTsKaWYgKHR5cGVvZiBGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcgICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjMzogdHlwZW9mIEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZyA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcgKSk7CmlmICh0eXBlb2YgRnVuY3Rpb24ucHJvdG90eXBlWyd0b1N0cmluZyddICAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzQ6IHR5cGVvZiBGdW5jdGlvbi5wcm90b3R5cGVbInRvU3RyaW5nIl0gPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgRnVuY3Rpb24ucHJvdG90eXBlWyJ0b1N0cmluZyJdICkpOwppZiAodHlwZW9mIEZ1bmN0aW9uLnByb3RvdHlwZS5sZW5ndGggIT09ICJudW1iZXIiKSAgJEVSUk9SKCcjNTogdHlwZW9mIEZ1bmN0aW9uLnByb3RvdHlwZS5sZW5ndGggPT09ICJudW1iZXIiLiBBY3R1YWw6ICcgKyAodHlwZW9mIEZ1bmN0aW9uLnByb3RvdHlwZS5sZW5ndGggKSk7CmlmICh0eXBlb2YgRnVuY3Rpb24ucHJvdG90eXBlWydsZW5ndGgnXSAhPT0gIm51bWJlciIpICAkRVJST1IoJyM2OiB0eXBlb2YgRnVuY3Rpb24ucHJvdG90eXBlWyJsZW5ndGgiXSA9PT0gIm51bWJlciIuIEFjdHVhbDogJyArICh0eXBlb2YgRnVuY3Rpb24ucHJvdG90eXBlWyJsZW5ndGgiXSApKTsKaWYgKHR5cGVvZiBGdW5jdGlvbi5wcm90b3R5cGUudmFsdWVPZiAgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyM3OiB0eXBlb2YgRnVuY3Rpb24ucHJvdG90eXBlLnZhbHVlT2YgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgRnVuY3Rpb24ucHJvdG90eXBlLnZhbHVlT2YgKSk7CmlmICh0eXBlb2YgRnVuY3Rpb24ucHJvdG90eXBlWyd2YWx1ZU9mJ10gICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjODogdHlwZW9mIEZ1bmN0aW9uLnByb3RvdHlwZVsidmFsdWVPZiJdID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIEZ1bmN0aW9uLnByb3RvdHlwZVsidmFsdWVPZiJdICkpOwoK",
"commentary":"Check type of various properties",
"description":"Checking properties of the Function object",
"path":"TestCases/ch11/11.2/11.2.1/S11.2.1_A4_T3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayB0eXBlIG9mIHZhcmlvdXMgcHJvcGVydGllcwogKgogKiBAcGF0aCBjaDExLzExLjIvMTEuMi4xL1MxMS4yLjFfQTRfVDQuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHByb3BlcnRpZXMgb2YgdGhlIEFycmF5IG9iamVjdAogKi8KCi8vQ0hFQ0sjMS04CmlmICh0eXBlb2YgQXJyYXkucHJvdG90eXBlICAhPT0gIm9iamVjdCIpICAkRVJST1IoJyMxOiB0eXBlb2YgQXJyYXkucHJvdG90eXBlID09PSAib2JqZWN0Ii4gQWN0dWFsOiAnICsgKHR5cGVvZiBBcnJheS5wcm90b3R5cGUgKSk7CmlmICh0eXBlb2YgQXJyYXlbJ3Byb3RvdHlwZSddICE9PSAib2JqZWN0IikgICRFUlJPUignIzI6IHR5cGVvZiBBcnJheVsicHJvdG90eXBlIl0gPT09ICJvYmplY3QiLiBBY3R1YWw6ICcgKyAodHlwZW9mIEFycmF5WyJwcm90b3R5cGUiXSApKTsKaWYgKHR5cGVvZiBBcnJheS5sZW5ndGggICE9PSAibnVtYmVyIikgICRFUlJPUignIzM6IHR5cGVvZiBBcnJheS5sZW5ndGggPT09ICJudW1iZXIiLiBBY3R1YWw6ICcgKyAodHlwZW9mIEFycmF5Lmxlbmd0aCApKTsKaWYgKHR5cGVvZiBBcnJheVsnbGVuZ3RoJ10gIT09ICJudW1iZXIiKSAgJEVSUk9SKCcjNDogdHlwZW9mIEFycmF5WyJsZW5ndGgiXSA9PT0gIm51bWJlciIuIEFjdHVhbDogJyArICh0eXBlb2YgQXJyYXlbImxlbmd0aCJdICkpOwppZiAodHlwZW9mIEFycmF5LnByb3RvdHlwZS5jb25zdHJ1Y3RvciAgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyM1OiB0eXBlb2YgQXJyYXkucHJvdG90eXBlLmNvbnN0cnVjdG9yID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIEFycmF5LnByb3RvdHlwZS5jb25zdHJ1Y3RvciApKTsKaWYgKHR5cGVvZiBBcnJheS5wcm90b3R5cGVbJ2NvbnN0cnVjdG9yJ10gIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyM2OiB0eXBlb2YgQXJyYXkucHJvdG90eXBlWyJjb25zdHJ1Y3RvciJdID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIEFycmF5LnByb3RvdHlwZVsiY29uc3RydWN0b3IiXSApKTsKaWYgKHR5cGVvZiBBcnJheS5wcm90b3R5cGUudG9TdHJpbmcgICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjNzogdHlwZW9mIEFycmF5LnByb3RvdHlwZS50b1N0cmluZyA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBBcnJheS5wcm90b3R5cGUudG9TdHJpbmcgKSk7CmlmICh0eXBlb2YgQXJyYXkucHJvdG90eXBlWyd0b1N0cmluZyddICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjODogdHlwZW9mIEFycmF5LnByb3RvdHlwZVsidG9TdHJpbmciXSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBBcnJheS5wcm90b3R5cGVbInRvU3RyaW5nIl0gKSk7CmlmICh0eXBlb2YgQXJyYXkucHJvdG90eXBlLmpvaW4gICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjOTogdHlwZW9mIEFycmF5LnByb3RvdHlwZS5qb2luID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIEFycmF5LnByb3RvdHlwZS5qb2luICkpOwppZiAodHlwZW9mIEFycmF5LnByb3RvdHlwZVsnam9pbiddICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjMTA6IHR5cGVvZiBBcnJheS5wcm90b3R5cGVbImpvaW4iXSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBBcnJheS5wcm90b3R5cGVbImpvaW4iXSApKTsKaWYgKHR5cGVvZiBBcnJheS5wcm90b3R5cGUucmV2ZXJzZSAgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyMxMTogdHlwZW9mIEFycmF5LnByb3RvdHlwZS5yZXZlcnNlID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIEFycmF5LnByb3RvdHlwZS5yZXZlcnNlICkpOwppZiAodHlwZW9mIEFycmF5LnByb3RvdHlwZVsncmV2ZXJzZSddICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjMTI6IHR5cGVvZiBBcnJheS5wcm90b3R5cGVbInJldmVyc2UiXSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBBcnJheS5wcm90b3R5cGVbInJldmVyc2UiXSApKTsKaWYgKHR5cGVvZiBBcnJheS5wcm90b3R5cGUuc29ydCAgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyMxMzogdHlwZW9mIEFycmF5LnByb3RvdHlwZS5zb3J0ID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIEFycmF5LnByb3RvdHlwZS5zb3J0ICkpOwppZiAodHlwZW9mIEFycmF5LnByb3RvdHlwZVsnc29ydCddICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjMTQ6IHR5cGVvZiBBcnJheS5wcm90b3R5cGVbInNvcnQiXSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBBcnJheS5wcm90b3R5cGVbInNvcnQiXSApKTsKCgo=",
"commentary":"Check type of various properties",
"description":"Checking properties of the Array object",
"path":"TestCases/ch11/11.2/11.2.1/S11.2.1_A4_T4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayB0eXBlIG9mIHZhcmlvdXMgcHJvcGVydGllcwogKgogKiBAcGF0aCBjaDExLzExLjIvMTEuMi4xL1MxMS4yLjFfQTRfVDUuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHByb3BlcnRpZXMgb2YgdGhlIFN0cmluZyBvYmplY3QKICovCgovL0NIRUNLIzEtMjgKaWYgKHR5cGVvZiBTdHJpbmcucHJvdG90eXBlICAhPT0gIm9iamVjdCIpICAkRVJST1IoJyMxOiB0eXBlb2YgU3RyaW5nLnByb3RvdHlwZSA9PT0gIm9iamVjdCIuIEFjdHVhbDogJyArICh0eXBlb2YgU3RyaW5nLnByb3RvdHlwZSApKTsKaWYgKHR5cGVvZiBTdHJpbmdbJ3Byb3RvdHlwZSddICAhPT0gIm9iamVjdCIpICAkRVJST1IoJyMyOiB0eXBlb2YgU3RyaW5nWyJwcm90b3R5cGUiXSA9PT0gIm9iamVjdCIuIEFjdHVhbDogJyArICh0eXBlb2YgU3RyaW5nWyJwcm90b3R5cGUiXSApKTsKaWYgKHR5cGVvZiBTdHJpbmcuZnJvbUNoYXJDb2RlICAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzM6IHR5cGVvZiBTdHJpbmcuZnJvbUNoYXJDb2RlID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIFN0cmluZy5mcm9tQ2hhckNvZGUgKSk7CmlmICh0eXBlb2YgU3RyaW5nWydmcm9tQ2hhckNvZGUnXSAgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyM0OiB0eXBlb2YgU3RyaW5nWyJmcm9tQ2hhckNvZGUiXSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBTdHJpbmdbImZyb21DaGFyQ29kZSJdICkpOwppZiAodHlwZW9mIFN0cmluZy5wcm90b3R5cGUudG9TdHJpbmcgICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjNTogdHlwZW9mIFN0cmluZy5wcm90b3R5cGUudG9TdHJpbmcgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgU3RyaW5nLnByb3RvdHlwZS50b1N0cmluZyApKTsKaWYgKHR5cGVvZiBTdHJpbmcucHJvdG90eXBlWyd0b1N0cmluZyddICAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzY6IHR5cGVvZiBTdHJpbmcucHJvdG90eXBlWyJ0b1N0cmluZyJdID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIFN0cmluZy5wcm90b3R5cGVbInRvU3RyaW5nIl0gKSk7CmlmICh0eXBlb2YgU3RyaW5nLnByb3RvdHlwZS5jb25zdHJ1Y3RvciAgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyM3OiB0eXBlb2YgU3RyaW5nLnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBTdHJpbmcucHJvdG90eXBlLmNvbnN0cnVjdG9yICkpOwppZiAodHlwZW9mIFN0cmluZy5wcm90b3R5cGVbJ2NvbnN0cnVjdG9yJ10gICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjODogdHlwZW9mIFN0cmluZy5wcm90b3R5cGVbImNvbnN0cnVjdG9yIl0gPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgU3RyaW5nLnByb3RvdHlwZVsiY29uc3RydWN0b3IiXSApKTsKaWYgKHR5cGVvZiBTdHJpbmcucHJvdG90eXBlLnZhbHVlT2YgICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjOTogdHlwZW9mIFN0cmluZy5wcm90b3R5cGUudmFsdWVPZiA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBTdHJpbmcucHJvdG90eXBlLnZhbHVlT2YgKSk7CmlmICh0eXBlb2YgU3RyaW5nLnByb3RvdHlwZVsndmFsdWVPZiddICAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzEwOiB0eXBlb2YgU3RyaW5nLnByb3RvdHlwZVsidmFsdWVPZiJdID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIFN0cmluZy5wcm90b3R5cGVbInZhbHVlT2YiXSApKTsKaWYgKHR5cGVvZiBTdHJpbmcucHJvdG90eXBlLmNoYXJBdCAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzExOiB0eXBlb2YgU3RyaW5nLnByb3RvdHlwZS5jaGFyQXQgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgU3RyaW5nLnByb3RvdHlwZS5jaGFyQXQgKSk7CmlmICh0eXBlb2YgU3RyaW5nLnByb3RvdHlwZVsnY2hhckF0J10gIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyMxMjogdHlwZW9mIFN0cmluZy5wcm90b3R5cGVbImNoYXJBdCJdID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIFN0cmluZy5wcm90b3R5cGVbImNoYXJBdCJdICkpOwppZiAodHlwZW9mIFN0cmluZy5wcm90b3R5cGUuY2hhckNvZGVBdCAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzEzOiB0eXBlb2YgU3RyaW5nLnByb3RvdHlwZS5jaGFyQ29kZUF0ID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIFN0cmluZy5wcm90b3R5cGUuY2hhckNvZGVBdCApKTsKaWYgKHR5cGVvZiBTdHJpbmcucHJvdG90eXBlWydjaGFyQ29kZUF0J10gIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyMxNDogdHlwZW9mIFN0cmluZy5wcm90b3R5cGVbImNoYXJDb2RlQXQiXSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBTdHJpbmcucHJvdG90eXBlWyJjaGFyQ29kZUF0Il0gKSk7CmlmICh0eXBlb2YgU3RyaW5nLnByb3RvdHlwZS5pbmRleE9mICAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzE1OiB0eXBlb2YgU3RyaW5nLnByb3RvdHlwZS5pbmRleE9mID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIFN0cmluZy5wcm90b3R5cGUuaW5kZXhPZiApKTsKaWYgKHR5cGVvZiBTdHJpbmcucHJvdG90eXBlWydpbmRleE9mJ10gICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjMTY6IHR5cGVvZiBTdHJpbmcucHJvdG90eXBlWyJpbmRleE9mIl0gPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgU3RyaW5nLnByb3RvdHlwZVsiaW5kZXhPZiJdICkpOwppZiAodHlwZW9mIFN0cmluZy5wcm90b3R5cGUubGFzdEluZGV4T2YgICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjMTc6IHR5cGVvZiBTdHJpbmcucHJvdG90eXBlLmxhc3RJbmRleE9mID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIFN0cmluZy5wcm90b3R5cGUubGFzdEluZGV4T2YgKSk7CmlmICh0eXBlb2YgU3RyaW5nLnByb3RvdHlwZVsnbGFzdEluZGV4T2YnXSAgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyMxODogdHlwZW9mIFN0cmluZy5wcm90b3R5cGVbImxhc3RJbmRleE9mIl0gPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgU3RyaW5nLnByb3RvdHlwZVsibGFzdEluZGV4T2YiXSApKTsKaWYgKHR5cGVvZiBTdHJpbmcucHJvdG90eXBlLnNwbGl0ICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjMTk6IHR5cGVvZiBTdHJpbmcucHJvdG90eXBlLnNwbGl0ID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIFN0cmluZy5wcm90b3R5cGUuc3BsaXQgKSk7CmlmICh0eXBlb2YgU3RyaW5nLnByb3RvdHlwZVsnc3BsaXQnXSAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzIwOiB0eXBlb2YgU3RyaW5nLnByb3RvdHlwZVsic3BsaXQiXSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBTdHJpbmcucHJvdG90eXBlWyJzcGxpdCJdICkpOwppZiAodHlwZW9mIFN0cmluZy5wcm90b3R5cGUuc3Vic3RyaW5nICAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzIxOiB0eXBlb2YgU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmcgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmcgKSk7CmlmICh0eXBlb2YgU3RyaW5nLnByb3RvdHlwZVsnc3Vic3RyaW5nJ10gICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjMjI6IHR5cGVvZiBTdHJpbmcucHJvdG90eXBlWyJzdWJzdHJpbmciXSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBTdHJpbmcucHJvdG90eXBlWyJzdWJzdHJpbmciXSApKTsKaWYgKHR5cGVvZiBTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjMjM6IHR5cGVvZiBTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIFN0cmluZy5wcm90b3R5cGUudG9Mb3dlckNhc2UgKSk7CmlmICh0eXBlb2YgU3RyaW5nLnByb3RvdHlwZVsndG9Mb3dlckNhc2UnXSAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzI0OiB0eXBlb2YgU3RyaW5nLnByb3RvdHlwZVsidG9Mb3dlckNhc2UiXSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBTdHJpbmcucHJvdG90eXBlWyJ0b0xvd2VyQ2FzZSJdICkpOwppZiAodHlwZW9mIFN0cmluZy5wcm90b3R5cGUudG9VcHBlckNhc2UgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyMyNTogdHlwZW9mIFN0cmluZy5wcm90b3R5cGUudG9VcHBlckNhc2UgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgU3RyaW5nLnByb3RvdHlwZS50b1VwcGVyQ2FzZSApKTsKaWYgKHR5cGVvZiBTdHJpbmcucHJvdG90eXBlWyd0b1VwcGVyQ2FzZSddICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjMjY6IHR5cGVvZiBBcnJheS5wcm90b3R5cGUgPT09ICJvYmplY3QiLiBBY3R1YWw6ICcgKyAodHlwZW9mIEFycmF5LnByb3RvdHlwZSApKTsKaWYgKHR5cGVvZiBTdHJpbmcucHJvdG90eXBlLmxlbmd0aCAgIT09ICJudW1iZXIiKSAgJEVSUk9SKCcjMjc6IHR5cGVvZiBTdHJpbmcucHJvdG90eXBlLmxlbmd0aCA9PT0gIm51bWJlciIuIEFjdHVhbDogJyArICh0eXBlb2YgU3RyaW5nLnByb3RvdHlwZS5sZW5ndGggKSk7CmlmICh0eXBlb2YgU3RyaW5nLnByb3RvdHlwZVsnbGVuZ3RoJ10gICE9PSAibnVtYmVyIikgICRFUlJPUignIzI4OiB0eXBlb2YgU3RyaW5nLnByb3RvdHlwZVsibGVuZ3RoIl0gPT09ICJudW1iZXIiLiBBY3R1YWw6ICcgKyAodHlwZW9mIFN0cmluZy5wcm90b3R5cGVbImxlbmd0aCJdICkpOwoKCg==",
"commentary":"Check type of various properties",
"description":"Checking properties of the String object",
"path":"TestCases/ch11/11.2/11.2.1/S11.2.1_A4_T5.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayB0eXBlIG9mIHZhcmlvdXMgcHJvcGVydGllcwogKgogKiBAcGF0aCBjaDExLzExLjIvMTEuMi4xL1MxMS4yLjFfQTRfVDYuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHByb3BlcnRpZXMgb2YgdGhlIEJvb2xlYW4gb2JqZWN0CiAqLwoKLy9DSEVDSyMxLTgKaWYgKHR5cGVvZiBCb29sZWFuLnByb3RvdHlwZSAgIT09ICJvYmplY3QiKSAgICRFUlJPUignIzE6IHR5cGVvZiBCb29sZWFuLnByb3RvdHlwZSA9PT0gIm9iamVjdCIuIEFjdHVhbDogJyArICh0eXBlb2YgQm9vbGVhbi5wcm90b3R5cGUgKSk7CmlmICh0eXBlb2YgQm9vbGVhblsncHJvdG90eXBlJ10gICE9PSAib2JqZWN0IikgICRFUlJPUignIzI6IHR5cGVvZiBCb29sZWFuWyJwcm90b3R5cGUiXSA9PT0gIm9iamVjdCIuIEFjdHVhbDogJyArICh0eXBlb2YgQm9vbGVhblsicHJvdG90eXBlIl0gKSk7CmlmICh0eXBlb2YgQm9vbGVhbi5jb25zdHJ1Y3RvciAgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyMzOiB0eXBlb2YgQm9vbGVhbi5jb25zdHJ1Y3RvciA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBCb29sZWFuLmNvbnN0cnVjdG9yICkpOwppZiAodHlwZW9mIEJvb2xlYW5bJ2NvbnN0cnVjdG9yJ10gICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjNDogdHlwZW9mIEJvb2xlYW5bImNvbnN0cnVjdG9yIl0gPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgQm9vbGVhblsiY29uc3RydWN0b3IiXSApKTsKaWYgKHR5cGVvZiBCb29sZWFuLnByb3RvdHlwZS52YWx1ZU9mICAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzU6IHR5cGVvZiBCb29sZWFuLnByb3RvdHlwZS52YWx1ZU9mID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIEJvb2xlYW4ucHJvdG90eXBlLnZhbHVlT2YgKSk7CmlmICh0eXBlb2YgQm9vbGVhbi5wcm90b3R5cGVbJ3ZhbHVlT2YnXSAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzY6IHR5cGVvZiBCb29sZWFuLnByb3RvdHlwZVsidmFsdWVPZiJdID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIEJvb2xlYW4ucHJvdG90eXBlWyJ2YWx1ZU9mIl0gKSk7CmlmICh0eXBlb2YgQm9vbGVhbi5wcm90b3R5cGUudG9TdHJpbmcgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyM3OiB0eXBlb2YgQm9vbGVhbi5wcm90b3R5cGUudG9TdHJpbmcgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgQm9vbGVhbi5wcm90b3R5cGUudG9TdHJpbmcgKSk7CmlmICh0eXBlb2YgQm9vbGVhbi5wcm90b3R5cGVbJ3RvU3RyaW5nJ10gIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyM4OiB0eXBlb2YgQm9vbGVhbi5wcm90b3R5cGVbInRvU3RyaW5nIl0gPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgQm9vbGVhbi5wcm90b3R5cGVbInRvU3RyaW5nIl0gKSk7CgoK",
"commentary":"Check type of various properties",
"description":"Checking properties of the Boolean object",
"path":"TestCases/ch11/11.2/11.2.1/S11.2.1_A4_T6.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayB0eXBlIG9mIHZhcmlvdXMgcHJvcGVydGllcwogKgogKiBAcGF0aCBjaDExLzExLjIvMTEuMi4xL1MxMS4yLjFfQTRfVDcuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHByb3BlcnRpZXMgb2YgdGhlIE51bWJlciBvYmplY3QKICovCgovL0NIRUNLIzEtMTYKaWYgKHR5cGVvZiBOdW1iZXIuTUFYX1ZBTFVFICAhPT0gIm51bWJlciIpICAkRVJST1IoJyMxOiB0eXBlb2YgTnVtYmVyLk1BWF9WQUxVRSA9PT0gIm51bWJlciIuIEFjdHVhbDogJyArICh0eXBlb2YgTnVtYmVyLk1BWF9WQUxVRSApKTsKaWYgKHR5cGVvZiBOdW1iZXJbJ01BWF9WQUxVRSddICE9PSAibnVtYmVyIikgICRFUlJPUignIzI6IHR5cGVvZiBOdW1iZXJbIk1BWF9WQUxVRSJdID09PSAibnVtYmVyIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBOdW1iZXJbIk1BWF9WQUxVRSJdICkpOwppZiAodHlwZW9mIE51bWJlci5NSU5fVkFMVUUgIT09ICJudW1iZXIiKSAgJEVSUk9SKCcjMzogdHlwZW9mIE51bWJlci5NSU5fVkFMVUUgPT09ICJudW1iZXIiLiBBY3R1YWw6ICcgKyAodHlwZW9mIE51bWJlci5NSU5fVkFMVUUgKSk7CmlmICh0eXBlb2YgTnVtYmVyWydNSU5fVkFMVUUnXSAhPT0gIm51bWJlciIpICAkRVJST1IoJyM0OiB0eXBlb2YgTnVtYmVyWyJNSU5fVkFMVUUiXSA9PT0gIm51bWJlciIuIEFjdHVhbDogJyArICh0eXBlb2YgTnVtYmVyWyJNSU5fVkFMVUUiXSApKTsKaWYgKHR5cGVvZiBOdW1iZXIuTmFOICE9PSAibnVtYmVyIikgICRFUlJPUignIzU6IHR5cGVvZiBOdW1iZXIuTmFOID09PSAibnVtYmVyIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBOdW1iZXIuTmFOICkpOwppZiAodHlwZW9mIE51bWJlclsnTmFOJ10gIT09ICJudW1iZXIiKSAgJEVSUk9SKCcjNjogdHlwZW9mIE51bWJlclsiTmFOIl0gPT09ICJudW1iZXIiLiBBY3R1YWw6ICcgKyAodHlwZW9mIE51bWJlclsiTmFOIl0gKSk7CmlmICh0eXBlb2YgTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZICE9PSAibnVtYmVyIikgICRFUlJPUignIzc6IHR5cGVvZiBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgPT09ICJudW1iZXIiLiBBY3R1YWw6ICcgKyAodHlwZW9mIE51bWJlci5ORUdBVElWRV9JTkZJTklUWSApKTsKaWYgKHR5cGVvZiBOdW1iZXJbJ05FR0FUSVZFX0lORklOSVRZJ10gIT09ICJudW1iZXIiKSAgJEVSUk9SKCcjODogdHlwZW9mIE51bWJlclsiTkVHQVRJVkVfSU5GSU5JVFkiXSA9PT0gIm51bWJlciIuIEFjdHVhbDogJyArICh0eXBlb2YgTnVtYmVyWyJORUdBVElWRV9JTkZJTklUWSJdICkpOwppZiAodHlwZW9mIE51bWJlci5QT1NJVElWRV9JTkZJTklUWSAhPT0gIm51bWJlciIpICAkRVJST1IoJyM5OiB0eXBlb2YgTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZID09PSAibnVtYmVyIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgKSk7CmlmICh0eXBlb2YgTnVtYmVyWydQT1NJVElWRV9JTkZJTklUWSddICE9PSAibnVtYmVyIikgICRFUlJPUignIzEwOiB0eXBlb2YgTnVtYmVyWyJQT1NJVElWRV9JTkZJTklUWSJdID09PSAibnVtYmVyIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBOdW1iZXJbIlBPU0lUSVZFX0lORklOSVRZIl0gKSk7CmlmICh0eXBlb2YgTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZyAgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyMxMTogdHlwZW9mIE51bWJlci5wcm90b3R5cGUudG9TdHJpbmcgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZyApKTsKaWYgKHR5cGVvZiBOdW1iZXIucHJvdG90eXBlWyd0b1N0cmluZyddICAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzEyOiB0eXBlb2YgTnVtYmVyLnByb3RvdHlwZVsidG9TdHJpbmciXSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBOdW1iZXIucHJvdG90eXBlWyJ0b1N0cmluZyJdICkpOwppZiAodHlwZW9mIE51bWJlci5wcm90b3R5cGUuY29uc3RydWN0b3IgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyMxMzogdHlwZW9mIE51bWJlci5wcm90b3R5cGUuY29uc3RydWN0b3IgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgTnVtYmVyLnByb3RvdHlwZS5jb25zdHJ1Y3RvciApKTsKaWYgKHR5cGVvZiBOdW1iZXIucHJvdG90eXBlWydjb25zdHJ1Y3RvciddICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjMTQ6IHR5cGVvZiBOdW1iZXIucHJvdG90eXBlWyJjb25zdHJ1Y3RvciJdID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIE51bWJlci5wcm90b3R5cGVbImNvbnN0cnVjdG9yIl0gKSk7CmlmICh0eXBlb2YgTnVtYmVyLnByb3RvdHlwZS52YWx1ZU9mICAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzE1OiB0eXBlb2YgTnVtYmVyLnByb3RvdHlwZS52YWx1ZU9mID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIE51bWJlci5wcm90b3R5cGUudmFsdWVPZiApKTsKaWYgKHR5cGVvZiBOdW1iZXIucHJvdG90eXBlWyd2YWx1ZU9mJ10gICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjMTY6IHR5cGVvZiBOdW1iZXIucHJvdG90eXBlWyJ2YWx1ZU9mIl0gPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgTnVtYmVyLnByb3RvdHlwZVsidmFsdWVPZiJdICkpOwoKCgo=",
"commentary":"Check type of various properties",
"description":"Checking properties of the Number object",
"path":"TestCases/ch11/11.2/11.2.1/S11.2.1_A4_T7.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayB0eXBlIG9mIHZhcmlvdXMgcHJvcGVydGllcwogKgogKiBAcGF0aCBjaDExLzExLjIvMTEuMi4xL1MxMS4yLjFfQTRfVDguanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHByb3BlcnRpZXMgb2YgdGhlIE1hdGggT2JqZWN0CiAqLwoKLy9DSEVDSyMxLTUyCmlmICh0eXBlb2YgTWF0aC5FICE9PSAibnVtYmVyIikgICRFUlJPUignIzE6IHR5cGVvZiBNYXRoLkUgPT09ICJudW1iZXIiLiBBY3R1YWw6ICcgKyAodHlwZW9mIE1hdGguRSApKTsKaWYgKHR5cGVvZiBNYXRoWydFJ10gIT09ICJudW1iZXIiKSAgJEVSUk9SKCcjMjogdHlwZW9mIE1hdGhbIkUiXSA9PT0gIm51bWJlciIuIEFjdHVhbDogJyArICh0eXBlb2YgTWF0aFsiRSJdICkpOwppZiAodHlwZW9mIE1hdGguTE4xMCAhPT0gIm51bWJlciIpICAkRVJST1IoJyMzOiB0eXBlb2YgTWF0aC5MTjEwID09PSAibnVtYmVyIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBNYXRoLkxOMTAgKSk7CmlmICh0eXBlb2YgTWF0aFsnTE4xMCddICE9PSAibnVtYmVyIikgICRFUlJPUignIzQ6IHR5cGVvZiBNYXRoWyJMTjEwIl0gPT09ICJudW1iZXIiLiBBY3R1YWw6ICcgKyAodHlwZW9mIE1hdGhbIkxOMTAiXSApKTsKaWYgKHR5cGVvZiBNYXRoLkxOMiAhPT0gIm51bWJlciIpICAkRVJST1IoJyM1OiB0eXBlb2YgTWF0aC5MTjIgPT09ICJudW1iZXIiLiBBY3R1YWw6ICcgKyAodHlwZW9mIE1hdGguTE4yICkpOwppZiAodHlwZW9mIE1hdGhbJ0xOMiddICE9PSAibnVtYmVyIikgICRFUlJPUignIzY6IHR5cGVvZiBNYXRoWyJMTjIiXSA9PT0gIm51bWJlciIuIEFjdHVhbDogJyArICh0eXBlb2YgTWF0aFsiTE4yIl0gKSk7CmlmICh0eXBlb2YgTWF0aC5MT0cyRSAhPT0gIm51bWJlciIpICAkRVJST1IoJyM3OiB0eXBlb2YgTWF0aC5MT0cyRSA9PT0gIm51bWJlciIuIEFjdHVhbDogJyArICh0eXBlb2YgTWF0aC5MT0cyRSApKTsKaWYgKHR5cGVvZiBNYXRoWydMT0cyRSddICE9PSAibnVtYmVyIikgICRFUlJPUignIzg6IHR5cGVvZiBNYXRoWyJMT0cyRSJdID09PSAibnVtYmVyIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBNYXRoWyJMT0cyRSJdICkpOwppZiAodHlwZW9mIE1hdGguTE9HMTBFICE9PSAibnVtYmVyIikgICRFUlJPUignIzk6IHR5cGVvZiBNYXRoLkxPRzEwRSA9PT0gIm51bWJlciIuIEFjdHVhbDogJyArICh0eXBlb2YgTWF0aC5MT0cxMEUgKSk7CmlmICh0eXBlb2YgTWF0aFsnTE9HMTBFJ10gIT09ICJudW1iZXIiKSAgJEVSUk9SKCcjMTA6IHR5cGVvZiBNYXRoWyJMT0cxMEUiXSA9PT0gIm51bWJlciIuIEFjdHVhbDogJyArICh0eXBlb2YgTWF0aFsiTE9HMTBFIl0gKSk7CmlmICh0eXBlb2YgTWF0aC5QSSAhPT0gIm51bWJlciIpICAkRVJST1IoJyMxMTogdHlwZW9mIE1hdGguUEkgPT09ICJudW1iZXIiLiBBY3R1YWw6ICcgKyAodHlwZW9mIE1hdGguUEkgKSk7CmlmICh0eXBlb2YgTWF0aFsnUEknXSAhPT0gIm51bWJlciIpICAkRVJST1IoJyMxMjogdHlwZW9mIE1hdGhbIlBJIl0gPT09ICJudW1iZXIiLiBBY3R1YWw6ICcgKyAodHlwZW9mIE1hdGhbIlBJIl0gKSk7CmlmICh0eXBlb2YgTWF0aC5TUVJUMV8yICE9PSAibnVtYmVyIikgICRFUlJPUignIzEzOiB0eXBlb2YgTWF0aC5TUVJUMV8yID09PSAibnVtYmVyIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBNYXRoLlNRUlQxXzIgKSk7CmlmICh0eXBlb2YgTWF0aFsnU1FSVDFfMiddICE9PSAibnVtYmVyIikgICRFUlJPUignIzE0OiB0eXBlb2YgTWF0aFsiU1FSVDFfMiJdID09PSAibnVtYmVyIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBNYXRoWyJTUVJUMV8yIl0gKSk7CmlmICh0eXBlb2YgTWF0aC5TUVJUMiAhPT0gIm51bWJlciIpICAkRVJST1IoJyMxNTogdHlwZW9mIE1hdGguU1FSVDIgPT09ICJudW1iZXIiLiBBY3R1YWw6ICcgKyAodHlwZW9mIE1hdGguU1FSVDIgKSk7CmlmICh0eXBlb2YgTWF0aFsnU1FSVDInXSAhPT0gIm51bWJlciIpICAkRVJST1IoJyMxNjogdHlwZW9mIE1hdGhbIlNRUlQyIl0gPT09ICJudW1iZXIiLiBBY3R1YWw6ICcgKyAodHlwZW9mIE1hdGhbIlNRUlQyIl0gKSk7CmlmICh0eXBlb2YgTWF0aC5hYnMgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyMxNzogdHlwZW9mIE1hdGguYWJzID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIE1hdGguYWJzICkpOwppZiAodHlwZW9mIE1hdGhbJ2FicyddICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjMTg6IHR5cGVvZiBNYXRoWyJhYnMiXSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBNYXRoWyJhYnMiXSApKTsKaWYgKHR5cGVvZiBNYXRoLmFjb3MgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyMxOTogdHlwZW9mIE1hdGguYWNvcyA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBNYXRoLmFjb3MgKSk7CmlmICh0eXBlb2YgTWF0aFsnYWNvcyddICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjMjA6IHR5cGVvZiBNYXRoWyJhY29zIl0gPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgTWF0aFsiYWNvcyJdICkpOwppZiAodHlwZW9mIE1hdGguYXNpbiAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzIxOiB0eXBlb2YgTWF0aC5hc2luID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIE1hdGguYXNpbiApKTsKaWYgKHR5cGVvZiBNYXRoWydhc2luJ10gIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyMyMjogdHlwZW9mIE1hdGhbImFzaW4iXSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBNYXRoWyJhc2luIl0gKSk7CmlmICh0eXBlb2YgTWF0aC5hdGFuICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjMjM6IHR5cGVvZiBNYXRoLmF0YW4gPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgTWF0aC5hdGFuICkpOwppZiAodHlwZW9mIE1hdGhbJ2F0YW4nXSAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzI0OiB0eXBlb2YgTWF0aFsiYXRhbiJdID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIE1hdGhbImF0YW4iXSApKTsKaWYgKHR5cGVvZiBNYXRoLmF0YW4yICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjMjU6IHR5cGVvZiBNYXRoLmF0YW4yID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIE1hdGguYXRhbjIgKSk7CmlmICh0eXBlb2YgTWF0aFsnYXRhbjInXSAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzI2OiB0eXBlb2YgTWF0aFsiYXRhbjIiXSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBNYXRoWyJhdGFuMiJdICkpOwppZiAodHlwZW9mIE1hdGguY2VpbCAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzI3OiB0eXBlb2YgTWF0aC5jZWlsID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIE1hdGguY2VpbCApKTsKaWYgKHR5cGVvZiBNYXRoWydjZWlsJ10gIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyMyODogdHlwZW9mIE1hdGhbImNlaWwiXSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBNYXRoWyJjZWlsIl0gKSk7CmlmICh0eXBlb2YgTWF0aC5jb3MgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyMyOTogdHlwZW9mIE1hdGguY29zID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIE1hdGguY29zICkpOwppZiAodHlwZW9mIE1hdGhbJ2NvcyddICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjMzA6IHR5cGVvZiBNYXRoWyJjb3MiXSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBNYXRoWyJjb3MiXSApKTsKaWYgKHR5cGVvZiBNYXRoLmV4cCAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzMxOiB0eXBlb2YgTWF0aC5leHAgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgTWF0aC5leHAgKSk7CmlmICh0eXBlb2YgTWF0aFsnZXhwJ10gIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyMzMjogdHlwZW9mIE1hdGhbImV4cCJdID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIE1hdGhbImV4cCJdICkpOwppZiAodHlwZW9mIE1hdGguZmxvb3IgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyMzMzogdHlwZW9mIE1hdGguZmxvb3IgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgTWF0aC5mbG9vciApKTsKaWYgKHR5cGVvZiBNYXRoWydmbG9vciddICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjMzQ6IHR5cGVvZiBNYXRoWyJmbG9vciJdID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIE1hdGhbImZsb29yIl0gKSk7CmlmICh0eXBlb2YgTWF0aC5sb2cgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyMzNTogdHlwZW9mIE1hdGgubG9nID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIE1hdGgubG9nICkpOwppZiAodHlwZW9mIE1hdGhbJ2xvZyddICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjMzY6IHR5cGVvZiBNYXRoWyJsb2ciXSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBNYXRoWyJsb2ciXSApKTsKaWYgKHR5cGVvZiBNYXRoLm1heCAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzM3OiB0eXBlb2YgTWF0aC5tYXggPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgTWF0aC5tYXggKSk7CmlmICh0eXBlb2YgTWF0aFsnbWF4J10gIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyMzODogdHlwZW9mIE1hdGhbIm1heCJdID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIE1hdGhbIm1heCJdICkpOwppZiAodHlwZW9mIE1hdGgubWluICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjMzk6IHR5cGVvZiBNYXRoLm1pbiA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBNYXRoLm1pbiApKTsKaWYgKHR5cGVvZiBNYXRoWydtaW4nXSAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzQwOiB0eXBlb2YgTWF0aFsibWluIl0gPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgTWF0aFsibWluIl0gKSk7CmlmICh0eXBlb2YgTWF0aC5wb3cgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyM0MTogdHlwZW9mIE1hdGgucG93ID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIE1hdGgucG93ICkpOwppZiAodHlwZW9mIE1hdGhbJ3BvdyddICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjNDI6IHR5cGVvZiBNYXRoWyJwb3ciXSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBNYXRoWyJwb3ciXSApKTsKaWYgKHR5cGVvZiBNYXRoLnJhbmRvbSAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzQzOiB0eXBlb2YgTWF0aC5yYW5kb20gPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgTWF0aC5yYW5kb20gKSk7CmlmICh0eXBlb2YgTWF0aFsncmFuZG9tJ10gIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyM0NDogdHlwZW9mIE1hdGhbInJhbmRvbSJdID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIE1hdGhbInJhbmRvbSJdICkpOwppZiAodHlwZW9mIE1hdGgucm91bmQgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyM0NTogdHlwZW9mIE1hdGgucm91bmQgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgTWF0aC5yb3VuZCApKTsKaWYgKHR5cGVvZiBNYXRoWydyb3VuZCddICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjNDY6IHR5cGVvZiBNYXRoWyJyb3VuZCJdID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIE1hdGhbInJvdW5kIl0gKSk7CmlmICh0eXBlb2YgTWF0aC5zaW4gIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyM0NzogdHlwZW9mIE1hdGguc2luID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIE1hdGguc2luICkpOwppZiAodHlwZW9mIE1hdGhbJ3NpbiddICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjNDg6IHR5cGVvZiBNYXRoWyJzaW4iXSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBNYXRoWyJzaW4iXSApKTsKaWYgKHR5cGVvZiBNYXRoLnNxcnQgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyM0OTogdHlwZW9mIE1hdGguc3FydCA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBNYXRoLnNxcnQgKSk7CmlmICh0eXBlb2YgTWF0aFsnc3FydCddICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjNTA6IHR5cGVvZiBNYXRoWyJzcXJ0Il0gPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgTWF0aFsic3FydCJdICkpOwppZiAodHlwZW9mIE1hdGgudGFuICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjNTE6IHR5cGVvZiBNYXRoLnRhbiA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBNYXRoLnRhbiApKTsKaWYgKHR5cGVvZiBNYXRoWyd0YW4nXSAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzUyOiB0eXBlb2YgTWF0aFsidGFuIl0gPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgTWF0aFsidGFuIl0gKSk7CgoK",
"commentary":"Check type of various properties",
"description":"Checking properties of the Math Object",
"path":"TestCases/ch11/11.2/11.2.1/S11.2.1_A4_T8.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayB0eXBlIG9mIHZhcmlvdXMgcHJvcGVydGllcwogKgogKiBAcGF0aCBjaDExLzExLjIvMTEuMi4xL1MxMS4yLjFfQTRfVDkuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHByb3BlcnRpZXMgb2YgdGhlIERhdGUgb2JqZWN0CiAqLwoKLy9DSEVDSyMxLTg2CmlmICh0eXBlb2YgRGF0ZS5wYXJzZSAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzE6IHR5cGVvZiBEYXRlLnBhcnNlID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGUucGFyc2UgKSk7CmlmICh0eXBlb2YgRGF0ZVsncGFyc2UnXSAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzI6IHR5cGVvZiBEYXRlWyJwYXJzZSJdID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGVbInBhcnNlIl0gKSk7CmlmICh0eXBlb2YgRGF0ZS5wcm90b3R5cGUgIT09ICJvYmplY3QiKSAgJEVSUk9SKCcjMzogdHlwZW9mIERhdGUucHJvdG90eXBlID09PSAib2JqZWN0Ii4gQWN0dWFsOiAnICsgKHR5cGVvZiBEYXRlLnByb3RvdHlwZSApKTsKaWYgKHR5cGVvZiBEYXRlWydwcm90b3R5cGUnXSAhPT0gIm9iamVjdCIpICAkRVJST1IoJyM0OiB0eXBlb2YgRGF0ZVsicHJvdG90eXBlIl0gPT09ICJvYmplY3QiLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGVbInByb3RvdHlwZSJdICkpOwppZiAodHlwZW9mIERhdGUuVVRDICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjNTogdHlwZW9mIERhdGUuVVRDID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGUuVVRDICkpOwppZiAodHlwZW9mIERhdGVbJ1VUQyddICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjNjogdHlwZW9mIERhdGVbIlVUQyJdID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGVbIlVUQyJdICkpOwppZiAodHlwZW9mIERhdGUucHJvdG90eXBlLmNvbnN0cnVjdG9yICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjNzogdHlwZW9mIERhdGUucHJvdG90eXBlLmNvbnN0cnVjdG9yID09PSAiZnVudnRpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGUucHJvdG90eXBlLmNvbnN0cnVjdG9yICkpOwppZiAodHlwZW9mIERhdGUucHJvdG90eXBlWydjb25zdHJ1Y3RvciddICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjODogdHlwZW9mIERhdGUucHJvdG90eXBlWyJjb25zdHJ1Y3RvciJdID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGUucHJvdG90eXBlWyJjb25zdHJ1Y3RvciJdICkpOwppZiAodHlwZW9mIERhdGUucHJvdG90eXBlLnRvU3RyaW5nICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjOTogdHlwZW9mIERhdGUucHJvdG90eXBlLnRvU3RyaW5nID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGUucHJvdG90eXBlLnRvU3RyaW5nICkpOwppZiAodHlwZW9mIERhdGUucHJvdG90eXBlWyd0b1N0cmluZyddICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjMTA6IHR5cGVvZiBEYXRlLnByb3RvdHlwZVsidG9TdHJpbmciXSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBEYXRlLnByb3RvdHlwZVsidG9TdHJpbmciXSApKTsKaWYgKHR5cGVvZiBEYXRlLnByb3RvdHlwZS52YWx1ZU9mICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjMTE6IHR5cGVvZiBEYXRlLnByb3RvdHlwZS52YWx1ZU9mID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGUucHJvdG90eXBlLnZhbHVlT2YgKSk7CmlmICh0eXBlb2YgRGF0ZS5wcm90b3R5cGVbJ3ZhbHVlT2YnXSAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzEyOiB0eXBlb2YgRGF0ZS5wcm90b3R5cGVbInZhbHVlT2YiXSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBEYXRlLnByb3RvdHlwZVsidmFsdWVPZiJdICkpOwppZiAodHlwZW9mIERhdGUucHJvdG90eXBlLmdldFRpbWUgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyMxMzogdHlwZW9mIERhdGUucHJvdG90eXBlLmdldFRpbWUgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgRGF0ZS5wcm90b3R5cGUuZ2V0VGltZSApKTsKaWYgKHR5cGVvZiBEYXRlLnByb3RvdHlwZVsnZ2V0VGltZSddICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjMTQ6IHR5cGVvZiBEYXRlLnByb3RvdHlwZVsiZ2V0VGltZSJdID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGUucHJvdG90eXBlWyJnZXRUaW1lIl0gKSk7CmlmICh0eXBlb2YgRGF0ZS5wcm90b3R5cGUuZ2V0RnVsbFllYXIgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyMxNzogdHlwZW9mIERhdGUucHJvdG90eXBlLmdldEZ1bGxZZWFyID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGUucHJvdG90eXBlLmdldEZ1bGxZZWFyICkpOwppZiAodHlwZW9mIERhdGUucHJvdG90eXBlWydnZXRGdWxsWWVhciddICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjMTg6IHR5cGVvZiBEYXRlLnByb3RvdHlwZVsiZ2V0RnVsbFllYXIiXSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBEYXRlLnByb3RvdHlwZVsiZ2V0RnVsbFllYXIiXSApKTsKaWYgKHR5cGVvZiBEYXRlLnByb3RvdHlwZS5nZXRVVENGdWxsWWVhciAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzE5OiB0eXBlb2YgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRnVsbFllYXIgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRnVsbFllYXIgKSk7CmlmICh0eXBlb2YgRGF0ZS5wcm90b3R5cGVbJ2dldFVUQ0Z1bGxZZWFyJ10gIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyMyMDogdHlwZW9mIERhdGUucHJvdG90eXBlWyJnZXRVVENGdWxsWWVhciJdID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGUucHJvdG90eXBlWyJnZXRVVENGdWxsWWVhciJdICkpOwppZiAodHlwZW9mIERhdGUucHJvdG90eXBlLmdldE1vbnRoICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjMjE6IHR5cGVvZiBEYXRlLnByb3RvdHlwZS5nZXRNb250aCA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBEYXRlLnByb3RvdHlwZS5nZXRNb250aCApKTsKaWYgKHR5cGVvZiBEYXRlLnByb3RvdHlwZVsnZ2V0TW9udGgnXSAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzIyOiB0eXBlb2YgRGF0ZS5wcm90b3R5cGVbImdldE1vbnRoIl0gPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgRGF0ZS5wcm90b3R5cGVbImdldE1vbnRoIl0gKSk7CmlmICh0eXBlb2YgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTW9udGggIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyMyMzogdHlwZW9mIERhdGUucHJvdG90eXBlLmdldFVUQ01vbnRoID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGUucHJvdG90eXBlLmdldFVUQ01vbnRoICkpOwppZiAodHlwZW9mIERhdGUucHJvdG90eXBlWydnZXRVVENNb250aCddICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjMjQ6IHR5cGVvZiBEYXRlLnByb3RvdHlwZVsiZ2V0VVRDTW9udGgiXSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBEYXRlLnByb3RvdHlwZVsiZ2V0VVRDTW9udGgiXSApKTsKaWYgKHR5cGVvZiBEYXRlLnByb3RvdHlwZS5nZXREYXRlICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjMjU6IHR5cGVvZiBEYXRlLnByb3RvdHlwZS5nZXREYXRlID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGUucHJvdG90eXBlLmdldERhdGUgKSk7CmlmICh0eXBlb2YgRGF0ZS5wcm90b3R5cGVbJ2dldERhdGUnXSAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzI2OiB0eXBlb2YgRGF0ZS5wcm90b3R5cGVbImdldERhdGUiXSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBEYXRlLnByb3RvdHlwZVsiZ2V0RGF0ZSJdICkpOwppZiAodHlwZW9mIERhdGUucHJvdG90eXBlLmdldFVUQ0RhdGUgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyMyNzogdHlwZW9mIERhdGUucHJvdG90eXBlLmdldFVUQ0RhdGUgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRGF0ZSApKTsKaWYgKHR5cGVvZiBEYXRlLnByb3RvdHlwZVsnZ2V0VVRDRGF0ZSddICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjMjg6IHR5cGVvZiBEYXRlLnByb3RvdHlwZVsiZ2V0VVRDRGF0ZSJdID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGUucHJvdG90eXBlWyJnZXRVVENEYXRlIl0gKSk7CmlmICh0eXBlb2YgRGF0ZS5wcm90b3R5cGUuZ2V0RGF5ICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjMjk6IHR5cGVvZiBEYXRlLnByb3RvdHlwZS5nZXREYXkgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgRGF0ZS5wcm90b3R5cGUuZ2V0RGF5ICkpOwppZiAodHlwZW9mIERhdGUucHJvdG90eXBlWydnZXREYXknXSAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzMwOiB0eXBlb2YgRGF0ZS5wcm90b3R5cGVbImdldERheSJdID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGUucHJvdG90eXBlWyJnZXREYXkiXSApKTsKaWYgKHR5cGVvZiBEYXRlLnByb3RvdHlwZS5nZXRVVENEYXkgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyMzMTogdHlwZW9mIERhdGUucHJvdG90eXBlLmdldFVUQ0RheSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBEYXRlLnByb3RvdHlwZS5nZXRVVENEYXkgKSk7CmlmICh0eXBlb2YgRGF0ZS5wcm90b3R5cGVbJ2dldFVUQ0RheSddICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjMzI6IHR5cGVvZiBEYXRlLnByb3RvdHlwZVsiZ2V0VVRDRGF5Il0gPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgRGF0ZS5wcm90b3R5cGVbImdldFVUQ0RheSJdICkpOwppZiAodHlwZW9mIERhdGUucHJvdG90eXBlLmdldEhvdXJzICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjMzM6IHR5cGVvZiBEYXRlLnByb3RvdHlwZS5nZXRIb3VycyA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBEYXRlLnByb3RvdHlwZS5nZXRIb3VycyApKTsKaWYgKHR5cGVvZiBEYXRlLnByb3RvdHlwZVsnZ2V0SG91cnMnXSAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzM0OiB0eXBlb2YgRGF0ZS5wcm90b3R5cGVbImdldEhvdXJzIl0gPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgRGF0ZS5wcm90b3R5cGVbImdldEhvdXJzIl0gKSk7CmlmICh0eXBlb2YgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDSG91cnMgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyMzNTogdHlwZW9mIERhdGUucHJvdG90eXBlLmdldFVUQ0hvdXJzID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGUucHJvdG90eXBlLmdldFVUQ0hvdXJzICkpOwppZiAodHlwZW9mIERhdGUucHJvdG90eXBlWydnZXRVVENIb3VycyddICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjMzY6IHR5cGVvZiBEYXRlLnByb3RvdHlwZVsiZ2V0VVRDSG91cnMiXSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBEYXRlLnByb3RvdHlwZVsiZ2V0VVRDSG91cnMiXSApKTsKaWYgKHR5cGVvZiBEYXRlLnByb3RvdHlwZS5nZXRNaW51dGVzICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjMzc6IHR5cGVvZiBEYXRlLnByb3RvdHlwZS5nZXRNaW51dGVzID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGUucHJvdG90eXBlLmdldE1pbnV0ZXMgKSk7CmlmICh0eXBlb2YgRGF0ZS5wcm90b3R5cGVbJ2dldE1pbnV0ZXMnXSAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzM4OiB0eXBlb2YgRGF0ZS5wcm90b3R5cGVbImdldE1pbnV0ZXMiXSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBEYXRlLnByb3RvdHlwZVsiZ2V0TWludXRlcyJdICkpOwppZiAodHlwZW9mIERhdGUucHJvdG90eXBlLmdldFVUQ01pbnV0ZXMgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyMzOTogdHlwZW9mIERhdGUucHJvdG90eXBlLmdldFVUQ01pbnV0ZXMgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTWludXRlcyApKTsKaWYgKHR5cGVvZiBEYXRlLnByb3RvdHlwZVsnZ2V0VVRDTWludXRlcyddICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjNDA6IHR5cGVvZiBEYXRlLnByb3RvdHlwZVsiZ2V0VVRDTWludXRlcyJdID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGUucHJvdG90eXBlWyJnZXRVVENNaW51dGVzIl0gKSk7CmlmICh0eXBlb2YgRGF0ZS5wcm90b3R5cGUuZ2V0U2Vjb25kcyAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzQxOiB0eXBlb2YgRGF0ZS5wcm90b3R5cGUuZ2V0U2Vjb25kcyA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBEYXRlLnByb3RvdHlwZS5nZXRTZWNvbmRzICkpOwppZiAodHlwZW9mIERhdGUucHJvdG90eXBlWydnZXRTZWNvbmRzJ10gIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyM0MjogdHlwZW9mIERhdGUucHJvdG90eXBlWyJnZXRTZWNvbmRzIl0gPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgRGF0ZS5wcm90b3R5cGVbImdldFNlY29uZHMiXSApKTsKaWYgKHR5cGVvZiBEYXRlLnByb3RvdHlwZS5nZXRVVENTZWNvbmRzICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjNDM6IHR5cGVvZiBEYXRlLnByb3RvdHlwZS5nZXRVVENTZWNvbmRzID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGUucHJvdG90eXBlLmdldFVUQ1NlY29uZHMgKSk7CmlmICh0eXBlb2YgRGF0ZS5wcm90b3R5cGVbJ2dldFVUQ1NlY29uZHMnXSAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzQ0OiB0eXBlb2YgRGF0ZS5wcm90b3R5cGVbImdldFVUQ1NlY29uZHMiXSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBEYXRlLnByb3RvdHlwZVsiZ2V0VVRDU2Vjb25kcyJdICkpOwppZiAodHlwZW9mIERhdGUucHJvdG90eXBlLmdldE1pbGxpc2Vjb25kcyAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzQ1OiB0eXBlb2YgRGF0ZS5wcm90b3R5cGUuZ2V0TWlsbGlzZWNvbmRzID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGUucHJvdG90eXBlLmdldE1pbGxpc2Vjb25kcyApKTsKaWYgKHR5cGVvZiBEYXRlLnByb3RvdHlwZVsnZ2V0TWlsbGlzZWNvbmRzJ10gIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyM0NjogdHlwZW9mIERhdGUucHJvdG90eXBlWyJnZXRNaWxsaXNlY29uZHMiXSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBEYXRlLnByb3RvdHlwZVsiZ2V0TWlsbGlzZWNvbmRzIl0gKSk7CmlmICh0eXBlb2YgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTWlsbGlzZWNvbmRzICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjNDc6IHR5cGVvZiBEYXRlLnByb3RvdHlwZS5nZXRVVENNaWxsaXNlY29uZHMgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTWlsbGlzZWNvbmRzICkpOwppZiAodHlwZW9mIERhdGUucHJvdG90eXBlWydnZXRVVENNaWxsaXNlY29uZHMnXSAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzQ4OiB0eXBlb2YgRGF0ZS5wcm90b3R5cGVbImdldFVUQ01pbGxpc2Vjb25kcyJdID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGUucHJvdG90eXBlWyJnZXRVVENNaWxsaXNlY29uZHMiXSApKTsKaWYgKHR5cGVvZiBEYXRlLnByb3RvdHlwZS5zZXRUaW1lICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjNDk6IHR5cGVvZiBEYXRlLnByb3RvdHlwZS5zZXRUaW1lID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGUucHJvdG90eXBlLnNldFRpbWUgKSk7CmlmICh0eXBlb2YgRGF0ZS5wcm90b3R5cGVbJ3NldFRpbWUnXSAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzUwOiB0eXBlb2YgRGF0ZS5wcm90b3R5cGVbInNldFRpbWUiXSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBEYXRlLnByb3RvdHlwZVsic2V0VGltZSJdICkpOwppZiAodHlwZW9mIERhdGUucHJvdG90eXBlLnNldE1pbGxpc2Vjb25kcyAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzUxOiB0eXBlb2YgRGF0ZS5wcm90b3R5cGUuc2V0TWlsbGlzZWNvbmRzID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGUucHJvdG90eXBlLnNldE1pbGxpc2Vjb25kcyApKTsKaWYgKHR5cGVvZiBEYXRlLnByb3RvdHlwZVsnc2V0TWlsbGlzZWNvbmRzJ10gIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyM1MjogdHlwZW9mIERhdGUucHJvdG90eXBlWyJzZXRNaWxsaXNlY29uZHMiXSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBEYXRlLnByb3RvdHlwZVsic2V0TWlsbGlzZWNvbmRzIl0gKSk7CmlmICh0eXBlb2YgRGF0ZS5wcm90b3R5cGUuc2V0VVRDTWlsbGlzZWNvbmRzICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjNTM6IHR5cGVvZiBEYXRlLnByb3RvdHlwZS5zZXRVVENNaWxsaXNlY29uZHMgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgRGF0ZS5wcm90b3R5cGUuc2V0VVRDTWlsbGlzZWNvbmRzICkpOwppZiAodHlwZW9mIERhdGUucHJvdG90eXBlWydzZXRVVENNaWxsaXNlY29uZHMnXSAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzU0OiB0eXBlb2YgRGF0ZS5wcm90b3R5cGVbInNldFVUQ01pbGxpc2Vjb25kcyJdID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGUucHJvdG90eXBlWyJzZXRVVENNaWxsaXNlY29uZHMiXSApKTsKaWYgKHR5cGVvZiBEYXRlLnByb3RvdHlwZS5zZXRTZWNvbmRzICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjNTU6IHR5cGVvZiBEYXRlLnByb3RvdHlwZS5zZXRTZWNvbmRzID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGUucHJvdG90eXBlLnNldFNlY29uZHMgKSk7CmlmICh0eXBlb2YgRGF0ZS5wcm90b3R5cGVbJ3NldFNlY29uZHMnXSAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzU2OiB0eXBlb2YgRGF0ZS5wcm90b3R5cGVbInNldFNlY29uZHMiXSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBEYXRlLnByb3RvdHlwZVsic2V0U2Vjb25kcyJdICkpOwppZiAodHlwZW9mIERhdGUucHJvdG90eXBlLnNldFVUQ1NlY29uZHMgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyM1NzogdHlwZW9mIERhdGUucHJvdG90eXBlLnNldFVUQ1NlY29uZHMgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgRGF0ZS5wcm90b3R5cGUuc2V0VVRDU2Vjb25kcyApKTsKaWYgKHR5cGVvZiBEYXRlLnByb3RvdHlwZVsnc2V0VVRDU2Vjb25kcyddICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjNTg6IHR5cGVvZiBEYXRlLnByb3RvdHlwZVsic2V0VVRDU2Vjb25kcyJdID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGUucHJvdG90eXBlWyJzZXRVVENTZWNvbmRzIl0gKSk7CmlmICh0eXBlb2YgRGF0ZS5wcm90b3R5cGUuc2V0TWludXRlcyAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzU5OiB0eXBlb2YgRGF0ZS5wcm90b3R5cGUuc2V0TWludXRlcyA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBEYXRlLnByb3RvdHlwZS5zZXRNaW51dGVzICkpOwppZiAodHlwZW9mIERhdGUucHJvdG90eXBlWydzZXRNaW51dGVzJ10gIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyM2MDogdHlwZW9mIERhdGUucHJvdG90eXBlWyJzZXRNaW51dGVzIl0gPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgRGF0ZS5wcm90b3R5cGVbInNldE1pbnV0ZXMiXSApKTsKaWYgKHR5cGVvZiBEYXRlLnByb3RvdHlwZS5zZXRVVENNaW51dGVzICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjNjE6IHR5cGVvZiBEYXRlLnByb3RvdHlwZS5zZXRVVENNaW51dGVzID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGUucHJvdG90eXBlLnNldFVUQ01pbnV0ZXMgKSk7CmlmICh0eXBlb2YgRGF0ZS5wcm90b3R5cGVbJ3NldFVUQ01pbnV0ZXMnXSAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzYyOiB0eXBlb2YgRGF0ZS5wcm90b3R5cGVbInNldFVUQ01pbnV0ZXMiXSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBEYXRlLnByb3RvdHlwZVsic2V0VVRDTWludXRlcyJdICkpOwppZiAodHlwZW9mIERhdGUucHJvdG90eXBlLnNldEhvdXJzICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjNjM6IHR5cGVvZiBEYXRlLnByb3RvdHlwZS5zZXRIb3VycyA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBEYXRlLnByb3RvdHlwZS5zZXRIb3VycyApKTsKaWYgKHR5cGVvZiBEYXRlLnByb3RvdHlwZVsnc2V0SG91cnMnXSAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzY0OiB0eXBlb2YgRGF0ZS5wcm90b3R5cGVbInNldEhvdXJzIl0gPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgRGF0ZS5wcm90b3R5cGVbInNldEhvdXJzIl0gKSk7CmlmICh0eXBlb2YgRGF0ZS5wcm90b3R5cGUuc2V0VVRDSG91cnMgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyM2NTogdHlwZW9mIERhdGUucHJvdG90eXBlLnNldFVUQ0hvdXJzID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGUucHJvdG90eXBlLnNldFVUQ0hvdXJzICkpOwppZiAodHlwZW9mIERhdGUucHJvdG90eXBlWydzZXRVVENIb3VycyddICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjNjY6IHR5cGVvZiBEYXRlLnByb3RvdHlwZVsic2V0VVRDSG91cnMiXSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBEYXRlLnByb3RvdHlwZVsic2V0VVRDSG91cnMiXSApKTsKaWYgKHR5cGVvZiBEYXRlLnByb3RvdHlwZS5zZXREYXRlICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjNjc6IHR5cGVvZiBEYXRlLnByb3RvdHlwZS5zZXREYXRlID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGUucHJvdG90eXBlLnNldERhdGUgKSk7CmlmICh0eXBlb2YgRGF0ZS5wcm90b3R5cGVbJ3NldERhdGUnXSAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzY4OiB0eXBlb2YgRGF0ZS5wcm90b3R5cGVbInNldERhdGUiXSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBEYXRlLnByb3RvdHlwZVsic2V0RGF0ZSJdICkpOwppZiAodHlwZW9mIERhdGUucHJvdG90eXBlLnNldFVUQ0RhdGUgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyM2OTogdHlwZW9mIERhdGUucHJvdG90eXBlLnNldFVUQ0RhdGUgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgRGF0ZS5wcm90b3R5cGUuc2V0VVRDRGF0ZSApKTsKaWYgKHR5cGVvZiBEYXRlLnByb3RvdHlwZVsnc2V0VVRDRGF0ZSddICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjNzA6IHR5cGVvZiBEYXRlLnByb3RvdHlwZVsic2V0VVRDRGF0ZSJdID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGUucHJvdG90eXBlWyJzZXRVVENEYXRlIl0gKSk7CmlmICh0eXBlb2YgRGF0ZS5wcm90b3R5cGUuc2V0TW9udGggIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyM3MTogdHlwZW9mIERhdGUucHJvdG90eXBlLnNldE1vbnRoID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGUucHJvdG90eXBlLnNldE1vbnRoICkpOwppZiAodHlwZW9mIERhdGUucHJvdG90eXBlWydzZXRNb250aCddICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjNzI6IHR5cGVvZiBEYXRlLnByb3RvdHlwZVsic2V0TW9udGgiXSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBEYXRlLnByb3RvdHlwZVsic2V0TW9udGgiXSApKTsKaWYgKHR5cGVvZiBEYXRlLnByb3RvdHlwZS5zZXRVVENNb250aCAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzczOiB0eXBlb2YgRGF0ZS5wcm90b3R5cGUuc2V0VVRDTW9udGggPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgRGF0ZS5wcm90b3R5cGUuc2V0VVRDTW9udGggKSk7CmlmICh0eXBlb2YgRGF0ZS5wcm90b3R5cGVbJ3NldFVUQ01vbnRoJ10gIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyM3NDogdHlwZW9mIERhdGUucHJvdG90eXBlWyJzZXRVVENNb250aCJdID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGUucHJvdG90eXBlWyJzZXRVVENNb250aCJdICkpOwppZiAodHlwZW9mIERhdGUucHJvdG90eXBlLnNldEZ1bGxZZWFyICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjNzU6IHR5cGVvZiBEYXRlLnByb3RvdHlwZS5zZXRGdWxsWWVhciA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBEYXRlLnByb3RvdHlwZS5zZXRGdWxsWWVhciApKTsKaWYgKHR5cGVvZiBEYXRlLnByb3RvdHlwZVsnc2V0RnVsbFllYXInXSAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzc2OiB0eXBlb2YgRGF0ZS5wcm90b3R5cGVbInNldEZ1bGxZZWFyIl0gPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgRGF0ZS5wcm90b3R5cGVbInNldEZ1bGxZZWFyIl0gKSk7CmlmICh0eXBlb2YgRGF0ZS5wcm90b3R5cGUuc2V0VVRDRnVsbFllYXIgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyM3NzogdHlwZW9mIERhdGUucHJvdG90eXBlLnNldFVUQ0Z1bGxZZWFyID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGUucHJvdG90eXBlLnNldFVUQ0Z1bGxZZWFyICkpOwppZiAodHlwZW9mIERhdGUucHJvdG90eXBlWydzZXRVVENGdWxsWWVhciddICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjNzg6IHR5cGVvZiBEYXRlLnByb3RvdHlwZVsic2V0VVRDRnVsbFllYXIiXSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBEYXRlLnByb3RvdHlwZVsic2V0VVRDRnVsbFllYXIiXSApKTsKaWYgKHR5cGVvZiBEYXRlLnByb3RvdHlwZS50b0xvY2FsZVN0cmluZyAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzgxOiB0eXBlb2YgRGF0ZS5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgRGF0ZS5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcgKSk7CmlmICh0eXBlb2YgRGF0ZS5wcm90b3R5cGVbJ3RvTG9jYWxlU3RyaW5nJ10gIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyM4MjogdHlwZW9mIERhdGUucHJvdG90eXBlWyJ0b0xvY2FsZVN0cmluZyJdID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGUucHJvdG90eXBlWyJ0b0xvY2FsZVN0cmluZyJdICkpOwppZiAodHlwZW9mIERhdGUucHJvdG90eXBlLnRvVVRDU3RyaW5nICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjODM6IHR5cGVvZiBEYXRlLnByb3RvdHlwZS50b1VUQ1N0cmluZyA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBEYXRlLnByb3RvdHlwZS50b1VUQ1N0cmluZyApKTsKaWYgKHR5cGVvZiBEYXRlLnByb3RvdHlwZVsndG9VVENTdHJpbmcnXSAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzg0OiB0eXBlb2YgRGF0ZS5wcm90b3R5cGVbInRvVVRDU3RyaW5nIl0gPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgRGF0ZS5wcm90b3R5cGVbInRvVVRDU3RyaW5nIl0gKSk7CgoKCg==",
"commentary":"Check type of various properties",
"description":"Checking properties of the Date object",
"path":"TestCases/ch11/11.2/11.2.1/S11.2.1_A4_T9.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gIm5ldyIgYW5kIE5ld0V4cHJlc3Npb24gYXJlIGFsbG93ZWQKICoKICogQHBhdGggY2gxMS8xMS4yLzExLjIuMi9TMTEuMi4yX0ExLjEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGJ5IHVzaW5nIGV2YWwKICovCgovL0NIRUNLIzEKaWYgKGV2YWwoIm5ld1x1MDAwOU51bWJlciIpICE9IDApIHsKICAkRVJST1IoJyMxOiBuZXdcXHUwMDA5TnVtYmVyID09IDAnKTsKfQoKLy9DSEVDSyMyCmlmIChldmFsKCJuZXdcdTAwMEJOdW1iZXIiKSAhPSAwKSB7CiAgJEVSUk9SKCcjMjogbmV3XFx1MDAwQk51bWJlciA9PSAwJyk7ICAKfQoKLy9DSEVDSyMzCmlmIChldmFsKCJuZXdcdTAwMENOdW1iZXIiKSAhPSAwKSB7CiAgJEVSUk9SKCcjMzogbmV3XFx1MDAwQ051bWJlciA9PSAwJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoZXZhbCgibmV3XHUwMDIwTnVtYmVyIikgIT0gMCkgewogICRFUlJPUignIzQ6IG5ld1xcdTAwMjBOdW1iZXIgPT0gMCcpOwp9CgovL0NIRUNLIzUKaWYgKGV2YWwoIm5ld1x1MDBBME51bWJlciIpICE9IDApIHsKICAkRVJST1IoJyM1OiBuZXdcXHUwMEEwTnVtYmVyID09IDAnKTsKfQoKLy9DSEVDSyM2CmlmIChldmFsKCJuZXdcdTAwMEFOdW1iZXIiKSAhPSAwKSB7CiAgJEVSUk9SKCcjNjogbmV3XFx1MDAwQU51bWJlciA9PSAwJyk7ICAKfQoKLy9DSEVDSyM3CmlmIChldmFsKCJuZXdcdTAwMEROdW1iZXIiKSAhPSAwKSB7CiAgJEVSUk9SKCcjNzogbmV3XFx1MDAwRE51bWJlciA9PSAwJyk7Cn0KCi8vQ0hFQ0sjOAppZiAoZXZhbCgibmV3XHUyMDI4TnVtYmVyIikgIT0gMCkgewogICRFUlJPUignIzg6IG5ld1xcdTIwMjhOdW1iZXIgPT0gMCcpOwp9CgovL0NIRUNLIzkKaWYgKGV2YWwoIm5ld1x1MjAyOU51bWJlciIpICE9IDApIHsKICAkRVJST1IoJyM5OiBuZXdcXHUyMDI5TnVtYmVyID09IDAnKTsKfQoKLy9DSEVDSyMxMAppZiAoZXZhbCgibmV3XHUwMDA5XHUwMDBCXHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5TnVtYmVyIikgIT0gMCkgewogICRFUlJPUignIzEwOiBuZXdcXHUwMDA5XFx1MDAwQlxcdTAwMENcXHUwMDIwXFx1MDBBMFxcdTAwMEFcXHUwMDBEXFx1MjAyOFxcdTIwMjlOdW1iZXIgPT0gMCcpOwp9Cgo=",
"commentary":"White Space and Line Terminator between \"new\" and NewExpression are allowed",
"description":"Checking by using eval",
"path":"TestCases/ch11/11.2/11.2.2/S11.2.2_A1.1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gIm5ldyIgYW5kIE1lbWJlckV4cHJlc3Npb24gYXJlIGFsbG93ZWQKICoKICogQHBhdGggY2gxMS8xMS4yLzExLjIuMi9TMTEuMi4yX0ExLjIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGJ5IHVzaW5nIGV2YWwKICovCgovL0NIRUNLIzEKaWYgKGV2YWwoIm5ld1x1MDAwOU51bWJlcigpIikgIT0gMCkgewogICRFUlJPUignIzE6IG5ld1xcdTAwMDlOdW1iZXIgPT0gMCcpOwp9CgovL0NIRUNLIzIKaWYgKGV2YWwoIm5ld1x1MDAwQk51bWJlcigpIikgIT0gMCkgewogICRFUlJPUignIzI6IG5ld1xcdTAwMEJOdW1iZXIgPT0gMCcpOyAgCn0KCi8vQ0hFQ0sjMwppZiAoZXZhbCgibmV3XHUwMDBDTnVtYmVyKCkiKSAhPSAwKSB7CiAgJEVSUk9SKCcjMzogbmV3XFx1MDAwQ051bWJlciA9PSAwJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoZXZhbCgibmV3XHUwMDIwTnVtYmVyKCkiKSAhPSAwKSB7CiAgJEVSUk9SKCcjNDogbmV3XFx1MDAyME51bWJlciA9PSAwJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoZXZhbCgibmV3XHUwMEEwTnVtYmVyKCkiKSAhPSAwKSB7CiAgJEVSUk9SKCcjNTogbmV3XFx1MDBBME51bWJlciA9PSAwJyk7Cn0KCi8vQ0hFQ0sjNgppZiAoZXZhbCgibmV3XHUwMDBBTnVtYmVyKCkiKSAhPSAwKSB7CiAgJEVSUk9SKCcjNjogbmV3XFx1MDAwQU51bWJlciA9PSAwJyk7ICAKfQoKLy9DSEVDSyM3CmlmIChldmFsKCJuZXdcdTAwMEROdW1iZXIoKSIpICE9IDApIHsKICAkRVJST1IoJyM3OiBuZXdcXHUwMDBETnVtYmVyID09IDAnKTsKfQoKLy9DSEVDSyM4CmlmIChldmFsKCJuZXdcdTIwMjhOdW1iZXIoKSIpICE9IDApIHsKICAkRVJST1IoJyM4OiBuZXdcXHUyMDI4TnVtYmVyID09IDAnKTsKfQoKLy9DSEVDSyM5CmlmIChldmFsKCJuZXdcdTIwMjlOdW1iZXIoKSIpICE9IDApIHsKICAkRVJST1IoJyM5OiBuZXdcXHUyMDI5TnVtYmVyID09IDAnKTsKfQoKLy9DSEVDSyMxMAppZiAoZXZhbCgibmV3XHUwMDA5XHUwMDBCXHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5TnVtYmVyKCkiKSAhPSAwKSB7CiAgJEVSUk9SKCcjMTA6IG5ld1xcdTAwMDlcXHUwMDBCXFx1MDAwQ1xcdTAwMjBcXHUwMEEwXFx1MDAwQVxcdTAwMERcXHUyMDI4XFx1MjAyOU51bWJlciA9PSAwJyk7Cn0KCg==",
"commentary":"White Space and Line Terminator between \"new\" and MemberExpression are allowed",
"description":"Checking by using eval",
"path":"TestCases/ch11/11.2/11.2.2/S11.2.2_A1.2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAibmV3IiB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMi8xMS4yLjIvUzExLjIuMl9BMi5qcwogKiBAZGVzY3JpcHRpb24gSWYgR2V0QmFzZShOZXdFeHByZXNzaW9uKSBvciBHZXRCYXNlKE1lbWJlckV4cHJlc3Npb24pIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgbmV3IHg7CiAgJEVSUk9SKCcjMS4xOiBuZXcgeCB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKG5ldyB4KSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiBuZXcgeCB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoKLy9DSEVDSyMyCnRyeSB7CiAgbmV3IHgoKTsKICAkRVJST1IoJyMyOiBuZXcgeCgpIHRocm93IFJlZmVyZW5jZUVycm9yJyk7IAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMyOiBuZXcgeCgpIHRocm93IFJlZmVyZW5jZUVycm9yJyk7IAogIH0KfQoK",
"commentary":"Operator \"new\" uses GetValue",
"description":"If GetBase(NewExpression) or GetBase(MemberExpression) is null, throw ReferenceError",
"path":"TestCases/ch11/11.2/11.2.2/S11.2.2_A2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKE5ld0V4cHJlc3Npb24pIG9yIFR5cGUoTWVtYmVyRXhwcmVzc2lvbikgaXMgbm90IE9iamVjdCwgdGhyb3cgVHlwZUVycm9yCiAqCiAqIEBwYXRoIGNoMTEvMTEuMi8xMS4yLjIvUzExLjIuMl9BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYm9vbGVhbiBwcmltaXRpdmUgY2FzZQogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIG5ldyB0cnVlOwogICRFUlJPUignIzE6IG5ldyB0cnVlIHRocm93IFR5cGVFcnJvcicpOwkKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzE6IG5ldyB0cnVlIHRocm93IFR5cGVFcnJvcicpOwkKICB9Cn0KCi8vQ0hFQ0sjMgp0cnkgewogIHZhciB4ID0gdHJ1ZTsKICBuZXcgeDsKICAkRVJST1IoJyMyOiB2YXIgeCA9IHRydWU7IG5ldyB4IHRocm93IFR5cGVFcnJvcicpOwkKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzI6IHZhciB4ID0gdHJ1ZTsgbmV3IHggdGhyb3cgVHlwZUVycm9yJyk7CQogIH0KfQoKLy9DSEVDSyMzCnRyeSB7CiAgdmFyIHggPSB0cnVlOwogIG5ldyB4KCk7CiAgJEVSUk9SKCcjMzogdmFyIHggPSB0cnVlOyBuZXcgeCgpIHRocm93IFR5cGVFcnJvcicpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMzOiB2YXIgeCA9IHRydWU7IG5ldyB4KCkgdGhyb3cgVHlwZUVycm9yJyk7ICAKICB9Cn0KCgo=",
"commentary":"If Type(NewExpression) or Type(MemberExpression) is not Object, throw TypeError",
"description":"Checking boolean primitive case",
"path":"TestCases/ch11/11.2/11.2.2/S11.2.2_A3_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKE5ld0V4cHJlc3Npb24pIG9yIFR5cGUoTWVtYmVyRXhwcmVzc2lvbikgaXMgbm90IE9iamVjdCwgdGhyb3cgVHlwZUVycm9yCiAqCiAqIEBwYXRoIGNoMTEvMTEuMi8xMS4yLjIvUzExLjIuMl9BM19UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgIm51bWJlciBwcmltaXRpdmUiIGNhc2UKICovCgovL0NIRUNLIzEKdHJ5IHsKICBuZXcgMTsKICAkRVJST1IoJyMxOiBuZXcgMSB0aHJvdyBUeXBlRXJyb3InKTsJCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxOiBuZXcgMSB0aHJvdyBUeXBlRXJyb3InKTsJCiAgfQp9CgovL0NIRUNLIzIKdHJ5IHsKICB2YXIgeCA9IDE7CiAgbmV3IHg7CiAgJEVSUk9SKCcjMjogdmFyIHggPSAxOyBuZXcgeCB0aHJvdyBUeXBlRXJyb3InKTsJCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMyOiB2YXIgeCA9IDE7IG5ldyB4IHRocm93IFR5cGVFcnJvcicpOwkKICB9Cn0KCi8vQ0hFQ0sjMwp0cnkgewogIHZhciB4ID0gMTsKICBuZXcgeCgpOwogICRFUlJPUignIzM6IHZhciB4ID0gMTsgbmV3IHgoKSB0aHJvdyBUeXBlRXJyb3InKTsgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMzOiB2YXIgeCA9IDE7IG5ldyB4KCkgdGhyb3cgVHlwZUVycm9yJyk7IAogIH0KfQoK",
"commentary":"If Type(NewExpression) or Type(MemberExpression) is not Object, throw TypeError",
"description":"Checking \"number primitive\" case",
"path":"TestCases/ch11/11.2/11.2.2/S11.2.2_A3_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKE5ld0V4cHJlc3Npb24pIG9yIFR5cGUoTWVtYmVyRXhwcmVzc2lvbikgaXMgbm90IE9iamVjdCwgdGhyb3cgVHlwZUVycm9yCiAqCiAqIEBwYXRoIGNoMTEvMTEuMi8xMS4yLjIvUzExLjIuMl9BM19UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgInN0cmluZyBwcmltaXRpdmUiIGNhc2UKICovCgovL0NIRUNLIzEKdHJ5IHsKICBuZXcgMTsKICAkRVJST1IoJyMxOiBuZXcgIjEiIHRocm93IFR5cGVFcnJvcicpOwkKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzE6IG5ldyAiMSIgdGhyb3cgVHlwZUVycm9yJyk7CQogIH0KfQoKLy9DSEVDSyMyCnRyeSB7CiAgdmFyIHggPSAiMSI7CiAgbmV3IHg7CiAgJEVSUk9SKCcjMjogdmFyIHggPSAiMSI7IG5ldyB4IHRocm93IFR5cGVFcnJvcicpOwkKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzI6IHZhciB4ID0gIjEiOyBuZXcgeCB0aHJvdyBUeXBlRXJyb3InKTsJCiAgfQp9CgovL0NIRUNLIzMKdHJ5IHsKICB2YXIgeCA9ICIxIjsKICBuZXcgeCgpOwogICRFUlJPUignIzM6IHZhciB4ID0gIjEiOyBuZXcgeCgpIHRocm93IFR5cGVFcnJvcicpOyAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzM6IHZhciB4ID0gIjEiOyBuZXcgeCgpIHRocm93IFR5cGVFcnJvcicpOyAKICB9Cn0KCg==",
"commentary":"If Type(NewExpression) or Type(MemberExpression) is not Object, throw TypeError",
"description":"Checking \"string primitive\" case",
"path":"TestCases/ch11/11.2/11.2.2/S11.2.2_A3_T3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKE5ld0V4cHJlc3Npb24pIG9yIFR5cGUoTWVtYmVyRXhwcmVzc2lvbikgaXMgbm90IE9iamVjdCwgdGhyb3cgVHlwZUVycm9yCiAqCiAqIEBwYXRoIGNoMTEvMTEuMi8xMS4yLjIvUzExLjIuMl9BM19UNC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgInVuZGVmaW5lZCIgY2FzZQogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIG5ldyB1bmRlZmluZWQ7CiAgJEVSUk9SKCcjMTogbmV3IHVuZGVmaW5lZCB0aHJvdyBUeXBlRXJyb3InKTsJCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxOiBuZXcgdW5kZWZpbmVkIHRocm93IFR5cGVFcnJvcicpOwkKICB9Cn0KCi8vQ0hFQ0sjMgp0cnkgewogIHZhciB4ID0gdW5kZWZpbmVkOwogIG5ldyB4OwogICRFUlJPUignIzI6IHZhciB4ID0gdW5kZWZpbmVkOyBuZXcgeCB0aHJvdyBUeXBlRXJyb3InKTsJCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMyOiB2YXIgeCA9IHVuZGVmaW5lZDsgbmV3IHggdGhyb3cgVHlwZUVycm9yJyk7CQogIH0KfQoKLy9DSEVDSyMzCnRyeSB7CiAgdmFyIHggPSB1bmRlZmluZWQ7CiAgbmV3IHgoKTsKICAkRVJST1IoJyMzOiB2YXIgeCA9IHVuZGVmaW5lZDsgbmV3IHgoKSB0aHJvdyBUeXBlRXJyb3InKTsgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMzOiB2YXIgeCA9IHVuZGVmaW5lZDsgbmV3IHgoKSB0aHJvdyBUeXBlRXJyb3InKTsgCiAgfQp9Cgo=",
"commentary":"If Type(NewExpression) or Type(MemberExpression) is not Object, throw TypeError",
"description":"Checking \"undefined\" case",
"path":"TestCases/ch11/11.2/11.2.2/S11.2.2_A3_T4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKE5ld0V4cHJlc3Npb24pIG9yIFR5cGUoTWVtYmVyRXhwcmVzc2lvbikgaXMgbm90IE9iamVjdCwgdGhyb3cgVHlwZUVycm9yCiAqCiAqIEBwYXRoIGNoMTEvMTEuMi8xMS4yLjIvUzExLjIuMl9BM19UNS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgIm51bGwgcHJpbWl0aXZlIiBjYXNlCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgbmV3IG51bGw7CiAgJEVSUk9SKCcjMTogbmV3IG51bGwgdGhyb3cgVHlwZUVycm9yJyk7CQp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMTogbmV3IG51bGwgdGhyb3cgVHlwZUVycm9yJyk7CQogIH0KfQoKLy9DSEVDSyMyCnRyeSB7CiAgdmFyIHggPSBudWxsOwogIG5ldyB4OwogICRFUlJPUignIzI6IHZhciB4ID0gbnVsbDsgbmV3IHggdGhyb3cgVHlwZUVycm9yJyk7CQp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMjogdmFyIHggPSBudWxsOyBuZXcgeCB0aHJvdyBUeXBlRXJyb3InKTsJCiAgfQp9CgovL0NIRUNLIzMKdHJ5IHsKICB2YXIgeCA9IG51bGw7CiAgbmV3IHgoKTsKICAkRVJST1IoJyMzOiB2YXIgeCA9IG51bGw7IG5ldyB4KCkgdGhyb3cgVHlwZUVycm9yJyk7IAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMzogdmFyIHggPSBudWxsOyBuZXcgeCgpIHRocm93IFR5cGVFcnJvcicpOyAKICB9Cn0KCg==",
"commentary":"If Type(NewExpression) or Type(MemberExpression) is not Object, throw TypeError",
"description":"Checking \"null primitive\" case",
"path":"TestCases/ch11/11.2/11.2.2/S11.2.2_A3_T5.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBOZXdFeHByZXNzaW9uIG9yIE1lbWJlckV4cHJlc3Npb24gZG9lcyBub3QgaW1wbGVtZW50IGludGVybmFsIFtbQ29uc3RydWN0XV0gbWV0aG9kLCB0aHJvdyBUeXBlRXJyb3IKICoKICogQHBhdGggY2gxMS8xMS4yLzExLjIuMi9TMTEuMi4yX0E0X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBCb29sZWFuIG9iamVjdCBjYXNlCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgbmV3IG5ldyBCb29sZWFuKHRydWUpOwogICRFUlJPUignIzE6IG5ldyBuZXcgQm9vbGVhbih0cnVlKSB0aHJvdyBUeXBlRXJyb3InKTsJCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxOiBuZXcgbmV3IEJvb2xlYW4odHJ1ZSkgdGhyb3cgVHlwZUVycm9yJyk7CQogIH0KfQoKLy9DSEVDSyMyCnRyeSB7CiAgdmFyIHggPSBuZXcgQm9vbGVhbih0cnVlKTsKICBuZXcgeDsKICAkRVJST1IoJyMyOiB2YXIgeCA9IG5ldyBCb29sZWFuKHRydWUpOyBuZXcgeCB0aHJvdyBUeXBlRXJyb3InKTsJCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMyOiB2YXIgeCA9IG5ldyBCb29sZWFuKHRydWUpOyBuZXcgeCB0aHJvdyBUeXBlRXJyb3InKTsJCiAgfQp9CgovL0NIRUNLIzMKdHJ5IHsKICB2YXIgeCA9IG5ldyBCb29sZWFuKHRydWUpOwogIG5ldyB4KCk7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBuZXcgQm9vbGVhbih0cnVlKTsgbmV3IHgoKSB0aHJvdyBUeXBlRXJyb3InKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMzogdmFyIHggPSBuZXcgQm9vbGVhbih0cnVlKTsgbmV3IHgoKSB0aHJvdyBUeXBlRXJyb3InKTsgIAogIH0KfQoKCg==",
"commentary":"If NewExpression or MemberExpression does not implement internal [[Construct]] method, throw TypeError",
"description":"Checking Boolean object case",
"path":"TestCases/ch11/11.2/11.2.2/S11.2.2_A4_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBOZXdFeHByZXNzaW9uIG9yIE1lbWJlckV4cHJlc3Npb24gZG9lcyBub3QgaW1wbGVtZW50IGludGVybmFsIFtbQ29uc3RydWN0XV0gbWV0aG9kLCB0aHJvdyBUeXBlRXJyb3IKICoKICogQHBhdGggY2gxMS8xMS4yLzExLjIuMi9TMTEuMi4yX0E0X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBOdW1iZXIgb2JqZWN0IGNhc2UKICovCgovL0NIRUNLIzEKdHJ5IHsKICBuZXcgbmV3IE51bWJlcigxKTsKICAkRVJST1IoJyMxOiBuZXcgbmV3IE51bWJlcigxKSB0aHJvdyBUeXBlRXJyb3InKTsKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzE6IG5ldyBuZXcgTnVtYmVyKDEpIHRocm93IFR5cGVFcnJvcicpOwogIH0KfQoKLy9DSEVDSyMyCnRyeSB7CiAgdmFyIHggPSBuZXcgTnVtYmVyKDEpOwogIG5ldyB4OwogICRFUlJPUignIzI6IHZhciB4ID0gbmV3IE51bWJlcigxKTsgbmV3IHggdGhyb3cgVHlwZUVycm9yJyk7Cn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMyOiB2YXIgeCA9IG5ldyBOdW1iZXIoMSk7IG5ldyB4IHRocm93IFR5cGVFcnJvcicpOwogIH0KfQoKLy9DSEVDSyMzCnRyeSB7CiAgdmFyIHggPSBuZXcgTnVtYmVyKDEpOwogIG5ldyB4KCk7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBuZXcgTnVtYmVyKDEpOyBuZXcgeCgpIHRocm93IFR5cGVFcnJvcicpOwp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMzogdmFyIHggPSBuZXcgTnVtYmVyKDEpOyBuZXcgeCgpIHRocm93IFR5cGVFcnJvcicpOwogIH0KfQoKCg==",
"commentary":"If NewExpression or MemberExpression does not implement internal [[Construct]] method, throw TypeError",
"description":"Checking Number object case",
"path":"TestCases/ch11/11.2/11.2.2/S11.2.2_A4_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBOZXdFeHByZXNzaW9uIG9yIE1lbWJlckV4cHJlc3Npb24gZG9lcyBub3QgaW1wbGVtZW50IGludGVybmFsIFtbQ29uc3RydWN0XV0gbWV0aG9kLCB0aHJvdyBUeXBlRXJyb3IKICoKICogQHBhdGggY2gxMS8xMS4yLzExLjIuMi9TMTEuMi4yX0E0X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBTdHJpbmcgb2JqZWN0IGNhc2UKICovCgovL0NIRUNLIzEKdHJ5IHsKICBuZXcgbmV3IFN0cmluZygiMSIpOwogICRFUlJPUignIzE6IG5ldyBuZXcgU3RyaW5nKCIxIikgdGhyb3cgVHlwZUVycm9yJyk7CQp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMTogbmV3IG5ldyBTdHJpbmcoIjEiKSB0aHJvdyBUeXBlRXJyb3InKTsJCiAgfQp9CgovL0NIRUNLIzIKdHJ5IHsKICB2YXIgeCA9IG5ldyBTdHJpbmcoIjEiKTsKICBuZXcgeDsKICAkRVJST1IoJyMyOiB2YXIgeCA9IG5ldyBTdHJpbmcoIjEiKTsgbmV3IHggdGhyb3cgVHlwZUVycm9yJyk7CQp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMjogdmFyIHggPSBuZXcgU3RyaW5nKCIxIik7IG5ldyB4IHRocm93IFR5cGVFcnJvcicpOwkKICB9Cn0KCi8vQ0hFQ0sjMwp0cnkgewogIHZhciB4ID0gbmV3IFN0cmluZygiMSIpOwogIG5ldyB4KCk7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBuZXcgU3RyaW5nKCIxIik7IG5ldyB4KCkgdGhyb3cgVHlwZUVycm9yJyk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzM6IHZhciB4ID0gbmV3IFN0cmluZygiMSIpOyBuZXcgeCgpIHRocm93IFR5cGVFcnJvcicpOyAgCiAgfQp9CgoK",
"commentary":"If NewExpression or MemberExpression does not implement internal [[Construct]] method, throw TypeError",
"description":"Checking String object case",
"path":"TestCases/ch11/11.2/11.2.2/S11.2.2_A4_T3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBOZXdFeHByZXNzaW9uIG9yIE1lbWJlckV4cHJlc3Npb24gZG9lcyBub3QgaW1wbGVtZW50IGludGVybmFsIFtbQ29uc3RydWN0XV0gbWV0aG9kLCB0aHJvdyBUeXBlRXJyb3IKICoKICogQHBhdGggY2gxMS8xMS4yLzExLjIuMi9TMTEuMi4yX0E0X1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBHbG9iYWwgb2JqZWN0IGNhc2UKICovCgovL0NIRUNLIzEKdHJ5IHsKICBuZXcgdGhpczsKICAkRVJST1IoJyMxOiBuZXcgdGhpcyB0aHJvdyBUeXBlRXJyb3InKTsJCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxOiBuZXcgdGhpcyB0aHJvdyBUeXBlRXJyb3InKTsJCiAgfQp9CgovL0NIRUNLIzIKdHJ5IHsKICBuZXcgdGhpcygpOwogICRFUlJPUignIzI6IG5ldyB0aGlzKCkgdGhyb3cgVHlwZUVycm9yJyk7IAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMjogbmV3IHRoaXMoKSB0aHJvdyBUeXBlRXJyb3InKTsgCiAgfQp9Cgo=",
"commentary":"If NewExpression or MemberExpression does not implement internal [[Construct]] method, throw TypeError",
"description":"Checking Global object case",
"path":"TestCases/ch11/11.2/11.2.2/S11.2.2_A4_T4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBOZXdFeHByZXNzaW9uIG9yIE1lbWJlckV4cHJlc3Npb24gZG9lcyBub3QgaW1wbGVtZW50IGludGVybmFsIFtbQ29uc3RydWN0XV0gbWV0aG9kLCB0aHJvdyBUeXBlRXJyb3IKICoKICogQHBhdGggY2gxMS8xMS4yLzExLjIuMi9TMTEuMi4yX0E0X1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBNYXRoIG9iamVjdCBjYXNlCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgbmV3IE1hdGg7CiAgJEVSUk9SKCcjMTogbmV3IE1hdGggdGhyb3cgVHlwZUVycm9yJyk7CQp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMTogbmV3IE1hdGggdGhyb3cgVHlwZUVycm9yJyk7CQogIH0KfQoKLy9DSEVDSyMyCnRyeSB7CiAgbmV3IG5ldyBNYXRoKCk7CiAgJEVSUk9SKCcjMjogbmV3IG5ldyBNYXRoKCkgdGhyb3cgVHlwZUVycm9yJyk7CQp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMjogbmV3IG5ldyBNYXRoKCkgdGhyb3cgVHlwZUVycm9yJyk7CQogIH0KfQoKLy9DSEVDSyMzCnRyeSB7CiAgdmFyIHggPSBuZXcgTWF0aCgpOwogIG5ldyB4KCk7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBuZXcgTWF0aCgpOyBuZXcgeCgpIHRocm93IFR5cGVFcnJvcicpOyAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzM6IHZhciB4ID0gbmV3IE1hdGgoKTsgbmV3IHgoKSB0aHJvdyBUeXBlRXJyb3InKTsgCiAgfQp9CgoK",
"commentary":"If NewExpression or MemberExpression does not implement internal [[Construct]] method, throw TypeError",
"description":"Checking Math object case",
"path":"TestCases/ch11/11.2/11.2.2/S11.2.2_A4_T5.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4yLzExLjIuMy8xMS4yLjMtM18xLmpzDQogKiBAZGVzY3JpcHRpb24gQ2FsbCBhcmd1bWVudHMgYXJlIGV2YWx1YXRlZCBiZWZvcmUgdGhlIGNoZWNrIGlzIG1hZGUgdG8gc2VlIGlmIHRoZSBvYmplY3QgaXMgYWN0dWFsbHkgY2FsbGFibGUgKEZ1bmN0aW9uRGVjbGFyYXRpb24pDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICB2YXIgZm9vQ2FsbGVkID0gZmFsc2U7DQogICAgZnVuY3Rpb24gZm9vKCl7IGZvb0NhbGxlZCA9IHRydWU7IH0gDQogICAgDQogICAgdmFyIG8gPSB7IH07IA0KICAgIHRyeSB7DQogICAgICAgIG8uYmFyKCBmb28oKSApOw0KICAgICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCJvLmJhciBkb2VzIG5vdCBleGlzdCEiKTsNCiAgICB9IGNhdGNoKGUpIHsNCiAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiAoZm9vQ2FsbGVkPT09dHJ1ZSk7DQogICAgfQ0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K",
"commentary":"",
"description":"Call arguments are evaluated before the check is made to see if the object is actually callable (FunctionDeclaration)",
"path":"TestCases/ch11/11.2/11.2.3/11.2.3-3_1.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4yLzExLjIuMy8xMS4yLjMtM18yLmpzDQogKiBAZGVzY3JpcHRpb24gQ2FsbCBhcmd1bWVudHMgYXJlIGV2YWx1YXRlZCBiZWZvcmUgdGhlIGNoZWNrIGlzIG1hZGUgdG8gc2VlIGlmIHRoZSBvYmplY3QgaXMgYWN0dWFsbHkgY2FsbGFibGUgKEZ1bmN0aW9uRXhwcmVzc2lvbikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIHZhciBmb29DYWxsZWQgPSBmYWxzZTsNCiAgICB2YXIgZm9vID0gZnVuY3Rpb24gKCl7IGZvb0NhbGxlZCA9IHRydWU7IH0gDQogICAgDQogICAgdmFyIG8gPSB7IH07IA0KICAgIHRyeSB7DQogICAgICAgIG8uYmFyKCBmb28oKSApOw0KICAgICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCJvLmJhciBkb2VzIG5vdCBleGlzdCEiKTsNCiAgICB9IGNhdGNoKGUpIHsNCiAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiAoZm9vQ2FsbGVkPT09dHJ1ZSk7DQogICAgfQ0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K",
"commentary":"",
"description":"Call arguments are evaluated before the check is made to see if the object is actually callable (FunctionExpression)",
"path":"TestCases/ch11/11.2/11.2.3/11.2.3-3_2.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4yLzExLjIuMy8xMS4yLjMtM18zLmpzDQogKiBAZGVzY3JpcHRpb24gQ2FsbCBhcmd1bWVudHMgYXJlIG5vdCBldmFsdWF0ZWQgYmVmb3JlIHRoZSBjaGVjayBpcyBtYWRlIHRvIHNlZSBpZiB0aGUgb2JqZWN0IGlzIGFjdHVhbGx5IGNhbGxhYmxlICh1bmRlZmluZWQgbWVtYmVyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgdmFyIGZvb0NhbGxlZCA9IGZhbHNlOw0KICAgIGZ1bmN0aW9uIGZvbygpeyBmb29DYWxsZWQgPSB0cnVlOyB9IA0KICAgIA0KICAgIHZhciBvID0geyB9OyANCiAgICB0cnkgew0KICAgICAgICBvLmJhci5nYXIoIGZvbygpICk7DQogICAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oIm8uYmFyIGRvZXMgbm90IGV4aXN0ISIpOw0KICAgIH0gY2F0Y2goZSkgew0KICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIChmb29DYWxsZWQ9PT1mYWxzZSk7DQogICAgfQ0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K",
"commentary":"",
"description":"Call arguments are not evaluated before the check is made to see if the object is actually callable (undefined member)",
"path":"TestCases/ch11/11.2/11.2.3/11.2.3-3_3.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4yLzExLjIuMy8xMS4yLjMtM180LmpzDQogKiBAZGVzY3JpcHRpb24gQ2FsbCBhcmd1bWVudHMgYXJlIGV2YWx1YXRlZCBiZWZvcmUgdGhlIGNoZWNrIGlzIG1hZGUgdG8gc2VlIGlmIHRoZSBvYmplY3QgaXMgYWN0dWFsbHkgY2FsbGFibGUgKHByb3BlcnR5KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgdmFyIGZvb0NhbGxlZCA9IGZhbHNlOw0KICAgIGZ1bmN0aW9uIGZvbygpeyBmb29DYWxsZWQgPSB0cnVlOyB9IA0KICAgIA0KICAgIHZhciBvID0geyB9OyANCiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImJhciIsIHtnZXQ6IGZ1bmN0aW9uKCkgIHt0aGlzLmJhckdldHRlciA9IHRydWU7IHJldHVybiA0Mjt9LCANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uKHgpIHt0aGlzLmJhclNldHRlciA9IHRydWU7IH19KTsNCiAgICB0cnkgew0KICAgICAgICBvLmJhciggZm9vKCkgKTsNCiAgICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbigiby5iYXIgZG9lcyBub3QgZXhpc3QhIik7DQogICAgfSBjYXRjaChlKSB7DQogICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgKGZvb0NhbGxlZD09PXRydWUpICYmIChvLmJhckdldHRlcj09PXRydWUpICYmIChvLmJhclNldHRlcj09PXVuZGVmaW5lZCk7DQogICAgfQ0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K",
"commentary":"",
"description":"Call arguments are evaluated before the check is made to see if the object is actually callable (property)",
"path":"TestCases/ch11/11.2/11.2.3/11.2.3-3_4.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4yLzExLjIuMy8xMS4yLjMtM181LmpzDQogKiBAZGVzY3JpcHRpb24gQ2FsbCBhcmd1bWVudHMgYXJlIGV2YWx1YXRlZCBiZWZvcmUgdGhlIGNoZWNrIGlzIG1hZGUgdG8gc2VlIGlmIHRoZSBvYmplY3QgaXMgYWN0dWFsbHkgY2FsbGFibGUgKGV2YWwnZWQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICB2YXIgZm9vQ2FsbGVkID0gZmFsc2U7DQogICAgZnVuY3Rpb24gZm9vKCl7IGZvb0NhbGxlZCA9IHRydWU7IH0gDQogICAgDQogICAgdmFyIG8gPSB7IH07IA0KICAgIHRyeSB7DQogICAgICAgIGV2YWwoIm8uYmFyKCBmb28oKSApOyIpOw0KICAgICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCJvLmJhciBkb2VzIG5vdCBleGlzdCEiKTsNCiAgICB9IGNhdGNoKGUpIHsNCiAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiAoZm9vQ2FsbGVkPT09dHJ1ZSk7DQogICAgfQ0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K",
"commentary":"",
"description":"Call arguments are evaluated before the check is made to see if the object is actually callable (eval'ed)",
"path":"TestCases/ch11/11.2/11.2.3/11.2.3-3_5.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4yLzExLjIuMy8xMS4yLjMtM182LmpzDQogKiBAZGVzY3JpcHRpb24gQ2FsbCBhcmd1bWVudHMgYXJlIGV2YWx1YXRlZCBiZWZvcmUgdGhlIGNoZWNrIGlzIG1hZGUgdG8gc2VlIGlmIHRoZSBvYmplY3QgaXMgYWN0dWFsbHkgY2FsbGFibGUgKGdldHRlciBjYWxsZWQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICB2YXIgbyA9IHsgfTsgDQogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJiYXIiLCB7Z2V0OiBmdW5jdGlvbigpICB7dGhpcy5iYXJHZXR0ZXIgPSB0cnVlOyByZXR1cm4gNDI7fSwgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbih4KSB7dGhpcy5iYXJTZXR0ZXIgPSB0cnVlOyB9fSk7DQogICAgdHJ5IHsNCiAgICAgICAgby5mb28oIG8uYmFyICk7DQogICAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oIm8uZm9vIGRvZXMgbm90IGV4aXN0ISIpOw0KICAgIH0gY2F0Y2goZSkgew0KICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIChvLmJhckdldHRlcj09PXRydWUpICYmIChvLmJhclNldHRlcj09PXVuZGVmaW5lZCk7DQogICAgfQ0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K",
"commentary":"",
"description":"Call arguments are evaluated before the check is made to see if the object is actually callable (getter called)",
"path":"TestCases/ch11/11.2/11.2.3/11.2.3-3_6.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4yLzExLjIuMy8xMS4yLjMtM183LmpzDQogKiBAZGVzY3JpcHRpb24gQ2FsbCBhcmd1bWVudHMgYXJlIGV2YWx1YXRlZCBiZWZvcmUgdGhlIGNoZWNrIGlzIG1hZGUgdG8gc2VlIGlmIHRoZSBvYmplY3QgaXMgYWN0dWFsbHkgY2FsbGFibGUgKGdldHRlciBjYWxsZWQgYXMgaW5kZXhlZCBwcm9wZXJ0eSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIHZhciBvID0geyB9OyANCiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImJhciIsIHtnZXQ6IGZ1bmN0aW9uKCkgIHt0aGlzLmJhckdldHRlciA9IHRydWU7IHJldHVybiA0Mjt9LCANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uKHgpIHt0aGlzLmJhclNldHRlciA9IHRydWU7IH19KTsNCiAgICB0cnkgew0KICAgICAgICBvLmZvbyggb1siYmFyIl0gKTsNCiAgICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbigiby5mb28gZG9lcyBub3QgZXhpc3QhIik7DQogICAgfSBjYXRjaChlKSB7DQogICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgKG8uYmFyR2V0dGVyPT09dHJ1ZSkgJiYgKG8uYmFyU2V0dGVyPT09dW5kZWZpbmVkKTsNCiAgICB9DQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=",
"commentary":"",
"description":"Call arguments are evaluated before the check is made to see if the object is actually callable (getter called as indexed property)",
"path":"TestCases/ch11/11.2/11.2.3/11.2.3-3_7.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4yLzExLjIuMy8xMS4yLjMtM184LmpzDQogKiBAZGVzY3JpcHRpb24gQ2FsbCBhcmd1bWVudHMgYXJlIGV2YWx1YXRlZCBiZWZvcmUgdGhlIGNoZWNrIGlzIG1hZGUgdG8gc2VlIGlmIHRoZSBvYmplY3QgaXMgYWN0dWFsbHkgY2FsbGFibGUgKGdsb2JhbCBvYmplY3QpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICBpZiAodGhpcyE9PWZuR2xvYmFsT2JqZWN0KCkpIHsNCiAgICAgICAgcmV0dXJuOw0KICAgIH0NCiAgICANCiAgICB2YXIgZm9vQ2FsbGVkID0gZmFsc2U7DQogICAgZnVuY3Rpb24gZm9vKCl7IGZvb0NhbGxlZCA9IHRydWU7IH0gDQogICAgDQogICAgdHJ5IHsNCiAgICAgICAgdGhpcy5iYXIoIGZvbygpICk7DQogICAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oInRoaXMuYmFyIGRvZXMgbm90IGV4aXN0ISIpOw0KICAgIH0gY2F0Y2goZSkgew0KICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIChmb29DYWxsZWQ9PT10cnVlKTsNCiAgICB9DQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=",
"commentary":"",
"description":"Call arguments are evaluated before the check is made to see if the object is actually callable (global object)",
"path":"TestCases/ch11/11.2/11.2.3/11.2.3-3_8.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gTWVtYmVyRXhwcmVzc2lvbiBhbmQgQXJndW1lbnRzIGFyZSBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTEvMTEuMi8xMS4yLjMvUzExLjIuM19BMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYnkgdXNpbmcgZXZhbAogKi8KCi8vQ0hFQ0sjMQppZiAoZXZhbCgiTnVtYmVyXHUwMDA5KCkiKSAhPT0gMCkgewogICRFUlJPUignIzE6IE51bWJlclxcdTAwMDkoKSA9PT0gMCcpOwp9CgovL0NIRUNLIzIKaWYgKGV2YWwoIk51bWJlclx1MDAwQigpIikgIT09IDApIHsKICAkRVJST1IoJyMyOiBOdW1iZXJcXHUwMDBCKCkgPT09IDAnKTsgIAp9CgovL0NIRUNLIzMKaWYgKGV2YWwoIk51bWJlclx1MDAwQygpIikgIT09IDApIHsKICAkRVJST1IoJyMzOiBOdW1iZXJcXHUwMDBDKCkgPT09IDAnKTsKfQoKLy9DSEVDSyM0CmlmIChldmFsKCJOdW1iZXJcdTAwMjAoKSIpICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogTnVtYmVyXFx1MDAyMCA9PT0gMCcpOwp9CgovL0NIRUNLIzUKaWYgKGV2YWwoIk51bWJlclx1MDBBMCgpIikgIT09IDApIHsKICAkRVJST1IoJyM1OiBOdW1iZXJcXHUwMEEwKCkgPT09IDAnKTsKfQoKLy9DSEVDSyM2CmlmIChldmFsKCJOdW1iZXJcdTAwMEEoKSIpICE9PSAwKSB7CiAgJEVSUk9SKCcjNjogTnVtYmVyXFx1MDAwQSgpID09PSAwJyk7ICAKfQoKLy9DSEVDSyM3CmlmIChldmFsKCJOdW1iZXJcdTAwMEQoKSIpICE9PSAwKSB7CiAgJEVSUk9SKCcjNzogTnVtYmVyXFx1MDAwRCgpID09PSAwJyk7Cn0KCi8vQ0hFQ0sjOAppZiAoZXZhbCgiTnVtYmVyXHUyMDI4KCkiKSAhPT0gMCkgewogICRFUlJPUignIzg6IE51bWJlclxcdTIwMjgoKSA9PT0gMCcpOwp9CgovL0NIRUNLIzkKaWYgKGV2YWwoIk51bWJlclx1MjAyOSgpIikgIT09IDApIHsKICAkRVJST1IoJyM5OiBOdW1iZXJcXHUyMDI5KCkgPT09IDAnKTsKfQoKLy9DSEVDSyMxMAppZiAoZXZhbCgiTnVtYmVyXHUwMDA5XHUwMDBCXHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5KCkiKSAhPT0gMCkgewogICRFUlJPUignIzEwOiBOdW1iZXJcXHUwMDA5XFx1MDAwQlxcdTAwMENcXHUwMDIwXFx1MDBBMFxcdTAwMEFcXHUwMDBEXFx1MjAyOFxcdTIwMjkoKSA9PT0gMCcpOwp9Cgo=",
"commentary":"White Space and Line Terminator between MemberExpression and Arguments are allowed",
"description":"Checking by using eval",
"path":"TestCases/ch11/11.2/11.2.3/S11.2.3_A1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDYWxsRXhwcmVzc2lvbiA6IE1lbWJlckV4cHJlc3Npb24gQXJndW1lbnRzIHVzZXMgR2V0VmFsdWUKICoKICogQHBhdGggY2gxMS8xMS4yLzExLjIuMy9TMTEuMi4zX0EyLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBHZXRCYXNlKE1lbWJlckV4cHJlc3Npb24pIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgeCgpOwogICRFUlJPUignIzEuMTogeCgpIHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoeCgpKSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiB4KCkgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7ICAKICB9Cn0KCi8vQ0hFQ0sjMgp0cnkgewogIHgoMSwyLDMpOwogICRFUlJPUignIzIuMTogeCgxLDIsMykgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArICh4KDEsMiwzKSkpOyAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMi4yOiB4KDEsMiwzKSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgCiAgfQp9Cgo=",
"commentary":"CallExpression : MemberExpression Arguments uses GetValue",
"description":"If GetBase(MemberExpression) is null, throw ReferenceError",
"path":"TestCases/ch11/11.2/11.2.3/S11.2.3_A2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBNZW1iZXJFeHByZXNzaW9uIGlzIG5vdCBPYmplY3QsIHRocm93IFR5cGVFcnJvcgogKgogKiBAcGF0aCBjaDExLzExLjIvMTEuMi4zL1MxMS4yLjNfQTNfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nICJib29sZWFuIHByaW1pdGl2ZSIgY2FzZQogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHRydWUoKTsKICAgICRFUlJPUignIzEuMTogdHJ1ZSgpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKHRydWUoKSkpOwkKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogdHJ1ZSgpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsJCiAgfQp9CgovL0NIRUNLIzIKdHJ5IHsKICB2YXIgeCA9IHRydWU7CiAgeCgpOwogICAgJEVSUk9SKCcjMi4xOiB2YXIgeCA9IHRydWU7IHgoKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArICh4KCkpKQp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMi4yOiB2YXIgeCA9IHRydWU7IHgoKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChlKSkgIAogIH0KfQoK",
"commentary":"If MemberExpression is not Object, throw TypeError",
"description":"Checking \"boolean primitive\" case",
"path":"TestCases/ch11/11.2/11.2.3/S11.2.3_A3_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBNZW1iZXJFeHByZXNzaW9uIGlzIG5vdCBPYmplY3QsIHRocm93IFR5cGVFcnJvcgogKgogKiBAcGF0aCBjaDExLzExLjIvMTEuMi4zL1MxMS4yLjNfQTNfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nICJudW1iZXIgcHJpbWl0aXZlIiBjYXNlCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgMSgpOwogICAgJEVSUk9SKCcjMS4xOiAxKCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoMSgpKSk7CQp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiAxKCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwkKICB9Cn0KCi8vQ0hFQ0sjMgp0cnkgewogIHZhciB4ID0gMTsKICB4KCk7CiAgICAkRVJST1IoJyMyLjE6IHZhciB4ID0gMTsgeCgpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKHgoKSkpOwkKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzIuMjogdmFyIHggPSAxOyB4KCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwkKICB9Cn0KCg==",
"commentary":"If MemberExpression is not Object, throw TypeError",
"description":"Checking \"number primitive\" case",
"path":"TestCases/ch11/11.2/11.2.3/S11.2.3_A3_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBNZW1iZXJFeHByZXNzaW9uIGlzIG5vdCBPYmplY3QsIHRocm93IFR5cGVFcnJvcgogKgogKiBAcGF0aCBjaDExLzExLjIvMTEuMi4zL1MxMS4yLjNfQTNfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nICJzdHJpbmcgcHJpbWl0aXZlIiBjYXNlCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgIjEiKCk7CiAgICAkRVJST1IoJyMxLjE6ICIxIigpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKCIxIigpKSk7CQp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiAiMSIoKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CQogIH0KfQoKLy9DSEVDSyMyCnRyeSB7CiAgdmFyIHggPSAiMSI7CiAgeCgpOwogICAgJEVSUk9SKCcjMi4xOiB2YXIgeCA9ICIxIjsgeCgpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKHgoKSkpOwkKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzIuMjogdmFyIHggPSAiMSI7IHgoKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CQogIH0KfQoK",
"commentary":"If MemberExpression is not Object, throw TypeError",
"description":"Checking \"string primitive\" case",
"path":"TestCases/ch11/11.2/11.2.3/S11.2.3_A3_T3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBNZW1iZXJFeHByZXNzaW9uIGlzIG5vdCBPYmplY3QsIHRocm93IFR5cGVFcnJvcgogKgogKiBAcGF0aCBjaDExLzExLjIvMTEuMi4zL1MxMS4yLjNfQTNfVDQuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nICJ1bmRlZmluZWQiIGNhc2UKICovCgovL0NIRUNLIzEKdHJ5IHsKICB1bmRlZmluZWQoKTsKICAgICRFUlJPUignIzEuMTogdW5kZWZpbmVkKCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwkKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogdW5kZWZpbmVkKCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwkKICB9Cn0KCi8vQ0hFQ0sjMgp0cnkgewogIHZhciB4ID0gdW5kZWZpbmVkOwogIHgoKTsKICAgICRFUlJPUignIzIuMTogdmFyIHggPSB1bmRlZmluZWQ7IHgoKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CQp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMi4yOiB2YXIgeCA9IHVuZGVmaW5lZDsgeCgpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsJCiAgfQp9Cgo=",
"commentary":"If MemberExpression is not Object, throw TypeError",
"description":"Checking \"undefined\" case",
"path":"TestCases/ch11/11.2/11.2.3/S11.2.3_A3_T4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBNZW1iZXJFeHByZXNzaW9uIGlzIG5vdCBPYmplY3QsIHRocm93IFR5cGVFcnJvcgogKgogKiBAcGF0aCBjaDExLzExLjIvMTEuMi4zL1MxMS4yLjNfQTNfVDUuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nICJudWxsIiBjYXNlCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgbnVsbCgpOwogICAgJEVSUk9SKCcjMS4xOiBudWxsKCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAobnVsbCgpKSk7CQp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiBudWxsKCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwkKICB9Cn0KCi8vQ0hFQ0sjMgp0cnkgewogIHZhciB4ID0gbnVsbDsKICB4KCk7CiAgICAkRVJST1IoJyMyLjE6IHZhciB4ID0gbnVsbDsgeCgpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKHgoKSkpOwkKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzIuMjogdmFyIHggPSBudWxsOyB4KCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwkKICB9Cn0KCg==",
"commentary":"If MemberExpression is not Object, throw TypeError",
"description":"Checking \"null\" case",
"path":"TestCases/ch11/11.2/11.2.3/S11.2.3_A3_T5.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBNZW1iZXJFeHByZXNzaW9uIGRvZXMgbm90IGltcGxlbWVudCB0aGUgaW50ZXJuYWwgW1tDYWxsXV0gbWV0aG9kLCB0aHJvdyBUeXBlRXJyb3IKICoKICogQHBhdGggY2gxMS8xMS4yLzExLjIuMy9TMTEuMi4zX0E0X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBCb29sZWFuIG9iamVjdCBjYXNlCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgbmV3IEJvb2xlYW4odHJ1ZSkoKTsKICAkRVJST1IoJyMxLjE6IG5ldyBCb29sZWFuKHRydWUpKCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAobmV3IEJvb2xlYW4odHJ1ZSkoKSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IG5ldyBCb29sZWFuKHRydWUpKCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9CgovL0NIRUNLIzIKdHJ5IHsKICB2YXIgeCA9IG5ldyBCb29sZWFuKHRydWUpOwogIHgoKTsKICAkRVJST1IoJyMyLjE6IHZhciB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHgoKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArICh4KCkpKTsJCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMyLjI6IHZhciB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHgoKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CQogIH0KfQoKCg==",
"commentary":"If MemberExpression does not implement the internal [[Call]] method, throw TypeError",
"description":"Checking Boolean object case",
"path":"TestCases/ch11/11.2/11.2.3/S11.2.3_A4_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBNZW1iZXJFeHByZXNzaW9uIGRvZXMgbm90IGltcGxlbWVudCB0aGUgaW50ZXJuYWwgW1tDYWxsXV0gbWV0aG9kLCB0aHJvdyBUeXBlRXJyb3IKICoKICogQHBhdGggY2gxMS8xMS4yLzExLjIuMy9TMTEuMi4zX0E0X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBOdW1iZXIgb2JqZWN0IGNhc2UKICovCgovL0NIRUNLIzEKdHJ5IHsKICBuZXcgTnVtYmVyKDEpKCk7CiAgJEVSUk9SKCcjMS4xOiBuZXcgTnVtYmVyKDEpKCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAobmV3IE51bWJlcigxKSgpKSk7CQp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiBuZXcgTnVtYmVyKDEpKCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwkKICB9Cn0KCi8vQ0hFQ0sjMgp0cnkgewogIHZhciB4ID0gbmV3IE51bWJlcigxKTsKICB4KCk7CiAgJEVSUk9SKCcjMi4xOiB2YXIgeCA9IG5ldyBOdW1iZXIoMSk7IHgoKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArICh4KCkpKTsJCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMyLjI6IHZhciB4ID0gbmV3IE51bWJlcigxKTsgeCgpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsJCiAgfQp9CgoK",
"commentary":"If MemberExpression does not implement the internal [[Call]] method, throw TypeError",
"description":"Checking Number object case",
"path":"TestCases/ch11/11.2/11.2.3/S11.2.3_A4_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBNZW1iZXJFeHByZXNzaW9uIGRvZXMgbm90IGltcGxlbWVudCB0aGUgaW50ZXJuYWwgW1tDYWxsXV0gbWV0aG9kLCB0aHJvdyBUeXBlRXJyb3IKICoKICogQHBhdGggY2gxMS8xMS4yLzExLjIuMy9TMTEuMi4zX0E0X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBTdHJpbmcgb2JqZWN0IGNhc2UKICovCgovL0NIRUNLIzEKdHJ5IHsKICBuZXcgU3RyaW5nKCIxIikoKTsKICAkRVJST1IoJyMxLjE6IG5ldyBTdHJpbmcoIjEiKSgpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBTdHJpbmcoIjEiKSgpKSk7CQp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiBuZXcgU3RyaW5nKCIxIikoKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CQogIH0KfQoKLy9DSEVDSyMyCnRyeSB7CiAgdmFyIHggPSBuZXcgU3RyaW5nKCIxIik7CiAgeCgpOwogICRFUlJPUignIzIuMTogdmFyIHggPSBuZXcgU3RyaW5nKCIxIik7IHgoKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArICh4KCkpKTsJCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMyLjI6IHZhciB4ID0gbmV3IFN0cmluZygiMSIpOyB4KCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwkKICB9Cn0KCg==",
"commentary":"If MemberExpression does not implement the internal [[Call]] method, throw TypeError",
"description":"Checking String object case",
"path":"TestCases/ch11/11.2/11.2.3/S11.2.3_A4_T3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBNZW1iZXJFeHByZXNzaW9uIGRvZXMgbm90IGltcGxlbWVudCB0aGUgaW50ZXJuYWwgW1tDYWxsXV0gbWV0aG9kLCB0aHJvdyBUeXBlRXJyb3IKICoKICogQHBhdGggY2gxMS8xMS4yLzExLjIuMy9TMTEuMi4zX0E0X1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBHbG9iYWwgb2JqZWN0IGNhc2UKICovCgovL0NIRUNLIzEKdHJ5IHsKICB0aGlzKCk7CiAgJEVSUk9SKCcjMS4xOiB0aGlzKCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAodGhpcygpKSk7CQp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiB0aGlzKCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwkKICB9Cn0KCg==",
"commentary":"If MemberExpression does not implement the internal [[Call]] method, throw TypeError",
"description":"Checking Global object case",
"path":"TestCases/ch11/11.2/11.2.3/S11.2.3_A4_T4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBNZW1iZXJFeHByZXNzaW9uIGRvZXMgbm90IGltcGxlbWVudCB0aGUgaW50ZXJuYWwgW1tDYWxsXV0gbWV0aG9kLCB0aHJvdyBUeXBlRXJyb3IKICoKICogQHBhdGggY2gxMS8xMS4yLzExLjIuMy9TMTEuMi4zX0E0X1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBNYXRoIG9iamVjdCBjYXNlCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgTWF0aCgpOwogICRFUlJPUignIzEuMTogTWF0aCgpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKE1hdGgoKSkpOwkKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogTWF0aCgpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsJCiAgfQp9CgoK",
"commentary":"If MemberExpression does not implement the internal [[Call]] method, throw TypeError",
"description":"Checking Math object case",
"path":"TestCases/ch11/11.2/11.2.3/S11.2.3_A4_T5.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBcmd1bWVudHMgOiAoKQogKgogKiBAcGF0aCBjaDExLzExLjIvMTEuMi40L1MxMS4yLjRfQTEuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24gaXMgZGVjbGFyZWQgd2l0aCBubyBGb3JtYWxQYXJhbWV0ZXJMaXN0CiAqLwoKZnVuY3Rpb24gZl9hcmcoKSB7CiAgcmV0dXJuIGFyZ3VtZW50czsKfQoKLy9DSEVDSyMxCmlmIChmX2FyZygpLmxlbmd0aCAhPT0gMCkgewogICRFUlJPUignIzE6IGZ1bmN0aW9uIGZfYXJnKCkge3JldHVybiBhcmd1bWVudHM7fSBmX2FyZygpLmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnICsgKGZfYXJnKCkubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoZl9hcmcoKVswXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMjogZnVuY3Rpb24gZl9hcmcoKSB7cmV0dXJuIGFyZ3VtZW50czt9IGZfYXJnKClbMF0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKGZfYXJnKClbMF0pKTsKfQoK",
"commentary":"Arguments : ()",
"description":"Function is declared with no FormalParameterList",
"path":"TestCases/ch11/11.2/11.2.4/S11.2.4_A1.1_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBcmd1bWVudHMgOiAoKQogKgogKiBAcGF0aCBjaDExLzExLjIvMTEuMi40L1MxMS4yLjRfQTEuMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24gaXMgZGVjbGFyZWQgd2l0aCBGb3JtYWxQYXJhbWV0ZXJMaXN0CiAqLwoKZnVuY3Rpb24gZl9hcmcoeCx5KSB7CiAgcmV0dXJuIGFyZ3VtZW50czsKfQoKLy9DSEVDSyMxCmlmIChmX2FyZygpLmxlbmd0aCAhPT0gMCkgewogICRFUlJPUignIzE6IGZ1bmN0aW9uIGZfYXJnKHgseSkge3JldHVybiBhcmd1bWVudHM7fSBmX2FyZygpLmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnICsgKGZfYXJnKCkubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoZl9hcmcoKVswXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMjogZnVuY3Rpb24gZl9hcmcoeCx5KSB7cmV0dXJuIGFyZ3VtZW50czt9IGZfYXJnKClbMF0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKGZfYXJnKClbMF0pKTsKfQoKLy9DSEVDSyMzCmlmIChmX2FyZy5sZW5ndGggIT09IDIpIHsKICAkRVJST1IoJyMzOiBmdW5jdGlvbiBmX2FyZyh4LHkpIHtyZXR1cm4gYXJndW1lbnRzO30gZl9hcmcubGVuZ3RoID09PSAyLiBBY3R1YWw6ICcgKyAoZl9hcmcubGVuZ3RoKSk7Cn0KCg==",
"commentary":"Arguments : ()",
"description":"Function is declared with FormalParameterList",
"path":"TestCases/ch11/11.2/11.2.4/S11.2.4_A1.1_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBcmd1bWVudHMgOiAoQXJndW1lbnRMaXN0KQogKgogKiBAcGF0aCBjaDExLzExLjIvMTEuMi40L1MxMS4yLjRfQTEuMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24gaXMgZGVjbGFyZWQgd2l0aCBubyBGb3JtYWxQYXJhbWV0ZXJMaXN0CiAqLwoKZl9hcmcgPSBmdW5jdGlvbigpIHsKICByZXR1cm4gYXJndW1lbnRzOwp9CgovL0NIRUNLIzEKaWYgKGZfYXJnKDEsMiwzKS5sZW5ndGggIT09IDMpIHsKICAkRVJST1IoJyMxOiBmX2FyZyA9IGZ1bmN0aW9uKCkoKSB7cmV0dXJuIGFyZ3VtZW50czt9IGZfYXJnKDEsMiwzKS5sZW5ndGggPT09IDMuIEFjdHVhbDogJyArIChmX2FyZygxLDIsMykubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoZl9hcmcoMSwyLDMpWzBdICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogZl9hcmcgPSBmdW5jdGlvbigpKCkge3JldHVybiBhcmd1bWVudHM7fSBmX2FyZygxLDIsMylbMF0gPT09IDEuIEFjdHVhbDogJyArIChmX2FyZygxLDIsMylbMF0pKTsKfQoKLy9DSEVDSyMzCmlmIChmX2FyZygxLDIsMylbMV0gIT09IDIpIHsKICAkRVJST1IoJyMzOiBmX2FyZyA9IGZ1bmN0aW9uKCkoKSB7cmV0dXJuIGFyZ3VtZW50czt9IGZfYXJnKDEsMiwzKVsxXSA9PT0gMi4gQWN0dWFsOiAnICsgKGZfYXJnKDEsMiwzKVsxXSkpOwp9CgovL0NIRUNLIzQKaWYgKGZfYXJnKDEsMiwzKVsyXSAhPT0gMykgewogICRFUlJPUignIzQ6IGZfYXJnID0gZnVuY3Rpb24oKSgpIHtyZXR1cm4gYXJndW1lbnRzO30gZl9hcmcoMSwyLDMpWzJdID09PSAzLiBBY3R1YWw6ICcgKyAoZl9hcmcoMSwyLDMpWzJdKSk7Cn0KCi8vQ0hFQ0sjNQppZiAoZl9hcmcoMSwyLDMpWzNdICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyM1OiBmX2FyZyA9IGZ1bmN0aW9uKCkoKSB7cmV0dXJuIGFyZ3VtZW50czt9IGZfYXJnKDEsMiwzKVszXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoZl9hcmcoMSwyLDMpWzNdKSk7Cn0KCg==",
"commentary":"Arguments : (ArgumentList)",
"description":"Function is declared with no FormalParameterList",
"path":"TestCases/ch11/11.2/11.2.4/S11.2.4_A1.2_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBcmd1bWVudHMgOiAoQXJndW1lbnRMaXN0KQogKgogKiBAcGF0aCBjaDExLzExLjIvMTEuMi40L1MxMS4yLjRfQTEuMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24gaXMgZGVjbGFyZWQgd2l0aCBGb3JtYWxQYXJhbWV0ZXJMaXN0CiAqLwoKZl9hcmcgPSBmdW5jdGlvbih4LHkpIHsKICByZXR1cm4gYXJndW1lbnRzOwp9CgovL0NIRUNLIzEKaWYgKGZfYXJnKDEsMiwzKS5sZW5ndGggIT09IDMpIHsKICAkRVJST1IoJyMxOiBmX2FyZyA9IGZ1bmN0aW9uKHgseSkge3JldHVybiBhcmd1bWVudHM7fSBmX2FyZygxLDIsMykubGVuZ3RoID09PSAzLiBBY3R1YWw6ICcgKyAoZl9hcmcoMSwyLDMpLmxlbmd0aCkpOwp9CgovL0NIRUNLIzIKaWYgKGZfYXJnKDEpWzBdICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogZl9hcmcgPSBmdW5jdGlvbih4LHkpIHtyZXR1cm4gYXJndW1lbnRzO30gZl9hcmcoMSlbMF0gPT09IDEuIEFjdHVhbDogJyArIChmX2FyZygxKVswXSkpOwp9CgovL0NIRUNLIzMKaWYgKGZfYXJnKDEsMilbMV0gIT09IDIpIHsKICAkRVJST1IoJyMzOiBmX2FyZyA9IGZ1bmN0aW9uKHgseSkge3JldHVybiBhcmd1bWVudHM7fSBmX2FyZygxLDIpWzFdID09PSAyLiBBY3R1YWw6ICcgKyAoZl9hcmcoMSwyKVsxXSkpOwp9CgovL0NIRUNLIzQKaWYgKGZfYXJnKDEsMiwzKVsyXSAhPT0gMykgewogICRFUlJPUignIzQ6IGZfYXJnID0gZnVuY3Rpb24oeCx5KSB7cmV0dXJuIGFyZ3VtZW50czt9IGZfYXJnKDEsMiwzKVsyXSA9PT0gMy4gQWN0dWFsOiAnICsgKGZfYXJnKDEsMiwzKVsyXSkpOwp9CgovL0NIRUNLIzUKaWYgKGZfYXJnKDEsMiwzKVszXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjNTogZl9hcmcgPSBmdW5jdGlvbih4LHkpIHtyZXR1cm4gYXJndW1lbnRzO30gZl9hcmcoMSwyLDMpWzNdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChmX2FyZygxLDIsMylbM10pKTsKfQoKLy9DSEVDSyM2CmlmIChmX2FyZy5sZW5ndGggIT09IDIpIHsKICAkRVJST1IoJyM2OiBmX2FyZyA9IGZ1bmN0aW9uKHgseSkge3JldHVybiBhcmd1bWVudHM7fSBmX2FyZy5sZW5ndGggPT09IDIuIEFjdHVhbDogJyArIChmX2FyZy5sZW5ndGgpKTsKfQoK",
"commentary":"Arguments : (ArgumentList)",
"description":"Function is declared with FormalParameterList",
"path":"TestCases/ch11/11.2/11.2.4/S11.2.4_A1.2_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBcmd1bWVudHMgOiAoQXJndW1lbnRMaXN0IDogQXJndW1lbnRMaXN0LCwgQXNzaWdubWVudEV4cHJlc3Npb24pIGlzIGEgYmFkIHN5bnRheAogKgogKiBAcGF0aCBjaDExLzExLjIvMTEuMi40L1MxMS4yLjRfQTEuM19UMS5qcwogKiBAZGVzY3JpcHRpb24gaW5jb3JyZWN0IHN5bnRheAogKiBAbmVnYXRpdmUKICovCgpmdW5jdGlvbiBmX2FyZygpIHsKfQoKZl9hcmcoMSwsMik7Cgo=",
"commentary":"Arguments : (ArgumentList : ArgumentList,, AssignmentExpression) is a bad syntax",
"description":"incorrect syntax",
"negative":"",
"path":"TestCases/ch11/11.2/11.2.4/S11.2.4_A1.3_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBcmd1bWVudHMgOiAoQXJndW1lbnRMaXN0IDogQXJndW1lbnRMaXN0LCBBc3NpZ25tZW50RXhwcmVzc2lvbikKICoKICogQHBhdGggY2gxMS8xMS4yLzExLjIuNC9TMTEuMi40X0ExLjRfVDEuanMKICogQGRlc2NyaXB0aW9uIFJldHVybiBhbiBpbnRlcm5hbCBsaXN0IHdob3NlIGxlbmd0aCBpcyBvbmUgZ3JlYXRlciB0aGFuIHRoZQogKiBsZW5ndGggb2YgQXJndW1lbnRMaXN0IGFuZCB3aG9zZSBpdGVtcyBhcmUgdGhlIGl0ZW1zIG9mIEFyZ3VtZW50TGlzdCwgaW4gb3JkZXIsCiAqIGZvbGxvd2VkIGF0IHRoZSBlbmQgYnkgR2V0VmFsdWUoQXNzaWdubWVudEV4cHJlc3Npb24pLCB3aGljaCBpcyB0aGUgbGFzdCBpdGVtIG9mCiAqIHRoZSBuZXcgbGlzdAogKi8KCmZ1bmN0aW9uIGZfYXJnKCkgewp9CgovL0NIRUNLIzEKZl9hcmcoeD0xLHgpOwoK",
"commentary":"Arguments : (ArgumentList : ArgumentList, AssignmentExpression)",
"description":"Return an internal list whose length is one greater than the\nlength of ArgumentList and whose items are the items of ArgumentList, in order,\nfollowed at the end by GetValue(AssignmentExpression), which is the last item of\nthe new list",
"path":"TestCases/ch11/11.2/11.2.4/S11.2.4_A1.4_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBcmd1bWVudHMgOiAoQXJndW1lbnRMaXN0IDogQXJndW1lbnRMaXN0LCBBc3NpZ25tZW50RXhwcmVzc2lvbikKICoKICogQHBhdGggY2gxMS8xMS4yLzExLjIuNC9TMTEuMi40X0ExLjRfVDIuanMKICogQGRlc2NyaXB0aW9uIFJldHVybiBhbiBpbnRlcm5hbCBsaXN0IHdob3NlIGxlbmd0aCBpcyBvbmUgZ3JlYXRlciB0aGFuIHRoZQogKiBsZW5ndGggb2YgQXJndW1lbnRMaXN0IGFuZCB3aG9zZSBpdGVtcyBhcmUgdGhlIGl0ZW1zIG9mIEFyZ3VtZW50TGlzdCwgaW4gb3JkZXIsCiAqIGZvbGxvd2VkIGF0IHRoZSBlbmQgYnkgR2V0VmFsdWUoQXNzaWdubWVudEV4cHJlc3Npb24pLCB3aGljaCBpcyB0aGUgbGFzdCBpdGVtIG9mCiAqIHRoZSBuZXcgbGlzdAogKi8KCmZ1bmN0aW9uIGZfYXJnKCkgewp9CgovL0NIRUNLIzEKdHJ5IHsKICBmX2FyZyh4LHg9MSk7CiAgJEVSUk9SKCcjMS4xOiBmdW5jdGlvbiBmX2FyZygpIHt9IGZfYXJnKHgseD0xKSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGZfYXJnKHgseD0xKSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogZnVuY3Rpb24gZl9hcmcoKSB7fSBmX2FyZyh4LHg9MSkgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7ICAKICB9Cn0KCg==",
"commentary":"Arguments : (ArgumentList : ArgumentList, AssignmentExpression)",
"description":"Return an internal list whose length is one greater than the\nlength of ArgumentList and whose items are the items of ArgumentList, in order,\nfollowed at the end by GetValue(AssignmentExpression), which is the last item of\nthe new list",
"path":"TestCases/ch11/11.2/11.2.4/S11.2.4_A1.4_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBcmd1bWVudHMgOiAoQXJndW1lbnRMaXN0IDogQXJndW1lbnRMaXN0LCBBc3NpZ25tZW50RXhwcmVzc2lvbikKICoKICogQHBhdGggY2gxMS8xMS4yLzExLjIuNC9TMTEuMi40X0ExLjRfVDMuanMKICogQGRlc2NyaXB0aW9uIFJldHVybiBhbiBpbnRlcm5hbCBsaXN0IHdob3NlIGxlbmd0aCBpcyBvbmUgZ3JlYXRlciB0aGFuIHRoZQogKiBsZW5ndGggb2YgQXJndW1lbnRMaXN0IGFuZCB3aG9zZSBpdGVtcyBhcmUgdGhlIGl0ZW1zIG9mIEFyZ3VtZW50TGlzdCwgaW4gb3JkZXIsCiAqIGZvbGxvd2VkIGF0IHRoZSBlbmQgYnkgR2V0VmFsdWUoQXNzaWdubWVudEV4cHJlc3Npb24pLCB3aGljaCBpcyB0aGUgbGFzdCBpdGVtIG9mCiAqIHRoZSBuZXcgbGlzdAogKi8KCmZ1bmN0aW9uIGZfYXJnKHgseSx6KSB7CiAgcmV0dXJuIHo7Cn0KCi8vQ0hFQ0sjMQppZiAoZl9hcmcoeD0xLHk9eCx4K3kpICE9PSAyKSB7CiAgJEVSUk9SKCcjMTogZnVuY3Rpb24gZl9hcmcoeCx5LHopIHtyZXR1cm4gejt9IGZfYXJnKHg9MSx5PXgseCt5KSA9PT0gMi4gQWN0dWFsOiAnICsgKGZfYXJnKHg9MSx5PXgseCt5KSkpOyAgICAKfQoK",
"commentary":"Arguments : (ArgumentList : ArgumentList, AssignmentExpression)",
"description":"Return an internal list whose length is one greater than the\nlength of ArgumentList and whose items are the items of ArgumentList, in order,\nfollowed at the end by GetValue(AssignmentExpression), which is the last item of\nthe new list",
"path":"TestCases/ch11/11.2/11.2.4/S11.2.4_A1.4_T3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBcmd1bWVudHMgOiAoQXJndW1lbnRMaXN0IDogQXJndW1lbnRMaXN0LCBBc3NpZ25tZW50RXhwcmVzc2lvbikKICoKICogQHBhdGggY2gxMS8xMS4yLzExLjIuNC9TMTEuMi40X0ExLjRfVDQuanMKICogQGRlc2NyaXB0aW9uIFJldHVybiBhbiBpbnRlcm5hbCBsaXN0IHdob3NlIGxlbmd0aCBpcyBvbmUgZ3JlYXRlciB0aGFuIHRoZQogKiBsZW5ndGggb2YgQXJndW1lbnRMaXN0IGFuZCB3aG9zZSBpdGVtcyBhcmUgdGhlIGl0ZW1zIG9mIEFyZ3VtZW50TGlzdCwgaW4gb3JkZXIsCiAqIGZvbGxvd2VkIGF0IHRoZSBlbmQgYnkgR2V0VmFsdWUoQXNzaWdubWVudEV4cHJlc3Npb24pLCB3aGljaCBpcyB0aGUgbGFzdCBpdGVtIG9mCiAqIHRoZSBuZXcgbGlzdAogKi8KCnZhciB4ID0gZnVuY3Rpb24gKCkgeyB0aHJvdyAieCI7IH07CnZhciB5ID0gZnVuY3Rpb24gKCkgeyB0aHJvdyAieSI7IH07CgpmdW5jdGlvbiBmX2FyZygpIHsKfQoKLy9DSEVDSyMxCnRyeSB7CiAgZl9hcmcoeCgpLHkoKSk7CiAgJEVSUk9SKCcjMS4xOiB2YXIgeCA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieCI7IH0gfTsgdmFyIHkgPSB7IHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9IH07IGZ1bmN0aW9uIGZfYXJnKCkge30gZl9hcmcoeCgpLHkoKSkgdGhyb3cgIngiLiBBY3R1YWw6ICcgKyAoZl9hcmcoeCgpLHkoKSkpKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKGUgPT09ICJ5IikgewogICAgICRFUlJPUignIzEuMjogRmlyc3QgYXJndW1lbnQgaXMgZXZhbHVhdGVkIGZpcnN0LCBhbmQgdGhlbiBzZWNvbmQgYXJndW1lbnQnKTsKICAgfSBlbHNlIHsKICAgICBpZiAoZSAhPT0gIngiKSB7CiAgICAgICAkRVJST1IoJyMxLjM6IHZhciB4ID0geyB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfSB9OyB2YXIgeSA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieSI7IH0gfTsgZnVuY3Rpb24gZl9hcmcoKSB7fSBmX2FyZyh4KCkseSgpKSB0aHJvdyAieCIuIEFjdHVhbDogJyArIChlKSk7CiAgICAgfQogICB9Cn0KCg==",
"commentary":"Arguments : (ArgumentList : ArgumentList, AssignmentExpression)",
"description":"Return an internal list whose length is one greater than the\nlength of ArgumentList and whose items are the items of ArgumentList, in order,\nfollowed at the end by GetValue(AssignmentExpression), which is the last item of\nthe new list",
"path":"TestCases/ch11/11.2/11.2.4/S11.2.4_A1.4_T4.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4zLzExLjMuMS8xMS4zLjEtMi0xLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIHRocm93biBpZiB0aGUgaWRlbnRpZmllciAnYXJndW1lbnRzJyBhcHBlYXIgYXMgYSBQb3N0Zml4RXhwcmVzc2lvbihhcmd1bWVudHMrKykNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgYmxhaCA9IGFyZ3VtZW50czsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoImFyZ3VtZW50cysrOyIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yICYmIGJsYWggPT09IGFyZ3VtZW50czsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==",
"commentary":"",
"description":"Strict Mode - SyntaxError is thrown if the identifier 'arguments' appear as a PostfixExpression(arguments++)",
"onlyStrict":"",
"path":"TestCases/ch11/11.3/11.3.1/11.3.1-2-1-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4zLzExLjMuMS8xMS4zLjEtMi0xZ3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIHRocm93IGlmIHRoZSBpZGVudGlmaWVyIGFyZ3VtZW50cyBhcHBlYXIgYXMgYSBQb3N0Zml4RXhwcmVzc2lvbihhcmd1bWVudHMrKykNCiAqIEBvbmx5U3RyaWN0DQogKiBAbmVnYXRpdmUgXigoPyFOb3RFYXJseUVycm9yKS4pKiQNCiAqLw0KDQoidXNlIHN0cmljdCI7DQp0aHJvdyBOb3RFYXJseUVycm9yOw0KYXJndW1lbnRzKys7DQo=",
"commentary":"",
"description":"Strict Mode - SyntaxError is throw if the identifier arguments appear as a PostfixExpression(arguments++)",
"negative":"^((?!NotEarlyError).)*$",
"onlyStrict":"",
"path":"TestCases/ch11/11.3/11.3.1/11.3.1-2-1gs.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4zLzExLjMuMS8xMS4zLjEtMi0yLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIHRocm93biBpZiB0aGUgaWRlbnRpZmllciAnZXZhbCcgYXBwZWFyIGFzIGEgUG9zdGZpeEV4cHJlc3Npb24oZXZhbCsrKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBibGFoID0gZXZhbDsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoImV2YWwrKzsiKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvciAmJiBibGFoID09PSBldmFsOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K",
"commentary":"",
"description":"Strict Mode - SyntaxError is thrown if the identifier 'eval' appear as a PostfixExpression(eval++)",
"onlyStrict":"",
"path":"TestCases/ch11/11.3/11.3.1/11.3.1-2-2-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4zLzExLjMuMS8xMS4zLjEtMi0zLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIG5vdCB0aHJvd24gaWYgdGhlIGlkZW50aWZpZXIgJ2FyZ3VtZW50c1suLi5dJyBhcHBlYXJzIGFzIGEgUG9zdGZpeEV4cHJlc3Npb24oYXJndW1lbnRzKyspDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgYXJndW1lbnRzWzFdID0gNzsNCiAgICAgICAgYXJndW1lbnRzWzFdKys7DQogICAgICAgIHJldHVybiBhcmd1bWVudHNbMV09PT04Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==",
"commentary":"",
"description":"Strict Mode - SyntaxError is not thrown if the identifier 'arguments[...]' appears as a PostfixExpression(arguments++)",
"onlyStrict":"",
"path":"TestCases/ch11/11.3/11.3.1/11.3.1-2-3-s.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBMaW5lIFRlcm1pbmF0b3IgYmV0d2VlbiBMZWZ0SGFuZFNpZGVFeHByZXNzaW9uIGFuZCAiKysiIGlzIG5vdCBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTEvMTEuMy8xMS4zLjEvUzExLjMuMV9BMS4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBMaW5lIEZlZWQKICogQG5lZ2F0aXZlCiAqLwoKLy9DSEVDSyMxCmV2YWwoInZhciB4ID0gMTsgeFx1MDAwQSsrIik7Cgo=",
"commentary":"Line Terminator between LeftHandSideExpression and \"++\" is not allowed",
"description":"Checking Line Feed",
"negative":"",
"path":"TestCases/ch11/11.3/11.3.1/S11.3.1_A1.1_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBMaW5lIFRlcm1pbmF0b3IgYmV0d2VlbiBMZWZ0SGFuZFNpZGVFeHByZXNzaW9uIGFuZCAiKysiIGlzIG5vdCBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTEvMTEuMy8xMS4zLjEvUzExLjMuMV9BMS4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDYXJyaWFnZSBSZXR1cm4KICogQG5lZ2F0aXZlCiAqLwoKLy9DSEVDSyMxCmV2YWwoInZhciB4ID0gMTsgeFx1MDAwRCsrIik7Cgo=",
"commentary":"Line Terminator between LeftHandSideExpression and \"++\" is not allowed",
"description":"Carriage Return",
"negative":"",
"path":"TestCases/ch11/11.3/11.3.1/S11.3.1_A1.1_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBMaW5lIFRlcm1pbmF0b3IgYmV0d2VlbiBMZWZ0SGFuZFNpZGVFeHByZXNzaW9uIGFuZCAiKysiIGlzIG5vdCBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTEvMTEuMy8xMS4zLjEvUzExLjMuMV9BMS4xX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBMaW5lIFNlcHJhdG9yCiAqIEBuZWdhdGl2ZQogKi8KCi8vQ0hFQ0sjMQpldmFsKCJ2YXIgeCA9IDE7IHhcdTIwMjgrKyIpOwoK",
"commentary":"Line Terminator between LeftHandSideExpression and \"++\" is not allowed",
"description":"Checking Line Seprator",
"negative":"",
"path":"TestCases/ch11/11.3/11.3.1/S11.3.1_A1.1_T3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBMaW5lIFRlcm1pbmF0b3IgYmV0d2VlbiBMZWZ0SGFuZFNpZGVFeHByZXNzaW9uIGFuZCAiKysiIGlzIG5vdCBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTEvMTEuMy8xMS4zLjEvUzExLjMuMV9BMS4xX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBQYXJhZ3JhcGggc2VwYXJhdG9yCiAqIEBuZWdhdGl2ZQogKi8KCi8vQ0hFQ0sjMQpldmFsKCJ2YXIgeCA9IDE7IHhcdTIwMjkrKyIpOwoK",
"commentary":"Line Terminator between LeftHandSideExpression and \"++\" is not allowed",
"description":"Checking Paragraph separator",
"negative":"",
"path":"TestCases/ch11/11.3/11.3.1/S11.3.1_A1.1_T4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBiZXR3ZWVuIExlZnRIYW5kU2lkZUV4cHJlc3Npb24gYW5kICIrKyIgYXJlIGFsbG93ZWQKICoKICogQHBhdGggY2gxMS8xMS4zLzExLjMuMS9TMTEuMy4xX0ExLjJfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGJ5IHVzaW5nIGV2YWwKICovCgovL0NIRUNLIzEKaWYgKGV2YWwoInZhciB4ID0gMDsgeFx1MDAwOSsrOyB4IikgIT09IDEpIHsKCSRFUlJPUignIzE6IHZhciB4ID0gMDsgeFxcdTAwMDkrKzsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCmlmIChldmFsKCJ2YXIgeCA9IDA7IHhcdTAwMEIrKzsgeCIpICE9PSAxKSB7CgkkRVJST1IoJyMyOiB2YXIgeCA9IDA7IHhcXHUwMDBCKys7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7CQp9CgovL0NIRUNLIzMKaWYgKGV2YWwoInZhciB4ID0gMDsgeFx1MDAwQysrOyB4IikgIT09IDEpIHsKCSRFUlJPUignIzM6IHZhciB4ID0gMDsgeFxcdTAwMEMrKzsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CmlmIChldmFsKCJ2YXIgeCA9IDA7IHhcdTAwMjArKzsgeCIpICE9PSAxKSB7CgkkRVJST1IoJyM0OiB2YXIgeCA9IDA7IHhcXHUwMDIwKys7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNQppZiAoZXZhbCgidmFyIHggPSAwOyB4XHUwMEEwKys7IHgiKSAhPT0gMSkgewoJJEVSUk9SKCcjNTogdmFyIHggPSAwOyB4XFx1MDBBMCsrOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzYKaWYgKGV2YWwoInZhciB4ID0gMDsgeFx1MDAwOVx1MDAwQlx1MDAwQ1x1MDAyMFx1MDBBMCsrOyB4IikgIT09IDEpIHsKICAgICRFUlJPUignIzY6IHZhciB4ID0gMDsgeFxcdTAwMDlcXHUwMDBCXFx1MDAwQ1xcdTAwMjBcXHUwMEEwKys7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==",
"commentary":"White Space between LeftHandSideExpression and \"++\" are allowed",
"description":"Checking by using eval",
"path":"TestCases/ch11/11.3/11.3.1/S11.3.1_A1.2_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4KysgdXNlcyBHZXRWYWx1ZSBhbmQgUHV0VmFsdWUKICoKICogQHBhdGggY2gxMS8xMS4zLzExLjMuMS9TMTEuMy4xX0EyLjFfVDEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgUmVmZXJlbmNlIGFuZCBHZXRCYXNlKHgpIGlzIG5vdCBudWxsCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gMTsKdmFyIHkgPSB4Kys7CmlmICh5ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSAxOyB2YXIgeSA9IHgrKzsgeSA9PT0gMS4gQWN0dWFsOiAnICsgKHkpKTsKfSBlbHNlIHsKICBpZiAoeCAhPT0gMSArIDEpIHsKICAgICRFUlJPUignIzE6IHZhciB4ID0gMTsgdmFyIHkgPSB4Kys7IHggPT09IDEgKyAxLiBBY3R1YWw6ICcgKyAoeCkpOwogIH0gCn0KCi8vQ0hFQ0sjMgp0aGlzLnggPSAxOwp2YXIgeSA9IHRoaXMueCsrOyAKaWYgKHkgIT09IDEpIHsKICAkRVJST1IoJyMyOiB0aGlzLnggPSAxOyB2YXIgeSA9IHRoaXMueCsrOyB5ID09PSAxLiBBY3R1YWw6ICcgKyAoeSkpOwp9IGVsc2UgewogIGlmICh0aGlzLnggIT09IDEgKyAxKSB7CiAgICAkRVJST1IoJyMyOiB0aGlzLnggPSAxOyB2YXIgeSA9IHRoaXMueCsrOyB0aGlzLnggPT09IDEgKyAxLiBBY3R1YWw6ICcgKyAodGhpcy54KSk7CiAgfSAKfQoKLy9DSEVDSyMzCnZhciBvYmplY3QgPSBuZXcgT2JqZWN0KCk7Cm9iamVjdC5wcm9wID0gMTsKdmFyIHkgPSBvYmplY3QucHJvcCsrOwppZiAoeSAhPT0gMSkgewogICRFUlJPUignIzM6IHZhciBvYmplY3QgPSBuZXcgT2JqZWN0KCk7IG9iamVjdC5wcm9wID0gMTsgdmFyIHkgPSBvYmplY3QucHJvcCsrOyB5ID09PSAxLiBBY3R1YWw6ICcgKyAoeSkpOwp9IGVsc2UgewogIGlmICh0aGlzLnggIT09IDEgKyAxKSB7CiAgICAkRVJST1IoJyMzOiB2YXIgb2JqZWN0ID0gbmV3IE9iamVjdCgpOyBvYmplY3QucHJvcCA9IDE7IHZhciB5ID0gb2JqZWN0LnByb3ArKzsgb2JqZWN0LnByb3AgPT09IDEgKyAxLiBBY3R1YWw6ICcgKyAob2JqZWN0LnByb3ApKTsKICB9IAp9CgoKCg==",
"commentary":"Operator x++ uses GetValue and PutValue",
"description":"Type(x) is Reference and GetBase(x) is not null",
"path":"TestCases/ch11/11.3/11.3.1/S11.3.1_A2.1_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4KysgdXNlcyBHZXRWYWx1ZSBhbmQgUHV0VmFsdWUKICoKICogQHBhdGggY2gxMS8xMS4zLzExLjMuMS9TMTEuMy4xX0EyLjFfVDIuanMKICogQGRlc2NyaXB0aW9uIElmIEdldEJhc2UoeCkgaXMgbnVsbCwgdGhyb3cgUmVmZXJlbmNlRXJyb3IKICovCgovL0NIRUNLIzEKdHJ5IHsKICB4Kys7CiAgJEVSUk9SKCcjMS4xOiB4KysgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArICh4KyspKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IHgrKyB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoK",
"commentary":"Operator x++ uses GetValue and PutValue",
"description":"If GetBase(x) is null, throw ReferenceError",
"path":"TestCases/ch11/11.3/11.3.1/S11.3.1_A2.1_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4KysgdXNlcyBHZXRWYWx1ZSBhbmQgUHV0VmFsdWUKICoKICogQHBhdGggY2gxMS8xMS4zLzExLjMuMS9TMTEuMy4xX0EyLjFfVDMuanMKICogQGRlc2NyaXB0aW9uIElmIFR5cGUoeCkgaXMgbm90IFJlZmVyZW5jZSwgdGhyb3cgUmVmZXJlbmNlRXJyb3IgKG9yIFN5bnRheEVycm9yKQogKiBAbmVnYXRpdmUKICovCgovL0NIRUNLIzEKdHJ5IHsKICAxKys7CiAgJEVSUk9SKCcjMS4xOiAxKysgdGhyb3cgUmVmZXJlbmNlRXJyb3IgKG9yIFN5bnRheEVycm9yKS4gQWN0dWFsOiAnICsgKDErKykpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogMSsrIHRocm93IFJlZmVyZW5jZUVycm9yIChvciBTeW50YXhFcnJvcikuIEFjdHVhbDogJyArIChlKSk7ICAKICB9IGVsc2UgewogICAgMSsrOwogIH0KfQoK",
"commentary":"Operator x++ uses GetValue and PutValue",
"description":"If Type(x) is not Reference, throw ReferenceError (or SyntaxError)",
"negative":"",
"path":"TestCases/ch11/11.3/11.3.1/S11.3.1_A2.1_T3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4KysgdXNlcyBbW0RlZmF1bHQgVmFsdWVdXQogKgogKiBAcGF0aCBjaDExLzExLjMvMTEuMy4xL1MxMS4zLjFfQTIuMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gSWYgVHlwZSh2YWx1ZSkgaXMgT2JqZWN0LCBldmFsdWF0ZSBUb1ByaW1pdGl2ZSh2YWx1ZSwgTnVtYmVyKQogKi8KCi8vQ0hFQ0sjMQp2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07CnZhciB5ID0gb2JqZWN0Kys7CmlmICh5ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OyB2YXIgeSA9IG9iamVjdCsrOyB5ID09PSAxLiBBY3R1YWw6ICcgKyAoeSkpOwp9IGVsc2UgewogIGlmIChvYmplY3QgIT09IDEgKyAxKSB7CiAgICAkRVJST1IoJyMxOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07IG9iamVjdCsrOyBvYmplY3QgPT09IDEgKyAxLiBBY3R1YWw6ICcgKyAob2JqZWN0KSk7CiAgfQp9CgovL0NIRUNLIzIKdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19Owp2YXIgeSA9IG9iamVjdCsrOwppZiAoeSAhPT0gMSkgewogICRFUlJPUignIzI6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fTsgdmFyIHkgPSBvYmplY3QrKzsgeSA9PT0gMS4gQWN0dWFsOiAnICsgKHkpKTsKfSBlbHNlIHsKICBpZiAob2JqZWN0ICE9PSAxICsgMSkgewogICAgJEVSUk9SKCcjMjogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19OyBvYmplY3QrKzsgb2JqZWN0ID09PSAxICsgMS4gQWN0dWFsOiAnICsgKG9iamVjdCkpOwogIH0KfQoKLy9DSEVDSyMzCnZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07CnZhciB5ID0gb2JqZWN0Kys7CmlmICh5ICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsgdmFyIHkgPSBvYmplY3QrKzsgeSA9PT0gMS4gQWN0dWFsOiAnICsgKHkpKTsKfSBlbHNlIHsKICBpZiAob2JqZWN0ICE9PSAxICsgMSkgewogICAgJEVSUk9SKCcjMzogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsgb2JqZWN0Kys7IG9iamVjdCA9PT0gMSArIDEuIEFjdHVhbDogJyArIChvYmplY3QpKTsKICB9Cn0KCi8vQ0hFQ0sjNAp0cnkgewogIHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19OwogIHZhciB5ID0gb2JqZWN0Kys7CiAgaWYgKHkgIT09IDEpIHsKICAgICRFUlJPUignIzQuMTogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07IHZhciB5ID0gb2JqZWN0Kys7IHkgPT09IDEuIEFjdHVhbDogJyArICh5KSk7CiAgfSBlbHNlIHsKICAgIGlmIChvYmplY3QgIT09IDEgKyAxKSB7CiAgICAgICRFUlJPUignIzQuMjogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07IG9iamVjdCsrOyBvYmplY3QgPT09IDEgKyAxLiBBY3R1YWw6ICcgKyAob2JqZWN0KSk7CiAgICB9CiAgfQp9CmNhdGNoIChlKSB7CiAgaWYgKGUgPT09ICJlcnJvciIpIHsKICAgICRFUlJPUignIzQuMzogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07IHZhciB5ID0gb2JqZWN0Kys7IHkgbm90IHRocm93ICJlcnJvciInKTsKICB9IGVsc2UgewogICAgJEVSUk9SKCcjNC40OiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fTsgdmFyIHkgPSBvYmplY3QrKzsgeSBub3QgdGhyb3cgRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9CgovL0NIRUNLIzUKdmFyIG9iamVjdCA9IHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsKdmFyIHkgPSBvYmplY3QrKzsKaWYgKHkgIT09IDEpIHsKICAkRVJST1IoJyM1LjE6IHZhciBvYmplY3QgPSB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07IHZhciB5ID0gb2JqZWN0Kys7IHkgPT09IDEuIEFjdHVhbDogJyArICh5KSk7Cn0gIGVsc2UgewogIGlmIChvYmplY3QgIT09IDEgKyAxKSB7CiAgICAkRVJST1IoJyM1LjI6IHZhciBvYmplY3QgPSB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07IG9iamVjdCsrOyBvYmplY3QgPT09IDEgKyAxLiBBY3R1YWw6ICcgKyAob2JqZWN0KSk7CiAgfQp9CgoKLy9DSEVDSyM2CnZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0KdmFyIHkgPSBvYmplY3QrKzsKaWYgKHkgIT09IDEpIHsKICAkRVJST1IoJyM2LjE6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07IHZhciB5ID0gb2JqZWN0Kys7IHkgPT09IDEuIEFjdHVhbDogJyArICh5KSk7Cn0gZWxzZSB7CiAgaWYgKG9iamVjdCAhPT0gMSArIDEpIHsKICAgICRFUlJPUignIzYuMjogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsgb2JqZWN0Kys7IG9iamVjdCA9PT0gMSArIDEuIEFjdHVhbDogJyArIChvYmplY3QpKTsKICB9Cn0KCi8vQ0hFQ0sjNwp0cnkgewogIHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OwogIHZhciB5ID0gb2JqZWN0Kys7CiAgJEVSUk9SKCcjNy4xOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsgb2JqZWN0KysgdGhyb3cgImVycm9yIi4gQWN0dWFsOiAnICsgKHkpKTsKfSAgCmNhdGNoIChlKSB7CiAgaWYgKGUgIT09ICJlcnJvciIpIHsKICAgICRFUlJPUignIzcuMjogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07IG9iamVjdCsrIHRocm93ICJlcnJvciIuIEFjdHVhbDogJyArIChlKSk7CiAgfSAKfQoKLy9DSEVDSyM4CnRyeSB7CiAgdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07CiAgdmFyIHkgPSBvYmplY3QrKzsKICAkRVJST1IoJyM4LjE6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19OyBvYmplY3QrKyB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArICh5KSk7Cn0gIApjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzguMjogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07IG9iamVjdCsrIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9IAp9Cgo=",
"commentary":"Operator x++ uses [[Default Value]]",
"description":"If Type(value) is Object, evaluate ToPrimitive(value, Number)",
"path":"TestCases/ch11/11.3/11.3.1/S11.3.1_A2.2_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4KysgcmV0dXJucyB4ID0gVG9OdW1iZXIoeCkgKyAxCiAqCiAqIEBwYXRoIGNoMTEvMTEuMy8xMS4zLjEvUzExLjMuMV9BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBib29sZWFuIHByaW1pdGl2ZSBvciBCb29sZWFuIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IGZhbHNlOyAKeCsrOwppZiAoeCAhPT0gMCArIDEpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IGZhbHNlOyB4Kys7IHggPT09IDAgKyAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSBuZXcgQm9vbGVhbih0cnVlKTsgCngrKzsgCmlmICh4ICE9PSAxICsgMSkgewogICRFUlJPUignIzI6IHZhciB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHgrKzsgeCA9PT0gMSArIDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==",
"commentary":"Operator x++ returns x = ToNumber(x) + 1",
"description":"Type(x) is boolean primitive or Boolean object",
"path":"TestCases/ch11/11.3/11.3.1/S11.3.1_A3_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4KysgcmV0dXJucyB4ID0gVG9OdW1iZXIoeCkgKyAxCiAqCiAqIEBwYXRoIGNoMTEvMTEuMy8xMS4zLjEvUzExLjMuMV9BM19UMi5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBudW1iZXIgcHJpbWl0aXZlIG9yIE51bWJlciBvYmplY3QKICovCgovL0NIRUNLIzEKdmFyIHggPSAwLjE7IAp4Kys7CmlmICh4ICE9PSAwLjEgKyAxKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSAwLjE7IHgrKzsgeCA9PT0gMC4xICsgMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gbmV3IE51bWJlcigtMS4xKTsgCngrKzsKaWYgKHggIT09IC0xLjEgKyAxKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBuZXcgTnVtYmVyKC0xLjEpOyB4Kys7IHggPT09IC0xLjEgKyAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=",
"commentary":"Operator x++ returns x = ToNumber(x) + 1",
"description":"Type(x) is number primitive or Number object",
"path":"TestCases/ch11/11.3/11.3.1/S11.3.1_A3_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4KysgcmV0dXJucyB4ID0gVG9OdW1iZXIoeCkgKyAxCiAqCiAqIEBwYXRoIGNoMTEvMTEuMy8xMS4zLjEvUzExLjMuMV9BM19UMy5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBzdHJpbmcgcHJpbWl0aXZlIG9yIFN0cmluZyBvYmplY3QKICovCgovL0NIRUNLIzEKdmFyIHggPSAiMSI7IAp4Kys7CmlmICh4ICE9PSAxICsgMSkgewogICRFUlJPUignIzE6IHZhciB4ID0gIjEiOyB4Kys7IHggPT09IDEgKyAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAieCI7IAp4Kys7IAppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9ICJ4IjsgeCsrOyB4ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp2YXIgeCA9IG5ldyBOdW1iZXIoIi0xIik7IAp4Kys7IAppZiAoeCAhPT0gLTEgKyAxKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBuZXcgU3RyaW5nKCItMSIpOyB4Kys7IHggPT09IC0xICsgMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoK",
"commentary":"Operator x++ returns x = ToNumber(x) + 1",
"description":"Type(x) is string primitive or String object",
"path":"TestCases/ch11/11.3/11.3.1/S11.3.1_A3_T3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4KysgcmV0dXJucyB4ID0gVG9OdW1iZXIoeCkgKyAxCiAqCiAqIEBwYXRoIGNoMTEvMTEuMy8xMS4zLjEvUzExLjMuMV9BM19UNC5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyB1bmRlZmluZWQgb3IgbnVsbAogKi8KCi8vQ0hFQ0sjMQp2YXIgeDsgCngrKzsgCmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IHZhciB4OyB4Kys7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gbnVsbDsgCngrKzsgCmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBudWxsOyB4Kys7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==",
"commentary":"Operator x++ returns x = ToNumber(x) + 1",
"description":"Type(x) is undefined or null",
"path":"TestCases/ch11/11.3/11.3.1/S11.3.1_A3_T4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4KysgcmV0dXJucyB4ID0gVG9OdW1iZXIoeCkgKyAxCiAqCiAqIEBwYXRoIGNoMTEvMTEuMy8xMS4zLjEvUzExLjMuMV9BM19UNS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBPYmplY3Qgb2JqZWN0IG9yIEZ1bmN0aW9uIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IHt9OyAKeCsrOyAKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSB7fTsgeCsrOyB4ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgeCA9IGZ1bmN0aW9uKCl7cmV0dXJuIDF9OyAKeCsrOyAKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBmdW5jdGlvbigpe3JldHVybiAxfTsgeCsrOyB4ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==",
"commentary":"Operator x++ returns x = ToNumber(x) + 1",
"description":"Type(x) is Object object or Function object",
"path":"TestCases/ch11/11.3/11.3.1/S11.3.1_A3_T5.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4KysgcmV0dXJucyBUb051bWJlcih4KQogKgogKiBAcGF0aCBjaDExLzExLjMvMTEuMy4xL1MxMS4zLjFfQTRfVDEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgYm9vbGVhbiBwcmltaXRpdmUgb3IgQm9vbGVhbiBvYmplY3QKICovCgovL0NIRUNLIzEKdmFyIHggPSBmYWxzZTsKdmFyIHkgPSB4Kys7CmlmICh5ICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSBmYWxzZTsgdmFyIHkgPSB4Kys7IHkgPT09IDAuIEFjdHVhbDogJyArICh5KSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgeCA9IG5ldyBCb29sZWFuKHRydWUpOwp2YXIgeSA9IHgrKzsKaWYgKHkgIT09IDEpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IG5ldyBCb29sZWFuKHRydWUpOyB2YXIgeSA9IHgrKzsgeSA9PT0gMS4gQWN0dWFsOiAnICsgKHkpKTsKfQoK",
"commentary":"Operator x++ returns ToNumber(x)",
"description":"Type(x) is boolean primitive or Boolean object",
"path":"TestCases/ch11/11.3/11.3.1/S11.3.1_A4_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4KysgcmV0dXJucyBUb051bWJlcih4KQogKgogKiBAcGF0aCBjaDExLzExLjMvMTEuMy4xL1MxMS4zLjFfQTRfVDIuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgbnVtYmVyIHByaW1pdGl2ZSBvciBOdW1iZXIgb2JqZWN0CiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gLTAuMTsKdmFyIHkgPSB4Kys7CmlmICh5ICE9PSAtMC4xKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSAtMC4xOyB2YXIgeSA9IHgrKzsgeSA9PT0gLTAuMS4gQWN0dWFsOiAnICsgKHkpKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gbmV3IE51bWJlcigxLjEpOwp2YXIgeSA9IHgrKzsKaWYgKHkgIT09IDEuMSkgewogICRFUlJPUignIzI6IHZhciB4ID0gbmV3IE51bWJlcigxLjEpOyB2YXIgeSA9IHgrKzsgeSA9PT0gMS4xLiBBY3R1YWw6ICcgKyAoeSkpOwp9Cgo=",
"commentary":"Operator x++ returns ToNumber(x)",
"description":"Type(x) is number primitive or Number object",
"path":"TestCases/ch11/11.3/11.3.1/S11.3.1_A4_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4KysgcmV0dXJucyBUb051bWJlcih4KQogKgogKiBAcGF0aCBjaDExLzExLjMvMTEuMy4xL1MxMS4zLjFfQTRfVDMuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgc3RyaW5nIHByaW1pdGl2ZSBvciBTdHJpbmcgb2JqZWN0CiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gIjEiOwp2YXIgeSA9IHgrKzsKaWYgKHkgIT09IDEpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9ICIxIjsgdmFyIHkgPSB4Kys7IHkgPT09IDEuIEFjdHVhbDogJyArICh5KSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgeCA9ICJ4IjsKdmFyIHkgPSB4Kys7IAppZiAoaXNOYU4oeSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9ICJ4IjsgdmFyIHkgPSB4Kys7IHkgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHkpKTsKfQoKLy9DSEVDSyMzCnZhciB4ID0gbmV3IFN0cmluZygiLTEiKTsgCnZhciB5ID0geCsrOwppZiAoeSAhPT0gLTEpIHsKICAkRVJST1IoJyMzOiB2YXIgeCA9IG5ldyBTdHJpbmcoIi0xIik7IHZhciB5ID0geCsrOyB5ID09PSAtMS4gQWN0dWFsOiAnICsgKHkpKTsKfQoK",
"commentary":"Operator x++ returns ToNumber(x)",
"description":"Type(x) is string primitive or String object",
"path":"TestCases/ch11/11.3/11.3.1/S11.3.1_A4_T3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4KysgcmV0dXJucyBUb051bWJlcih4KQogKgogKiBAcGF0aCBjaDExLzExLjMvMTEuMy4xL1MxMS4zLjFfQTRfVDQuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgdW5kZWZpbmVkIG9yIG51bGwKICovCgovL0NIRUNLIzEKdmFyIHg7CnZhciB5ID0geCsrOwppZiAoaXNOYU4oeSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiB2YXIgeDsgdmFyIHkgPSB4Kys7IHkgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHkpKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gbnVsbDsKdmFyIHkgPSB4Kys7CmlmICh5ICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBudWxsOyB2YXIgeSA9IHgrKzsgeSA9PT0gMC4gQWN0dWFsOiAnICsgKHkpKTsKfQoK",
"commentary":"Operator x++ returns ToNumber(x)",
"description":"Type(x) is undefined or null",
"path":"TestCases/ch11/11.3/11.3.1/S11.3.1_A4_T4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4KysgcmV0dXJucyBUb051bWJlcih4KQogKgogKiBAcGF0aCBjaDExLzExLjMvMTEuMy4xL1MxMS4zLjFfQTRfVDUuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgT2JqZWN0IG9iamVjdCBvciBGdW5jdGlvbiBvYmplY3QKICovCgovL0NIRUNLIzEKdmFyIHggPSB7fTsgCnZhciB5ID0geCsrOwppZiAoaXNOYU4oeSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IHt9OyB2YXIgeSA9IHgrKzsgeSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeSkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSBmdW5jdGlvbigpe3JldHVybiAxfTsgCnZhciB5ID0geCsrOwppZiAoaXNOYU4oeSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IGZ1bmN0aW9uKCl7cmV0dXJuIDF9OyB2YXIgeSA9IHgrKzsgeSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeSkpOwp9Cgo=",
"commentary":"Operator x++ returns ToNumber(x)",
"description":"Type(x) is Object object or Function object",
"path":"TestCases/ch11/11.3/11.3.1/S11.3.1_A4_T5.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4zLzExLjMuMi8xMS4zLjItMi0xLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIHRocm93biBpZiB0aGUgaWRlbnRpZmllciAnYXJndW1lbnRzJyBhcHBlYXIgYXMgYSBQb3N0Zml4RXhwcmVzc2lvbihhcmd1bWVudHMtLSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgYmxhaCA9IGFyZ3VtZW50czsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoImFyZ3VtZW50cy0tOyIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yICYmIGJsYWggPT09IGFyZ3VtZW50czsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==",
"commentary":"",
"description":"Strict Mode - SyntaxError is thrown if the identifier 'arguments' appear as a PostfixExpression(arguments--)",
"onlyStrict":"",
"path":"TestCases/ch11/11.3/11.3.2/11.3.2-2-1-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4zLzExLjMuMi8xMS4zLjItMi0yLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIHRocm93biBpZiB0aGUgaWRlbnRpZmllciAnZXZhbCcgYXBwZWFyIGFzIGEgUG9zdGZpeEV4cHJlc3Npb24oZXZhbC0tKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBibGFoID0gZXZhbDsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoImV2YWwtLTsiKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvciAmJiBibGFoID09PSBldmFsOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K",
"commentary":"",
"description":"Strict Mode - SyntaxError is thrown if the identifier 'eval' appear as a PostfixExpression(eval--)",
"onlyStrict":"",
"path":"TestCases/ch11/11.3/11.3.2/11.3.2-2-2-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS4zLzExLjMuMi8xMS4zLjItMi0zLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIG5vdCB0aHJvd24gaWYgdGhlIGlkZW50aWZpZXIgJ2FyZ3VtZW50c1suLi5dJyBhcHBlYXJzIGFzIGEgUG9zdGZpeEV4cHJlc3Npb24oYXJndW1lbnRzLS0pDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgYXJndW1lbnRzWzFdID0gNzsNCiAgICAgICAgYXJndW1lbnRzWzFdLS07DQogICAgICAgIHJldHVybiBhcmd1bWVudHNbMV09PT02Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==",
"commentary":"",
"description":"Strict Mode - SyntaxError is not thrown if the identifier 'arguments[...]' appears as a PostfixExpression(arguments--)",
"onlyStrict":"",
"path":"TestCases/ch11/11.3/11.3.2/11.3.2-2-3-s.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBMaW5lIFRlcm1pbmF0b3IgYmV0d2VlbiBMZWZ0SGFuZFNpZGVFeHByZXNzaW9uIGFuZCAiLS0iIGlzIG5vdCBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTEvMTEuMy8xMS4zLjIvUzExLjMuMl9BMS4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBMaW5lIEZlZWQKICogQG5lZ2F0aXZlCiAqLwoKLy9DSEVDSyMxCmV2YWwoInZhciB4ID0gMTsgeFx1MDAwQS0tIik7Cgo=",
"commentary":"Line Terminator between LeftHandSideExpression and \"--\" is not allowed",
"description":"Checking Line Feed",
"negative":"",
"path":"TestCases/ch11/11.3/11.3.2/S11.3.2_A1.1_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBMaW5lIFRlcm1pbmF0b3IgYmV0d2VlbiBMZWZ0SGFuZFNpZGVFeHByZXNzaW9uIGFuZCAiLS0iIGlzIG5vdCBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTEvMTEuMy8xMS4zLjIvUzExLjMuMl9BMS4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBDYXJyaWFnZSBSZXR1cm4KICogQG5lZ2F0aXZlCiAqLwoKLy9DSEVDSyMxCmV2YWwoInZhciB4ID0gMTsgeFx1MDAwRC0tIik7Cgo=",
"commentary":"Line Terminator between LeftHandSideExpression and \"--\" is not allowed",
"description":"Checking Carriage Return",
"negative":"",
"path":"TestCases/ch11/11.3/11.3.2/S11.3.2_A1.1_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBMaW5lIFRlcm1pbmF0b3IgYmV0d2VlbiBMZWZ0SGFuZFNpZGVFeHByZXNzaW9uIGFuZCAiLS0iIGlzIG5vdCBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTEvMTEuMy8xMS4zLjIvUzExLjMuMl9BMS4xX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBQYWdlIHNlcGFyYXRvcgogKiBAbmVnYXRpdmUKICovCgovL0NIRUNLIzEKZXZhbCgidmFyIHggPSAxOyB4XHUyMDI4LS0iKTsKCg==",
"commentary":"Line Terminator between LeftHandSideExpression and \"--\" is not allowed",
"description":"Checking Page separator",
"negative":"",
"path":"TestCases/ch11/11.3/11.3.2/S11.3.2_A1.1_T3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBMaW5lIFRlcm1pbmF0b3IgYmV0d2VlbiBMZWZ0SGFuZFNpZGVFeHByZXNzaW9uIGFuZCAiLS0iIGlzIG5vdCBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTEvMTEuMy8xMS4zLjIvUzExLjMuMl9BMS4xX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBMaW5lIHNlcGFyYXRvcgogKiBAbmVnYXRpdmUKICovCgovL0NIRUNLIzEKZXZhbCgidmFyIHggPSAxOyB4XHUyMDI5LS0iKTsKCg==",
"commentary":"Line Terminator between LeftHandSideExpression and \"--\" is not allowed",
"description":"Checking Line separator",
"negative":"",
"path":"TestCases/ch11/11.3/11.3.2/S11.3.2_A1.1_T4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBiZXR3ZWVuIExlZnRIYW5kU2lkZUV4cHJlc3Npb24gYW5kICItLSIgYXJlIGFsbG93ZWQKICoKICogQHBhdGggY2gxMS8xMS4zLzExLjMuMi9TMTEuMy4yX0ExLjJfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGJ5IHVzaW5nIGV2YWwKICovCgovL0NIRUNLIzEKaWYgKGV2YWwoInZhciB4ID0gMDsgeFx1MDAwOS0tOyB4IikgIT09IC0xKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSAwOyB4XFx1MDAwOS0tOyB4ID09PSAtMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCmlmIChldmFsKCJ2YXIgeCA9IDA7IHhcdTAwMEItLTsgeCIpICE9PSAtMSkgewogICRFUlJPUignIzI6IHZhciB4ID0gMDsgeFxcdTAwMEItLTsgeCA9PT0gLTEuIEFjdHVhbDogJyArICh4KSk7ICAKfQoKLy9DSEVDSyMzCmlmIChldmFsKCJ2YXIgeCA9IDA7IHhcdTAwMEMtLTsgeCIpICE9PSAtMSkgewogICRFUlJPUignIzM6IHZhciB4ID0gMDsgeFxcdTAwMEMtLTsgeCA9PT0gLTEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAppZiAoZXZhbCgidmFyIHggPSAwOyB4XHUwMDIwLS07IHgiKSAhPT0gLTEpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IDA7IHhcXHUwMDIwLS07IHggPT09IC0xLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzUKaWYgKGV2YWwoInZhciB4ID0gMDsgeFx1MDBBMC0tOyB4IikgIT09IC0xKSB7CiAgJEVSUk9SKCcjNTogdmFyIHggPSAwOyB4XFx1MDBBMC0tOyB4ID09PSAtMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM2CmlmIChldmFsKCJ2YXIgeCA9IDA7IHhcdTAwMDlcdTAwMEJcdTAwMENcdTAwMjBcdTAwQTAtLTsgeCIpICE9PSAtMSkgewogICAgJEVSUk9SKCcjNjogdmFyIHggPSAwOyB4XFx1MDAwOVxcdTAwMEJcXHUwMDBDXFx1MDAyMFxcdTAwQTAtLTsgeCA9PT0gLTEuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==",
"commentary":"White Space between LeftHandSideExpression and \"--\" are allowed",
"description":"Checking by using eval",
"path":"TestCases/ch11/11.3/11.3.2/S11.3.2_A1.2_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4LS0gdXNlcyBHZXRWYWx1ZSBhbmQgUHV0VmFsdWUKICoKICogQHBhdGggY2gxMS8xMS4zLzExLjMuMi9TMTEuMy4yX0EyLjFfVDEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgUmVmZXJlbmNlIGFuZCBHZXRCYXNlKHgpIGlzIG5vdCBudWxsCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gMTsKaWYgKHgtLSAhPT0gMSkgewogICRFUlJPUignIzE6IHZhciB4ID0gMTsgeC0tID09PSAxLiBBY3R1YWw6ICcgKyAoeC0tKSk7Cn0gZWxzZSB7CiAgaWYgKHggIT09IDEgLSAxKSB7CiAgICAkRVJST1IoJyMxOiB2YXIgeCA9IDE7IHgtLTsgeCA9PT0gMSAtIDEuIEFjdHVhbDogJyArICh4KSk7CiAgfSAKfQoKLy9DSEVDSyMyCnRoaXMueCA9IDE7CmlmICh0aGlzLngtLSAhPT0gMSkgewogICRFUlJPUignIzI6IHRoaXMueCA9IDE7IHRoaXMueC0tID09PSAxLiBBY3R1YWw6ICcgKyAodGhpcy54LS0pKTsKfSBlbHNlIHsKICBpZiAodGhpcy54ICE9PSAxIC0gMSkgewogICAgJEVSUk9SKCcjMjogdGhpcy54ID0gMTsgdGhpcy54LS07IHRoaXMueCA9PT0gMSAtIDEuIEFjdHVhbDogJyArICh0aGlzLngpKTsKICB9IAp9CgovL0NIRUNLIzMKdmFyIG9iamVjdCA9IG5ldyBPYmplY3QoKTsKb2JqZWN0LnByb3AgPSAxOwppZiAob2JqZWN0LnByb3AtLSAhPT0gMSkgewogICRFUlJPUignIzM6IHZhciBvYmplY3QgPSBuZXcgT2JqZWN0KCk7IG9iamVjdC5wcm9wID0gMTsgb2JqZWN0LnByb3AtLSA9PT0gMS4gQWN0dWFsOiAnICsgKG9iamVjdC5wcm9wLS0pKTsKfSBlbHNlIHsKICBpZiAodGhpcy54ICE9PSAxIC0gMSkgewogICAgJEVSUk9SKCcjMzogdmFyIG9iamVjdCA9IG5ldyBPYmplY3QoKTsgb2JqZWN0LnByb3AgPSAxOyBvYmplY3QucHJvcC0tOyBvYmplY3QucHJvcCA9PT0gMSAtIDEuIEFjdHVhbDogJyArIChvYmplY3QucHJvcCkpOwogIH0gCn0KCg==",
"commentary":"Operator x-- uses GetValue and PutValue",
"description":"Type(x) is Reference and GetBase(x) is not null",
"path":"TestCases/ch11/11.3/11.3.2/S11.3.2_A2.1_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4LS0gdXNlcyBHZXRWYWx1ZSBhbmQgUHV0VmFsdWUKICoKICogQHBhdGggY2gxMS8xMS4zLzExLjMuMi9TMTEuMy4yX0EyLjFfVDIuanMKICogQGRlc2NyaXB0aW9uIElmIEdldEJhc2UoeCkgaXMgbnVsbCwgdGhyb3cgUmVmZXJlbmNlRXJyb3IKICovCgovL0NIRUNLIzEKdHJ5IHsKICB4LS07CiAgJEVSUk9SKCcjMS4xOiB4LS0gdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArICh4LS0pKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IHgtLSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoK",
"commentary":"Operator x-- uses GetValue and PutValue",
"description":"If GetBase(x) is null, throw ReferenceError",
"path":"TestCases/ch11/11.3/11.3.2/S11.3.2_A2.1_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4LS0gdXNlcyBHZXRWYWx1ZSBhbmQgUHV0VmFsdWUKICoKICogQHBhdGggY2gxMS8xMS4zLzExLjMuMi9TMTEuMy4yX0EyLjFfVDMuanMKICogQGRlc2NyaXB0aW9uIElmIFR5cGUoeCkgaXMgbm90IFJlZmVyZW5jZSwgdGhyb3cgUmVmZXJlbmNlRXJyb3IgKG9yIFN5bnRheEVycm9yKQogKiBAbmVnYXRpdmUKICovCgovL0NIRUNLIzEKdHJ5IHsKICAxLS07CiAgJEVSUk9SKCcjMS4xOiAxLS0gdGhyb3cgUmVmZXJlbmNlRXJyb3IgKG9yIFN5bnRheEVycm9yKS4gQWN0dWFsOiAnICsgKDEtLSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogMS0tIHRocm93IFJlZmVyZW5jZUVycm9yIChvciBTeW50YXhFcnJvcikuIEFjdHVhbDogJyArIChlKSk7ICAKICB9IGVsc2UgewogICAgMS0tOwogIH0KfQoK",
"commentary":"Operator x-- uses GetValue and PutValue",
"description":"If Type(x) is not Reference, throw ReferenceError (or SyntaxError)",
"negative":"",
"path":"TestCases/ch11/11.3/11.3.2/S11.3.2_A2.1_T3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4LS0gdXNlcyBbW0RlZmF1bHQgVmFsdWVdXQogKgogKiBAcGF0aCBjaDExLzExLjMvMTEuMy4yL1MxMS4zLjJfQTIuMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gSWYgVHlwZSh2YWx1ZSkgaXMgT2JqZWN0LCBldmFsdWF0ZSBUb1ByaW1pdGl2ZSh2YWx1ZSwgTnVtYmVyKQogKi8KCi8vQ0hFQ0sjMQp2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07CnZhciB5ID0gb2JqZWN0LS07CmlmICh5ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OyB2YXIgeSA9IG9iamVjdC0tOyB5ID09PSAxLiBBY3R1YWw6ICcgKyAoeSkpOwp9IGVsc2UgewogIGlmIChvYmplY3QgIT09IDEgLSAxKSB7CiAgICAkRVJST1IoJyMxOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07IG9iamVjdC0tOyBvYmplY3QgPT09IDEgLSAxLiBBY3R1YWw6ICcgKyAob2JqZWN0KSk7CiAgfQp9CgovL0NIRUNLIzIKdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19Owp2YXIgeSA9IG9iamVjdC0tOwppZiAoeSAhPT0gMSkgewogICRFUlJPUignIzI6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fTsgdmFyIHkgPSBvYmplY3QtLTsgeSA9PT0gMS4gQWN0dWFsOiAnICsgKHkpKTsKfSBlbHNlIHsKICBpZiAob2JqZWN0ICE9PSAxIC0gMSkgewogICAgJEVSUk9SKCcjMjogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19OyBvYmplY3QtLTsgb2JqZWN0ID09PSAxIC0gMS4gQWN0dWFsOiAnICsgKG9iamVjdCkpOwogIH0KfQoKLy9DSEVDSyMzCnZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07CnZhciB5ID0gb2JqZWN0LS07CmlmICh5ICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsgdmFyIHkgPSBvYmplY3QtLTsgeSA9PT0gMS4gQWN0dWFsOiAnICsgKHkpKTsKfSBlbHNlIHsKICBpZiAob2JqZWN0ICE9PSAxIC0gMSkgewogICAgJEVSUk9SKCcjMzogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsgb2JqZWN0LS07IG9iamVjdCA9PT0gMSAtIDEuIEFjdHVhbDogJyArIChvYmplY3QpKTsKICB9Cn0KCi8vQ0hFQ0sjNAp0cnkgewogIHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19OwogIHZhciB5ID0gb2JqZWN0LS07CiAgaWYgKHkgIT09IDEpIHsKICAgICRFUlJPUignIzQuMTogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07IHZhciB5ID0gb2JqZWN0LS07IHkgPT09IDEuIEFjdHVhbDogJyArICh5KSk7CiAgfSBlbHNlIHsKICAgIGlmIChvYmplY3QgIT09IDEgLSAxKSB7CiAgICAgICRFUlJPUignIzQuMjogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07IG9iamVjdC0tOyBvYmplY3QgPT09IDEgLSAxLiBBY3R1YWw6ICcgKyAob2JqZWN0KSk7CiAgICB9CiAgfQp9CmNhdGNoIChlKSB7CiAgaWYgKGUgPT09ICJlcnJvciIpIHsKICAgICRFUlJPUignIzQuMzogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07IHkgbm90IHRocm93ICJlcnJvciInKTsKICB9IGVsc2UgewogICAgJEVSUk9SKCcjNC40OiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fTsgeSBub3QgdGhyb3cgRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9CgovL0NIRUNLIzUKdmFyIG9iamVjdCA9IHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsKdmFyIHkgPSBvYmplY3QtLTsKaWYgKHkgIT09IDEpIHsKICAkRVJST1IoJyM1LjE6IHZhciBvYmplY3QgPSB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07IHZhciB5ID0gb2JqZWN0LS07IHkgPT09IDEuIEFjdHVhbDogJyArICh5KSk7Cn0gZWxzZSB7CiAgaWYgKG9iamVjdCAhPT0gMSAtIDEpIHsKICAgICRFUlJPUignIzUuMjogdmFyIG9iamVjdCA9IHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsgb2JqZWN0LS07IG9iamVjdCA9PT0gMSAtIDEuIEFjdHVhbDogJyArIChvYmplY3QpKTsKICB9Cn0KCgovL0NIRUNLIzYKdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fQp2YXIgeSA9IG9iamVjdC0tOwppZiAoeSAhPT0gMSkgewogICRFUlJPUignIzYuMTogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsgdmFyIHkgPSBvYmplY3QtLTsgeSA9PT0gMS4gQWN0dWFsOiAnICsgKHkpKTsKfSBlbHNlIHsKICBpZiAob2JqZWN0ICE9PSAxIC0gMSkgewogICAgJEVSUk9SKCcjNi4yOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OyBvYmplY3QtLTsgb2JqZWN0ID09PSAxIC0gMS4gQWN0dWFsOiAnICsgKG9iamVjdCkpOwogIH0KfQoKLy9DSEVDSyM3CnRyeSB7CiAgdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07CiAgdmFyIHkgPSBvYmplY3QtLTsKICAkRVJST1IoJyM3LjE6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OyBvYmplY3QtLSB0aHJvdyAiZXJyb3IiLiBBY3R1YWw6ICcgKyAoeSkpOwp9ICAKY2F0Y2ggKGUpIHsKICBpZiAoZSAhPT0gImVycm9yIikgewogICAgJEVSUk9SKCcjNy4yOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsgb2JqZWN0LS0gdGhyb3cgImVycm9yIi4gQWN0dWFsOiAnICsgKGUpKTsKICB9IAp9CgovL0NIRUNLIzgKdHJ5IHsKICB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsKICB2YXIgeSA9IG9iamVjdC0tOwogICRFUlJPUignIzguMTogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07IG9iamVjdC0tIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKHkpKTsKfSAgCmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjOC4yOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsgb2JqZWN0LS0gdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gCn0KCg==",
"commentary":"Operator x-- uses [[Default Value]]",
"description":"If Type(value) is Object, evaluate ToPrimitive(value, Number)",
"path":"TestCases/ch11/11.3/11.3.2/S11.3.2_A2.2_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4LS0gcmV0dXJucyB4ID0gVG9OdW1iZXIoeCkgLSAxCiAqCiAqIEBwYXRoIGNoMTEvMTEuMy8xMS4zLjIvUzExLjMuMl9BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBib29sZWFuIHByaW1pdGl2ZSBvciBCb29sZWFuIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IHRydWU7IAp4LS07CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSB0cnVlOyB4LS07IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgeCA9IG5ldyBCb29sZWFuKGZhbHNlKTsgCngtLTsKaWYgKHggIT09IDAgLSAxKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBuZXcgQm9vbGVhbihmYWxzZSk7IHgtLTsgeCA9PT0gMCAtIDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==",
"commentary":"Operator x-- returns x = ToNumber(x) - 1",
"description":"Type(x) is boolean primitive or Boolean object",
"path":"TestCases/ch11/11.3/11.3.2/S11.3.2_A3_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4LS0gcmV0dXJucyB4ID0gVG9OdW1iZXIoeCkgLSAxCiAqCiAqIEBwYXRoIGNoMTEvMTEuMy8xMS4zLjIvUzExLjMuMl9BM19UMi5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBudW1iZXIgcHJpbWl0aXZlIG9yIE51bWJlciBvYmplY3QKICovCgovL0NIRUNLIzEKdmFyIHggPSAxLjE7IAp4LS07CmlmICh4ICE9PSAxLjEgLSAxKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSAxLjE7IHgtLTsgeCA9PT0gMS4xIC0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gbmV3IE51bWJlcigtMC4xKTsgCngtLTsgCmlmICh4ICE9PSAtMC4xIC0gMSkgewogICRFUlJPUignIzI6IHZhciB4ID0gbmV3IE51bWJlcigtMC4xKTsgeC0tOyB4ID09PSAtMC4xIC0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoK",
"commentary":"Operator x-- returns x = ToNumber(x) - 1",
"description":"Type(x) is number primitive or Number object",
"path":"TestCases/ch11/11.3/11.3.2/S11.3.2_A3_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4LS0gcmV0dXJucyB4ID0gVG9OdW1iZXIoeCkgLSAxCiAqCiAqIEBwYXRoIGNoMTEvMTEuMy8xMS4zLjIvUzExLjMuMl9BM19UMy5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBzdHJpbmcgcHJpbWl0aXZlIG9yIFN0cmluZyBvYmplY3QKICovCgovL0NIRUNLIzEKdmFyIHggPSAiMSI7IAp4LS07IAppZiAoeCAhPT0gMSAtIDEpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9ICIxIjsgeC0tOyB4ID09PSAxIC0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gIngiOyAKeC0tOyAKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSAieCI7IHgtLTsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKdmFyIHggPSBuZXcgTnVtYmVyKCItMSIpOyAKeC0tOwppZiAoeCAhPT0gLTEgLSAxKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBuZXcgU3RyaW5nKCItMSIpOyB4LS07IHggPT09IC0xIC0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoK",
"commentary":"Operator x-- returns x = ToNumber(x) - 1",
"description":"Type(x) is string primitive or String object",
"path":"TestCases/ch11/11.3/11.3.2/S11.3.2_A3_T3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4LS0gcmV0dXJucyB4ID0gVG9OdW1iZXIoeCkgLSAxCiAqCiAqIEBwYXRoIGNoMTEvMTEuMy8xMS4zLjIvUzExLjMuMl9BM19UNC5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyB1bmRlZmluZWQgb3IgbnVsbAogKi8KCi8vQ0hFQ0sjMQp2YXIgeDsgCngtLTsKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogdmFyIHg7IHgtLTsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSBudWxsOyAKeC0tOwppZiAoeCAhPT0gLTEpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IG51bGw7IHgtLTsgeCA9PT0gLTEuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==",
"commentary":"Operator x-- returns x = ToNumber(x) - 1",
"description":"Type(x) is undefined or null",
"path":"TestCases/ch11/11.3/11.3.2/S11.3.2_A3_T4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4LS0gcmV0dXJucyB4ID0gVG9OdW1iZXIoeCkgLSAxCiAqCiAqIEBwYXRoIGNoMTEvMTEuMy8xMS4zLjIvUzExLjMuMl9BM19UNS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBPYmplY3Qgb2JqZWN0IG9yIEZ1bmN0aW9uIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IHt9OyAKeC0tOyAKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSB7fTsgeC0tOyB4ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgeCA9IGZ1bmN0aW9uKCl7cmV0dXJuIDF9OyAKeC0tOyAKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBmdW5jdGlvbigpe3JldHVybiAxfTsgeC0tOyB4ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==",
"commentary":"Operator x-- returns x = ToNumber(x) - 1",
"description":"Type(x) is Object object or Function object",
"path":"TestCases/ch11/11.3/11.3.2/S11.3.2_A3_T5.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4LS0gcmV0dXJucyBUb051bWJlcih4KQogKgogKiBAcGF0aCBjaDExLzExLjMvMTEuMy4yL1MxMS4zLjJfQTRfVDEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgYm9vbGVhbiBwcmltaXRpdmUgb3IgQm9vbGVhbiBvYmplY3QKICovCgovL0NIRUNLIzEKdmFyIHggPSB0cnVlOwp2YXIgeSA9IHgtLTsgCmlmICh5ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSB0cnVlOyB2YXIgeSA9IHgtLTsgeSA9PT0gMS4gQWN0dWFsOiAnICsgKHkpKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gbmV3IEJvb2xlYW4oZmFsc2UpOwp2YXIgeSA9IHgtLTsKaWYgKHkgIT09IDApIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IG5ldyBCb29sZWFuKGZhbHNlKTsgdmFyIHkgPSB4LS07IHkgPT09IDAuIEFjdHVhbDogJyArICh5KSk7Cn0KCg==",
"commentary":"Operator x-- returns ToNumber(x)",
"description":"Type(x) is boolean primitive or Boolean object",
"path":"TestCases/ch11/11.3/11.3.2/S11.3.2_A4_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4LS0gcmV0dXJucyBUb051bWJlcih4KQogKgogKiBAcGF0aCBjaDExLzExLjMvMTEuMy4yL1MxMS4zLjJfQTRfVDIuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgbnVtYmVyIHByaW1pdGl2ZSBvciBOdW1iZXIgb2JqZWN0CiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gMS4xOwp2YXIgeSA9IHgtLTsKaWYgKHkgIT09IDEuMSkgewogICRFUlJPUignIzE6IHZhciB4ID0gMS4xOyB2YXIgeSA9IHgtLTsgeSA9PT0gMS4xLiBBY3R1YWw6ICcgKyAoeSkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSBuZXcgTnVtYmVyKC0wLjEpOwp2YXIgeSA9IHgtLTsKaWYgKHkgIT09IC0wLjEpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IG5ldyBOdW1iZXIoLTAuMSk7IHZhciB5ID0geC0tOyB5ID09PSAtMC4xLiBBY3R1YWw6ICcgKyAoeSkpOwp9Cgo=",
"commentary":"Operator x-- returns ToNumber(x)",
"description":"Type(x) is number primitive or Number object",
"path":"TestCases/ch11/11.3/11.3.2/S11.3.2_A4_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4LS0gcmV0dXJucyBUb051bWJlcih4KQogKgogKiBAcGF0aCBjaDExLzExLjMvMTEuMy4yL1MxMS4zLjJfQTRfVDMuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgc3RyaW5nIHByaW1pdGl2ZSBvciBTdHJpbmcgb2JqZWN0CiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gIjEiOyAKdmFyIHkgPSB4LS07CmlmICh5ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSAiMSI7IHZhciB5ID0geC0tOyB5ID09PSAxLiBBY3R1YWw6ICcgKyAoeSkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAieCI7CnZhciB5ID0geC0tOwppZiAoaXNOYU4oeSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9ICJ4IjsgdmFyIHkgPSB4LS07IHkgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHkpKTsKfQoKLy9DSEVDSyMzCnZhciB4ID0gbmV3IFN0cmluZygiLTEiKTsKdmFyIHkgPSB4LS07CmlmICh5ICE9PSAtMSkgewogICRFUlJPUignIzM6IHZhciB4ID0gbmV3IFN0cmluZygiLTEiKTsgdmFyIHkgPSB4LS07IHkgPT09IC0xLiBBY3R1YWw6ICcgKyAoeSkpOwp9Cgo=",
"commentary":"Operator x-- returns ToNumber(x)",
"description":"Type(x) is string primitive or String object",
"path":"TestCases/ch11/11.3/11.3.2/S11.3.2_A4_T3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4LS0gcmV0dXJucyBUb051bWJlcih4KQogKgogKiBAcGF0aCBjaDExLzExLjMvMTEuMy4yL1MxMS4zLjJfQTRfVDQuanMKICogQGRlc2NyaXB0aW9uIElmIFR5cGUoeCkgaXMgdW5kZWZpbmVkIG9yIG51bGwKICovCgovL0NIRUNLIzEKdmFyIHg7IAp2YXIgeSA9IHgtLTsKaWYgKGlzTmFOKHkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogdmFyIHg7IHZhciB5ID0geC0tOyB5ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh5KSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgeCA9IG51bGw7CnZhciB5ID0geC0tOwppZiAoeSAhPT0gMCkgewogICRFUlJPUignIzI6IHZhciB4ID0gbnVsbDsgdmFyIHkgPSB4LS07IHkgPT09IDAuIEFjdHVhbDogJyArICh5KSk7Cn0KCg==",
"commentary":"Operator x-- returns ToNumber(x)",
"description":"If Type(x) is undefined or null",
"path":"TestCases/ch11/11.3/11.3.2/S11.3.2_A4_T4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4LS0gcmV0dXJucyBUb051bWJlcih4KQogKgogKiBAcGF0aCBjaDExLzExLjMvMTEuMy4yL1MxMS4zLjJfQTRfVDUuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgT2JqZWN0IG9iamVjdCBvciBGdW5jdGlvbiBvYmplY3QKICovCgovL0NIRUNLIzEKdmFyIHggPSB7fTsKdmFyIHkgPSB4LS07IAppZiAoaXNOYU4oeSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IHt9OyB2YXIgeSA9IHgtLTsgeSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeSkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSBmdW5jdGlvbigpe3JldHVybiAxfTsKdmFyIHkgPSB4LS07IAppZiAoaXNOYU4oeSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IGZ1bmN0aW9uKCl7cmV0dXJuIDF9OyB2YXIgeSA9IHgtLTsgeSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeSkpOwp9Cgo=",
"commentary":"Operator x-- returns ToNumber(x)",
"description":"Type(x) is Object object or Function object",
"path":"TestCases/ch11/11.3/11.3.2/S11.3.2_A4_T5.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogVGhpcyB0ZXN0IGlzIGFjdHVhbGx5IHRlc3RpbmcgdGhlIFtbRGVsZXRlXV0gaW50ZXJuYWwgbWV0aG9kICg4LjEyLjgpLiBTaW5jZSB0aGUNCiAqIGxhbmd1YWdlIHByb3ZpZGVzIG5vIHdheSB0byBkaXJlY3RseSBleGVyY2lzZSBbW0RlbGV0ZV1dLCB0aGUgdGVzdHMgYXJlIHBsYWNlZCBoZXJlLg0KICoNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTAtMS5qcw0KICogQGRlc2NyaXB0aW9uIGRlbGV0ZSBvcGVyYXRvciBhcyBVbmFyeUV4cHJlc3Npb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgeCA9IDE7DQogIHZhciB5ID0gMjsNCiAgdmFyIHogPSAzOw0KICANCiAgaWYoICghZGVsZXRlIHggfHwgZGVsZXRlIHkpICYmDQogICAgICBkZWxldGUgZGVsZXRlIHopDQogIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfSAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K",
"commentary":"This test is actually testing the [[Delete]] internal method (8.12.8). Since the\nlanguage provides no way to directly exercise [[Delete]], the tests are placed here.",
"description":"delete operator as UnaryExpression",
"path":"TestCases/ch11/11.4/11.4.1/11.4.1-0-1.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS40LzExLjQuMS8xMS40LjEtMi0xLmpzDQogKiBAZGVzY3JpcHRpb24gZGVsZXRlIG9wZXJhdG9yIHJldHVybnMgdHJ1ZSB3aGVuIGRlbGV0aW5nIGEgbm9uLXJlZmVyZW5jZSAobnVtYmVyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkID0gZGVsZXRlIDQyOw0KICBpZiAoZCA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K",
"commentary":"",
"description":"delete operator returns true when deleting a non-reference (number)",
"path":"TestCases/ch11/11.4/11.4.1/11.4.1-2-1.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS40LzExLjQuMS8xMS40LjEtMi0yLmpzDQogKiBAZGVzY3JpcHRpb24gZGVsZXRlIG9wZXJhdG9yIHJldHVybnMgdHJ1ZSB3aGVuIGRlbGV0aW5nIHJldHVybmVkIHZhbHVlIGZyb20gYSBmdW5jdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBiSXNGb29DYWxsZWQgPSBmYWxzZTsNCiAgdmFyIGZvbyA9IGZ1bmN0aW9uKCl7YklzRm9vQ2FsbGVkID0gdHJ1ZTt9Ow0KDQogIHZhciBkID0gZGVsZXRlIGZvbygpOw0KICBpZihkID09PSB0cnVlICYmIGJJc0Zvb0NhbGxlZCA9PT0gdHJ1ZSkNCiAgICByZXR1cm4gdHJ1ZTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=",
"commentary":"",
"description":"delete operator returns true when deleting returned value from a function",
"path":"TestCases/ch11/11.4/11.4.1/11.4.1-2-2.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS40LzExLjQuMS8xMS40LjEtMi0zLmpzDQogKiBAZGVzY3JpcHRpb24gZGVsZXRlIG9wZXJhdG9yIHJldHVybnMgdHJ1ZSB3aGVuIGRlbGV0aW5nIGEgbm9uLXJlZmVyZW5jZSAoYm9vbGVhbikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZCA9IGRlbGV0ZSB0cnVlOw0KICBpZiAoZCA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K",
"commentary":"",
"description":"delete operator returns true when deleting a non-reference (boolean)",
"path":"TestCases/ch11/11.4/11.4.1/11.4.1-2-3.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS40LzExLjQuMS8xMS40LjEtMi00LmpzDQogKiBAZGVzY3JpcHRpb24gZGVsZXRlIG9wZXJhdG9yIHJldHVybnMgdHJ1ZSB3aGVuIGRlbGV0aW5nIGEgbm9uLXJlZmVyZW5jZSAoc3RyaW5nKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkID0gZGVsZXRlICJhYmMiOw0KICBpZiAoZCA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K",
"commentary":"",
"description":"delete operator returns true when deleting a non-reference (string)",
"path":"TestCases/ch11/11.4/11.4.1/11.4.1-2-4.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS40LzExLjQuMS8xMS40LjEtMi01LmpzDQogKiBAZGVzY3JpcHRpb24gZGVsZXRlIG9wZXJhdG9yIHJldHVybnMgdHJ1ZSB3aGVuIGRlbGV0aW5nIGEgbm9uLXJlZmVyZW5jZSAob2JqKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkID0gZGVsZXRlIHthOjB9IDsNCiAgaWYgKGQgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==",
"commentary":"",
"description":"delete operator returns true when deleting a non-reference (obj)",
"path":"TestCases/ch11/11.4/11.4.1/11.4.1-2-5.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS40LzExLjQuMS8xMS40LjEtMi02LmpzDQogKiBAZGVzY3JpcHRpb24gZGVsZXRlIG9wZXJhdG9yIHJldHVybnMgdHJ1ZSB3aGVuIGRlbGV0aW5nIGEgbm9uLXJlZmVyZW5jZSAobnVsbCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZCA9IGRlbGV0ZSBudWxsOw0KICBpZiAoZCA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K",
"commentary":"",
"description":"delete operator returns true when deleting a non-reference (null)",
"path":"TestCases/ch11/11.4/11.4.1/11.4.1-2-6.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS40LzExLjQuMS8xMS40LjEtMy0xLmpzDQogKiBAZGVzY3JpcHRpb24gZGVsZXRlIG9wZXJhdG9yIHJldHVybnMgdHJ1ZSB3aGVuIGRlbGV0aW5nIGFuIHVucmVzb2x2YWJsZSByZWZlcmVuY2UNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAvLyBqdXN0IGNvb2tpbmcgdXAgYSBsb25nL3ZlcnlMaWtlbHkgdW5pcXVlIG5hbWUNCiAgdmFyIGQgPSBkZWxldGUgX19FUzNfMV90ZXN0X3N1aXRlX3Rlc3RfMTFfNF8xXzNfdW5pcXVlX2lkXzBfXzsNCiAgaWYgKGQgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==",
"commentary":"",
"description":"delete operator returns true when deleting an unresolvable reference",
"path":"TestCases/ch11/11.4/11.4.1/11.4.1-3-1.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS40LzExLjQuMS8xMS40LjEtMy0yLmpzDQogKiBAZGVzY3JpcHRpb24gZGVsZXRlIG9wZXJhdG9yIHRocm93cyBSZWZlcmVuY2VFcnJvciB3aGVuIGRlbGV0aW5nIGFuIGV4cGxpY2l0bHkgcXVhbGlmaWVkIHlldCB1bnJlc29sdmFibGUgcmVmZXJlbmNlIChiYXNlIG9iaiB1bmRlZmluZWQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgLy8ganVzdCBjb29raW5nIHVwIGEgbG9uZy92ZXJ5TGlrZWx5IHVuaXF1ZSBuYW1lDQogIHRyeQ0KICB7DQogICAgdmFyIGQgPSBkZWxldGUgX19FUzNfMV90ZXN0X3N1aXRlX3Rlc3RfMTFfNF8xXzNfdW5pcXVlX2lkXzJfXy54Ow0KICB9DQogIGNhdGNoKGUpDQogIHsNCiAgICBpZiAoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKQ0KICAgICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=",
"commentary":"",
"description":"delete operator throws ReferenceError when deleting an explicitly qualified yet unresolvable reference (base obj undefined)",
"path":"TestCases/ch11/11.4/11.4.1/11.4.1-3-2.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS40LzExLjQuMS8xMS40LjEtMy0zLmpzDQogKiBAZGVzY3JpcHRpb24gZGVsZXRlIG9wZXJhdG9yIHJldHVybnMgdHJ1ZSB3aGVuIGRlbGV0aW5nIGFuIGV4cGxpY2l0bHkgcXVhbGlmaWVkIHlldCB1bnJlc29sdmFibGUgcmVmZXJlbmNlIChwcm9wZXJ0eSB1bmRlZmluZWQgZm9yIGJhc2Ugb2JqKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBfX0VTM18xX3Rlc3Rfc3VpdGVfdGVzdF8xMV80XzFfM191bmlxdWVfaWRfM19fID0ge307DQogIHZhciBkID0gZGVsZXRlIF9fRVMzXzFfdGVzdF9zdWl0ZV90ZXN0XzExXzRfMV8zX3VuaXF1ZV9pZF8zX18ueDsNCiAgaWYgKGQgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==",
"commentary":"",
"description":"delete operator returns true when deleting an explicitly qualified yet unresolvable reference (property undefined for base obj)",
"path":"TestCases/ch11/11.4/11.4.1/11.4.1-3-3.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS40LzExLjQuMS8xMS40LjEtMy1hLTEtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gU3ludGF4RXJyb3IgaXMgdGhyb3duIHdoZW4gZGVsZXRpbmcgYW4gdW4tcmVzb2x2YWJsZSByZWZlcmVuY2UNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJkZWxldGUgb2JqIik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=",
"commentary":"",
"description":"Strict Mode - SyntaxError is thrown when deleting an un-resolvable reference",
"onlyStrict":"",
"path":"TestCases/ch11/11.4/11.4.1/11.4.1-3-a-1-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS40LzExLjQuMS8xMS40LjEtNC1hLTEtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gVHlwZUVycm9yIGlzIHRocm93biB3aGVuIGRlbGV0aW5nIG5vbi1jb25maWd1cmFibGUgZGF0YSBwcm9wZXJ0eQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogImFiYyIsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBkZWxldGUgb2JqLnByb3A7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIG9iai5wcm9wID09PSAiYWJjIjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==",
"commentary":"",
"description":"Strict Mode - TypeError is thrown when deleting non-configurable data property",
"onlyStrict":"",
"path":"TestCases/ch11/11.4/11.4.1/11.4.1-4-a-1-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS40LzExLjQuMS8xMS40LjEtNC1hLTItcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gVHlwZUVycm9yIGlzIHRocm93biB3aGVuIGRlbGV0aW5nIG5vbi1jb25maWd1cmFibGUgYWNjZXNzb3IgcHJvcGVydHkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJhYmMiOyANCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBkZWxldGUgb2JqLnByb3A7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIG9iai5wcm9wID09PSAiYWJjIjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==",
"commentary":"",
"description":"Strict Mode - TypeError is thrown when deleting non-configurable accessor property",
"onlyStrict":"",
"path":"TestCases/ch11/11.4/11.4.1/11.4.1-4-a-2-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS40LzExLjQuMS8xMS40LjEtNC1hLTMtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gVHlwZUVycm9yIGlzbid0IHRocm93biB3aGVuIGRlbGV0aW5nIGNvbmZpZ3VyYWJsZSBkYXRhIHByb3BlcnR5DQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAiYWJjIiwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBkZWxldGUgb2JqLnByb3A7DQogICAgICAgIHJldHVybiAhb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K",
"commentary":"",
"description":"Strict Mode - TypeError isn't thrown when deleting configurable data property",
"onlyStrict":"",
"path":"TestCases/ch11/11.4/11.4.1/11.4.1-4-a-3-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS40LzExLjQuMS8xMS40LjEtNC1hLTQtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gVHlwZUVycm9yIGlzbid0IHRocm93biB3aGVuIGRlbGV0aW5nIGNvbmZpZ3VyYWJsZSBhY2Nlc3NvciBwcm9wZXJ0eQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gImFiYyI7IA0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBkZWxldGUgb2JqLnByb3A7DQogICAgICAgIHJldHVybiAhb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K",
"commentary":"",
"description":"Strict Mode - TypeError isn't thrown when deleting configurable accessor property",
"onlyStrict":"",
"path":"TestCases/ch11/11.4/11.4.1/11.4.1-4-a-4-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogVGhpcyB0ZXN0IGlzIGFjdHVhbGx5IHRlc3RpbmcgdGhlIFtbRGVsZXRlXV0gaW50ZXJuYWwgbWV0aG9kICg4LjEyLjgpLiBTaW5jZSB0aGUNCiAqIGxhbmd1YWdlIHByb3ZpZGVzIG5vIHdheSB0byBkaXJlY3RseSBleGVyY2lzZSBbW0RlbGV0ZV1dLCB0aGUgdGVzdHMgYXJlIHBsYWNlZCBoZXJlLg0KICoNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTQuYS0xLmpzDQogKiBAZGVzY3JpcHRpb24gZGVsZXRlIG9wZXJhdG9yIHJldHVybnMgdHJ1ZSB3aGVuIGRlbGV0aW5nIGEgY29uZmlndXJhYmxlIGRhdGEgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgbyA9IHt9Ow0KDQogIHZhciBkZXNjID0geyB2YWx1ZTogMSwgY29uZmlndXJhYmxlOiB0cnVlIH07DQogIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwgZGVzYyk7DQoNCiAgdmFyIGQgPSBkZWxldGUgby5mb287DQogIGlmIChkID09PSB0cnVlICYmIG8uaGFzT3duUHJvcGVydHkoImZvbyIpID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K",
"commentary":"This test is actually testing the [[Delete]] internal method (8.12.8). Since the\nlanguage provides no way to directly exercise [[Delete]], the tests are placed here.",
"description":"delete operator returns true when deleting a configurable data property",
"path":"TestCases/ch11/11.4/11.4.1/11.4.1-4.a-1.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogVGhpcyB0ZXN0IGlzIGFjdHVhbGx5IHRlc3RpbmcgdGhlIFtbRGVsZXRlXV0gaW50ZXJuYWwgbWV0aG9kICg4LjEyLjgpLiBTaW5jZSB0aGUNCiAqIGxhbmd1YWdlIHByb3ZpZGVzIG5vIHdheSB0byBkaXJlY3RseSBleGVyY2lzZSBbW0RlbGV0ZV1dLCB0aGUgdGVzdHMgYXJlIHBsYWNlZCBoZXJlLg0KICoNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTQuYS0xMC5qcw0KICogQGRlc2NyaXB0aW9uIGRlbGV0ZSBvcGVyYXRvciByZXR1cm5zIHRydWUgZm9yIHByb3BlcnR5IChzdHJpbmdpZnkpIGRlZmluZWQgb24gYnVpbHQtaW4gb2JqZWN0IChKU09OKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHRyeSB7DQogICAgICB2YXIgbyA9IEpTT04uc3RyaW5naWZ5Ow0KCSAgdmFyIGRlc2M7DQoJICB0cnkgew0KCSAgCWRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEpTT04sICdzdHJpbmdpZnknKQ0KCSAgfSANCgkgIGNhdGNoIChlKSB7DQoJICB9Ow0KICAgICAgdmFyIGQgPSBkZWxldGUgSlNPTi5zdHJpbmdpZnk7DQogICAgICBpZiAoZCA9PT0gdHJ1ZSAmJiBKU09OLnN0cmluZ2lmeSA9PT0gdW5kZWZpbmVkKSB7DQogICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgfQ0KICB9IGZpbmFsbHkgew0KICAgIGlmIChkZXNjKSBPYmplY3QuZGVmaW5lUHJvcGVydHkoSlNPTiwgJ3N0cmluZ2lmeScsIGRlc2MpDQoJZWxzZSBKU09OLnN0cmluZ2lmeSA9IG8gIC8qIHRoaXMgYnJhbmNoIG1lc3NlcyB1cCB0aGUgYXR0cmlidXRlcyAqLzsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==",
"commentary":"This test is actually testing the [[Delete]] internal method (8.12.8). Since the\nlanguage provides no way to directly exercise [[Delete]], the tests are placed here.",
"description":"delete operator returns true for property (stringify) defined on built-in object (JSON)",
"path":"TestCases/ch11/11.4/11.4.1/11.4.1-4.a-10.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogVGhpcyB0ZXN0IGlzIGFjdHVhbGx5IHRlc3RpbmcgdGhlIFtbRGVsZXRlXV0gaW50ZXJuYWwgbWV0aG9kICg4LjEyLjgpLiBTaW5jZSB0aGUNCiAqIGxhbmd1YWdlIHByb3ZpZGVzIG5vIHdheSB0byBkaXJlY3RseSBleGVyY2lzZSBbW0RlbGV0ZV1dLCB0aGUgdGVzdHMgYXJlIHBsYWNlZCBoZXJlLg0KICoNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTQuYS0xMS5qcw0KICogQGRlc2NyaXB0aW9uIGRlbGV0ZSBvcGVyYXRvciByZXR1cm5zIHRydWUgb24gZGVsZXRpbmcgYXJndW1lbnRzIHByb3B0ZXJ0aWVzKGFyZ3VtZW50cy5jYWxsZWUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZnVuY3Rpb24gZm9vKGEsYikNCiAgew0KICAgIHJldHVybiAoZGVsZXRlIGFyZ3VtZW50cy5jYWxsZWUpOyANCiAgfQ0KICB2YXIgZCA9IGRlbGV0ZSBhcmd1bWVudHMuY2FsbGVlOw0KICBpZihkID09PSB0cnVlICYmIGFyZ3VtZW50cy5jYWxsZWUgPT09IHVuZGVmaW5lZCkNCiAgICByZXR1cm4gdHJ1ZTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=",
"commentary":"This test is actually testing the [[Delete]] internal method (8.12.8). Since the\nlanguage provides no way to directly exercise [[Delete]], the tests are placed here.",
"description":"delete operator returns true on deleting arguments propterties(arguments.callee)",
"path":"TestCases/ch11/11.4/11.4.1/11.4.1-4.a-11.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogVGhpcyB0ZXN0IGlzIGFjdHVhbGx5IHRlc3RpbmcgdGhlIFtbRGVsZXRlXV0gaW50ZXJuYWwgbWV0aG9kICg4LjEyLjgpLiBTaW5jZSB0aGUNCiAqIGxhbmd1YWdlIHByb3ZpZGVzIG5vIHdheSB0byBkaXJlY3RseSBleGVyY2lzZSBbW0RlbGV0ZV1dLCB0aGUgdGVzdHMgYXJlIHBsYWNlZCBoZXJlLg0KICoNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTQuYS0xMi5qcw0KICogQGRlc2NyaXB0aW9uIGRlbGV0ZSBvcGVyYXRvciByZXR1cm5zIGZhbHNlIHdoZW4gZGVsZXRpbmcgYSBwcm9wZXJ0eShsZW5ndGgpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICB2YXIgYSA9IFsxLDIsM10NCiAgYS54ID0gMTA7DQogIHZhciBkID0gZGVsZXRlIGEubGVuZ3RoDQogIGlmKGQgPT09IGZhbHNlICYmIGEubGVuZ3RoID09PSAzKQ0KICAgIHJldHVybiB0cnVlOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==",
"commentary":"This test is actually testing the [[Delete]] internal method (8.12.8). Since the\nlanguage provides no way to directly exercise [[Delete]], the tests are placed here.",
"description":"delete operator returns false when deleting a property(length)",
"path":"TestCases/ch11/11.4/11.4.1/11.4.1-4.a-12.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogVGhpcyB0ZXN0IGlzIGFjdHVhbGx5IHRlc3RpbmcgdGhlIFtbRGVsZXRlXV0gaW50ZXJuYWwgbWV0aG9kICg4LjEyLjgpLiBTaW5jZSB0aGUNCiAqIGxhbmd1YWdlIHByb3ZpZGVzIG5vIHdheSB0byBkaXJlY3RseSBleGVyY2lzZSBbW0RlbGV0ZV1dLCB0aGUgdGVzdHMgYXJlIHBsYWNlZCBoZXJlLg0KICoNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTQuYS0xMy5qcw0KICogQGRlc2NyaXB0aW9uIGRlbGV0ZSBvcGVyYXRvciByZXR1cm5zIGZhbHNlIHdoZW4gZGVsZXRpbmcgQXJyYXkgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICB2YXIgYSA9IFsxLDIsM10NCiAgYS54ID0gMTA7DQoNCiAgdmFyIGQgPSBkZWxldGUgYSANCg0KICBpZihkID09PSBmYWxzZSAmJiBBcnJheS5pc0FycmF5KGEpID09PSB0cnVlKQ0KICAgIHJldHVybiB0cnVlOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==",
"commentary":"This test is actually testing the [[Delete]] internal method (8.12.8). Since the\nlanguage provides no way to directly exercise [[Delete]], the tests are placed here.",
"description":"delete operator returns false when deleting Array object",
"path":"TestCases/ch11/11.4/11.4.1/11.4.1-4.a-13.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogVGhpcyB0ZXN0IGlzIGFjdHVhbGx5IHRlc3RpbmcgdGhlIFtbRGVsZXRlXV0gaW50ZXJuYWwgbWV0aG9kICg4LjEyLjgpLiBTaW5jZSB0aGUNCiAqIGxhbmd1YWdlIHByb3ZpZGVzIG5vIHdheSB0byBkaXJlY3RseSBleGVyY2lzZSBbW0RlbGV0ZV1dLCB0aGUgdGVzdHMgYXJlIHBsYWNlZCBoZXJlLg0KICoNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTQuYS0xNC5qcw0KICogQGRlc2NyaXB0aW9uIGRlbGV0ZSBvcGVyYXRvciByZXR1cm5zIHRydWUgd2hlbiBkZWxldGluZyBBcnJheSBlbGVtZW50cw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgdmFyIGEgPSBbMSwyLDNdDQogIGEueCA9IDEwOw0KICB2YXIgZCA9IGRlbGV0ZSBhWzFdDQogIGlmKGQgPT09IHRydWUgJiYgYVsxXSA9PT0gdW5kZWZpbmVkKQ0KICAgIHJldHVybiB0cnVlOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==",
"commentary":"This test is actually testing the [[Delete]] internal method (8.12.8). Since the\nlanguage provides no way to directly exercise [[Delete]], the tests are placed here.",
"description":"delete operator returns true when deleting Array elements",
"path":"TestCases/ch11/11.4/11.4.1/11.4.1-4.a-14.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogVGhpcyB0ZXN0IGlzIGFjdHVhbGx5IHRlc3RpbmcgdGhlIFtbRGVsZXRlXV0gaW50ZXJuYWwgbWV0aG9kICg4LjEyLjgpLiBTaW5jZSB0aGUNCiAqIGxhbmd1YWdlIHByb3ZpZGVzIG5vIHdheSB0byBkaXJlY3RseSBleGVyY2lzZSBbW0RlbGV0ZV1dLCB0aGUgdGVzdHMgYXJlIHBsYWNlZCBoZXJlLg0KICoNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTQuYS0xNS5qcw0KICogQGRlc2NyaXB0aW9uIGRlbGV0ZSBvcGVyYXRvciByZXR1cm5zIHRydWUgd2hlbiBkZWxldGluZyBBcnJheSBleHBhbmRvcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgdmFyIGEgPSBbMSwyLDNdDQogIGEueCA9IDEwOw0KICB2YXIgZCA9IGRlbGV0ZSBhLng7DQogIGlmKCBkID09PSB0cnVlICYmIGEueCA9PT0gdW5kZWZpbmVkKQ0KICAgIHJldHVybiB0cnVlOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==",
"commentary":"This test is actually testing the [[Delete]] internal method (8.12.8). Since the\nlanguage provides no way to directly exercise [[Delete]], the tests are placed here.",
"description":"delete operator returns true when deleting Array expandos",
"path":"TestCases/ch11/11.4/11.4.1/11.4.1-4.a-15.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogVGhpcyB0ZXN0IGlzIGFjdHVhbGx5IHRlc3RpbmcgdGhlIFtbRGVsZXRlXV0gaW50ZXJuYWwgbWV0aG9kICg4LjEyLjgpLiBTaW5jZSB0aGUNCiAqIGxhbmd1YWdlIHByb3ZpZGVzIG5vIHdheSB0byBkaXJlY3RseSBleGVyY2lzZSBbW0RlbGV0ZV1dLCB0aGUgdGVzdHMgYXJlIHBsYWNlZCBoZXJlLg0KICoNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTQuYS0xNi5qcw0KICogQGRlc2NyaXB0aW9uIGRlbGV0ZSBvcGVyYXRvciByZXR1cm5zIGZhbHNlIG9uIGRlbGV0aW5nIGFyZ3VtZW50cyBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIGlmKGRlbGV0ZSBhcmd1bWVudHMgPT09IGZhbHNlICYmIGFyZ3VtZW50cyAhPT0gdW5kZWZpbmVkKQ0KICAgIHJldHVybiB0cnVlOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==",
"commentary":"This test is actually testing the [[Delete]] internal method (8.12.8). Since the\nlanguage provides no way to directly exercise [[Delete]], the tests are placed here.",
"description":"delete operator returns false on deleting arguments object",
"path":"TestCases/ch11/11.4/11.4.1/11.4.1-4.a-16.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogVGhpcyB0ZXN0IGlzIGFjdHVhbGx5IHRlc3RpbmcgdGhlIFtbRGVsZXRlXV0gaW50ZXJuYWwgbWV0aG9kICg4LjEyLjgpLiBTaW5jZSB0aGUNCiAqIGxhbmd1YWdlIHByb3ZpZGVzIG5vIHdheSB0byBkaXJlY3RseSBleGVyY2lzZSBbW0RlbGV0ZV1dLCB0aGUgdGVzdHMgYXJlIHBsYWNlZCBoZXJlLg0KICoNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTQuYS0xNy5qcw0KICogQGRlc2NyaXB0aW9uIGRlbGV0ZSBvcGVyYXRvciByZXR1cm5zIHRydWUgb24gZGVsZXRpbmcgYSBhcmd1bWVudHMgZWxlbWVudA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZ1bmN0aW9uIGZvbyhhLGIpDQogIHsNCiAgICB2YXIgZCA9IGRlbGV0ZSBhcmd1bWVudHNbMF07DQogICAgcmV0dXJuIChkID09PSB0cnVlICYmIGFyZ3VtZW50c1swXSA9PT0gdW5kZWZpbmVkKTsgIA0KICB9DQoNCiAgaWYoZm9vKDEsMikgPT09IHRydWUpDQogICAgcmV0dXJuIHRydWU7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K",
"commentary":"This test is actually testing the [[Delete]] internal method (8.12.8). Since the\nlanguage provides no way to directly exercise [[Delete]], the tests are placed here.",
"description":"delete operator returns true on deleting a arguments element",
"path":"TestCases/ch11/11.4/11.4.1/11.4.1-4.a-17.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogVGhpcyB0ZXN0IGlzIGFjdHVhbGx5IHRlc3RpbmcgdGhlIFtbRGVsZXRlXV0gaW50ZXJuYWwgbWV0aG9kICg4LjEyLjgpLiBTaW5jZSB0aGUNCiAqIGxhbmd1YWdlIHByb3ZpZGVzIG5vIHdheSB0byBkaXJlY3RseSBleGVyY2lzZSBbW0RlbGV0ZV1dLCB0aGUgdGVzdHMgYXJlIHBsYWNlZCBoZXJlLg0KICoNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTQuYS0yLmpzDQogKiBAZGVzY3JpcHRpb24gZGVsZXRlIG9wZXJhdG9yIHJldHVybnMgdHJ1ZSB3aGVuIGRlbGV0aW5nIGEgY29uZmlndXJhYmxlIGFjY2Vzc29yIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG8gPSB7fTsNCg0KICAvLyBkZWZpbmUgYW4gYWNjZXNzb3INCiAgLy8gZHVtbXkgZ2V0dGVyDQogIHZhciBnZXR0ZXIgPSBmdW5jdGlvbiAoKSB7IHJldHVybiAxOyB9DQogIHZhciBkZXNjID0geyBnZXQ6IGdldHRlciwgY29uZmlndXJhYmxlOiB0cnVlIH07DQogIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwgZGVzYyk7DQogICAgDQogIHZhciBkID0gZGVsZXRlIG8uZm9vOw0KICBpZiAoZCA9PT0gdHJ1ZSAmJiBvLmhhc093blByb3BlcnR5KCJmb28iKSA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==",
"commentary":"This test is actually testing the [[Delete]] internal method (8.12.8). Since the\nlanguage provides no way to directly exercise [[Delete]], the tests are placed here.",
"description":"delete operator returns true when deleting a configurable accessor property",
"path":"TestCases/ch11/11.4/11.4.1/11.4.1-4.a-2.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogVGhpcyB0ZXN0IGlzIGFjdHVhbGx5IHRlc3RpbmcgdGhlIFtbRGVsZXRlXV0gaW50ZXJuYWwgbWV0aG9kICg4LjEyLjgpLiBTaW5jZSB0aGUNCiAqIGxhbmd1YWdlIHByb3ZpZGVzIG5vIHdheSB0byBkaXJlY3RseSBleGVyY2lzZSBbW0RlbGV0ZV1dLCB0aGUgdGVzdHMgYXJlIHBsYWNlZCBoZXJlLg0KICoNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTQuYS0zLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBkZWxldGUgb3BlcmF0b3IgdGhyb3dzIFR5cGVFcnJvciB3aGVuIGRlbGV0aW5nIGEgbm9uLWNvbmZpZ3VyYWJsZSBkYXRhIHByb3BlcnR5IGluIHN0cmljdCBtb2RlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICd1c2Ugc3RyaWN0JzsNCg0KICB2YXIgbyA9IHt9Ow0KICB2YXIgZGVzYyA9IHsgdmFsdWUgOiAxIH07IC8vIGFsbCBvdGhlciBhdHRyaWJ1dGVzIGRlZmF1bHQgdG8gZmFsc2UNCiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCBkZXNjKTsNCiAgDQogIC8vIE5vdywgZGVsZXRpbmcgby5mb28gc2hvdWxkIHRocm93IFR5cGVFcnJvciBiZWNhdXNlIFtbQ29uZmlndXJhYmxlXV0gb24gZm9vIGlzIGZhbHNlLg0KICB0cnkgew0KICAgIGRlbGV0ZSBvLmZvbzsNCiAgICByZXR1cm4gZmFsc2U7DQogIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K",
"commentary":"This test is actually testing the [[Delete]] internal method (8.12.8). Since the\nlanguage provides no way to directly exercise [[Delete]], the tests are placed here.",
"description":"delete operator throws TypeError when deleting a non-configurable data property in strict mode",
"onlyStrict":"",
"path":"TestCases/ch11/11.4/11.4.1/11.4.1-4.a-3-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogVGhpcyB0ZXN0IGlzIGFjdHVhbGx5IHRlc3RpbmcgdGhlIFtbRGVsZXRlXV0gaW50ZXJuYWwgbWV0aG9kICg4LjEyLjgpLiBTaW5jZSB0aGUNCiAqIGxhbmd1YWdlIHByb3ZpZGVzIG5vIHdheSB0byBkaXJlY3RseSBleGVyY2lzZSBbW0RlbGV0ZV1dLCB0aGUgdGVzdHMgYXJlIHBsYWNlZCBoZXJlLg0KICoNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTQuYS0zLmpzDQogKiBAZGVzY3JpcHRpb24gZGVsZXRlIG9wZXJhdG9yIHJldHVybnMgZmFsc2Ugd2hlbiBkZWxldGluZyBhIG5vbi1jb25maWd1cmFibGUgZGF0YSBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBvID0ge307DQogIHZhciBkZXNjID0geyB2YWx1ZSA6IDEsIGNvbmZpZ3VyYWJsZTogZmFsc2UgfTsgLy8gYWxsIG90aGVyIGF0dHJpYnV0ZXMgZGVmYXVsdCB0byBmYWxzZQ0KICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIGRlc2MpOw0KICANCiAgLy8gTm93LCBkZWxldGluZyBvLmZvbyBzaG91bGQgZmFpbCBiZWNhdXNlIFtbQ29uZmlndXJhYmxlXV0gb24gZm9vIGlzIGZhbHNlLg0KICB2YXIgZCA9IGRlbGV0ZSBvLmZvbzsNCiAgaWYgKGQgPT09IGZhbHNlICYmIG8uaGFzT3duUHJvcGVydHkoImZvbyIpID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=",
"commentary":"This test is actually testing the [[Delete]] internal method (8.12.8). Since the\nlanguage provides no way to directly exercise [[Delete]], the tests are placed here.",
"description":"delete operator returns false when deleting a non-configurable data property",
"path":"TestCases/ch11/11.4/11.4.1/11.4.1-4.a-3.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogVGhpcyB0ZXN0IGlzIGFjdHVhbGx5IHRlc3RpbmcgdGhlIFtbRGVsZXRlXV0gaW50ZXJuYWwgbWV0aG9kICg4LjEyLjgpLiBTaW5jZSB0aGUNCiAqIGxhbmd1YWdlIHByb3ZpZGVzIG5vIHdheSB0byBkaXJlY3RseSBleGVyY2lzZSBbW0RlbGV0ZV1dLCB0aGUgdGVzdHMgYXJlIHBsYWNlZCBoZXJlLg0KICoNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTQuYS00LmpzDQogKiBAZGVzY3JpcHRpb24gZGVsZXRlIG9wZXJhdG9yIHJldHVybnMgZmFsc2Ugd2hlbiBkZWxldGluZyBhIG5vbi1jb25maWd1cmFibGUgZGF0YSBwcm9wZXJ0eSAoTmFOKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIC8vIE5hTiAoMTUuMS4xLjEpIGhhcyBbW0NvbmZpZ3VyYWJsZV1dIHNldCB0byBmYWxzZS4NCiAgdmFyIGQgPSBkZWxldGUgTmFOOw0KICBpZiAoZCA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==",
"commentary":"This test is actually testing the [[Delete]] internal method (8.12.8). Since the\nlanguage provides no way to directly exercise [[Delete]], the tests are placed here.",
"description":"delete operator returns false when deleting a non-configurable data property (NaN)",
"path":"TestCases/ch11/11.4/11.4.1/11.4.1-4.a-4.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogVGhpcyB0ZXN0IGlzIGFjdHVhbGx5IHRlc3RpbmcgdGhlIFtbRGVsZXRlXV0gaW50ZXJuYWwgbWV0aG9kICg4LjEyLjgpLiBTaW5jZSB0aGUNCiAqIGxhbmd1YWdlIHByb3ZpZGVzIG5vIHdheSB0byBkaXJlY3RseSBleGVyY2lzZSBbW0RlbGV0ZV1dLCB0aGUgdGVzdHMgYXJlIHBsYWNlZCBoZXJlLg0KICoNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTQuYS01LmpzDQogKiBAZGVzY3JpcHRpb24gZGVsZXRlIG9wZXJhdG9yIHJldHVybnMgZmFsc2Ugd2hlbiBkZWxldGluZyB0aGUgZW52aXJvbm1lbnQgb2JqZWN0IGluc2lkZSAnd2l0aCcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgbyA9IG5ldyBPYmplY3QoKTsNCiAgby54ID0gMTsNCiAgdmFyIGQ7DQogIHdpdGgobykNCiAgew0KICAgIGQgPSBkZWxldGUgbzsNCiAgfQ0KICBpZiAoZCA9PT0gZmFsc2UgJiYgdHlwZW9mKG8pID09PSAnb2JqZWN0JyAmJiBvLnggPT09IDEpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KICByZXR1cm4gZmFsc2U7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K",
"commentary":"This test is actually testing the [[Delete]] internal method (8.12.8). Since the\nlanguage provides no way to directly exercise [[Delete]], the tests are placed here.",
"description":"delete operator returns false when deleting the environment object inside 'with'",
"path":"TestCases/ch11/11.4/11.4.1/11.4.1-4.a-5.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogVGhpcyB0ZXN0IGlzIGFjdHVhbGx5IHRlc3RpbmcgdGhlIFtbRGVsZXRlXV0gaW50ZXJuYWwgbWV0aG9kICg4LjEyLjgpLiBTaW5jZSB0aGUNCiAqIGxhbmd1YWdlIHByb3ZpZGVzIG5vIHdheSB0byBkaXJlY3RseSBleGVyY2lzZSBbW0RlbGV0ZV1dLCB0aGUgdGVzdHMgYXJlIHBsYWNlZCBoZXJlLg0KICoNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTQuYS02LmpzDQogKiBAZGVzY3JpcHRpb24gZGVsZXRlIG9wZXJhdG9yIHJldHVybnMgdHJ1ZSB3aGVuIGRlbGV0aW5nIGEgcHJvcGVydHkgaW5zaWRlICd3aXRoJw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBvID0gbmV3IE9iamVjdCgpOw0KICBvLnggPSAxOw0KICB2YXIgZDsNCiAgd2l0aChvKQ0KICB7DQogICAgZCA9IGRlbGV0ZSB4Ow0KICB9DQogIGlmIChkID09PSB0cnVlICYmIG8ueCA9PT0gdW5kZWZpbmVkKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=",
"commentary":"This test is actually testing the [[Delete]] internal method (8.12.8). Since the\nlanguage provides no way to directly exercise [[Delete]], the tests are placed here.",
"description":"delete operator returns true when deleting a property inside 'with'",
"path":"TestCases/ch11/11.4/11.4.1/11.4.1-4.a-6.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogVGhpcyB0ZXN0IGlzIGFjdHVhbGx5IHRlc3RpbmcgdGhlIFtbRGVsZXRlXV0gaW50ZXJuYWwgbWV0aG9kICg4LjEyLjgpLiBTaW5jZSB0aGUNCiAqIGxhbmd1YWdlIHByb3ZpZGVzIG5vIHdheSB0byBkaXJlY3RseSBleGVyY2lzZSBbW0RlbGV0ZV1dLCB0aGUgdGVzdHMgYXJlIHBsYWNlZCBoZXJlLg0KICoNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTQuYS03LmpzDQogKiBAZGVzY3JpcHRpb24gZGVsZXRlIG9wZXJhdG9yIGluc2lkZSAnZXZhbCcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgeCA9IDE7DQogIHZhciBkID0gZXZhbCgiZGVsZXRlIHgiKTsNCiAgaWYgKGQgPT09IGZhbHNlICYmIHggPT09IDEpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KICByZXR1cm4gZmFsc2U7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K",
"commentary":"This test is actually testing the [[Delete]] internal method (8.12.8). Since the\nlanguage provides no way to directly exercise [[Delete]], the tests are placed here.",
"description":"delete operator inside 'eval'",
"path":"TestCases/ch11/11.4/11.4.1/11.4.1-4.a-7.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogVGhpcyB0ZXN0IGlzIGFjdHVhbGx5IHRlc3RpbmcgdGhlIFtbRGVsZXRlXV0gaW50ZXJuYWwgbWV0aG9kICg4LjEyLjgpLiBTaW5jZSB0aGUNCiAqIGxhbmd1YWdlIHByb3ZpZGVzIG5vIHdheSB0byBkaXJlY3RseSBleGVyY2lzZSBbW0RlbGV0ZV1dLCB0aGUgdGVzdHMgYXJlIHBsYWNlZCBoZXJlLg0KICoNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTQuYS04LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBkZWxldGUgb3BlcmF0b3IgdGhyb3dzIFR5cGVFcnJvciB3aGVuIGRlbGV0aW5nIGEgbm9uLWNvbmZpZ3VyYWJsZSBkYXRhIHByb3BlcnR5IGluIHN0cmljdCBtb2RlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICd1c2Ugc3RyaWN0JzsNCiAgDQogIC8vIE5hTiAoMTUuMS4xLjEpIGhhcyBbW0NvbmZpZ3VyYWJsZV1dIHNldCB0byBmYWxzZS4NCiAgdHJ5IHsNCiAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKS5OYU47DQogICAgcmV0dXJuIGZhbHNlOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==",
"commentary":"This test is actually testing the [[Delete]] internal method (8.12.8). Since the\nlanguage provides no way to directly exercise [[Delete]], the tests are placed here.",
"description":"delete operator throws TypeError when deleting a non-configurable data property in strict mode",
"onlyStrict":"",
"path":"TestCases/ch11/11.4/11.4.1/11.4.1-4.a-8-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogVGhpcyB0ZXN0IGlzIGFjdHVhbGx5IHRlc3RpbmcgdGhlIFtbRGVsZXRlXV0gaW50ZXJuYWwgbWV0aG9kICg4LjEyLjgpLiBTaW5jZSB0aGUNCiAqIGxhbmd1YWdlIHByb3ZpZGVzIG5vIHdheSB0byBkaXJlY3RseSBleGVyY2lzZSBbW0RlbGV0ZV1dLCB0aGUgdGVzdHMgYXJlIHBsYWNlZCBoZXJlLg0KICoNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTQuYS04LmpzDQogKiBAZGVzY3JpcHRpb24gZGVsZXRlIG9wZXJhdG9yIHJldHVybnMgdHJ1ZSBmb3IgYnVpbHQtaW4gb2JqZWN0cyAoSlNPTikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB0cnkgew0KICAgICAgdmFyIG8gPSBKU09OOw0KICAgICAgdmFyIGQgPSBkZWxldGUgSlNPTjsgIA0KICAgICAgaWYgKGQgPT09IHRydWUpIHsJICAgIA0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgIH0NCiAgfSBmaW5hbGx5IHsNCiAgICBKU09OID0gbzsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==",
"commentary":"This test is actually testing the [[Delete]] internal method (8.12.8). Since the\nlanguage provides no way to directly exercise [[Delete]], the tests are placed here.",
"description":"delete operator returns true for built-in objects (JSON)",
"path":"TestCases/ch11/11.4/11.4.1/11.4.1-4.a-8.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogVGhpcyB0ZXN0IGlzIGFjdHVhbGx5IHRlc3RpbmcgdGhlIFtbRGVsZXRlXV0gaW50ZXJuYWwgbWV0aG9kICg4LjEyLjgpLiBTaW5jZSB0aGUNCiAqIGxhbmd1YWdlIHByb3ZpZGVzIG5vIHdheSB0byBkaXJlY3RseSBleGVyY2lzZSBbW0RlbGV0ZV1dLCB0aGUgdGVzdHMgYXJlIHBsYWNlZCBoZXJlLg0KICoNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTQuYS05LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBkZWxldGUgb3BlcmF0b3IgdGhyb3dzIFR5cGVFcnJvciB3aGVuIGRlbGV0aW5nIGEgbm9uLWNvbmZpZ3VyYWJsZSBkYXRhIHByb3BlcnR5IChNYXRoLkxOMikgaW4gc3RyaWN0IG1vZGUgDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICd1c2Ugc3RyaWN0JzsNCiAgDQogIHRyeSB7DQogICAgZGVsZXRlIE1hdGguTE4yOw0KICAgIHJldHVybiBmYWxzZTsNCiAgfQ0KICBjYXRjaCAoZSkgew0KICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7IA0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K",
"commentary":"This test is actually testing the [[Delete]] internal method (8.12.8). Since the\nlanguage provides no way to directly exercise [[Delete]], the tests are placed here.",
"description":"delete operator throws TypeError when deleting a non-configurable data property (Math.LN2) in strict mode",
"onlyStrict":"",
"path":"TestCases/ch11/11.4/11.4.1/11.4.1-4.a-9-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogVGhpcyB0ZXN0IGlzIGFjdHVhbGx5IHRlc3RpbmcgdGhlIFtbRGVsZXRlXV0gaW50ZXJuYWwgbWV0aG9kICg4LjEyLjgpLiBTaW5jZSB0aGUNCiAqIGxhbmd1YWdlIHByb3ZpZGVzIG5vIHdheSB0byBkaXJlY3RseSBleGVyY2lzZSBbW0RlbGV0ZV1dLCB0aGUgdGVzdHMgYXJlIHBsYWNlZCBoZXJlLg0KICoNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTQuYS05LmpzDQogKiBAZGVzY3JpcHRpb24gZGVsZXRlIG9wZXJhdG9yIHJldHVybnMgZmFsc2Ugd2hlbiBkZWxldGluZyBhIG5vbi1jb25maWd1cmFibGUgZGF0YSBwcm9wZXJ0eSAoTWF0aC5MTjIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGQgPSBkZWxldGUgTWF0aC5MTjI7DQogIGlmIChkID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K",
"commentary":"This test is actually testing the [[Delete]] internal method (8.12.8). Since the\nlanguage provides no way to directly exercise [[Delete]], the tests are placed here.",
"description":"delete operator returns false when deleting a non-configurable data property (Math.LN2)",
"path":"TestCases/ch11/11.4/11.4.1/11.4.1-4.a-9.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS40LzExLjQuMS8xMS40LjEtNS0xLmpzDQogKiBAZGVzY3JpcHRpb24gZGVsZXRlIG9wZXJhdG9yIHJldHVybnMgZmFsc2Ugd2hlbiBkZWxldGluZyBhIGRpcmVjdCByZWZlcmVuY2UgdG8gYSB2YXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgeCA9IDE7DQoNCiAgLy8gTm93LCBkZWxldGluZyAneCcgZGlyZWN0bHkgc2hvdWxkIGZhaWw7DQogIHZhciBkID0gZGVsZXRlIHg7DQogIGlmKGQgPT09IGZhbHNlICYmIHggPT09IDEpDQogICAgcmV0dXJuIHRydWU7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K",
"commentary":"",
"description":"delete operator returns false when deleting a direct reference to a var",
"path":"TestCases/ch11/11.4/11.4.1/11.4.1-5-1.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS40LzExLjQuMS8xMS40LjEtNS0yLmpzDQogKiBAZGVzY3JpcHRpb24gZGVsZXRlIG9wZXJhdG9yIHJldHVybnMgZmFsc2Ugd2hlbiBkZWxldGluZyBhIGRpcmVjdCByZWZlcmVuY2UgdG8gYSBmdW5jdGlvbiBhcmd1bWVudA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIA0KICBmdW5jdGlvbiBmb28oYSxiKSB7DQogIA0KICAgIC8vIE5vdywgZGVsZXRpbmcgJ2EnIGRpcmVjdGx5IHNob3VsZCBmYWlsDQogICAgLy8gYmVjYXVzZSAnYScgaXMgZGlyZWN0IHJlZmVyZW5jZSB0byBhIGZ1bmN0aW9uIGFyZ3VtZW50Ow0KICAgIHZhciBkID0gZGVsZXRlIGE7DQogICAgcmV0dXJuIChkID09PSBmYWxzZSAmJiBhID09PSAxKTsNCiAgfQ0KICByZXR1cm4gZm9vKDEsMik7ICANCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=",
"commentary":"",
"description":"delete operator returns false when deleting a direct reference to a function argument",
"path":"TestCases/ch11/11.4/11.4.1/11.4.1-5-2.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS40LzExLjQuMS8xMS40LjEtNS0zLmpzDQogKiBAZGVzY3JpcHRpb24gZGVsZXRlIG9wZXJhdG9yIHJldHVybnMgZmFsc2Ugd2hlbiBkZWxldGluZyBhIGRpcmVjdCByZWZlcmVuY2UgdG8gYSBmdW5jdGlvbiBuYW1lDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGZvbyA9IGZ1bmN0aW9uKCl7fTsNCg0KICAvLyBOb3csIGRlbGV0aW5nICdmb28nIGRpcmVjdGx5IHNob3VsZCBmYWlsOw0KICB2YXIgZCA9IGRlbGV0ZSBmb287DQogIGlmKGQgPT09IGZhbHNlICYmIGZuRXhpc3RzKGZvbykpDQogICAgcmV0dXJuIHRydWU7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K",
"commentary":"",
"description":"delete operator returns false when deleting a direct reference to a function name",
"path":"TestCases/ch11/11.4/11.4.1/11.4.1-5-3.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS40LzExLjQuMS8xMS40LjEtNS1hLTEtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gU3ludGF4RXJyb3IgaXMgdGhyb3duIHdoZW4gZGVsZXRpbmcgYSB2YXJpYWJsZSB3aGljaCBpcyBhIHByaW1pdGl2ZSB2YWx1ZSB0eXBlIChudW1iZXIpDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIF8xMV80XzFfNSA9IDU7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoImRlbGV0ZSBfMTFfNF8xXzU7Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=",
"commentary":"",
"description":"Strict Mode - SyntaxError is thrown when deleting a variable which is a primitive value type (number)",
"onlyStrict":"",
"path":"TestCases/ch11/11.4/11.4.1/11.4.1-5-a-1-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS40LzExLjQuMS8xMS40LjEtNS1hLTEwLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIHRocm93biB3aGVuIGRlbGV0aW5nIGEgdmFyaWFibGUgb2YgdHlwZSBBcnJheQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBhcnJPYmogPSBbMSwyLDNdOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJkZWxldGUgYXJyT2JqOyIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K",
"commentary":"",
"description":"Strict Mode - SyntaxError is thrown when deleting a variable of type Array",
"onlyStrict":"",
"path":"TestCases/ch11/11.4/11.4.1/11.4.1-5-a-10-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS40LzExLjQuMS8xMS40LjEtNS1hLTExLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIHRocm93biB3aGVuIGRlbGV0aW5nIGEgdmFyaWFibGUgb2YgdHlwZSBTdHJpbmcNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgc3RyT2JqID0gbmV3IFN0cmluZygiYWJjIik7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoImRlbGV0ZSBzdHJPYmo7Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=",
"commentary":"",
"description":"Strict Mode - SyntaxError is thrown when deleting a variable of type String",
"onlyStrict":"",
"path":"TestCases/ch11/11.4/11.4.1/11.4.1-5-a-11-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS40LzExLjQuMS8xMS40LjEtNS1hLTEyLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIHRocm93biB3aGVuIGRlbGV0aW5nIGEgdmFyaWFibGUgb2YgdHlwZSBCb29sZWFuDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIGJvb2xPYmogPSBuZXcgQm9vbGVhbihmYWxzZSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoImRlbGV0ZSBib29sT2JqOyIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K",
"commentary":"",
"description":"Strict Mode - SyntaxError is thrown when deleting a variable of type Boolean",
"onlyStrict":"",
"path":"TestCases/ch11/11.4/11.4.1/11.4.1-5-a-12-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS40LzExLjQuMS8xMS40LjEtNS1hLTEzLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIHRocm93biB3aGVuIGRlbGV0aW5nIGEgdmFyaWFibGUgb2YgdHlwZSBOdW1iZXINCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgbnVtT2JqID0gbmV3IE51bWJlcigwKTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgiZGVsZXRlIG51bU9iajsiKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==",
"commentary":"",
"description":"Strict Mode - SyntaxError is thrown when deleting a variable of type Number",
"onlyStrict":"",
"path":"TestCases/ch11/11.4/11.4.1/11.4.1-5-a-13-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS40LzExLjQuMS8xMS40LjEtNS1hLTE0LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIHRocm93biB3aGVuIGRlbGV0aW5nIGEgdmFyaWFibGUgb2YgdHlwZSBEYXRlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIGRhdGVPYmogPSBuZXcgRGF0ZSgpOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJkZWxldGUgZGF0ZU9iajsiKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==",
"commentary":"",
"description":"Strict Mode - SyntaxError is thrown when deleting a variable of type Date",
"onlyStrict":"",
"path":"TestCases/ch11/11.4/11.4.1/11.4.1-5-a-14-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS40LzExLjQuMS8xMS40LjEtNS1hLTE1LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIHRocm93biB3aGVuIGRlbGV0aW5nIGEgdmFyaWFibGUgb2YgdHlwZSBSZWdFeHANCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgcmVnT2JqID0gbmV3IFJlZ0V4cCgpOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJkZWxldGUgcmVnT2JqOyIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K",
"commentary":"",
"description":"Strict Mode - SyntaxError is thrown when deleting a variable of type RegExp",
"onlyStrict":"",
"path":"TestCases/ch11/11.4/11.4.1/11.4.1-5-a-15-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS40LzExLjQuMS8xMS40LjEtNS1hLTE2LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIHRocm93biB3aGVuIGRlbGV0aW5nIGEgdmFyaWFibGUgb2YgdHlwZSBFcnJvcg0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBlcnJPYmogPSBuZXcgRXJyb3IoKTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgiZGVsZXRlIGVyck9iajsiKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==",
"commentary":"",
"description":"Strict Mode - SyntaxError is thrown when deleting a variable of type Error",
"onlyStrict":"",
"path":"TestCases/ch11/11.4/11.4.1/11.4.1-5-a-16-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS40LzExLjQuMS8xMS40LjEtNS1hLTE3LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIHRocm93biB3aGVuIGRlbGV0aW5nIGEgdmFyaWFibGUgb2YgdHlwZSBBcmd1bWVudHMNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJ2YXIgYXJnT2JqID0gKGZ1bmN0aW9uIChhLCBiKSB7IGRlbGV0ZSBhcmd1bWVudHM7IH0oMSwgMikpOyIpOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=",
"commentary":"",
"description":"Strict Mode - SyntaxError is thrown when deleting a variable of type Arguments",
"onlyStrict":"",
"path":"TestCases/ch11/11.4/11.4.1/11.4.1-5-a-17-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS40LzExLjQuMS8xMS40LjEtNS1hLTE4LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIHRocm93biB3aGVuIGRlbGV0aW5nIGEgYnVpbHQtaW4gKE9iamVjdCkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJkZWxldGUgT2JqZWN0OyIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K",
"commentary":"",
"description":"Strict Mode - SyntaxError is thrown when deleting a built-in (Object)",
"onlyStrict":"",
"path":"TestCases/ch11/11.4/11.4.1/11.4.1-5-a-18-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS40LzExLjQuMS8xMS40LjEtNS1hLTE5LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIHRocm93biB3aGVuIGRlbGV0aW5nIGEgYnVpbHQtaW4gKEZ1bmN0aW9uKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoImRlbGV0ZSBGdW5jdGlvbjsiKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==",
"commentary":"",
"description":"Strict Mode - SyntaxError is thrown when deleting a built-in (Function)",
"onlyStrict":"",
"path":"TestCases/ch11/11.4/11.4.1/11.4.1-5-a-19-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS40LzExLjQuMS8xMS40LjEtNS1hLTItcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gU3ludGF4RXJyb3IgaXMgdGhyb3duIHdoZW4gZGVsZXRpbmcgYSBmdW5jdGlvbiBwYXJhbWV0ZXINCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICBmdW5jdGlvbiBmdW5PYmooeCkgew0KICAgICAgICAgICAgZXZhbCgiZGVsZXRlIHg7Iik7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZnVuT2JqKDEpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K",
"commentary":"",
"description":"Strict Mode - SyntaxError is thrown when deleting a function parameter",
"onlyStrict":"",
"path":"TestCases/ch11/11.4/11.4.1/11.4.1-5-a-2-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS40LzExLjQuMS8xMS40LjEtNS1hLTIwLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIHRocm93biB3aGVuIGRlbGV0aW5nIGEgYnVpbHQtaW4gKEFycmF5KQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoImRlbGV0ZSBBcnJheTsiKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==",
"commentary":"",
"description":"Strict Mode - SyntaxError is thrown when deleting a built-in (Array)",
"onlyStrict":"",
"path":"TestCases/ch11/11.4/11.4.1/11.4.1-5-a-20-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS40LzExLjQuMS8xMS40LjEtNS1hLTIxLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIHRocm93biB3aGVuIGRlbGV0aW5nIGEgYnVpbHQtaW4gKFN0cmluZykNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJkZWxldGUgU3RyaW5nOyIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K",
"commentary":"",
"description":"Strict Mode - SyntaxError is thrown when deleting a built-in (String)",
"onlyStrict":"",
"path":"TestCases/ch11/11.4/11.4.1/11.4.1-5-a-21-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS40LzExLjQuMS8xMS40LjEtNS1hLTIyLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIHRocm93biB3aGVuIGRlbGV0aW5nIGEgYnVpbHQtaW4gKEJvb2xlYW4pDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgiZGVsZXRlIEJvb2xlYW47Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=",
"commentary":"",
"description":"Strict Mode - SyntaxError is thrown when deleting a built-in (Boolean)",
"onlyStrict":"",
"path":"TestCases/ch11/11.4/11.4.1/11.4.1-5-a-22-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS40LzExLjQuMS8xMS40LjEtNS1hLTIzLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIHRocm93biB3aGVuIGRlbGV0aW5nIGEgYnVpbHQtaW4gKE51bWJlcikNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJkZWxldGUgTnVtYmVyOyIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K",
"commentary":"",
"description":"Strict Mode - SyntaxError is thrown when deleting a built-in (Number)",
"onlyStrict":"",
"path":"TestCases/ch11/11.4/11.4.1/11.4.1-5-a-23-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS40LzExLjQuMS8xMS40LjEtNS1hLTI0LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIHRocm93biB3aGVuIGRlbGV0aW5nIGEgYnVpbHQtaW4gKERhdGUpDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgiZGVsZXRlIERhdGU7Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=",
"commentary":"",
"description":"Strict Mode - SyntaxError is thrown when deleting a built-in (Date)",
"onlyStrict":"",
"path":"TestCases/ch11/11.4/11.4.1/11.4.1-5-a-24-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS40LzExLjQuMS8xMS40LjEtNS1hLTI1LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIHRocm93biB3aGVuIGRlbGV0aW5nIGEgYnVpbHQtaW4gKFJlZ0V4cCkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJkZWxldGUgUmVnRXhwOyIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K",
"commentary":"",
"description":"Strict Mode - SyntaxError is thrown when deleting a built-in (RegExp)",
"onlyStrict":"",
"path":"TestCases/ch11/11.4/11.4.1/11.4.1-5-a-25-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS40LzExLjQuMS8xMS40LjEtNS1hLTI2LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIHRocm93biB3aGVuIGRlbGV0aW5nIGEgYnVpbHQtaW4gKEVycm9yKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBlcnJvckJhY2t1cCA9IEVycm9yOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgiZGVsZXRlIEVycm9yOyIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgRXJyb3IgPSBlcnJvckJhY2t1cDsNCiAgICAgICAgfQ0KICAgICAgICANCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=",
"commentary":"",
"description":"Strict Mode - SyntaxError is thrown when deleting a built-in (Error)",
"onlyStrict":"",
"path":"TestCases/ch11/11.4/11.4.1/11.4.1-5-a-26-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS40LzExLjQuMS8xMS40LjEtNS1hLTI3LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFR5cGVFcnJvciBpcyB0aHJvd24gYWZ0ZXIgZGVsZXRpbmcgYSBwcm9wZXJ0eSwgY2FsbGluZyBwcmV2ZW50RXh0ZW5zaW9ucywgYW5kIGF0dGVtcHRpbmcgdG8gcmVhc3NpZ24gdGhlIHByb3BlcnR5DQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIGEgPSB7eDowLCBnZXQgeSgpIHsgcmV0dXJuIDA7fX07DQogICAgICAgIGRlbGV0ZSBhLng7DQogICAgICAgIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyhhKTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGEueCA9IDE7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=",
"commentary":"",
"description":"Strict Mode - TypeError is thrown after deleting a property, calling preventExtensions, and attempting to reassign the property",
"onlyStrict":"",
"path":"TestCases/ch11/11.4/11.4.1/11.4.1-5-a-27-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS40LzExLjQuMS8xMS40LjEtNS1hLTI4LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiBkZWxldGluZyBSZWdFeHAubGVuZ3RoDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgInVzZSBzdHJpY3QiOw0KICAgIHZhciBhID0gbmV3IFJlZ0V4cCgpOw0KICAgIHRyeSB7DQogICAgICAgIHZhciBiID0gZGVsZXRlIFJlZ0V4cC5sZW5ndGg7DQogICAgICAgIHJldHVybiBmYWxzZTsNCiAgICB9IGNhdGNoIChlKSB7DQogICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgIH0NCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==",
"commentary":"",
"description":"Strict Mode - TypeError is thrown when deleting RegExp.length",
"onlyStrict":"",
"path":"TestCases/ch11/11.4/11.4.1/11.4.1-5-a-28-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS40LzExLjQuMS8xMS40LjEtNS1hLTMtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gU3ludGF4RXJyb3IgaXMgdGhyb3duIHdoZW4gZGVsZXRpbmcgYSBmdW5jdGlvbiBuYW1lDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgZnVuY3Rpb24gZnVuT2JqICgpIHsgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJkZWxldGUgZnVuT2JqIik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=",
"commentary":"",
"description":"Strict Mode - SyntaxError is thrown when deleting a function name",
"onlyStrict":"",
"path":"TestCases/ch11/11.4/11.4.1/11.4.1-5-a-3-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS40LzExLjQuMS8xMS40LjEtNS1hLTQtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gU3ludGF4RXJyb3IgaXMgdGhyb3duIHdoZW4gZGVsZXRpbmcgYSBmdW5jdGlvbiBwYXJhbWV0ZXINCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICBmdW5jdGlvbiBmdW5PYmooeCwgeSwgeikgew0KICAgICAgICAgICAgZXZhbCgiZGVsZXRlIHk7Iik7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZnVuT2JqKDEpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K",
"commentary":"",
"description":"Strict Mode - SyntaxError is thrown when deleting a function parameter",
"onlyStrict":"",
"path":"TestCases/ch11/11.4/11.4.1/11.4.1-5-a-4-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS40LzExLjQuMS8xMS40LjEtNS1hLTUtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gU3ludGF4RXJyb3IgaXMgdGhyb3duIHdoZW4gZGVsZXRpbmcgYSB2YXJpYWJsZSB3aGljaCBpcyBhIHByaW1pdGl2ZSB0eXBlIChib29sZWFuKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBfMTFfNF8xXzUgPSB0cnVlOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJkZWxldGUgXzExXzRfMV81OyIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K",
"commentary":"",
"description":"Strict Mode - SyntaxError is thrown when deleting a variable which is a primitive type (boolean)",
"onlyStrict":"",
"path":"TestCases/ch11/11.4/11.4.1/11.4.1-5-a-5-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS40LzExLjQuMS8xMS40LjEtNS1hLTVncy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gU3ludGF4RXJyb3IgaXMgdGhyb3duIHdoZW4gZGVsZXRpbmcgYSB2YXJpYWJsZSB3aGljaCBpcyBwcmltaXRpdmUgdHlwZShib29sZWFuKQ0KICogQG9ubHlTdHJpY3QNCiAqIEBuZWdhdGl2ZSBeKCg/IU5vdEVhcmx5RXJyb3IpLikqJA0KICovDQoidXNlIHN0cmljdCI7DQp2YXIgXzExXzRfMV81ID0gNzsNCnRocm93IE5vdEVhcmx5RXJyb3I7DQpkZWxldGUgXzExXzRfMV81Ow==",
"commentary":"",
"description":"Strict Mode - SyntaxError is thrown when deleting a variable which is primitive type(boolean)",
"negative":"^((?!NotEarlyError).)*$",
"onlyStrict":"",
"path":"TestCases/ch11/11.4/11.4.1/11.4.1-5-a-5gs.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS40LzExLjQuMS8xMS40LjEtNS1hLTYtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gU3ludGF4RXJyb3IgaXMgdGhyb3duIHdoZW4gZGVsZXRpbmcgYSB2YXJpYWJsZSB3aGljaCBpcyBhIHByaW1pdGl2ZSB0eXBlIChzdHJpbmcpDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIF8xMV80XzFfNSA9ICJhYmMiOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJkZWxldGUgXzExXzRfMV81OyIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K",
"commentary":"",
"description":"Strict Mode - SyntaxError is thrown when deleting a variable which is a primitive type (string)",
"onlyStrict":"",
"path":"TestCases/ch11/11.4/11.4.1/11.4.1-5-a-6-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS40LzExLjQuMS8xMS40LjEtNS1hLTctcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gU3ludGF4RXJyb3IgaXMgdGhyb3duIHdoZW4gZGVsZXRpbmcgYSB2YXJpYWJsZSBvZiB0eXBlIE9iamVjdA0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBvYmogPSBuZXcgT2JqZWN0KCk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoImRlbGV0ZSBvYmo7Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=",
"commentary":"",
"description":"Strict Mode - SyntaxError is thrown when deleting a variable of type Object",
"onlyStrict":"",
"path":"TestCases/ch11/11.4/11.4.1/11.4.1-5-a-7-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS40LzExLjQuMS8xMS40LjEtNS1hLTgtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gU3ludGF4RXJyb3IgaXMgdGhyb3duIHdoZW4gZGVsZXRpbmcgYSBmdW5jdGlvbiBvYmplY3QNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgZnVuT2JqID0gZnVuY3Rpb24gKCkgeyB9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJkZWxldGUgZnVuT2JqOyIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K",
"commentary":"",
"description":"Strict Mode - SyntaxError is thrown when deleting a function object",
"onlyStrict":"",
"path":"TestCases/ch11/11.4/11.4.1/11.4.1-5-a-8-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS40LzExLjQuMS8xMS40LjEtNS1hLTktcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gU3ludGF4RXJyb3IgaXMgdGhyb3duIHdoZW4gZGVsZXRpbmcgYSB2YXJpYWJsZSBvZiB0eXBlIGZ1bmN0aW9uIChkZWNsYXJhdGlvbikNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICBmdW5jdGlvbiBmdW5PYmogKCkgeyB9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJkZWxldGUgZnVuT2JqOyIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K",
"commentary":"",
"description":"Strict Mode - SyntaxError is thrown when deleting a variable of type function (declaration)",
"onlyStrict":"",
"path":"TestCases/ch11/11.4/11.4.1/11.4.1-5-a-9-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogVGhpcyB0ZXN0IGlzIGFjdHVhbGx5IHRlc3RpbmcgdGhlIFtbRGVsZXRlXV0gaW50ZXJuYWwgbWV0aG9kICg4LjEyLjgpLiBTaW5jZSB0aGUNCiAqIGxhbmd1YWdlIHByb3ZpZGVzIG5vIHdheSB0byBkaXJlY3RseSBleGVyY2lzZSBbW0RlbGV0ZV1dLCB0aGUgdGVzdHMgYXJlIHBsYWNlZCBoZXJlLg0KICoNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC40LTQuYS0zLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBkZWxldGUgb3BlcmF0b3IgdGhyb3dzIFR5cGVFcnJvciB3aGVuIGRlbGV0aW5nIGEgbm9uLWNvbmZpZ3VyYWJsZSBkYXRhIHByb3BlcnR5IGluIHN0cmljdCBtb2RlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICd1c2Ugc3RyaWN0JzsNCg0KICB2YXIgbyA9IHt9Ow0KICB2YXIgZGVzYyA9IHsgdmFsdWUgOiAxIH07IC8vIGFsbCBvdGhlciBhdHRyaWJ1dGVzIGRlZmF1bHQgdG8gZmFsc2UNCiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCBkZXNjKTsNCiAgDQogIC8vIE5vdywgZGVsZXRpbmcgby5mb28gc2hvdWxkIHRocm93IFR5cGVFcnJvciBiZWNhdXNlIFtbQ29uZmlndXJhYmxlXV0gb24gZm9vIGlzIGZhbHNlLg0KICB0cnkgew0KICAgIGRlbGV0ZSBvLmZvbzsNCiAgICByZXR1cm4gZmFsc2U7DQogIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K",
"commentary":"This test is actually testing the [[Delete]] internal method (8.12.8). Since the\nlanguage provides no way to directly exercise [[Delete]], the tests are placed here.",
"description":"delete operator throws TypeError when deleting a non-configurable data property in strict mode",
"onlyStrict":"",
"path":"TestCases/ch11/11.4/11.4.1/11.4.4-4.a-3-s.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gImRlbGV0ZSIgYW5kIFVuYXJ5RXhwcmVzc2lvbiBhcmUgYWxsb3dlZAogKgogKiBAcGF0aCBjaDExLzExLjQvMTEuNC4xL1MxMS40LjFfQTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGJ5IHVzaW5nIGV2YWwKICovCgovL0NIRUNLIzEKaWYgKGV2YWwoImRlbGV0ZVx1MDAwOTAiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IGRlbGV0ZVxcdTAwMDkwID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoZXZhbCgiZGVsZXRlXHUwMDBCMCIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogZGVsZXRlXFx1MDAwQjAgPT09IHRydWUnKTsgIAp9CgovL0NIRUNLIzMKaWYgKGV2YWwoImRlbGV0ZVx1MDAwQzAiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IGRlbGV0ZVxcdTAwMEMwID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoZXZhbCgiZGVsZXRlXHUwMDIwMCIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogZGVsZXRlXFx1MDAyMDAgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM1CmlmIChldmFsKCJkZWxldGVcdTAwQTAwIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiBkZWxldGVcXHUwMEEwMCA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzYKaWYgKGV2YWwoImRlbGV0ZVx1MDAwQTAiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzY6IGRlbGV0ZVxcdTAwMEEwID09PSB0cnVlJyk7ICAKfQoKLy9DSEVDSyM3CmlmIChldmFsKCJkZWxldGVcdTAwMEQwIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM3OiBkZWxldGVcXHUwMDBEMCA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzgKaWYgKGV2YWwoImRlbGV0ZVx1MjAyODAiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzg6IGRlbGV0ZVxcdTIwMjgwID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjOQppZiAoZXZhbCgiZGVsZXRlXHUyMDI5MCIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjOTogZGVsZXRlXFx1MjAyOTAgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMxMAppZiAoZXZhbCgiZGVsZXRlXHUwMDA5XHUwMDBCXHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5MCIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTA6IGRlbGV0ZVxcdTAwMDlcXHUwMDBCXFx1MDAwQ1xcdTAwMjBcXHUwMEEwXFx1MDAwQVxcdTAwMERcXHUyMDI4XFx1MjAyOTAgPT09IHRydWUnKTsKfQoK",
"commentary":"White Space and Line Terminator between \"delete\" and UnaryExpression are allowed",
"description":"Checking by using eval",
"path":"TestCases/ch11/11.4/11.4.1/S11.4.1_A1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGlzIG5vdCBSZWZlcmVuY2UsIHJldHVybiB0cnVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvUzExLjQuMV9BMi4xLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBwcmltaXRpdmUgdmFsdWUgYW5kIE9iamVjdCB2YWx1ZSBjYXNlcwogKi8KCi8vQ0hFQ0sjMQppZiAoZGVsZXRlIDEgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiBkZWxldGUgMSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKGRlbGV0ZSBuZXcgT2JqZWN0KCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiBkZWxldGUgbmV3IE9iamVjdCgpID09PSB0cnVlJyk7Cn0KCgo=",
"commentary":"If Type(x) is not Reference, return true",
"description":"Checking primitive value and Object value cases",
"path":"TestCases/ch11/11.4/11.4.1/S11.4.1_A2.1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBHZXRCYXNlKHgpIGRvZXNuJ3QgaGF2ZSBhIHByb3BlcnR5IEdldFByb3BlcnR5TmFtZSh4KSwgcmV0dXJuIHRydWUKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuMS9TMTEuNC4xX0EyLjJfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHVuZGVjbGFyZWQgdmFyaWFibGUgY2FzZQogKi8KCi8vQ0hFQ0sjMQppZiAoZGVsZXRlIHggIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiBkZWxldGUgeCA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKGRlbGV0ZSB0aGlzLnggIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiBkZWxldGUgdGhpcy54ID09PSB0cnVlJyk7Cn0KCg==",
"commentary":"If GetBase(x) doesn't have a property GetPropertyName(x), return true",
"description":"Checking undeclared variable case",
"path":"TestCases/ch11/11.4/11.4.1/S11.4.1_A2.2_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBHZXRCYXNlKHgpIGRvZXNuJ3QgaGF2ZSBhIHByb3BlcnR5IEdldFByb3BlcnR5TmFtZSh4KSwgcmV0dXJuIHRydWUKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuMS9TMTEuNC4xX0EyLjJfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIE9iamVjdCBvYmplY3QgYW5kIEZ1bmN0aW9uIG9iamVjdCBjYXNlcwogKi8KCi8vQ0hFQ0sjMQpmdW5jdGlvbiBNeUZ1bmN0aW9uKCl7fQp2YXIgTXlPYmplY3QgPSBuZXcgTXlGdW5jdGlvbigpOwppZiAoZGVsZXRlIE15T2JqZWN0LnByb3AgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiBmdW5jdGlvbiBNeUZ1bmN0aW9uKCl7fTsgdmFyIE15T2JqZWN0ID0gbmV3IE15RnVuY3Rpb24oKTsgZGVsZXRlIE15T2JqZWN0LnByb3AgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCnZhciBNeU9iamVjdCA9IG5ldyBPYmplY3QoKTsKaWYgKGRlbGV0ZSBNeU9iamVjdC5wcm9wICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogdmFyIE15T2JqZWN0ID0gbmV3IE9iamVjdCgpOyBkZWxldGUgTXlPYmplY3QucHJvcCA9PT0gdHJ1ZScpOwp9Cgo=",
"commentary":"If GetBase(x) doesn't have a property GetPropertyName(x), return true",
"description":"Checking Object object and Function object cases",
"path":"TestCases/ch11/11.4/11.4.1/S11.4.1_A2.2_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGUgcHJvcGVydHkgaGFzIHRoZSBEb250RGVsZXRlIGF0dHJpYnV0ZSwgcmV0dXJuIGZhbHNlCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvUzExLjQuMV9BMy4xLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBkZWNsYXJlZCB2YXJpYWJsZQogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IDE7CmlmIChkZWxldGUgeCAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IDE7IGRlbGV0ZSB4ID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKdmFyIHkgPSAxOwppZiAoZGVsZXRlIHRoaXMueSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMyOiB2YXIgeSA9IDE7IGRlbGV0ZSB0aGlzLnkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwpmdW5jdGlvbiBNeUZ1bmN0aW9uKCl7fTsKaWYgKGRlbGV0ZSBNeUZ1bmN0aW9uICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6IGZ1bmN0aW9uIE15RnVuY3Rpb24oKXt9OyBkZWxldGUgTXlGdW5jdGlvbiA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM0CmZ1bmN0aW9uIE15RnVuY3Rpb24oKXt9Owp2YXIgTXlPYmplY3QgPSBuZXcgTXlGdW5jdGlvbigpOwppZiAoZGVsZXRlIE15T2JqZWN0ICE9PSBmYWxzZSkgewogICRFUlJPUignIzQ6IGZ1bmN0aW9uIE15RnVuY3Rpb24oKXt9OyB2YXIgTXlPYmplY3QgPSBuZXcgTXlGdW5jdGlvbigpOyBkZWxldGUgTXlPYmplY3QgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoZGVsZXRlIE15T2JqZWN0ICE9PSBmYWxzZSkgewogICRFUlJPUignIzU6IGZ1bmN0aW9uIE15RnVuY3Rpb24oKXt9OyB2YXIgTXlPYmplY3QgPSBuZXcgTXlGdW5jdGlvbigpOyBkZWxldGUgTXlPYmplY3QgPT09IGZhbHNlJyk7Cn0KCg==",
"commentary":"If the property has the DontDelete attribute, return false",
"description":"Checking declared variable",
"path":"TestCases/ch11/11.4/11.4.1/S11.4.1_A3.1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGUgcHJvcGVydHkgZG9lc24ndCBoYXZlIHRoZSBEb250RGVsZXRlIGF0dHJpYnV0ZSwgcmV0dXJuIHRydWUKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuMS9TMTEuNC4xX0EzLjIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGRlY2xhcmVkIHZhcmlhYmxlCiAqLwoKLy9DSEVDSyMxCnggPSAxOwppZiAoZGVsZXRlIHggIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiB4ID0gMTsgZGVsZXRlIHggPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCmZ1bmN0aW9uIE15RnVuY3Rpb24oKXt9OwpNeUZ1bmN0aW9uLnByb3AgPSAxOwppZiAoZGVsZXRlIE15RnVuY3Rpb24ucHJvcCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IGZ1bmN0aW9uIE15RnVuY3Rpb24oKXt9OyBNeUZ1bmN0aW9uLnByb3AgPSAxOyBkZWxldGUgTXlGdW5jdGlvbi5wcm9wID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMwpmdW5jdGlvbiBNeUZ1bmN0aW9uKCl7fTsKdmFyIE15T2JqZWN0ID0gbmV3IE15RnVuY3Rpb24oKTsKTXlPYmplY3QucHJvcCA9IDE7CmlmIChkZWxldGUgTXlPYmplY3QucHJvcCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IGZ1bmN0aW9uIE15RnVuY3Rpb24oKXt9OyB2YXIgTXlPYmplY3QgPSBuZXcgTXlGdW5jdGlvbigpOyBNeUZ1bmN0aW9uLnByb3AgPSAxOyBkZWxldGUgTXlPYmplY3QucHJvcCA9PT0gdHJ1ZScpOwp9Cgo=",
"commentary":"If the property doesn't have the DontDelete attribute, return true",
"description":"Checking declared variable",
"path":"TestCases/ch11/11.4/11.4.1/S11.4.1_A3.2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGUgcHJvcGVydHkgZG9lc24ndCBoYXZlIHRoZSBEb250RGVsZXRlIGF0dHJpYnV0ZSwgcmVtb3ZlIHRoZSBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDExLzExLjQvMTEuNC4xL1MxMS40LjFfQTMuMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgZGVjbGFyZWQgdmFyaWFibGUKICovCgovL0NIRUNLIzEKdHJ5IHsKICB4ID0gMTsKICBkZWxldGUgeDsKICB4OyAgICAKICAkRVJST1IoJyMxOiB4ID0gMTsgZGVsZXRlIHg7IHggaXMgbm90IGV4aXN0Jyk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxOiB4ID0gMTsgZGVsZXRlIHg7IHggaXMgbm90IGV4aXN0Jyk7CiAgfQp9CgoKLy9DSEVDSyMyCmZ1bmN0aW9uIE15RnVuY3Rpb24oKXt9OwpNeUZ1bmN0aW9uLnByb3AgPSAxOwpkZWxldGUgTXlGdW5jdGlvbi5wcm9wOwppZiAoTXlGdW5jdGlvbi5wcm9wICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMyOiBmdW5jdGlvbiBNeUZ1bmN0aW9uKCl7fTsgTXlGdW5jdGlvbi5wcm9wID0gMTsgZGVsZXRlIE15RnVuY3Rpb24ucHJvcDsgTXlGdW5jdGlvbi5wcm9wID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChNeUZ1bmN0aW9uLnByb3ApKTsKCn0KCi8vQ0hFQ0sjMwpmdW5jdGlvbiBNeUZ1bmN0aW9uKCl7fTsKdmFyIE15T2JqZWN0VmFyID0gbmV3IE15RnVuY3Rpb24oKTsKTXlPYmplY3RWYXIucHJvcCA9IDE7CmRlbGV0ZSBNeU9iamVjdFZhci5wcm9wOwppZiAoTXlPYmplY3RWYXIucHJvcCAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMzogZnVuY3Rpb24gTXlGdW5jdGlvbigpe307IHZhciBNeU9iamVjdFZhciA9IG5ldyBNeUZ1bmN0aW9uKCk7IE15RnVuY3Rpb24ucHJvcCA9IDE7IGRlbGV0ZSBNeU9iamVjdFZhci5wcm9wOyBNeU9iamVjdFZhci5wcm9wID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChNeU9iamVjdFZhci5wcm9wKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoZGVsZXRlIE15T2JqZWN0VmFyICE9PSBmYWxzZSkgewogICRFUlJPUignIzQ6IGZ1bmN0aW9uIE15RnVuY3Rpb24oKXt9OyB2YXIgTXlPYmplY3RWYXIgPSBuZXcgTXlGdW5jdGlvbigpOyBkZWxldGUgTXlPYmplY3RWYXIgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNQpmdW5jdGlvbiBNeUZ1bmN0aW9uKCl7fTsKTXlPYmplY3ROb3RWYXIgPSBuZXcgTXlGdW5jdGlvbigpOwpNeU9iamVjdE5vdFZhci5wcm9wID0gMTsKZGVsZXRlIE15T2JqZWN0Tm90VmFyLnByb3A7CmlmIChNeU9iamVjdE5vdFZhci5wcm9wICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyM1OiBmdW5jdGlvbiBNeUZ1bmN0aW9uKCl7fTsgTXlPYmplY3ROb3RWYXIgPSBuZXcgTXlGdW5jdGlvbigpOyBNeUZ1bmN0aW9uLnByb3AgPSAxOyBkZWxldGUgTXlPYmplY3ROb3RWYXIucHJvcDsgTXlPYmplY3ROb3RWYXIucHJvcCA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoTXlPYmplY3ROb3RWYXIucHJvcCkpOwp9CgovL0NIRUNLIzYKaWYgKGRlbGV0ZSBNeU9iamVjdE5vdFZhciAhPT0gdHJ1ZSkgewogICRFUlJPUignIzY6IGZ1bmN0aW9uIE15RnVuY3Rpb24oKXt9OyB2YXIgTXlPYmplY3ROb3RWYXIgPSBuZXcgTXlGdW5jdGlvbigpOyBkZWxldGUgTXlPYmplY3ROb3RWYXIgPT09IHRydWUnKTsKfQoKCg==",
"commentary":"If the property doesn't have the DontDelete attribute, remove the property",
"description":"Checking declared variable",
"path":"TestCases/ch11/11.4/11.4.1/S11.4.1_A3.3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAiRGVsZXRlIiBvcGVyYXRvciByZW1vdmVzIHByb3BlcnR5LCB3aGljaCBpcyByZWZlcmVuY2UgdG8gdGhlIG9iamVjdCwgbm90IHRoZSBvYmplY3QKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuMS9TMTEuNC4xX0E0LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB0d28gcmVmZXJlbmNlIGJ5IG9uZSBvYmplY3QKICovCgovL0NIRUNLIzEKdmFyIG9iaiA9IG5ldyBPYmplY3QoKTsKdmFyIHJlZiA9IG9iajsKZGVsZXRlIHJlZjsKaWYgKHR5cGVvZiBvYmogIT09ICJvYmplY3QiKSB7CiAgJEVSUk9SKCcjMTogb2JqID0gbmV3IE9iamVjdCgpOyByZWYgPSBvYmo7IGRlbGV0ZSByZWY7IHR5cGVvZiBvYmogPT09ICJvYmplY3QiLiBBY3R1YWw6ICcgKyAodHlwZW9mIG9iaikpOwp9CgoK",
"commentary":"\"Delete\" operator removes property, which is reference to the object, not the object",
"description":"Checking two reference by one object",
"path":"TestCases/ch11/11.4/11.4.1/S11.4.1_A4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMTEgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIHN0cmljdCBkZWxldGUgc2hvdWxkIGVpdGhlciBzdWNjZWVkLCByZXR1cm5pbmcgdHJ1ZSwgb3IgaXQKICogc2hvdWxkIGZhaWwgYnkgdGhyb3dpbmcgYSBUeXBlRXJyb3IuIFVuZGVyIG5vIGNpcmN1bXN0YW5jZXMKICogc2hvdWxkIGEgc3RyaWN0IGRlbGV0ZSByZXR1cm4gZmFsc2UuCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvUzExLjQuMV9BNS5qcwogKiBAZGVzY3JpcHRpb24gU2VlIGlmIGEgc3RyaWN0IGRlbGV0ZSByZXR1cm5zIGZhbHNlIHdoZW4gZGVsZXRpbmcgYQogKiBub24tc3RhbmRhcmQgcHJvcGVydHkuCiAqIEBvbmx5U3RyaWN0CiAqLwoKInVzZSBzdHJpY3QiOwoKdmFyIHJlTmFtZXMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhSZWdFeHApOwpmb3IgKHZhciBpID0gMCwgbGVuID0gcmVOYW1lcy5sZW5ndGg7IGkgPCBsZW47IGkrKykgewogIHZhciByZU5hbWUgPSByZU5hbWVzW2ldOwogIGlmIChyZU5hbWUgIT09ICdwcm90b3R5cGUnKSB7CiAgICB2YXIgZGVsZXRlZCA9ICd1bmFzc2lnbmVkJzsKICAgIHRyeSB7CiAgICAgIGRlbGV0ZWQgPSBkZWxldGUgUmVnRXhwW3JlTmFtZV07CiAgICB9IGNhdGNoIChlcnIpIHsKICAgICAgaWYgKCEoZXJyIGluc3RhbmNlb2YgVHlwZUVycm9yKSkgewogICAgICAgICRFUlJPUignIzE6IHN0cmljdCBkZWxldGUgdGhyZXcgYSBub24tVHlwZUVycm9yOiAnICsgZXJyKTsKICAgICAgfQogICAgICAvLyBmYWxsIHRocm91Z2gKICAgIH0KICAgIGlmIChkZWxldGVkID09PSBmYWxzZSkgewogICAgICAkRVJST1IoJyMyOiBTdHJpY3QgZGVsZXRlIHJldHVybmVkIGZhbHNlJyk7CiAgICB9CiAgfQp9Cgo=",
"commentary":"A strict delete should either succeed, returning true, or it\nshould fail by throwing a TypeError. Under no circumstances\nshould a strict delete return false.",
"description":"See if a strict delete returns false when deleting a\nnon-standard property.",
"onlyStrict":"",
"path":"TestCases/ch11/11.4/11.4.1/S11.4.1_A5.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gInZvaWQiIGFuZCBVbmFyeUV4cHJlc3Npb24gYXJlIGFsbG93ZWQKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuMi9TMTEuNC4yX0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBieSB1c2luZyBldmFsCiAqLwoKLy9DSEVDSyMxCmlmIChldmFsKCJ2b2lkXHUwMDA5MCIpICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMxOiB2b2lkXFx1MDAwOTAgPT09IHVuZGVmaW5lZCcpOwp9CgovL0NIRUNLIzIKaWYgKGV2YWwoInZvaWRcdTAwMEIwIikgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzI6IHZvaWRcXHUwMDBCMCA9PT0gdW5kZWZpbmVkJyk7ICAKfQoKLy9DSEVDSyMzCmlmIChldmFsKCJ2b2lkXHUwMDBDMCIpICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMzOiB2b2lkXFx1MDAwQzAgPT09IHVuZGVmaW5lZCcpOwp9CgovL0NIRUNLIzQKaWYgKGV2YWwoInZvaWRcdTAwMjAwIikgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzQ6IHZvaWRcXHUwMDIwMCA9PT0gdW5kZWZpbmVkJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoZXZhbCgidm9pZFx1MDBBMDAiKSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjNTogdm9pZFxcdTAwQTAwID09PSB1bmRlZmluZWQnKTsKfQoKLy9DSEVDSyM2CmlmIChldmFsKCJ2b2lkXHUwMDBBMCIpICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyM2OiB2b2lkXFx1MDAwQTAgPT09IHVuZGVmaW5lZCcpOyAgCn0KCi8vQ0hFQ0sjNwppZiAoZXZhbCgidm9pZFx1MDAwRDAiKSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjNzogdm9pZFxcdTAwMEQwID09PSB1bmRlZmluZWQnKTsKfQoKLy9DSEVDSyM4CmlmIChldmFsKCJ2b2lkXHUyMDI4MCIpICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyM4OiB2b2lkXFx1MjAyODAgPT09IHVuZGVmaW5lZCcpOwp9CgovL0NIRUNLIzkKaWYgKGV2YWwoInZvaWRcdTIwMjkwIikgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzk6IHZvaWRcXHUyMDI5MCA9PT0gdW5kZWZpbmVkJyk7Cn0KCi8vQ0hFQ0sjMTAKaWYgKGV2YWwoInZvaWRcdTAwMDlcdTAwMEJcdTAwMENcdTAwMjBcdTAwQTBcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjkwIikgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzEwOiB2b2lkXFx1MDAwOVxcdTAwMEJcXHUwMDBDXFx1MDAyMFxcdTAwQTBcXHUwMDBBXFx1MDAwRFxcdTIwMjhcXHUyMDI5MCA9PT0gdW5kZWZpbmVkJyk7Cn0KCg==",
"commentary":"White Space and Line Terminator between \"void\" and UnaryExpression are allowed",
"description":"Checking by using eval",
"path":"TestCases/ch11/11.4/11.4.2/S11.4.2_A1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAidm9pZCIgdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjQvMTEuNC4yL1MxMS40LjJfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIEVpdGhlciBUeXBlKHgpIGlzIG5vdCBSZWZlcmVuY2Ugb3IgR2V0QmFzZSh4KSBpcyBub3QgbnVsbAogKi8KCi8vQ0hFQ0sjMQppZiAodm9pZCAwICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMxOiB2b2lkIDAgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKHZvaWQgMCkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAwOwppZiAodm9pZCB4ICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IDA7IHZvaWQgeCA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAodm9pZCB4KSk7Cn0KCi8vQ0hFQ0sjMwp2YXIgeCA9IG5ldyBPYmplY3QoKTsKaWYgKHZvaWQgeCAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBuZXcgT2JqZWN0KCk7IHZvaWQgeCA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAodm9pZCB4KSk7Cn0KCg==",
"commentary":"Operator \"void\" uses GetValue",
"description":"Either Type(x) is not Reference or GetBase(x) is not null",
"path":"TestCases/ch11/11.4/11.4.2/S11.4.2_A2_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAidm9pZCIgdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjQvMTEuNC4yL1MxMS40LjJfQTJfVDIuanMKICogQGRlc2NyaXB0aW9uIElmIEdldEJhc2UoeCkgaXMgbnVsbCwgdGhyb3cgUmVmZXJlbmNlRXJyb3IKICogQG5lZ2F0aXZlCiAqLwoKLy9DSEVDSyMxCnZvaWQgeDsKCg==",
"commentary":"Operator \"void\" uses GetValue",
"description":"If GetBase(x) is null, throw ReferenceError",
"negative":"",
"path":"TestCases/ch11/11.4/11.4.2/S11.4.2_A2_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAidm9pZCIgZXZhbHVhdGVzIFVuYXJ5RXhwcmVzc2lvbiBhbmQgcmV0dXJucyB1bmRlZmluZWQKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuMi9TMTEuNC4yX0E0X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGJvb2xlYW4gcHJpbWl0aXZlIG9yIEJvb2xlYW4gb2JqZWN0CiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gZmFsc2U7IAppZiAodm9pZCB4ICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IGZhbHNlOyB2b2lkIHggPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKHZvaWQgeCkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSBuZXcgQm9vbGVhbih0cnVlKTsKaWYgKHZvaWQgeCAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBuZXcgQm9vbGVhbih0cnVlKTsgdm9pZCB4ID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArICh2b2lkIHgpKTsKfQoK",
"commentary":"Operator \"void\" evaluates UnaryExpression and returns undefined",
"description":"Type(x) is boolean primitive or Boolean object",
"path":"TestCases/ch11/11.4/11.4.2/S11.4.2_A4_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAidm9pZCIgZXZhbHVhdGVzIFVuYXJ5RXhwcmVzc2lvbiBhbmQgcmV0dXJucyB1bmRlZmluZWQKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuMi9TMTEuNC4yX0E0X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIG51bWJlciBwcmltaXRpdmUgb3IgTnVtYmVyIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IDAuMTsKaWYgKHZvaWQgeCAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSAwLjE7IHZvaWQgeCA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAodm9pZCB4KSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgeCA9IG5ldyBOdW1iZXIoLTEuMSk7CmlmICh2b2lkIHggIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzI6IHZhciB4ID0gbmV3IE51bWJlcigtMS4xKTsgdm9pZCB4ID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArICh2b2lkIHgpKTsKfQoK",
"commentary":"Operator \"void\" evaluates UnaryExpression and returns undefined",
"description":"Type(x) is number primitive or Number object",
"path":"TestCases/ch11/11.4/11.4.2/S11.4.2_A4_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAidm9pZCIgZXZhbHVhdGVzIFVuYXJ5RXhwcmVzc2lvbiBhbmQgcmV0dXJucyB1bmRlZmluZWQKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuMi9TMTEuNC4yX0E0X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIHN0cmluZyBwcmltaXRpdmUgb2YgU3RyaW5nIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9ICIxIjsKaWYgKHZvaWQgeCAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSAiMSI7IHZvaWQgeCA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAodm9pZCB4KSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgeCA9ICJ4IjsgCmlmIChpc05hTih2b2lkIHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSAieCI7IHZvaWQgeCA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAodm9pZCB4KSk7Cn0KCi8vQ0hFQ0sjMwp2YXIgeCA9IG5ldyBTdHJpbmcoIi0xIik7CmlmICh2b2lkIHggIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzM6IHZhciB4ID0gbmV3IFN0cmluZygiLTEiKTsgdm9pZCB4ID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArICh2b2lkIHgpKTsKfQoK",
"commentary":"Operator \"void\" evaluates UnaryExpression and returns undefined",
"description":"Type(x) is string primitive of String object",
"path":"TestCases/ch11/11.4/11.4.2/S11.4.2_A4_T3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAidm9pZCIgZXZhbHVhdGVzIFVuYXJ5RXhwcmVzc2lvbiBhbmQgcmV0dXJucyB1bmRlZmluZWQKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuMi9TMTEuNC4yX0E0X1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIHVuZGVmaW5lZCBvciBudWxsCiAqLwoKLy9DSEVDSyMxCnZhciB4OyAKaWYgKGlzTmFOKHZvaWQgeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiB2YXIgeDsgdm9pZCB4ID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArICh2b2lkIHgpKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gbnVsbDsKaWYgKHZvaWQgeCAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBudWxsOyB2b2lkIHggPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKHZvaWQgeCkpOwp9Cgo=",
"commentary":"Operator \"void\" evaluates UnaryExpression and returns undefined",
"description":"Type(x) is undefined or null",
"path":"TestCases/ch11/11.4/11.4.2/S11.4.2_A4_T4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAidm9pZCIgZXZhbHVhdGVzIFVuYXJ5RXhwcmVzc2lvbiBhbmQgcmV0dXJucyB1bmRlZmluZWQKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuMi9TMTEuNC4yX0E0X1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIE9iamVjdCBvYmplY3Qgb3IgRnVuY3Rpb24gb2JqZWN0CiAqLwoKLy9DSEVDSyMxCnZhciB4ID0ge307IAppZiAoaXNOYU4odm9pZCB4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IHZhciB4ID0ge307IHZvaWQgeCA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAodm9pZCB4KSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgeCA9IGZ1bmN0aW9uKCl7cmV0dXJuIDF9OyAKaWYgKGlzTmFOKHZvaWQgeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IGZ1bmN0aW9uKCl7cmV0dXJuIDF9OyB2b2lkIHggPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKHZvaWQgeCkpOwp9Cgo=",
"commentary":"Operator \"void\" evaluates UnaryExpression and returns undefined",
"description":"Type(x) is Object object or Function object",
"path":"TestCases/ch11/11.4/11.4.2/S11.4.2_A4_T5.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAidm9pZCIgZXZhbHVhdGVzIFVuYXJ5RXhwcmVzc2lvbiBhbmQgcmV0dXJucyB1bmRlZmluZWQKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuMi9TMTEuNC4yX0E0X1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBTaW1wbGUgQXNzaWdubWVudCBvcGVyYXRvcgogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IDA7CmlmICh2b2lkICh4ID0gMSkgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6IHZhciB4ID0gMDsgdm9pZCAoeCA9IDEpID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArICh2b2lkICh4ID0gMSkpKTsKfSBlbHNlIHsKICBpZiAoeCAhPT0gMSkgewogICAgJEVSUk9SKCcjMTogdmFyIHggPSAwOyB2b2lkICh4ID0gMSk7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7CiAgfSAKfQoK",
"commentary":"Operator \"void\" evaluates UnaryExpression and returns undefined",
"description":"Checking Simple Assignment operator",
"path":"TestCases/ch11/11.4/11.4.2/S11.4.2_A4_T6.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gInR5cGVvZiIgYW5kIFVuYXJ5RXhwcmVzc2lvbiBhcmUgYWxsb3dlZAogKgogKiBAcGF0aCBjaDExLzExLjQvMTEuNC4zL1MxMS40LjNfQTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGJ5IHVzaW5nIGV2YWwKICovCgovL0NIRUNLIzEKaWYgKGV2YWwoInZhciB4ID0gMDsgdHlwZW9mXHUwMDA5eCIpICE9PSAibnVtYmVyIikgewogICRFUlJPUignIzE6IHZhciB4ID0gMDsgdHlwZW9mXFx1MDAwOXg7IHggPT09ICJudW1iZXIiLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKaWYgKGV2YWwoInZhciB4ID0gMDsgdHlwZW9mXHUwMDBCeCIpICE9PSAibnVtYmVyIikgewogICRFUlJPUignIzI6IHZhciB4ID0gMDsgdHlwZW9mXFx1MDAwQng7IHggPT09ICJudW1iZXIiLiBBY3R1YWw6ICcgKyAoeCkpOyAgCn0KCi8vQ0hFQ0sjMwppZiAoZXZhbCgidmFyIHggPSAwOyB0eXBlb2ZcdTAwMEN4IikgIT09ICJudW1iZXIiKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSAwOyB0eXBlb2ZcXHUwMDBDeDsgeCA9PT0gIm51bWJlciIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAppZiAoZXZhbCgidmFyIHggPSAwOyB0eXBlb2ZcdTAwMjB4IikgIT09ICJudW1iZXIiKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSAwOyB0eXBlb2ZcXHUwMDIweDsgeCA9PT0gIm51bWJlciIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNQppZiAoZXZhbCgidmFyIHggPSAwOyB0eXBlb2ZcdTAwQTB4IikgIT09ICJudW1iZXIiKSB7CiAgJEVSUk9SKCcjNTogdmFyIHggPSAwOyB0eXBlb2ZcXHUwMEEweDsgeCA9PT0gIm51bWJlciIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNgppZiAoZXZhbCgidmFyIHggPSAwOyB0eXBlb2ZcdTAwMEF4IikgIT09ICJudW1iZXIiKSB7CiAgJEVSUk9SKCcjNjogdmFyIHggPSAwOyB0eXBlb2ZcXHUwMDBBeDsgeCA9PT0gIm51bWJlciIuIEFjdHVhbDogJyArICh4KSk7ICAKfQoKLy9DSEVDSyM3CmlmIChldmFsKCJ2YXIgeCA9IDA7IHR5cGVvZlx1MDAwRHgiKSAhPT0gIm51bWJlciIpIHsKICAkRVJST1IoJyM3OiB2YXIgeCA9IDA7IHR5cGVvZlxcdTAwMER4OyB4ID09PSAibnVtYmVyIi4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM4CmlmIChldmFsKCJ2YXIgeCA9IDA7IHR5cGVvZlx1MjAyOHgiKSAhPT0gIm51bWJlciIpIHsKICAkRVJST1IoJyM4OiB2YXIgeCA9IDA7IHR5cGVvZlxcdTIwMjh4OyB4ID09PSAibnVtYmVyIi4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM5CmlmIChldmFsKCJ2YXIgeCA9IDA7IHR5cGVvZlx1MjAyOXgiKSAhPT0gIm51bWJlciIpIHsKICAkRVJST1IoJyM5OiB2YXIgeCA9IDA7IHR5cGVvZlxcdTIwMjl4OyB4ID09PSAibnVtYmVyIi4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMxMAppZiAoZXZhbCgidmFyIHggPSAwOyB0eXBlb2ZcdTAwMDlcdTAwMEJcdTAwMENcdTAwMjBcdTAwQTBcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjl4IikgIT09ICJudW1iZXIiKSB7CiAgJEVSUk9SKCcjMTA6IHZhciB4ID0gMDsgdHlwZW9mXFx1MDAwOVxcdTAwMEJcXHUwMDBDXFx1MDAyMFxcdTAwQTBcXHUwMDBBXFx1MDAwRFxcdTIwMjhcXHUyMDI5eDsgeCA9PT0gIm51bWJlciIuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==",
"commentary":"White Space and Line Terminator between \"typeof\" and UnaryExpression are allowed",
"description":"Checking by using eval",
"path":"TestCases/ch11/11.4/11.4.3/S11.4.3_A1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAidHlwZW9mIiB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjMvUzExLjQuM19BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gRWl0aGVyIFR5cGUoeCkgaXMgbm90IFJlZmVyZW5jZSBvciBHZXRCYXNlKHgpIGlzIG5vdCBudWxsCiAqLwoKLy9DSEVDSyMxCmlmICh0eXBlb2YgMCAhPT0gIm51bWJlciIpIHsKICAkRVJST1IoJyMxOiB0eXBlb2YgMCA9PT0gIm51bWJlciIuIEFjdHVhbDogJyArICh0eXBlb2YgMCkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAwOwppZiAodHlwZW9mIHggIT09ICJudW1iZXIiKSB7CiAgJEVSUk9SKCcjMjogdHlwZW9mIHggPT09ICJudW1iZXIiLiBBY3R1YWw6ICcgKyAodHlwZW9mIHgpKTsKfQoKLy9DSEVDSyMzCnZhciB4ID0gbmV3IE9iamVjdCgpOwppZiAodHlwZW9mIHggIT09ICJvYmplY3QiKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBuZXcgT2JqZWN0KCk7IHR5cGVvZiB4ID09PSAib2JqZWN0Ii4gQWN0dWFsOiAnICsgKHR5cGVvZiB4KSk7Cn0KCg==",
"commentary":"Operator \"typeof\" uses GetValue",
"description":"Either Type(x) is not Reference or GetBase(x) is not null",
"path":"TestCases/ch11/11.4/11.4.3/S11.4.3_A2_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAidHlwZW9mIiB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjMvUzExLjQuM19BMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gSWYgR2V0QmFzZSh4KSBpcyBudWxsLCByZXR1cm4gInVuZGVmaW5lZCIKICovCgovL0NIRUNLIzEKaWYgKHR5cGVvZiB4ICE9PSAidW5kZWZpbmVkIikgewogICRFUlJPUignIzE6IHR5cGVvZiB4ID09PSAidW5kZWZpbmVkIi4gQWN0dWFsOiAnICsgKHR5cGVvZiB4KSk7Cn0KCg==",
"commentary":"Operator \"typeof\" uses GetValue",
"description":"If GetBase(x) is null, return \"undefined\"",
"path":"TestCases/ch11/11.4/11.4.3/S11.4.3_A2_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZXN1bHQgb2YgYXBwbHlpbmcgInR5cGVvZiIgb3BlcmF0b3IgdG8gdW5kZWZpbmVkIGlzICJ1bmRlZmluZWQiCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjMvUzExLjQuM19BMy4xLmpzCiAqIEBkZXNjcmlwdGlvbiB0eXBlb2YgdW5kZWZpbmVkID09PSAidW5kZWZpbmVkIgogKi8KCi8vQ0hFQ0sjMQppZiAodHlwZW9mIHVuZGVmaW5lZCAhPT0gInVuZGVmaW5lZCIpIHsKICAkRVJST1IoJyMxOiB0eXBlb2YgdW5kZWZpbmVkID09PSAidW5kZWZpbmVkIi4gQWN0dWFsOiAnICsgKHR5cGVvZiB1bmRlZmluZWQpKTsKfQoKLy9DSEVDSyMyCmlmICh0eXBlb2Ygdm9pZCAwICE9PSAidW5kZWZpbmVkIikgewogICRFUlJPUignIzI6IHR5cGVvZiB2b2lkIDAgPT09ICJ1bmRlZmluZWQiLiBBY3R1YWw6ICcgKyAodHlwZW9mIHZvaWQgMCkpOwp9Cgo=",
"commentary":"Result of applying \"typeof\" operator to undefined is \"undefined\"",
"description":"typeof undefined === \"undefined\"",
"path":"TestCases/ch11/11.4/11.4.3/S11.4.3_A3.1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZXN1bHQgb2YgYXBwbHlpbmcgInR5cGVvZiIgb3BlcmF0b3IgdG8gbnVsbCBpcyAib2JqZWN0IgogKgogKiBAcGF0aCBjaDExLzExLjQvMTEuNC4zL1MxMS40LjNfQTMuMi5qcwogKiBAZGVzY3JpcHRpb24gdHlwZW9mIG51bGwgPT09ICJvYmplY3QiCiAqLwoKLy9DSEVDSyMxCmlmICh0eXBlb2YgbnVsbCAhPT0gIm9iamVjdCIpIHsKICAkRVJST1IoJyMxOiB0eXBlb2YgbnVsbCA9PT0gIm9iamVjdCIuIEFjdHVhbDogJyArICh0eXBlb2YgbnVsbCkpOwp9CgovL0NIRUNLIzIKaWYgKHR5cGVvZiBSZWdFeHAoIjAiKS5leGVjKCIxIikgIT09ICJvYmplY3QiKSB7CiAgJEVSUk9SKCcjMjogdHlwZW9mIFJlZ0V4cCgiMCIpLmV4ZWMoIjEiKSA9PT0gIm9iamVjdCIuIEFjdHVhbDogJyArICh0eXBlb2YgUmVnRXhwKCIwIikuZXhlYygiMSIpKSk7Cn0KCg==",
"commentary":"Result of applying \"typeof\" operator to null is \"object\"",
"description":"typeof null === \"object\"",
"path":"TestCases/ch11/11.4/11.4.3/S11.4.3_A3.2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZXN1bHQgb2YgYXBwbHlpbmcgInR5cGVvZiIgb3BlcmF0b3IgdG8gYm9vbGVhbiBpcyAiYm9vbGVhbiIKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuMy9TMTEuNC4zX0EzLjMuanMKICogQGRlc2NyaXB0aW9uIHR5cGVvZiAoYm9vbGVhbiB2YWx1ZSkgPT09ICJib29sZWFuIgogKi8KCi8vQ0hFQ0sjMQppZiAodHlwZW9mIHRydWUgIT09ICJib29sZWFuIikgewogICRFUlJPUignIzE6IHR5cGVvZiB0cnVlID09PSAiYm9vbGVhbiIuIEFjdHVhbDogJyArICh0eXBlb2YgdHJ1ZSkpOwp9CgovL0NIRUNLIzIKaWYgKHR5cGVvZiBmYWxzZSAhPT0gImJvb2xlYW4iKSB7CiAgJEVSUk9SKCcjMjogdHlwZW9mIGZhbHNlID09PSAiYm9vbGVhbiIuIEFjdHVhbDogJyArICh0eXBlb2YgZmFsc2UpKTsKfQoKLy9DSEVDSyMzCmlmICh0eXBlb2YgIS0xICE9PSAiYm9vbGVhbiIpIHsKICAkRVJST1IoJyMzOiB0eXBlb2YgIS0xID09PSAiYm9vbGVhbiIuIEFjdHVhbDogJyArICh0eXBlb2YgIS0xKSk7Cn0KCg==",
"commentary":"Result of applying \"typeof\" operator to boolean is \"boolean\"",
"description":"typeof (boolean value) === \"boolean\"",
"path":"TestCases/ch11/11.4/11.4.3/S11.4.3_A3.3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZXN1bHQgb2YgYXBweWluZyAidHlwZW9mIiBvcGVyYXRvciB0byBudW1iZXIgaXMgIm51bWJlciIKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuMy9TMTEuNC4zX0EzLjQuanMKICogQGRlc2NyaXB0aW9uIHR5cGVvZiAobnVtYmVyIHZhbHVlKSA9PT0gIm51bWJlciIKICovCgovL0NIRUNLIzEKaWYgKHR5cGVvZiAxICE9PSAibnVtYmVyIikgewogICRFUlJPUignIzE6IHR5cGVvZiAxID09PSAibnVtYmVyIi4gQWN0dWFsOiAnICsgKHR5cGVvZiAxKSk7Cn0KCi8vQ0hFQ0sjMgppZiAodHlwZW9mIE51bWJlci5OYU4gIT09ICJudW1iZXIiKSB7CiAgJEVSUk9SKCcjMjogdHlwZW9mIE5hTiA9PT0gIm51bWJlciIuIEFjdHVhbDogJyArICh0eXBlb2YgTmFOKSk7Cn0KCi8vQ0hFQ0sjMwppZiAodHlwZW9mIE51bWJlci5QT1NJVElWRV9JTkZJTklUWSAhPT0gIm51bWJlciIpIHsKICAkRVJST1IoJyMzOiB0eXBlb2YgSW5maW5pdHkgPT09ICJudW1iZXIiLiBBY3R1YWw6ICcgKyAodHlwZW9mIEluZmluaXR5KSk7Cn0KCi8vQ0hFQ0sjNAppZiAodHlwZW9mIE51bWJlci5ORUdBVElWRV9JTkZJTklUWSAhPT0gIm51bWJlciIpIHsKICAkRVJST1IoJyM0OiB0eXBlb2YgLUluZmluaXR5ID09PSAibnVtYmVyIi4gQWN0dWFsOiAnICsgKHR5cGVvZiAtSW5maW5pdHkpKTsKfQoKLy9DSEVDSyM1CmlmICh0eXBlb2YgTWF0aC5QSSAhPT0gIm51bWJlciIpIHsKICAkRVJST1IoJyM1OiB0eXBlb2YgTWF0aC5QSSA9PT0gIm51bWJlciIuIEFjdHVhbDogJyArICh0eXBlb2YgTWF0aC5QSSkpOwp9Cgo=",
"commentary":"Result of appying \"typeof\" operator to number is \"number\"",
"description":"typeof (number value) === \"number\"",
"path":"TestCases/ch11/11.4/11.4.3/S11.4.3_A3.4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZXN1bHQgb2YgYXBweWluZyAidHlwZW9mIiBvcGVyYXRvciB0byBzdHJpbmcgaXMgInN0cmluZyIKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuMy9TMTEuNC4zX0EzLjUuanMKICogQGRlc2NyaXB0aW9uIHR5cGVvZiAoc3RyaW5nIHZhbHVlKSA9PT0gInN0cmluZyIKICovCgovL0NIRUNLIzEKaWYgKHR5cGVvZiAiMSIgIT09ICJzdHJpbmciKSB7CiAgJEVSUk9SKCcjMTogdHlwZW9mICIxIiA9PT0gInN0cmluZyIuIEFjdHVhbDogJyArICh0eXBlb2YgIjEiKSk7Cn0KCi8vQ0hFQ0sjMgppZiAodHlwZW9mICJOYU4iICE9PSAic3RyaW5nIikgewogICRFUlJPUignIzI6IHR5cGVvZiAiTmFOIiA9PT0gInN0cmluZyIuIEFjdHVhbDogJyArICh0eXBlb2YgIk5hTiIpKTsKfQoKLy9DSEVDSyMzCmlmICh0eXBlb2YgIkluZmluaXR5IiAhPT0gInN0cmluZyIpIHsKICAkRVJST1IoJyMzOiB0eXBlb2YgIkluZmluaXR5IiA9PT0gInN0cmluZyIuIEFjdHVhbDogJyArICh0eXBlb2YgIkluZmluaXR5IikpOwp9CgovL0NIRUNLIzQKaWYgKHR5cGVvZiAiIiAhPT0gInN0cmluZyIpIHsKICAkRVJST1IoJyM0OiB0eXBlb2YgIiIgPT09ICJzdHJpbmciLiBBY3R1YWw6ICcgKyAodHlwZW9mICIiKSk7Cn0KCi8vQ0hFQ0sjNQppZiAodHlwZW9mICJ0cnVlIiAhPT0gInN0cmluZyIpIHsKICAkRVJST1IoJyM1OiB0eXBlb2YgInRydWUiID09PSAic3RyaW5nIi4gQWN0dWFsOiAnICsgKHR5cGVvZiAidHJ1ZSIpKTsKfQoKLy9DSEVDSyM2CmlmICh0eXBlb2YgRGF0ZSgpICE9PSAic3RyaW5nIikgewogICRFUlJPUignIzY6IHR5cGVvZiBEYXRlKCkgPT09ICJzdHJpbmciLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGUoKSkpOwp9Cgo=",
"commentary":"Result of appying \"typeof\" operator to string is \"string\"",
"description":"typeof (string value) === \"string\"",
"path":"TestCases/ch11/11.4/11.4.3/S11.4.3_A3.5.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZXN1bHQgb2YgYXBwbHlpbmcgInR5cGVvZiIgb3BlcmF0b3IgdG8gdGhlIG9iamVjdCB0aGF0IGlzIG5hdGl2ZSBhbmQgZG9lc24ndCBpbXBsZW1lbnQgW1tDYWxsXV0gaXMgIm9iamVjdCIKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuMy9TMTEuNC4zX0EzLjYuanMKICogQGRlc2NyaXB0aW9uIHR5cGVvZiAob2JqZWN0IHdpdGhvdXQgW1tDYWxsXV0pID09PSAib2JqZWN0IgogKi8KCi8vQ0hFQ0sjMQppZiAodHlwZW9mIHRoaXMgIT09ICJvYmplY3QiKSB7CiAgJEVSUk9SKCcjMTogdHlwZW9mIHRoaXMgPT09ICJvYmplY3QiLiBBY3R1YWw6ICcgKyAodHlwZW9mIHRoaXMpKTsKfQoKLy9DSEVDSyMyCmlmICh0eXBlb2YgbmV3IE9iamVjdCgpICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzI6IHR5cGVvZiBuZXcgT2JqZWN0KCkgPT09ICJvYmplY3QiLiBBY3R1YWw6ICcgKyAodHlwZW9mIG5ldyBPYmplY3QoKSkpOwp9CgovL0NIRUNLIzMKaWYgKHR5cGVvZiBuZXcgQXJyYXkoMSwyLDMpICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzM6IHR5cGVvZiBuZXcgQXJyYXkoMSwyLDMpID09PSAib2JqZWN0Ii4gQWN0dWFsOiAnICsgKHR5cGVvZiBuZXcgQXJyYXkoMSwyLDMpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAodHlwZW9mIEFycmF5KDEsMiwzKSAhPT0gIm9iamVjdCIpIHsKICAkRVJST1IoJyM0OiB0eXBlb2YgQXJyYXkoMSwyLDMpID09PSAib2JqZWN0Ii4gQWN0dWFsOiAnICsgKHR5cGVvZiBBcnJheSgxLDIsMykpKTsKfQoKLy9DSEVDSyM1CmlmICh0eXBlb2YgbmV3IFN0cmluZygieCIpICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzU6IHR5cGVvZiBuZXcgU3RyaW5nKCJ4IikgPT09ICJvYmplY3QiLiBBY3R1YWw6ICcgKyAodHlwZW9mIG5ldyBTdHJpbmcoIngiKSkpOwp9CgovL0NIRUNLIzYKaWYgKHR5cGVvZiBuZXcgQm9vbGVhbih0cnVlKSAhPT0gIm9iamVjdCIpIHsKICAkRVJST1IoJyM2OiB0eXBlb2YgbmV3IEJvb2xlYW4odHJ1ZSkgPT09ICJvYmplY3QiLiBBY3R1YWw6ICcgKyAodHlwZW9mIG5ldyBCb29sZWFuKHRydWUpKSk7Cn0KCi8vQ0hFQ0sjNwppZiAodHlwZW9mIG5ldyBOdW1iZXIoMSkgIT09ICJvYmplY3QiKSB7CiAgJEVSUk9SKCcjNzogdHlwZW9mIG5ldyBOdW1iZXIoMSkgPT09ICJvYmplY3QiLiBBY3R1YWw6ICcgKyAodHlwZW9mIG5ldyBOdW1iZXIoMSkpKTsKfQoKLy9DSEVDSyM4Ci8vVGhlIE1hdGggb2JqZWN0IGRvZXMgbm90IGhhdmUgYSBbW0NvbnN0cnVjdF1dIHByb3BlcnR5OyAKLy9pdCBpcyBub3QgcG9zc2libGUgdG8gdXNlIHRoZSBNYXRoIG9iamVjdCBhcyBhIGNvbnN0cnVjdG9yIHdpdGggdGhlIG5ldyBvcGVyYXRvci4KLy9UaGUgTWF0aCBvYmplY3QgZG9lcyBub3QgaGF2ZSBhIFtbQ2FsbF1dIHByb3BlcnR5OyBpdCBpcyBub3QgcG9zc2libGUgdG8gaW52b2tlIHRoZSBNYXRoIG9iamVjdCBhcyBhIG9iamVjdC4KaWYgKHR5cGVvZiBNYXRoICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzg6IHR5cGVvZiBNYXRoID09PSAib2JqZWN0Ii4gQWN0dWFsOiAnICsgKHR5cGVvZiBNYXRoKSk7Cn0KCi8vQ0hFQ0sjOQppZiAodHlwZW9mIG5ldyBEYXRlKCkgIT09ICJvYmplY3QiKSB7CiAgJEVSUk9SKCcjOTogdHlwZW9mIG5ldyBEYXRlKCkgPT09ICJvYmplY3QiLiBBY3R1YWw6ICcgKyAodHlwZW9mIG5ldyBEYXRlKCkpKTsKfQoKLy9DSEVDSyMxMAppZiAodHlwZW9mIG5ldyBFcnJvcigpICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzEwOiB0eXBlb2YgbmV3IEVycm9yKCkgPT09ICJvYmplY3QiLiBBY3R1YWw6ICcgKyAodHlwZW9mIG5ldyBFcnJvcigpKSk7Cn0KCi8vQ0hFQ0sjMTEKaWYgKHR5cGVvZiBuZXcgUmVnRXhwKCkgIT09ICJvYmplY3QiKSB7CiAgJEVSUk9SKCcjMTE6IHR5cGVvZiBuZXcgUmVnRXhwKCkgPT09ICJvYmplY3QiLiBBY3R1YWw6ICcgKyAodHlwZW9mIG5ldyBSZWdFeHAoKSkpOwp9CgovL0NIRUNLIzEyCmlmICh0eXBlb2YgUmVnRXhwKCkgIT09ICJvYmplY3QiKSB7CiAgJEVSUk9SKCcjMTI6IHR5cGVvZiBSZWdFeHAoKSA9PT0gIm9iamVjdCIuIEFjdHVhbDogJyArICh0eXBlb2YgUmVnRXhwKCkpKTsKfQoK",
"commentary":"Result of applying \"typeof\" operator to the object that is native and doesn't implement [[Call]] is \"object\"",
"description":"typeof (object without [[Call]]) === \"object\"",
"path":"TestCases/ch11/11.4/11.4.3/S11.4.3_A3.6.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZXN1bHQgb2YgYXBwbHlpbmcgInR5cGVvZiIgb3BlcmF0b3IgdG8gdGhlIG9iamVjdCB0aGF0IGlzIG5hdGl2ZSBhbmQgaW1wbGVtZW50cyBbW0NhbGxdXSBpcyAiZnVuY3Rpb24iCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjMvUzExLjQuM19BMy43LmpzCiAqIEBkZXNjcmlwdGlvbiB0eXBlb2YgKG9iamVjdCB3aXRoIFtbQ2FsbF1dKSA9PT0gImZ1bmN0aW9uIgogKi8KCi8vQ0hFQ0sjMQppZiAodHlwZW9mIG5ldyBGdW5jdGlvbigpICE9PSAiZnVuY3Rpb24iKSB7CiAgJEVSUk9SKCcjMTogdHlwZW9mIG5ldyBGdW5jdGlvbigpID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIG5ldyBGdW5jdGlvbigpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAodHlwZW9mIEZ1bmN0aW9uKCkgIT09ICJmdW5jdGlvbiIpIHsKICAkRVJST1IoJyMyOiB0eXBlb2YgRnVuY3Rpb24oKSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBGdW5jdGlvbigpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAodHlwZW9mIE9iamVjdCAhPT0gImZ1bmN0aW9uIikgewogICRFUlJPUignIzM6IHR5cGVvZiBPYmplY3QgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgT2JqZWN0KSk7Cn0KCi8vQ0hFQ0sjNAppZiAodHlwZW9mIFN0cmluZyAhPT0gImZ1bmN0aW9uIikgewogICRFUlJPUignIzQ6IHR5cGVvZiBTdHJpbmcgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgU3RyaW5nKSk7Cn0KCi8vQ0hFQ0s1CmlmICh0eXBlb2YgQm9vbGVhbiAhPT0gImZ1bmN0aW9uIikgewogICRFUlJPUignIzU6IHR5cGVvZiBCb29sZWFuID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIEJvb2xlYW4pKTsKfQoKLy9DSEVDSyM2CmlmICh0eXBlb2YgTnVtYmVyICE9PSAiZnVuY3Rpb24iKSB7CiAgJEVSUk9SKCcjNjogdHlwZW9mIE51bWJlciA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBOdW1iZXIpKTsKfQoKLy9DSEVDSyM3CmlmICh0eXBlb2YgRGF0ZSAhPT0gImZ1bmN0aW9uIikgewogICRFUlJPUignIzc6IHR5cGVvZiBEYXRlID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGUpKTsKfQoKLy9DSEVDSyM4CmlmICh0eXBlb2YgRXJyb3IgIT09ICJmdW5jdGlvbiIpIHsKICAkRVJST1IoJyM4OiB0eXBlb2YgRXJyb3IgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgRXJyb3IpKTsKfQoKLy9DSEVDSyM5CmlmICh0eXBlb2YgUmVnRXhwICE9PSAiZnVuY3Rpb24iKSB7CiAgJEVSUk9SKCcjOTogdHlwZW9mIFJlZ0V4cCA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBSZWdFeHApKTsKfQoK",
"commentary":"Result of applying \"typeof\" operator to the object that is native and implements [[Call]] is \"function\"",
"description":"typeof (object with [[Call]]) === \"function\"",
"path":"TestCases/ch11/11.4/11.4.3/S11.4.3_A3.7.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS40LzExLjQuNC8xMS40LjQtMi0xLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIHRocm93biBmb3IgKytldmFsDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIGJsYWggPSBldmFsOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgiKytldmFsOyIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yICYmIGJsYWggPT09IGV2YWw7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=",
"commentary":"",
"description":"Strict Mode - SyntaxError is thrown for ++eval",
"onlyStrict":"",
"path":"TestCases/ch11/11.4/11.4.4/11.4.4-2-1-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS40LzExLjQuNC8xMS40LjQtMi0yLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIHRocm93biBmb3IgKythcmd1bWVudHMNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgYmxhaCA9IGFyZ3VtZW50czsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoIisrYXJndW1lbnRzOyIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yICYmIGJsYWggPT09IGFyZ3VtZW50czsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==",
"commentary":"",
"description":"Strict Mode - SyntaxError is thrown for ++arguments",
"onlyStrict":"",
"path":"TestCases/ch11/11.4/11.4.4/11.4.4-2-2-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS40LzExLjQuNC8xMS40LjQtMi0zLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIG5vdCB0aHJvd24gZm9yICsrYXJndW1lbnRzWy4uLl0NCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICBhcmd1bWVudHNbMV0gPSA3Ow0KICAgICAgICArK2FyZ3VtZW50c1sxXTsNCiAgICAgICAgcmV0dXJuIGFyZ3VtZW50c1sxXT09PTg7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K",
"commentary":"",
"description":"Strict Mode - SyntaxError is not thrown for ++arguments[...]",
"onlyStrict":"",
"path":"TestCases/ch11/11.4/11.4.4/11.4.4-2-3-s.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gIisrIiBhbmQgVW5hcnlFeHByZXNzaW9uIGFyZSBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjQvUzExLjQuNF9BMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYnkgdXNpbmcgZXZhbAogKi8KCi8vQ0hFQ0sjMQppZiAoZXZhbCgidmFyIHggPSAwOyArK1x1MDAwOXgiKSAhPT0gMSkgewogICRFUlJPUignIzE6IHZhciB4ID0gMDsgKytcXHUwMDA5eDsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCmlmIChldmFsKCJ2YXIgeCA9IDA7ICsrXHUwMDBCeCIpICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSAwOyArK1xcdTAwMEJ4OyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOyAgCn0KCi8vQ0hFQ0sjMwppZiAoZXZhbCgidmFyIHggPSAwOyArK1x1MDAwQ3giKSAhPT0gMSkgewogICRFUlJPUignIzM6IHZhciB4ID0gMDsgKytcXHUwMDBDeDsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CmlmIChldmFsKCJ2YXIgeCA9IDA7ICsrXHUwMDIweCIpICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSAwOyArK1xcdTAwMjB4OyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzUKaWYgKGV2YWwoInZhciB4ID0gMDsgKytcdTAwQTB4IikgIT09IDEpIHsKICAkRVJST1IoJyM1OiB2YXIgeCA9IDA7ICsrXFx1MDBBMHg7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNgppZiAoZXZhbCgidmFyIHggPSAwOyArK1x1MDAwQXgiKSAhPT0gMSkgewogICRFUlJPUignIzY6IHZhciB4ID0gMDsgKytcXHUwMDBBeDsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsgIAp9CgovL0NIRUNLIzcKaWYgKGV2YWwoInZhciB4ID0gMDsgKytcdTAwMER4IikgIT09IDEpIHsKICAkRVJST1IoJyM3OiB2YXIgeCA9IDA7ICsrXFx1MDAwRHg7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjOAppZiAoZXZhbCgidmFyIHggPSAwOyArK1x1MjAyOHgiKSAhPT0gMSkgewogICRFUlJPUignIzg6IHZhciB4ID0gMDsgKytcXHUyMDI4eDsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM5CmlmIChldmFsKCJ2YXIgeCA9IDA7ICsrXHUyMDI5eCIpICE9PSAxKSB7CiAgJEVSUk9SKCcjOTogdmFyIHggPSAwOyArK1xcdTIwMjl4OyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzEwCmlmIChldmFsKCJ2YXIgeCA9IDA7ICsrXHUwMDA5XHUwMDBCXHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5eCIpICE9PSAxKSB7CiAgJEVSUk9SKCcjMTA6IHZhciB4ID0gMDsgKytcXHUwMDA5XFx1MDAwQlxcdTAwMENcXHUwMDIwXFx1MDBBMFxcdTAwMEFcXHUwMDBEXFx1MjAyOFxcdTIwMjl4OyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=",
"commentary":"White Space and Line Terminator between \"++\" and UnaryExpression are allowed",
"description":"Checking by using eval",
"path":"TestCases/ch11/11.4/11.4.4/S11.4.4_A1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciArK3ggdXNlcyBHZXRWYWx1ZSBhbmQgUHV0VmFsdWUKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuNC9TMTEuNC40X0EyLjFfVDEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgUmVmZXJlbmNlIGFuZCBHZXRCYXNlKHgpIGlzIG5vdCBudWxsCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gMTsKaWYgKCsreCAhPT0gMSArIDEpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IDE7ICsreCA9PT0gMSArIDEuIEFjdHVhbDogJyArICgrK3gpKTsKfSBlbHNlIHsKICBpZiAoeCAhPT0gMSArIDEpIHsKICAgICRFUlJPUignIzE6IHZhciB4ID0gMTsgKyt4OyB4ID09PSAxICsgMS4gQWN0dWFsOiAnICsgKHgpKTsKICB9IAp9CgovL0NIRUNLIzIKdGhpcy54ID0gMTsKaWYgKCsrdGhpcy54ICE9PSAxICsgMSkgewogICRFUlJPUignIzI6IHRoaXMueCA9IDE7ICsrdGhpcy54ID09PSAxICsgMS4gQWN0dWFsOiAnICsgKCsrdGhpcy54KSk7Cn0gZWxzZSB7CiAgaWYgKHRoaXMueCAhPT0gMSArIDEpIHsKICAgICRFUlJPUignIzI6IHRoaXMueCA9IDE7ICsrdGhpcy54OyB0aGlzLnggPT09IDEgKyAxLiBBY3R1YWw6ICcgKyAodGhpcy54KSk7CiAgfSAKfQoKLy9DSEVDSyMzCnZhciBvYmplY3QgPSBuZXcgT2JqZWN0KCk7Cm9iamVjdC5wcm9wID0gMTsKaWYgKCsrb2JqZWN0LnByb3AgIT09IDEgKyAxKSB7CiAgJEVSUk9SKCcjMzogdmFyIG9iamVjdCA9IG5ldyBPYmplY3QoKTsgb2JqZWN0LnByb3AgPSAxOyArK29iamVjdC5wcm9wID09PSAxICsgMS4gQWN0dWFsOiAnICsgKCsrb2JqZWN0LnByb3ApKTsKfSBlbHNlIHsKICBpZiAodGhpcy54ICE9PSAxICsgMSkgewogICAgJEVSUk9SKCcjMzogdmFyIG9iamVjdCA9IG5ldyBPYmplY3QoKTsgb2JqZWN0LnByb3AgPSAxOyArK29iamVjdC5wcm9wOyBvYmplY3QucHJvcCA9PT0gMSArIDEuIEFjdHVhbDogJyArIChvYmplY3QucHJvcCkpOwogIH0gCn0KCg==",
"commentary":"Operator ++x uses GetValue and PutValue",
"description":"Type(x) is Reference and GetBase(x) is not null",
"path":"TestCases/ch11/11.4/11.4.4/S11.4.4_A2.1_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciArK3ggdXNlcyBHZXRWYWx1ZSBhbmQgUHV0VmFsdWUKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuNC9TMTEuNC40X0EyLjFfVDIuanMKICogQGRlc2NyaXB0aW9uIElmIEdldEJhc2UoeCkgaXMgbnVsbCwgdGhyb3cgUmVmZXJlbmNlRXJyb3IKICovCgovL0NIRUNLIzEKdHJ5IHsKICArK3g7CiAgJEVSUk9SKCcjMS4xOiArK3ggdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArICgrK3gpKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6ICsreCB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoK",
"commentary":"Operator ++x uses GetValue and PutValue",
"description":"If GetBase(x) is null, throw ReferenceError",
"path":"TestCases/ch11/11.4/11.4.4/S11.4.4_A2.1_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciArK3ggdXNlcyBHZXRWYWx1ZSBhbmQgUHV0VmFsdWUKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuNC9TMTEuNC40X0EyLjFfVDMuanMKICogQGRlc2NyaXB0aW9uIElmIFR5cGUoeCkgaXMgbm90IFJlZmVyZW5jZSwgdGhyb3cgUmVmZXJlbmNlRXJyb3IgKG9yIFN5bnRheEVycm9yKQogKiBAbmVnYXRpdmUKICovCgovL0NIRUNLIzEKdHJ5IHsKICArKzE7CiAgJEVSUk9SKCcjMS4xOiArKzEgdGhyb3cgUmVmZXJlbmNlRXJyb3IgKG9yIFN5bnRheEVycm9yKS4gQWN0dWFsOiAnICsgKCsrMSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogKysxIHRocm93IFJlZmVyZW5jZUVycm9yIChvciBTeW50YXhFcnJvcikuIEFjdHVhbDogJyArIChlKSk7ICAKICB9IGVsc2UgewogICAgKysxOwogIH0KfQoKCg==",
"commentary":"Operator ++x uses GetValue and PutValue",
"description":"If Type(x) is not Reference, throw ReferenceError (or SyntaxError)",
"negative":"",
"path":"TestCases/ch11/11.4/11.4.4/S11.4.4_A2.1_T3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciArK3ggdXNlcyBbW0RlZmF1bHQgVmFsdWVdXQogKgogKiBAcGF0aCBjaDExLzExLjQvMTEuNC40L1MxMS40LjRfQTIuMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gSWYgVHlwZSh2YWx1ZSkgaXMgT2JqZWN0LCBldmFsdWF0ZSBUb1ByaW1pdGl2ZSh2YWx1ZSwgTnVtYmVyKQogKi8KCi8vQ0hFQ0sjMQp2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07CmlmICgrK29iamVjdCAhPT0gMSArIDEpIHsKICAkRVJST1IoJyMxOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07ICsrb2JqZWN0ID09PSAxICsgMS4gQWN0dWFsOiAnICsgKCsrb2JqZWN0KSk7Cn0gZWxzZSB7CiAgaWYgKG9iamVjdCAhPT0gMSArIDEpIHsKICAgICRFUlJPUignIzE6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsgKytvYmplY3Q7IG9iamVjdCA9PT0gMSArIDEuIEFjdHVhbDogJyArIChvYmplY3QpKTsKICB9Cn0KCi8vQ0hFQ0sjMgp2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX07CmlmICgrK29iamVjdCAhPT0gMSArIDEpIHsKICAkRVJST1IoJyMyOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX07ICsrb2JqZWN0ID09PSAxICsgMS4gQWN0dWFsOiAnICsgKCsrb2JqZWN0KSk7Cn0gZWxzZSB7CiAgaWYgKG9iamVjdCAhPT0gMSArIDEpIHsKICAgICRFUlJPUignIzI6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fTsgKytvYmplY3Q7IG9iamVjdCA9PT0gMSArIDEuIEFjdHVhbDogJyArIChvYmplY3QpKTsKICB9Cn0KCi8vQ0hFQ0sjMwp2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19OwppZiAoKytvYmplY3QgIT09IDEgKyAxKSB7CiAgJEVSUk9SKCcjMzogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsgKytvYmplY3QgPT09IDEgKyAxLiBBY3R1YWw6ICcgKyAoKytvYmplY3QpKTsKfSBlbHNlIHsKICBpZiAob2JqZWN0ICE9PSAxICsgMSkgewogICAgJEVSUk9SKCcjMzogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsgKytvYmplY3Q7IG9iamVjdCA9PT0gMSArIDEuIEFjdHVhbDogJyArIChvYmplY3QpKTsKICB9Cn0KCi8vQ0hFQ0sjNAp0cnkgewogIHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19OwogIGlmICgrK29iamVjdCAhPT0gMSArIDEpIHsKICAgICRFUlJPUignIzQuMTogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07ICsrb2JqZWN0ID09PSAxICsgMS4gQWN0dWFsOiAnICsgKCsrb2JqZWN0KSk7CiAgfSBlbHNlIHsKICAgIGlmIChvYmplY3QgIT09IDEgKyAxKSB7CiAgICAgICRFUlJPUignIzQuMTogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07ICsrb2JqZWN0OyBvYmplY3QgPT09IDEgKyAxLiBBY3R1YWw6ICcgKyAob2JqZWN0KSk7CiAgICB9CiAgfQp9CmNhdGNoIChlKSB7CiAgaWYgKGUgPT09ICJlcnJvciIpIHsKICAgICRFUlJPUignIzQuMjogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07ICsrb2JqZWN0IG5vdCB0aHJvdyAiZXJyb3IiJyk7CiAgfSBlbHNlIHsKICAgICRFUlJPUignIzQuMzogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07ICsrb2JqZWN0IG5vdCB0aHJvdyBFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCi8vQ0hFQ0sjNQp2YXIgb2JqZWN0ID0ge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OwppZiAoKytvYmplY3QgIT09IDEgKyAxKSB7CiAgJEVSUk9SKCcjNS4xOiB2YXIgb2JqZWN0ID0ge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OyArK29iamVjdCA9PT0gMSArIDEuIEFjdHVhbDogJyArICgrK29iamVjdCkpOwp9IGVsc2UgewogIGlmIChvYmplY3QgIT09IDEgKyAxKSB7CiAgICAkRVJST1IoJyM1LjI6IHZhciBvYmplY3QgPSB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07ICsrb2JqZWN0OyBvYmplY3QgPT09IDEgKyAxLiBBY3R1YWw6ICcgKyAob2JqZWN0KSk7CiAgfQp9CgoKLy9DSEVDSyM2CnZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0KaWYgKCsrb2JqZWN0ICE9PSAxICsgMSkgewogICRFUlJPUignIzYuMTogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsgKytvYmplY3QgPT09IDEgKyAxLiBBY3R1YWw6ICcgKyAoKytvYmplY3QpKTsKfSBlbHNlIHsKICBpZiAob2JqZWN0ICE9PSAxICsgMSkgewogICAgJEVSUk9SKCcjNi4yOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OyArK29iamVjdDsgb2JqZWN0ID09PSAxICsgMS4gQWN0dWFsOiAnICsgKG9iamVjdCkpOwogIH0KfQoKLy9DSEVDSyM3CnRyeSB7CiAgdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07CiAgKytvYmplY3Q7CiAgJEVSUk9SKCcjNy4xOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsgKytvYmplY3QgdGhyb3cgImVycm9yIi4gQWN0dWFsOiAnICsgKCsrb2JqZWN0KSk7Cn0gIApjYXRjaCAoZSkgewogIGlmIChlICE9PSAiZXJyb3IiKSB7CiAgICAkRVJST1IoJyM3LjI6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OyArK29iamVjdCB0aHJvdyAiZXJyb3IiLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gCn0KCi8vQ0hFQ0sjOAp0cnkgewogIHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19OwogICsrb2JqZWN0OwogICRFUlJPUignIzguMTogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07ICsrb2JqZWN0IHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKCsrb2JqZWN0KSk7Cn0gIApjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzguMjogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07ICsrb2JqZWN0IHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9IAp9Cgo=",
"commentary":"Operator ++x uses [[Default Value]]",
"description":"If Type(value) is Object, evaluate ToPrimitive(value, Number)",
"path":"TestCases/ch11/11.4/11.4.4/S11.4.4_A2.2_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciArK3ggcmV0dXJucyB4ID0gVG9OdW1iZXIoeCkgKyAxCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjQvUzExLjQuNF9BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBib29sZWFuIHByaW1pdGl2ZSBvciBCb29sZWFuIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IGZhbHNlOyAKKyt4OwppZiAoeCAhPT0gMCArIDEpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IGZhbHNlOyArK3g7IHggPT09IDAgKyAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSBuZXcgQm9vbGVhbih0cnVlKTsgCisreDsgCmlmICh4ICE9PSAxICsgMSkgewogICRFUlJPUignIzI6IHZhciB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7ICsreDsgeCA9PT0gMSArIDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==",
"commentary":"Operator ++x returns x = ToNumber(x) + 1",
"description":"Type(x) is boolean primitive or Boolean object",
"path":"TestCases/ch11/11.4/11.4.4/S11.4.4_A3_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciArK3ggcmV0dXJucyB4ID0gVG9OdW1iZXIoeCkgKyAxCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjQvUzExLjQuNF9BM19UMi5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBudW1iZXIgcHJpbWl0aXZlIG9yIE51bWJlciBvYmplY3QKICovCgovL0NIRUNLIzEKdmFyIHggPSAwLjE7IAorK3g7CmlmICh4ICE9PSAwLjEgKyAxKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSAwLjE7ICsreDsgeCA9PT0gMC4xICsgMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gbmV3IE51bWJlcigtMS4xKTsgCisreDsKaWYgKHggIT09IC0xLjEgKyAxKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBuZXcgTnVtYmVyKC0xLjEpOyArK3g7IHggPT09IC0xLjEgKyAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=",
"commentary":"Operator ++x returns x = ToNumber(x) + 1",
"description":"Type(x) is number primitive or Number object",
"path":"TestCases/ch11/11.4/11.4.4/S11.4.4_A3_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciArK3ggcmV0dXJucyB4ID0gVG9OdW1iZXIoeCkgKyAxCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjQvUzExLjQuNF9BM19UMy5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBzdHJpbmcgcHJpbWl0aXZlIG9yIFN0cmluZyBvYmplY3QKICovCgovL0NIRUNLIzEKdmFyIHggPSAiMSI7IAorK3g7CmlmICh4ICE9PSAxICsgMSkgewogICRFUlJPUignIzE6IHZhciB4ID0gIjEiOyArK3g7IHggPT09IDEgKyAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAieCI7IAorK3g7IAppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9ICJ4IjsgKyt4OyB4ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp2YXIgeCA9IG5ldyBOdW1iZXIoIi0xIik7IAorK3g7CmlmICh4ICE9PSAtMSArIDEpIHsKICAkRVJST1IoJyMzOiB2YXIgeCA9IG5ldyBTdHJpbmcoIi0xIik7ICsreDsgeCA9PT0gLTEgKyAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=",
"commentary":"Operator ++x returns x = ToNumber(x) + 1",
"description":"Type(x) is string primitive or String object",
"path":"TestCases/ch11/11.4/11.4.4/S11.4.4_A3_T3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciArK3ggcmV0dXJucyB4ID0gVG9OdW1iZXIoeCkgKyAxCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjQvUzExLjQuNF9BM19UNC5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyB1bmRlZmluZWQgb3IgbnVsbAogKi8KCi8vQ0hFQ0sjMQp2YXIgeDsgCisreDsgCmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IHZhciB4OyArK3g7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gbnVsbDsgCisreDsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IG51bGw7ICsreDsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoK",
"commentary":"Operator ++x returns x = ToNumber(x) + 1",
"description":"Type(x) is undefined or null",
"path":"TestCases/ch11/11.4/11.4.4/S11.4.4_A3_T4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciArK3ggcmV0dXJucyB4ID0gVG9OdW1iZXIoeCkgKyAxCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjQvUzExLjQuNF9BM19UNS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBPYmplY3Qgb2JqZWN0IG9yIEZ1bmN0aW9uIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IHt9OyAKKyt4OyAKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSB7fTsgKyt4OyB4ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgeCA9IGZ1bmN0aW9uKCl7cmV0dXJuIDF9OyAKKyt4OyAKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBmdW5jdGlvbigpe3JldHVybiAxfTsgKyt4OyB4ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==",
"commentary":"Operator ++x returns x = ToNumber(x) + 1",
"description":"Type(x) is Object object or Function object",
"path":"TestCases/ch11/11.4/11.4.4/S11.4.4_A3_T5.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciArK3ggcmV0dXJucyBUb051bWJlcih4KSArIDEKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuNC9TMTEuNC40X0E0X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGJvb2xlYW4gcHJpbWl0aXZlIG9yIEJvb2xlYW4gb2JqZWN0CiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gZmFsc2U7IAppZiAoKyt4ICE9PSAwICsgMSkgewogICRFUlJPUignIzE6IHZhciB4ID0gZmFsc2U7ICsreCA9PT0gMCArIDEuIEFjdHVhbDogJyArICgrK3gpKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7CmlmICgrK3ggIT09IDEgKyAxKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBuZXcgQm9vbGVhbih0cnVlKTsgKyt4ID09PSAxICsgMS4gQWN0dWFsOiAnICsgKCsreCkpOwp9Cgo=",
"commentary":"Operator ++x returns ToNumber(x) + 1",
"description":"Type(x) is boolean primitive or Boolean object",
"path":"TestCases/ch11/11.4/11.4.4/S11.4.4_A4_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciArK3ggcmV0dXJucyBUb051bWJlcih4KSArIDEKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuNC9TMTEuNC40X0E0X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIG51bWJlciBwcmltaXRpdmUgb3IgTnVtYmVyIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IDAuMTsKaWYgKCsreCAhPT0gMC4xICsgMSkgewogICRFUlJPUignIzE6IHZhciB4ID0gMC4xOyArK3ggPT09IDAuMSArIDEuIEFjdHVhbDogJyArICgrK3gpKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gbmV3IE51bWJlcigtMS4xKTsKaWYgKCsreCAhPT0gLTEuMSArIDEpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IG5ldyBOdW1iZXIoLTEuMSk7ICsreCA9PT0gLTEuMSArIDEuIEFjdHVhbDogJyArICgrK3gpKTsKfQoK",
"commentary":"Operator ++x returns ToNumber(x) + 1",
"description":"Type(x) is number primitive or Number object",
"path":"TestCases/ch11/11.4/11.4.4/S11.4.4_A4_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciArK3ggcmV0dXJucyBUb051bWJlcih4KSArIDEKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuNC9TMTEuNC40X0E0X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIHN0cmluZyBwcmltaXRpdmUgb3IgU3RyaW5nIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9ICIxIjsKaWYgKCsreCAhPT0gMSArIDEpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9ICIxIjsgKyt4ID09PSAxICsgMS4gQWN0dWFsOiAnICsgKCsreCkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAieCI7IAppZiAoaXNOYU4oKyt4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHZhciB4ID0gIngiOyArK3ggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKCsreCkpOwp9CgovL0NIRUNLIzMKdmFyIHggPSBuZXcgU3RyaW5nKCItMSIpOwppZiAoKyt4ICE9PSAtMSArIDEpIHsKICAkRVJST1IoJyMzOiB2YXIgeCA9IG5ldyBTdHJpbmcoIi0xIik7ICsreCA9PT0gLTEgKyAxLiBBY3R1YWw6ICcgKyAoKyt4KSk7Cn0KCg==",
"commentary":"Operator ++x returns ToNumber(x) + 1",
"description":"Type(x) is string primitive or String object",
"path":"TestCases/ch11/11.4/11.4.4/S11.4.4_A4_T3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciArK3ggcmV0dXJucyBUb051bWJlcih4KSArIDEKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuNC9TMTEuNC40X0E0X1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIHVuZGVmaW5lZCBvciBudWxsCiAqLwoKLy9DSEVDSyMxCnZhciB4OyAKaWYgKGlzTmFOKCsreCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiB2YXIgeDsgKyt4ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICgrK3gpKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gbnVsbDsKaWYgKCsreCAhPT0gMSkgewogICRFUlJPUignIzI6IHZhciB4ID0gbnVsbDsgKyt4ID09PSAxLiBBY3R1YWw6ICcgKyAoKyt4KSk7Cn0KCg==",
"commentary":"Operator ++x returns ToNumber(x) + 1",
"description":"Type(x) is undefined or null",
"path":"TestCases/ch11/11.4/11.4.4/S11.4.4_A4_T4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciArK3ggcmV0dXJucyBUb051bWJlcih4KSArIDEKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuNC9TMTEuNC40X0E0X1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIE9iamVjdCBvYmplY3Qgb3IgRnVuY3Rpb24gb2JqZWN0CiAqLwoKLy9DSEVDSyMxCnZhciB4ID0ge307IAppZiAoaXNOYU4oKyt4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IHZhciB4ID0ge307ICsreCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoKyt4KSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgeCA9IGZ1bmN0aW9uKCl7cmV0dXJuIDF9OyAKaWYgKGlzTmFOKCsreCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IGZ1bmN0aW9uKCl7cmV0dXJuIDF9OyArK3ggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKCsreCkpOwp9Cgo=",
"commentary":"Operator ++x returns ToNumber(x) + 1",
"description":"Type(x) is Object object or Function object",
"path":"TestCases/ch11/11.4/11.4.4/S11.4.4_A4_T5.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS40LzExLjQuNS8xMS40LjUtMi0xLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIHRocm93biBmb3IgLS1ldmFsDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIGJsYWggPSBldmFsOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgiLS1ldmFsOyIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yICYmIGJsYWggPT09IGV2YWw7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=",
"commentary":"",
"description":"Strict Mode - SyntaxError is thrown for --eval",
"onlyStrict":"",
"path":"TestCases/ch11/11.4/11.4.5/11.4.5-2-1-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS40LzExLjQuNS8xMS40LjUtMi0yLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIHRocm93biBmb3IgLS1hcmd1bWVudHMNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgYmxhaCA9IGFyZ3VtZW50czsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoIi0tYXJndW1lbnRzOyIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yICYmIGJsYWggPT09IGFyZ3VtZW50czsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==",
"commentary":"",
"description":"Strict Mode - SyntaxError is thrown for --arguments",
"onlyStrict":"",
"path":"TestCases/ch11/11.4/11.4.5/11.4.5-2-2-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS40LzExLjQuNS8xMS40LjUtMi0yZ3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIHRocm93IGlmIHRoZSBVbmFyeUV4cHJlc3Npb24gb3BlcmF0ZWQgdXBvbiBieSBhIFByZWZpeCBJbmNyZW1lbnQgb3BlcmF0b3IoLS1hcmd1bWVudHMpDQogKiBAb25seVN0cmljdA0KICogQG5lZ2F0aXZlIF4oKD8hTm90RWFybHlFcnJvcikuKSokDQogKi8NCg0KInVzZSBzdHJpY3QiOw0KdGhyb3cgTm90RWFybHlFcnJvcjsNCi0tYXJndW1lbnRzOw0K",
"commentary":"",
"description":"Strict Mode - SyntaxError is throw if the UnaryExpression operated upon by a Prefix Increment operator(--arguments)",
"negative":"^((?!NotEarlyError).)*$",
"onlyStrict":"",
"path":"TestCases/ch11/11.4/11.4.5/11.4.5-2-2gs.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS40LzExLjQuNS8xMS40LjUtMi0zLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIG5vdCB0aHJvd24gZm9yIC0tYXJndW1lbnRzWy4uLl0NCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICBhcmd1bWVudHNbMV0gPSA3Ow0KICAgICAgICAtLWFyZ3VtZW50c1sxXTsNCiAgICAgICAgcmV0dXJuIGFyZ3VtZW50c1sxXT09PTY7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K",
"commentary":"",
"description":"Strict Mode - SyntaxError is not thrown for --arguments[...]",
"onlyStrict":"",
"path":"TestCases/ch11/11.4/11.4.5/11.4.5-2-3-s.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gIi0tIiBhbmQgVW5hcnlFeHByZXNzaW9uIGFyZSBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjUvUzExLjQuNV9BMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYnkgdXNpbmcgZXZhbAogKi8KCi8vQ0hFQ0sjMQppZiAoZXZhbCgidmFyIHggPSAxOyAtLVx1MDAwOXgiKSAhPT0gMCkgewogICRFUlJPUignIzE6IHZhciB4ID0gMTsgLS1cXHUwMDA5eDsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCmlmIChldmFsKCJ2YXIgeCA9IDE7IC0tXHUwMDBCeCIpICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSAxOyAtLVxcdTAwMEJ4OyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOyAgCn0KCi8vQ0hFQ0sjMwppZiAoZXZhbCgidmFyIHggPSAxOyAtLVx1MDAwQ3giKSAhPT0gMCkgewogICRFUlJPUignIzM6IHZhciB4ID0gMTsgLS1cXHUwMDBDeDsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CmlmIChldmFsKCJ2YXIgeCA9IDE7IC0tXHUwMDIweCIpICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSAxOyAtLVxcdTAwMjB4OyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzUKaWYgKGV2YWwoInZhciB4ID0gMTsgLS1cdTAwQTB4IikgIT09IDApIHsKICAkRVJST1IoJyM1OiB2YXIgeCA9IDE7IC0tXFx1MDBBMHg7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNgppZiAoZXZhbCgidmFyIHggPSAxOyAtLVx1MDAwQXgiKSAhPT0gMCkgewogICRFUlJPUignIzY6IHZhciB4ID0gMTsgLS1cXHUwMDBBeDsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsgIAp9CgovL0NIRUNLIzcKaWYgKGV2YWwoInZhciB4ID0gMTsgLS1cdTAwMER4IikgIT09IDApIHsKICAkRVJST1IoJyM3OiB2YXIgeCA9IDE7IC0tXFx1MDAwRHg7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjOAppZiAoZXZhbCgidmFyIHggPSAxOyAtLVx1MjAyOHgiKSAhPT0gMCkgewogICRFUlJPUignIzg6IHZhciB4ID0gMTsgLS1cXHUyMDI4eDsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM5CmlmIChldmFsKCJ2YXIgeCA9IDE7IC0tXHUyMDI5eCIpICE9PSAwKSB7CiAgJEVSUk9SKCcjOTogdmFyIHggPSAxOyAtLVxcdTIwMjl4OyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzEwCmlmIChldmFsKCJ2YXIgeCA9IDE7IC0tXHUwMDA5XHUwMDBCXHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5eCIpICE9PSAwKSB7CiAgJEVSUk9SKCcjMTA6IHZhciB4ID0gMTsgLS1cXHUwMDA5XFx1MDAwQlxcdTAwMENcXHUwMDIwXFx1MDBBMFxcdTAwMEFcXHUwMDBEXFx1MjAyOFxcdTIwMjl4OyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=",
"commentary":"White Space and Line Terminator between \"--\" and UnaryExpression are allowed",
"description":"Checking by using eval",
"path":"TestCases/ch11/11.4/11.4.5/S11.4.5_A1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAtLXggdXNlcyBHZXRWYWx1ZSBhbmQgUHV0VmFsdWUKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuNS9TMTEuNC41X0EyLjFfVDEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgUmVmZXJlbmNlIGFuZCBHZXRCYXNlKHgpIGlzIG5vdCBudWxsCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gMTsKaWYgKC0teCAhPT0gMSAtIDEpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IDE7IC0teCA9PT0gMSAtIDEuIEFjdHVhbDogJyArICgtLXgpKTsKfSBlbHNlIHsKICBpZiAoeCAhPT0gMSAtIDEpIHsKICAgICRFUlJPUignIzE6IHZhciB4ID0gMTsgLS14OyB4ID09PSAxIC0gMS4gQWN0dWFsOiAnICsgKHgpKTsKICB9IAp9CgovL0NIRUNLIzIKdGhpcy54ID0gMTsKaWYgKC0tdGhpcy54ICE9PSAxIC0gMSkgewogICRFUlJPUignIzI6IHRoaXMueCA9IDE7IC0tdGhpcy54ID09PSAxIC0gMS4gQWN0dWFsOiAnICsgKC0tdGhpcy54KSk7Cn0gZWxzZSB7CiAgaWYgKHRoaXMueCAhPT0gMSAtIDEpIHsKICAgICRFUlJPUignIzI6IHRoaXMueCA9IDE7IC0tdGhpcy54OyB0aGlzLnggPT09IDEgLSAxLiBBY3R1YWw6ICcgKyAodGhpcy54KSk7CiAgfSAKfQoKLy9DSEVDSyMzCnZhciBvYmplY3QgPSBuZXcgT2JqZWN0KCk7Cm9iamVjdC5wcm9wID0gMTsKaWYgKC0tb2JqZWN0LnByb3AgIT09IDEgLSAxKSB7CiAgJEVSUk9SKCcjMzogdmFyIG9iamVjdCA9IG5ldyBPYmplY3QoKTsgb2JqZWN0LnByb3AgPSAxOyAtLW9iamVjdC5wcm9wID09PSAxIC0gMS4gQWN0dWFsOiAnICsgKC0tb2JqZWN0LnByb3ApKTsKfSBlbHNlIHsKICBpZiAodGhpcy54ICE9PSAxIC0gMSkgewogICAgJEVSUk9SKCcjMzogdmFyIG9iamVjdCA9IG5ldyBPYmplY3QoKTsgb2JqZWN0LnByb3AgPSAxOyAtLW9iamVjdC5wcm9wOyBvYmplY3QucHJvcCA9PT0gMSAtIDEuIEFjdHVhbDogJyArIChvYmplY3QucHJvcCkpOwogIH0gCn0KCg==",
"commentary":"Operator --x uses GetValue and PutValue",
"description":"Type(x) is Reference and GetBase(x) is not null",
"path":"TestCases/ch11/11.4/11.4.5/S11.4.5_A2.1_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAtLXggdXNlcyBHZXRWYWx1ZSBhbmQgUHV0VmFsdWUKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuNS9TMTEuNC41X0EyLjFfVDIuanMKICogQGRlc2NyaXB0aW9uIElmIEdldEJhc2UoeCkgaXMgbnVsbCwgdGhyb3cgUmVmZXJlbmNlRXJyb3IKICovCgovL0NIRUNLIzEKdHJ5IHsKICAtLXg7CiAgJEVSUk9SKCcjMS4xOiAtLXggdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArICgtLXgpKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IC0teCB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoKCg==",
"commentary":"Operator --x uses GetValue and PutValue",
"description":"If GetBase(x) is null, throw ReferenceError",
"path":"TestCases/ch11/11.4/11.4.5/S11.4.5_A2.1_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAtLXggdXNlcyBHZXRWYWx1ZSBhbmQgUHV0VmFsdWUKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuNS9TMTEuNC41X0EyLjFfVDMuanMKICogQGRlc2NyaXB0aW9uIElmIFR5cGUoeCkgaXMgbm90IFJlZmVyZW5jZSwgdGhyb3cgUmVmZXJlbmNlRXJyb3IgKG9yIFN5bnRheEVycm9yKQogKiBAbmVnYXRpdmUKICovCgovL0NIRUNLIzEKdHJ5IHsKICAtLTE7CiAgJEVSUk9SKCcjMS4xOiAtLTEgdGhyb3cgUmVmZXJlbmNlRXJyb3IgKG9yIFN5bnRheEVycm9yKS4gQWN0dWFsOiAnICsgKC0tMSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogLS0xIHRocm93IFJlZmVyZW5jZUVycm9yIChvciBTeW50YXhFcnJvcikuIEFjdHVhbDogJyArIChlKSk7ICAKICB9IGVsc2UgewogICAgLS0xOwogIH0KfQoK",
"commentary":"Operator --x uses GetValue and PutValue",
"description":"If Type(x) is not Reference, throw ReferenceError (or SyntaxError)",
"negative":"",
"path":"TestCases/ch11/11.4/11.4.5/S11.4.5_A2.1_T3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAtLXggdXNlcyBbW0RlZmF1bHQgVmFsdWVdXQogKgogKiBAcGF0aCBjaDExLzExLjQvMTEuNC41L1MxMS40LjVfQTIuMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gSWYgVHlwZSh2YWx1ZSkgaXMgT2JqZWN0LCBldmFsdWF0ZSBUb1ByaW1pdGl2ZSh2YWx1ZSwgTnVtYmVyKQogKi8KCi8vQ0hFQ0sjMQp2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07CmlmICgtLW9iamVjdCAhPT0gMSAtIDEpIHsKICAkRVJST1IoJyMxOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07IC0tb2JqZWN0ID09PSAxIC0gMS4gQWN0dWFsOiAnICsgKC0tb2JqZWN0KSk7Cn0gZWxzZSB7CiAgaWYgKG9iamVjdCAhPT0gMSAtIDEpIHsKICAgICRFUlJPUignIzE6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsgLS1vYmplY3Q7IG9iamVjdCA9PT0gMSAtIDEuIEFjdHVhbDogJyArIChvYmplY3QpKTsKICB9Cn0KCi8vQ0hFQ0sjMgp2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX07CmlmICgtLW9iamVjdCAhPT0gMSAtIDEpIHsKICAkRVJST1IoJyMyOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX07IC0tb2JqZWN0ID09PSAxIC0gMS4gQWN0dWFsOiAnICsgKC0tb2JqZWN0KSk7Cn0gZWxzZSB7CiAgaWYgKG9iamVjdCAhPT0gMSAtIDEpIHsKICAgICRFUlJPUignIzI6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fTsgLS1vYmplY3Q7IG9iamVjdCA9PT0gMSAtIDEuIEFjdHVhbDogJyArIChvYmplY3QpKTsKICB9Cn0KCi8vQ0hFQ0sjMwp2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19OwppZiAoLS1vYmplY3QgIT09IDEgLSAxKSB7CiAgJEVSUk9SKCcjMzogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsgLS1vYmplY3QgPT09IDEgLSAxLiBBY3R1YWw6ICcgKyAoLS1vYmplY3QpKTsKfSBlbHNlIHsKICBpZiAob2JqZWN0ICE9PSAxIC0gMSkgewogICAgJEVSUk9SKCcjMzogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsgLS1vYmplY3Q7IG9iamVjdCA9PT0gMSAtIDEuIEFjdHVhbDogJyArIChvYmplY3QpKTsKICB9Cn0KCi8vQ0hFQ0sjNAp0cnkgewogIHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19OwogIGlmICgtLW9iamVjdCAhPT0gMSAtIDEpIHsKICAgICRFUlJPUignIzQuMTogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07IC0tb2JqZWN0ID09PSAxIC0gMS4gQWN0dWFsOiAnICsgKC0tb2JqZWN0KSk7CiAgfSBlbHNlIHsKICAgIGlmIChvYmplY3QgIT09IDEgLSAxKSB7CiAgICAgICRFUlJPUignIzQuMTogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07IC0tb2JqZWN0OyBvYmplY3QgPT09IDEgLSAxLiBBY3R1YWw6ICcgKyAob2JqZWN0KSk7CiAgICB9CiAgfQp9CmNhdGNoIChlKSB7CiAgaWYgKGUgPT09ICJlcnJvciIpIHsKICAgICRFUlJPUignIzQuMjogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07IC0tb2JqZWN0IG5vdCB0aHJvdyAiZXJyb3IiJyk7CiAgfSBlbHNlIHsKICAgICRFUlJPUignIzQuMzogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07IC0tb2JqZWN0IG5vdCB0aHJvdyBFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCi8vQ0hFQ0sjNQp2YXIgb2JqZWN0ID0ge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OwppZiAoLS1vYmplY3QgIT09IDEgLSAxKSB7CiAgJEVSUk9SKCcjNS4xOiB2YXIgb2JqZWN0ID0ge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OyAtLW9iamVjdCA9PT0gMSAtIDEuIEFjdHVhbDogJyArICgtLW9iamVjdCkpOwp9IGVsc2UgewogIGlmIChvYmplY3QgIT09IDEgLSAxKSB7CiAgICAkRVJST1IoJyM1LjI6IHZhciBvYmplY3QgPSB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07IC0tb2JqZWN0OyBvYmplY3QgPT09IDEgLSAxLiBBY3R1YWw6ICcgKyAob2JqZWN0KSk7CiAgfQp9CgoKLy9DSEVDSyM2CnZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0KaWYgKC0tb2JqZWN0ICE9PSAxIC0gMSkgewogICRFUlJPUignIzYuMTogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsgLS1vYmplY3QgPT09IDEgLSAxLiBBY3R1YWw6ICcgKyAoLS1vYmplY3QpKTsKfSBlbHNlIHsKICBpZiAob2JqZWN0ICE9PSAxIC0gMSkgewogICAgJEVSUk9SKCcjNi4yOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OyAtLW9iamVjdDsgb2JqZWN0ID09PSAxIC0gMS4gQWN0dWFsOiAnICsgKG9iamVjdCkpOwogIH0KfQoKLy9DSEVDSyM3CnRyeSB7CiAgdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07CiAgLS1vYmplY3Q7CiAgJEVSUk9SKCcjNy4xOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsgLS1vYmplY3QgdGhyb3cgImVycm9yIi4gQWN0dWFsOiAnICsgKC0tb2JqZWN0KSk7Cn0gIApjYXRjaCAoZSkgewogIGlmIChlICE9PSAiZXJyb3IiKSB7CiAgICAkRVJST1IoJyM3LjI6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OyAtLW9iamVjdCB0aHJvdyAiZXJyb3IiLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gCn0KCi8vQ0hFQ0sjOAp0cnkgewogIHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19OwogIC0tb2JqZWN0OwogICRFUlJPUignIzguMTogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07IC0tb2JqZWN0IHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKC0tb2JqZWN0KSk7Cn0gIApjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzguMjogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07IC0tb2JqZWN0IHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9IAp9Cgo=",
"commentary":"Operator --x uses [[Default Value]]",
"description":"If Type(value) is Object, evaluate ToPrimitive(value, Number)",
"path":"TestCases/ch11/11.4/11.4.5/S11.4.5_A2.2_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAtLXggcmV0dXJucyB4ID0gVG9OdW1iZXIoeCkgLSAxCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjUvUzExLjQuNV9BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBib29sZWFuIHByaW1pdGl2ZSBvciBCb29sZWFuIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IHRydWU7IAotLXg7CmlmICh4ICE9PSAxIC0gMSkgewogICRFUlJPUignIzE6IHZhciB4ID0gdHJ1ZTsgLS14OyB4ID09PSAxIC0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gbmV3IEJvb2xlYW4oZmFsc2UpOyAKLS14OwppZiAoeCAhPT0gMCAtIDEpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IG5ldyBCb29sZWFuKGZhbHNlKTsgLS14OyB4ID09PSAwIC0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoK",
"commentary":"Operator --x returns x = ToNumber(x) - 1",
"description":"Type(x) is boolean primitive or Boolean object",
"path":"TestCases/ch11/11.4/11.4.5/S11.4.5_A3_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAtLXggcmV0dXJucyB4ID0gVG9OdW1iZXIoeCkgLSAxCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjUvUzExLjQuNV9BM19UMi5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBudW1iZXIgcHJpbWl0aXZlIG9yIE51bWJlciBvYmplY3QKICovCgovL0NIRUNLIzEKdmFyIHggPSAwLjE7IAotLXg7CmlmICh4ICE9PSAwLjEgLSAxKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSAwLjE7IC0teDsgeCA9PT0gMC4xIC0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gbmV3IE51bWJlcigtMS4xKTsgCi0teDsKaWYgKHggIT09IC0xLjEgLSAxKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBuZXcgTnVtYmVyKC0xLjEpOyAtLXg7IHggPT09IC0xLjEgLSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=",
"commentary":"Operator --x returns x = ToNumber(x) - 1",
"description":"Type(x) is number primitive or Number object",
"path":"TestCases/ch11/11.4/11.4.5/S11.4.5_A3_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAtLXggcmV0dXJucyB4ID0gVG9OdW1iZXIoeCkgLSAxCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjUvUzExLjQuNV9BM19UMy5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBwcmltaXRpdmUgc3RyaW5nIG9yIFN0cmluZyBvYmplY3QKICovCgovL0NIRUNLIzEKdmFyIHggPSAiMSI7IAotLXg7CmlmICh4ICE9PSAxIC0gMSkgewogICRFUlJPUignIzE6IHZhciB4ID0gIjEiOyAtLXg7IHggPT09IDEgLSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAieCI7IAotLXg7IAppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9ICJ4IjsgLS14OyB4ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp2YXIgeCA9IG5ldyBOdW1iZXIoIi0xIik7IAotLXg7CmlmICh4ICE9PSAtMSAtIDEpIHsKICAkRVJST1IoJyMzOiB2YXIgeCA9IG5ldyBTdHJpbmcoIi0xIik7IC0teDsgeCA9PT0gLTEgLSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=",
"commentary":"Operator --x returns x = ToNumber(x) - 1",
"description":"Type(x) is primitive string or String object",
"path":"TestCases/ch11/11.4/11.4.5/S11.4.5_A3_T3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAtLXggcmV0dXJucyB4ID0gVG9OdW1iZXIoeCkgLSAxCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjUvUzExLjQuNV9BM19UNC5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyB1bmRlZmluZWQgb3IgbnVsbAogKi8KCi8vQ0hFQ0sjMQp2YXIgeDsgCi0teDsKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogdmFyIHg7IC0teDsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSBudWxsOyAKLS14OwppZiAoeCAhPT0gLTEpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IG51bGw7IC0teDsgeCA9PT0gLTEuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==",
"commentary":"Operator --x returns x = ToNumber(x) - 1",
"description":"Type(x) is undefined or null",
"path":"TestCases/ch11/11.4/11.4.5/S11.4.5_A3_T4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAtLXggcmV0dXJucyB4ID0gVG9OdW1iZXIoeCkgLSAxCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjUvUzExLjQuNV9BM19UNS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBPYmplY3Qgb2JqZWN0IG9yIEZ1bmN0aW9uIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IHt9OyAKLS14OyAKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSB7fTsgLS14OyB4ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgeCA9IGZ1bmN0aW9uKCl7cmV0dXJuIDF9OyAKLS14OyAKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBmdW5jdGlvbigpe3JldHVybiAxfTsgLS14OyB4ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==",
"commentary":"Operator --x returns x = ToNumber(x) - 1",
"description":"Type(x) is Object object or Function object",
"path":"TestCases/ch11/11.4/11.4.5/S11.4.5_A3_T5.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAtLXggcmV0dXJucyBUb051bWJlcih4KSAtIDEKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuNS9TMTEuNC41X0E0X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGJvb2xlYW4gcHJpbWl0aXZlIG9yIEJvb2xlYW4gb2JqZWN0CiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gdHJ1ZTsKaWYgKC0teCAhPT0gMSAtIDEpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IHRydWU7IC0teCA9PT0gMSAtIDEuIEFjdHVhbDogJyArICgtLXgpKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gbmV3IEJvb2xlYW4oZmFsc2UpOwppZiAoLS14ICE9PSAwIC0gMSkgewogICRFUlJPUignIzI6IHZhciB4ID0gbmV3IEJvb2xlYW4oZmFsc2UpOyAtLXggPT09IDAgLSAxLiBBY3R1YWw6ICcgKyAoLS14KSk7Cn0KCg==",
"commentary":"Operator --x returns ToNumber(x) - 1",
"description":"Type(x) is boolean primitive or Boolean object",
"path":"TestCases/ch11/11.4/11.4.5/S11.4.5_A4_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAtLXggcmV0dXJucyBUb051bWJlcih4KSAtIDEKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuNS9TMTEuNC41X0E0X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIG51bWJlciBwcmltaXRpdmUgb3IgTnVtYmVyIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IDAuMTsKaWYgKC0teCAhPT0gMC4xIC0gMSkgewogICRFUlJPUignIzE6IHZhciB4ID0gMC4xOyAtLXggPT09IDAuMSAtIDEuIEFjdHVhbDogJyArICgtLXgpKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gbmV3IE51bWJlcigtMS4xKTsKaWYgKC0teCAhPT0gLTEuMSAtIDEpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IG5ldyBOdW1iZXIoLTEuMSk7IC0teCA9PT0gLTEuMS0gMS4gQWN0dWFsOiAnICsgKC0teCkpOwp9Cgo=",
"commentary":"Operator --x returns ToNumber(x) - 1",
"description":"Type(x) is number primitive or Number object",
"path":"TestCases/ch11/11.4/11.4.5/S11.4.5_A4_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAtLXggcmV0dXJucyBUb051bWJlcih4KSAtIDEKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuNS9TMTEuNC41X0E0X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIHN0cmluZyBwcmltaXRpdmUgb3IgU3RyaW5nIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9ICIxIjsKaWYgKC0teCAhPT0gMSAtIDEpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9ICIxIjsgLS14ID09PSAxIC0gMS4gQWN0dWFsOiAnICsgKC0teCkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAieCI7CmlmIChpc05hTigtLXgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSAieCI7IC0teCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoLS14KSk7Cn0KCi8vQ0hFQ0sjMwp2YXIgeCA9IG5ldyBTdHJpbmcoIi0xIik7IAppZiAoLS14ICE9PSAtMSAtIDEpIHsKICAkRVJST1IoJyMzOiB2YXIgeCA9IG5ldyBTdHJpbmcoIi0xIik7IC0teCA9PT0gLTEgLSAxLiBBY3R1YWw6ICcgKyAoLS14KSk7Cn0KCg==",
"commentary":"Operator --x returns ToNumber(x) - 1",
"description":"Type(x) is string primitive or String object",
"path":"TestCases/ch11/11.4/11.4.5/S11.4.5_A4_T3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAtLXggcmV0dXJucyBUb051bWJlcih4KSAtIDEKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuNS9TMTEuNC41X0E0X1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIHVuZGVmaW5lZCBvciBudWxsCiAqLwoKLy9DSEVDSyMxCnZhciB4OwppZiAoaXNOYU4oLS14KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IHZhciB4OyAtLXg7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gbnVsbDsKaWYgKC0teCAhPT0gLTEpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IG51bGw7IC0teCA9PT0gLTEuIEFjdHVhbDogJyArICgtLXgpKTsKfQoK",
"commentary":"Operator --x returns ToNumber(x) - 1",
"description":"Type(x) is undefined or null",
"path":"TestCases/ch11/11.4/11.4.5/S11.4.5_A4_T4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAtLXggcmV0dXJucyBUb051bWJlcih4KSAtIDEKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuNS9TMTEuNC41X0E0X1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIE9iamVjdCBvYmplY3Qgb3IgRnVuY3Rpb24gb2JqZWN0CiAqLwoKLy9DSEVDSyMxCnZhciB4ID0ge307IAppZiAoaXNOYU4oLS14KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IHZhciB4ID0ge307IC0teCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoLS14KSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgeCA9IGZ1bmN0aW9uKCl7cmV0dXJuIDF9OyAKaWYgKGlzTmFOKC0teCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IGZ1bmN0aW9uKCl7cmV0dXJuIDF9OyAtLXggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKC0teCkpOwp9Cgo=",
"commentary":"Operator --x returns ToNumber(x) - 1",
"description":"Type(x) is Object object or Function object",
"path":"TestCases/ch11/11.4/11.4.5/S11.4.5_A4_T5.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS40LzExLjQuNi8xMS40LjYtMi0xLmpzDQogKiBAZGVzY3JpcHRpb24gKyIiIHNob3VsZCBiZSB6ZXJvDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgcmV0dXJuICsiIiA9PT0gMDsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=",
"commentary":"",
"description":"+\"\" should be zero",
"path":"TestCases/ch11/11.4/11.4.6/11.4.6-2-1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gIisiIGFuZCBVbmFyeUV4cHJlc3Npb24gYXJlIGFsbG93ZWQKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuNi9TMTEuNC42X0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBieSB1c2luZyBldmFsCiAqLwoKLy9DSEVDSyMxCmlmIChldmFsKCIrXHUwMDA5MSIpICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogK1xcdTAwMDkxID09PSAxJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoZXZhbCgiK1x1MDAwQjEiKSAhPT0gMSkgewogICRFUlJPUignIzI6ICtcXHUwMDBCMSA9PT0gMScpOyAgCn0KCi8vQ0hFQ0sjMwppZiAoZXZhbCgiK1x1MDAwQzEiKSAhPT0gMSkgewogICRFUlJPUignIzM6ICtcXHUwMDBDMSA9PT0gMScpOwp9CgovL0NIRUNLIzQKaWYgKGV2YWwoIitcdTAwMjAxIikgIT09IDEpIHsKICAkRVJST1IoJyM0OiArXFx1MDAyMCA9PT0gMScpOwp9CgovL0NIRUNLIzUKaWYgKGV2YWwoIitcdTAwQTAxIikgIT09IDEpIHsKICAkRVJST1IoJyM1OiArXFx1MDBBMDEgPT09IDEnKTsKfQoKLy9DSEVDSyM2CmlmIChldmFsKCIrXHUwMDBBMSIpICE9PSAxKSB7CiAgJEVSUk9SKCcjNjogK1xcdTAwMEExID09PSAxJyk7ICAKfQoKLy9DSEVDSyM3CmlmIChldmFsKCIrXHUwMDBEMSIpICE9PSAxKSB7CiAgJEVSUk9SKCcjNzogK1xcdTAwMEQxID09PSAxJyk7Cn0KCi8vQ0hFQ0sjOAppZiAoZXZhbCgiK1x1MjAyODEiKSAhPT0gMSkgewogICRFUlJPUignIzg6ICtcXHUyMDI4MSA9PT0gMScpOwp9CgovL0NIRUNLIzkKaWYgKGV2YWwoIitcdTIwMjkxIikgIT09IDEpIHsKICAkRVJST1IoJyM5OiArXFx1MjAyOTEgPT09IDEnKTsKfQoKLy9DSEVDSyMxMAppZiAoZXZhbCgiK1x1MDAwOVx1MDAwQlx1MDAwQ1x1MDAyMFx1MDBBMFx1MDAwQVx1MDAwRFx1MjAyOFx1MjAyOTEiKSAhPT0gMSkgewogICRFUlJPUignIzEwOiArXFx1MDAwOVxcdTAwMEJcXHUwMDBDXFx1MDAyMFxcdTAwQTBcXHUwMDBBXFx1MDAwRFxcdTIwMjhcXHUyMDI5MSA9PT0gMScpOwp9Cgo=",
"commentary":"White Space and Line Terminator between \"+\" and UnaryExpression are allowed",
"description":"Checking by using eval",
"path":"TestCases/ch11/11.4/11.4.6/S11.4.6_A1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAreCB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjYvUzExLjQuNl9BMi4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBFaXRoZXIgVHlwZSh4KSBpcyBub3QgUmVmZXJlbmNlIG9yIEdldEJhc2UoeCkgaXMgbm90IG51bGwKICovCgovL0NIRUNLIzEKaWYgKCsxICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogKzEgPT09IDEuIEFjdHVhbDogJyArICgrMSkpOwp9CgovL0NIRUNLIzIKaWYgKCsoKzEpICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogKygrMSkgPT09IC0xLiBBY3R1YWw6ICcgKyAoKygrMSkpKTsKfQoKLy9DSEVDSyMzCnZhciB4ID0gMTsKaWYgKCt4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSArMTsgLXggPT09IDEuIEFjdHVhbDogJyArICgteCkpOwp9CgovL0NIRUNLIzQKdmFyIHggPSAxOwppZiAoKygreCkgIT09IDEpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IDE7ICsoK3gpID09PSAxLiBBY3R1YWw6ICcgKyAoKygreCkpKTsKfQoKLy9DSEVDSyM1CnZhciBvYmplY3QgPSBuZXcgT2JqZWN0KCk7Cm9iamVjdC5wcm9wID0gMTsKaWYgKCtvYmplY3QucHJvcCAhPT0gMSkgewogICRFUlJPUignIzU6IHZhciBvYmplY3QgPSBuZXcgT2JqZWN0KCk7IG9iamVjdC5wcm9wID0gMTsgK29iamVjdC5wcm9wID09PSAxLiBBY3R1YWw6ICcgKyAoK29iamVjdC5wcm9wKSk7Cn0KCg==",
"commentary":"Operator +x uses GetValue",
"description":"Either Type(x) is not Reference or GetBase(x) is not null",
"path":"TestCases/ch11/11.4/11.4.6/S11.4.6_A2.1_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAreCB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjYvUzExLjQuNl9BMi4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBHZXRCYXNlKHgpIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgK3g7CiAgJEVSUk9SKCcjMS4xOiAreCB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKCt4KSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiAreCB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoK",
"commentary":"Operator +x uses GetValue",
"description":"If GetBase(x) is null, throw ReferenceError",
"path":"TestCases/ch11/11.4/11.4.6/S11.4.6_A2.1_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAreCB1c2VzIFtbRGVmYXVsdCBWYWx1ZV1dCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjYvUzExLjQuNl9BMi4yX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBUeXBlKHZhbHVlKSBpcyBPYmplY3QsIGV2YWx1YXRlIFRvUHJpbWl0aXZlKHZhbHVlLCBOdW1iZXIpCiAqLwoKLy9DSEVDSyMxCnZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsKaWYgKCtvYmplY3QgIT09IDEpIHsKICAkRVJST1IoJyMxOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07ICtvYmplY3QgPT09IDEuIEFjdHVhbDogJyArICgrb2JqZWN0KSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX07CmlmICgrb2JqZWN0ICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19OyArb2JqZWN0ID09PSAxLiBBY3R1YWw6ICcgKyAoK29iamVjdCkpOwp9IAoKLy9DSEVDSyMzCnZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07CmlmICgrb2JqZWN0ICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsgK29iamVjdCA9PT0gMS4gQWN0dWFsOiAnICsgKCtvYmplY3QpKTsKfQoKLy9DSEVDSyM0CnRyeSB7CiAgdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07CiAgaWYgKCtvYmplY3QgIT09IDEpIHsKICAgICRFUlJPUignIzQuMTogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07ICtvYmplY3QgPT09IDEuIEFjdHVhbDogJyArICgrb2JqZWN0KSk7CiAgfQp9CmNhdGNoIChlKSB7CiAgaWYgKGUgPT09ICJlcnJvciIpIHsKICAgICRFUlJPUignIzQuMjogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07ICtvYmplY3Qgbm90IHRocm93ICJlcnJvciInKTsKICB9IGVsc2UgewogICAgJEVSUk9SKCcjNC4zOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fTsgK29iamVjdCBub3QgdGhyb3cgRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9CgovL0NIRUNLIzUKdmFyIG9iamVjdCA9IHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsKaWYgKCtvYmplY3QgIT09IDEpIHsKICAkRVJST1IoJyM1OiB2YXIgb2JqZWN0ID0ge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OyArb2JqZWN0ID09PSAxLiBBY3R1YWw6ICcgKyAoK29iamVjdCkpOwp9CgovL0NIRUNLIzYKdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fQppZiAoK29iamVjdCAhPT0gMSkgewogICRFUlJPUignIzY6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07ICtvYmplY3QgPT09IDEuIEFjdHVhbDogJyArICgrb2JqZWN0KSk7Cn0KCi8vQ0hFQ0sjNwp0cnkgewogIHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OwogICtvYmplY3Q7CiAgJEVSUk9SKCcjNy4xOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsgK29iamVjdCB0aHJvdyAiZXJyb3IiLiBBY3R1YWw6ICcgKyAoK29iamVjdCkpOwp9ICAKY2F0Y2ggKGUpIHsKICBpZiAoZSAhPT0gImVycm9yIikgewogICAgJEVSUk9SKCcjNy4yOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsgK29iamVjdCB0aHJvdyAiZXJyb3IiLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gCn0KCi8vQ0hFQ0sjOAp0cnkgewogIHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19OwogICtvYmplY3Q7CiAgJEVSUk9SKCcjOC4xOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsgK29iamVjdCB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArICgrb2JqZWN0KSk7Cn0gIApjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzguMjogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07ICtvYmplY3QgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gCn0KCg==",
"commentary":"Operator +x uses [[Default Value]]",
"description":"If Type(value) is Object, evaluate ToPrimitive(value, Number)",
"path":"TestCases/ch11/11.4/11.4.6/S11.4.6_A2.2_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAreCByZXR1cm5zIFRvTnVtYmVyKHgpCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjYvUzExLjQuNl9BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBib29sZWFuIHByaW1pdGl2ZSBvciBCb29sZWFuIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAoK2ZhbHNlICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogK2ZhbHNlID09PSAwLiBBY3R1YWw6ICcgKyAoK2ZhbHNlKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoK25ldyBCb29sZWFuKHRydWUpICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogK25ldyBCb29sZWFuKHRydWUpID09PSAxLiBBY3R1YWw6ICcgKyAoK25ldyBCb29sZWFuKHRydWUpKSk7Cn0KCg==",
"commentary":"Operator +x returns ToNumber(x)",
"description":"Type(x) is boolean primitive or Boolean object",
"path":"TestCases/ch11/11.4/11.4.6/S11.4.6_A3_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAreCByZXR1cm5zIFRvTnVtYmVyKHgpCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjYvUzExLjQuNl9BM19UMi5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBudW1iZXIgcHJpbWl0aXZlIG9yIE51bWJlciBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKCswLjEgIT09IDAuMSkgewogICRFUlJPUignIzE6ICswLjEgPT09IDAuMS4gQWN0dWFsOiAnICsgKCswLjEpKTsKfQoKLy9DSEVDSyMyCmlmICgrbmV3IE51bWJlcigtMS4xKSAhPT0gLTEuMSkgewogICRFUlJPUignIzI6ICtuZXcgTnVtYmVyKC0xLjEpID09PSAtMS4xLiBBY3R1YWw6ICcgKyAoK25ldyBOdW1iZXIoLTEuMSkpKTsKfQoK",
"commentary":"Operator +x returns ToNumber(x)",
"description":"Type(x) is number primitive or Number object",
"path":"TestCases/ch11/11.4/11.4.6/S11.4.6_A3_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAreCByZXR1cm5zIFRvTnVtYmVyKHgpCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjYvUzExLjQuNl9BM19UMy5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBzdHJpbmcgcHJpbWl0aXZlIG9yIFN0cmluZyBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKCsiMSIgIT09IDEpIHsKICAkRVJST1IoJyMxOiArIjEiID09PSAxLiBBY3R1YWw6ICcgKyAoKyIxIikpOwp9CgovL0NIRUNLIzIKaWYgKGlzTmFOKCsieCIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogKyJ4IiA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoKyJ4IikpOwp9CgovL0NIRUNLIzMKaWYgKCtuZXcgTnVtYmVyKCItMSIpICE9PSAtMSkgewogICRFUlJPUignIzM6ICtuZXcgU3RyaW5nKCItMSIpID09PSAtMS4gQWN0dWFsOiAnICsgKCtuZXcgU3RyaW5nKCItMSIpKSk7Cn0KCg==",
"commentary":"Operator +x returns ToNumber(x)",
"description":"Type(x) is string primitive or String object",
"path":"TestCases/ch11/11.4/11.4.6/S11.4.6_A3_T3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAreCByZXR1cm5zIFRvTnVtYmVyKHgpCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjYvUzExLjQuNl9BM19UNC5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyB1bmRlZmluZWQgb3IgbnVsbAogKi8KCi8vQ0hFQ0sjMQppZiAoaXNOYU4oK3ZvaWQgMCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiArdm9pZCAwID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICgrdm9pZCAwKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoK251bGwgIT09IDApIHsKICAkRVJST1IoJyMyOiArbnVsbCA9PT0gMC4gQWN0dWFsOiAnICsgKCtudWxsKSk7Cn0KCg==",
"commentary":"Operator +x returns ToNumber(x)",
"description":"Type(x) is undefined or null",
"path":"TestCases/ch11/11.4/11.4.6/S11.4.6_A3_T4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAreCByZXR1cm5zIFRvTnVtYmVyKHgpCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjYvUzExLjQuNl9BM19UNS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBPYmplY3Qgb2JqZWN0IG9yIEZ1bmN0aW9uIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAoaXNOYU4oK3t9KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6ICt7fSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoK3t9KSk7Cn0KCi8vQ0hFQ0sjMiAgCmlmIChpc05hTigrZnVuY3Rpb24oKXtyZXR1cm4gMX0pICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogK2Z1bmN0aW9uKCl7cmV0dXJuIDF9ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICgrZnVuY3Rpb24oKXtyZXR1cm4gMX0pKTsKfQoK",
"commentary":"Operator +x returns ToNumber(x)",
"description":"Type(x) is Object object or Function object",
"path":"TestCases/ch11/11.4/11.4.6/S11.4.6_A3_T5.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS40LzExLjQuNy8xMS40LjctNC0xLmpzDQogKiBAZGVzY3JpcHRpb24gLSIiIHNob3VsZCBiZSB6ZXJvDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgcmV0dXJuIC0iIiA9PT0gMDsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=",
"commentary":"",
"description":"-\"\" should be zero",
"path":"TestCases/ch11/11.4/11.4.7/11.4.7-4-1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gIi0iIGFuZCBVbmFyeUV4cHJlc3Npb24gYXJlIGFsbG93ZWQKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuNy9TMTEuNC43X0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBieSB1c2luZyBldmFsCiAqLwoKLy9DSEVDSyMxCmlmIChldmFsKCItXHUwMDA5MSIpICE9PSAtMSkgewogICRFUlJPUignIzE6IC1cXHUwMDA5MSA9PT0gLTEnKTsKfQoKLy9DSEVDSyMyCmlmIChldmFsKCItXHUwMDBCMSIpICE9PSAtMSkgewogICRFUlJPUignIzI6IC1cXHUwMDBCMSA9PT0gLTEnKTsgIAp9CgovL0NIRUNLIzMKaWYgKGV2YWwoIi1cdTAwMEMxIikgIT09IC0xKSB7CiAgJEVSUk9SKCcjMzogLVxcdTAwMEMxID09PSAtMScpOwp9CgovL0NIRUNLIzQKaWYgKGV2YWwoIi1cdTAwMjAxIikgIT09IC0xKSB7CiAgJEVSUk9SKCcjNDogLVxcdTAwMjAgPT09IC0xJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoZXZhbCgiLVx1MDBBMDEiKSAhPT0gLTEpIHsKICAkRVJST1IoJyM1OiAtXFx1MDBBMDEgPT09IC0xJyk7Cn0KCi8vQ0hFQ0sjNgppZiAoZXZhbCgiLVx1MDAwQTEiKSAhPT0gLTEpIHsKICAkRVJST1IoJyM2OiAtXFx1MDAwQTEgPT09IC0xJyk7ICAKfQoKLy9DSEVDSyM3CmlmIChldmFsKCItXHUwMDBEMSIpICE9PSAtMSkgewogICRFUlJPUignIzc6IC1cXHUwMDBEMSA9PT0gLTEnKTsKfQoKLy9DSEVDSyM4CmlmIChldmFsKCItXHUyMDI4MSIpICE9PSAtMSkgewogICRFUlJPUignIzg6IC1cXHUyMDI4MSA9PT0gLTEnKTsKfQoKLy9DSEVDSyM5CmlmIChldmFsKCItXHUyMDI5MSIpICE9PSAtMSkgewogICRFUlJPUignIzk6IC1cXHUyMDI5MSA9PT0gLTEnKTsKfQoKLy9DSEVDSyMxMAppZiAoZXZhbCgiLVx1MDAwOVx1MDAwQlx1MDAwQ1x1MDAyMFx1MDBBMFx1MDAwQVx1MDAwRFx1MjAyOFx1MjAyOTEiKSAhPT0gLTEpIHsKICAkRVJST1IoJyMxMDogLVxcdTAwMDlcXHUwMDBCXFx1MDAwQ1xcdTAwMjBcXHUwMEEwXFx1MDAwQVxcdTAwMERcXHUyMDI4XFx1MjAyOTEgPT09IC0xJyk7Cn0KCg==",
"commentary":"White Space and Line Terminator between \"-\" and UnaryExpression are allowed",
"description":"Checking by using eval",
"path":"TestCases/ch11/11.4/11.4.7/S11.4.7_A1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAteCB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjcvUzExLjQuN19BMi4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBFaXRoZXIgVHlwZSh4KSBpcyBub3QgUmVmZXJlbmNlIG9yIEdldEJhc2UoeCkgaXMgbm90IG51bGwKICovCgovL0NIRUNLIzEKaWYgKC0xICE9PSAtMSkgewogICRFUlJPUignIzE6IC0xID09PSAtMS4gQWN0dWFsOiAnICsgKC0xKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoLSgtMSkgIT09IDEpIHsKICAkRVJST1IoJyMyOiAtKC0xKSA9PT0gLTEuIEFjdHVhbDogJyArICgtKC0xKSkpOwp9CgovL0NIRUNLIzMKdmFyIHggPSAtMTsKaWYgKC14ICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSAtMTsgLXggPT09IDEuIEFjdHVhbDogJyArICgteCkpOwp9CgovL0NIRUNLIzQKdmFyIHggPSAtMTsKaWYgKC0oLXgpICE9PSAtMSkgewogICRFUlJPUignIzQ6IHZhciB4ID0gLTE7IC0oLXgpID09PSAtMS4gQWN0dWFsOiAnICsgKC0oLXgpKSk7Cn0KCi8vQ0hFQ0sjNQp2YXIgb2JqZWN0ID0gbmV3IE9iamVjdCgpOwpvYmplY3QucHJvcCA9IDE7CmlmICgtb2JqZWN0LnByb3AgIT09IC0xKSB7CiAgJEVSUk9SKCcjNTogdmFyIG9iamVjdCA9IG5ldyBPYmplY3QoKTsgb2JqZWN0LnByb3AgPSAtMTsgLW9iamVjdC5wcm9wID09PSAtMS4gQWN0dWFsOiAnICsgKC1vYmplY3QucHJvcCkpOwp9Cgo=",
"commentary":"Operator -x uses GetValue",
"description":"Either Type(x) is not Reference or GetBase(x) is not null",
"path":"TestCases/ch11/11.4/11.4.7/S11.4.7_A2.1_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAteCB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjcvUzExLjQuN19BMi4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBHZXRCYXNlKHgpIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgLXg7CiAgJEVSUk9SKCcjMS4xOiAteCB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKC14KSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiAteCB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoKCg==",
"commentary":"Operator -x uses GetValue",
"description":"If GetBase(x) is null, throw ReferenceError",
"path":"TestCases/ch11/11.4/11.4.7/S11.4.7_A2.1_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAteCB1c2VzIFtbRGVmYXVsdCBWYWx1ZV1dCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjcvUzExLjQuN19BMi4yX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBUeXBlKHZhbHVlKSBpcyBPYmplY3QsIGV2YWx1YXRlIFRvUHJpbWl0aXZlKHZhbHVlLCBOdW1iZXIpCiAqLwoKLy9DSEVDSyMxCnZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIC0xfX07CmlmICgtb2JqZWN0ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gLTF9fTsgLW9iamVjdCA9PT0gMS4gQWN0dWFsOiAnICsgKC1vYmplY3QpKTsKfQoKLy9DSEVDSyMyCnZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIC0xfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX07CmlmICgtb2JqZWN0ICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gLTF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fTsgLW9iamVjdCA9PT0gMS4gQWN0dWFsOiAnICsgKC1vYmplY3QpKTsKfSAKCi8vQ0hFQ0sjMwp2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAtMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsKaWYgKC1vYmplY3QgIT09IDEpIHsKICAkRVJST1IoJyMzOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAtMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsgLW9iamVjdCA9PT0gMS4gQWN0dWFsOiAnICsgKC1vYmplY3QpKTsKfQoKLy9DSEVDSyM0CnRyeSB7CiAgdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gLTF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19OwogIGlmICgtb2JqZWN0ICE9PSAxKSB7CiAgICAkRVJST1IoJyM0LjE6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIC0xfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fTsgLW9iamVjdCA9PT0gMS4gQWN0dWFsOiAnICsgKC1vYmplY3QpKTsKICB9Cn0KY2F0Y2ggKGUpIHsKICBpZiAoZSA9PT0gImVycm9yIikgewogICAgJEVSUk9SKCcjNC4yOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAtMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07IC1vYmplY3Qgbm90IHRocm93ICJlcnJvciInKTsKICB9IGVsc2UgewogICAgJEVSUk9SKCcjNC4zOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAtMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07IC1vYmplY3Qgbm90IHRocm93IEVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0KfQoKLy9DSEVDSyM1CnZhciBvYmplY3QgPSB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAtMX19OwppZiAoLW9iamVjdCAhPT0gMSkgewogICRFUlJPUignIzUuMTogdmFyIG9iamVjdCA9IHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIC0xfX07IC1vYmplY3QgPT09IDEuIEFjdHVhbDogJyArICgtb2JqZWN0KSk7Cn0KCi8vQ0hFQ0sjNgp2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gLTF9fQppZiAoLW9iamVjdCAhPT0gMSkgewogICRFUlJPUignIzY6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAtMX19OyAtb2JqZWN0ID09PSAxLiBBY3R1YWw6ICcgKyAoLW9iamVjdCkpOwp9CgovL0NIRUNLIzcKdHJ5IHsKICB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIC0xfX07CiAgLW9iamVjdDsKICAkRVJST1IoJyM3LjE6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gLTF9fTsgLW9iamVjdCB0aHJvdyAiZXJyb3IiLiBBY3R1YWw6ICcgKyAoLW9iamVjdCkpOwp9ICAKY2F0Y2ggKGUpIHsKICBpZiAoZSAhPT0gImVycm9yIikgewogICAgJEVSUk9SKCcjNy4yOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIC0xfX07IC1vYmplY3QgdGhyb3cgImVycm9yIi4gQWN0dWFsOiAnICsgKGUpKTsKICB9IAp9CgovL0NIRUNLIzgKdHJ5IHsKICB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsKICAtb2JqZWN0OwogICRFUlJPUignIzguMTogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07IC1vYmplY3QgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoLW9iamVjdCkpOwp9ICAKY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyM4LjI6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19OyAtb2JqZWN0IHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9IAp9Cgo=",
"commentary":"Operator -x uses [[Default Value]]",
"description":"If Type(value) is Object, evaluate ToPrimitive(value, Number)",
"path":"TestCases/ch11/11.4/11.4.7/S11.4.7_A2.2_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAteCByZXR1cm5zIC1Ub051bWJlcih4KQogKgogKiBAcGF0aCBjaDExLzExLjQvMTEuNC43L1MxMS40LjdfQTNfVDEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgYm9vbGVhbiBwcmltaXRpdmUgb3IgQm9vbGVhbiBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKC1mYWxzZSAhPT0gMCkgewogICRFUlJPUignIzE6IC1mYWxzZSA9PT0gMC4gQWN0dWFsOiAnICsgKC1mYWxzZSkpOwp9CgovL0NIRUNLIzIKaWYgKC1uZXcgQm9vbGVhbih0cnVlKSAhPT0gLTEpIHsKICAkRVJST1IoJyMyOiAtbmV3IEJvb2xlYW4odHJ1ZSkgPT09IC0xLiBBY3R1YWw6ICcgKyAoLW5ldyBCb29sZWFuKHRydWUpKSk7Cn0KCg==",
"commentary":"Operator -x returns -ToNumber(x)",
"description":"Type(x) is boolean primitive or Boolean object",
"path":"TestCases/ch11/11.4/11.4.7/S11.4.7_A3_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAteCByZXR1cm5zIC1Ub051bWJlcih4KQogKgogKiBAcGF0aCBjaDExLzExLjQvMTEuNC43L1MxMS40LjdfQTNfVDIuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgbnVtYmVyIHByaW1pdGl2ZSBvciBOdW1iZXIgb2JqZWN0CiAqLwoKLy9DSEVDSyMxCmlmICgtKDEpICE9PSAtMSkgewogICRFUlJPUignIzE6IC0oMSkgPT09IC0xLiBBY3R1YWw6ICcgKyAoLSgxKSkpOwp9CgovL0NIRUNLIzIKaWYgKC1uZXcgTnVtYmVyKC0xKSAhPT0gMSkgewogICRFUlJPUignIzI6IC1uZXcgTnVtYmVyKC0xKSA9PT0gMS4gQWN0dWFsOiAnICsgKC1uZXcgTnVtYmVyKC0xKSkpOwp9Cgo=",
"commentary":"Operator -x returns -ToNumber(x)",
"description":"Type(x) is number primitive or Number object",
"path":"TestCases/ch11/11.4/11.4.7/S11.4.7_A3_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAteCByZXR1cm5zIC1Ub051bWJlcih4KQogKgogKiBAcGF0aCBjaDExLzExLjQvMTEuNC43L1MxMS40LjdfQTNfVDMuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgc3RyaW5nIHByaW1pdGl2ZSBvciBTdHJpbmcgb2JqZWN0CiAqLwoKLy9DSEVDSyMxCmlmICgtIjEiICE9PSAtMSkgewogICRFUlJPUignIzE6IC0iMSIgPT09IC0xLiBBY3R1YWw6ICcgKyAoLSIxIikpOwp9CgovL0NIRUNLIzIKaWYgKGlzTmFOKC0ieCIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogLSJ4IiA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoLSJ4IikpOwp9CgovL0NIRUNLIzMKaWYgKC1uZXcgU3RyaW5nKCItMSIpICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogLW5ldyBTdHJpbmcoIi0xIikgPT09IDEuIEFjdHVhbDogJyArICgtbmV3IFN0cmluZygiLTEiKSkpOwp9Cgo=",
"commentary":"Operator -x returns -ToNumber(x)",
"description":"Type(x) is string primitive or String object",
"path":"TestCases/ch11/11.4/11.4.7/S11.4.7_A3_T3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAteCByZXR1cm5zIC1Ub051bWJlcih4KQogKgogKiBAcGF0aCBjaDExLzExLjQvMTEuNC43L1MxMS40LjdfQTNfVDQuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgdW5kZWZpbmVkIG9yIG51bGwKICovCgovL0NIRUNLIzEKaWYgKGlzTmFOKC12b2lkIDApICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogK3ZvaWQgMCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoK3ZvaWQgMCkpOwp9CgovL0NIRUNLIzIKaWYgKC1udWxsICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogK251bGwgPT09IDAuIEFjdHVhbDogJyArICgrbnVsbCkpOwp9Cgo=",
"commentary":"Operator -x returns -ToNumber(x)",
"description":"Type(x) is undefined or null",
"path":"TestCases/ch11/11.4/11.4.7/S11.4.7_A3_T4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAteCByZXR1cm5zIC1Ub051bWJlcih4KQogKgogKiBAcGF0aCBjaDExLzExLjQvMTEuNC43L1MxMS40LjdfQTNfVDUuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgT2JqZWN0IG9iamVjdCBvciBGdW5jdGlvbiBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKGlzTmFOKC17fSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiAte30gPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKC17fSkpOwp9CgovL0NIRUNLIzIgIAppZiAoaXNOYU4oLWZ1bmN0aW9uKCl7cmV0dXJuIDF9KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IC1mdW5jdGlvbigpe3JldHVybiAxfSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoLWZ1bmN0aW9uKCl7cmV0dXJuIDF9KSk7Cn0KCg==",
"commentary":"Operator -x returns -ToNumber(x)",
"description":"Type(x) is Object object or Function object",
"path":"TestCases/ch11/11.4/11.4.7/S11.4.7_A3_T5.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIE5hTiwgb3BlcmF0b3IgLXggcmV0dXJucyBOYU4KICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuNy9TMTEuNC43X0E0LjEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIE5hTgogKi8KCi8vQ0hFQ0sjMQppZiAoaXNOYU4oLU5hTikgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiAtTmFOID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICgtTmFOKSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgeCA9IE5hTjsgCmlmIChpc05hTigteCkgIT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHZhciB4ID0gTmFOOyAteCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoLXgpKTsKfQoK",
"commentary":"If x is NaN, operator -x returns NaN",
"description":"Checking NaN",
"path":"TestCases/ch11/11.4/11.4.7/S11.4.7_A4.1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOZWdhdGluZyArMCBwcm9kdWNlcyAtMCwgbmVnYXRpbmcgLTAgcHJvZHVjZXMgKzAKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuNy9TMTEuNC43X0E0LjIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIEluZmluaXR5CiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gMDsgCnggPSAteDsKaWYgKHggIT09IC0wKSB7CiAgJEVSUk9SKCcjMS4xOiB2YXIgeCA9IDA7IHggPSAteDsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfSBlbHNlIHsKICBpZiAoMS94ICE9PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpIHsKICAgICRFUlJPUignIzEuMjogdmFyIHggPSAwOyB4ID0gLXg7IHggPT09IC0gMC4gQWN0dWFsOiArMCcpOwogIH0KfQoKLy9DSEVDSyMyCnZhciB4ID0gLTA7IAp4ID0gLXg7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMi4xOiB2YXIgeCA9IC0wOyB4ID0gLXg7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0gZWxzZSB7CiAgaWYgKDEveCAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7CiAgICAkRVJST1IoJyMyLjI6IHZhciB4ID0gLTA7IHggPSAteDsgeCA9PT0gKyAwLiBBY3R1YWw6IC0wJyk7CiAgfQp9CgoK",
"commentary":"Negating +0 produces -0, negating -0 produces +0",
"description":"Checking Infinity",
"path":"TestCases/ch11/11.4/11.4.7/S11.4.7_A4.2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gIn4iIGFuZCBVbmFyeUV4cHJlc3Npb24gYXJlIGFsbG93ZWQKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuOC9TMTEuNC44X0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBieSB1c2luZyBldmFsCiAqLwoKLy9DSEVDSyMxCmlmIChldmFsKCJ+XHUwMDA5MCIpICE9PSAtMSkgewogICRFUlJPUignIzA6IH5cXHUwMDA5MCA9PT0gLTEnKTsKfQoKLy9DSEVDSyMyCmlmIChldmFsKCJ+XHUwMDBCMCIpICE9PSAtMSkgewogICRFUlJPUignIzI6IH5cXHUwMDBCMCA9PT0gLTEnKTsgIAp9CgovL0NIRUNLIzMKaWYgKGV2YWwoIn5cdTAwMEMwIikgIT09IC0xKSB7CiAgJEVSUk9SKCcjMzogflxcdTAwMEMwID09PSAtMScpOwp9CgovL0NIRUNLIzQKaWYgKGV2YWwoIn5cdTAwMjAwIikgIT09IC0xKSB7CiAgJEVSUk9SKCcjNDogflxcdTAwMjAgPT09IC0xJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoZXZhbCgiflx1MDBBMDAiKSAhPT0gLTEpIHsKICAkRVJST1IoJyM1OiB+XFx1MDBBMDAgPT09IC0xJyk7Cn0KCi8vQ0hFQ0sjNgppZiAoZXZhbCgiflx1MDAwQTAiKSAhPT0gLTEpIHsKICAkRVJST1IoJyM2OiB+XFx1MDAwQTAgPT09IC0xJyk7ICAKfQoKLy9DSEVDSyM3CmlmIChldmFsKCJ+XHUwMDBEMCIpICE9PSAtMSkgewogICRFUlJPUignIzc6IH5cXHUwMDBEMCA9PT0gLTEnKTsKfQoKLy9DSEVDSyM4CmlmIChldmFsKCJ+XHUyMDI4MCIpICE9PSAtMSkgewogICRFUlJPUignIzg6IH5cXHUyMDI4MCA9PT0gLTEnKTsKfQoKLy9DSEVDSyM5CmlmIChldmFsKCJ+XHUyMDI5MCIpICE9PSAtMSkgewogICRFUlJPUignIzk6IH5cXHUyMDI5MCA9PT0gLTEnKTsKfQoKLy9DSEVDSyMxMAppZiAoZXZhbCgiflx1MDAwOVx1MDAwQlx1MDAwQ1x1MDAyMFx1MDBBMFx1MDAwQVx1MDAwRFx1MjAyOFx1MjAyOTAiKSAhPT0gLTEpIHsKICAkRVJST1IoJyMxMDogflxcdTAwMDlcXHUwMDBCXFx1MDAwQ1xcdTAwMjBcXHUwMEEwXFx1MDAwQVxcdTAwMERcXHUyMDI4XFx1MjAyOTAgPT09IC0xJyk7Cn0KCg==",
"commentary":"White Space and Line Terminator between \"~\" and UnaryExpression are allowed",
"description":"Checking by using eval",
"path":"TestCases/ch11/11.4/11.4.8/S11.4.8_A1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB+eCB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjgvUzExLjQuOF9BMi4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBFaXRoZXIgVHlwZSh4KSBpcyBub3QgUmVmZXJlbmNlIG9yIEdldEJhc2UoeCkgaXMgbm90IG51bGwKICovCgovL0NIRUNLIzEKaWYgKH4wICE9PSAtMSkgewogICRFUlJPUignIzE6IH4wID09PSAtMS4gQWN0dWFsOiAnICsgKH4wKSk7Cn0KCi8vQ0hFQ0sjMgppZiAofih+MCkgIT09IDApIHsKICAkRVJST1IoJyMyOiB+KH4wKSA9PT0gMC4gQWN0dWFsOiAnICsgKH4ofjApKSk7Cn0KCi8vQ0hFQ0sjMwp2YXIgeCA9IDA7CmlmICh+eCAhPT0gLTEpIHsKICAkRVJST1IoJyMzOiB2YXIgeCA9IDA7IH54ID09PSAtMS4gQWN0dWFsOiAnICsgKH54KSk7Cn0KCi8vQ0hFQ0sjNAp2YXIgeCA9IDA7CmlmICh+KH54KSAhPT0gMCkgewogICRFUlJPUignIzQ6IHZhciB4ID0gMDsgfih+eCkgPT09IDAuIEFjdHVhbDogJyArICh+KH54KSkpOwp9CgovL0NIRUNLIzUKdmFyIG9iamVjdCA9IG5ldyBPYmplY3QoKTsKb2JqZWN0LnByb3AgPSAwOwppZiAofm9iamVjdC5wcm9wICE9PSAtMSkgewogICRFUlJPUignIzU6IHZhciBvYmplY3QgPSBuZXcgT2JqZWN0KCk7IG9iamVjdC5wcm9wID0gMDsgfm9iamVjdC5wcm9wID09PSAtMS4gQWN0dWFsOiAnICsgKH5vYmplY3QucHJvcCkpOwp9Cgo=",
"commentary":"Operator ~x uses GetValue",
"description":"Either Type(x) is not Reference or GetBase(x) is not null",
"path":"TestCases/ch11/11.4/11.4.8/S11.4.8_A2.1_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB+eCB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjgvUzExLjQuOF9BMi4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBHZXRCYXNlKHgpIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgfng7CiAgJEVSUk9SKCcjMS4xOiB+eCB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKH54KSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiB+eCB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoKCg==",
"commentary":"Operator ~x uses GetValue",
"description":"If GetBase(x) is null, throw ReferenceError",
"path":"TestCases/ch11/11.4/11.4.8/S11.4.8_A2.1_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB+eCB1c2VzIFtbRGVmYXVsdCBWYWx1ZV1dCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjgvUzExLjQuOF9BMi4yX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBUeXBlKHZhbHVlKSBpcyBPYmplY3QsIGV2YWx1YXRlIFRvUHJpbWl0aXZlKHZhbHVlLCBOdW1iZXIpCiAqLwoKLy9DSEVDSyMxCnZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsKaWYgKH5vYmplY3QgIT09IC0yKSB7CiAgJEVSUk9SKCcjMTogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OyB+b2JqZWN0ID09PSAtMi4gQWN0dWFsOiAnICsgKH5vYmplY3QpKTsKfQoKLy9DSEVDSyMyCnZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fTsKaWYgKH5vYmplY3QgIT09IC0yKSB7CiAgJEVSUk9SKCcjMjogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19OyB+b2JqZWN0ID09PSAtMi4gQWN0dWFsOiAnICsgKH5vYmplY3QpKTsKfSAKCi8vQ0hFQ0sjMwp2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19OwppZiAofm9iamVjdCAhPT0gLTIpIHsKICAkRVJST1IoJyMzOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19OyB+b2JqZWN0ID09PSAtMi4gQWN0dWFsOiAnICsgKH5vYmplY3QpKTsKfQoKLy9DSEVDSyM0CnRyeSB7CiAgdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07CiAgaWYgKH5vYmplY3QgIT09IC0yKSB7CiAgICAkRVJST1IoJyM0LjE6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19OyB+b2JqZWN0ID09PSAtMi4gQWN0dWFsOiAnICsgKH5vYmplY3QpKTsKICB9Cn0KY2F0Y2ggKGUpIHsKICBpZiAoZSA9PT0gImVycm9yIikgewogICAgJEVSUk9SKCcjNC4yOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fTsgfm9iamVjdCBub3QgdGhyb3cgImVycm9yIicpOwogIH0gZWxzZSB7CiAgICAkRVJST1IoJyM0LjM6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19OyB+b2JqZWN0IG5vdCB0aHJvdyBFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCi8vQ0hFQ0sjNQp2YXIgb2JqZWN0ID0ge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OwppZiAofm9iamVjdCAhPT0gLTIpIHsKICAkRVJST1IoJyM1OiB2YXIgb2JqZWN0ID0ge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OyB+b2JqZWN0ID09PSAtMi4gQWN0dWFsOiAnICsgKH5vYmplY3QpKTsKfQoKLy9DSEVDSyM2CnZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0KaWYgKH5vYmplY3QgIT09IC0yKSB7CiAgJEVSUk9SKCcjNjogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsgfm9iamVjdCA9PT0gLTIuIEFjdHVhbDogJyArICh+b2JqZWN0KSk7Cn0KCi8vQ0hFQ0sjNwp0cnkgewogIHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OwogIH5vYmplY3Q7CiAgJEVSUk9SKCcjNy4xOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsgfm9iamVjdCB0aHJvdyAiZXJyb3IiLiBBY3R1YWw6ICcgKyAofm9iamVjdCkpOwp9ICAKY2F0Y2ggKGUpIHsKICBpZiAoZSAhPT0gImVycm9yIikgewogICAgJEVSUk9SKCcjNy4yOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsgfm9iamVjdCB0aHJvdyAiZXJyb3IiLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gCn0KCi8vQ0hFQ0sjOAp0cnkgewogIHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19OwogIH5vYmplY3Q7CiAgJEVSUk9SKCcjOC4xOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsgfm9iamVjdCB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArICh+b2JqZWN0KSk7Cn0gIApjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzguMjogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07IH5vYmplY3QgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gCn0KCg==",
"commentary":"Operator ~x uses [[Default Value]]",
"description":"If Type(value) is Object, evaluate ToPrimitive(value, Number)",
"path":"TestCases/ch11/11.4/11.4.8/S11.4.8_A2.2_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB+eCByZXR1cm5zIH5Ub0ludDMyKHgpCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjgvUzExLjQuOF9BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBib29sZWFuIHByaW1pdGl2ZSBvciBCb29sZWFuIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAofmZhbHNlICE9PSAtMSkgewogICRFUlJPUignIzE6IH5mYWxzZSA9PT0gLTEuIEFjdHVhbDogJyArICh+ZmFsc2UpKTsKfQoKLy9DSEVDSyMyCmlmICh+bmV3IEJvb2xlYW4odHJ1ZSkgIT09IC0yKSB7CiAgJEVSUk9SKCcjMjogfm5ldyBCb29sZWFuKHRydWUpID09PSAtMi4gQWN0dWFsOiAnICsgKH5uZXcgQm9vbGVhbih0cnVlKSkpOwp9CgovL0NIRUNLIzMKaWYgKH5uZXcgQm9vbGVhbihmYWxzZSkgIT09IC0xKSB7CiAgJEVSUk9SKCcjMzogfm5ldyBCb29sZWFuKGZhbHNlKSA9PT0gLTEuIEFjdHVhbDogJyArICh+bmV3IEJvb2xlYW4oZmFsc2UpKSk7Cn0KCg==",
"commentary":"Operator ~x returns ~ToInt32(x)",
"description":"Type(x) is boolean primitive or Boolean object",
"path":"TestCases/ch11/11.4/11.4.8/S11.4.8_A3_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB+eCByZXR1cm5zIH5Ub0ludDMyKHgpCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjgvUzExLjQuOF9BM19UMi5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBudW1iZXIgcHJpbWl0aXZlIG9yIE51bWJlciBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKH4wLjEgIT09IC0xKSB7CiAgJEVSUk9SKCcjMTogfjAuMSA9PT0gLTEuIEFjdHVhbDogJyArICh+MC4xKSk7Cn0KCi8vQ0hFQ0sjMgppZiAofm5ldyBOdW1iZXIoLTAuMSkgIT09IC0xKSB7CiAgJEVSUk9SKCcjMjogfm5ldyBOdW1iZXIoLTAuMSkgPT09IC0xLiBBY3R1YWw6ICcgKyAofm5ldyBOdW1iZXIoLTAuMSkpKTsKfQoKLy9DSEVDSyMzCmlmICh+TmFOICE9PSAtMSkgewogICRFUlJPUignIzM6IH5OYU4gPT09IC0xLiBBY3R1YWw6ICcgKyAofk5hTikpOwp9CgovL0NIRUNLIzQKaWYgKH5uZXcgTnVtYmVyKE5hTikgIT09IC0xKSB7CiAgJEVSUk9SKCcjNDogfm5ldyBOdW1iZXIoTmFOKSA9PT0gLTEuIEFjdHVhbDogJyArICh+bmV3IE51bWJlcihOYU4pKSk7Cn0KCi8vQ0hFQ0sjNQppZiAofjEgIT09IC0yKSB7CiAgJEVSUk9SKCcjNTogfjEgPT09IC0yLiBBY3R1YWw6ICcgKyAofjEpKTsKfQoKLy9DSEVDSyM2CmlmICh+bmV3IE51bWJlcigtMikgIT09IDEpIHsKICAkRVJST1IoJyM2OiB+bmV3IE51bWJlcigtMikgPT09IDEuIEFjdHVhbDogJyArICh+bmV3IE51bWJlcigtMikpKTsKfQoKLy9DSEVDSyM3CmlmICh+SW5maW5pdHkgIT09IC0xKSB7CiAgJEVSUk9SKCcjNzogfkluZmluaXR5ID09PSAtMS4gQWN0dWFsOiAnICsgKH5JbmZpbml0eSkpOwp9Cgo=",
"commentary":"Operator ~x returns ~ToInt32(x)",
"description":"Type(x) is number primitive or Number object",
"path":"TestCases/ch11/11.4/11.4.8/S11.4.8_A3_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB+eCByZXR1cm5zIH5Ub0ludDMyKHgpCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjgvUzExLjQuOF9BM19UMy5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBzdHJpbmcgcHJpbWl0aXZlIG9yIFN0cmluZyBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKH4iMSIgIT09IC0yKSB7CiAgJEVSUk9SKCcjMTogfiIxIiA9PT0gLTIuIEFjdHVhbDogJyArICh+IjEiKSk7Cn0KCi8vQ0hFQ0sjMgppZiAofm5ldyBTdHJpbmcoIjAiKSAhPT0gLTEpIHsKICAkRVJST1IoJyMyOiB+bmV3IFN0cmluZygiMCIpID09PSAtMS4gQWN0dWFsOiAnICsgKH5uZXcgU3RyaW5nKCIwIikpKTsKfQoKLy9DSEVDSyMzCmlmICh+IngiICE9PSAtMSkgewogICRFUlJPUignIzM6IH4ieCIgPT09IC0xLiBBY3R1YWw6ICcgKyAofiJ4IikpOwp9CgovL0NIRUNLIzQKaWYgKH4iIiAhPT0gLTEpIHsKICAkRVJST1IoJyM0OiB+IiIgPT09IC0xLiBBY3R1YWw6ICcgKyAofiIiKSk7Cn0KCi8vQ0hFQ0sjNQppZiAofm5ldyBTdHJpbmcoIi0yIikgIT09IDEpIHsKICAkRVJST1IoJyM1OiB+bmV3IFN0cmluZygiLTIiKSA9PT0gMS4gQWN0dWFsOiAnICsgKH5uZXcgU3RyaW5nKCItMiIpKSk7Cn0KCg==",
"commentary":"Operator ~x returns ~ToInt32(x)",
"description":"Type(x) is string primitive or String object",
"path":"TestCases/ch11/11.4/11.4.8/S11.4.8_A3_T3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB+eCByZXR1cm5zIH5Ub0ludDMyKHgpCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjgvUzExLjQuOF9BM19UNC5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyB1bmRlZmluZWQgb3IgbnVsbAogKi8KCi8vQ0hFQ0sjMQppZiAofnZvaWQgMCAhPT0gLTEpIHsKICAkRVJST1IoJyMxOiB+dm9pZCAwID09PSAtMS4gQWN0dWFsOiAnICsgKH52b2lkIDApKTsKfQoKLy9DSEVDSyMyCmlmICh+bnVsbCAhPT0gLTEpIHsKICAkRVJST1IoJyMyOiB+bnVsbCA9PT0gLTEuIEFjdHVhbDogJyArICh+bnVsbCkpOwp9Cgo=",
"commentary":"Operator ~x returns ~ToInt32(x)",
"description":"Type(x) is undefined or null",
"path":"TestCases/ch11/11.4/11.4.8/S11.4.8_A3_T4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB+eCByZXR1cm5zIH5Ub0ludDMyKHgpCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjgvUzExLjQuOF9BM19UNS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBPYmplY3Qgb2JqZWN0IG9yIEZ1bmN0aW9uIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAofih7fSkgIT09IC0xKSB7CiAgJEVSUk9SKCcjMTogfih7fSkgPT09IC0xLiBBY3R1YWw6ICcgKyAofih7fSkpKTsKfQoKLy9DSEVDSyMyICAKaWYgKH4oZnVuY3Rpb24oKXtyZXR1cm4gMX0pICE9PSAtMSkgewogICRFUlJPUignIzI6IH4oZnVuY3Rpb24oKXtyZXR1cm4gMX0pID09PSAtMS4gQWN0dWFsOiAnICsgKH4oZnVuY3Rpb24oKXtyZXR1cm4gMX0pKSk7Cn0KCg==",
"commentary":"Operator ~x returns ~ToInt32(x)",
"description":"Type(x) is Object object or Function object",
"path":"TestCases/ch11/11.4/11.4.8/S11.4.8_A3_T5.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gIiEiIGFuZCBVbmFyeUV4cHJlc3Npb24gYXJlIGFsbG93ZWQKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuOS9TMTEuNC45X0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBieSB1c2luZyBldmFsCiAqLwoKLy9DSEVDSyMxCmlmIChldmFsKCIhXHUwMDA5dHJ1ZSIpICE9PSBmYWxzZSkgewogICRFUlJPUignI3RydWU6ICFcXHUwMDA5dHJ1ZSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyCmlmIChldmFsKCIhXHUwMDBCdHJ1ZSIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6ICFcXHUwMDBCdHJ1ZSA9PT0gZmFsc2UnKTsgIAp9CgovL0NIRUNLIzMKaWYgKGV2YWwoIiFcdTAwMEN0cnVlIikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMzogIVxcdTAwMEN0cnVlID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzQKaWYgKGV2YWwoIiFcdTAwMjB0cnVlIikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogIVxcdTAwMjAgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoZXZhbCgiIVx1MDBBMHRydWUiKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM1OiAhXFx1MDBBMHRydWUgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNgppZiAoZXZhbCgiIVx1MDAwQXRydWUiKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM2OiAhXFx1MDAwQXRydWUgPT09IGZhbHNlJyk7ICAKfQoKLy9DSEVDSyM3CmlmIChldmFsKCIhXHUwMDBEdHJ1ZSIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzc6ICFcXHUwMDBEdHJ1ZSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM4CmlmIChldmFsKCIhXHUyMDI4dHJ1ZSIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzg6ICFcXHUyMDI4dHJ1ZSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM5CmlmIChldmFsKCIhXHUyMDI5dHJ1ZSIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzk6ICFcXHUyMDI5dHJ1ZSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMxMAppZiAoZXZhbCgiIVx1MDAwOVx1MDAwQlx1MDAwQ1x1MDAyMFx1MDBBMFx1MDAwQVx1MDAwRFx1MjAyOFx1MjAyOXRydWUiKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxMDogIVxcdTAwMDlcXHUwMDBCXFx1MDAwQ1xcdTAwMjBcXHUwMEEwXFx1MDAwQVxcdTAwMERcXHUyMDI4XFx1MjAyOXRydWUgPT09IGZhbHNlJyk7Cn0KCg==",
"commentary":"White Space and Line Terminator between \"!\" and UnaryExpression are allowed",
"description":"Checking by using eval",
"path":"TestCases/ch11/11.4/11.4.9/S11.4.9_A1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAheCB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjkvUzExLjQuOV9BMi4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBFaXRoZXIgVHlwZSh4KSBpcyBub3QgUmVmZXJlbmNlIG9yIEdldEJhc2UoeCkgaXMgbm90IG51bGwKICovCgovL0NIRUNLIzEKaWYgKCF0cnVlICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6ICF0cnVlID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYgKCEoIXRydWUpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogISghdHJ1ZSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMzCnZhciB4ID0gdHJ1ZTsKaWYgKCF4ICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6IHZhciB4ID0gdHJ1ZTsgIXggPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNAp2YXIgeCA9IHRydWU7CmlmICghKCF4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6IHZhciB4ID0gdHJ1ZTsgISgheCkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM1CnZhciBvYmplY3QgPSBuZXcgT2JqZWN0KCk7Cm9iamVjdC5wcm9wID0gdHJ1ZTsKaWYgKCFvYmplY3QucHJvcCAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM1OiB2YXIgb2JqZWN0ID0gbmV3IE9iamVjdCgpOyBvYmplY3QucHJvcCA9IHRydWU7ICFvYmplY3QucHJvcCA9PT0gZmFsc2UnKTsKfQoK",
"commentary":"Operator !x uses GetValue",
"description":"Either Type(x) is not Reference or GetBase(x) is not null",
"path":"TestCases/ch11/11.4/11.4.9/S11.4.9_A2.1_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAheCB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjkvUzExLjQuOV9BMi4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBHZXRCYXNlKHgpIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgIXg7CiAgJEVSUk9SKCcjMS4xOiAheCB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKCF4KSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiAheCB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoKCg==",
"commentary":"Operator !x uses GetValue",
"description":"If GetBase(x) is null, throw ReferenceError",
"path":"TestCases/ch11/11.4/11.4.9/S11.4.9_A2.1_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAheCB1c2VzIFtbRGVmYXVsdCBWYWx1ZV1dCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjkvUzExLjQuOV9BMi4yX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBUeXBlKHZhbHVlKSBpcyBPYmplY3QsIHJldHVybiBmYWxzZQogKi8KCi8vQ0hFQ0sjMQp2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07CmlmICghb2JqZWN0ICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsgIW9iamVjdCA9PT0gZmFsc2UuIEFjdHVhbDogJyArICghb2JqZWN0KSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX07CmlmICghb2JqZWN0ICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fTsgIW9iamVjdCA9PT0gZmFsc2UuIEFjdHVhbDogJyArICghb2JqZWN0KSk7Cn0gCgovL0NIRUNLIzMKdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsKaWYgKCFvYmplY3QgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMzogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsgIW9iamVjdCA9PT0gZmFsc2UuIEFjdHVhbDogJyArICghb2JqZWN0KSk7Cn0KCi8vQ0hFQ0sjNAp2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fTsKaWYgKCFvYmplY3QgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07ICFvYmplY3QgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoIW9iamVjdCkpOwp9CgovL0NIRUNLIzUKdmFyIG9iamVjdCA9IHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsKaWYgKCFvYmplY3QgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogdmFyIG9iamVjdCA9IHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsgIW9iamVjdCA9PT0gZmFsc2UuIEFjdHVhbDogJyArICghb2JqZWN0KSk7Cn0KCi8vQ0hFQ0sjNgp2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19CmlmICghb2JqZWN0ICE9PSBmYWxzZSkgewogICRFUlJPUignIzY6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07ICFvYmplY3QgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoIW9iamVjdCkpOwp9CgovL0NIRUNLIzcKdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07CmlmICghb2JqZWN0ICE9PSBmYWxzZSkgewogICRFUlJPUignIzc6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OyAhb2JqZWN0ID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKCFvYmplY3QpKTsKfSAgCgovL0NIRUNLIzgKdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07CmlmICghb2JqZWN0ICE9PSBmYWxzZSkgewogICRFUlJPUignIzg6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19OyAhb2JqZWN0ID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKCFvYmplY3QpKTsKfSAgCgo=",
"commentary":"Operator !x uses [[Default Value]]",
"description":"If Type(value) is Object, return false",
"path":"TestCases/ch11/11.4/11.4.9/S11.4.9_A2.2_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAheCByZXR1cm5zICFUb0Jvb2xlYW4oeCkKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuOS9TMTEuNC45X0EzX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGJvb2xlYW4gcHJpbWl0aXZlIG9yIEJvb2xlYW4gb2JqZWN0CiAqLwoKLy9DSEVDSyMxCmlmICghZmFsc2UgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiAhZmFsc2UgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCmlmICghbmV3IEJvb2xlYW4odHJ1ZSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogIW5ldyBCb29sZWFuKHRydWUpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzMKaWYgKCFuZXcgQm9vbGVhbihmYWxzZSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMzogIW5ldyBCb29sZWFuKGZhbHNlKSA9PT0gZmFsc2UnKTsKfQoK",
"commentary":"Operator !x returns !ToBoolean(x)",
"description":"Type(x) is boolean primitive or Boolean object",
"path":"TestCases/ch11/11.4/11.4.9/S11.4.9_A3_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAheCByZXR1cm5zICFUb0Jvb2xlYW4oeCkKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuOS9TMTEuNC45X0EzX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIG51bWJlciBwcmltaXRpdmUgb3IgTnVtYmVyIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAoITAuMSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiAhMC4xID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYgKCFuZXcgTnVtYmVyKC0wLjEpICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6ICFuZXcgTnVtYmVyKC0wLjEpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzMKaWYgKCFOYU4gIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiAhTmFOID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoIW5ldyBOdW1iZXIoTmFOKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM0OiAhbmV3IE51bWJlcihOYU4pID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzUKaWYgKCEwICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNTogITAgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM2CmlmICghbmV3IE51bWJlcigwKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM2OiAhbmV3IE51bWJlcigwKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM3CmlmICghSW5maW5pdHkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNzogIUluZmluaXR5ID09PSBmYWxzZScpOwp9Cgo=",
"commentary":"Operator !x returns !ToBoolean(x)",
"description":"Type(x) is number primitive or Number object",
"path":"TestCases/ch11/11.4/11.4.9/S11.4.9_A3_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAheCByZXR1cm5zICFUb0Jvb2xlYW4oeCkKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuOS9TMTEuNC45X0EzX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIHN0cmluZyBwcmltaXRpdmUgb3IgU3RyaW5nIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAoISIxIiAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiAhIjEiID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYgKCFuZXcgU3RyaW5nKCIwIikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogIW5ldyBTdHJpbmcoIjAiKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMzCmlmICghIngiICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6ICEieCIgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoISIiICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogISIiID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoIW5ldyBTdHJpbmcoIiIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzU6ICFuZXcgU3RyaW5nKCIiKSA9PT0gZmFsc2UnKTsKfQoK",
"commentary":"Operator !x returns !ToBoolean(x)",
"description":"Type(x) is string primitive or String object",
"path":"TestCases/ch11/11.4/11.4.9/S11.4.9_A3_T3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAheCByZXR1cm5zICFUb0Jvb2xlYW4oeCkKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuOS9TMTEuNC45X0EzX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIHVuZGVmaW5lZCBvciBudWxsCiAqLwoKLy9DSEVDSyMxCmlmICghdm9pZCAwICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogIXZvaWQgMCA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKCFudWxsICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogIW51bGwgPT09IHRydWUnKTsKfQoK",
"commentary":"Operator !x returns !ToBoolean(x)",
"description":"Type(x) is undefined or null",
"path":"TestCases/ch11/11.4/11.4.9/S11.4.9_A3_T4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAheCByZXR1cm5zICFUb0Jvb2xlYW4oeCkKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuOS9TMTEuNC45X0EzX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIE9iamVjdCBvYmplY3Qgb3IgRnVuY3Rpb24gb2JqZWN0CiAqLwoKLy9DSEVDSyMxCmlmICgoIXt9KSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiAhKHt9KSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyICAKaWYgKCEoZnVuY3Rpb24oKXtyZXR1cm4gMX0pICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6ICEoZnVuY3Rpb24oKXtyZXR1cm4gMX0pID09PSBmYWxzZScpOwp9Cgo=",
"commentary":"Operator !x returns !ToBoolean(x)",
"description":"Type(x) is Object object or Function object",
"path":"TestCases/ch11/11.4/11.4.9/S11.4.9_A3_T5.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gTXVsdGlwbGljYXRpdmVFeHByZXNzaW9uIGFuZCAiKiIgb3IgYmV0d2VlbiAiKiIgYW5kIFVuYXJ5RXhwcmVzc2lvbiBhcmUgYWxsb3dlZAogKgogKiBAcGF0aCBjaDExLzExLjUvMTEuNS4xL1MxMS41LjFfQTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGJ5IHVzaW5nIGV2YWwKICovCgovL0NIRUNLIzEKaWYgKGV2YWwoIjFcdTAwMDkqXHUwMDA5MSIpICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogMVxcdTAwMDkqXFx1MDAwOTEgPT09IDEnKTsKfQoKLy9DSEVDSyMyCmlmIChldmFsKCIxXHUwMDBCKlx1MDAwQjEiKSAhPT0gMSkgewogICRFUlJPUignIzI6IDFcXHUwMDBCKlxcdTAwMEIxID09PSAxJyk7ICAKfQoKLy9DSEVDSyMzCmlmIChldmFsKCIxXHUwMDBDKlx1MDAwQzEiKSAhPT0gMSkgewogICRFUlJPUignIzM6IDFcXHUwMDBDKlxcdTAwMEMxID09PSAxJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoZXZhbCgiMVx1MDAyMCpcdTAwMjAxIikgIT09IDEpIHsKICAkRVJST1IoJyM0OiAxXFx1MDAyMCpcXHUwMDIwMSA9PT0gMScpOwp9CgovL0NIRUNLIzUKaWYgKGV2YWwoIjFcdTAwQTAqXHUwMEEwMSIpICE9PSAxKSB7CiAgJEVSUk9SKCcjNTogMVxcdTAwQTAqXFx1MDBBMDEgPT09IDEnKTsKfQoKLy9DSEVDSyM2CmlmIChldmFsKCIxXHUwMDBBKlx1MDAwQTEiKSAhPT0gMSkgewogICRFUlJPUignIzY6IDFcXHUwMDBBKlxcdTAwMEExID09PSAxJyk7ICAKfQoKLy9DSEVDSyM3CmlmIChldmFsKCIxXHUwMDBEKlx1MDAwRDEiKSAhPT0gMSkgewogICRFUlJPUignIzc6IDFcXHUwMDBEKlxcdTAwMEQxID09PSAxJyk7Cn0KCi8vQ0hFQ0sjOAppZiAoZXZhbCgiMVx1MjAyOCpcdTIwMjgxIikgIT09IDEpIHsKICAkRVJST1IoJyM4OiAxXFx1MjAyOCpcXHUyMDI4MSA9PT0gMScpOwp9CgovL0NIRUNLIzkKaWYgKGV2YWwoIjFcdTIwMjkqXHUyMDI5MSIpICE9PSAxKSB7CiAgJEVSUk9SKCcjOTogMVxcdTIwMjkqXFx1MjAyOTEgPT09IDEnKTsKfQoKLy9DSEVDSyMxMAppZiAoZXZhbCgiMVx1MDAwOVx1MDAwQlx1MDAwQ1x1MDAyMFx1MDBBMFx1MDAwQVx1MDAwRFx1MjAyOFx1MjAyOSpcdTAwMDlcdTAwMEJcdTAwMENcdTAwMjBcdTAwQTBcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjkxIikgIT09IDEpIHsKICAkRVJST1IoJyMxMDogMVxcdTAwMDlcXHUwMDBCXFx1MDAwQ1xcdTAwMjBcXHUwMEEwXFx1MDAwQVxcdTAwMERcXHUyMDI4XFx1MjAyOSpcXHUwMDA5XFx1MDAwQlxcdTAwMENcXHUwMDIwXFx1MDBBMFxcdTAwMEFcXHUwMDBEXFx1MjAyOFxcdTIwMjkxID09PSAxJyk7Cn0KCg==",
"commentary":"White Space and Line Terminator between MultiplicativeExpression and \"*\" or between \"*\" and UnaryExpression are allowed",
"description":"Checking by using eval",
"path":"TestCases/ch11/11.5/11.5.1/S11.5.1_A1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICogeSB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuNS8xMS41LjEvUzExLjUuMV9BMi4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBFaXRoZXIgVHlwZSBpcyBub3QgUmVmZXJlbmNlIG9yIEdldEJhc2UgaXMgbm90IG51bGwKICovCgovL0NIRUNLIzEKaWYgKDEgKiAxICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogMSAqIDEgPT09IDEuIEFjdHVhbDogJyArICgxICogMSkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAxOwppZiAoeCAqIDEgIT09IDEpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IDE7IHggKiAxID09PSAxLiBBY3R1YWw6ICcgKyAoeCAqIDEpKTsKfQoKLy9DSEVDSyMzCnZhciB5ID0gMTsKaWYgKDEgKiB5ICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogdmFyIHkgPSAxOyAxICogeSA9PT0gMS4gQWN0dWFsOiAnICsgKDEgKiB5KSk7Cn0KCi8vQ0hFQ0sjNAp2YXIgeCA9IDE7CnZhciB5ID0gMTsKaWYgKHggKiB5ICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSAxOyB2YXIgeSA9IDE7IHggKiB5ID09PSAxLiBBY3R1YWw6ICcgKyAoeCAqIHkpKTsKfQoKLy9DSEVDSyM1CnZhciBvYmplY3R4ID0gbmV3IE9iamVjdCgpOwp2YXIgb2JqZWN0eSA9IG5ldyBPYmplY3QoKTsKb2JqZWN0eC5wcm9wID0gMTsKb2JqZWN0eS5wcm9wID0gMTsKaWYgKG9iamVjdHgucHJvcCAqIG9iamVjdHkucHJvcCAhPT0gMSkgewogICRFUlJPUignIzU6IHZhciBvYmplY3R4ID0gbmV3IE9iamVjdCgpOyB2YXIgb2JqZWN0eSA9IG5ldyBPYmplY3QoKTsgb2JqZWN0eC5wcm9wID0gMTsgb2JqZWN0eS5wcm9wID0gMTsgb2JqZWN0eC5wcm9wICogb2JqZWN0eS5wcm9wID09PSAxLiBBY3R1YWw6ICcgKyAob2JqZWN0eC5wcm9wICogb2JqZWN0eS5wcm9wKSk7Cn0KCg==",
"commentary":"Operator x * y uses GetValue",
"description":"Either Type is not Reference or GetBase is not null",
"path":"TestCases/ch11/11.5/11.5.1/S11.5.1_A2.1_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICogeSB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuNS8xMS41LjEvUzExLjUuMV9BMi4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBHZXRCYXNlKHgpIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgeCAqIDE7CiAgJEVSUk9SKCcjMS4xOiB4ICogMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHggKiAxKSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiB4ICogMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoKCg==",
"commentary":"Operator x * y uses GetValue",
"description":"If GetBase(x) is null, throw ReferenceError",
"path":"TestCases/ch11/11.5/11.5.1/S11.5.1_A2.1_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICogeSB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuNS8xMS41LjEvUzExLjUuMV9BMi4xX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBHZXRCYXNlKHkpIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgMSAqIHk7CiAgJEVSUk9SKCcjMS4xOiAxICogeSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKDEgKiB5KSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiAxICogeSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoKCg==",
"commentary":"Operator x * y uses GetValue",
"description":"If GetBase(y) is null, throw ReferenceError",
"path":"TestCases/ch11/11.5/11.5.1/S11.5.1_A2.1_T3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICogeSB1c2VzIFtbRGVmYXVsdCBWYWx1ZV1dCiAqCiAqIEBwYXRoIGNoMTEvMTEuNS8xMS41LjEvUzExLjUuMV9BMi4yX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBUeXBlKHZhbHVlKSBpcyBPYmplY3QsIGV2YWx1YXRlIFRvUHJpbWl0aXZlKHZhbHVlLCBOdW1iZXIpCiAqLwoKLy9DSEVDSyMxCmlmICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSAqIDEgIT09IDEpIHsKICAkRVJST1IoJyMxOiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSAqIDEgPT09IDEuIEFjdHVhbDogJyArICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSAqIDEpKTsKfQoKLy9DSEVDSyMyCmlmICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSAqIDEgIT09IDEpIHsKICAkRVJST1IoJyMyOiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSAqIDEgPT09IDEuIEFjdHVhbDogJyArICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSAqIDEpKTsKfQoKLy9DSEVDSyMzCmlmICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0gKiAxICE9PSAxKSB7CiAgJEVSUk9SKCcjMzoge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19ICogMSA9PT0gMS4gQWN0dWFsOiAnICsgKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSAqIDEpKTsKfQoKLy9DSEVDSyM0CnRyeSB7CiAgaWYgKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gKiAxICE9PSAxKSB7CiAgICAkRVJST1IoJyM0LjE6IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gKiAxID09PSAxLiBBY3R1YWw6ICcgKyAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fSAqIDEpKTsKICB9Cn0KY2F0Y2ggKGUpIHsKICBpZiAoZSA9PT0gImVycm9yIikgewogICAgJEVSUk9SKCcjNC4yOiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19ICogMSBub3QgdGhyb3cgImVycm9yIicpOwogIH0gZWxzZSB7CiAgICAkRVJST1IoJyM0LjM6IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gKiAxIG5vdCB0aHJvdyBFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCi8vQ0hFQ0sjNQppZiAoMSAqIHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSAhPT0gMSkgewogICRFUlJPUignIzU6IDEgKiB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0gPT09IDEuIEFjdHVhbDogJyArICgxICoge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSk7Cn0KCi8vQ0hFQ0sjNgppZiAoMSAqIHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSAhPT0gMSkgewogICRFUlJPUignIzY6IDEgKiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0gPT09IDEuIEFjdHVhbDogJyArICgxICoge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSk7Cn0KCi8vQ0hFQ0sjNwp0cnkgewogIDEgKiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OwogICRFUlJPUignIzcuMTogMSAqIHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0gdGhyb3cgImVycm9yIi4gQWN0dWFsOiAnICsgKDEgKiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSk7Cn0gIApjYXRjaCAoZSkgewogIGlmIChlICE9PSAiZXJyb3IiKSB7CiAgICAkRVJST1IoJyM3LjI6IDEgKiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19IHRocm93ICJlcnJvciIuIEFjdHVhbDogJyArIChlKSk7CiAgfSAKfQoKLy9DSEVDSyM4CnRyeSB7CiAgMSAqIHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07CiAgJEVSUk9SKCcjOC4xOiAxICoge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArICgxICoge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSkpOwp9ICAKY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyM4LjI6IDEgKiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19IHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9IAp9Cgo=",
"commentary":"Operator x * y uses [[Default Value]]",
"description":"If Type(value) is Object, evaluate ToPrimitive(value, Number)",
"path":"TestCases/ch11/11.5/11.5.1/S11.5.1_A2.2_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUb051bWJlcihmaXJzdCBleHByZXNzaW9uKSBpcyBjYWxsZWQgZmlyc3QsIGFuZCB0aGVuIFRvTnVtYmVyKHNlY29uZCBleHByZXNzaW9uKQogKgogKiBAcGF0aCBjaDExLzExLjUvMTEuNS4xL1MxMS41LjFfQTIuM19UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgd2l0aCAidGhyb3ciCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0geyB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfSB9Owp2YXIgeSA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieSI7IH0gfTsKdHJ5IHsKICAgeCAqIHk7CiAgICRFUlJPUignIzEuMTogdmFyIHggPSB7IHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9IH07IHZhciB5ID0geyB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfSB9OyB4ICogeSB0aHJvdyAieCIuIEFjdHVhbDogJyArICh4ICogeSkpOwp9IGNhdGNoIChlKSB7CiAgIGlmIChlID09PSAieSIpIHsKICAgICAkRVJST1IoJyMxLjI6IFRvTnVtYmVyKGZpcnN0IGV4cHJlc3Npb24pIGlzIGNhbGxlZCBmaXJzdCwgYW5kIHRoZW4gVG9OdW1iZXIoc2Vjb25kIGV4cHJlc3Npb24pJyk7CiAgIH0gZWxzZSB7CiAgICAgaWYgKGUgIT09ICJ4IikgewogICAgICAgJEVSUk9SKCcjMS4zOiB2YXIgeCA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieCI7IH0gfTsgdmFyIHkgPSB7IHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9IH07IHggKiB5IHRocm93ICJ4Ii4gQWN0dWFsOiAnICsgKGUpKTsKICAgICB9CiAgIH0KfQoK",
"commentary":"ToNumber(first expression) is called first, and then ToNumber(second expression)",
"description":"Checking with \"throw\"",
"path":"TestCases/ch11/11.5/11.5.1/S11.5.1_A2.3_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMS9TMTEuNS4xX0EyLjRfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggIj0iCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gMDsgCmlmICgoeCA9IDEpICogeCAhPT0gMSkgewogICRFUlJPUignIzE6IHZhciB4ID0gMDsgKHggPSAxKSAqIHggPT09IDEuIEFjdHVhbDogJyArICgoeCA9IDEpICogeCkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAwOyAKaWYgKHggKiAoeCA9IDEpICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSAwOyB4ICogKHggPSAxKSA9PT0gMC4gQWN0dWFsOiAnICsgKHggKiAoeCA9IDEpKSk7Cn0KCgo=",
"commentary":"First expression is evaluated first, and then second expression",
"description":"Checking with \"=\"",
"path":"TestCases/ch11/11.5/11.5.1/S11.5.1_A2.4_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMS9TMTEuNS4xX0EyLjRfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggInRocm93IgogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9Owp2YXIgeSA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9Owp0cnkgewogICB4KCkgKiB5KCk7CiAgICRFUlJPUignIzEuMTogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpICogeSgpIHRocm93ICJ4Ii4gQWN0dWFsOiAnICsgKHgoKSAqIHkoKSkpOwp9IGNhdGNoIChlKSB7CiAgIGlmIChlID09PSAieSIpIHsKICAgICAkRVJST1IoJyMxLjI6IEZpcnN0IGV4cHJlc3Npb24gaXMgZXZhbHVhdGVkIGZpcnN0LCBhbmQgdGhlbiBzZWNvbmQgZXhwcmVzc2lvbicpOwogICB9IGVsc2UgewogICAgIGlmIChlICE9PSAieCIpIHsKICAgICAgICRFUlJPUignIzEuMzogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpICogeSgpIHRocm93ICJ4Ii4gQWN0dWFsOiAnICsgKGUpKTsKICAgICB9CiAgIH0KfQoK",
"commentary":"First expression is evaluated first, and then second expression",
"description":"Checking with \"throw\"",
"path":"TestCases/ch11/11.5/11.5.1/S11.5.1_A2.4_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMS9TMTEuNS4xX0EyLjRfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggdW5kZWNsYXJhdGVkIHZhcmlhYmxlcwogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHggKiAoeCA9IDEpOwogICRFUlJPUignIzEuMTogeCAqICh4ID0gMSkgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArICh4ICogKHggPSAxKSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogeCAqICh4ID0gMSkgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7ICAKICB9Cn0KCi8vQ0hFQ0sjMgppZiAoKHkgPSAxKSAqIHkgIT09IDEpIHsKICAkRVJST1IoJyMyOiAoeSA9IDEpICogeSA9PT0gMS4gQWN0dWFsOiAnICsgKCh5ID0gMSkgKiB5KSk7Cn0KCgo=",
"commentary":"First expression is evaluated first, and then second expression",
"description":"Checking with undeclarated variables",
"path":"TestCases/ch11/11.5/11.5.1/S11.5.1_A2.4_T3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICogeSByZXR1cm5zIFRvTnVtYmVyKHgpICogVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMS9TMTEuNS4xX0EzX1QxLjEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBib29sZWFuIGFuZCBCb29sZWFuIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAodHJ1ZSAqIHRydWUgIT09IDEpIHsKICAkRVJST1IoJyMxOiB0cnVlICogdHJ1ZSA9PT0gMS4gQWN0dWFsOiAnICsgKHRydWUgKiB0cnVlKSk7Cn0KCi8vQ0hFQ0sjMgppZiAobmV3IEJvb2xlYW4odHJ1ZSkgKiB0cnVlICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogbmV3IEJvb2xlYW4odHJ1ZSkgKiB0cnVlID09PSAxLiBBY3R1YWw6ICcgKyAobmV3IEJvb2xlYW4odHJ1ZSkgKiB0cnVlKSk7Cn0KCi8vQ0hFQ0sjMwppZiAodHJ1ZSAqIG5ldyBCb29sZWFuKHRydWUpICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogdHJ1ZSAqIG5ldyBCb29sZWFuKHRydWUpID09PSAxLiBBY3R1YWw6ICcgKyAodHJ1ZSAqIG5ldyBCb29sZWFuKHRydWUpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAobmV3IEJvb2xlYW4odHJ1ZSkgKiBuZXcgQm9vbGVhbih0cnVlKSAhPT0gMSkgewogICRFUlJPUignIzQ6IG5ldyBCb29sZWFuKHRydWUpICogbmV3IEJvb2xlYW4odHJ1ZSkgPT09IDEuIEFjdHVhbDogJyArIChuZXcgQm9vbGVhbih0cnVlKSAqIG5ldyBCb29sZWFuKHRydWUpKSk7Cn0KCg==",
"commentary":"Operator x * y returns ToNumber(x) * ToNumber(y)",
"description":"Type(x) and Type(y) vary between primitive boolean and Boolean object",
"path":"TestCases/ch11/11.5/11.5.1/S11.5.1_A3_T1.1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICogeSByZXR1cm5zIFRvTnVtYmVyKHgpICogVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMS9TMTEuNS4xX0EzX1QxLjIuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBudW1iZXIgYW5kIE51bWJlciBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKDEgKiAxICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogMSAqIDEgPT09IDEuIEFjdHVhbDogJyArICgxICogMSkpOwp9CgovL0NIRUNLIzIKaWYgKG5ldyBOdW1iZXIoMSkgKiAxICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogbmV3IE51bWJlcigxKSAqIDEgPT09IDEuIEFjdHVhbDogJyArIChuZXcgTnVtYmVyKDEpICogMSkpOwp9CgovL0NIRUNLIzMKaWYgKDEgKiBuZXcgTnVtYmVyKDEpICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogMSAqIG5ldyBOdW1iZXIoMSkgPT09IDEuIEFjdHVhbDogJyArICgxICogbmV3IE51bWJlcigxKSkpOwp9CgovL0NIRUNLIzQKaWYgKG5ldyBOdW1iZXIoMSkgKiBuZXcgTnVtYmVyKDEpICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogbmV3IE51bWJlcigxKSAqIG5ldyBOdW1iZXIoMSkgPT09IDEuIEFjdHVhbDogJyArIChuZXcgTnVtYmVyKDEpICogbmV3IE51bWJlcigxKSkpOwp9CgoK",
"commentary":"Operator x * y returns ToNumber(x) * ToNumber(y)",
"description":"Type(x) and Type(y) vary between primitive number and Number object",
"path":"TestCases/ch11/11.5/11.5.1/S11.5.1_A3_T1.2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICogeSByZXR1cm5zIFRvTnVtYmVyKHgpICogVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMS9TMTEuNS4xX0EzX1QxLjMuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBzdHJpbmcgYW5kIFN0cmluZyBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKCIxIiAqICIxIiAhPT0gMSkgewogICRFUlJPUignIzE6ICIxIiAqICIxIiA9PT0gMS4gQWN0dWFsOiAnICsgKCIxIiAqICIxIikpOwp9CgovL0NIRUNLIzIKaWYgKG5ldyBTdHJpbmcoIjEiKSAqICIxIiAhPT0gMSkgewogICRFUlJPUignIzI6IG5ldyBTdHJpbmcoIjEiKSAqICIxIiA9PT0gMS4gQWN0dWFsOiAnICsgKG5ldyBTdHJpbmcoIjEiKSAqICIxIikpOwp9CgovL0NIRUNLIzMKaWYgKCIxIiAqIG5ldyBTdHJpbmcoIjEiKSAhPT0gMSkgewogICRFUlJPUignIzM6ICIxIiAqIG5ldyBTdHJpbmcoIjEiKSA9PT0gMS4gQWN0dWFsOiAnICsgKCIxIiAqIG5ldyBTdHJpbmcoIjEiKSkpOwp9CgovL0NIRUNLIzQKaWYgKG5ldyBTdHJpbmcoIjEiKSAqIG5ldyBTdHJpbmcoIjEiKSAhPT0gMSkgewogICRFUlJPUignIzQ6IG5ldyBTdHJpbmcoIjEiKSAqIG5ldyBTdHJpbmcoIjEiKSA9PT0gMS4gQWN0dWFsOiAnICsgKG5ldyBTdHJpbmcoIjEiKSAqIG5ldyBTdHJpbmcoIjEiKSkpOwp9CgovL0NIRUNLIzUKaWYgKGlzTmFOKCJ4IiAqICIxIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiAieCIgKiAiMSIgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKCJ4IiAqICIxIikpOwp9CgovL0NIRUNLIzYKaWYgKGlzTmFOKCIxIiAqICJ4IikgIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiAiMSIgKiAieCIgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKCIxIiAqICJ4IikpOwp9Cgo=",
"commentary":"Operator x * y returns ToNumber(x) * ToNumber(y)",
"description":"Type(x) and Type(y) vary between primitive string and String object",
"path":"TestCases/ch11/11.5/11.5.1/S11.5.1_A3_T1.3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICogeSByZXR1cm5zIFRvTnVtYmVyKHgpICogVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMS9TMTEuNS4xX0EzX1QxLjQuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIE51bGwgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQppZiAoaXNOYU4obnVsbCAqIHVuZGVmaW5lZCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiBudWxsICogdW5kZWZpbmVkID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChudWxsICogdW5kZWZpbmVkKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoaXNOYU4odW5kZWZpbmVkICogbnVsbCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB1bmRlZmluZWQgKiBudWxsID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh1bmRlZmluZWQgKiBudWxsKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoaXNOYU4odW5kZWZpbmVkICogdW5kZWZpbmVkKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IHVuZGVmaW5lZCAqIHVuZGVmaW5lZCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAodW5kZWZpbmVkICogdW5kZWZpbmVkKSk7Cn0KCi8vQ0hFQ0sjNAppZiAobnVsbCAqIG51bGwgIT09IDApIHsKICAkRVJST1IoJyM0OiBudWxsICogbnVsbCA9PT0gMC4gQWN0dWFsOiAnICsgKG51bGwgKiBudWxsKSk7Cn0KCg==",
"commentary":"Operator x * y returns ToNumber(x) * ToNumber(y)",
"description":"Type(x) and Type(y) vary between Null and Undefined",
"path":"TestCases/ch11/11.5/11.5.1/S11.5.1_A3_T1.4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICogeSByZXR1cm5zIFRvTnVtYmVyKHgpICogVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMS9TMTEuNS4xX0EzX1QxLjUuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIE9iamVjdCBvYmplY3QgYW5kIEZ1bmN0aW9uIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAoaXNOYU4oe30gKiBmdW5jdGlvbigpe3JldHVybiAxfSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiB7fSAqIGZ1bmN0aW9uKCl7cmV0dXJuIDF9ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh7fSAqIGZ1bmN0aW9uKCl7cmV0dXJuIDF9KSk7Cn0KCi8vQ0hFQ0sjMgppZiAoaXNOYU4oZnVuY3Rpb24oKXtyZXR1cm4gMX0gKiB7fSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiBmdW5jdGlvbigpe3JldHVybiAxfSAqIHt9ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChmdW5jdGlvbigpe3JldHVybiAxfSAqIHt9KSk7Cn0KCi8vQ0hFQ0sjMwppZiAoaXNOYU4oZnVuY3Rpb24oKXtyZXR1cm4gMX0gKiBmdW5jdGlvbigpe3JldHVybiAxfSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiBmdW5jdGlvbigpe3JldHVybiAxfSAqIGZ1bmN0aW9uKCl7cmV0dXJuIDF9ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChmdW5jdGlvbigpe3JldHVybiAxfSAqIGZ1bmN0aW9uKCl7cmV0dXJuIDF9KSk7Cn0KCi8vQ0hFQ0sjNAppZiAoaXNOYU4oe30gKiB7fSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiB7fSAqIHt9ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh7fSAqIHt9KSk7Cn0KCg==",
"commentary":"Operator x * y returns ToNumber(x) * ToNumber(y)",
"description":"Type(x) and Type(y) vary between Object object and Function object",
"path":"TestCases/ch11/11.5/11.5.1/S11.5.1_A3_T1.5.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICogeSByZXR1cm5zIFRvTnVtYmVyKHgpICogVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMS9TMTEuNS4xX0EzX1QyLjEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gQm9vbGVhbiAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIE51bWJlciAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCmlmICh0cnVlICogMSAhPT0gMSkgewogICRFUlJPUignIzE6IHRydWUgKiAxID09PSAxLiBBY3R1YWw6ICcgKyAodHJ1ZSAqIDEpKTsKfQoKLy9DSEVDSyMyCmlmICgxICogdHJ1ZSAhPT0gMSkgewogICRFUlJPUignIzI6IDEgKiB0cnVlID09PSAxLiBBY3R1YWw6ICcgKyAoMSAqIHRydWUpKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgQm9vbGVhbih0cnVlKSAqIDEgIT09IDEpIHsKICAkRVJST1IoJyMzOiBuZXcgQm9vbGVhbih0cnVlKSAqIDEgPT09IDEuIEFjdHVhbDogJyArIChuZXcgQm9vbGVhbih0cnVlKSAqIDEpKTsKfQoKLy9DSEVDSyM0CmlmICgxICogbmV3IEJvb2xlYW4odHJ1ZSkgIT09IDEpIHsKICAkRVJST1IoJyM0OiAxICogbmV3IEJvb2xlYW4odHJ1ZSkgPT09IDEuIEFjdHVhbDogJyArICgxICogbmV3IEJvb2xlYW4odHJ1ZSkpKTsKfQoKLy9DSEVDSyM1CmlmICh0cnVlICogbmV3IE51bWJlcigxKSAhPT0gMSkgewogICRFUlJPUignIzU6IHRydWUgKiBuZXcgTnVtYmVyKDEpID09PSAxLiBBY3R1YWw6ICcgKyAodHJ1ZSAqIG5ldyBOdW1iZXIoMSkpKTsKfQoKLy9DSEVDSyM2CmlmIChuZXcgTnVtYmVyKDEpICogdHJ1ZSAhPT0gMSkgewogICRFUlJPUignIzY6IG5ldyBOdW1iZXIoMSkgKiB0cnVlID09PSAxLiBBY3R1YWw6ICcgKyAobmV3IE51bWJlcigxKSAqIHRydWUpKTsKfQoKLy9DSEVDSyM3CmlmIChuZXcgQm9vbGVhbih0cnVlKSAqIG5ldyBOdW1iZXIoMSkgIT09IDEpIHsKICAkRVJST1IoJyM3OiBuZXcgQm9vbGVhbih0cnVlKSAqIG5ldyBOdW1iZXIoMSkgPT09IDEuIEFjdHVhbDogJyArIChuZXcgQm9vbGVhbih0cnVlKSAqIG5ldyBOdW1iZXIoMSkpKTsKfQoKLy9DSEVDSyM4CmlmIChuZXcgTnVtYmVyKDEpICogbmV3IEJvb2xlYW4odHJ1ZSkgIT09IDEpIHsKICAkRVJST1IoJyM4OiBuZXcgTnVtYmVyKDEpICogbmV3IEJvb2xlYW4odHJ1ZSkgPT09IDEuIEFjdHVhbDogJyArIChuZXcgTnVtYmVyKDEpICogbmV3IEJvb2xlYW4odHJ1ZSkpKTsKfQoK",
"commentary":"Operator x * y returns ToNumber(x) * ToNumber(y)",
"description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Number (primitive and object)",
"path":"TestCases/ch11/11.5/11.5.1/S11.5.1_A3_T2.1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICogeSByZXR1cm5zIFRvTnVtYmVyKHgpICogVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMS9TMTEuNS4xX0EzX1QyLjIuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgU3RyaW5nIChwcmltaXRpdmUgYW5kIG9iamVjdCkKICovCgovL0NIRUNLIzEKaWYgKCIxIiAqIDEgIT09IDEpIHsKICAkRVJST1IoJyMxOiAiMSIgKiAxID09PSAxLiBBY3R1YWw6ICcgKyAoIjEiICogMSkpOwp9CgovL0NIRUNLIzIKaWYgKDEgKiAiMSIgIT09IDEpIHsKICAkRVJST1IoJyMyOiAxICogIjEiID09PSAxLiBBY3R1YWw6ICcgKyAoMSAqICIxIikpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBTdHJpbmcoIjEiKSAqIDEgIT09IDEpIHsKICAkRVJST1IoJyMzOiBuZXcgU3RyaW5nKCIxIikgKiAxID09PSAxLiBBY3R1YWw6ICcgKyAobmV3IFN0cmluZygiMSIpICogMSkpOwp9CgovL0NIRUNLIzQKaWYgKDEgKiBuZXcgU3RyaW5nKCIxIikgIT09IDEpIHsKICAkRVJST1IoJyM0OiAxICogbmV3IFN0cmluZygiMSIpID09PSAxLiBBY3R1YWw6ICcgKyAoMSAqIG5ldyBTdHJpbmcoIjEiKSkpOwp9CgovL0NIRUNLIzUKaWYgKCIxIiAqIG5ldyBOdW1iZXIoMSkgIT09IDEpIHsKICAkRVJST1IoJyM1OiAiMSIgKiBuZXcgTnVtYmVyKDEpID09PSAxLiBBY3R1YWw6ICcgKyAoIjEiICogbmV3IE51bWJlcigxKSkpOwp9CgovL0NIRUNLIzYKaWYgKG5ldyBOdW1iZXIoMSkgKiAiMSIgIT09IDEpIHsKICAkRVJST1IoJyM2OiBuZXcgTnVtYmVyKDEpICogIjEiID09PSAxLiBBY3R1YWw6ICcgKyAobmV3IE51bWJlcigxKSAqICIxIikpOwp9CgovL0NIRUNLIzcKaWYgKG5ldyBTdHJpbmcoIjEiKSAqIG5ldyBOdW1iZXIoMSkgIT09IDEpIHsKICAkRVJST1IoJyM3OiBuZXcgU3RyaW5nKCIxIikgKiBuZXcgTnVtYmVyKDEpID09PSAxLiBBY3R1YWw6ICcgKyAobmV3IFN0cmluZygiMSIpICogbmV3IE51bWJlcigxKSkpOwp9CgovL0NIRUNLIzgKaWYgKG5ldyBOdW1iZXIoMSkgKiBuZXcgU3RyaW5nKCIxIikgIT09IDEpIHsKICAkRVJST1IoJyM4OiBuZXcgTnVtYmVyKDEpICogbmV3IFN0cmluZygiMSIpID09PSAxLiBBY3R1YWw6ICcgKyAobmV3IE51bWJlcigxKSAqIG5ldyBTdHJpbmcoIjEiKSkpOwp9CgovL0NIRUNLIzkKaWYgKGlzTmFOKCJ4IiAqIDEpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjOTogIngiICogMSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoIngiICogMSkpOwp9CgovL0NIRUNLIzEwCmlmIChpc05hTigxICogIngiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzEwOiAxICogIngiID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICgxICogIngiKSk7Cn0KCg==",
"commentary":"Operator x * y returns ToNumber(x) * ToNumber(y)",
"description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object)",
"path":"TestCases/ch11/11.5/11.5.1/S11.5.1_A3_T2.2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICogeSByZXR1cm5zIFRvTnVtYmVyKHgpICogVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMS9TMTEuNS4xX0EzX1QyLjMuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQppZiAoMSAqIG51bGwgIT09IDApIHsKICAkRVJST1IoJyMxOiAxICogbnVsbCA9PT0gMC4gQWN0dWFsOiAnICsgKDEgKiBudWxsKSk7Cn0KCi8vQ0hFQ0sjMgppZiAobnVsbCAqIDEgIT09IDApIHsKICAkRVJST1IoJyMyOiBudWxsICogMSA9PT0gMC4gQWN0dWFsOiAnICsgKG51bGwgKiAxKSk7Cn0KCi8vQ0hFQ0sjMwppZiAobmV3IE51bWJlcigxKSAqIG51bGwgIT09IDApIHsKICAkRVJST1IoJyMzOiBuZXcgTnVtYmVyKDEpICogbnVsbCA9PT0gMC4gQWN0dWFsOiAnICsgKG5ldyBOdW1iZXIoMSkgKiBudWxsKSk7Cn0KCi8vQ0hFQ0sjNAppZiAobnVsbCAqIG5ldyBOdW1iZXIoMSkgIT09IDApIHsKICAkRVJST1IoJyM0OiBudWxsICogbmV3IE51bWJlcigxKSA9PT0gMC4gQWN0dWFsOiAnICsgKG51bGwgKiBuZXcgTnVtYmVyKDEpKSk7Cn0KCg==",
"commentary":"Operator x * y returns ToNumber(x) * ToNumber(y)",
"description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null",
"path":"TestCases/ch11/11.5/11.5.1/S11.5.1_A3_T2.3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICogeSByZXR1cm5zIFRvTnVtYmVyKHgpICogVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMS9TMTEuNS4xX0EzX1QyLjQuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCmlmIChpc05hTigxICogdW5kZWZpbmVkKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IDEgKiB1bmRlZmluZWQgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKDEgKiB1bmRlZmluZWQpKTsKfQoKLy9DSEVDSyMyCmlmIChpc05hTih1bmRlZmluZWQgKiAxKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHVuZGVmaW5lZCAqIDEgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHVuZGVmaW5lZCAqIDEpKTsKfQoKLy9DSEVDSyMzCmlmIChpc05hTihuZXcgTnVtYmVyKDEpICogdW5kZWZpbmVkKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IG5ldyBOdW1iZXIoMSkgKiB1bmRlZmluZWQgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKG5ldyBOdW1iZXIoMSkgKiB1bmRlZmluZWQpKTsKfQoKLy9DSEVDSyM0CmlmIChpc05hTih1bmRlZmluZWQgKiBuZXcgTnVtYmVyKDEpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6IHVuZGVmaW5lZCAqIG5ldyBOdW1iZXIoMSkgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHVuZGVmaW5lZCAqIG5ldyBOdW1iZXIoMSkpKTsKfQoK",
"commentary":"Operator x * y returns ToNumber(x) * ToNumber(y)",
"description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined",
"path":"TestCases/ch11/11.5/11.5.1/S11.5.1_A3_T2.4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICogeSByZXR1cm5zIFRvTnVtYmVyKHgpICogVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMS9TMTEuNS4xX0EzX1QyLjUuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgQm9vbGVhbiAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCmlmICh0cnVlICogIjEiICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogdHJ1ZSAqICIxIiA9PT0gMS4gQWN0dWFsOiAnICsgKHRydWUgKiAiMSIpKTsKfQoKLy9DSEVDSyMyCmlmICgiMSIgKiB0cnVlICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogIjEiICogdHJ1ZSA9PT0gMS4gQWN0dWFsOiAnICsgKCIxIiAqIHRydWUpKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgQm9vbGVhbih0cnVlKSAqICIxIiAhPT0gMSkgewogICRFUlJPUignIzM6IG5ldyBCb29sZWFuKHRydWUpICogIjEiID09PSAxLiBBY3R1YWw6ICcgKyAobmV3IEJvb2xlYW4odHJ1ZSkgKiAiMSIpKTsKfQoKLy9DSEVDSyM0CmlmICgiMSIgKiBuZXcgQm9vbGVhbih0cnVlKSAhPT0gMSkgewogICRFUlJPUignIzQ6ICIxIiAqIG5ldyBCb29sZWFuKHRydWUpID09PSAxLiBBY3R1YWw6ICcgKyAoIjEiICogbmV3IEJvb2xlYW4odHJ1ZSkpKTsKfQoKLy9DSEVDSyM1CmlmICh0cnVlICogbmV3IFN0cmluZygiMSIpICE9PSAxKSB7CiAgJEVSUk9SKCcjNTogdHJ1ZSAqIG5ldyBTdHJpbmcoIjEiKSA9PT0gMS4gQWN0dWFsOiAnICsgKHRydWUgKiBuZXcgU3RyaW5nKCIxIikpKTsKfQoKLy9DSEVDSyM2CmlmIChuZXcgU3RyaW5nKCIxIikgKiB0cnVlICE9PSAxKSB7CiAgJEVSUk9SKCcjNjogbmV3IFN0cmluZygiMSIpICogdHJ1ZSA9PT0gMS4gQWN0dWFsOiAnICsgKG5ldyBTdHJpbmcoIjEiKSAqIHRydWUpKTsKfQoKLy9DSEVDSyM3CmlmIChuZXcgQm9vbGVhbih0cnVlKSAqIG5ldyBTdHJpbmcoIjEiKSAhPT0gMSkgewogICRFUlJPUignIzc6IG5ldyBCb29sZWFuKHRydWUpICogbmV3IFN0cmluZygiMSIpID09PSAxLiBBY3R1YWw6ICcgKyAobmV3IEJvb2xlYW4odHJ1ZSkgKiBuZXcgU3RyaW5nKCIxIikpKTsKfQoKLy9DSEVDSyM4CmlmIChuZXcgU3RyaW5nKCIxIikgKiBuZXcgQm9vbGVhbih0cnVlKSAhPT0gMSkgewogICRFUlJPUignIzg6IG5ldyBTdHJpbmcoIjEiKSAqIG5ldyBCb29sZWFuKHRydWUpID09PSAxLiBBY3R1YWw6ICcgKyAobmV3IFN0cmluZygiMSIpICogbmV3IEJvb2xlYW4odHJ1ZSkpKTsKfQoK",
"commentary":"Operator x * y returns ToNumber(x) * ToNumber(y)",
"description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Boolean (primitive and object)",
"path":"TestCases/ch11/11.5/11.5.1/S11.5.1_A3_T2.5.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICogeSByZXR1cm5zIFRvTnVtYmVyKHgpICogVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMS9TMTEuNS4xX0EzX1QyLjYuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gcHJpbWl0aXZlIFN0cmluZyAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQppZiAoaXNOYU4oIjEiICogdW5kZWZpbmVkKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6ICIxIiAqIHVuZGVmaW5lZCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoIjEiICogdW5kZWZpbmVkKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoaXNOYU4odW5kZWZpbmVkICogIjEiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHVuZGVmaW5lZCAqICIxIiA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAodW5kZWZpbmVkICogIjEiKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoaXNOYU4obmV3IFN0cmluZygiMSIpICogdW5kZWZpbmVkKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IG5ldyBTdHJpbmcoIjEiKSAqIHVuZGVmaW5lZCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAobmV3IFN0cmluZygiMSIpICogdW5kZWZpbmVkKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoaXNOYU4odW5kZWZpbmVkICogbmV3IFN0cmluZygiMSIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6IHVuZGVmaW5lZCAqIG5ldyBTdHJpbmcoIjEiKSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAodW5kZWZpbmVkICogbmV3IFN0cmluZygiMSIpKSk7Cn0KCg==",
"commentary":"Operator x * y returns ToNumber(x) * ToNumber(y)",
"description":"Type(x) is different from Type(y) and both types vary between primitive String (primitive or object) and Undefined",
"path":"TestCases/ch11/11.5/11.5.1/S11.5.1_A3_T2.6.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICogeSByZXR1cm5zIFRvTnVtYmVyKHgpICogVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMS9TMTEuNS4xX0EzX1QyLjcuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQppZiAoIjEiICogbnVsbCAhPT0gMCkgewogICRFUlJPUignIzE6ICIxIiAqIG51bGwgPT09IDAuIEFjdHVhbDogJyArICgiMSIgKiBudWxsKSk7Cn0KCi8vQ0hFQ0sjMgppZiAobnVsbCAqICIxIiAhPT0gMCkgewogICRFUlJPUignIzI6IG51bGwgKiAiMSIgPT09IDAuIEFjdHVhbDogJyArIChudWxsICogIjEiKSk7Cn0KCi8vQ0hFQ0sjMwppZiAobmV3IFN0cmluZygiMSIpICogbnVsbCAhPT0gMCkgewogICRFUlJPUignIzM6IG5ldyBTdHJpbmcoIjEiKSAqIG51bGwgPT09IDAuIEFjdHVhbDogJyArIChuZXcgU3RyaW5nKCIxIikgKiBudWxsKSk7Cn0KCi8vQ0hFQ0sjNAppZiAobnVsbCAqIG5ldyBTdHJpbmcoIjEiKSAhPT0gMCkgewogICRFUlJPUignIzQ6IG51bGwgKiBuZXcgU3RyaW5nKCIxIikgPT09IDAuIEFjdHVhbDogJyArIChudWxsICogbmV3IFN0cmluZygiMSIpKSk7Cn0KCg==",
"commentary":"Operator x * y returns ToNumber(x) * ToNumber(y)",
"description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null",
"path":"TestCases/ch11/11.5/11.5.1/S11.5.1_A3_T2.7.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICogeSByZXR1cm5zIFRvTnVtYmVyKHgpICogVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMS9TMTEuNS4xX0EzX1QyLjguanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gQm9vbGVhbiAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQppZiAoaXNOYU4odHJ1ZSAqIHVuZGVmaW5lZCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiB0cnVlICogdW5kZWZpbmVkID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh0cnVlICogdW5kZWZpbmVkKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoaXNOYU4odW5kZWZpbmVkICogdHJ1ZSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB1bmRlZmluZWQgKiB0cnVlID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh1bmRlZmluZWQgKiB0cnVlKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoaXNOYU4obmV3IEJvb2xlYW4odHJ1ZSkgKiB1bmRlZmluZWQpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogbmV3IEJvb2xlYW4odHJ1ZSkgKiB1bmRlZmluZWQgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKG5ldyBCb29sZWFuKHRydWUpICogdW5kZWZpbmVkKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoaXNOYU4odW5kZWZpbmVkICogbmV3IEJvb2xlYW4odHJ1ZSkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogdW5kZWZpbmVkICogbmV3IEJvb2xlYW4odHJ1ZSkgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHVuZGVmaW5lZCAqIG5ldyBCb29sZWFuKHRydWUpKSk7Cn0KCg==",
"commentary":"Operator x * y returns ToNumber(x) * ToNumber(y)",
"description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined",
"path":"TestCases/ch11/11.5/11.5.1/S11.5.1_A3_T2.8.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICogeSByZXR1cm5zIFRvTnVtYmVyKHgpICogVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMS9TMTEuNS4xX0EzX1QyLjkuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gQm9vbGVhbiAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIE51bGwKICovCgovL0NIRUNLIzEKaWYgKHRydWUgKiBudWxsICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogdHJ1ZSAqIG51bGwgPT09IDAuIEFjdHVhbDogJyArICh0cnVlICogbnVsbCkpOwp9CgovL0NIRUNLIzIKaWYgKG51bGwgKiB0cnVlICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogbnVsbCAqIHRydWUgPT09IDAuIEFjdHVhbDogJyArIChudWxsICogdHJ1ZSkpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBCb29sZWFuKHRydWUpICogbnVsbCAhPT0gMCkgewogICRFUlJPUignIzM6IG5ldyBCb29sZWFuKHRydWUpICogbnVsbCA9PT0gMC4gQWN0dWFsOiAnICsgKG5ldyBCb29sZWFuKHRydWUpICogbnVsbCkpOwp9CgovL0NIRUNLIzQKaWYgKG51bGwgKiBuZXcgQm9vbGVhbih0cnVlKSAhPT0gMCkgewogICRFUlJPUignIzQ6IG51bGwgKiBuZXcgQm9vbGVhbih0cnVlKSA9PT0gMC4gQWN0dWFsOiAnICsgKG51bGwgKiBuZXcgQm9vbGVhbih0cnVlKSkpOwp9Cgo=",
"commentary":"Operator x * y returns ToNumber(x) * ToNumber(y)",
"description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null",
"path":"TestCases/ch11/11.5/11.5.1/S11.5.1_A3_T2.9.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGEgZmxvYXRpbmctcG9pbnQgbXVsdGlwbGljYXRpb24gaXMgZ292ZXJuZWQgYnkgdGhlIHJ1bGVzIG9mIElFRUUgNzU0IGRvdWJsZS1wcmVjaXNpb24gYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMS9TMTEuNS4xX0E0X1QxLjEuanMKICogQGRlc2NyaXB0aW9uIElmIGxlZnQgb3BlcmFuZCBpcyBOYU4sIHRoZSByZXN1bHQgaXMgTmFOCiAqLwoKLy9DSEVDSyMxCmlmIChpc05hTihOdW1iZXIuTmFOICogTnVtYmVyLk5hTikgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiBOYU4gKiBOYU4gPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKE5hTiAqIE5hTikpOwp9ICAKCi8vQ0hFQ0sjMgppZiAoaXNOYU4oTnVtYmVyLk5hTiAqICswKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IE5hTiAqICswID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChOYU4gKiArMCkpOyAKfSAKCi8vQ0hFQ0sjMwppZiAoaXNOYU4oTnVtYmVyLk5hTiAqIC0wKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IE5hTiAqIC0wID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChOYU4gKiAtMCkpOyAKfSAKCi8vQ0hFQ0sjNAppZiAoaXNOYU4oTnVtYmVyLk5hTiAqIE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiBOYU4gKiBJbmZpbml0eSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoTmFOICogSW5maW5pdHkpKTsKfSAKCi8vQ0hFQ0sjNQppZiAoaXNOYU4oTnVtYmVyLk5hTiAqIE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiBOYU4gKiAtSW5maW5pdHkgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKE5hTiAqIC1JbmZpbml0eSkpOyAKfSAKCi8vQ0hFQ0sjNgppZiAoaXNOYU4oTnVtYmVyLk5hTiAqIE51bWJlci5NQVhfVkFMVUUpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNjogTmFOICogTnVtYmVyLk1BWF9WQUxVRSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoTmFOICogTnVtYmVyLk1BWF9WQUxVRSkpOwp9IAoKLy9DSEVDSyM3CmlmIChpc05hTihOdW1iZXIuTmFOICogTnVtYmVyLk1JTl9WQUxVRSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM3OiBOYU4gKiBOdW1iZXIuTUlOX1ZBTFVFID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChOYU4gKiBOdW1iZXIuTUlOX1ZBTFVFKSk7IAp9CgovL0NIRUNLIzgKaWYgKGlzTmFOKE51bWJlci5OYU4gKiAxKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzg6IE5hTiAqIDEgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKE5hTiAqIDEpKTsgIAp9IAoK",
"commentary":"The result of a floating-point multiplication is governed by the rules of IEEE 754 double-precision arithmetics",
"description":"If left operand is NaN, the result is NaN",
"path":"TestCases/ch11/11.5/11.5.1/S11.5.1_A4_T1.1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGEgZmxvYXRpbmctcG9pbnQgbXVsdGlwbGljYXRpb24gaXMgZ292ZXJuZWQgYnkgdGhlIHJ1bGVzIG9mIElFRUUgNzU0IGRvdWJsZS1wcmVjaXNpb24gYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMS9TMTEuNS4xX0E0X1QxLjIuanMKICogQGRlc2NyaXB0aW9uIElmIHJpZ2h0IG9wZXJhbmQgaXMgTmFOLCB0aGUgcmVzdWx0IGlzIE5hTgogKi8KCi8vQ0hFQ0sjMQppZiAoaXNOYU4oTnVtYmVyLk5hTiAqIE51bWJlci5OYU4pICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogTmFOICogTmFOID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChOYU4gKiBOYU4pKTsKfSAgCgovL0NIRUNLIzIKaWYgKGlzTmFOKCswICogTnVtYmVyLk5hTikgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiArMCAqIE5hTiA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoKzAgKiBOYU4pKTsgCn0gCgovL0NIRUNLIzMKaWYgKGlzTmFOKC0wICogTnVtYmVyLk5hTikgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiAtMCAqIE5hTiA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoLTAgKiBOYU4pKTsgCn0gCgovL0NIRUNLIzQKaWYgKGlzTmFOKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSAqIE51bWJlci5OYU4pICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogSW5maW5pdHkgKiBOYU4gPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKEluZmluaXR5ICogTmFOKSk7Cn0gCgovL0NIRUNLIzUKaWYgKGlzTmFOKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSAqIE51bWJlci5OYU4pICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNTogIC1JbmZpbml0eSAqIE5hTiA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoIC1JbmZpbml0eSAqIE5hTikpOyAKfSAKCi8vQ0hFQ0sjNgppZiAoaXNOYU4oTnVtYmVyLk1BWF9WQUxVRSAqIE51bWJlci5OYU4pICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNjogTnVtYmVyLk1BWF9WQUxVRSAqIE5hTiA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoTnVtYmVyLk1BWF9WQUxVRSAqIE5hTikpOwp9IAoKLy9DSEVDSyM3CmlmIChpc05hTihOdW1iZXIuTUlOX1ZBTFVFICogTnVtYmVyLk5hTikgIT09IHRydWUpIHsKICAkRVJST1IoJyM3OiBOdW1iZXIuTUlOX1ZBTFVFICogTmFOID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChOdW1iZXIuTUlOX1ZBTFVFICogTmFOKSk7IAp9CgovL0NIRUNLIzgKaWYgKGlzTmFOKDEgKiBOdW1iZXIuTmFOKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzg6IDEgKiBOYU4gPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKDEgKiBOYU4pKTsgIAp9Cgo=",
"commentary":"The result of a floating-point multiplication is governed by the rules of IEEE 754 double-precision arithmetics",
"description":"If right operand is NaN, the result is NaN",
"path":"TestCases/ch11/11.5/11.5.1/S11.5.1_A4_T1.2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGEgZmxvYXRpbmctcG9pbnQgbXVsdGlwbGljYXRpb24gaXMgZ292ZXJuZWQgYnkgdGhlIHJ1bGVzIG9mIElFRUUgNzU0IGRvdWJsZS1wcmVjaXNpb24gYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMS9TMTEuNS4xX0E0X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgc2lnbiBvZiB0aGUgcmVzdWx0IGlzIHBvc2l0aXZlIGlmIGJvdGggb3BlcmFuZHMgaGF2ZSB0aGUgc2FtZSBzaWduLCBuZWdhdGl2ZSBpZiB0aGUgb3BlcmFuZHMgaGF2ZSBkaWZmZXJlbnQgc2lnbnMKICovCgovL0NIRUNLIzEKaWYgKDEgKiAxICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogMSAqIDEgPT09IDEuIEFjdHVhbDogJyArICgxICogMSkpOwp9CgovL0NIRUNLIzIKaWYgKDEgKiAtMSAhPT0gLTEpIHsKICAkRVJST1IoJyMyOiAxICogLTEgPT09IC0xLiBBY3R1YWw6ICcgKyAoMSAqIC0xKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoLTEgKiAxICE9PSAtMSkgewogICRFUlJPUignIzM6IC0xICogMSA9PT0gLTEuIEFjdHVhbDogJyArICgtMSAqIDEpKTsKfQoKLy9DSEVDSyM0CmlmICgtMSAqIC0xICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogLTEgKiAtMSA9PT0gMS4gQWN0dWFsOiAnICsgKC0xICogLTEpKTsKfQoKLy9DSEVDSyM1CmlmICgwICogMCAhPT0gMCkgewogICRFUlJPUignIzUuMTogMCAqIDAgPT09IDAuIEFjdHVhbDogJyArICgwICogMCkpOwp9IGVsc2UgewogIGlmICgxIC8gKDAgKiAwKSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7CiAgICAkRVJST1IoJyM1LjI6IDAgKiAwID09PSArIDAuIEFjdHVhbDogLTAnKTsKICB9Cn0KCi8vQ0hFQ0sjNgppZiAoMCAqIC0wICE9PSAtMCkgewogICRFUlJPUignIzYuMTogMCAqIC0wID09PSAwLiBBY3R1YWw6ICcgKyAoMCAqIC0wKSk7Cn0gZWxzZSB7CiAgaWYgKDEgLyAoMCAqIC0wKSAhPT0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSB7CiAgICAkRVJST1IoJyM2LjI6IDAgKiAtMCA9PT0gLSAwLiBBY3R1YWw6ICswJyk7CiAgfQp9CgovL0NIRUNLIzcKaWYgKC0wICogMCAhPT0gLTApIHsKICAkRVJST1IoJyM3LjE6IC0wICogMCA9PT0gMC4gQWN0dWFsOiAnICsgKC0wICogMCkpOwp9IGVsc2UgewogIGlmICgxIC8gKC0wICogMCkgIT09IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgewogICAgJEVSUk9SKCcjNy4yOiAtMCAqIDAgPT09IC0gMC4gQWN0dWFsOiArMCcpOwogIH0KfQoKLy9DSEVDSyM4CmlmICgtMCAqIC0wICE9PSAwKSB7CiAgJEVSUk9SKCcjOC4xOiAtMCAqIC0wID09PSAwLiBBY3R1YWw6ICcgKyAoLTAgKiAtMCkpOwp9IGVsc2UgewogIGlmICgxIC8gKC0wICogLTApICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHsKICAgICRFUlJPUignIzguMjogMCAqIC0wID09PSAtIDAuIEFjdHVhbDogKzAnKTsKICB9Cn0KCg==",
"commentary":"The result of a floating-point multiplication is governed by the rules of IEEE 754 double-precision arithmetics",
"description":"The sign of the result is positive if both operands have the same sign, negative if the operands have different signs",
"path":"TestCases/ch11/11.5/11.5.1/S11.5.1_A4_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGEgZmxvYXRpbmctcG9pbnQgbXVsdGlwbGljYXRpb24gaXMgZ292ZXJuZWQgYnkgdGhlIHJ1bGVzIG9mIElFRUUgNzU0IGRvdWJsZS1wcmVjaXNpb24gYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMS9TMTEuNS4xX0E0X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBNdWx0aXBsaWNhdGlvbiBvZiBhbiBpbmZpbml0eSBieSBhIHplcm8gcmVzdWx0cyBpbiBOYU4KICovCgovL0NIRUNLIzEKaWYgKGlzTmFOKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSAqIDApICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogSW5maW5pdHkgKiAwID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChJbmZpbml0eSAqIDApKTsKfQoKLy9DSEVDSyMyCmlmIChpc05hTigtMCAqIE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiAtMCAqIC1JbmZpbml0eSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoLTAgKiAtSW5maW5pdHkpKTsKfQoKLy9DSEVDSyMzCmlmIChpc05hTihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgKiAtMCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiBJbmZpbml0eSAqIC0wID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChJbmZpbml0eSAqIC0wKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoaXNOYU4oMCAqIE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiAwICogSW5maW5pdHkgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKDAgKiBJbmZpbml0eSkpOwp9CgovL0NIRUNLIzUKaWYgKGlzTmFOKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSAqIC0wKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzU6IEluZmluaXR5ICogLTAgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKEluZmluaXR5ICogLTApKTsKfQoKLy9DSEVDSyM2CmlmIChpc05hTigwICogTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzY6IDAgKiAtSW5maW5pdHkgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKDAgKiAtSW5maW5pdHkpKTsKfQoKLy9DSEVDSyM3CmlmIChpc05hTihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgKiAwKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzc6IEluZmluaXR5ICogMCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoSW5maW5pdHkgKiAwKSk7Cn0KCi8vQ0hFQ0sjOAppZiAoaXNOYU4oLTAgKiBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjODogLTAgKiBJbmZpbml0eSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoLTAgKiBJbmZpbml0eSkpOwp9Cgo=",
"commentary":"The result of a floating-point multiplication is governed by the rules of IEEE 754 double-precision arithmetics",
"description":"Multiplication of an infinity by a zero results in NaN",
"path":"TestCases/ch11/11.5/11.5.1/S11.5.1_A4_T3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGEgZmxvYXRpbmctcG9pbnQgbXVsdGlwbGljYXRpb24gaXMgZ292ZXJuZWQgYnkgdGhlIHJ1bGVzIG9mIElFRUUgNzU0IGRvdWJsZS1wcmVjaXNpb24gYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMS9TMTEuNS4xX0E0X1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBNdWx0aXBsaWNhdGlvbiBvZiBhbiBpbmZpbml0eSBieSBhbiBpbmZpbml0eSByZXN1bHRzIGluIGFuIGluZmluaXR5IG9mIGFwcHJvcHJpYXRlIHNpZ24KICovCgovL0NIRUNLIzEKaWYgKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSAqIE51bWJlci5ORUdBVElWRV9JTkZJTklUWSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7CiAgJEVSUk9SKCcjMTogLUluZmluaXR5ICogLUluZmluaXR5ID09PSBJbmZpbml0eS4gQWN0dWFsOiAnICsgKC1JbmZpbml0eSAqIC1JbmZpbml0eSkpOwp9CgovL0NIRUNLIzIKaWYgKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSAqIE51bWJlci5QT1NJVElWRV9JTkZJTklUWSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7CiAgJEVSUk9SKCcjMjogSW5maW5pdHkgKiBJbmZpbml0eSA9PT0gSW5maW5pdHkuIEFjdHVhbDogJyArIChJbmZpbml0eSAqIEluZmluaXR5KSk7Cn0KCi8vQ0hFQ0sjMwppZiAoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZICogTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZICE9PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpIHsKICAkRVJST1IoJyMzOiAtSW5maW5pdHkgKiBJbmZpbml0eSA9PT0gLUluZmluaXR5LiBBY3R1YWw6ICcgKyAoLUluZmluaXR5ICogSW5maW5pdHkpKTsKfQoKLy9DSEVDSyM0CmlmIChOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgKiBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgIT09IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgewogICRFUlJPUignIzQ6IEluZmluaXR5ICogLUluZmluaXR5ID09PSAtSW5maW5pdHkuIEFjdHVhbDogJyArIChJbmZpbml0eSAqIC1JbmZpbml0eSkpOwp9Cgo=",
"commentary":"The result of a floating-point multiplication is governed by the rules of IEEE 754 double-precision arithmetics",
"description":"Multiplication of an infinity by an infinity results in an infinity of appropriate sign",
"path":"TestCases/ch11/11.5/11.5.1/S11.5.1_A4_T4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGEgZmxvYXRpbmctcG9pbnQgbXVsdGlwbGljYXRpb24gaXMgZ292ZXJuZWQgYnkgdGhlIHJ1bGVzIG9mIElFRUUgNzU0IGRvdWJsZS1wcmVjaXNpb24gYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMS9TMTEuNS4xX0E0X1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBNdWx0aXBsaWNhdGlvbiBvZiBhbiBpbmZpbml0eSBieSBhIGZpbml0ZSBub24temVybyB2YWx1ZSByZXN1bHRzIGluIGEgc2lnbmVkIGluZmluaXR5CiAqLwoKLy9DSEVDSyMxCmlmIChOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgKiAtMSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7CiAgJEVSUk9SKCcjMTogLUluZmluaXR5ICogLTEgPT09IEluZmluaXR5LiBBY3R1YWw6ICcgKyAoLUluZmluaXR5ICogLTEpKTsKfQoKLy9DSEVDSyMyCmlmICgtMSAqIE51bWJlci5ORUdBVElWRV9JTkZJTklUWSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7CiAgJEVSUk9SKCcjMjogLTEgKiAtSW5maW5pdHkgPT09IEluZmluaXR5LiBBY3R1YWw6ICcgKyAoLTEgKiAtSW5maW5pdHkpKTsKfQoKLy9DSEVDSyMzCmlmIChOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgKiAtMSAhPT0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSB7CiAgJEVSUk9SKCcjMzogSW5maW5pdHkgKiAtMSA9PT0gLUluZmluaXR5LiBBY3R1YWw6ICcgKyAoSW5maW5pdHkgKiAtMSkpOwp9CgovL0NIRUNLIzQKaWYgKC0xICogTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZICE9PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpIHsKICAkRVJST1IoJyM0OiAtMSAqIEluZmluaXR5ID09PSAtSW5maW5pdHkuIEFjdHVhbDogJyArICgtMSAqIEluZmluaXR5KSk7Cn0gIAoKLy9DSEVDSyM1CmlmIChOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgKiBOdW1iZXIuTUFYX1ZBTFVFICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHsKICAkRVJST1IoJyM1OiBJbmZpbml0eSAqIE51bWJlci5NQVhfVkFMVUUgPT09IEluZmluaXR5LiBBY3R1YWw6ICcgKyAoSW5maW5pdHkgKiBOdW1iZXIuTUFYX1ZBTFVFKSk7Cn0KCi8vQ0hFQ0sjNgppZiAoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZICogTnVtYmVyLk1BWF9WQUxVRSAhPT0gTnVtYmVyLk1BWF9WQUxVRSAqIE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICRFUlJPUignIzY6IEluZmluaXR5ICogTnVtYmVyLk1BWF9WQUxVRSA9PT0gTnVtYmVyLk1BWF9WQUxVRSAqIEluZmluaXR5LiBBY3R1YWw6ICcgKyAoSW5maW5pdHkgKiBOdW1iZXIuTUFYX1ZBTFVFKSk7Cn0KCi8vQ0hFQ0sjNwppZiAoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZICogTnVtYmVyLk1JTl9WQUxVRSAhPT0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSB7CiAgJEVSUk9SKCcjNzogLUluZmluaXR5ICogTnVtYmVyLk1JTl9WQUxVRSA9PT0gLUluZmluaXR5LiBBY3R1YWw6ICcgKyAoLUluZmluaXR5ICogTnVtYmVyLk1JTl9WQUxVRSkpOwp9CgovL0NIRUNLIzgKaWYgKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSAqIE51bWJlci5NSU5fVkFMVUUgIT09IE51bWJlci5NSU5fVkFMVUUgKiBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpIHsKICAkRVJST1IoJyM4OiAtSW5maW5pdHkgKiBOdW1iZXIuTUlOX1ZBTFVFID09PSBOdW1iZXIuTUlOX1ZBTFVFICogLUluZmluaXR5LiBBY3R1YWw6ICcgKyAoLUluZmluaXR5ICogTnVtYmVyLk1JTl9WQUxVRSkpOwp9ICAKCg==",
"commentary":"The result of a floating-point multiplication is governed by the rules of IEEE 754 double-precision arithmetics",
"description":"Multiplication of an infinity by a finite non-zero value results in a signed infinity",
"path":"TestCases/ch11/11.5/11.5.1/S11.5.1_A4_T5.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGEgZmxvYXRpbmctcG9pbnQgbXVsdGlwbGljYXRpb24gaXMgZ292ZXJuZWQgYnkgdGhlIHJ1bGVzIG9mIElFRUUgNzU0IGRvdWJsZS1wcmVjaXNpb24gYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMS9TMTEuNS4xX0E0X1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBJZiB0aGUgbWFnbml0dWRlIGlzIHRvbyBsYXJnZSB0byByZXByZXNlbnQsIHRoZSByZXN1bHQgaXMgdGhlbiBhbiBpbmZpbml0eSBvZiBhcHByb3ByaWF0ZSBzaWduCiAqLwoKLy9DSEVDSyMxCmlmIChOdW1iZXIuTUFYX1ZBTFVFICogMS4xICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHsKICAkRVJST1IoJyMxOiBOdW1iZXIuTUFYX1ZBTFVFICogMS4xID09PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkuIEFjdHVhbDogJyArIChOdW1iZXIuTUFYX1ZBTFVFICogMS4xKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoLTEuMSAqIE51bWJlci5NQVhfVkFMVUUgIT09IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgewogICRFUlJPUignIzI6IC0xLjEgKiBOdW1iZXIuTUFYX1ZBTFVFID09PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkuIEFjdHVhbDogJyArICgtMS4xICogTnVtYmVyLk1BWF9WQUxVRSkpOwp9IAoKLy9DSEVDSyMzCmlmIChOdW1iZXIuTUFYX1ZBTFVFICogMSAhPT0gTnVtYmVyLk1BWF9WQUxVRSkgewogICRFUlJPUignIzM6IE51bWJlci5NQVhfVkFMVUUgKiAxID09PSBOdW1iZXIuTUFYX1ZBTFVFLiBBY3R1YWw6ICcgKyAoTnVtYmVyLk1BWF9WQUxVRSAqIDEpKTsKfQoKLy9DSEVDSyM0CmlmICgtMSAqIE51bWJlci5NQVhfVkFMVUUgIT09IC1OdW1iZXIuTUFYX1ZBTFVFKSB7CiAgJEVSUk9SKCcjNDogLTEgKiBOdW1iZXIuTUFYX1ZBTFVFID09PSAtTnVtYmVyLk1BWF9WQUxVRS4gQWN0dWFsOiAnICsgKC0xICogTnVtYmVyLk1BWF9WQUxVRSkpOwp9IAoK",
"commentary":"The result of a floating-point multiplication is governed by the rules of IEEE 754 double-precision arithmetics",
"description":"If the magnitude is too large to represent, the result is then an infinity of appropriate sign",
"path":"TestCases/ch11/11.5/11.5.1/S11.5.1_A4_T6.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGEgZmxvYXRpbmctcG9pbnQgbXVsdGlwbGljYXRpb24gaXMgZ292ZXJuZWQgYnkgdGhlIHJ1bGVzIG9mIElFRUUgNzU0IGRvdWJsZS1wcmVjaXNpb24gYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMS9TMTEuNS4xX0E0X1Q3LmpzCiAqIEBkZXNjcmlwdGlvbiBJZiB0aGUgbWFnbml0dWRlIGlzIHRvbyBzbWFsbCB0byByZXByZXNlbnQsIHRoZSByZXN1bHQgaXMgdGhlbiBhIHplcm8gb2YgYXBwcm9wcmlhdGUgc2lnbgogKi8KCi8vQ0hFQ0sjMQppZiAoTnVtYmVyLk1JTl9WQUxVRSAqIDAuMSAhPT0gMCkgewogICRFUlJPUignIzE6IE51bWJlci5NSU5fVkFMVUUgKiAwLjEgPT09IDAuIEFjdHVhbDogJyArIChOdW1iZXIuTUlOX1ZBTFVFICogMC4xKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoLTAuMSAqIE51bWJlci5NSU5fVkFMVUUgIT09IC0wKSB7CiAgJEVSUk9SKCcjMi4xOiAtMC4xICogTnVtYmVyLk1JTl9WQUxVRSA9PT0gLTAuIEFjdHVhbDogJyArICgtMC4xICogTnVtYmVyLk1JTl9WQUxVRSkpOwp9IGVsc2UgewogIGlmICgxIC8gKC0wLjEgKiBOdW1iZXIuTUlOX1ZBTFVFKSAhPT0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSB7CiAgICAkRVJST1IoJyMyLjI6IC0wLjEgKiBOdW1iZXIuTUlOX1ZBTFVFID09PSAtMC4gQWN0dWFsOiArMCcpOwogIH0KfQoKLy9DSEVDSyMzCmlmIChOdW1iZXIuTUlOX1ZBTFVFICogMC41ICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogTnVtYmVyLk1JTl9WQUxVRSAqIDAuNSA9PT0gMC4gQWN0dWFsOiAnICsgKE51bWJlci5NSU5fVkFMVUUgKiAwLjUpKTsKfQoKLy9DSEVDSyM0CmlmICgtMC41ICogTnVtYmVyLk1JTl9WQUxVRSAhPT0gLTApIHsKICAkRVJST1IoJyM0LjE6IC0wLjUgKiBOdW1iZXIuTUlOX1ZBTFVFID09PSAtMC4gQWN0dWFsOiAnICsgKC0wLjUgKiBOdW1iZXIuTUlOX1ZBTFVFKSk7Cn0gZWxzZSB7CiAgaWYgKDEgLyAoLTAuNSAqIE51bWJlci5NSU5fVkFMVUUpICE9PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpIHsKICAgICRFUlJPUignIzQuMjogLTAuNSAqIE51bWJlci5NSU5fVkFMVUUgPT09IC0wLiBBY3R1YWw6ICswJyk7CiAgfQp9CgovL0NIRUNLIzUKaWYgKE51bWJlci5NSU5fVkFMVUUgKiAwLjUxICE9PSBOdW1iZXIuTUlOX1ZBTFVFKSB7CiAgJEVSUk9SKCcjNTogTnVtYmVyLk1JTl9WQUxVRSAqIDAuNTEgPT09IE51bWJlci5NSU5fVkFMVUUuIEFjdHVhbDogJyArIChOdW1iZXIuTUlOX1ZBTFVFICogMC41MSkpOwp9CgovL0NIRUNLIzYKaWYgKC0wLjUxICogTnVtYmVyLk1JTl9WQUxVRSAhPT0gLU51bWJlci5NSU5fVkFMVUUpIHsKICAkRVJST1IoJyM2OiAtMC41MSAqIE51bWJlci5NSU5fVkFMVUUgPT09IC1OdW1iZXIuTUlOX1ZBTFVFLiBBY3R1YWw6ICcgKyAoLTAuNTEgKiBOdW1iZXIuTUlOX1ZBTFVFKSk7Cn0KCi8vQ0hFQ0sjNwppZiAoTnVtYmVyLk1JTl9WQUxVRSAqIDAuOSAhPT0gTnVtYmVyLk1JTl9WQUxVRSkgewogICRFUlJPUignIzc6IE51bWJlci5NSU5fVkFMVUUgKiAwLjkgPT09IE51bWJlci5NSU5fVkFMVUUuIEFjdHVhbDogJyArIChOdW1iZXIuTUlOX1ZBTFVFICogMC45KSk7Cn0KCi8vQ0hFQ0sjOAppZiAoLTAuOSAqIE51bWJlci5NSU5fVkFMVUUgIT09IC1OdW1iZXIuTUlOX1ZBTFVFKSB7CiAgJEVSUk9SKCcjODogLTAuOSAqIE51bWJlci5NSU5fVkFMVUUgPT09IC1OdW1iZXIuTUlOX1ZBTFVFLiBBY3R1YWw6ICcgKyAoLTAuOSAqIE51bWJlci5NSU5fVkFMVUUpKTsKfSAKCg==",
"commentary":"The result of a floating-point multiplication is governed by the rules of IEEE 754 double-precision arithmetics",
"description":"If the magnitude is too small to represent, the result is then a zero of appropriate sign",
"path":"TestCases/ch11/11.5/11.5.1/S11.5.1_A4_T7.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGEgZmxvYXRpbmctcG9pbnQgbXVsdGlwbGljYXRpb24gaXMgZ292ZXJuZWQgYnkgdGhlIHJ1bGVzIG9mIElFRUUgNzU0IGRvdWJsZS1wcmVjaXNpb24gYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMS9TMTEuNS4xX0E0X1Q4LmpzCiAqIEBkZXNjcmlwdGlvbiBNdWx0aXBsaWNhdGlvbiBpcyBub3QgYWx3YXlzIGFzc29jaWF0aXZlICh4ICogeSAqIHogaXMgdGhlIHNhbWUgYXMgKHggKiB5KSAqIHosIG5vdCB4ICogKHkgKiB6KSkKICovCgovL0NIRUNLIzEKaWYgKE51bWJlci5NQVhfVkFMVUUgKiAxLjEgKiAwLjkgIT09IChOdW1iZXIuTUFYX1ZBTFVFICogMS4xKSAqIDAuOSkgewogICRFUlJPUignIzE6IE51bWJlci5NQVhfVkFMVUUgKiAxLjEgKiAwLjkgPT09IChOdW1iZXIuTUFYX1ZBTFVFICogMS4xKSAqIDAuOS4gQWN0dWFsOiAnICsgKE51bWJlci5NQVhfVkFMVUUgKiAxLjEgKiAwLjkpKTsKfSAKCi8vQ0hFQ0sjMgppZiAoKE51bWJlci5NQVhfVkFMVUUgKiAxLjEpICogMC45ID09PSBOdW1iZXIuTUFYX1ZBTFVFICogKDEuMSAqIDAuOSkpIHsKICAkRVJST1IoJyMyOiAoTnVtYmVyLk1BWF9WQUxVRSAqIDEuMSkgKiAwLjkgIT09IE51bWJlci5NQVhfVkFMVUUgKiAoMS4xICogMC45KScpOwp9Cgo=",
"commentary":"The result of a floating-point multiplication is governed by the rules of IEEE 754 double-precision arithmetics",
"description":"Multiplication is not always associative (x * y * z is the same as (x * y) * z, not x * (y * z))",
"path":"TestCases/ch11/11.5/11.5.1/S11.5.1_A4_T8.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gTXVsdGlwbGljYXRpdmVFeHByZXNzaW9uIGFuZCAiLyIgb3IgYmV0d2VlbiAiLyIgYW5kIFVuYXJ5RXhwcmVzc2lvbiBhcmUgYWxsb3dlZAogKgogKiBAcGF0aCBjaDExLzExLjUvMTEuNS4yL1MxMS41LjJfQTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGJ5IHVzaW5nIGV2YWwKICovCgovL0NIRUNLIzEKaWYgKGV2YWwoIjFcdTAwMDkvXHUwMDA5MSIpICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogMVxcdTAwMDkvXFx1MDAwOTEgPT09IDEnKTsKfQoKLy9DSEVDSyMyCmlmIChldmFsKCIxXHUwMDBCL1x1MDAwQjEiKSAhPT0gMSkgewogICRFUlJPUignIzI6IDFcXHUwMDBCL1xcdTAwMEIxID09PSAxJyk7ICAKfQoKLy9DSEVDSyMzCmlmIChldmFsKCIxXHUwMDBDL1x1MDAwQzEiKSAhPT0gMSkgewogICRFUlJPUignIzM6IDFcXHUwMDBDL1xcdTAwMEMxID09PSAxJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoZXZhbCgiMVx1MDAyMC9cdTAwMjAxIikgIT09IDEpIHsKICAkRVJST1IoJyM0OiAxXFx1MDAyMC9cXHUwMDIwMSA9PT0gMScpOwp9CgovL0NIRUNLIzUKaWYgKGV2YWwoIjFcdTAwQTAvXHUwMEEwMSIpICE9PSAxKSB7CiAgJEVSUk9SKCcjNTogMVxcdTAwQTAvXFx1MDBBMDEgPT09IDEnKTsKfQoKLy9DSEVDSyM2CmlmIChldmFsKCIxXHUwMDBBL1x1MDAwQTEiKSAhPT0gMSkgewogICRFUlJPUignIzY6IDFcXHUwMDBBL1xcdTAwMEExID09PSAxJyk7ICAKfQoKLy9DSEVDSyM3CmlmIChldmFsKCIxXHUwMDBEL1x1MDAwRDEiKSAhPT0gMSkgewogICRFUlJPUignIzc6IDFcXHUwMDBEL1xcdTAwMEQxID09PSAxJyk7Cn0KCi8vQ0hFQ0sjOAppZiAoZXZhbCgiMVx1MjAyOC9cdTIwMjgxIikgIT09IDEpIHsKICAkRVJST1IoJyM4OiAxXFx1MjAyOC9cXHUyMDI4MSA9PT0gMScpOwp9CgovL0NIRUNLIzkKaWYgKGV2YWwoIjFcdTIwMjkvXHUyMDI5MSIpICE9PSAxKSB7CiAgJEVSUk9SKCcjOTogMVxcdTIwMjkvXFx1MjAyOTEgPT09IDEnKTsKfQoKLy9DSEVDSyMxMAppZiAoZXZhbCgiMVx1MDAwOVx1MDAwQlx1MDAwQ1x1MDAyMFx1MDBBMFx1MDAwQVx1MDAwRFx1MjAyOFx1MjAyOS9cdTAwMDlcdTAwMEJcdTAwMENcdTAwMjBcdTAwQTBcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjkxIikgIT09IDEpIHsKICAkRVJST1IoJyMxMDogMVxcdTAwMDlcXHUwMDBCXFx1MDAwQ1xcdTAwMjBcXHUwMEEwXFx1MDAwQVxcdTAwMERcXHUyMDI4XFx1MjAyOS9cXHUwMDA5XFx1MDAwQlxcdTAwMENcXHUwMDIwXFx1MDBBMFxcdTAwMEFcXHUwMDBEXFx1MjAyOFxcdTIwMjkxID09PSAxJyk7Cn0KCg==",
"commentary":"White Space and Line Terminator between MultiplicativeExpression and \"/\" or between \"/\" and UnaryExpression are allowed",
"description":"Checking by using eval",
"path":"TestCases/ch11/11.5/11.5.2/S11.5.2_A1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC8geSB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuNS8xMS41LjIvUzExLjUuMl9BMi4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBFaXRoZXIgVHlwZSBpcyBub3QgUmVmZXJlbmNlIG9yIEdldEJhc2UgaXMgbm90IG51bGwKICovCgovL0NIRUNLIzEKaWYgKDEgLyAxICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogMSAvIDEgPT09IDEuIEFjdHVhbDogJyArICgxIC8gMSkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAxOwppZiAoeCAvIDEgIT09IDEpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IDE7IHggLyAxID09PSAxLiBBY3R1YWw6ICcgKyAoeCAvIDEpKTsKfQoKLy9DSEVDSyMzCnZhciB5ID0gMTsKaWYgKDEgLyB5ICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogdmFyIHkgPSAxOyAxIC8geSA9PT0gMS4gQWN0dWFsOiAnICsgKDEgLyB5KSk7Cn0KCi8vQ0hFQ0sjNAp2YXIgeCA9IDE7CnZhciB5ID0gMTsKaWYgKHggLyB5ICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSAxOyB2YXIgeSA9IDE7IHggLyB5ID09PSAxLiBBY3R1YWw6ICcgKyAoeCAvIHkpKTsKfQoKLy9DSEVDSyM1CnZhciBvYmplY3R4ID0gbmV3IE9iamVjdCgpOwp2YXIgb2JqZWN0eSA9IG5ldyBPYmplY3QoKTsKb2JqZWN0eC5wcm9wID0gMTsKb2JqZWN0eS5wcm9wID0gMTsKaWYgKG9iamVjdHgucHJvcCAvIG9iamVjdHkucHJvcCAhPT0gMSkgewogICRFUlJPUignIzU6IHZhciBvYmplY3R4ID0gbmV3IE9iamVjdCgpOyB2YXIgb2JqZWN0eSA9IG5ldyBPYmplY3QoKTsgb2JqZWN0eC5wcm9wID0gMTsgb2JqZWN0eS5wcm9wID0gMTsgb2JqZWN0eC5wcm9wIC8gb2JqZWN0eS5wcm9wID09PSAxLiBBY3R1YWw6ICcgKyAob2JqZWN0eC5wcm9wIC8gb2JqZWN0eS5wcm9wKSk7Cn0KIAoK",
"commentary":"Operator x / y uses GetValue",
"description":"Either Type is not Reference or GetBase is not null",
"path":"TestCases/ch11/11.5/11.5.2/S11.5.2_A2.1_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC8geSB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuNS8xMS41LjIvUzExLjUuMl9BMi4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBHZXRCYXNlKHgpIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgeCAvIDE7CiAgJEVSUk9SKCcjMS4xOiB4IC8gMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHggLyAxKSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiB4IC8gMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoKCg==",
"commentary":"Operator x / y uses GetValue",
"description":"If GetBase(x) is null, throw ReferenceError",
"path":"TestCases/ch11/11.5/11.5.2/S11.5.2_A2.1_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC8geSB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuNS8xMS41LjIvUzExLjUuMl9BMi4xX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBHZXRCYXNlKHkpIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgMSAvIHk7CiAgJEVSUk9SKCcjMS4xOiAxIC8geSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKDEgLyB5KSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiAxIC8geSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoK",
"commentary":"Operator x / y uses GetValue",
"description":"If GetBase(y) is null, throw ReferenceError",
"path":"TestCases/ch11/11.5/11.5.2/S11.5.2_A2.1_T3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC8geSB1c2VzIFtbRGVmYXVsdCBWYWx1ZV1dCiAqCiAqIEBwYXRoIGNoMTEvMTEuNS8xMS41LjIvUzExLjUuMl9BMi4yX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBUeXBlKHZhbHVlKSBpcyBPYmplY3QsIGV2YWx1YXRlIFRvUHJpbWl0aXZlKHZhbHVlLCBOdW1iZXIpCiAqLwoKLy9DSEVDSyMxCmlmICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSAvIDEgIT09IDEpIHsKICAkRVJST1IoJyMxOiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSAvIDEgPT09IDEuIEFjdHVhbDogJyArICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSAvIDEpKTsKfQoKLy9DSEVDSyMyCmlmICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSAvIDEgIT09IDEpIHsKICAkRVJST1IoJyMyOiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSAvIDEgPT09IDEuIEFjdHVhbDogJyArICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSAvIDEpKTsKfQoKLy9DSEVDSyMzCmlmICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0gLyAxICE9PSAxKSB7CiAgJEVSUk9SKCcjMzoge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19IC8gMSA9PT0gMS4gQWN0dWFsOiAnICsgKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSAvIDEpKTsKfQoKLy9DSEVDSyM0CnRyeSB7CiAgaWYgKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gLyAxICE9PSAxKSB7CiAgICAkRVJST1IoJyM0LjE6IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gLyAxID09PSAxLiBBY3R1YWw6ICcgKyAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fSAvIDEpKTsKICB9Cn0KY2F0Y2ggKGUpIHsKICBpZiAoZSA9PT0gImVycm9yIikgewogICAgJEVSUk9SKCcjNC4yOiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19IC8gMSBub3QgdGhyb3cgImVycm9yIicpOwogIH0gZWxzZSB7CiAgICAkRVJST1IoJyM0LjM6IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gLyAxIG5vdCB0aHJvdyBFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCi8vQ0hFQ0sjNQppZiAoMSAvIHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSAhPT0gMSkgewogICRFUlJPUignIzU6IDEgLyB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0gPT09IDEuIEFjdHVhbDogJyArICgxIC8ge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSk7Cn0KCi8vQ0hFQ0sjNgppZiAoMSAvIHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSAhPT0gMSkgewogICRFUlJPUignIzY6IDEgLyB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0gPT09IDEuIEFjdHVhbDogJyArICgxIC8ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSk7Cn0KCi8vQ0hFQ0sjNwp0cnkgewogIDEgLyB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OwogICRFUlJPUignIzcuMTogMSAvIHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0gdGhyb3cgImVycm9yIi4gQWN0dWFsOiAnICsgKDEgLyB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSk7Cn0gIApjYXRjaCAoZSkgewogIGlmIChlICE9PSAiZXJyb3IiKSB7CiAgICAkRVJST1IoJyM3LjI6IDEgLyB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19IHRocm93ICJlcnJvciIuIEFjdHVhbDogJyArIChlKSk7CiAgfSAKfQoKLy9DSEVDSyM4CnRyeSB7CiAgMSAvIHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07CiAgJEVSUk9SKCcjOC4xOiAxIC8ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArICgxIC8ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSkpOwp9ICAKY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyM4LjI6IDEgLyB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19IHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9IAp9Cgo=",
"commentary":"Operator x / y uses [[Default Value]]",
"description":"If Type(value) is Object, evaluate ToPrimitive(value, Number)",
"path":"TestCases/ch11/11.5/11.5.2/S11.5.2_A2.2_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUb051bWJlcihmaXJzdCBleHByZXNzaW9uKSBpcyBjYWxsZWQgZmlyc3QsIGFuZCB0aGVuIFRvTnVtYmVyKHNlY29uZCBleHByZXNzaW9uKQogKgogKiBAcGF0aCBjaDExLzExLjUvMTEuNS4yL1MxMS41LjJfQTIuM19UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgd2l0aCAidGhyb3ciCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0geyB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfSB9Owp2YXIgeSA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieSI7IH0gfTsKdHJ5IHsKICAgeCAvIHk7CiAgICRFUlJPUignIzEuMTogdmFyIHggPSB7IHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9IH07IHZhciB5ID0geyB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfSB9OyB4IC8geSB0aHJvdyAieCIuIEFjdHVhbDogJyArICh4IC8geSkpOwp9IGNhdGNoIChlKSB7CiAgIGlmIChlID09PSAieSIpIHsKICAgICAkRVJST1IoJyMxLjI6IFRvTnVtYmVyKGZpcnN0IGV4cHJlc3Npb24pIGlzIGNhbGxlZCBmaXJzdCwgYW5kIHRoZW4gVG9OdW1iZXIoc2Vjb25kIGV4cHJlc3Npb24pJyk7CiAgIH0gZWxzZSB7CiAgICAgaWYgKGUgIT09ICJ4IikgewogICAgICAgJEVSUk9SKCcjMS4zOiB2YXIgeCA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieCI7IH0gfTsgdmFyIHkgPSB7IHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9IH07IHggLyB5IHRocm93ICJ4Ii4gQWN0dWFsOiAnICsgKGUpKTsKICAgICB9CiAgIH0KfQoK",
"commentary":"ToNumber(first expression) is called first, and then ToNumber(second expression)",
"description":"Checking with \"throw\"",
"path":"TestCases/ch11/11.5/11.5.2/S11.5.2_A2.3_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMi9TMTEuNS4yX0EyLjRfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggIj0iCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gMDsgCmlmICgoeCA9IDEpIC8geCAhPT0gMSkgewogICRFUlJPUignIzE6IHZhciB4ID0gMDsgKHggPSAxKSAvIHggPT09IDEuIEFjdHVhbDogJyArICgoeCA9IDEpIC8geCkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAwOyAKaWYgKHggLyAoeCA9IDEpICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSAwOyB4IC8gKHggPSAxKSA9PT0gMC4gQWN0dWFsOiAnICsgKHggLyAoeCA9IDEpKSk7Cn0KCgo=",
"commentary":"First expression is evaluated first, and then second expression",
"description":"Checking with \"=\"",
"path":"TestCases/ch11/11.5/11.5.2/S11.5.2_A2.4_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMi9TMTEuNS4yX0EyLjRfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggInRocm93IgogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9Owp2YXIgeSA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9Owp0cnkgewogICB4KCkgLyB5KCk7CiAgICRFUlJPUignIzEuMTogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpIC8geSgpIHRocm93ICJ4Ii4gQWN0dWFsOiAnICsgKHgoKSAvIHkoKSkpOwp9IGNhdGNoIChlKSB7CiAgIGlmIChlID09PSAieSIpIHsKICAgICAkRVJST1IoJyMxLjI6IEZpcnN0IGV4cHJlc3Npb24gaXMgZXZhbHVhdGVkIGZpcnN0LCBhbmQgdGhlbiBzZWNvbmQgZXhwcmVzc2lvbicpOwogICB9IGVsc2UgewogICAgIGlmIChlICE9PSAieCIpIHsKICAgICAgICRFUlJPUignIzEuMzogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpIC8geSgpIHRocm93ICJ4Ii4gQWN0dWFsOiAnICsgKGUpKTsKICAgICB9CiAgIH0KfQoK",
"commentary":"First expression is evaluated first, and then second expression",
"description":"Checking with \"throw\"",
"path":"TestCases/ch11/11.5/11.5.2/S11.5.2_A2.4_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMi9TMTEuNS4yX0EyLjRfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggdW5kZWNsYXJhdGVkIHZhcmlhYmxlcwogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHggLyAoeCA9IDEpOwogICRFUlJPUignIzEuMTogeCAvICh4ID0gMSkgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArICh4IC8gKHggPSAxKSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogeCAvICh4ID0gMSkgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7ICAKICB9Cn0KCi8vQ0hFQ0sjMgppZiAoKHkgPSAxKSAvIHkgIT09IDEpIHsKICAkRVJST1IoJyMyOiAoeSA9IDEpIC8geSA9PT0gMS4gQWN0dWFsOiAnICsgKCh5ID0gMSkgLyB5KSk7Cn0KCgo=",
"commentary":"First expression is evaluated first, and then second expression",
"description":"Checking with undeclarated variables",
"path":"TestCases/ch11/11.5/11.5.2/S11.5.2_A2.4_T3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC8geSByZXR1cm5zIFRvTnVtYmVyKHgpIC8gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMi9TMTEuNS4yX0EzX1QxLjEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBib29sZWFuIGFuZCBCb29sZWFuIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAodHJ1ZSAvIHRydWUgIT09IDEpIHsKICAkRVJST1IoJyMxOiB0cnVlIC8gdHJ1ZSA9PT0gMS4gQWN0dWFsOiAnICsgKHRydWUgLyB0cnVlKSk7Cn0KCi8vQ0hFQ0sjMgppZiAobmV3IEJvb2xlYW4odHJ1ZSkgLyB0cnVlICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogbmV3IEJvb2xlYW4odHJ1ZSkgLyB0cnVlID09PSAxLiBBY3R1YWw6ICcgKyAobmV3IEJvb2xlYW4odHJ1ZSkgLyB0cnVlKSk7Cn0KCi8vQ0hFQ0sjMwppZiAodHJ1ZSAvIG5ldyBCb29sZWFuKHRydWUpICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogdHJ1ZSAvIG5ldyBCb29sZWFuKHRydWUpID09PSAxLiBBY3R1YWw6ICcgKyAodHJ1ZSAvIG5ldyBCb29sZWFuKHRydWUpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAobmV3IEJvb2xlYW4odHJ1ZSkgLyBuZXcgQm9vbGVhbih0cnVlKSAhPT0gMSkgewogICRFUlJPUignIzQ6IG5ldyBCb29sZWFuKHRydWUpIC8gbmV3IEJvb2xlYW4odHJ1ZSkgPT09IDEuIEFjdHVhbDogJyArIChuZXcgQm9vbGVhbih0cnVlKSAvIG5ldyBCb29sZWFuKHRydWUpKSk7Cn0KCg==",
"commentary":"Operator x / y returns ToNumber(x) / ToNumber(y)",
"description":"Type(x) and Type(y) vary between primitive boolean and Boolean object",
"path":"TestCases/ch11/11.5/11.5.2/S11.5.2_A3_T1.1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC8geSByZXR1cm5zIFRvTnVtYmVyKHgpIC8gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMi9TMTEuNS4yX0EzX1QxLjIuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBudW1iZXIgYW5kIE51bWJlciBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKDEgLyAxICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogMSAvIDEgPT09IDEuIEFjdHVhbDogJyArICgxIC8gMSkpOwp9CgovL0NIRUNLIzIKaWYgKG5ldyBOdW1iZXIoMSkgLyAxICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogbmV3IE51bWJlcigxKSAvIDEgPT09IDEuIEFjdHVhbDogJyArIChuZXcgTnVtYmVyKDEpIC8gMSkpOwp9CgovL0NIRUNLIzMKaWYgKDEgLyBuZXcgTnVtYmVyKDEpICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogMSAvIG5ldyBOdW1iZXIoMSkgPT09IDEuIEFjdHVhbDogJyArICgxIC8gbmV3IE51bWJlcigxKSkpOwp9CgovL0NIRUNLIzQKaWYgKG5ldyBOdW1iZXIoMSkgLyBuZXcgTnVtYmVyKDEpICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogbmV3IE51bWJlcigxKSAvIG5ldyBOdW1iZXIoMSkgPT09IDEuIEFjdHVhbDogJyArIChuZXcgTnVtYmVyKDEpIC8gbmV3IE51bWJlcigxKSkpOwp9CgoK",
"commentary":"Operator x / y returns ToNumber(x) / ToNumber(y)",
"description":"Type(x) and Type(y) vary between primitive number and Number object",
"path":"TestCases/ch11/11.5/11.5.2/S11.5.2_A3_T1.2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC8geSByZXR1cm5zIFRvTnVtYmVyKHgpIC8gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMi9TMTEuNS4yX0EzX1QxLjMuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBzdHJpbmcgYW5kIFN0cmluZyBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKCIxIiAvICIxIiAhPT0gMSkgewogICRFUlJPUignIzE6ICIxIiAvICIxIiA9PT0gMS4gQWN0dWFsOiAnICsgKCIxIiAvICIxIikpOwp9CgovL0NIRUNLIzIKaWYgKG5ldyBTdHJpbmcoIjEiKSAvICIxIiAhPT0gMSkgewogICRFUlJPUignIzI6IG5ldyBTdHJpbmcoIjEiKSAvICIxIiA9PT0gMS4gQWN0dWFsOiAnICsgKG5ldyBTdHJpbmcoIjEiKSAvICIxIikpOwp9CgovL0NIRUNLIzMKaWYgKCIxIiAvIG5ldyBTdHJpbmcoIjEiKSAhPT0gMSkgewogICRFUlJPUignIzM6ICIxIiAvIG5ldyBTdHJpbmcoIjEiKSA9PT0gMS4gQWN0dWFsOiAnICsgKCIxIiAvIG5ldyBTdHJpbmcoIjEiKSkpOwp9CgovL0NIRUNLIzQKaWYgKG5ldyBTdHJpbmcoIjEiKSAvIG5ldyBTdHJpbmcoIjEiKSAhPT0gMSkgewogICRFUlJPUignIzQ6IG5ldyBTdHJpbmcoIjEiKSAvIG5ldyBTdHJpbmcoIjEiKSA9PT0gMS4gQWN0dWFsOiAnICsgKG5ldyBTdHJpbmcoIjEiKSAvIG5ldyBTdHJpbmcoIjEiKSkpOwp9CgovL0NIRUNLIzUKaWYgKGlzTmFOKCJ4IiAvICIxIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiAieCIgLyAiMSIgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKCJ4IiAvICIxIikpOwp9CgovL0NIRUNLIzYKaWYgKGlzTmFOKCIxIiAvICJ4IikgIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiAiMSIgLyAieCIgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKCIxIiAvICJ4IikpOwp9Cgo=",
"commentary":"Operator x / y returns ToNumber(x) / ToNumber(y)",
"description":"Type(x) and Type(y) vary between primitive string and String object",
"path":"TestCases/ch11/11.5/11.5.2/S11.5.2_A3_T1.3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC8geSByZXR1cm5zIFRvTnVtYmVyKHgpIC8gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMi9TMTEuNS4yX0EzX1QxLjQuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIE51bGwgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQppZiAoaXNOYU4obnVsbCAvIHVuZGVmaW5lZCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiBudWxsIC8gdW5kZWZpbmVkID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChudWxsIC8gdW5kZWZpbmVkKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoaXNOYU4odW5kZWZpbmVkIC8gbnVsbCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB1bmRlZmluZWQgLyBudWxsID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh1bmRlZmluZWQgLyBudWxsKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoaXNOYU4odW5kZWZpbmVkIC8gdW5kZWZpbmVkKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IHVuZGVmaW5lZCAvIHVuZGVmaW5lZCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAodW5kZWZpbmVkIC8gdW5kZWZpbmVkKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoaXNOYU4obnVsbCAvIG51bGwpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogbnVsbCAvIG51bGwgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKG51bGwgLyBudWxsKSk7Cn0KCg==",
"commentary":"Operator x / y returns ToNumber(x) / ToNumber(y)",
"description":"Type(x) and Type(y) vary between Null and Undefined",
"path":"TestCases/ch11/11.5/11.5.2/S11.5.2_A3_T1.4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC8geSByZXR1cm5zIFRvTnVtYmVyKHgpIC8gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMi9TMTEuNS4yX0EzX1QxLjUuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIE9iamVjdCBvYmplY3QgYW5kIEZ1bmN0aW9uIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAoaXNOYU4oe30gLyBmdW5jdGlvbigpe3JldHVybiAxfSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiB7fSAvIGZ1bmN0aW9uKCl7cmV0dXJuIDF9ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh7fSAvIGZ1bmN0aW9uKCl7cmV0dXJuIDF9KSk7Cn0KCi8vQ0hFQ0sjMgppZiAoaXNOYU4oZnVuY3Rpb24oKXtyZXR1cm4gMX0gLyB7fSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiBmdW5jdGlvbigpe3JldHVybiAxfSAvIHt9ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChmdW5jdGlvbigpe3JldHVybiAxfSAvIHt9KSk7Cn0KCi8vQ0hFQ0sjMwppZiAoaXNOYU4oZnVuY3Rpb24oKXtyZXR1cm4gMX0gLyBmdW5jdGlvbigpe3JldHVybiAxfSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiBmdW5jdGlvbigpe3JldHVybiAxfSAvIGZ1bmN0aW9uKCl7cmV0dXJuIDF9ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChmdW5jdGlvbigpe3JldHVybiAxfSAvIGZ1bmN0aW9uKCl7cmV0dXJuIDF9KSk7Cn0KCi8vQ0hFQ0sjNAppZiAoaXNOYU4oe30gLyB7fSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiB7fSAvIHt9ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh7fSAvIHt9KSk7Cn0KCg==",
"commentary":"Operator x / y returns ToNumber(x) / ToNumber(y)",
"description":"Type(x) and Type(y) vary between Object object and Function object",
"path":"TestCases/ch11/11.5/11.5.2/S11.5.2_A3_T1.5.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC8geSByZXR1cm5zIFRvTnVtYmVyKHgpIC8gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMi9TMTEuNS4yX0EzX1QyLjEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgQm9vbGVhbiAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCmlmICh0cnVlIC8gMSAhPT0gMSkgewogICRFUlJPUignIzE6IHRydWUgLyAxID09PSAxLiBBY3R1YWw6ICcgKyAodHJ1ZSAvIDEpKTsKfQoKLy9DSEVDSyMyCmlmICgxIC8gdHJ1ZSAhPT0gMSkgewogICRFUlJPUignIzI6IDEgLyB0cnVlID09PSAxLiBBY3R1YWw6ICcgKyAoMSAvIHRydWUpKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgQm9vbGVhbih0cnVlKSAvIDEgIT09IDEpIHsKICAkRVJST1IoJyMzOiBuZXcgQm9vbGVhbih0cnVlKSAvIDEgPT09IDEuIEFjdHVhbDogJyArIChuZXcgQm9vbGVhbih0cnVlKSAvIDEpKTsKfQoKLy9DSEVDSyM0CmlmICgxIC8gbmV3IEJvb2xlYW4odHJ1ZSkgIT09IDEpIHsKICAkRVJST1IoJyM0OiAxIC8gbmV3IEJvb2xlYW4odHJ1ZSkgPT09IDEuIEFjdHVhbDogJyArICgxIC8gbmV3IEJvb2xlYW4odHJ1ZSkpKTsKfQoKLy9DSEVDSyM1CmlmICh0cnVlIC8gbmV3IE51bWJlcigxKSAhPT0gMSkgewogICRFUlJPUignIzU6IHRydWUgLyBuZXcgTnVtYmVyKDEpID09PSAxLiBBY3R1YWw6ICcgKyAodHJ1ZSAvIG5ldyBOdW1iZXIoMSkpKTsKfQoKLy9DSEVDSyM2CmlmIChuZXcgTnVtYmVyKDEpIC8gdHJ1ZSAhPT0gMSkgewogICRFUlJPUignIzY6IG5ldyBOdW1iZXIoMSkgLyB0cnVlID09PSAxLiBBY3R1YWw6ICcgKyAobmV3IE51bWJlcigxKSAvIHRydWUpKTsKfQoKLy9DSEVDSyM3CmlmIChuZXcgQm9vbGVhbih0cnVlKSAvIG5ldyBOdW1iZXIoMSkgIT09IDEpIHsKICAkRVJST1IoJyM3OiBuZXcgQm9vbGVhbih0cnVlKSAvIG5ldyBOdW1iZXIoMSkgPT09IDEuIEFjdHVhbDogJyArIChuZXcgQm9vbGVhbih0cnVlKSAvIG5ldyBOdW1iZXIoMSkpKTsKfQoKLy9DSEVDSyM4CmlmIChuZXcgTnVtYmVyKDEpIC8gbmV3IEJvb2xlYW4odHJ1ZSkgIT09IDEpIHsKICAkRVJST1IoJyM4OiBuZXcgTnVtYmVyKDEpIC8gbmV3IEJvb2xlYW4odHJ1ZSkgPT09IDEuIEFjdHVhbDogJyArIChuZXcgTnVtYmVyKDEpIC8gbmV3IEJvb2xlYW4odHJ1ZSkpKTsKfQoK",
"commentary":"Operator x / y returns ToNumber(x) / ToNumber(y)",
"description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Boolean (primitive and object)",
"path":"TestCases/ch11/11.5/11.5.2/S11.5.2_A3_T2.1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC8geSByZXR1cm5zIFRvTnVtYmVyKHgpIC8gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMi9TMTEuNS4yX0EzX1QyLjIuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgU3RyaW5nIChwcmltaXRpdmUgYW5kIG9iamVjdCkKICovCgovL0NIRUNLIzEKaWYgKCIxIiAvIDEgIT09IDEpIHsKICAkRVJST1IoJyMxOiAiMSIgLyAxID09PSAxLiBBY3R1YWw6ICcgKyAoIjEiIC8gMSkpOwp9CgovL0NIRUNLIzIKaWYgKDEgLyAiMSIgIT09IDEpIHsKICAkRVJST1IoJyMyOiAxIC8gIjEiID09PSAxLiBBY3R1YWw6ICcgKyAoMSAvICIxIikpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBTdHJpbmcoIjEiKSAvIDEgIT09IDEpIHsKICAkRVJST1IoJyMzOiBuZXcgU3RyaW5nKCIxIikgLyAxID09PSAxLiBBY3R1YWw6ICcgKyAobmV3IFN0cmluZygiMSIpIC8gMSkpOwp9CgovL0NIRUNLIzQKaWYgKDEgLyBuZXcgU3RyaW5nKCIxIikgIT09IDEpIHsKICAkRVJST1IoJyM0OiAxIC8gbmV3IFN0cmluZygiMSIpID09PSAxLiBBY3R1YWw6ICcgKyAoMSAvIG5ldyBTdHJpbmcoIjEiKSkpOwp9CgovL0NIRUNLIzUKaWYgKCIxIiAvIG5ldyBOdW1iZXIoMSkgIT09IDEpIHsKICAkRVJST1IoJyM1OiAiMSIgLyBuZXcgTnVtYmVyKDEpID09PSAxLiBBY3R1YWw6ICcgKyAoIjEiIC8gbmV3IE51bWJlcigxKSkpOwp9CgovL0NIRUNLIzYKaWYgKG5ldyBOdW1iZXIoMSkgLyAiMSIgIT09IDEpIHsKICAkRVJST1IoJyM2OiBuZXcgTnVtYmVyKDEpIC8gIjEiID09PSAxLiBBY3R1YWw6ICcgKyAobmV3IE51bWJlcigxKSAvICIxIikpOwp9CgovL0NIRUNLIzcKaWYgKG5ldyBTdHJpbmcoIjEiKSAvIG5ldyBOdW1iZXIoMSkgIT09IDEpIHsKICAkRVJST1IoJyM3OiBuZXcgU3RyaW5nKCIxIikgLyBuZXcgTnVtYmVyKDEpID09PSAxLiBBY3R1YWw6ICcgKyAobmV3IFN0cmluZygiMSIpIC8gbmV3IE51bWJlcigxKSkpOwp9CgovL0NIRUNLIzgKaWYgKG5ldyBOdW1iZXIoMSkgLyBuZXcgU3RyaW5nKCIxIikgIT09IDEpIHsKICAkRVJST1IoJyM4OiBuZXcgTnVtYmVyKDEpIC8gbmV3IFN0cmluZygiMSIpID09PSAxLiBBY3R1YWw6ICcgKyAobmV3IE51bWJlcigxKSAvIG5ldyBTdHJpbmcoIjEiKSkpOwp9CgovL0NIRUNLIzkKaWYgKGlzTmFOKCJ4IiAvIDEpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjOTogIngiIC8gMSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoIngiIC8gMSkpOwp9CgovL0NIRUNLIzEwCmlmIChpc05hTigxIC8gIngiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzEwOiAxIC8gIngiID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICgxIC8gIngiKSk7Cn0KCg==",
"commentary":"Operator x / y returns ToNumber(x) / ToNumber(y)",
"description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object)",
"path":"TestCases/ch11/11.5/11.5.2/S11.5.2_A3_T2.2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC8geSByZXR1cm5zIFRvTnVtYmVyKHgpIC8gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMi9TMTEuNS4yX0EzX1QyLjMuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQppZiAoMSAvIG51bGwgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICRFUlJPUignIzE6IDEgLyBudWxsID09PSArSW5maW5pdHkuIEFjdHVhbDogJyArICgxIC8gbnVsbCkpOwp9CgovL0NIRUNLIzIKaWYgKG51bGwgLyAxICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogbnVsbCAvIDEgPT09IDAuIEFjdHVhbDogJyArIChudWxsIC8gMSkpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBOdW1iZXIoMSkgLyBudWxsICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHsKICAkRVJST1IoJyMzOiBuZXcgTnVtYmVyKDEpIC8gbnVsbCA9PT0gK0luZmluaXR5LiBBY3R1YWw6ICcgKyAobmV3IE51bWJlcigxKSAvIG51bGwpKTsKfQoKLy9DSEVDSyM0CmlmIChudWxsIC8gbmV3IE51bWJlcigxKSAhPT0gMCkgewogICRFUlJPUignIzQ6IG51bGwgLyBuZXcgTnVtYmVyKDEpID09PSAwLiBBY3R1YWw6ICcgKyAobnVsbCAvIG5ldyBOdW1iZXIoMSkpKTsKfQoK",
"commentary":"Operator x / y returns ToNumber(x) / ToNumber(y)",
"description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null",
"path":"TestCases/ch11/11.5/11.5.2/S11.5.2_A3_T2.3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC8geSByZXR1cm5zIFRvTnVtYmVyKHgpIC8gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMi9TMTEuNS4yX0EzX1QyLjQuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCmlmIChpc05hTigxIC8gdW5kZWZpbmVkKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IDEgLyB1bmRlZmluZWQgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKDEgLyB1bmRlZmluZWQpKTsKfQoKLy9DSEVDSyMyCmlmIChpc05hTih1bmRlZmluZWQgLyAxKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHVuZGVmaW5lZCAvIDEgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHVuZGVmaW5lZCAvIDEpKTsKfQoKLy9DSEVDSyMzCmlmIChpc05hTihuZXcgTnVtYmVyKDEpIC8gdW5kZWZpbmVkKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IG5ldyBOdW1iZXIoMSkgLyB1bmRlZmluZWQgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKG5ldyBOdW1iZXIoMSkgLyB1bmRlZmluZWQpKTsKfQoKLy9DSEVDSyM0CmlmIChpc05hTih1bmRlZmluZWQgLyBuZXcgTnVtYmVyKDEpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6IHVuZGVmaW5lZCAvIG5ldyBOdW1iZXIoMSkgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHVuZGVmaW5lZCAvIG5ldyBOdW1iZXIoMSkpKTsKfQoK",
"commentary":"Operator x / y returns ToNumber(x) / ToNumber(y)",
"description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined",
"path":"TestCases/ch11/11.5/11.5.2/S11.5.2_A3_T2.4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC8geSByZXR1cm5zIFRvTnVtYmVyKHgpIC8gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMi9TMTEuNS4yX0EzX1QyLjUuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgQm9vbGVhbiAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCmlmICh0cnVlIC8gIjEiICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogdHJ1ZSAvICIxIiA9PT0gMS4gQWN0dWFsOiAnICsgKHRydWUgLyAiMSIpKTsKfQoKLy9DSEVDSyMyCmlmICgiMSIgLyB0cnVlICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogIjEiIC8gdHJ1ZSA9PT0gMS4gQWN0dWFsOiAnICsgKCIxIiAvIHRydWUpKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgQm9vbGVhbih0cnVlKSAvICIxIiAhPT0gMSkgewogICRFUlJPUignIzM6IG5ldyBCb29sZWFuKHRydWUpIC8gIjEiID09PSAxLiBBY3R1YWw6ICcgKyAobmV3IEJvb2xlYW4odHJ1ZSkgLyAiMSIpKTsKfQoKLy9DSEVDSyM0CmlmICgiMSIgLyBuZXcgQm9vbGVhbih0cnVlKSAhPT0gMSkgewogICRFUlJPUignIzQ6ICIxIiAvIG5ldyBCb29sZWFuKHRydWUpID09PSAxLiBBY3R1YWw6ICcgKyAoIjEiIC8gbmV3IEJvb2xlYW4odHJ1ZSkpKTsKfQoKLy9DSEVDSyM1CmlmICh0cnVlIC8gbmV3IFN0cmluZygiMSIpICE9PSAxKSB7CiAgJEVSUk9SKCcjNTogdHJ1ZSAvIG5ldyBTdHJpbmcoIjEiKSA9PT0gMS4gQWN0dWFsOiAnICsgKHRydWUgLyBuZXcgU3RyaW5nKCIxIikpKTsKfQoKLy9DSEVDSyM2CmlmIChuZXcgU3RyaW5nKCIxIikgLyB0cnVlICE9PSAxKSB7CiAgJEVSUk9SKCcjNjogbmV3IFN0cmluZygiMSIpIC8gdHJ1ZSA9PT0gMS4gQWN0dWFsOiAnICsgKG5ldyBTdHJpbmcoIjEiKSAvIHRydWUpKTsKfQoKLy9DSEVDSyM3CmlmIChuZXcgQm9vbGVhbih0cnVlKSAvIG5ldyBTdHJpbmcoIjEiKSAhPT0gMSkgewogICRFUlJPUignIzc6IG5ldyBCb29sZWFuKHRydWUpIC8gbmV3IFN0cmluZygiMSIpID09PSAxLiBBY3R1YWw6ICcgKyAobmV3IEJvb2xlYW4odHJ1ZSkgLyBuZXcgU3RyaW5nKCIxIikpKTsKfQoKLy9DSEVDSyM4CmlmIChuZXcgU3RyaW5nKCIxIikgLyBuZXcgQm9vbGVhbih0cnVlKSAhPT0gMSkgewogICRFUlJPUignIzg6IG5ldyBTdHJpbmcoIjEiKSAvIG5ldyBCb29sZWFuKHRydWUpID09PSAxLiBBY3R1YWw6ICcgKyAobmV3IFN0cmluZygiMSIpIC8gbmV3IEJvb2xlYW4odHJ1ZSkpKTsKfQoK",
"commentary":"Operator x / y returns ToNumber(x) / ToNumber(y)",
"description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Boolean (primitive and object)",
"path":"TestCases/ch11/11.5/11.5.2/S11.5.2_A3_T2.5.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC8geSByZXR1cm5zIFRvTnVtYmVyKHgpIC8gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMi9TMTEuNS4yX0EzX1QyLjYuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCmlmIChpc05hTigiMSIgLyB1bmRlZmluZWQpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogIjEiIC8gdW5kZWZpbmVkID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICgiMSIgLyB1bmRlZmluZWQpKTsKfQoKLy9DSEVDSyMyCmlmIChpc05hTih1bmRlZmluZWQgLyAiMSIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogdW5kZWZpbmVkIC8gIjEiID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh1bmRlZmluZWQgLyAiMSIpKTsKfQoKLy9DSEVDSyMzCmlmIChpc05hTihuZXcgU3RyaW5nKCIxIikgLyB1bmRlZmluZWQpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogbmV3IFN0cmluZygiMSIpIC8gdW5kZWZpbmVkID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChuZXcgU3RyaW5nKCIxIikgLyB1bmRlZmluZWQpKTsKfQoKLy9DSEVDSyM0CmlmIChpc05hTih1bmRlZmluZWQgLyBuZXcgU3RyaW5nKCIxIikpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogdW5kZWZpbmVkIC8gbmV3IFN0cmluZygiMSIpID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh1bmRlZmluZWQgLyBuZXcgU3RyaW5nKCIxIikpKTsKfQoK",
"commentary":"Operator x / y returns ToNumber(x) / ToNumber(y)",
"description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Undefined",
"path":"TestCases/ch11/11.5/11.5.2/S11.5.2_A3_T2.6.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC8geSByZXR1cm5zIFRvTnVtYmVyKHgpIC8gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMi9TMTEuNS4yX0EzX1QyLjcuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQppZiAoIjEiIC8gbnVsbCAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7CiAgJEVSUk9SKCcjMTogIjEiIC8gbnVsbCA9PT0gK0luZmluaXR5LiBBY3R1YWw6ICcgKyAoIjEiIC8gbnVsbCkpOwp9CgovL0NIRUNLIzIKaWYgKG51bGwgLyAiMSIgIT09IDApIHsKICAkRVJST1IoJyMyOiBudWxsIC8gIjEiID09PSAwLiBBY3R1YWw6ICcgKyAobnVsbCAvICIxIikpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBTdHJpbmcoIjEiKSAvIG51bGwgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICRFUlJPUignIzM6IG5ldyBTdHJpbmcoIjEiKSAvIG51bGwgPT09ICtJbmZpbml0eS4gQWN0dWFsOiAnICsgKG5ldyBTdHJpbmcoIjEiKSAvIG51bGwpKTsKfQoKLy9DSEVDSyM0CmlmIChudWxsIC8gbmV3IFN0cmluZygiMSIpICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogbnVsbCAvIG5ldyBTdHJpbmcoIjEiKSA9PT0gMC4gQWN0dWFsOiAnICsgKG51bGwgLyBuZXcgU3RyaW5nKCIxIikpKTsKfQoK",
"commentary":"Operator x / y returns ToNumber(x) / ToNumber(y)",
"description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null",
"path":"TestCases/ch11/11.5/11.5.2/S11.5.2_A3_T2.7.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC8geSByZXR1cm5zIFRvTnVtYmVyKHgpIC8gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMi9TMTEuNS4yX0EzX1QyLjguanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gQm9vbGVhbiAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQppZiAoaXNOYU4odHJ1ZSAvIHVuZGVmaW5lZCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiB0cnVlIC8gdW5kZWZpbmVkID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh0cnVlIC8gdW5kZWZpbmVkKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoaXNOYU4odW5kZWZpbmVkIC8gdHJ1ZSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB1bmRlZmluZWQgLyB0cnVlID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh1bmRlZmluZWQgLyB0cnVlKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoaXNOYU4obmV3IEJvb2xlYW4odHJ1ZSkgLyB1bmRlZmluZWQpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogbmV3IEJvb2xlYW4odHJ1ZSkgLyB1bmRlZmluZWQgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKG5ldyBCb29sZWFuKHRydWUpIC8gdW5kZWZpbmVkKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoaXNOYU4odW5kZWZpbmVkIC8gbmV3IEJvb2xlYW4odHJ1ZSkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogdW5kZWZpbmVkIC8gbmV3IEJvb2xlYW4odHJ1ZSkgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHVuZGVmaW5lZCAvIG5ldyBCb29sZWFuKHRydWUpKSk7Cn0KCg==",
"commentary":"Operator x / y returns ToNumber(x) / ToNumber(y)",
"description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined",
"path":"TestCases/ch11/11.5/11.5.2/S11.5.2_A3_T2.8.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC8geSByZXR1cm5zIFRvTnVtYmVyKHgpIC8gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMi9TMTEuNS4yX0EzX1QyLjkuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gQm9vbGVhbiAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIE51bGwKICovCgovL0NIRUNLIzEKaWYgKHRydWUgLyBudWxsICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHsKICAkRVJST1IoJyMxOiB0cnVlIC8gbnVsbCA9PT0gK0luZmluaXR5LiBBY3R1YWw6ICcgKyAodHJ1ZSAvIG51bGwpKTsKfQoKLy9DSEVDSyMyCmlmIChudWxsIC8gdHJ1ZSAhPT0gMCkgewogICRFUlJPUignIzI6IG51bGwgLyB0cnVlID09PSAwLiBBY3R1YWw6ICcgKyAobnVsbCAvIHRydWUpKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgQm9vbGVhbih0cnVlKSAvIG51bGwgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICRFUlJPUignIzM6IG5ldyBCb29sZWFuKHRydWUpIC8gbnVsbCA9PT0gK0luZmluaXR5LiBBY3R1YWw6ICcgKyAobmV3IEJvb2xlYW4odHJ1ZSkgLyBudWxsKSk7Cn0KCi8vQ0hFQ0sjNAppZiAobnVsbCAvIG5ldyBCb29sZWFuKHRydWUpICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogbnVsbCAvIG5ldyBCb29sZWFuKHRydWUpID09PSAwLiBBY3R1YWw6ICcgKyAobnVsbCAvIG5ldyBCb29sZWFuKHRydWUpKSk7Cn0KCg==",
"commentary":"Operator x / y returns ToNumber(x) / ToNumber(y)",
"description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null",
"path":"TestCases/ch11/11.5/11.5.2/S11.5.2_A3_T2.9.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGRpdmlzaW9uIGlzIGRldGVybWluZWQgYnkgdGhlIHNwZWNpZmljYXRpb24gb2YgSUVFRSA3NTQgYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMi9TMTEuNS4yX0E0X1QxLjEuanMKICogQGRlc2NyaXB0aW9uIElmIGxlZnQgb3BlcmFuZCBpcyBOYU4sIHRoZSByZXN1bHQgaXMgTmFOCiAqLwoKLy9DSEVDSyMxCmlmIChpc05hTihOdW1iZXIuTmFOIC8gTnVtYmVyLk5hTikgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiBOYU4gLyBOYU4gPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKE5hTiAvIE5hTikpOwp9ICAKCi8vQ0hFQ0sjMgppZiAoaXNOYU4oTnVtYmVyLk5hTiAvICswKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IE5hTiAvICswID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChOYU4gLyArMCkpOyAKfSAKCi8vQ0hFQ0sjMwppZiAoaXNOYU4oTnVtYmVyLk5hTiAvIC0wKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IE5hTiAvIC0wID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChOYU4gLyAtMCkpOyAKfSAKCi8vQ0hFQ0sjNAppZiAoaXNOYU4oTnVtYmVyLk5hTiAvIE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiBOYU4gLyBJbmZpbml0eSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoTmFOIC8gSW5maW5pdHkpKTsKfSAKCi8vQ0hFQ0sjNQppZiAoaXNOYU4oTnVtYmVyLk5hTiAvIE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiBOYU4gLyAtSW5maW5pdHkgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKE5hTiAvIC1JbmZpbml0eSkpOyAKfSAKCi8vQ0hFQ0sjNgppZiAoaXNOYU4oTnVtYmVyLk5hTiAvIE51bWJlci5NQVhfVkFMVUUpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNjogTmFOIC8gTnVtYmVyLk1BWF9WQUxVRSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoTmFOIC8gTnVtYmVyLk1BWF9WQUxVRSkpOwp9IAoKLy9DSEVDSyM3CmlmIChpc05hTihOdW1iZXIuTmFOIC8gTnVtYmVyLk1JTl9WQUxVRSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM3OiBOYU4gLyBOdW1iZXIuTUlOX1ZBTFVFID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChOYU4gLyBOdW1iZXIuTUlOX1ZBTFVFKSk7IAp9CgovL0NIRUNLIzgKaWYgKGlzTmFOKE51bWJlci5OYU4gLyAxKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzg6IE5hTiAvIDEgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKE5hTiAvIDEpKTsgIAp9IAoK",
"commentary":"The result of division is determined by the specification of IEEE 754 arithmetics",
"description":"If left operand is NaN, the result is NaN",
"path":"TestCases/ch11/11.5/11.5.2/S11.5.2_A4_T1.1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGRpdmlzaW9uIGlzIGRldGVybWluZWQgYnkgdGhlIHNwZWNpZmljYXRpb24gb2YgSUVFRSA3NTQgYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMi9TMTEuNS4yX0E0X1QxLjIuanMKICogQGRlc2NyaXB0aW9uIElmIHJpZ2h0IG9wZXJhbmQgaXMgTmFOLCB0aGUgcmVzdWx0IGlzIE5hTgogKi8KCi8vQ0hFQ0sjMQppZiAoaXNOYU4oTnVtYmVyLk5hTiAvIE51bWJlci5OYU4pICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogTmFOIC8gTmFOID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChOYU4gLyBOYU4pKTsKfSAgCgovL0NIRUNLIzIKaWYgKGlzTmFOKCswIC8gTnVtYmVyLk5hTikgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiArMCAvIE5hTiA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoKzAgLyBOYU4pKTsgCn0gCgovL0NIRUNLIzMKaWYgKGlzTmFOKC0wIC8gTnVtYmVyLk5hTikgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiAtMCAvIE5hTiA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoLTAgLyBOYU4pKTsgCn0gCgovL0NIRUNLIzQKaWYgKGlzTmFOKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSAvIE51bWJlci5OYU4pICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogSW5maW5pdHkgLyBOYU4gPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKEluZmluaXR5IC8gTmFOKSk7Cn0gCgovL0NIRUNLIzUKaWYgKGlzTmFOKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSAvIE51bWJlci5OYU4pICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNTogIC1JbmZpbml0eSAvIE5hTiA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoIC1JbmZpbml0eSAvIE5hTikpOyAKfSAKCi8vQ0hFQ0sjNgppZiAoaXNOYU4oTnVtYmVyLk1BWF9WQUxVRSAvIE51bWJlci5OYU4pICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNjogTnVtYmVyLk1BWF9WQUxVRSAvIE5hTiA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoTnVtYmVyLk1BWF9WQUxVRSAvIE5hTikpOwp9IAoKLy9DSEVDSyM3CmlmIChpc05hTihOdW1iZXIuTUlOX1ZBTFVFIC8gTnVtYmVyLk5hTikgIT09IHRydWUpIHsKICAkRVJST1IoJyM3OiBOdW1iZXIuTUlOX1ZBTFVFIC8gTmFOID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChOdW1iZXIuTUlOX1ZBTFVFIC8gTmFOKSk7IAp9CgovL0NIRUNLIzgKaWYgKGlzTmFOKDEgLyBOdW1iZXIuTmFOKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzg6IDEgLyBOYU4gPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKDEgLyBOYU4pKTsgIAp9Cgo=",
"commentary":"The result of division is determined by the specification of IEEE 754 arithmetics",
"description":"If right operand is NaN, the result is NaN",
"path":"TestCases/ch11/11.5/11.5.2/S11.5.2_A4_T1.2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGRpdmlzaW9uIGlzIGRldGVybWluZWQgYnkgdGhlIHNwZWNpZmljYXRpb24gb2YgSUVFRSA3NTQgYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMi9TMTEuNS4yX0E0X1QxMC5qcwogKiBAZGVzY3JpcHRpb24gSWYgYm90aCBvcGVyYW5kcyBhcmUgZmluaXRlIGFuZCBub256ZXJvLCB0aGUgcXVvdGllbnQgaXMgY29tcHV0ZWQgYW5kIHJvdW5kZWQgdXNpbmcgSUVFRSA3NTQgcm91bmQtdG8tbmVhcmVzdCBtb2RlLgogKiBJZiB0aGUgbWFnbml0dWRlIGlzIHRvbyBzbWFsbCB0byByZXByZXNlbnQsIHRoZSByZXN1bHQgaXMgdGhlbiBhIHplcm8gb2YgYXBwcm9wcmlhdGUgc2lnbgogKi8KCi8vQ0hFQ0sjMQppZiAoTnVtYmVyLk1JTl9WQUxVRSAvIDIuMSAhPT0gMCkgewogICRFUlJPUignIzE6IE51bWJlci5NSU5fVkFMVUUgLyAyLjEgPT09IDAuIEFjdHVhbDogJyArIChOdW1iZXIuTUlOX1ZBTFVFIC8gMi4xKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoTnVtYmVyLk1JTl9WQUxVRSAvIC0yLjEgIT09IC0wKSB7CiAgJEVSUk9SKCcjMi4xOiBOdW1iZXIuTUlOX1ZBTFVFIC8gLTIuMSA9PT0gMC4gQWN0dWFsOiAnICsgKE51bWJlci5NSU5fVkFMVUUgLyAtMi4xKSk7Cn0gZWxzZSB7CiAgaWYgKDEgLyAoTnVtYmVyLk1JTl9WQUxVRSAvIC0yLjEpICE9PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpIHsKICAgICRFUlJPUignIzIuMjogTnVtYmVyLk1JTl9WQUxVRSAvIC0yLjEgPT09IC0wLiBBY3R1YWw6ICswJyk7CiAgfQp9CgovL0NIRUNLIzMKaWYgKE51bWJlci5NSU5fVkFMVUUgLyAyLjAgIT09IDApIHsKICAkRVJST1IoJyMzOiBOdW1iZXIuTUlOX1ZBTFVFIC8gMi4wID09PSAwLiBBY3R1YWw6ICcgKyAoTnVtYmVyLk1JTl9WQUxVRSAvIDIuMCkpOwp9CgovL0NIRUNLIzQKaWYgKE51bWJlci5NSU5fVkFMVUUgLyAtMi4wICE9PSAtMCkgewogICRFUlJPUignIzQuMTogTnVtYmVyLk1JTl9WQUxVRSAvIC0yLjAgPT09IC0wLiBBY3R1YWw6ICcgKyAoTnVtYmVyLk1JTl9WQUxVRSAvIC0yLjApKTsKfSBlbHNlIHsKICBpZiAoMSAvIChOdW1iZXIuTUlOX1ZBTFVFIC8gLTIuMCkgIT09IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgewogICAgJEVSUk9SKCcjNC4yOiBOdW1iZXIuTUlOX1ZBTFVFIC8gLTIuMCA9PT0gLTAuIEFjdHVhbDogKzAnKTsKICB9Cn0KCi8vQ0hFQ0sjNQppZiAoTnVtYmVyLk1JTl9WQUxVRSAvIDEuOSAhPT0gTnVtYmVyLk1JTl9WQUxVRSkgewogICRFUlJPUignIzU6IE51bWJlci5NSU5fVkFMVUUgLyAxLjkgPT09IE51bWJlci5NSU5fVkFMVUUuIEFjdHVhbDogJyArIChOdW1iZXIuTUlOX1ZBTFVFIC8gMS45KSk7Cn0KCi8vQ0hFQ0sjNgppZiAoTnVtYmVyLk1JTl9WQUxVRSAvIC0xLjkgIT09IC1OdW1iZXIuTUlOX1ZBTFVFKSB7CiAgJEVSUk9SKCcjNjogTnVtYmVyLk1JTl9WQUxVRSAvIC0xLjkgPT09IC1OdW1iZXIuTUlOX1ZBTFVFLiBBY3R1YWw6ICcgKyAoTnVtYmVyLk1JTl9WQUxVRSAvIC0xLjkpKTsKfQoKLy9DSEVDSyM3CmlmIChOdW1iZXIuTUlOX1ZBTFVFIC8gMS4xICE9PSBOdW1iZXIuTUlOX1ZBTFVFKSB7CiAgJEVSUk9SKCcjNzogTnVtYmVyLk1JTl9WQUxVRSAvIDEuMSA9PT0gTnVtYmVyLk1JTl9WQUxVRS4gQWN0dWFsOiAnICsgKE51bWJlci5NSU5fVkFMVUUgLyAxLjEpKTsKfQoKLy9DSEVDSyM4CmlmIChOdW1iZXIuTUlOX1ZBTFVFIC8gLTEuMSAhPT0gLU51bWJlci5NSU5fVkFMVUUpIHsKICAkRVJST1IoJyM4OiBOdW1iZXIuTUlOX1ZBTFVFIC8gLTEuMSA9PT0gLU51bWJlci5NSU5fVkFMVUUuIEFjdHVhbDogJyArIChOdW1iZXIuTUlOX1ZBTFVFIC8gLTEuMSkpOwp9IAoK",
"commentary":"The result of division is determined by the specification of IEEE 754 arithmetics",
"description":"If both operands are finite and nonzero, the quotient is computed and rounded using IEEE 754 round-to-nearest mode.\nIf the magnitude is too small to represent, the result is then a zero of appropriate sign",
"path":"TestCases/ch11/11.5/11.5.2/S11.5.2_A4_T10.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGRpdmlzaW9uIGlzIGRldGVybWluZWQgYnkgdGhlIHNwZWNpZmljYXRpb24gb2YgSUVFRSA3NTQgYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMi9TMTEuNS4yX0E0X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgc2lnbiBvZiB0aGUgcmVzdWx0IGlzIHBvc2l0aXZlIGlmIGJvdGggb3BlcmFuZHMgaGF2ZSB0aGUgc2FtZSBzaWduLCBuZWdhdGl2ZSBpZiB0aGUgb3BlcmFuZHMgaGF2ZSBkaWZmZXJlbnQgc2lnbnMKICovCgovL0NIRUNLIzEKaWYgKDEgLyAxICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogMSAvIDEgPT09IDEuIEFjdHVhbDogJyArICgxIC8gMSkpOwp9CgovL0NIRUNLIzIKaWYgKDEgLyAtMSAhPT0gLTEpIHsKICAkRVJST1IoJyMyOiAxIC8gLTEgPT09IC0xLiBBY3R1YWw6ICcgKyAoMSAvIC0xKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoLTEgLyAxICE9PSAtMSkgewogICRFUlJPUignIzM6IC0xIC8gMSA9PT0gLTEuIEFjdHVhbDogJyArICgtMSAvIDEpKTsKfQoKLy9DSEVDSyM0CmlmICgtMSAvIC0xICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogLTEgLyAtMSA9PT0gMS4gQWN0dWFsOiAnICsgKC0xIC8gLTEpKTsKfQoK",
"commentary":"The result of division is determined by the specification of IEEE 754 arithmetics",
"description":"The sign of the result is positive if both operands have the same sign, negative if the operands have different signs",
"path":"TestCases/ch11/11.5/11.5.2/S11.5.2_A4_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGRpdmlzaW9uIGlzIGRldGVybWluZWQgYnkgdGhlIHNwZWNpZmljYXRpb24gb2YgSUVFRSA3NTQgYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMi9TMTEuNS4yX0E0X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBEaXZpc2lvbiBvZiBhbiBpbmZpbml0eSBieSBhIHplcm8gcmVzdWx0cyBpbiBhbiBpbmZpbml0eSBvZiBhcHByb3ByaWF0ZSBzaWduCiAqLwoKLy9DSEVDSyMxCmlmIChOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgLyAwICE9PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpIHsKICAkRVJST1IoJyMxOiBJbmZpbml0eSAvIDAgPT09IEluZmluaXR5LiBBY3R1YWw6ICcgKyAoSW5maW5pdHkgLyAwKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZIC8gLTAgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICRFUlJPUignIzI6IC1JbmZpbml0eSAvIC0wID09PSBJbmZpbml0eS4gQWN0dWFsOiAnICsgKC1JbmZpbml0eSAvIC0wKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZIC8gMCAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7CiAgJEVSUk9SKCcjMzogSW5maW5pdHkgLyAwID09PSBJbmZpbml0eS4gQWN0dWFsOiAnICsgKEluZmluaXR5IC8gMCkpOwp9CgovL0NIRUNLIzQKaWYgKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSAvIC0wICE9PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpIHsKICAkRVJST1IoJyM0OiBJbmZpbml0eSAvIC0wID09PSAtSW5maW5pdHkuIEFjdHVhbDogJyArIChJbmZpbml0eSAvIC0wKSk7Cn0KCg==",
"commentary":"The result of division is determined by the specification of IEEE 754 arithmetics",
"description":"Division of an infinity by a zero results in an infinity of appropriate sign",
"path":"TestCases/ch11/11.5/11.5.2/S11.5.2_A4_T3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGRpdmlzaW9uIGlzIGRldGVybWluZWQgYnkgdGhlIHNwZWNpZmljYXRpb24gb2YgSUVFRSA3NTQgYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMi9TMTEuNS4yX0E0X1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBEaXZpc2lvbiBvZiBhbiBpbmZpbml0eSBieSBhbiBpbmZpbml0eSByZXN1bHRzIGluIE5hTgogKi8KCi8vQ0hFQ0sjMQppZiAoaXNOYU4oTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZIC8gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IC1JbmZpbml0eSAvIC1JbmZpbml0eSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoLUluZmluaXR5IC8gLUluZmluaXR5KSk7Cn0KCi8vQ0hFQ0sjMgppZiAoaXNOYU4oTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZIC8gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IEluZmluaXR5IC8gSW5maW5pdHkgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKEluZmluaXR5IC8gSW5maW5pdHkpKTsKfQoKLy9DSEVDSyMzCmlmIChpc05hTihOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgLyBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogLUluZmluaXR5IC8gSW5maW5pdHkgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKC1JbmZpbml0eSAvIEluZmluaXR5KSk7Cn0KCi8vQ0hFQ0sjNAppZiAoaXNOYU4oTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZIC8gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6IEluZmluaXR5IC8gLUluZmluaXR5ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChJbmZpbml0eSAvIC1JbmZpbml0eSkpOwp9Cgo=",
"commentary":"The result of division is determined by the specification of IEEE 754 arithmetics",
"description":"Division of an infinity by an infinity results in NaN",
"path":"TestCases/ch11/11.5/11.5.2/S11.5.2_A4_T4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGRpdmlzaW9uIGlzIGRldGVybWluZWQgYnkgdGhlIHNwZWNpZmljYXRpb24gb2YgSUVFRSA3NTQgYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMi9TMTEuNS4yX0E0X1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBEaXZpc2lvbiBvZiBhbiBpbmZpbml0eSBieSBhIGZpbml0ZSBub24temVybyB2YWx1ZSByZXN1bHRzIGluIGEgc2lnbmVkIGluZmluaXR5CiAqLwoKLy9DSEVDSyMxCmlmIChOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgLyAxICE9PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpIHsKICAkRVJST1IoJyMxOiAtSW5maW5pdHkgLyAxID09PSAtSW5maW5pdHkuIEFjdHVhbDogJyArICgtSW5maW5pdHkgLyAxKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZIC8gLTEgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICRFUlJPUignIzI6IC1JbmZpbml0eSAvIC0xID09PSBJbmZpbml0eS4gQWN0dWFsOiAnICsgKC1JbmZpbml0eSAvIC0xKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZIC8gMSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7CiAgJEVSUk9SKCcjMzogSW5maW5pdHkgLyAxID09PSBJbmZpbml0eS4gQWN0dWFsOiAnICsgKEluZmluaXR5IC8gMSkpOwp9CgovL0NIRUNLIzQKaWYgKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSAvIC0xICE9PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpIHsKICAkRVJST1IoJyM0OiBJbmZpbml0eSAvIC0xID09PSAtSW5maW5pdHkuIEFjdHVhbDogJyArIChJbmZpbml0eSAvIC0xKSk7Cn0KCi8vQ0hFQ0sjNQppZiAoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZIC8gLU51bWJlci5NQVhfVkFMVUUgIT09IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgewogICRFUlJPUignIzU6IEluZmluaXR5IC8gLU51bWJlci5NQVhfVkFMVUUgPT09IC1JbmZpbml0eS4gQWN0dWFsOiAnICsgKEluZmluaXR5IC8gLU51bWJlci5NQVhfVkFMVUUpKTsKfQoKLy9DSEVDSyM2CmlmIChOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgLyBOdW1iZXIuTUlOX1ZBTFVFICE9PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpIHsKICAkRVJST1IoJyM2OiAtSW5maW5pdHkgLyBOdW1iZXIuTUlOX1ZBTFVFID09PSAtSW5maW5pdHkuIEFjdHVhbDogJyArICgtSW5maW5pdHkgLyBOdW1iZXIuTUlOX1ZBTFVFKSk7Cn0KCg==",
"commentary":"The result of division is determined by the specification of IEEE 754 arithmetics",
"description":"Division of an infinity by a finite non-zero value results in a signed infinity",
"path":"TestCases/ch11/11.5/11.5.2/S11.5.2_A4_T5.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGRpdmlzaW9uIGlzIGRldGVybWluZWQgYnkgdGhlIHNwZWNpZmljYXRpb24gb2YgSUVFRSA3NTQgYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMi9TMTEuNS4yX0E0X1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBEaXZpc2lvbiBvZiBhIGZpbml0ZSB2YWx1ZSBieSBhbiBpbmZpbml0eSByZXN1bHRzIGluIHplcm8gb2YgYXBwcm9wcmlhdGUgc2lnbgogKi8KCi8vQ0hFQ0sjMQppZiAoMSAvIE51bWJlci5ORUdBVElWRV9JTkZJTklUWSAhPT0gLTApIHsKICAkRVJST1IoJyMxLjE6IDEgLyAtSW5maW5pdHkgPT09IDAuIEFjdHVhbDogJyArICgxIC8gLUluZmluaXR5KSk7Cn0gZWxzZSB7CiAgaWYgKDEgLyAoMSAvIE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgIT09IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgewogICAgJEVSUk9SKCcjMS4yOiAxIC8gLUluZmluaXR5ID09PSAtIDAuIEFjdHVhbDogKzAnKTsKICB9Cn0KCi8vQ0hFQ0sjMgppZiAoLTEgLyBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgIT09ICswKSB7CiAgJEVSUk9SKCcjMi4xOiAtMSAvIC1JbmZpbml0eSA9PT0gMC4gQWN0dWFsOiAnICsgKC0xIC8gLUluZmluaXR5KSk7Cn0gZWxzZSB7CiAgaWYgKDEgLyAoLTEgLyBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHsKICAgICRFUlJPUignIzIuMjogLTEgLyAtSW5maW5pdHkgPT09ICsgMC4gQWN0dWFsOiAtMCcpOwogIH0KfQoKLy9DSEVDSyMzCmlmICgxIC8gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZICE9PSArMCkgewogICRFUlJPUignIzMuMTogMSAvIEluZmluaXR5ID09PSAwLiBBY3R1YWw6ICcgKyAoMSAvIEluZmluaXR5KSk7Cn0gZWxzZSB7CiAgaWYgKDEgLyAoMSAvIE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICAgJEVSUk9SKCcjMy4yOiAxIC8gSW5maW5pdHkgPT09ICsgMC4gQWN0dWFsOiAtMCcpOwogIH0KfQoKLy9DSEVDSyM0CmlmICgtMSAvIE51bWJlci5QT1NJVElWRV9JTkZJTklUWSAhPT0gLTApIHsKICAkRVJST1IoJyM0LjE6IC0xIC8gSW5maW5pdHkgPT09IDAuIEFjdHVhbDogJyArICgtMSAvIEluZmluaXR5KSk7Cn0gZWxzZSB7CiAgaWYgKDEgLyAoLTEgLyBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpICE9PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpIHsKICAgICRFUlJPUignIzQuMjogLTEgLyBJbmZpbml0eSA9PT0gLSAwLiBBY3R1YWw6ICswJyk7CiAgfQp9Cgo=",
"commentary":"The result of division is determined by the specification of IEEE 754 arithmetics",
"description":"Division of a finite value by an infinity results in zero of appropriate sign",
"path":"TestCases/ch11/11.5/11.5.2/S11.5.2_A4_T6.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGRpdmlzaW9uIGlzIGRldGVybWluZWQgYnkgdGhlIHNwZWNpZmljYXRpb24gb2YgSUVFRSA3NTQgYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMi9TMTEuNS4yX0E0X1Q3LmpzCiAqIEBkZXNjcmlwdGlvbiBEaXZpc2lvbiBvZiBhIHplcm8gYnkgYSB6ZXJvIHJlc3VsdHMgaW4gTmFOCiAqLwoKLy9DSEVDSyMxCmlmIChpc05hTigrMCAvICswKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6ICswIC8gKzAgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKCswIC8gKzApKTsKfSAgCgovL0NIRUNLIzIKaWYgKGlzTmFOKC0wIC8gKzApICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogLTAgLyArMCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoLTAgLyArMCkpOyAKfSAKCi8vQ0hFQ0sjMwppZiAoaXNOYU4oKzAgLyAtMCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiArMCAvIC0wID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICgrMCAvIC0wKSk7IAp9IAoKLy9DSEVDSyM0CmlmIChpc05hTigtMCAvIC0wKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6IC0wIC8gLTAgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKC0wIC8gLTApKTsKfSAKCg==",
"commentary":"The result of division is determined by the specification of IEEE 754 arithmetics",
"description":"Division of a zero by a zero results in NaN",
"path":"TestCases/ch11/11.5/11.5.2/S11.5.2_A4_T7.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGRpdmlzaW9uIGlzIGRldGVybWluZWQgYnkgdGhlIHNwZWNpZmljYXRpb24gb2YgSUVFRSA3NTQgYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMi9TMTEuNS4yX0E0X1Q4LmpzCiAqIEBkZXNjcmlwdGlvbiBEaXZpc2lvbiBvZiBhIHplcm8gYnkgYW55IG5vbi16ZXJvIGZpbml0ZSB2YWx1ZSAtMCByZXN1bHRzIGluIHplcm8gb2YgYXBwcm9wcmlhdGUgc2lnbgogKi8KCi8vQ0hFQ0sjMQppZiAoLTAgLyAxICE9PSAtMCkgewogICRFUlJPUignIzEuMTogLTAgLyAxID09PSAwLiBBY3R1YWw6ICcgKyAoLTAgLyAxKSk7Cn0gZWxzZSB7CiAgaWYgKDEgLyAoLTAgLyAxKSAhPT0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSB7CiAgICAkRVJST1IoJyMxLjI6IC0wIC8gMSA9PT0gLSAwLiBBY3R1YWw6ICswJyk7CiAgfQp9CgovL0NIRUNLIzIKaWYgKC0wIC8gLTEgIT09ICswKSB7CiAgJEVSUk9SKCcjMi4xOiAtMCAvIC0xID09PSAwLiBBY3R1YWw6ICcgKyAoLTAgLyAtMSkpOwp9IGVsc2UgewogIGlmICgxIC8gKC0wIC8gLTEpICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHsKICAgICRFUlJPUignIzIuMjogLTAgLyAtMSA9PT0gKyAwLiBBY3R1YWw6IC0wJyk7CiAgfQp9CgovL0NIRUNLIzMKaWYgKCswIC8gMSAhPT0gKzApIHsKICAkRVJST1IoJyMzLjE6ICswIC8gMSA9PT0gMC4gQWN0dWFsOiAnICsgKCswIC8gMSkpOwp9IGVsc2UgewogIGlmICgxIC8gKCswIC8gLTEpICE9PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpIHsKICAgICRFUlJPUignIzMuMjogKzAgLyAtMSA9PT0gKyAwLiBBY3R1YWw6IC0wJyk7CiAgfQp9CgovL0NIRUNLIzQKaWYgKCswIC8gLTEgIT09IC0wKSB7CiAgJEVSUk9SKCcjNC4xOiArMCAvIC0xID09PSAwLiBBY3R1YWw6ICcgKyAoKzAgLyAtMSkpOwp9IGVsc2UgewogIGlmICgxIC8gKCswIC8gLTEpICE9PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpIHsKICAgICRFUlJPUignIzQuMjogKzAgLyAtMSA9PT0gLSAwLiBBY3R1YWw6ICswJyk7CiAgfQp9CgovL0NIRUNLIzUKaWYgKCswIC8gLU51bWJlci5NQVhfVkFMVUUgIT09IC0wKSB7CiAgJEVSUk9SKCcjNS4xOiAwIC8gLU51bWJlci5NQVhfVkFMVUUgPT09IDAuIEFjdHVhbDogJyArICgwIC8gLU51bWJlci5NQVhfVkFMVUUpKTsKfSBlbHNlIHsKICBpZiAoMSAvICgrMCAvIC1OdW1iZXIuTUFYX1ZBTFVFKSAhPT0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSB7CiAgICAkRVJST1IoJyM1LjI6ICswIC8gLU51bWJlci5NQVhfVkFMVUUgPT09IC0gMC4gQWN0dWFsOiArMCcpOwogIH0KfQoKLy9DSEVDSyM2CmlmICgtMCAvIE51bWJlci5NSU5fVkFMVUUgIT09IC0wKSB7CiAgJEVSUk9SKCcjNi4xOiAtMCAvIE51bWJlci5NSU5fVkFMVUUgPT09IDAuIEFjdHVhbDogJyArICgtMCAvIE51bWJlci5NSU5fVkFMVUUpKTsKfSBlbHNlIHsKICBpZiAoMSAvICgtMCAvIE51bWJlci5NSU5fVkFMVUUpICE9PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpIHsKICAgICRFUlJPUignIzYuMjogLTAgLyBOdW1iZXIuTUlOX1ZBTFVFID09PSAtIDAuIEFjdHVhbDogKzAnKTsKICB9Cn0KCg==",
"commentary":"The result of division is determined by the specification of IEEE 754 arithmetics",
"description":"Division of a zero by any non-zero finite value -0 results in zero of appropriate sign",
"path":"TestCases/ch11/11.5/11.5.2/S11.5.2_A4_T8.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGRpdmlzaW9uIGlzIGRldGVybWluZWQgYnkgdGhlIHNwZWNpZmljYXRpb24gb2YgSUVFRSA3NTQgYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMi9TMTEuNS4yX0E0X1Q5LmpzCiAqIEBkZXNjcmlwdGlvbiBJZiB0aGUgbWFnbml0dWRlIGlzIHRvbyBsYXJnZSB0byByZXByZXNlbnQsIHRoZSByZXN1bHQgaXMgdGhlbiBhbiBpbmZpbml0eSBvZiBhcHByb3ByaWF0ZSBzaWduCiAqLwoKLy9DSEVDSyMxCmlmIChOdW1iZXIuTUFYX1ZBTFVFIC8gMC45ICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHsKICAkRVJST1IoJyMxOiBOdW1iZXIuTUFYX1ZBTFVFIC8gMC45ID09PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkuIEFjdHVhbDogJyArIChOdW1iZXIuTUFYX1ZBTFVFIC8gMC45KSk7Cn0KCi8vQ0hFQ0sjMgppZiAoTnVtYmVyLk1BWF9WQUxVRSAvIC0wLjkgIT09IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgewogICRFUlJPUignIzI6IE51bWJlci5NQVhfVkFMVUUgLyAtMC45ID09PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkuIEFjdHVhbDogJyArIChOdW1iZXIuTUFYX1ZBTFVFIC8gLTAuOSkpOwp9IAoKLy9DSEVDSyMzCmlmIChOdW1iZXIuTUFYX1ZBTFVFIC8gMSAhPT0gTnVtYmVyLk1BWF9WQUxVRSkgewogICRFUlJPUignIzM6IE51bWJlci5NQVhfVkFMVUUgLyAxID09PSBOdW1iZXIuTUFYX1ZBTFVFLiBBY3R1YWw6ICcgKyAoTnVtYmVyLk1BWF9WQUxVRSAvIDEpKTsKfQoKLy9DSEVDSyM0CmlmIChOdW1iZXIuTUFYX1ZBTFVFIC8gLTEgIT09IC1OdW1iZXIuTUFYX1ZBTFVFKSB7CiAgJEVSUk9SKCcjNDogTnVtYmVyLk1BWF9WQUxVRSAvIC0xID09PSAtTnVtYmVyLk1BWF9WQUxVRS4gQWN0dWFsOiAnICsgKE51bWJlci5NQVhfVkFMVUUgLyAtMSkpOwp9IAoKLy9DSEVDSyM1CmlmIChOdW1iZXIuTUFYX1ZBTFVFIC8gKE51bWJlci5NQVhfVkFMVUUgLyAwLjkpID09PSAoTnVtYmVyLk1BWF9WQUxVRSAvIE51bWJlci5NQVhfVkFMVUUpIC8gMC45KSB7CiAgJEVSUk9SKCcjNTogTnVtYmVyLk1BWF9WQUxVRSAvIChOdW1iZXIuTUFYX1ZBTFVFIC8gMC45KSAhPT0gKE51bWJlci5NQVhfVkFMVUUgLyBOdW1iZXIuTUFYX1ZBTFVFKSAvIDAuOScpOwp9Cgo=",
"commentary":"The result of division is determined by the specification of IEEE 754 arithmetics",
"description":"If the magnitude is too large to represent, the result is then an infinity of appropriate sign",
"path":"TestCases/ch11/11.5/11.5.2/S11.5.2_A4_T9.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gTXVsdGlwbGljYXRpdmVFeHByZXNzaW9uIGFuZCAiJSIgb3IgYmV0d2VlbiAiJSIgYW5kIFVuYXJ5RXhwcmVzc2lvbiBhcmUgYWxsb3dlZAogKgogKiBAcGF0aCBjaDExLzExLjUvMTEuNS4zL1MxMS41LjNfQTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGJ5IHVzaW5nIGV2YWwKICovCgovL0NIRUNLIzEKaWYgKGV2YWwoIjFcdTAwMDklXHUwMDA5MSIpICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogMVxcdTAwMDklXFx1MDAwOTEgPT09IDAnKTsKfQoKLy9DSEVDSyMyCmlmIChldmFsKCIxXHUwMDBCJVx1MDAwQjEiKSAhPT0gMCkgewogICRFUlJPUignIzI6IDFcXHUwMDBCJVxcdTAwMEIxID09PSAwJyk7ICAKfQoKLy9DSEVDSyMzCmlmIChldmFsKCIxXHUwMDBDJVx1MDAwQzEiKSAhPT0gMCkgewogICRFUlJPUignIzM6IDFcXHUwMDBDJVxcdTAwMEMxID09PSAwJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoZXZhbCgiMVx1MDAyMCVcdTAwMjAxIikgIT09IDApIHsKICAkRVJST1IoJyM0OiAxXFx1MDAyMCVcXHUwMDIwMSA9PT0gMCcpOwp9CgovL0NIRUNLIzUKaWYgKGV2YWwoIjFcdTAwQTAlXHUwMEEwMSIpICE9PSAwKSB7CiAgJEVSUk9SKCcjNTogMVxcdTAwQTAlXFx1MDBBMDEgPT09IDAnKTsKfQoKLy9DSEVDSyM2CmlmIChldmFsKCIxXHUwMDBBJVx1MDAwQTEiKSAhPT0gMCkgewogICRFUlJPUignIzY6IDFcXHUwMDBBJVxcdTAwMEExID09PSAwJyk7ICAKfQoKLy9DSEVDSyM3CmlmIChldmFsKCIxXHUwMDBEJVx1MDAwRDEiKSAhPT0gMCkgewogICRFUlJPUignIzc6IDFcXHUwMDBEJVxcdTAwMEQxID09PSAwJyk7Cn0KCi8vQ0hFQ0sjOAppZiAoZXZhbCgiMVx1MjAyOCVcdTIwMjgxIikgIT09IDApIHsKICAkRVJST1IoJyM4OiAxXFx1MjAyOCVcXHUyMDI4MSA9PT0gMCcpOwp9CgovL0NIRUNLIzkKaWYgKGV2YWwoIjFcdTIwMjklXHUyMDI5MSIpICE9PSAwKSB7CiAgJEVSUk9SKCcjOTogMVxcdTIwMjklXFx1MjAyOTEgPT09IDAnKTsKfQoKLy9DSEVDSyMxMAppZiAoZXZhbCgiMVx1MDAwOVx1MDAwQlx1MDAwQ1x1MDAyMFx1MDBBMFx1MDAwQVx1MDAwRFx1MjAyOFx1MjAyOSVcdTAwMDlcdTAwMEJcdTAwMENcdTAwMjBcdTAwQTBcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjkxIikgIT09IDApIHsKICAkRVJST1IoJyMxMDogMVxcdTAwMDlcXHUwMDBCXFx1MDAwQ1xcdTAwMjBcXHUwMEEwXFx1MDAwQVxcdTAwMERcXHUyMDI4XFx1MjAyOSVcXHUwMDA5XFx1MDAwQlxcdTAwMENcXHUwMDIwXFx1MDBBMFxcdTAwMEFcXHUwMDBEXFx1MjAyOFxcdTIwMjkxID09PSAwJyk7Cn0KCg==",
"commentary":"White Space and Line Terminator between MultiplicativeExpression and \"%\" or between \"%\" and UnaryExpression are allowed",
"description":"Checking by using eval",
"path":"TestCases/ch11/11.5/11.5.3/S11.5.3_A1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICUgeSB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuNS8xMS41LjMvUzExLjUuM19BMi4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBFaXRoZXIgVHlwZSBpcyBub3QgUmVmZXJlbmNlIG9yIEdldEJhc2UgaXMgbm90IG51bGwKICovCgovL0NIRUNLIzEKaWYgKDEgJSAyICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogMSAlIDIgPT09IDEuIEFjdHVhbDogJyArICgxICUgMikpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAxOwppZiAoeCAlIDIgIT09IDEpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IDE7IHggJSAyID09PSAxLiBBY3R1YWw6ICcgKyAoeCAlIDIpKTsKfQoKLy9DSEVDSyMzCnZhciB5ID0gMjsKaWYgKDEgJSB5ICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogdmFyIHkgPSAyOyAxICUgeSA9PT0gMS4gQWN0dWFsOiAnICsgKDEgJSB5KSk7Cn0KCi8vQ0hFQ0sjNAp2YXIgeCA9IDE7CnZhciB5ID0gMjsKaWYgKHggJSB5ICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSAxOyB2YXIgeSA9IDI7IHggJSB5ID09PSAxLiBBY3R1YWw6ICcgKyAoeCAlIHkpKTsKfQoKLy9DSEVDSyM1CnZhciBvYmplY3R4ID0gbmV3IE9iamVjdCgpOwp2YXIgb2JqZWN0eSA9IG5ldyBPYmplY3QoKTsKb2JqZWN0eC5wcm9wID0gMTsKb2JqZWN0eS5wcm9wID0gMjsKaWYgKG9iamVjdHgucHJvcCAlIG9iamVjdHkucHJvcCAhPT0gMSkgewogICRFUlJPUignIzU6IHZhciBvYmplY3R4ID0gbmV3IE9iamVjdCgpOyB2YXIgb2JqZWN0eSA9IG5ldyBPYmplY3QoKTsgb2JqZWN0eC5wcm9wID0gMTsgb2JqZWN0eS5wcm9wID0gMjsgb2JqZWN0eC5wcm9wICUgb2JqZWN0eS5wcm9wID09PSAxLiBBY3R1YWw6ICcgKyAob2JqZWN0eC5wcm9wICUgb2JqZWN0eS5wcm9wKSk7Cn0KCg==",
"commentary":"Operator x % y uses GetValue",
"description":"Either Type is not Reference or GetBase is not null",
"path":"TestCases/ch11/11.5/11.5.3/S11.5.3_A2.1_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICUgeSB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuNS8xMS41LjMvUzExLjUuM19BMi4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBHZXRCYXNlKHgpIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgeCAlIDE7CiAgJEVSUk9SKCcjMS4xOiB4ICUgMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHggJSAxKSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiB4ICUgMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoKCg==",
"commentary":"Operator x % y uses GetValue",
"description":"If GetBase(x) is null, throw ReferenceError",
"path":"TestCases/ch11/11.5/11.5.3/S11.5.3_A2.1_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICUgeSB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuNS8xMS41LjMvUzExLjUuM19BMi4xX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBHZXRCYXNlKHkpIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgMSAlIHk7CiAgJEVSUk9SKCcjMS4xOiAxICUgeSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKDEgJSB5KSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiAxICUgeSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoK",
"commentary":"Operator x % y uses GetValue",
"description":"If GetBase(y) is null, throw ReferenceError",
"path":"TestCases/ch11/11.5/11.5.3/S11.5.3_A2.1_T3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICUgeSB1c2VzIFtbRGVmYXVsdCBWYWx1ZV1dCiAqCiAqIEBwYXRoIGNoMTEvMTEuNS8xMS41LjMvUzExLjUuM19BMi4yX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBUeXBlKHZhbHVlKSBpcyBPYmplY3QsIGV2YWx1YXRlIFRvUHJpbWl0aXZlKHZhbHVlLCBOdW1iZXIpCiAqLwoKLy9DSEVDSyMxCmlmICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSAlIDIgIT09IDEpIHsKICAkRVJST1IoJyMxOiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSAlIDIgPT09IDEuIEFjdHVhbDogJyArICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSAlIDIpKTsKfQoKLy9DSEVDSyMyCmlmICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSAlIDIgIT09IDEpIHsKICAkRVJST1IoJyMyOiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSAlIDIgPT09IDEuIEFjdHVhbDogJyArICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSAlIDIpKTsKfQoKLy9DSEVDSyMzCmlmICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0gJSAyICE9PSAxKSB7CiAgJEVSUk9SKCcjMzoge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19ICUgMiA9PT0gMS4gQWN0dWFsOiAnICsgKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSAlIDIpKTsKfQoKLy9DSEVDSyM0CnRyeSB7CiAgaWYgKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gJSAyICE9PSAxKSB7CiAgICAkRVJST1IoJyM0LjE6IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gJSAyID09PSAxLiBBY3R1YWw6ICcgKyAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fSAlIDIpKTsKICB9Cn0KY2F0Y2ggKGUpIHsKICBpZiAoZSA9PT0gImVycm9yIikgewogICAgJEVSUk9SKCcjNC4yOiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19ICUgMiBub3QgdGhyb3cgImVycm9yIicpOwogIH0gZWxzZSB7CiAgICAkRVJST1IoJyM0LjM6IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gJSAyIG5vdCB0aHJvdyBFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCi8vQ0hFQ0sjNQppZiAoMSAlIHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDJ9fSAhPT0gMSkgewogICRFUlJPUignIzU6IDEgJSB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAyfX0gPT09IDEuIEFjdHVhbDogJyArICgxICUge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMn19KSk7Cn0KCi8vQ0hFQ0sjNgppZiAoMSAlIHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDJ9fSAhPT0gMSkgewogICRFUlJPUignIzY6IDEgJSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAyfX0gPT09IDEuIEFjdHVhbDogJyArICgxICUge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMn19KSk7Cn0KCi8vQ0hFQ0sjNwp0cnkgewogIDEgJSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMn19OwogICRFUlJPUignIzcuMTogMSAlIHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAyfX0gdGhyb3cgImVycm9yIi4gQWN0dWFsOiAnICsgKDEgJSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMn19KSk7Cn0gIApjYXRjaCAoZSkgewogIGlmIChlICE9PSAiZXJyb3IiKSB7CiAgICAkRVJST1IoJyM3LjI6IDEgJSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMn19IHRocm93ICJlcnJvciIuIEFjdHVhbDogJyArIChlKSk7CiAgfSAKfQoKLy9DSEVDSyM4CnRyeSB7CiAgMSAlIHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07CiAgJEVSUk9SKCcjOC4xOiAxICUge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArICgxICUge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSkpOwp9ICAKY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyM4LjI6IDEgJSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19IHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9IAp9Cgo=",
"commentary":"Operator x % y uses [[Default Value]]",
"description":"If Type(value) is Object, evaluate ToPrimitive(value, Number)",
"path":"TestCases/ch11/11.5/11.5.3/S11.5.3_A2.2_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUb051bWJlcihmaXJzdCBleHByZXNzaW9uKSBpcyBjYWxsZWQgZmlyc3QsIGFuZCB0aGVuIFRvTnVtYmVyKHNlY29uZCBleHByZXNzaW9uKQogKgogKiBAcGF0aCBjaDExLzExLjUvMTEuNS4zL1MxMS41LjNfQTIuM19UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgd2l0aCAidGhyb3ciCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0geyB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfSB9Owp2YXIgeSA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieSI7IH0gfTsKdHJ5IHsKICAgeCAlIHk7CiAgICRFUlJPUignIzEuMTogdmFyIHggPSB7IHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9IH07IHZhciB5ID0geyB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfSB9OyB4ICUgeSB0aHJvdyAieCIuIEFjdHVhbDogJyArICh4ICUgeSkpOwp9IGNhdGNoIChlKSB7CiAgIGlmIChlID09PSAieSIpIHsKICAgICAkRVJST1IoJyMxLjI6IFRvTnVtYmVyKGZpcnN0IGV4cHJlc3Npb24pIGlzIGNhbGxlZCBmaXJzdCwgYW5kIHRoZW4gVG9OdW1iZXIoc2Vjb25kIGV4cHJlc3Npb24pJyk7CiAgIH0gZWxzZSB7CiAgICAgaWYgKGUgIT09ICJ4IikgewogICAgICAgJEVSUk9SKCcjMS4zOiB2YXIgeCA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieCI7IH0gfTsgdmFyIHkgPSB7IHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9IH07IHggJSB5IHRocm93ICJ4Ii4gQWN0dWFsOiAnICsgKGUpKTsKICAgICB9CiAgIH0KfQoK",
"commentary":"ToNumber(first expression) is called first, and then ToNumber(second expression)",
"description":"Checking with \"throw\"",
"path":"TestCases/ch11/11.5/11.5.3/S11.5.3_A2.3_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMy9TMTEuNS4zX0EyLjRfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggIj0iCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gMDsgCmlmICgoeCA9IDEpICUgeCAhPT0gMCkgewogICRFUlJPUignIzE6IHZhciB4ID0gMDsgKHggPSAxKSAlIHggPT09IDAuIEFjdHVhbDogJyArICgoeCA9IDEpICUgeCkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAxOyAKaWYgKHggJSAoeCA9IDIpICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSAxOyB4ICUgKHggPSAyKSA9PT0gMS4gQWN0dWFsOiAnICsgKHggJSAoeCA9IDIpKSk7Cn0KCgo=",
"commentary":"First expression is evaluated first, and then second expression",
"description":"Checking with \"=\"",
"path":"TestCases/ch11/11.5/11.5.3/S11.5.3_A2.4_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMy9TMTEuNS4zX0EyLjRfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggInRocm93IgogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9Owp2YXIgeSA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9Owp0cnkgewogICB4KCkgJSB5KCk7CiAgICRFUlJPUignIzEuMTogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpICUgeSgpIHRocm93ICJ4Ii4gQWN0dWFsOiAnICsgKHgoKSAlIHkoKSkpOwp9IGNhdGNoIChlKSB7CiAgIGlmIChlID09PSAieSIpIHsKICAgICAkRVJST1IoJyMxLjI6IEZpcnN0IGV4cHJlc3Npb24gaXMgZXZhbHVhdGVkIGZpcnN0LCBhbmQgdGhlbiBzZWNvbmQgZXhwcmVzc2lvbicpOwogICB9IGVsc2UgewogICAgIGlmIChlICE9PSAieCIpIHsKICAgICAgICRFUlJPUignIzEuMzogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpICUgeSgpIHRocm93ICJ4Ii4gQWN0dWFsOiAnICsgKGUpKTsKICAgICB9CiAgIH0KfQoK",
"commentary":"First expression is evaluated first, and then second expression",
"description":"Checking with \"throw\"",
"path":"TestCases/ch11/11.5/11.5.3/S11.5.3_A2.4_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMy9TMTEuNS4zX0EyLjRfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggdW5kZWNsYXJhdGVkIHZhcmlhYmxlcwogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHggJSAoeCA9IDEpOwogICRFUlJPUignIzEuMTogeCAlICh4ID0gMSkgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArICh4ICUgKHggPSAxKSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogeCAlICh4ID0gMSkgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7ICAKICB9Cn0KCi8vQ0hFQ0sjMgppZiAoKHkgPSAxKSAlIHkgIT09IDApIHsKICAkRVJST1IoJyMyOiAoeSA9IDEpICUgeSA9PT0gMC4gQWN0dWFsOiAnICsgKCh5ID0gMSkgJSB5KSk7Cn0KCgo=",
"commentary":"First expression is evaluated first, and then second expression",
"description":"Checking with undeclarated variables",
"path":"TestCases/ch11/11.5/11.5.3/S11.5.3_A2.4_T3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICUgeSByZXR1cm5zIFRvTnVtYmVyKHgpICUgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMy9TMTEuNS4zX0EzX1QxLjEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBib29sZWFuIGFuZCBCb29sZWFuIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAodHJ1ZSAlIHRydWUgIT09IDApIHsKICAkRVJST1IoJyMxOiB0cnVlICUgdHJ1ZSA9PT0gMC4gQWN0dWFsOiAnICsgKHRydWUgJSB0cnVlKSk7Cn0KCi8vQ0hFQ0sjMgppZiAobmV3IEJvb2xlYW4odHJ1ZSkgJSB0cnVlICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogbmV3IEJvb2xlYW4odHJ1ZSkgJSB0cnVlID09PSAwLiBBY3R1YWw6ICcgKyAobmV3IEJvb2xlYW4odHJ1ZSkgJSB0cnVlKSk7Cn0KCi8vQ0hFQ0sjMwppZiAodHJ1ZSAlIG5ldyBCb29sZWFuKHRydWUpICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogdHJ1ZSAlIG5ldyBCb29sZWFuKHRydWUpID09PSAwLiBBY3R1YWw6ICcgKyAodHJ1ZSAlIG5ldyBCb29sZWFuKHRydWUpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAobmV3IEJvb2xlYW4odHJ1ZSkgJSBuZXcgQm9vbGVhbih0cnVlKSAhPT0gMCkgewogICRFUlJPUignIzQ6IG5ldyBCb29sZWFuKHRydWUpICUgbmV3IEJvb2xlYW4odHJ1ZSkgPT09IDAuIEFjdHVhbDogJyArIChuZXcgQm9vbGVhbih0cnVlKSAlIG5ldyBCb29sZWFuKHRydWUpKSk7Cn0KCg==",
"commentary":"Operator x % y returns ToNumber(x) % ToNumber(y)",
"description":"Type(x) and Type(y) vary between primitive boolean and Boolean object",
"path":"TestCases/ch11/11.5/11.5.3/S11.5.3_A3_T1.1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICUgeSByZXR1cm5zIFRvTnVtYmVyKHgpICUgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMy9TMTEuNS4zX0EzX1QxLjIuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBudW1iZXIgYW5kIE51bWJlciBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKDEgJSAxICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogMSAlIDEgPT09IDAuIEFjdHVhbDogJyArICgxICUgMSkpOwp9CgovL0NIRUNLIzIKaWYgKG5ldyBOdW1iZXIoMSkgJSAxICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogbmV3IE51bWJlcigxKSAlIDEgPT09IDAuIEFjdHVhbDogJyArIChuZXcgTnVtYmVyKDEpICUgMSkpOwp9CgovL0NIRUNLIzMKaWYgKDEgJSBuZXcgTnVtYmVyKDEpICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogMSAlIG5ldyBOdW1iZXIoMSkgPT09IDAuIEFjdHVhbDogJyArICgxICUgbmV3IE51bWJlcigxKSkpOwp9CgovL0NIRUNLIzQKaWYgKG5ldyBOdW1iZXIoMSkgJSBuZXcgTnVtYmVyKDEpICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogbmV3IE51bWJlcigxKSAlIG5ldyBOdW1iZXIoMSkgPT09IDAuIEFjdHVhbDogJyArIChuZXcgTnVtYmVyKDEpICUgbmV3IE51bWJlcigxKSkpOwp9CgoK",
"commentary":"Operator x % y returns ToNumber(x) % ToNumber(y)",
"description":"Type(x) and Type(y) vary between primitive number and Number object",
"path":"TestCases/ch11/11.5/11.5.3/S11.5.3_A3_T1.2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICUgeSByZXR1cm5zIFRvTnVtYmVyKHgpICUgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMy9TMTEuNS4zX0EzX1QxLjMuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBzdHJpbmcgYW5kIFN0cmluZyBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKCIxIiAlICIxIiAhPT0gMCkgewogICRFUlJPUignIzE6ICIxIiAlICIxIiA9PT0gMC4gQWN0dWFsOiAnICsgKCIxIiAlICIxIikpOwp9CgovL0NIRUNLIzIKaWYgKG5ldyBTdHJpbmcoIjEiKSAlICIxIiAhPT0gMCkgewogICRFUlJPUignIzI6IG5ldyBTdHJpbmcoIjEiKSAlICIxIiA9PT0gMC4gQWN0dWFsOiAnICsgKG5ldyBTdHJpbmcoIjEiKSAlICIxIikpOwp9CgovL0NIRUNLIzMKaWYgKCIxIiAlIG5ldyBTdHJpbmcoIjEiKSAhPT0gMCkgewogICRFUlJPUignIzM6ICIxIiAlIG5ldyBTdHJpbmcoIjEiKSA9PT0gMC4gQWN0dWFsOiAnICsgKCIxIiAlIG5ldyBTdHJpbmcoIjEiKSkpOwp9CgovL0NIRUNLIzQKaWYgKG5ldyBTdHJpbmcoIjEiKSAlIG5ldyBTdHJpbmcoIjEiKSAhPT0gMCkgewogICRFUlJPUignIzQ6IG5ldyBTdHJpbmcoIjEiKSAlIG5ldyBTdHJpbmcoIjEiKSA9PT0gMC4gQWN0dWFsOiAnICsgKG5ldyBTdHJpbmcoIjEiKSAlIG5ldyBTdHJpbmcoIjEiKSkpOwp9CgovL0NIRUNLIzUKaWYgKGlzTmFOKCJ4IiAlICIxIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiAieCIgJSAiMSIgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKCJ4IiAlICIxIikpOwp9CgovL0NIRUNLIzYKaWYgKGlzTmFOKCIxIiAlICJ4IikgIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiAiMSIgJSAieCIgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKCIxIiAlICJ4IikpOwp9Cgo=",
"commentary":"Operator x % y returns ToNumber(x) % ToNumber(y)",
"description":"Type(x) and Type(y) vary between primitive string and String object",
"path":"TestCases/ch11/11.5/11.5.3/S11.5.3_A3_T1.3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICUgeSByZXR1cm5zIFRvTnVtYmVyKHgpICUgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMy9TMTEuNS4zX0EzX1QxLjQuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIE51bGwgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQppZiAoaXNOYU4obnVsbCAlIHVuZGVmaW5lZCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiBudWxsICUgdW5kZWZpbmVkID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChudWxsICUgdW5kZWZpbmVkKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoaXNOYU4odW5kZWZpbmVkICUgbnVsbCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB1bmRlZmluZWQgJSBudWxsID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh1bmRlZmluZWQgJSBudWxsKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoaXNOYU4odW5kZWZpbmVkICUgdW5kZWZpbmVkKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IHVuZGVmaW5lZCAlIHVuZGVmaW5lZCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAodW5kZWZpbmVkICUgdW5kZWZpbmVkKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoaXNOYU4obnVsbCAlIG51bGwpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogbnVsbCAlIG51bGwgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKG51bGwgJSBudWxsKSk7Cn0KCg==",
"commentary":"Operator x % y returns ToNumber(x) % ToNumber(y)",
"description":"Type(x) and Type(y) vary between Null and Undefined",
"path":"TestCases/ch11/11.5/11.5.3/S11.5.3_A3_T1.4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICUgeSByZXR1cm5zIFRvTnVtYmVyKHgpICUgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMy9TMTEuNS4zX0EzX1QxLjUuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIE9iamVjdCBvYmplY3QgYW5kIEZ1bmN0aW9uIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAoaXNOYU4oe30gJSBmdW5jdGlvbigpe3JldHVybiAxfSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiB7fSAlIGZ1bmN0aW9uKCl7cmV0dXJuIDF9ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh7fSAlIGZ1bmN0aW9uKCl7cmV0dXJuIDF9KSk7Cn0KCi8vQ0hFQ0sjMgppZiAoaXNOYU4oZnVuY3Rpb24oKXtyZXR1cm4gMX0gJSB7fSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiBmdW5jdGlvbigpe3JldHVybiAxfSAlIHt9ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChmdW5jdGlvbigpe3JldHVybiAxfSAlIHt9KSk7Cn0KCi8vQ0hFQ0sjMwppZiAoaXNOYU4oZnVuY3Rpb24oKXtyZXR1cm4gMX0gJSBmdW5jdGlvbigpe3JldHVybiAxfSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiBmdW5jdGlvbigpe3JldHVybiAxfSAlIGZ1bmN0aW9uKCl7cmV0dXJuIDF9ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChmdW5jdGlvbigpe3JldHVybiAxfSAlIGZ1bmN0aW9uKCl7cmV0dXJuIDF9KSk7Cn0KCi8vQ0hFQ0sjNAppZiAoaXNOYU4oe30gJSB7fSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiB7fSAlIHt9ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh7fSAlIHt9KSk7Cn0KCg==",
"commentary":"Operator x % y returns ToNumber(x) % ToNumber(y)",
"description":"Type(x) and Type(y) vary between Object object and Function object",
"path":"TestCases/ch11/11.5/11.5.3/S11.5.3_A3_T1.5.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICUgeSByZXR1cm5zIFRvTnVtYmVyKHgpICUgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMy9TMTEuNS4zX0EzX1QyLjEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgQm9vbGVhbiAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCmlmICh0cnVlICUgMSAhPT0gMCkgewogICRFUlJPUignIzE6IHRydWUgJSAxID09PSAwLiBBY3R1YWw6ICcgKyAodHJ1ZSAlIDEpKTsKfQoKLy9DSEVDSyMyCmlmICgxICUgdHJ1ZSAhPT0gMCkgewogICRFUlJPUignIzI6IDEgJSB0cnVlID09PSAwLiBBY3R1YWw6ICcgKyAoMSAlIHRydWUpKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgQm9vbGVhbih0cnVlKSAlIDEgIT09IDApIHsKICAkRVJST1IoJyMzOiBuZXcgQm9vbGVhbih0cnVlKSAlIDEgPT09IDAuIEFjdHVhbDogJyArIChuZXcgQm9vbGVhbih0cnVlKSAlIDEpKTsKfQoKLy9DSEVDSyM0CmlmICgxICUgbmV3IEJvb2xlYW4odHJ1ZSkgIT09IDApIHsKICAkRVJST1IoJyM0OiAxICUgbmV3IEJvb2xlYW4odHJ1ZSkgPT09IDAuIEFjdHVhbDogJyArICgxICUgbmV3IEJvb2xlYW4odHJ1ZSkpKTsKfQoKLy9DSEVDSyM1CmlmICh0cnVlICUgbmV3IE51bWJlcigxKSAhPT0gMCkgewogICRFUlJPUignIzU6IHRydWUgJSBuZXcgTnVtYmVyKDEpID09PSAwLiBBY3R1YWw6ICcgKyAodHJ1ZSAlIG5ldyBOdW1iZXIoMSkpKTsKfQoKLy9DSEVDSyM2CmlmIChuZXcgTnVtYmVyKDEpICUgdHJ1ZSAhPT0gMCkgewogICRFUlJPUignIzY6IG5ldyBOdW1iZXIoMSkgJSB0cnVlID09PSAwLiBBY3R1YWw6ICcgKyAobmV3IE51bWJlcigxKSAlIHRydWUpKTsKfQoKLy9DSEVDSyM3CmlmIChuZXcgQm9vbGVhbih0cnVlKSAlIG5ldyBOdW1iZXIoMSkgIT09IDApIHsKICAkRVJST1IoJyM3OiBuZXcgQm9vbGVhbih0cnVlKSAlIG5ldyBOdW1iZXIoMSkgPT09IDAuIEFjdHVhbDogJyArIChuZXcgQm9vbGVhbih0cnVlKSAlIG5ldyBOdW1iZXIoMSkpKTsKfQoKLy9DSEVDSyM4CmlmIChuZXcgTnVtYmVyKDEpICUgbmV3IEJvb2xlYW4odHJ1ZSkgIT09IDApIHsKICAkRVJST1IoJyM4OiBuZXcgTnVtYmVyKDEpICUgbmV3IEJvb2xlYW4odHJ1ZSkgPT09IDAuIEFjdHVhbDogJyArIChuZXcgTnVtYmVyKDEpICUgbmV3IEJvb2xlYW4odHJ1ZSkpKTsKfQoK",
"commentary":"Operator x % y returns ToNumber(x) % ToNumber(y)",
"description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Boolean (primitive and object)",
"path":"TestCases/ch11/11.5/11.5.3/S11.5.3_A3_T2.1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICUgeSByZXR1cm5zIFRvTnVtYmVyKHgpICUgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMy9TMTEuNS4zX0EzX1QyLjIuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgU3RyaW5nIChwcmltaXRpdmUgYW5kIG9iamVjdCkKICovCgovL0NIRUNLIzEKaWYgKCIxIiAlIDEgIT09IDApIHsKICAkRVJST1IoJyMxOiAiMSIgJSAxID09PSAwLiBBY3R1YWw6ICcgKyAoIjEiICUgMSkpOwp9CgovL0NIRUNLIzIKaWYgKDEgJSAiMSIgIT09IDApIHsKICAkRVJST1IoJyMyOiAxICUgIjEiID09PSAwLiBBY3R1YWw6ICcgKyAoMSAlICIxIikpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBTdHJpbmcoIjEiKSAlIDEgIT09IDApIHsKICAkRVJST1IoJyMzOiBuZXcgU3RyaW5nKCIxIikgJSAxID09PSAwLiBBY3R1YWw6ICcgKyAobmV3IFN0cmluZygiMSIpICUgMSkpOwp9CgovL0NIRUNLIzQKaWYgKDEgJSBuZXcgU3RyaW5nKCIxIikgIT09IDApIHsKICAkRVJST1IoJyM0OiAxICUgbmV3IFN0cmluZygiMSIpID09PSAwLiBBY3R1YWw6ICcgKyAoMSAlIG5ldyBTdHJpbmcoIjEiKSkpOwp9CgovL0NIRUNLIzUKaWYgKCIxIiAlIG5ldyBOdW1iZXIoMSkgIT09IDApIHsKICAkRVJST1IoJyM1OiAiMSIgJSBuZXcgTnVtYmVyKDEpID09PSAwLiBBY3R1YWw6ICcgKyAoIjEiICUgbmV3IE51bWJlcigxKSkpOwp9CgovL0NIRUNLIzYKaWYgKG5ldyBOdW1iZXIoMSkgJSAiMSIgIT09IDApIHsKICAkRVJST1IoJyM2OiBuZXcgTnVtYmVyKDEpICUgIjEiID09PSAwLiBBY3R1YWw6ICcgKyAobmV3IE51bWJlcigxKSAlICIxIikpOwp9CgovL0NIRUNLIzcKaWYgKG5ldyBTdHJpbmcoIjEiKSAlIG5ldyBOdW1iZXIoMSkgIT09IDApIHsKICAkRVJST1IoJyM3OiBuZXcgU3RyaW5nKCIxIikgJSBuZXcgTnVtYmVyKDEpID09PSAwLiBBY3R1YWw6ICcgKyAobmV3IFN0cmluZygiMSIpICUgbmV3IE51bWJlcigxKSkpOwp9CgovL0NIRUNLIzgKaWYgKG5ldyBOdW1iZXIoMSkgJSBuZXcgU3RyaW5nKCIxIikgIT09IDApIHsKICAkRVJST1IoJyM4OiBuZXcgTnVtYmVyKDEpICUgbmV3IFN0cmluZygiMSIpID09PSAwLiBBY3R1YWw6ICcgKyAobmV3IE51bWJlcigxKSAlIG5ldyBTdHJpbmcoIjEiKSkpOwp9CgovL0NIRUNLIzkKaWYgKGlzTmFOKCJ4IiAlIDEpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjOTogIngiICUgMSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoIngiICUgMSkpOwp9CgovL0NIRUNLIzEwCmlmIChpc05hTigxICUgIngiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzEwOiAxICUgIngiID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICgxICUgIngiKSk7Cn0KCg==",
"commentary":"Operator x % y returns ToNumber(x) % ToNumber(y)",
"description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object)",
"path":"TestCases/ch11/11.5/11.5.3/S11.5.3_A3_T2.2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICUgeSByZXR1cm5zIFRvTnVtYmVyKHgpICUgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMy9TMTEuNS4zX0EzX1QyLjMuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQppZiAoaXNOYU4oMSAlIG51bGwpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogMSAlIG51bGwgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKDEgJSBudWxsKSk7Cn0KCi8vQ0hFQ0sjMgppZiAobnVsbCAlIDEgIT09IDApIHsKICAkRVJST1IoJyMyOiBudWxsICUgMSA9PT0gMC4gQWN0dWFsOiAnICsgKG51bGwgJSAxKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoaXNOYU4obmV3IE51bWJlcigxKSAlIG51bGwpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogbmV3IE51bWJlcigxKSAlIG51bGwgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKG5ldyBOdW1iZXIoMSkgJSBudWxsKSk7Cn0KCi8vQ0hFQ0sjNAppZiAobnVsbCAlIG5ldyBOdW1iZXIoMSkgIT09IDApIHsKICAkRVJST1IoJyM0OiBudWxsICUgbmV3IE51bWJlcigxKSA9PT0gMC4gQWN0dWFsOiAnICsgKG51bGwgJSBuZXcgTnVtYmVyKDEpKSk7Cn0KCg==",
"commentary":"Operator x % y returns ToNumber(x) % ToNumber(y)",
"description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null",
"path":"TestCases/ch11/11.5/11.5.3/S11.5.3_A3_T2.3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICUgeSByZXR1cm5zIFRvTnVtYmVyKHgpICUgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMy9TMTEuNS4zX0EzX1QyLjQuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCmlmIChpc05hTigxICUgdW5kZWZpbmVkKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IDEgJSB1bmRlZmluZWQgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKDEgJSB1bmRlZmluZWQpKTsKfQoKLy9DSEVDSyMyCmlmIChpc05hTih1bmRlZmluZWQgJSAxKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHVuZGVmaW5lZCAlIDEgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHVuZGVmaW5lZCAlIDEpKTsKfQoKLy9DSEVDSyMzCmlmIChpc05hTihuZXcgTnVtYmVyKDEpICUgdW5kZWZpbmVkKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IG5ldyBOdW1iZXIoMSkgJSB1bmRlZmluZWQgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKG5ldyBOdW1iZXIoMSkgJSB1bmRlZmluZWQpKTsKfQoKLy9DSEVDSyM0CmlmIChpc05hTih1bmRlZmluZWQgJSBuZXcgTnVtYmVyKDEpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6IHVuZGVmaW5lZCAlIG5ldyBOdW1iZXIoMSkgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHVuZGVmaW5lZCAlIG5ldyBOdW1iZXIoMSkpKTsKfQoK",
"commentary":"Operator x % y returns ToNumber(x) % ToNumber(y)",
"description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined",
"path":"TestCases/ch11/11.5/11.5.3/S11.5.3_A3_T2.4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICUgeSByZXR1cm5zIFRvTnVtYmVyKHgpICUgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMy9TMTEuNS4zX0EzX1QyLjUuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgQm9vbGVhbiAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCmlmICh0cnVlICUgIjEiICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogdHJ1ZSAlICIxIiA9PT0gMC4gQWN0dWFsOiAnICsgKHRydWUgJSAiMSIpKTsKfQoKLy9DSEVDSyMyCmlmICgiMSIgJSB0cnVlICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogIjEiICUgdHJ1ZSA9PT0gMC4gQWN0dWFsOiAnICsgKCIxIiAlIHRydWUpKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgQm9vbGVhbih0cnVlKSAlICIxIiAhPT0gMCkgewogICRFUlJPUignIzM6IG5ldyBCb29sZWFuKHRydWUpICUgIjEiID09PSAwLiBBY3R1YWw6ICcgKyAobmV3IEJvb2xlYW4odHJ1ZSkgJSAiMSIpKTsKfQoKLy9DSEVDSyM0CmlmICgiMSIgJSBuZXcgQm9vbGVhbih0cnVlKSAhPT0gMCkgewogICRFUlJPUignIzQ6ICIxIiAlIG5ldyBCb29sZWFuKHRydWUpID09PSAwLiBBY3R1YWw6ICcgKyAoIjEiICUgbmV3IEJvb2xlYW4odHJ1ZSkpKTsKfQoKLy9DSEVDSyM1CmlmICh0cnVlICUgbmV3IFN0cmluZygiMSIpICE9PSAwKSB7CiAgJEVSUk9SKCcjNTogdHJ1ZSAlIG5ldyBTdHJpbmcoIjEiKSA9PT0gMC4gQWN0dWFsOiAnICsgKHRydWUgJSBuZXcgU3RyaW5nKCIxIikpKTsKfQoKLy9DSEVDSyM2CmlmIChuZXcgU3RyaW5nKCIxIikgJSB0cnVlICE9PSAwKSB7CiAgJEVSUk9SKCcjNjogbmV3IFN0cmluZygiMSIpICUgdHJ1ZSA9PT0gMC4gQWN0dWFsOiAnICsgKG5ldyBTdHJpbmcoIjEiKSAlIHRydWUpKTsKfQoKLy9DSEVDSyM3CmlmIChuZXcgQm9vbGVhbih0cnVlKSAlIG5ldyBTdHJpbmcoIjEiKSAhPT0gMCkgewogICRFUlJPUignIzc6IG5ldyBCb29sZWFuKHRydWUpICUgbmV3IFN0cmluZygiMSIpID09PSAwLiBBY3R1YWw6ICcgKyAobmV3IEJvb2xlYW4odHJ1ZSkgJSBuZXcgU3RyaW5nKCIxIikpKTsKfQoKLy9DSEVDSyM4CmlmIChuZXcgU3RyaW5nKCIxIikgJSBuZXcgQm9vbGVhbih0cnVlKSAhPT0gMCkgewogICRFUlJPUignIzg6IG5ldyBTdHJpbmcoIjEiKSAlIG5ldyBCb29sZWFuKHRydWUpID09PSAwLiBBY3R1YWw6ICcgKyAobmV3IFN0cmluZygiMSIpICUgbmV3IEJvb2xlYW4odHJ1ZSkpKTsKfQoK",
"commentary":"Operator x % y returns ToNumber(x) % ToNumber(y)",
"description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Boolean (primitive and object)",
"path":"TestCases/ch11/11.5/11.5.3/S11.5.3_A3_T2.5.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICUgeSByZXR1cm5zIFRvTnVtYmVyKHgpICUgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMy9TMTEuNS4zX0EzX1QyLjYuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCmlmIChpc05hTigiMSIgJSB1bmRlZmluZWQpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogIjEiICUgdW5kZWZpbmVkID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICgiMSIgJSB1bmRlZmluZWQpKTsKfQoKLy9DSEVDSyMyCmlmIChpc05hTih1bmRlZmluZWQgJSAiMSIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogdW5kZWZpbmVkICUgIjEiID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh1bmRlZmluZWQgJSAiMSIpKTsKfQoKLy9DSEVDSyMzCmlmIChpc05hTihuZXcgU3RyaW5nKCIxIikgJSB1bmRlZmluZWQpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogbmV3IFN0cmluZygiMSIpICUgdW5kZWZpbmVkID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChuZXcgU3RyaW5nKCIxIikgJSB1bmRlZmluZWQpKTsKfQoKLy9DSEVDSyM0CmlmIChpc05hTih1bmRlZmluZWQgJSBuZXcgU3RyaW5nKCIxIikpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogdW5kZWZpbmVkICUgbmV3IFN0cmluZygiMSIpID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh1bmRlZmluZWQgJSBuZXcgU3RyaW5nKCIxIikpKTsKfQoK",
"commentary":"Operator x % y returns ToNumber(x) % ToNumber(y)",
"description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Undefined",
"path":"TestCases/ch11/11.5/11.5.3/S11.5.3_A3_T2.6.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICUgeSByZXR1cm5zIFRvTnVtYmVyKHgpICUgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMy9TMTEuNS4zX0EzX1QyLjcuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQppZiAoaXNOYU4oIjEiICUgbnVsbCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiAiMSIgJSBudWxsID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICgiMSIgJSBudWxsKSk7Cn0KCi8vQ0hFQ0sjMgppZiAobnVsbCAlICIxIiAhPT0gMCkgewogICRFUlJPUignIzI6IG51bGwgJSAiMSIgPT09IDAuIEFjdHVhbDogJyArIChudWxsICUgIjEiKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoaXNOYU4obmV3IFN0cmluZygiMSIpICUgbnVsbCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiBuZXcgU3RyaW5nKCIxIikgJSBudWxsID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChuZXcgU3RyaW5nKCIxIikgJSBudWxsKSk7Cn0KCi8vQ0hFQ0sjNAppZiAobnVsbCAlIG5ldyBTdHJpbmcoIjEiKSAhPT0gMCkgewogICRFUlJPUignIzQ6IG51bGwgJSBuZXcgU3RyaW5nKCIxIikgPT09IDAuIEFjdHVhbDogJyArIChudWxsICUgbmV3IFN0cmluZygiMSIpKSk7Cn0KCg==",
"commentary":"Operator x % y returns ToNumber(x) % ToNumber(y)",
"description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null",
"path":"TestCases/ch11/11.5/11.5.3/S11.5.3_A3_T2.7.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICUgeSByZXR1cm5zIFRvTnVtYmVyKHgpICUgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMy9TMTEuNS4zX0EzX1QyLjguanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gQm9vbGVhbiAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQppZiAoaXNOYU4odHJ1ZSAlIHVuZGVmaW5lZCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiB0cnVlICUgdW5kZWZpbmVkID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh0cnVlICUgdW5kZWZpbmVkKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoaXNOYU4odW5kZWZpbmVkICUgdHJ1ZSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB1bmRlZmluZWQgJSB0cnVlID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh1bmRlZmluZWQgJSB0cnVlKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoaXNOYU4obmV3IEJvb2xlYW4odHJ1ZSkgJSB1bmRlZmluZWQpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogbmV3IEJvb2xlYW4odHJ1ZSkgJSB1bmRlZmluZWQgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKG5ldyBCb29sZWFuKHRydWUpICUgdW5kZWZpbmVkKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoaXNOYU4odW5kZWZpbmVkICUgbmV3IEJvb2xlYW4odHJ1ZSkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogdW5kZWZpbmVkICUgbmV3IEJvb2xlYW4odHJ1ZSkgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHVuZGVmaW5lZCAlIG5ldyBCb29sZWFuKHRydWUpKSk7Cn0KCg==",
"commentary":"Operator x % y returns ToNumber(x) % ToNumber(y)",
"description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined",
"path":"TestCases/ch11/11.5/11.5.3/S11.5.3_A3_T2.8.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICUgeSByZXR1cm5zIFRvTnVtYmVyKHgpICUgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMy9TMTEuNS4zX0EzX1QyLjkuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gQm9vbGVhbiAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIE51bGwKICovCgovL0NIRUNLIzEKaWYgKGlzTmFOKHRydWUgJSBudWxsKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IHRydWUgJSBudWxsID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh0cnVlICUgbnVsbCkpOwp9CgovL0NIRUNLIzIKaWYgKG51bGwgJSB0cnVlICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogbnVsbCAlIHRydWUgPT09IDAuIEFjdHVhbDogJyArIChudWxsICUgdHJ1ZSkpOwp9CgovL0NIRUNLIzMKaWYgKGlzTmFOKG5ldyBCb29sZWFuKHRydWUpICUgbnVsbCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiBuZXcgQm9vbGVhbih0cnVlKSAlIG51bGwgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKG5ldyBCb29sZWFuKHRydWUpICUgbnVsbCkpOwp9CgovL0NIRUNLIzQKaWYgKG51bGwgJSBuZXcgQm9vbGVhbih0cnVlKSAhPT0gMCkgewogICRFUlJPUignIzQ6IG51bGwgJSBuZXcgQm9vbGVhbih0cnVlKSA9PT0gMC4gQWN0dWFsOiAnICsgKG51bGwgJSBuZXcgQm9vbGVhbih0cnVlKSkpOwp9Cgo=",
"commentary":"Operator x % y returns ToNumber(x) % ToNumber(y)",
"description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null",
"path":"TestCases/ch11/11.5/11.5.3/S11.5.3_A3_T2.9.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGEgRUNNQVNjcmlwdCBmbG9hdGluZy1wb2ludCByZW1haW5kZXIgb3BlcmF0aW9uIGlzIGRldGVybWluZWQgYnkgdGhlIHJ1bGVzIG9mIElFRUUgYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMy9TMTEuNS4zX0E0X1QxLjEuanMKICogQGRlc2NyaXB0aW9uIElmIGVpdGhlciBvcGVyYW5kIGlzIE5hTiwgdGhlIHJlc3VsdCBpcyBOYU4KICovCgovL0NIRUNLIzEKaWYgKGlzTmFOKE51bWJlci5OYU4gJSBOdW1iZXIuTmFOKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IE5hTiAlIE5hTiA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoTmFOICUgTmFOKSk7Cn0gIAoKLy9DSEVDSyMyCmlmIChpc05hTihOdW1iZXIuTmFOICUgKzApICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogTmFOICUgKzAgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKE5hTiAlICswKSk7IAp9IAoKLy9DSEVDSyMzCmlmIChpc05hTihOdW1iZXIuTmFOICUgLTApICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogTmFOICUgLTAgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKE5hTiAlIC0wKSk7IAp9IAoKLy9DSEVDSyM0CmlmIChpc05hTihOdW1iZXIuTmFOICUgTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6IE5hTiAlIEluZmluaXR5ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChOYU4gJSBJbmZpbml0eSkpOwp9IAoKLy9DSEVDSyM1CmlmIChpc05hTihOdW1iZXIuTmFOICUgTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzU6IE5hTiAlIC1JbmZpbml0eSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoTmFOICUgLUluZmluaXR5KSk7IAp9IAoKLy9DSEVDSyM2CmlmIChpc05hTihOdW1iZXIuTmFOICUgTnVtYmVyLk1BWF9WQUxVRSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiBOYU4gJSBOdW1iZXIuTUFYX1ZBTFVFID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChOYU4gJSBOdW1iZXIuTUFYX1ZBTFVFKSk7Cn0gCgovL0NIRUNLIzcKaWYgKGlzTmFOKE51bWJlci5OYU4gJSBOdW1iZXIuTUlOX1ZBTFVFKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzc6IE5hTiAlIE51bWJlci5NSU5fVkFMVUUgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKE5hTiAlIE51bWJlci5NSU5fVkFMVUUpKTsgCn0KCi8vQ0hFQ0sjOAppZiAoaXNOYU4oTnVtYmVyLk5hTiAlIDEpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjODogTmFOICUgMSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoTmFOICUgMSkpOyAgCn0KCg==",
"commentary":"The result of a ECMAScript floating-point remainder operation is determined by the rules of IEEE arithmetics",
"description":"If either operand is NaN, the result is NaN",
"path":"TestCases/ch11/11.5/11.5.3/S11.5.3_A4_T1.1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGEgRUNNQVNjcmlwdCBmbG9hdGluZy1wb2ludCByZW1haW5kZXIgb3BlcmF0aW9uIGlzIGRldGVybWluZWQgYnkgdGhlIHJ1bGVzIG9mIElFRUUgYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMy9TMTEuNS4zX0E0X1QxLjIuanMKICogQGRlc2NyaXB0aW9uIElmIGVpdGhlciBvcGVyYW5kIGlzIE5hTiwgdGhlIHJlc3VsdCBpcyBOYU4KICovCgovL0NIRUNLIzEKaWYgKGlzTmFOKE51bWJlci5OYU4gJSBOdW1iZXIuTmFOKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IE5hTiAlIE5hTiA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoTmFOICUgTmFOKSk7Cn0gIAoKLy9DSEVDSyMyCmlmIChpc05hTigrMCAlIE51bWJlci5OYU4pICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogKzAgJSBOYU4gPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKCswICUgTmFOKSk7IAp9IAoKLy9DSEVDSyMzCmlmIChpc05hTigtMCAlIE51bWJlci5OYU4pICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogLTAgJSBOYU4gPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKC0wICUgTmFOKSk7IAp9IAoKLy9DSEVDSyM0CmlmIChpc05hTihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgJSBOdW1iZXIuTmFOKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6IEluZmluaXR5ICUgTmFOID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChJbmZpbml0eSAlIE5hTikpOwp9IAoKLy9DSEVDSyM1CmlmIChpc05hTihOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgJSBOdW1iZXIuTmFOKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzU6ICAtSW5maW5pdHkgJSBOYU4gPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKCAtSW5maW5pdHkgJSBOYU4pKTsgCn0gCgovL0NIRUNLIzYKaWYgKGlzTmFOKE51bWJlci5NQVhfVkFMVUUgJSBOdW1iZXIuTmFOKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzY6IE51bWJlci5NQVhfVkFMVUUgJSBOYU4gPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKE51bWJlci5NQVhfVkFMVUUgJSBOYU4pKTsKfSAKCi8vQ0hFQ0sjNwppZiAoaXNOYU4oTnVtYmVyLk1JTl9WQUxVRSAlIE51bWJlci5OYU4pICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNzogTnVtYmVyLk1JTl9WQUxVRSAlIE5hTiA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoTnVtYmVyLk1JTl9WQUxVRSAlIE5hTikpOyAKfQoKLy9DSEVDSyM4CmlmIChpc05hTigxICUgTnVtYmVyLk5hTikgIT09IHRydWUpIHsKICAkRVJST1IoJyM4OiAxICUgTmFOID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICgxICUgTmFOKSk7ICAKfQoK",
"commentary":"The result of a ECMAScript floating-point remainder operation is determined by the rules of IEEE arithmetics",
"description":"If either operand is NaN, the result is NaN",
"path":"TestCases/ch11/11.5/11.5.3/S11.5.3_A4_T1.2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGEgRUNNQVNjcmlwdCBmbG9hdGluZy1wb2ludCByZW1haW5kZXIgb3BlcmF0aW9uIGlzIGRldGVybWluZWQgYnkgdGhlIHJ1bGVzIG9mIElFRUUgYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMy9TMTEuNS4zX0E0X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgc2lnbiBvZiB0aGUgZmluaXRlIG5vbi16ZXJvIHZhbHVlIHJlc3VsdCBlcXVhbHMgdGhlIHNpZ24gb2YgdGhlIGRpdmlkZWQKICovCgovL0NIRUNLIzEKaWYgKDEgJSAxICE9PSAwKSB7CiAgJEVSUk9SKCcjMS4xOiAxICUgMSA9PT0gMC4gQWN0dWFsOiAnICsgKDEgJSAxKSk7Cn0gZWxzZSB7CiAgaWYgKDEgLyAoMSAlIDEpICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHsKICAgICRFUlJPUignIzEuMjogMSAlIDEgPT09ICsgMC4gQWN0dWFsOiAtMCcpOwogIH0KfQoKLy9DSEVDSyMyCmlmICgtMSAlIC0xICE9PSAtMCkgewogICRFUlJPUignIzIuMTogLTEgJSAtMSA9PT0gMC4gQWN0dWFsOiAnICsgKC0xICUgLTEpKTsKfSBlbHNlIHsKICBpZiAoMSAvICgtMSAlIC0xKSAhPT0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSB7CiAgICAkRVJST1IoJyMyLjI6IC0xICUgLTEgPT09IC0gMC4gQWN0dWFsOiArMCcpOwogIH0KfQoKLy9DSEVDSyMzCmlmICgtMSAlIDEgIT09IC0wKSB7CiAgJEVSUk9SKCcjMy4xOiAtMSAlIDEgPT09IDAuIEFjdHVhbDogJyArICgtMSAlIDEpKTsKfSBlbHNlIHsKICBpZiAoMSAvICgtMSAlIDEpICE9PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpIHsKICAgICRFUlJPUignIzMuMjogLTEgJSAxID09PSAtIDAuIEFjdHVhbDogKzAnKTsKICB9Cn0KCi8vQ0hFQ0sjNAppZiAoMSAlIC0xICE9PSAwKSB7CiAgJEVSUk9SKCcjNC4xOiAxICUgLTEgPT09IDAuIEFjdHVhbDogJyArICgxICUgLTEpKTsKfSBlbHNlIHsKICBpZiAoMSAvICgxICUgLTEpICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHsKICAgICRFUlJPUignIzQuMjogMSAlIC0xID09PSArIDAuIEFjdHVhbDogLTAnKTsKICB9Cn0KCi8vQ0hFQ0sjNQppZiAoMTAxICUgNTEgIT09IDUwKSB7CiAgJEVSUk9SKCcjNTogMTAxICUgNTEgPT09IDUwLiBBY3R1YWw6ICcgKyAoMTAxICUgNTEpKTsKfQoKLy9DSEVDSyM2CmlmICgxMDEgJSAtNTEgIT09IDUwKSB7CiAgJEVSUk9SKCcjNjogMTAxICUgLTUxID09PSA1MC4gQWN0dWFsOiAnICsgKDEwMSAlIC01MSkpOwp9CgovL0NIRUNLIzcKaWYgKC0xMDEgJSA1MSAhPT0gLTUwKSB7CiAgJEVSUk9SKCcjNzogLTEwMSAlIDUxID09PSAtNTAuIEFjdHVhbDogJyArICgtMTAxICUgNTEpKTsKfQoKLy9DSEVDSyM4CmlmICgtMTAxICUgLTUxICE9PSAtNTApIHsKICAkRVJST1IoJyM4OiAtMTAxICUgLTUxID09PSAtNTAuIEFjdHVhbDogJyArICgtMTAxICUgLTUxKSk7Cn0KCg==",
"commentary":"The result of a ECMAScript floating-point remainder operation is determined by the rules of IEEE arithmetics",
"description":"The sign of the finite non-zero value result equals the sign of the divided",
"path":"TestCases/ch11/11.5/11.5.3/S11.5.3_A4_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGEgRUNNQVNjcmlwdCBmbG9hdGluZy1wb2ludCByZW1haW5kZXIgb3BlcmF0aW9uIGlzIGRldGVybWluZWQgYnkgdGhlIHJ1bGVzIG9mIElFRUUgYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMy9TMTEuNS4zX0E0X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiB0aGUgZGl2aWRlbmQgaXMgYW4gaW5maW5pdHkgcmVzdWx0cyBpcyBOYU4KICovCgovL0NIRUNLIzEKaWYgKGlzTmFOKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSAlIE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiAtSW5maW5pdHkgJSBJbmZpbml0eSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoLUluZmluaXR5ICUgSW5maW5pdHkpKTsKfQoKLy9DSEVDSyMyCmlmIChpc05hTihOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgJSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogLUluZmluaXR5ICUgLUluZmluaXR5ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICgtSW5maW5pdHkgJSAtSW5maW5pdHkpKTsKfQoKLy9DSEVDSyMzCmlmIChpc05hTihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgJSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogSW5maW5pdHkgJSBJbmZpbml0eSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoSW5maW5pdHkgJSBJbmZpbml0eSkpOwp9CgovL0NIRUNLIzQKaWYgKGlzTmFOKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSAlIE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiBJbmZpbml0eSAlIC1JbmZpbml0eSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoSW5maW5pdHkgJSAtSW5maW5pdHkpKTsKfQoKLy9DSEVDSyM1CmlmIChpc05hTihOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgJSAxKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzU6IEluZmluaXR5ICUgMSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoSW5maW5pdHkgJSAxKSk7Cn0KCi8vQ0hFQ0sjNgppZiAoaXNOYU4oTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZICUgLTEpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNjogLUluZmluaXR5ICUgLTEgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKC1JbmZpbml0eSAlIC0xKSk7Cn0KCi8vQ0hFQ0sjNwppZiAoaXNOYU4oTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZICUgMSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM3OiBJbmZpbml0eSAlIDEgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKEluZmluaXR5ICUgMSkpOwp9CgovL0NIRUNLIzgKaWYgKGlzTmFOKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSAlIC0xKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzg6IEluZmluaXR5ICUgLTEgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKEluZmluaXR5ICUgLTEpKTsKfQoKLy9DSEVDSyM5CmlmIChpc05hTihOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgJSBOdW1iZXIuTUFYX1ZBTFVFKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzk6IEluZmluaXR5ICUgTnVtYmVyLk1BWF9WQUxVRSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoSW5maW5pdHkgJSBOdW1iZXIuTUFYX1ZBTFVFKSk7Cn0KCi8vQ0hFQ0sjMTAKaWYgKGlzTmFOKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSAlIC1OdW1iZXIuTUFYX1ZBTFVFKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzEwOiAtSW5maW5pdHkgJSAtTnVtYmVyLk1BWF9WQUxVRSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoLUluZmluaXR5ICUgLU51bWJlci5NQVhfVkFMVUUpKTsKfQoKLy9DSEVDSyMxMQppZiAoaXNOYU4oTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZICUgTnVtYmVyLk1BWF9WQUxVRSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxMTogSW5maW5pdHkgJSBOdW1iZXIuTUFYX1ZBTFVFID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChJbmZpbml0eSAlIE51bWJlci5NQVhfVkFMVUUpKTsKfQoKLy9DSEVDSyMxMgppZiAoaXNOYU4oTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZICUgLU51bWJlci5NQVhfVkFMVUUpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTI6IEluZmluaXR5ICUgLU51bWJlci5NQVhfVkFMVUUgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKEluZmluaXR5ICUgLU51bWJlci5NQVhfVkFMVUUpKTsKfQoK",
"commentary":"The result of a ECMAScript floating-point remainder operation is determined by the rules of IEEE arithmetics",
"description":"If the dividend is an infinity results is NaN",
"path":"TestCases/ch11/11.5/11.5.3/S11.5.3_A4_T3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGEgRUNNQVNjcmlwdCBmbG9hdGluZy1wb2ludCByZW1haW5kZXIgb3BlcmF0aW9uIGlzIGRldGVybWluZWQgYnkgdGhlIHJ1bGVzIG9mIElFRUUgYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMy9TMTEuNS4zX0E0X1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBJZiB0aGUgZGl2aXNvciBpcyB6ZXJvIHJlc3VsdHMgaXMgTmFOCiAqLwoKLy9DSEVDSyMxCmlmIChpc05hTigtMCAlIDApICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogLTAgJSAwID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICgtMCAlIDApKTsKfQoKLy9DSEVDSyMyCmlmIChpc05hTigtMCAlIC0wKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IC0wICUgLTAgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKC0wICUgLTApKTsKfQoKLy9DSEVDSyMzCmlmIChpc05hTigwICUgMCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiAwICUgMCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoMCAlIDApKTsKfQoKLy9DSEVDSyM0CmlmIChpc05hTigwICUgLTApICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogMCAlIC0wID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICgwICUgLTApKTsKfQoKLy9DSEVDSyM1CmlmIChpc05hTigtMSAlIDApICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNTogMSAlIDAgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKDEgJSAwKSk7Cn0KCi8vQ0hFQ0sjNgppZiAoaXNOYU4oLTEgJSAtMCkgIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiAtMSAlIC0wID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICgtMSAlIC0wKSk7Cn0KCi8vQ0hFQ0sjNwppZiAoaXNOYU4oMSAlIDApICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNzogMSAlIDAgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKDEgJSAwKSk7Cn0KCi8vQ0hFQ0sjOAppZiAoaXNOYU4oMSAlIC0wKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzg6IDEgJSAtMCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoMSAlIC0wKSk7Cn0KCi8vQ0hFQ0sjOQppZiAoaXNOYU4oTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZICUgMCkgIT09IHRydWUpIHsKICAkRVJST1IoJyM5OiBJbmZpbml0eSAlIDAgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKEluZmluaXR5ICUgMCkpOwp9CgovL0NIRUNLIzEwCmlmIChpc05hTihOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgJSAtMCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxMDogLUluZmluaXR5ICUgLTAgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKC1JbmZpbml0eSAlIC0wKSk7Cn0KCi8vQ0hFQ0sjMTEKaWYgKGlzTmFOKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSAlIDApICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTE6IEluZmluaXR5ICUgMCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoSW5maW5pdHkgJSAwKSk7Cn0KCi8vQ0hFQ0sjMTIKaWYgKGlzTmFOKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSAlIC0wKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzEyOiBJbmZpbml0eSAlIC0wID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChJbmZpbml0eSAlIC0wKSk7Cn0KCi8vQ0hFQ0sjMTMKaWYgKGlzTmFOKE51bWJlci5NSU5fVkFMVUUgJSAwKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzEzOiBOdW1iZXIuTUlOX1ZBTFVFICUgMCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoTnVtYmVyLk1JTl9WQUxVRSAlIDApKTsKfQoKLy9DSEVDSyMxNAppZiAoaXNOYU4oTnVtYmVyLk1JTl9WQUxVRSAlIC0wKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE0OiAtTnVtYmVyLk1JTl9WQUxVRSAlIC0wID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICgtTnVtYmVyLk1JTl9WQUxVRSAlIC0wKSk7Cn0KCi8vQ0hFQ0sjMTUKaWYgKGlzTmFOKE51bWJlci5NQVhfVkFMVUUgJSAwKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE1OiBOdW1iZXIuTUFYX1ZBTFVFICUgMCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoTnVtYmVyLk1BWF9WQUxVRSAlIDApKTsKfQoKLy9DSEVDSyMxNgppZiAoaXNOYU4oTnVtYmVyLk1BWF9WQUxVRSAlIC0wKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE2OiBOdW1iZXIuTUFYX1ZBTFVFICUgLTAgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKE51bWJlci5NQVhfVkFMVUUgJSAtMCkpOwp9Cgo=",
"commentary":"The result of a ECMAScript floating-point remainder operation is determined by the rules of IEEE arithmetics",
"description":"If the divisor is zero results is NaN",
"path":"TestCases/ch11/11.5/11.5.3/S11.5.3_A4_T4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGEgRUNNQVNjcmlwdCBmbG9hdGluZy1wb2ludCByZW1haW5kZXIgb3BlcmF0aW9uIGlzIGRldGVybWluZWQgYnkgdGhlIHJ1bGVzIG9mIElFRUUgYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMy9TMTEuNS4zX0E0X1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBkaXZpZGVuZCBpcyBmaW5pdGUgYW5kIHRoZSBkaXZpc29yIGlzIGFuIGluZmluaXR5LCB0aGUgcmVzdWx0IGVxdWFscyB0aGUgZGl2aWRlbmQKICovCgovL0NIRUNLIzEKaWYgKDEgJSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgIT09IDEpIHsKICAkRVJST1IoJyMxOiAxICUgLUluZmluaXR5ID09PSAxLiBBY3R1YWw6ICcgKyAoMSAlIC1JbmZpbml0eSkpOwp9Ci8vQ0hFQ0sjMgppZiAoMSAlIE51bWJlci5QT1NJVElWRV9JTkZJTklUWSAhPT0xKSB7CiAgJEVSUk9SKCcjMjogMSAlIEluZmluaXR5ID09PSAxLiBBY3R1YWw6ICcgKyAoMSAlIEluZmluaXR5KSk7Cn0KCi8vQ0hFQ0sjMwppZiAoLTEgJSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgIT09IC0xKSB7CiAgJEVSUk9SKCcjMzogLTEgJSBJbmZpbml0eSA9PT0gLTEuIEFjdHVhbDogJyArICgtMSAlIEluZmluaXR5KSk7Cn0KCi8vQ0hFQ0sjNAppZiAoLTEgJSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgIT09IC0xKSB7CiAgJEVSUk9SKCcjNDogLTEgJSAtSW5maW5pdHkgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEgJSAtSW5maW5pdHkpKTsKfQoKLy9DSEVDSyM1CmlmICgwICUgTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZICE9PSAwKSB7CiAgJEVSUk9SKCcjNS4xOiAwICUgSW5maW5pdHkgPT09IDAuIEFjdHVhbDogJyArICgwICUgSW5maW5pdHkpKTsKfSBlbHNlIHsKICBpZiAoMSAvICgwICUgTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7CiAgICAkRVJST1IoJyM1LjI6IDAgJSBJbmZpbml0eSA9PT0gKyAwLiBBY3R1YWw6IC0wJyk7CiAgfQp9CgovL0NIRUNLIzYKaWYgKDAgJSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgIT09IDApIHsKICAkRVJST1IoJyM2LjE6IDAgJSAtSW5maW5pdHkgPT09IDAuIEFjdHVhbDogJyArICgwICUgLUluZmluaXR5KSk7Cn0gZWxzZSB7CiAgaWYgKDEgLyAoMCAlICBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHsKICAgICRFUlJPUignIzYuMjogMCAlIC1JbmZpbml0eSA9PT0gKyAwLiBBY3R1YWw6IC0wJyk7CiAgfQp9CgovL0NIRUNLIzcKaWYgKC0wICUgTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZICE9PSAtMCkgewogICRFUlJPUignIzcuMTogLTAgJSBJbmZpbml0eSA9PT0gMC4gQWN0dWFsOiAnICsgKC0wICUgSW5maW5pdHkpKTsKfSBlbHNlIHsKICBpZiAoMSAvICgtMCAlIE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgIT09IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgewogICAgJEVSUk9SKCcjNy4yOiAtMCAlIEluZmluaXR5ID09PSAtIDAuIEFjdHVhbDogKzAnKTsKICB9Cn0KCi8vQ0hFQ0sjOAppZiAoLTAgJSAgTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZICE9PSAtMCkgewogICRFUlJPUignIzguMTogLTAgJSAtSW5maW5pdHkgPT09IDAuIEFjdHVhbDogJyArICgtMCAlIC1JbmZpbml0eSkpOwp9IGVsc2UgewogIGlmICgxIC8gKC0wICUgIE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgIT09IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgewogICAgJEVSUk9SKCcjOC4yOiAtMCAlIC1JbmZpbml0eSA9PT0gLSAwLiBBY3R1YWw6ICswJyk7CiAgfQp9CgovL0NIRUNLIzkKaWYgKE51bWJlci5NQVhfVkFMVUUgJSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgIT09IE51bWJlci5NQVhfVkFMVUUpIHsKICAkRVJST1IoJyM5OiBOdW1iZXIuTUFYX1ZBTFVFICUgLUluZmluaXR5ID09PSBOdW1iZXIuTUFYX1ZBTFVFLiBBY3R1YWw6ICcgKyAoTnVtYmVyLk1BWF9WQUxVRSAlIC1JbmZpbml0eSkpOwp9CgovL0NIRUNLIzEwCmlmIChOdW1iZXIuTUFYX1ZBTFVFICUgTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZICE9PSBOdW1iZXIuTUFYX1ZBTFVFKSB7CiAgJEVSUk9SKCcjMTA6IE51bWJlci5NQVhfVkFMVUUgJSBJbmZpbml0eSA9PT0gTnVtYmVyLk1BWF9WQUxVRS4gQWN0dWFsOiAnICsgKE51bWJlci5NQVhfVkFMVUUgJSBJbmZpbml0eSkpOwp9CgovL0NIRUNLIzExCmlmICgtTnVtYmVyLk1BWF9WQUxVRSAlIE51bWJlci5QT1NJVElWRV9JTkZJTklUWSAhPT0gLU51bWJlci5NQVhfVkFMVUUpIHsKICAkRVJST1IoJyMxMTogLU51bWJlci5NQVhfVkFMVUUgJSBJbmZpbml0eSA9PT0gLU51bWJlci5NQVhfVkFMVUUuIEFjdHVhbDogJyArICgtTnVtYmVyLk1BWF9WQUxVRSAlIEluZmluaXR5KSk7Cn0KCi8vQ0hFQ0sjMTIKaWYgKC1OdW1iZXIuTUFYX1ZBTFVFICUgTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZICE9PSAtTnVtYmVyLk1BWF9WQUxVRSkgewogICRFUlJPUignIzEyOiAtTnVtYmVyLk1BWF9WQUxVRSAlIC1JbmZpbml0eSA9PT0gLU51bWJlci5NQVhfVkFMVUUuIEFjdHVhbDogJyArICgtTnVtYmVyLk1BWF9WQUxVRSAlIC1JbmZpbml0eSkpOwp9CgovL0NIRUNLIzEzCmlmIChOdW1iZXIuTUlOX1ZBTFVFICUgTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZICE9PSBOdW1iZXIuTUlOX1ZBTFVFKSB7CiAgJEVSUk9SKCcjMTM6IE51bWJlci5NSU5fVkFMVUUgJSAtSW5maW5pdHkgPT09IE51bWJlci5NSU5fVkFMVUUuIEFjdHVhbDogJyArIChOdW1iZXIuTUlOX1ZBTFVFICUgLUluZmluaXR5KSk7Cn0KLy9DSEVDSyMxNAppZiAoTnVtYmVyLk1JTl9WQUxVRSAlIE51bWJlci5QT1NJVElWRV9JTkZJTklUWSAhPT0gTnVtYmVyLk1JTl9WQUxVRSkgewogICRFUlJPUignIzE0OiBOdW1iZXIuTUlOX1ZBTFVFICUgSW5maW5pdHkgPT09IE51bWJlci5NSU5fVkFMVUUuIEFjdHVhbDogJyArIChOdW1iZXIuTUlOX1ZBTFVFICUgSW5maW5pdHkpKTsKfQoKLy9DSEVDSyMxNQppZiAoLU51bWJlci5NSU5fVkFMVUUgJSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgIT09IC1OdW1iZXIuTUlOX1ZBTFVFKSB7CiAgJEVSUk9SKCcjMTU6IC1OdW1iZXIuTUlOX1ZBTFVFICUgSW5maW5pdHkgPT09IC1OdW1iZXIuTUlOX1ZBTFVFLiBBY3R1YWw6ICcgKyAoLU51bWJlci5NSU5fVkFMVUUgJSBJbmZpbml0eSkpOwp9CgovL0NIRUNLIzE2CmlmICgtTnVtYmVyLk1JTl9WQUxVRSAlIE51bWJlci5ORUdBVElWRV9JTkZJTklUWSAhPT0gLU51bWJlci5NSU5fVkFMVUUpIHsKICAkRVJST1IoJyMxNjogLU51bWJlci5NSU5fVkFMVUUgJSAtSW5maW5pdHkgPT09IC1OdW1iZXIuTUlOX1ZBTFVFLiBBY3R1YWw6ICcgKyAoLU51bWJlci5NSU5fVkFMVUUgJSAtSW5maW5pdHkpKTsKfQoK",
"commentary":"The result of a ECMAScript floating-point remainder operation is determined by the rules of IEEE arithmetics",
"description":"If dividend is finite and the divisor is an infinity, the result equals the dividend",
"path":"TestCases/ch11/11.5/11.5.3/S11.5.3_A4_T5.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGEgRUNNQVNjcmlwdCBmbG9hdGluZy1wb2ludCByZW1haW5kZXIgb3BlcmF0aW9uIGlzIGRldGVybWluZWQgYnkgdGhlIHJ1bGVzIG9mIElFRUUgYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMy9TMTEuNS4zX0E0X1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBkaXZpZGVuZCBpcyBhIHplcm8gYW5kIHRoZSBkaXZpc29yIGlzIG5vbnplcm8gZmluaXRlLCB0aGUgcmVzdWx0IGVxdWFscyB0aGUgZGl2aWRlbmQKICovCgovL0NIRUNLIzEKaWYgKDAgJSAxICE9PSAwKSB7CiAgJEVSUk9SKCcjMS4xOiAwICUgMSA9PT0gMC4gQWN0dWFsOiAnICsgKDAgJSAxKSk7Cn0gZWxzZSB7CiAgaWYgKDEgLyAoMCAlIDEpICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHsKICAgICRFUlJPUignIzEuMjogMCAlIDEgPT09ICsgMC4gQWN0dWFsOiAtMCcpOwogIH0KfQoKLy9DSEVDSyMyCmlmICgwICUgLTEgIT09IDApIHsKICAkRVJST1IoJyMyLjE6IDAgJSAtMSA9PT0gMC4gQWN0dWFsOiAnICsgKDAgJSAtMSkpOwp9IGVsc2UgewogIGlmICgxIC8gKDAgJSAgLTEpICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHsKICAgICRFUlJPUignIzIuMjogMCAlIC0xID09PSArIDAuIEFjdHVhbDogLTAnKTsKICB9Cn0KCi8vQ0hFQ0sjMwppZiAoLTAgJSAxICE9PSAtMCkgewogICRFUlJPUignIzMuMTogLTAgJSAxID09PSAwLiBBY3R1YWw6ICcgKyAoLTAgJSAxKSk7Cn0gZWxzZSB7CiAgaWYgKDEgLyAoLTAgJSAxKSAhPT0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSB7CiAgICAkRVJST1IoJyMzLjI6IC0wICUgMSA9PT0gLSAwLiBBY3R1YWw6ICswJyk7CiAgfQp9CgovL0NIRUNLIzQKaWYgKC0wICUgIC0xICE9PSAtMCkgewogICRFUlJPUignIzQuMTogLTAgJSAtMSA9PT0gMC4gQWN0dWFsOiAnICsgKC0wICUgLTEpKTsKfSBlbHNlIHsKICBpZiAoMSAvICgtMCAlICAtMSkgIT09IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgewogICAgJEVSUk9SKCcjNC4yOiAwICUgLTEgPT09IC0gMC4gQWN0dWFsOiArMCcpOwogIH0KfQoKLy9DSEVDSyM1CmlmICgwICUgTnVtYmVyLk1BWF9WQUxVRSAhPT0gMCkgewogICRFUlJPUignIzUuMTogMCAlIE51bWJlci5NQVhfVkFMVUUgPT09IDAuIEFjdHVhbDogJyArICgwICUgTnVtYmVyLk1BWF9WQUxVRSkpOwp9IGVsc2UgewogIGlmICgxIC8gKDAgJSBOdW1iZXIuTUFYX1ZBTFVFKSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7CiAgICAkRVJST1IoJyM1LjI6IDAgJSBOdW1iZXIuTUFYX1ZBTFVFID09PSArIDAuIEFjdHVhbDogLTAnKTsKICB9Cn0KCi8vQ0hFQ0sjNgppZiAoMCAlIE51bWJlci5NSU5fVkFMVUUgIT09IDApIHsKICAkRVJST1IoJyM2LjE6IDAgJSBOdW1iZXIuTUlOX1ZBTFVFID09PSAwLiBBY3R1YWw6ICcgKyAoMCAlIE51bWJlci5NSU5fVkFMVUUpKTsKfSBlbHNlIHsKICBpZiAoMSAvICgwICUgTnVtYmVyLk1JTl9WQUxVRSkgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICAgJEVSUk9SKCcjNi4yOiAwICUgTnVtYmVyLk1JTl9WQUxVRSA9PT0gKyAwLiBBY3R1YWw6IC0wJyk7CiAgfQp9CgovL0NIRUNLIzcKaWYgKC0wICUgTnVtYmVyLk1BWF9WQUxVRSAhPT0gLTApIHsKICAkRVJST1IoJyM3LjE6IC0wICUgTnVtYmVyLk1BWF9WQUxVRSA9PT0gMC4gQWN0dWFsOiAnICsgKC0wICUgTnVtYmVyLk1BWF9WQUxVRSkpOwp9IGVsc2UgewogIGlmICgxIC8gKC0wICUgTnVtYmVyLk1BWF9WQUxVRSkgIT09IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgewogICAgJEVSUk9SKCcjNy4yOiAtMCAlIE51bWJlci5NQVhfVkFMVUUgPT09IC0gMC4gQWN0dWFsOiArMCcpOwogIH0KfQoKLy9DSEVDSyM4CmlmICgtMCAlIE51bWJlci5NSU5fVkFMVUUgIT09IC0wKSB7CiAgJEVSUk9SKCcjOC4xOiAtMCAlIE51bWJlci5NSU5fVkFMVUUgPT09IDAuIEFjdHVhbDogJyArICgtMCAlIE51bWJlci5NSU5fVkFMVUUpKTsKfSBlbHNlIHsKICBpZiAoMSAvICgtMCAlIE51bWJlci5NSU5fVkFMVUUpICE9PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpIHsKICAgICRFUlJPUignIzguMjogMCAlIE51bWJlci5NSU5fVkFMVUUgPT09IC0gMC4gQWN0dWFsOiArMCcpOwogIH0KfQoK",
"commentary":"The result of a ECMAScript floating-point remainder operation is determined by the rules of IEEE arithmetics",
"description":"If dividend is a zero and the divisor is nonzero finite, the result equals the dividend",
"path":"TestCases/ch11/11.5/11.5.3/S11.5.3_A4_T6.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGEgRUNNQVNjcmlwdCBmbG9hdGluZy1wb2ludCByZW1haW5kZXIgb3BlcmF0aW9uIGlzIGRldGVybWluZWQgYnkgdGhlIHJ1bGVzIG9mIElFRUUgYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMy9TMTEuNS4zX0E0X1Q3LmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBvcGVyYW5kcyBuZWl0aGVyIGFuIGluZmluaXR5LCBub3IgYSB6ZXJvLCBub3IgTmFOLCByZXR1cm4geCAtIHRydW5jYXRlKHggLyB5KSAqIHkKICovCgpmdW5jdGlvbiB0cnVuY2F0ZSh4KSB7CiAgaWYgKHggPiAwKSB7CiAgICByZXR1cm4gTWF0aC5mbG9vcih4KTsKICB9IGVsc2UgewogICAgcmV0dXJuIE1hdGguY2VpbCh4KTsKICB9Cn0KCi8vQ0hFQ0sjMQp4ID0gMS4zOyAKeSA9IDEuMTsKaWYgKHggJSB5ICE9PSAwLjE5OTk5OTk5OTk5OTk5OTk2KSB7CiAgJEVSUk9SKCcjMTogeCA9IDEuMzsgeSA9IDEuMTsgeCAlIHkgPT09IDAuMTk5OTk5OTk5OTk5OTk5OTYuIEFjdHVhbDogJyArICh4ICUgeSkpOwp9CgovL0NIRUNLIzIKeCA9IC0xLjM7IAp5ID0gMS4xOyAKaWYgKHggJSB5ICE9PSAtMC4xOTk5OTk5OTk5OTk5OTk5NikgewogICRFUlJPUignIzI6IHggPSAtMS4zOyB5ID0gMS4xOyB4ICUgeSA9PT0gLTAuMTk5OTk5OTk5OTk5OTk5OTYuIEFjdHVhbDogJyArICh4ICUgeSkpOwp9CgovL0NIRUNLIzMKeCA9IDEuMzsgCnkgPSAtMS4xOwppZiAoeCAlIHkgIT09IDAuMTk5OTk5OTk5OTk5OTk5OTYpIHsKICAkRVJST1IoJyMzOiB4ID0gMS4zOyB5ID0gLTEuMTsgeCAlIHkgPT09IDAuMTk5OTk5OTk5OTk5OTk5OTYuIEFjdHVhbDogJyArICh4ICUgeSkpOwp9CgovL0NIRUNLIzQKeCA9IC0xLjM7IAp5ID0gLTEuMTsKaWYgKHggJSB5ICE9PSAtMC4xOTk5OTk5OTk5OTk5OTk5NikgewogICRFUlJPUignIzQ6IHggPSAtMS4zOyB5ID0gLTEuMTsgeCAlIHkgPT09IC0wLjE5OTk5OTk5OTk5OTk5OTk2LiBBY3R1YWw6ICcgKyAoeCAlIHkpKTsKfQoKLy9DSEVDSyM1CnggPSAxLjM7IAp5ID0gMS4xOwppZiAoeCAlIHkgIT09IHggLSB0cnVuY2F0ZSh4IC8geSkgKiB5KSB7CiAgJEVSUk9SKCcjNTogeCA9IDEuMzsgeSA9IDEuMTsgeCAlIHkgPT09IHggLSB0cnVuY2F0ZSh4IC8geSkgKiB5LiBBY3R1YWw6ICcgKyAoeCAlIHkpKTsKfQoKLy9DSEVDSyM2CnggPSAtMS4zOyAKeSA9IDEuMTsgCmlmICh4ICUgeSAhPT0geCAtIHRydW5jYXRlKHggLyB5KSAqIHkpIHsKICAkRVJST1IoJyM2OiB4ID0gLTEuMzsgeSA9IDEuMTsgeCAlIHkgPT09IHggLSB0cnVuY2F0ZSh4IC8geSkgKiB5LiBBY3R1YWw6ICcgKyAoeCAlIHkpKTsKfQoKLy9DSEVDSyM3CnggPSAxLjM7IAp5ID0gLTEuMTsKaWYgKHggJSB5ICE9PSB4IC0gdHJ1bmNhdGUoeCAvIHkpICogeSkgewogICRFUlJPUignIzc6IHggPSAxLjM7IHkgPSAtMS4xOyB4ICUgeSA9PT0geCAtIHRydW5jYXRlKHggLyB5KSAqIHkuIEFjdHVhbDogJyArICh4ICUgeSkpOwp9CgovL0NIRUNLIzgKeCA9IC0xLjM7IAp5ID0gLTEuMTsKaWYgKHggJSB5ICE9PSB4IC0gdHJ1bmNhdGUoeCAvIHkpICogeSkgewogICRFUlJPUignIzg6IHggPSAtMS4zOyB5ID0gLTEuMTsgeCAlIHkgPT09IHggLSB0cnVuY2F0ZSh4IC8geSkgKiB5LiBBY3R1YWw6ICcgKyAoeCAlIHkpKTsKfQoK",
"commentary":"The result of a ECMAScript floating-point remainder operation is determined by the rules of IEEE arithmetics",
"description":"If operands neither an infinity, nor a zero, nor NaN, return x - truncate(x / y) * y",
"path":"TestCases/ch11/11.5/11.5.3/S11.5.3_A4_T7.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gQWRkaXRpdmVFeHByZXNzaW9uIGFuZCAiKyIgb3IgYmV0d2VlbiAiKyIgYW5kIE11bHRpcGxpY2F0aXZlRXhwcmVzc2lvbiBhcmUgYWxsb3dlZAogKgogKiBAcGF0aCBjaDExLzExLjYvMTEuNi4xL1MxMS42LjFfQTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGJ5IHVzaW5nIGV2YWwKICovCgovL0NIRUNLIzEKaWYgKGV2YWwoIjFcdTAwMDkrXHUwMDA5MSIpICE9PSAyKSB7CiAgJEVSUk9SKCcjMTogMVxcdTAwMDkrXFx1MDAwOTEgPT09IDInKTsKfQoKLy9DSEVDSyMyCmlmIChldmFsKCIxXHUwMDBCK1x1MDAwQjEiKSAhPT0gMikgewogICRFUlJPUignIzI6IDFcXHUwMDBCK1xcdTAwMEIxID09PSAyJyk7ICAKfQoKLy9DSEVDSyMzCmlmIChldmFsKCIxXHUwMDBDK1x1MDAwQzEiKSAhPT0gMikgewogICRFUlJPUignIzM6IDFcXHUwMDBDK1xcdTAwMEMxID09PSAyJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoZXZhbCgiMVx1MDAyMCtcdTAwMjAxIikgIT09IDIpIHsKICAkRVJST1IoJyM0OiAxXFx1MDAyMCtcXHUwMDIwMSA9PT0gMicpOwp9CgovL0NIRUNLIzUKaWYgKGV2YWwoIjFcdTAwQTArXHUwMEEwMSIpICE9PSAyKSB7CiAgJEVSUk9SKCcjNTogMVxcdTAwQTArXFx1MDBBMDEgPT09IDInKTsKfQoKLy9DSEVDSyM2CmlmIChldmFsKCIxXHUwMDBBK1x1MDAwQTEiKSAhPT0gMikgewogICRFUlJPUignIzY6IDFcXHUwMDBBK1xcdTAwMEExID09PSAyJyk7ICAKfQoKLy9DSEVDSyM3CmlmIChldmFsKCIxXHUwMDBEK1x1MDAwRDEiKSAhPT0gMikgewogICRFUlJPUignIzc6IDFcXHUwMDBEK1xcdTAwMEQxID09PSAyJyk7Cn0KCi8vQ0hFQ0sjOAppZiAoZXZhbCgiMVx1MjAyOCtcdTIwMjgxIikgIT09IDIpIHsKICAkRVJST1IoJyM4OiAxXFx1MjAyOCtcXHUyMDI4MSA9PT0gMicpOwp9CgovL0NIRUNLIzkKaWYgKGV2YWwoIjFcdTIwMjkrXHUyMDI5MSIpICE9PSAyKSB7CiAgJEVSUk9SKCcjOTogMVxcdTIwMjkrXFx1MjAyOTEgPT09IDInKTsKfQoKLy9DSEVDSyMxMAppZiAoZXZhbCgiMVx1MDAwOVx1MDAwQlx1MDAwQ1x1MDAyMFx1MDBBMFx1MDAwQVx1MDAwRFx1MjAyOFx1MjAyOStcdTAwMDlcdTAwMEJcdTAwMENcdTAwMjBcdTAwQTBcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjkxIikgIT09IDIpIHsKICAkRVJST1IoJyMxMDogMVxcdTAwMDlcXHUwMDBCXFx1MDAwQ1xcdTAwMjBcXHUwMEEwXFx1MDAwQVxcdTAwMERcXHUyMDI4XFx1MjAyOStcXHUwMDA5XFx1MDAwQlxcdTAwMENcXHUwMDIwXFx1MDBBMFxcdTAwMEFcXHUwMDBEXFx1MjAyOFxcdTIwMjkxID09PSAyJyk7Cn0KCg==",
"commentary":"White Space and Line Terminator between AdditiveExpression and \"+\" or between \"+\" and MultiplicativeExpression are allowed",
"description":"Checking by using eval",
"path":"TestCases/ch11/11.6/11.6.1/S11.6.1_A1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICsgeSB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuNi8xMS42LjEvUzExLjYuMV9BMi4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBFaXRoZXIgVHlwZSBpcyBub3QgUmVmZXJlbmNlIG9yIEdldEJhc2UgaXMgbm90IG51bGwKICovCgovL0NIRUNLIzEKaWYgKDEgKyAxICE9PSAyKSB7CiAgJEVSUk9SKCcjMTogMSArIDEgPT09IDIuIEFjdHVhbDogJyArICgxICsgMSkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAxOwppZiAoeCArIDEgIT09IDIpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IDE7IHggKyAxID09PSAyLiBBY3R1YWw6ICcgKyAoeCArIDEpKTsKfQoKLy9DSEVDSyMzCnZhciB5ID0gMTsKaWYgKDEgKyB5ICE9PSAyKSB7CiAgJEVSUk9SKCcjMzogdmFyIHkgPSAxOyAxICsgeSA9PT0gMi4gQWN0dWFsOiAnICsgKDEgKyB5KSk7Cn0KCi8vQ0hFQ0sjNAp2YXIgeCA9IDE7CnZhciB5ID0gMTsKaWYgKHggKyB5ICE9PSAyKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSAxOyB2YXIgeSA9IDE7IHggKyB5ID09PSAyLiBBY3R1YWw6ICcgKyAoeCArIHkpKTsKfQoKLy9DSEVDSyM1CnZhciBvYmplY3R4ID0gbmV3IE9iamVjdCgpOwp2YXIgb2JqZWN0eSA9IG5ldyBPYmplY3QoKTsKb2JqZWN0eC5wcm9wID0gMTsKb2JqZWN0eS5wcm9wID0gMTsKaWYgKG9iamVjdHgucHJvcCArIG9iamVjdHkucHJvcCAhPT0gMikgewogICRFUlJPUignIzU6IHZhciBvYmplY3R4ID0gbmV3IE9iamVjdCgpOyB2YXIgb2JqZWN0eSA9IG5ldyBPYmplY3QoKTsgb2JqZWN0eC5wcm9wID0gMTsgb2JqZWN0eS5wcm9wID0gMTsgb2JqZWN0eC5wcm9wICsgb2JqZWN0eS5wcm9wID09PSAyLiBBY3R1YWw6ICcgKyAob2JqZWN0eC5wcm9wICsgb2JqZWN0eS5wcm9wKSk7Cn0KCg==",
"commentary":"Operator x + y uses GetValue",
"description":"Either Type is not Reference or GetBase is not null",
"path":"TestCases/ch11/11.6/11.6.1/S11.6.1_A2.1_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICsgeSB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuNi8xMS42LjEvUzExLjYuMV9BMi4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBHZXRCYXNlKHgpIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgeCArIDE7CiAgJEVSUk9SKCcjMS4xOiB4ICsgMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHggKyAxKSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiB4ICsgMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoKCg==",
"commentary":"Operator x + y uses GetValue",
"description":"If GetBase(x) is null, throw ReferenceError",
"path":"TestCases/ch11/11.6/11.6.1/S11.6.1_A2.1_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICsgeSB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuNi8xMS42LjEvUzExLjYuMV9BMi4xX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBHZXRCYXNlKHkpIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgMSArIHk7CiAgJEVSUk9SKCcjMS4xOiAxICsgeSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKDEgKyB5KSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiAxICsgeSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoKCg==",
"commentary":"Operator x + y uses GetValue",
"description":"If GetBase(y) is null, throw ReferenceError",
"path":"TestCases/ch11/11.6/11.6.1/S11.6.1_A2.1_T3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICsgeSB1c2VzIFtbRGVmYXVsdCBWYWx1ZV1dCiAqCiAqIEBwYXRoIGNoMTEvMTEuNi8xMS42LjEvUzExLjYuMV9BMi4yX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBUeXBlKHZhbHVlKSBpcyBPYmplY3QsIGV2YWx1YXRlIFRvUHJpbWl0aXZlKHZhbHVlLCBOdW1iZXIpCiAqLwoKLy9DSEVDSyMxCmlmICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSArIDEgIT09IDIpIHsKICAkRVJST1IoJyMxOiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSArIDEgPT09IDIuIEFjdHVhbDogJyArICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSArIDEpKTsKfQoKLy9DSEVDSyMyCmlmICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSArIDEgIT09IDIpIHsKICAkRVJST1IoJyMyOiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSArIDEgPT09IDIuIEFjdHVhbDogJyArICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSArIDEpKTsKfQoKLy9DSEVDSyMzCmlmICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0gKyAxICE9PSAyKSB7CiAgJEVSUk9SKCcjMzoge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19ICsgMSA9PT0gMi4gQWN0dWFsOiAnICsgKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSArIDEpKTsKfQoKLy9DSEVDSyM0CnRyeSB7CiAgaWYgKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gKyAxICE9PSAyKSB7CiAgICAkRVJST1IoJyM0LjE6IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gKyAxID09PSAyLiBBY3R1YWw6ICcgKyAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fSArIDEpKTsKICB9Cn0KY2F0Y2ggKGUpIHsKICBpZiAoZSA9PT0gImVycm9yIikgewogICAgJEVSUk9SKCcjNC4yOiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19ICsgMSBub3QgdGhyb3cgImVycm9yIicpOwogIH0gZWxzZSB7CiAgICAkRVJST1IoJyM0LjM6IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gKyAxIG5vdCB0aHJvdyBFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCi8vQ0hFQ0sjNQppZiAoMSArIHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSAhPT0gMikgewogICRFUlJPUignIzU6IDEgKyB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0gPT09IDIuIEFjdHVhbDogJyArICgxICsge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSk7Cn0KCi8vQ0hFQ0sjNgppZiAoMSArIHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSAhPT0gMikgewogICRFUlJPUignIzY6IDEgKyB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0gPT09IDIuIEFjdHVhbDogJyArICgxICsge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSk7Cn0KCi8vQ0hFQ0sjNwp0cnkgewogIDEgKyB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OwogICRFUlJPUignIzcuMTogMSArIHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0gdGhyb3cgImVycm9yIi4gQWN0dWFsOiAnICsgKDEgKyB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSk7Cn0gIApjYXRjaCAoZSkgewogIGlmIChlICE9PSAiZXJyb3IiKSB7CiAgICAkRVJST1IoJyM3LjI6IDEgKyB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19IHRocm93ICJlcnJvciIuIEFjdHVhbDogJyArIChlKSk7CiAgfSAKfQoKLy9DSEVDSyM4CnRyeSB7CiAgMSArIHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07CiAgJEVSUk9SKCcjOC4xOiAxICsge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArICgxICsge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSkpOwp9ICAKY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyM4LjI6IDEgKyB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19IHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9IAp9Cgo=",
"commentary":"Operator x + y uses [[Default Value]]",
"description":"If Type(value) is Object, evaluate ToPrimitive(value, Number)",
"path":"TestCases/ch11/11.6/11.6.1/S11.6.1_A2.2_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICsgeSB1c2VzIFtbRGVmYXVsdCBWYWx1ZV1dCiAqCiAqIEBwYXRoIGNoMTEvMTEuNi8xMS42LjEvUzExLjYuMV9BMi4yX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBUeXBlKHZhbHVlKSBpcyBEYXRlIG9iamVjdCwgZXZhbHVhdGUgVG9QcmltaXRpdmUodmFsdWUsIFN0cmluZykKICovCgovL0NIRUNLIzEKdmFyIGRhdGUgPSBuZXcgRGF0ZSgpOwppZiAoZGF0ZSArIGRhdGUgIT09IGRhdGUudG9TdHJpbmcoKSArIGRhdGUudG9TdHJpbmcoKSkgewogICRFUlJPUignIzE6IHZhciBkYXRlID0gbmV3IERhdGUoKTsgZGF0ZSArIGRhdGUgPT09IGRhdGUudG9TdHJpbmcoKSArIGRhdGUudG9TdHJpbmcoKS4gQWN0dWFsOiAnICsgKGRhdGUgKyBkYXRlKSk7ICAKfQoKLy9DSEVDSyMyCnZhciBkYXRlID0gbmV3IERhdGUoKTsKaWYgKGRhdGUgKyAwICE9PSBkYXRlLnRvU3RyaW5nKCkgKyAiMCIpIHsKICAkRVJST1IoJyMyOiB2YXIgZGF0ZSA9IG5ldyBEYXRlKCk7IGRhdGUgKyAwID09PSBkYXRlLnRvU3RyaW5nKCkgKyAiMCIuIEFjdHVhbDogJyArIChkYXRlICsgMCkpOyAgCn0KCi8vQ0hFQ0sjMwp2YXIgZGF0ZSA9IG5ldyBEYXRlKCk7CmlmIChkYXRlICsgdHJ1ZSAhPT0gZGF0ZS50b1N0cmluZygpICsgInRydWUiKSB7CiAgJEVSUk9SKCcjMzogdmFyIGRhdGUgPSBuZXcgRGF0ZSgpOyBkYXRlICsgdHJ1ZSA9PT0gZGF0ZS50b1N0cmluZygpICsgInRydWUiLiBBY3R1YWw6ICcgKyAoZGF0ZSArIHRydWUpKTsgIAp9CgovL0NIRUNLIzQKdmFyIGRhdGUgPSBuZXcgRGF0ZSgpOwppZiAoZGF0ZSArIG5ldyBPYmplY3QoKSAhPT0gZGF0ZS50b1N0cmluZygpICsgIltvYmplY3QgT2JqZWN0XSIpIHsKICAkRVJST1IoJyM0OiB2YXIgZGF0ZSA9IG5ldyBEYXRlKCk7IGRhdGUgKyBuZXcgT2JqZWN0KCkgPT09IGRhdGUudG9TdHJpbmcoKSArICJbb2JqZWN0IE9iamVjdF0iLiBBY3R1YWw6ICcgKyAoZGF0ZSArIG5ldyBPYmplY3QoKSkpOyAgCn0KCgo=",
"commentary":"Operator x + y uses [[Default Value]]",
"description":"If Type(value) is Date object, evaluate ToPrimitive(value, String)",
"path":"TestCases/ch11/11.6/11.6.1/S11.6.1_A2.2_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICsgeSB1c2VzIFtbRGVmYXVsdCBWYWx1ZV1dCiAqCiAqIEBwYXRoIGNoMTEvMTEuNi8xMS42LjEvUzExLjYuMV9BMi4yX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBUeXBlKHZhbHVlKSBpcyBGdW5jdGlvbiwgZXZhbHVhdGUgVG9QcmltaXRpdmUodmFsdWUsIE51bWJlcikKICovCgovL0NIRUNLIzEKZnVuY3Rpb24gZjEoKXsKICByZXR1cm4gMDsKfQppZiAoZjEgKyAxICE9PSBmMS50b1N0cmluZygpICsgMSkgewogICRFUlJPUignIzE6IGZ1bmN0aW9uIGYxKCkge3JldHVybiAwO307IGYxICsgMSA9PT0gZjEudG9TdHJpbmcoKSArIDEnKTsKfQoKLy9DSEVDSyMyCmZ1bmN0aW9uIGYyKCl7CiAgcmV0dXJuIDA7Cn0KZjIudmFsdWVPZiA9IGZ1bmN0aW9uKCkge3JldHVybiAxO307CmlmICgxICsgZjIgIT09IDEgKyAxKSB7CiAgJEVSUk9SKCcjMjogZjF1bmN0aW9uIGYyKCkge3JldHVybiAwO30gZjIudmFsdWVPZiA9IGZ1bmN0aW9uKCkge3JldHVybiAxO307IDEgKyBmMiA9PT0gMSArIDEuIEFjdHVhbDogJyArICgxICsgZjIpKTsKfQoKLy9DSEVDSyMzCmZ1bmN0aW9uIGYzKCl7CiAgcmV0dXJuIDA7Cn0KZjMudG9TdHJpbmcgPSBmdW5jdGlvbigpIHtyZXR1cm4gMTt9OwppZiAoMSArIGYzICE9PSAxICsgMSkgewogICRFUlJPUignIzM6IGYxdW5jdGlvbiBmMygpIHtyZXR1cm4gMDt9IGYzLnRvU3RyaW5nKCkgPSBmdW5jdGlvbigpIHtyZXR1cm4gMTt9OyAxICsgZjMgPT09IDEgKyAxLiBBY3R1YWw6ICcgKyAoMSArIGYzKSk7Cn0KCi8vQ0hFQ0sjNApmdW5jdGlvbiBmNCgpewogIHJldHVybiAwOwp9CmY0LnZhbHVlT2YgPSBmdW5jdGlvbigpIHtyZXR1cm4gLTE7fTsKZjQudG9TdHJpbmcgPSBmdW5jdGlvbigpIHtyZXR1cm4gMTt9OwppZiAoZjQgKyAxICE9PSAxIC0gMSkgewogICRFUlJPUignIzQ6IGYxdW5jdGlvbiBmNCgpIHtyZXR1cm4gMDt9OyBmMi52YWx1ZU9mID0gZnVuY3Rpb24oKSB7cmV0dXJuIC0xO307IGY0LnRvU3RyaW5nKCkgPSBmdW5jdGlvbigpIHtyZXR1cm4gMTt9OyBmNCArIDEgPT09IDEgLSAxLiBBY3R1YWw6ICcgKyAoZjQgKyAxKSk7Cn0KCg==",
"commentary":"Operator x + y uses [[Default Value]]",
"description":"If Type(value) is Function, evaluate ToPrimitive(value, Number)",
"path":"TestCases/ch11/11.6/11.6.1/S11.6.1_A2.2_T3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUb051bWJlcihmaXJzdCBleHByZXNzaW9uKSBpcyBjYWxsZWQgZmlyc3QsIGFuZCB0aGVuIFRvTnVtYmVyKHNlY29uZCBleHByZXNzaW9uKQogKgogKiBAcGF0aCBjaDExLzExLjYvMTEuNi4xL1MxMS42LjFfQTIuM19UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgd2l0aCAidGhyb3ciCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0geyB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfSB9Owp2YXIgeSA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieSI7IH0gfTsKdHJ5IHsKICAgeCArIHk7CiAgICRFUlJPUignIzEuMTogdmFyIHggPSB7IHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9IH07IHZhciB5ID0geyB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfSB9OyB4ICsgeSB0aHJvdyAieCIuIEFjdHVhbDogJyArICh4ICsgeSkpOwp9IGNhdGNoIChlKSB7CiAgIGlmIChlID09PSAieSIpIHsKICAgICAkRVJST1IoJyMxLjI6IFRvTnVtYmVyKGZpcnN0IGV4cHJlc3Npb24pIGlzIGNhbGxlZCBmaXJzdCwgYW5kIHRoZW4gVG9OdW1iZXIoc2Vjb25kIGV4cHJlc3Npb24pJyk7CiAgIH0gZWxzZSB7CiAgICAgaWYgKGUgIT09ICJ4IikgewogICAgICAgJEVSUk9SKCcjMS4zOiB2YXIgeCA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieCI7IH0gfTsgdmFyIHkgPSB7IHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9IH07IHggKyB5IHRocm93ICJ4Ii4gQWN0dWFsOiAnICsgKGUpKTsKICAgICB9CiAgIH0KfQoK",
"commentary":"ToNumber(first expression) is called first, and then ToNumber(second expression)",
"description":"Checking with \"throw\"",
"path":"TestCases/ch11/11.6/11.6.1/S11.6.1_A2.3_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMS9TMTEuNi4xX0EyLjRfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggIj0iCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gMDsgCmlmICgoeCA9IDEpICsgeCAhPT0gMikgewogICRFUlJPUignIzE6IHZhciB4ID0gMDsgKHggPSAxKSArIHggPT09IDIuIEFjdHVhbDogJyArICgoeCA9IDEpICsgeCkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAwOyAKaWYgKHggKyAoeCA9IDEpICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSAwOyB4ICsgKHggPSAxKSA9PT0gMS4gQWN0dWFsOiAnICsgKHggKyAoeCA9IDEpKSk7Cn0KCgo=",
"commentary":"First expression is evaluated first, and then second expression",
"description":"Checking with \"=\"",
"path":"TestCases/ch11/11.6/11.6.1/S11.6.1_A2.4_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMS9TMTEuNi4xX0EyLjRfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggInRocm93IgogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9Owp2YXIgeSA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9Owp0cnkgewogICB4KCkgKyB5KCk7CiAgICRFUlJPUignIzEuMTogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpICsgeSgpIHRocm93ICJ4Ii4gQWN0dWFsOiAnICsgKHgoKSArIHkoKSkpOwp9IGNhdGNoIChlKSB7CiAgIGlmIChlID09PSAieSIpIHsKICAgICAkRVJST1IoJyMxLjI6IEZpcnN0IGV4cHJlc3Npb24gaXMgZXZhbHVhdGVkIGZpcnN0LCBhbmQgdGhlbiBzZWNvbmQgZXhwcmVzc2lvbicpOwogICB9IGVsc2UgewogICAgIGlmIChlICE9PSAieCIpIHsKICAgICAgICRFUlJPUignIzEuMzogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpICsgeSgpIHRocm93ICJ4Ii4gQWN0dWFsOiAnICsgKGUpKTsKICAgICB9CiAgIH0KfQoK",
"commentary":"First expression is evaluated first, and then second expression",
"description":"Checking with \"throw\"",
"path":"TestCases/ch11/11.6/11.6.1/S11.6.1_A2.4_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMS9TMTEuNi4xX0EyLjRfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggdW5kZWNsYXJhdGVkIHZhcmlhYmxlcwogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHggKyAoeCA9IDEpOwogICRFUlJPUignIzEuMTogeCArICh4ID0gMSkgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArICh4ICsgKHggPSAxKSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogeCArICh4ID0gMSkgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7ICAKICB9Cn0KCi8vQ0hFQ0sjMgppZiAoKHkgPSAxKSArIHkgIT09IDIpIHsKICAkRVJST1IoJyMyOiAoeSA9IDEpICsgeSA9PT0gMi4gQWN0dWFsOiAnICsgKCh5ID0gMSkgKyB5KSk7Cn0KCgo=",
"commentary":"First expression is evaluated first, and then second expression",
"description":"Checking with undeclarated variables",
"path":"TestCases/ch11/11.6/11.6.1/S11.6.1_A2.4_T3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBhbmQgVHlwZShQcmltaXRpdmUoeSkpIGlzIG5vdCBTdHJpbmcsIHRoZW4gb3BlcmF0b3IgeCArIHkgcmV0dXJucyBUb051bWJlcih4KSArIFRvTnVtYmVyKHkpCiAqCiAqIEBwYXRoIGNoMTEvMTEuNi8xMS42LjEvUzExLjYuMV9BMy4xX1QxLjEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoUHJpbWl0aXZlKHgpKSBhbmQgVHlwZShQcmltaXRpdmUoeSkpIHZhcnkgYmV0d2VlbiBwcmltaXRpdmUgYm9vbGVhbiBhbmQgQm9vbGVhbiBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKHRydWUgKyB0cnVlICE9PSAyKSB7CiAgJEVSUk9SKCcjMTogdHJ1ZSArIHRydWUgPT09IDIuIEFjdHVhbDogJyArICh0cnVlICsgdHJ1ZSkpOwp9CgovL0NIRUNLIzIKaWYgKG5ldyBCb29sZWFuKHRydWUpICsgdHJ1ZSAhPT0gMikgewogICRFUlJPUignIzI6IG5ldyBCb29sZWFuKHRydWUpICsgdHJ1ZSA9PT0gMi4gQWN0dWFsOiAnICsgKG5ldyBCb29sZWFuKHRydWUpICsgdHJ1ZSkpOwp9CgovL0NIRUNLIzMKaWYgKHRydWUgKyBuZXcgQm9vbGVhbih0cnVlKSAhPT0gMikgewogICRFUlJPUignIzM6IHRydWUgKyBuZXcgQm9vbGVhbih0cnVlKSA9PT0gMi4gQWN0dWFsOiAnICsgKHRydWUgKyBuZXcgQm9vbGVhbih0cnVlKSkpOwp9CgovL0NIRUNLIzQKaWYgKG5ldyBCb29sZWFuKHRydWUpICsgbmV3IEJvb2xlYW4odHJ1ZSkgIT09IDIpIHsKICAkRVJST1IoJyM0OiBuZXcgQm9vbGVhbih0cnVlKSArIG5ldyBCb29sZWFuKHRydWUpID09PSAyLiBBY3R1YWw6ICcgKyAobmV3IEJvb2xlYW4odHJ1ZSkgKyBuZXcgQm9vbGVhbih0cnVlKSkpOwp9Cgo=",
"commentary":"If Type(Primitive(x)) is not String and Type(Primitive(y)) is not String, then operator x + y returns ToNumber(x) + ToNumber(y)",
"description":"Type(Primitive(x)) and Type(Primitive(y)) vary between primitive boolean and Boolean object",
"path":"TestCases/ch11/11.6/11.6.1/S11.6.1_A3.1_T1.1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBhbmQgVHlwZShQcmltaXRpdmUoeSkpIGlzIG5vdCBTdHJpbmcsIHRoZW4gb3BlcmF0b3IgeCArIHkgcmV0dXJucyBUb051bWJlcih4KSArIFRvTnVtYmVyKHkpCiAqCiAqIEBwYXRoIGNoMTEvMTEuNi8xMS42LjEvUzExLjYuMV9BMy4xX1QxLjIuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoUHJpbWl0aXZlKHgpKSBhbmQgVHlwZShQcmltaXRpdmUoeSkpIHZhcnkgYmV0d2VlbiBwcmltaXRpdmUgbnVtYmVyIGFuZCBOdW1iZXIgb2JqZWN0CiAqLwoKLy9DSEVDSyMxCmlmICgxICsgMSAhPT0gMikgewogICRFUlJPUignIzE6IDEgKyAxID09PSAyLiBBY3R1YWw6ICcgKyAoMSArIDEpKTsKfQoKLy9DSEVDSyMyCmlmIChuZXcgTnVtYmVyKDEpICsgMSAhPT0gMikgewogICRFUlJPUignIzI6IG5ldyBOdW1iZXIoMSkgKyAxID09PSAyLiBBY3R1YWw6ICcgKyAobmV3IE51bWJlcigxKSArIDEpKTsKfQoKLy9DSEVDSyMzCmlmICgxICsgbmV3IE51bWJlcigxKSAhPT0gMikgewogICRFUlJPUignIzM6IDEgKyBuZXcgTnVtYmVyKDEpID09PSAyLiBBY3R1YWw6ICcgKyAoMSArIG5ldyBOdW1iZXIoMSkpKTsKfQoKLy9DSEVDSyM0CmlmIChuZXcgTnVtYmVyKDEpICsgbmV3IE51bWJlcigxKSAhPT0gMikgewogICRFUlJPUignIzQ6IG5ldyBOdW1iZXIoMSkgKyBuZXcgTnVtYmVyKDEpID09PSAyLiBBY3R1YWw6ICcgKyAobmV3IE51bWJlcigxKSArIG5ldyBOdW1iZXIoMSkpKTsKfQoKCg==",
"commentary":"If Type(Primitive(x)) is not String and Type(Primitive(y)) is not String, then operator x + y returns ToNumber(x) + ToNumber(y)",
"description":"Type(Primitive(x)) and Type(Primitive(y)) vary between primitive number and Number object",
"path":"TestCases/ch11/11.6/11.6.1/S11.6.1_A3.1_T1.2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBhbmQgVHlwZShQcmltaXRpdmUoeSkpIGlzIG5vdCBTdHJpbmcsIHRoZW4gb3BlcmF0b3IgeCArIHkgcmV0dXJucyBUb051bWJlcih4KSArIFRvTnVtYmVyKHkpCiAqCiAqIEBwYXRoIGNoMTEvMTEuNi8xMS42LjEvUzExLjYuMV9BMy4xX1QxLjMuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoUHJpbWl0aXZlKHgpKSBhbmQgVHlwZShQcmltaXRpdmUoeSkpIHZhcnkgYmV0d2VlbiBOdWxsIGFuZCBVbmRlZmluZWQKICovCgovL0NIRUNLIzEKaWYgKGlzTmFOKG51bGwgKyB1bmRlZmluZWQpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogbnVsbCArIHVuZGVmaW5lZCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAobnVsbCArIHVuZGVmaW5lZCkpOwp9CgovL0NIRUNLIzIKaWYgKGlzTmFOKHVuZGVmaW5lZCArIG51bGwpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogdW5kZWZpbmVkICsgbnVsbCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAodW5kZWZpbmVkICsgbnVsbCkpOwp9CgovL0NIRUNLIzMKaWYgKGlzTmFOKHVuZGVmaW5lZCArIHVuZGVmaW5lZCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiB1bmRlZmluZWQgKyB1bmRlZmluZWQgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHVuZGVmaW5lZCArIHVuZGVmaW5lZCkpOwp9CgovL0NIRUNLIzQKaWYgKG51bGwgKyBudWxsICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogbnVsbCArIG51bGwgPT09IDAuIEFjdHVhbDogJyArIChudWxsICsgbnVsbCkpOwp9Cgo=",
"commentary":"If Type(Primitive(x)) is not String and Type(Primitive(y)) is not String, then operator x + y returns ToNumber(x) + ToNumber(y)",
"description":"Type(Primitive(x)) and Type(Primitive(y)) vary between Null and Undefined",
"path":"TestCases/ch11/11.6/11.6.1/S11.6.1_A3.1_T1.3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBhbmQgVHlwZShQcmltaXRpdmUoeSkpIGlzIG5vdCBTdHJpbmcsIHRoZW4gb3BlcmF0b3IgeCArIHkgcmV0dXJucyBUb051bWJlcih4KSArIFRvTnVtYmVyKHkpCiAqCiAqIEBwYXRoIGNoMTEvMTEuNi8xMS42LjEvUzExLjYuMV9BMy4xX1QyLjEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoUHJpbWl0aXZlKHgpKSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKFByaW1pdGl2ZSh5KSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIE51bWJlciAocHJpbWl0aXZlIG9yIG9iamVjdCkgb3IgQm9vbGVhbiAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCmlmICh0cnVlICsgMSAhPT0gMikgewogICRFUlJPUignIzE6IHRydWUgKyAxID09PSAyLiBBY3R1YWw6ICcgKyAodHJ1ZSArIDEpKTsKfQoKLy9DSEVDSyMyCmlmICgxICsgdHJ1ZSAhPT0gMikgewogICRFUlJPUignIzI6IDEgKyB0cnVlID09PSAyLiBBY3R1YWw6ICcgKyAoMSArIHRydWUpKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgQm9vbGVhbih0cnVlKSArIDEgIT09IDIpIHsKICAkRVJST1IoJyMzOiBuZXcgQm9vbGVhbih0cnVlKSArIDEgPT09IDIuIEFjdHVhbDogJyArIChuZXcgQm9vbGVhbih0cnVlKSArIDEpKTsKfQoKLy9DSEVDSyM0CmlmICgxICsgbmV3IEJvb2xlYW4odHJ1ZSkgIT09IDIpIHsKICAkRVJST1IoJyM0OiAxICsgbmV3IEJvb2xlYW4odHJ1ZSkgPT09IDIuIEFjdHVhbDogJyArICgxICsgbmV3IEJvb2xlYW4odHJ1ZSkpKTsKfQoKLy9DSEVDSyM1CmlmICh0cnVlICsgbmV3IE51bWJlcigxKSAhPT0gMikgewogICRFUlJPUignIzU6IHRydWUgKyBuZXcgTnVtYmVyKDEpID09PSAyLiBBY3R1YWw6ICcgKyAodHJ1ZSArIG5ldyBOdW1iZXIoMSkpKTsKfQoKLy9DSEVDSyM2CmlmIChuZXcgTnVtYmVyKDEpICsgdHJ1ZSAhPT0gMikgewogICRFUlJPUignIzY6IG5ldyBOdW1iZXIoMSkgKyB0cnVlID09PSAyLiBBY3R1YWw6ICcgKyAobmV3IE51bWJlcigxKSArIHRydWUpKTsKfQoKLy9DSEVDSyM3CmlmIChuZXcgQm9vbGVhbih0cnVlKSArIG5ldyBOdW1iZXIoMSkgIT09IDIpIHsKICAkRVJST1IoJyM3OiBuZXcgQm9vbGVhbih0cnVlKSArIG5ldyBOdW1iZXIoMSkgPT09IDIuIEFjdHVhbDogJyArIChuZXcgQm9vbGVhbih0cnVlKSArIG5ldyBOdW1iZXIoMSkpKTsKfQoKLy9DSEVDSyM4CmlmIChuZXcgTnVtYmVyKDEpICsgbmV3IEJvb2xlYW4odHJ1ZSkgIT09IDIpIHsKICAkRVJST1IoJyM4OiBuZXcgTnVtYmVyKDEpICsgbmV3IEJvb2xlYW4odHJ1ZSkgPT09IDIuIEFjdHVhbDogJyArIChuZXcgTnVtYmVyKDEpICsgbmV3IEJvb2xlYW4odHJ1ZSkpKTsKfQoK",
"commentary":"If Type(Primitive(x)) is not String and Type(Primitive(y)) is not String, then operator x + y returns ToNumber(x) + ToNumber(y)",
"description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Number (primitive or object) or Boolean (primitive and object)",
"path":"TestCases/ch11/11.6/11.6.1/S11.6.1_A3.1_T2.1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBhbmQgVHlwZShQcmltaXRpdmUoeSkpIGlzIG5vdCBTdHJpbmcsIHRoZW4gb3BlcmF0b3IgeCArIHkgcmV0dXJucyBUb051bWJlcih4KSArIFRvTnVtYmVyKHkpCiAqCiAqIEBwYXRoIGNoMTEvMTEuNi8xMS42LjEvUzExLjYuMV9BMy4xX1QyLjIuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoUHJpbWl0aXZlKHgpKSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKFByaW1pdGl2ZSh5KSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIE51bWJlciAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIE51bGwKICovCgovL0NIRUNLIzEKaWYgKDEgKyBudWxsICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogMSArIG51bGwgPT09IDEuIEFjdHVhbDogJyArICgxICsgbnVsbCkpOwp9CgovL0NIRUNLIzIKaWYgKG51bGwgKyAxICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogbnVsbCArIDEgPT09IDEuIEFjdHVhbDogJyArIChudWxsICsgMSkpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBOdW1iZXIoMSkgKyBudWxsICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogbmV3IE51bWJlcigxKSArIG51bGwgPT09IDEuIEFjdHVhbDogJyArIChuZXcgTnVtYmVyKDEpICsgbnVsbCkpOwp9CgovL0NIRUNLIzQKaWYgKG51bGwgKyBuZXcgTnVtYmVyKDEpICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogbnVsbCArIG5ldyBOdW1iZXIoMSkgPT09IDEuIEFjdHVhbDogJyArIChudWxsICsgbmV3IE51bWJlcigxKSkpOwp9Cgo=",
"commentary":"If Type(Primitive(x)) is not String and Type(Primitive(y)) is not String, then operator x + y returns ToNumber(x) + ToNumber(y)",
"description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Number (primitive or object) and Null",
"path":"TestCases/ch11/11.6/11.6.1/S11.6.1_A3.1_T2.2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBhbmQgVHlwZShQcmltaXRpdmUoeSkpIGlzIG5vdCBTdHJpbmcsIHRoZW4gb3BlcmF0b3IgeCArIHkgcmV0dXJucyBUb051bWJlcih4KSArIFRvTnVtYmVyKHkpCiAqCiAqIEBwYXRoIGNoMTEvMTEuNi8xMS42LjEvUzExLjYuMV9BMy4xX1QyLjMuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoUHJpbWl0aXZlKHgpKSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKFByaW1pdGl2ZSh5KSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIE51bWJlciAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQppZiAoaXNOYU4oMSArIHVuZGVmaW5lZCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiAxICsgdW5kZWZpbmVkID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICgxICsgdW5kZWZpbmVkKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoaXNOYU4odW5kZWZpbmVkICsgMSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB1bmRlZmluZWQgKyAxID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh1bmRlZmluZWQgKyAxKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoaXNOYU4obmV3IE51bWJlcigxKSArIHVuZGVmaW5lZCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiBuZXcgTnVtYmVyKDEpICsgdW5kZWZpbmVkID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChuZXcgTnVtYmVyKDEpICsgdW5kZWZpbmVkKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoaXNOYU4odW5kZWZpbmVkICsgbmV3IE51bWJlcigxKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiB1bmRlZmluZWQgKyBuZXcgTnVtYmVyKDEpID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh1bmRlZmluZWQgKyBuZXcgTnVtYmVyKDEpKSk7Cn0KCg==",
"commentary":"If Type(Primitive(x)) is not String and Type(Primitive(y)) is not String, then operator x + y returns ToNumber(x) + ToNumber(y)",
"description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Number (primitive or object) and Undefined",
"path":"TestCases/ch11/11.6/11.6.1/S11.6.1_A3.1_T2.3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBhbmQgVHlwZShQcmltaXRpdmUoeSkpIGlzIG5vdCBTdHJpbmcsIHRoZW4gb3BlcmF0b3IgeCArIHkgcmV0dXJucyBUb051bWJlcih4KSArIFRvTnVtYmVyKHkpCiAqCiAqIEBwYXRoIGNoMTEvMTEuNi8xMS42LjEvUzExLjYuMV9BMy4xX1QyLjQuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoUHJpbWl0aXZlKHgpKSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKFByaW1pdGl2ZSh5KSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIEJvb2xlYW4gKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBVbmRlZmluZWQKICovCgovL0NIRUNLIzEKaWYgKGlzTmFOKHRydWUgKyB1bmRlZmluZWQpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogdHJ1ZSArIHVuZGVmaW5lZCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAodHJ1ZSArIHVuZGVmaW5lZCkpOwp9CgovL0NIRUNLIzIKaWYgKGlzTmFOKHVuZGVmaW5lZCArIHRydWUpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogdW5kZWZpbmVkICsgdHJ1ZSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAodW5kZWZpbmVkICsgdHJ1ZSkpOwp9CgovL0NIRUNLIzMKaWYgKGlzTmFOKG5ldyBCb29sZWFuKHRydWUpICsgdW5kZWZpbmVkKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IG5ldyBCb29sZWFuKHRydWUpICsgdW5kZWZpbmVkID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChuZXcgQm9vbGVhbih0cnVlKSArIHVuZGVmaW5lZCkpOwp9CgovL0NIRUNLIzQKaWYgKGlzTmFOKHVuZGVmaW5lZCArIG5ldyBCb29sZWFuKHRydWUpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6IHVuZGVmaW5lZCArIG5ldyBCb29sZWFuKHRydWUpID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh1bmRlZmluZWQgKyBuZXcgQm9vbGVhbih0cnVlKSkpOwp9Cgo=",
"commentary":"If Type(Primitive(x)) is not String and Type(Primitive(y)) is not String, then operator x + y returns ToNumber(x) + ToNumber(y)",
"description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Boolean (primitive or object) and Undefined",
"path":"TestCases/ch11/11.6/11.6.1/S11.6.1_A3.1_T2.4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBhbmQgVHlwZShQcmltaXRpdmUoeSkpIGlzIG5vdCBTdHJpbmcsIHRoZW4gb3BlcmF0b3IgeCArIHkgcmV0dXJucyBUb051bWJlcih4KSArIFRvTnVtYmVyKHkpCiAqCiAqIEBwYXRoIGNoMTEvMTEuNi8xMS42LjEvUzExLjYuMV9BMy4xX1QyLjUuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoUHJpbWl0aXZlKHgpKSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKFByaW1pdGl2ZSh5KSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIEJvb2xlYW4gKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBOdWxsCiAqLwoKLy9DSEVDSyMxCmlmICh0cnVlICsgbnVsbCAhPT0gMSkgewogICRFUlJPUignIzE6IHRydWUgKyBudWxsID09PSAxLiBBY3R1YWw6ICcgKyAodHJ1ZSArIG51bGwpKTsKfQoKLy9DSEVDSyMyCmlmIChudWxsICsgdHJ1ZSAhPT0gMSkgewogICRFUlJPUignIzI6IG51bGwgKyB0cnVlID09PSAxLiBBY3R1YWw6ICcgKyAobnVsbCArIHRydWUpKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgQm9vbGVhbih0cnVlKSArIG51bGwgIT09IDEpIHsKICAkRVJST1IoJyMzOiBuZXcgQm9vbGVhbih0cnVlKSArIG51bGwgPT09IDEuIEFjdHVhbDogJyArIChuZXcgQm9vbGVhbih0cnVlKSArIG51bGwpKTsKfQoKLy9DSEVDSyM0CmlmIChudWxsICsgbmV3IEJvb2xlYW4odHJ1ZSkgIT09IDEpIHsKICAkRVJST1IoJyM0OiBudWxsICsgbmV3IEJvb2xlYW4odHJ1ZSkgPT09IDEuIEFjdHVhbDogJyArIChudWxsICsgbmV3IEJvb2xlYW4odHJ1ZSkpKTsKfQoK",
"commentary":"If Type(Primitive(x)) is not String and Type(Primitive(y)) is not String, then operator x + y returns ToNumber(x) + ToNumber(y)",
"description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Boolean (primitive or object) and Null",
"path":"TestCases/ch11/11.6/11.6.1/S11.6.1_A3.1_T2.5.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgU3RyaW5nIG9yIFR5cGUoUHJpbWl0aXZlKHkpKSBpcyBTdHJpbmcsIHRoZW4gb3BlcmF0b3IgeCArIHkgcmV0dXJucyB0aGUgcmVzdWx0IG9mIGNvbmNhdGVuYXRpbmcgVG9TdHJpbmcoeCkgZm9sbG93ZWQgYnkgVG9TdHJpbmcoeSkKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMS9TMTEuNi4xX0EzLjJfVDEuMS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGFuZCBUeXBlKFByaW1pdGl2ZSh5KSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBzdHJpbmcgYW5kIFN0cmluZyBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKCIxIiArICIxIiAhPT0gIjExIikgewogICRFUlJPUignIzE6ICIxIiArICIxIiA9PT0gIjExIi4gQWN0dWFsOiAnICsgKCIxIiArICIxIikpOwp9CgovL0NIRUNLIzIKaWYgKG5ldyBTdHJpbmcoIjEiKSArICIxIiAhPT0gIjExIikgewogICRFUlJPUignIzI6IG5ldyBTdHJpbmcoIjEiKSArICIxIiA9PT0gIjExIi4gQWN0dWFsOiAnICsgKG5ldyBTdHJpbmcoIjEiKSArICIxIikpOwp9CgovL0NIRUNLIzMKaWYgKCIxIiArIG5ldyBTdHJpbmcoIjEiKSAhPT0gIjExIikgewogICRFUlJPUignIzM6ICIxIiArIG5ldyBTdHJpbmcoIjEiKSA9PT0gIjExIi4gQWN0dWFsOiAnICsgKCIxIiArIG5ldyBTdHJpbmcoIjEiKSkpOwp9CgovL0NIRUNLIzQKaWYgKG5ldyBTdHJpbmcoIjEiKSArIG5ldyBTdHJpbmcoIjEiKSAhPT0gIjExIikgewogICRFUlJPUignIzQ6IG5ldyBTdHJpbmcoIjEiKSArIG5ldyBTdHJpbmcoIjEiKSA9PT0gIjExIi4gQWN0dWFsOiAnICsgKG5ldyBTdHJpbmcoIjEiKSArIG5ldyBTdHJpbmcoIjEiKSkpOwp9CgovL0NIRUNLIzUKaWYgKCJ4IiArICIxIiAhPT0ieDEiKSB7CiAgJEVSUk9SKCcjNTogIngiICsgIjEiID09PSAieDEiLiBBY3R1YWw6ICcgKyAoIngiICsgIjEiKSk7Cn0KCi8vQ0hFQ0sjNgppZiAoIjEiICsgIngiICE9PSAiMXgiKSB7CiAgJEVSUk9SKCcjNjogIjEiICsgIngiID09PSAiMXgiLiBBY3R1YWw6ICcgKyAoIjEiICsgIngiKSk7Cn0KCg==",
"commentary":"If Type(Primitive(x)) is String or Type(Primitive(y)) is String, then operator x + y returns the result of concatenating ToString(x) followed by ToString(y)",
"description":"Type(Primitive(x)) and Type(Primitive(y)) vary between primitive string and String object",
"path":"TestCases/ch11/11.6/11.6.1/S11.6.1_A3.2_T1.1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgU3RyaW5nIG9yIFR5cGUoUHJpbWl0aXZlKHkpKSBpcyBTdHJpbmcsIHRoZW4gb3BlcmF0b3IgeCArIHkgcmV0dXJucyB0aGUgcmVzdWx0IG9mIGNvbmNhdGVuYXRpbmcgVG9TdHJpbmcoeCkgZm9sbG93ZWQgYnkgVG9TdHJpbmcoeSkKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMS9TMTEuNi4xX0EzLjJfVDEuMi5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGFuZCBUeXBlKFByaW1pdGl2ZSh5KSkgdmFyeSBiZXR3ZWVuIE9iamVjdCBvYmplY3QgYW5kIEZ1bmN0aW9uIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAoKHt9ICsgZnVuY3Rpb24oKXtyZXR1cm4gMX0pICE9PSAoe30udG9TdHJpbmcoKSArIGZ1bmN0aW9uKCl7cmV0dXJuIDF9LnRvU3RyaW5nKCkpKSB7CiAgJEVSUk9SKCcjMTogKHt9ICsgZnVuY3Rpb24oKXtyZXR1cm4gMX0pID09PSAoe30udG9TdHJpbmcoKSArIGZ1bmN0aW9uKCl7cmV0dXJuIDF9LnRvU3RyaW5nKCkpLiBBY3R1YWw6ICcgKyAoKHt9ICsgZnVuY3Rpb24oKXtyZXR1cm4gMX0pKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoKGZ1bmN0aW9uKCl7cmV0dXJuIDF9ICsge30pICE9PSAoZnVuY3Rpb24oKXtyZXR1cm4gMX0udG9TdHJpbmcoKSArIHt9LnRvU3RyaW5nKCkpKSB7CiAgJEVSUk9SKCcjMjogKGZ1bmN0aW9uKCl7cmV0dXJuIDF9ICsge30pID09PSAoZnVuY3Rpb24oKXtyZXR1cm4gMX0udG9TdHJpbmcoKSArIHt9LnRvU3RyaW5nKCkpLiBBY3R1YWw6ICcgKyAoKGZ1bmN0aW9uKCl7cmV0dXJuIDF9ICsge30pKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoKGZ1bmN0aW9uKCl7cmV0dXJuIDF9ICsgZnVuY3Rpb24oKXtyZXR1cm4gMX0pICE9PSAoZnVuY3Rpb24oKXtyZXR1cm4gMX0udG9TdHJpbmcoKSArIGZ1bmN0aW9uKCl7cmV0dXJuIDF9LnRvU3RyaW5nKCkpKSB7CiAgJEVSUk9SKCcjMzogKGZ1bmN0aW9uKCl7cmV0dXJuIDF9ICsgZnVuY3Rpb24oKXtyZXR1cm4gMX0pID09PSAoZnVuY3Rpb24oKXtyZXR1cm4gMX0udG9TdHJpbmcoKSArIGZ1bmN0aW9uKCl7cmV0dXJuIDF9LnRvU3RyaW5nKCkpLiBBY3R1YWw6ICcgKyAoKGZ1bmN0aW9uKCl7cmV0dXJuIDF9ICsgZnVuY3Rpb24oKXtyZXR1cm4gMX0pKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoKHt9ICsge30pICE9PSAoe30udG9TdHJpbmcoKSArIHt9LnRvU3RyaW5nKCkpKSB7CiAgJEVSUk9SKCcjNDogKHt9ICsge30pID09PSAoe30udG9TdHJpbmcoKSArIHt9LnRvU3RyaW5nKCkpLiBBY3R1YWw6ICcgKyAoKHt9ICsge30pKSk7Cn0KCgoK",
"commentary":"If Type(Primitive(x)) is String or Type(Primitive(y)) is String, then operator x + y returns the result of concatenating ToString(x) followed by ToString(y)",
"description":"Type(Primitive(x)) and Type(Primitive(y)) vary between Object object and Function object",
"path":"TestCases/ch11/11.6/11.6.1/S11.6.1_A3.2_T1.2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgU3RyaW5nIG9yIFR5cGUoUHJpbWl0aXZlKHkpKSBpcyBTdHJpbmcsIHRoZW4gb3BlcmF0b3IgeCArIHkgcmV0dXJucyB0aGUgcmVzdWx0IG9mIGNvbmNhdGVuYXRpbmcgVG9TdHJpbmcoeCkgZm9sbG93ZWQgYnkgVG9TdHJpbmcoeSkKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMS9TMTEuNi4xX0EzLjJfVDIuMS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoUHJpbWl0aXZlKHkpKSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgU3RyaW5nIChwcmltaXRpdmUgYW5kIG9iamVjdCkKICovCgovL0NIRUNLIzEKaWYgKCIxIiArIDEgIT09ICIxMSIpIHsKICAkRVJST1IoJyMxOiAiMSIgKyAxID09PSAiMTEiLiBBY3R1YWw6ICcgKyAoIjEiICsgMSkpOwp9CgovL0NIRUNLIzIKaWYgKDEgKyAiMSIgIT09ICIxMSIpIHsKICAkRVJST1IoJyMyOiAxICsgIjEiID09PSAiMTEiLiBBY3R1YWw6ICcgKyAoMSArICIxIikpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBTdHJpbmcoIjEiKSArIDEgIT09ICIxMSIpIHsKICAkRVJST1IoJyMzOiBuZXcgU3RyaW5nKCIxIikgKyAxID09PSAiMTEiLiBBY3R1YWw6ICcgKyAobmV3IFN0cmluZygiMSIpICsgMSkpOwp9CgovL0NIRUNLIzQKaWYgKDEgKyBuZXcgU3RyaW5nKCIxIikgIT09ICIxMSIpIHsKICAkRVJST1IoJyM0OiAxICsgbmV3IFN0cmluZygiMSIpID09PSAiMTEiLiBBY3R1YWw6ICcgKyAoMSArIG5ldyBTdHJpbmcoIjEiKSkpOwp9CgovL0NIRUNLIzUKaWYgKCIxIiArIG5ldyBOdW1iZXIoMSkgIT09ICIxMSIpIHsKICAkRVJST1IoJyM1OiAiMSIgKyBuZXcgTnVtYmVyKDEpID09PSAiMTEiLiBBY3R1YWw6ICcgKyAoIjEiICsgbmV3IE51bWJlcigxKSkpOwp9CgovL0NIRUNLIzYKaWYgKG5ldyBOdW1iZXIoMSkgKyAiMSIgIT09ICIxMSIpIHsKICAkRVJST1IoJyM2OiBuZXcgTnVtYmVyKDEpICsgIjEiID09PSAiMTEiLiBBY3R1YWw6ICcgKyAobmV3IE51bWJlcigxKSArICIxIikpOwp9CgovL0NIRUNLIzcKaWYgKG5ldyBTdHJpbmcoIjEiKSArIG5ldyBOdW1iZXIoMSkgIT09ICIxMSIpIHsKICAkRVJST1IoJyM3OiBuZXcgU3RyaW5nKCIxIikgKyBuZXcgTnVtYmVyKDEpID09PSAiMTEiLiBBY3R1YWw6ICcgKyAobmV3IFN0cmluZygiMSIpICsgbmV3IE51bWJlcigxKSkpOwp9CgovL0NIRUNLIzgKaWYgKG5ldyBOdW1iZXIoMSkgKyBuZXcgU3RyaW5nKCIxIikgIT09ICIxMSIpIHsKICAkRVJST1IoJyM4OiBuZXcgTnVtYmVyKDEpICsgbmV3IFN0cmluZygiMSIpID09PSAiMTEiLiBBY3R1YWw6ICcgKyAobmV3IE51bWJlcigxKSArIG5ldyBTdHJpbmcoIjEiKSkpOwp9CgovL0NIRUNLIzkKaWYgKCJ4IiArIDEgIT09IngxIikgewogICRFUlJPUignIzk6ICJ4IiArIDEgPT09ICJ4MSIuIEFjdHVhbDogJyArICgieCIgKyAxKSk7Cn0KCi8vQ0hFQ0sjMTAKaWYgKDEgKyAieCIgIT09ICIxeCIpIHsKICAkRVJST1IoJyMxMDogMSArICJ4IiA9PT0gIjF4Ii4gQWN0dWFsOiAnICsgKDEgKyAieCIpKTsKfQoK",
"commentary":"If Type(Primitive(x)) is String or Type(Primitive(y)) is String, then operator x + y returns the result of concatenating ToString(x) followed by ToString(y)",
"description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Number (primitive or object) and String (primitive and object)",
"path":"TestCases/ch11/11.6/11.6.1/S11.6.1_A3.2_T2.1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgU3RyaW5nIG9yIFR5cGUoUHJpbWl0aXZlKHkpKSBpcyBTdHJpbmcsIHRoZW4gb3BlcmF0b3IgeCArIHkgcmV0dXJucyB0aGUgcmVzdWx0IG9mIGNvbmNhdGVuYXRpbmcgVG9TdHJpbmcoeCkgZm9sbG93ZWQgYnkgVG9TdHJpbmcoeSkKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMS9TMTEuNi4xX0EzLjJfVDIuMi5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoUHJpbWl0aXZlKHkpKSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgQm9vbGVhbiAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCmlmICh0cnVlICsgIjEiICE9PSAidHJ1ZTEiKSB7CiAgJEVSUk9SKCcjMTogdHJ1ZSArICIxIiA9PT0gInRydWUxIi4gQWN0dWFsOiAnICsgKHRydWUgKyAiMSIpKTsKfQoKLy9DSEVDSyMyCmlmICgiMSIgKyB0cnVlICE9PSAiMXRydWUiKSB7CiAgJEVSUk9SKCcjMjogIjEiICsgdHJ1ZSA9PT0gIjF0cnVlIi4gQWN0dWFsOiAnICsgKCIxIiArIHRydWUpKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgQm9vbGVhbih0cnVlKSArICIxIiAhPT0gInRydWUxIikgewogICRFUlJPUignIzM6IG5ldyBCb29sZWFuKHRydWUpICsgIjEiID09PSAidHJ1ZTEiLiBBY3R1YWw6ICcgKyAobmV3IEJvb2xlYW4odHJ1ZSkgKyAiMSIpKTsKfQoKLy9DSEVDSyM0CmlmICgiMSIgKyBuZXcgQm9vbGVhbih0cnVlKSAhPT0gIjF0cnVlIikgewogICRFUlJPUignIzQ6ICIxIiArIG5ldyBCb29sZWFuKHRydWUpID09PSAiMXRydWUiLiBBY3R1YWw6ICcgKyAoIjEiICsgbmV3IEJvb2xlYW4odHJ1ZSkpKTsKfQoKLy9DSEVDSyM1CmlmICh0cnVlICsgbmV3IFN0cmluZygiMSIpICE9PSAidHJ1ZTEiKSB7CiAgJEVSUk9SKCcjNTogdHJ1ZSArIG5ldyBTdHJpbmcoIjEiKSA9PT0gInRydWUxIi4gQWN0dWFsOiAnICsgKHRydWUgKyBuZXcgU3RyaW5nKCIxIikpKTsKfQoKLy9DSEVDSyM2CmlmIChuZXcgU3RyaW5nKCIxIikgKyB0cnVlICE9PSAiMXRydWUiKSB7CiAgJEVSUk9SKCcjNjogbmV3IFN0cmluZygiMSIpICsgdHJ1ZSA9PT0gIjF0cnVlIi4gQWN0dWFsOiAnICsgKG5ldyBTdHJpbmcoIjEiKSArIHRydWUpKTsKfQoKLy9DSEVDSyM3CmlmIChuZXcgQm9vbGVhbih0cnVlKSArIG5ldyBTdHJpbmcoIjEiKSAhPT0gInRydWUxIikgewogICRFUlJPUignIzc6IG5ldyBCb29sZWFuKHRydWUpICsgbmV3IFN0cmluZygiMSIpID09PSAidHJ1ZTEiLiBBY3R1YWw6ICcgKyAobmV3IEJvb2xlYW4odHJ1ZSkgKyBuZXcgU3RyaW5nKCIxIikpKTsKfQoKLy9DSEVDSyM4CmlmIChuZXcgU3RyaW5nKCIxIikgKyBuZXcgQm9vbGVhbih0cnVlKSAhPT0gIjF0cnVlIikgewogICRFUlJPUignIzg6IG5ldyBTdHJpbmcoIjEiKSArIG5ldyBCb29sZWFuKHRydWUpID09PSAiMXRydWUiLiBBY3R1YWw6ICcgKyAobmV3IFN0cmluZygiMSIpICsgbmV3IEJvb2xlYW4odHJ1ZSkpKTsKfQoK",
"commentary":"If Type(Primitive(x)) is String or Type(Primitive(y)) is String, then operator x + y returns the result of concatenating ToString(x) followed by ToString(y)",
"description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between String (primitive or object) and Boolean (primitive and object)",
"path":"TestCases/ch11/11.6/11.6.1/S11.6.1_A3.2_T2.2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgU3RyaW5nIG9yIFR5cGUoUHJpbWl0aXZlKHkpKSBpcyBTdHJpbmcsIHRoZW4gb3BlcmF0b3IgeCArIHkgcmV0dXJucyB0aGUgcmVzdWx0IG9mIGNvbmNhdGVuYXRpbmcgVG9TdHJpbmcoeCkgZm9sbG93ZWQgYnkgVG9TdHJpbmcoeSkKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMS9TMTEuNi4xX0EzLjJfVDIuMy5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoUHJpbWl0aXZlKHkpKSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCmlmICgiMSIgKyB1bmRlZmluZWQgIT09ICIxdW5kZWZpbmVkIikgewogICRFUlJPUignIzE6ICIxIiArIHVuZGVmaW5lZCA9PT0gIjF1bmRlZmluZWQiLiBBY3R1YWw6ICcgKyAoIjEiICsgdW5kZWZpbmVkKSk7Cn0KCi8vQ0hFQ0sjMgppZiAodW5kZWZpbmVkICsgIjEiICE9PSAidW5kZWZpbmVkMSIpIHsKICAkRVJST1IoJyMyOiB1bmRlZmluZWQgKyAiMSIgPT09ICJ1bmRlZmluZWQxIi4gQWN0dWFsOiAnICsgKHVuZGVmaW5lZCArICIxIikpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBTdHJpbmcoIjEiKSArIHVuZGVmaW5lZCAhPT0gIjF1bmRlZmluZWQiKSB7CiAgJEVSUk9SKCcjMzogbmV3IFN0cmluZygiMSIpICsgdW5kZWZpbmVkID09PSAiMXVuZGVmaW5lZCIuIEFjdHVhbDogJyArIChuZXcgU3RyaW5nKCIxIikgKyB1bmRlZmluZWQpKTsKfQoKLy9DSEVDSyM0CmlmICh1bmRlZmluZWQgKyBuZXcgU3RyaW5nKCIxIikgIT09ICJ1bmRlZmluZWQxIikgewogICRFUlJPUignIzQ6IHVuZGVmaW5lZCArIG5ldyBTdHJpbmcoIjEiKSA9PT0gInVuZGVmaW5lZDEiLiBBY3R1YWw6ICcgKyAodW5kZWZpbmVkICsgbmV3IFN0cmluZygiMSIpKSk7Cn0KCg==",
"commentary":"If Type(Primitive(x)) is String or Type(Primitive(y)) is String, then operator x + y returns the result of concatenating ToString(x) followed by ToString(y)",
"description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between String (primitive or object) and Undefined",
"path":"TestCases/ch11/11.6/11.6.1/S11.6.1_A3.2_T2.3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgU3RyaW5nIG9yIFR5cGUoUHJpbWl0aXZlKHkpKSBpcyBTdHJpbmcsIHRoZW4gb3BlcmF0b3IgeCArIHkgcmV0dXJucyB0aGUgcmVzdWx0IG9mIGNvbmNhdGVuYXRpbmcgVG9TdHJpbmcoeCkgZm9sbG93ZWQgYnkgVG9TdHJpbmcoeSkKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMS9TMTEuNi4xX0EzLjJfVDIuNC5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoUHJpbWl0aXZlKHkpKSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQppZiAoIjEiICsgbnVsbCAhPT0gIjFudWxsIikgewogICRFUlJPUignIzE6ICIxIiArIG51bGwgPT09ICIxbnVsbCIuIEFjdHVhbDogJyArICgiMSIgKyBudWxsKSk7Cn0KCi8vQ0hFQ0sjMgppZiAobnVsbCArICIxIiAhPT0gIm51bGwxIikgewogICRFUlJPUignIzI6IG51bGwgKyAiMSIgPT09ICJudWxsMSIuIEFjdHVhbDogJyArIChudWxsICsgIjEiKSk7Cn0KCi8vQ0hFQ0sjMwppZiAobmV3IFN0cmluZygiMSIpICsgbnVsbCAhPT0gIjFudWxsIikgewogICRFUlJPUignIzM6IG5ldyBTdHJpbmcoIjEiKSArIG51bGwgPT09ICIxbnVsbCIuIEFjdHVhbDogJyArIChuZXcgU3RyaW5nKCIxIikgKyBudWxsKSk7Cn0KCi8vQ0hFQ0sjNAppZiAobnVsbCArIG5ldyBTdHJpbmcoIjEiKSAhPT0gIm51bGwxIikgewogICRFUlJPUignIzQ6IG51bGwgKyBuZXcgU3RyaW5nKCIxIikgPT09ICJudWxsMSIuIEFjdHVhbDogJyArIChudWxsICsgbmV3IFN0cmluZygiMSIpKSk7Cn0KCg==",
"commentary":"If Type(Primitive(x)) is String or Type(Primitive(y)) is String, then operator x + y returns the result of concatenating ToString(x) followed by ToString(y)",
"description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between String (primitive or object) and Null",
"path":"TestCases/ch11/11.6/11.6.1/S11.6.1_A3.2_T2.4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGFuIGFkZGl0aW9uIGlzIGRldGVybWluZWQgdXNpbmcgdGhlIHJ1bGVzIG9mIElFRUUgNzU0IGRvdWJsZS1wcmVjaXNpb24gYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMS9TMTEuNi4xX0E0X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBlaXRoZXIgb3BlcmFuZCBpcyBOYU4sIHRoZSByZXN1bHQgaXMgTmFOCiAqLwoKLy9DSEVDSyMxCmlmIChpc05hTihOdW1iZXIuTmFOICsgMSkgIT09IHRydWUgKSB7CiAgJEVSUk9SKCcjMTogTmFOICsgMSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoTmFOICsgMSkpOwp9CgovL0NIRUNLIzIKaWYgKGlzTmFOKDEgKyBOdW1iZXIuTmFOKSAhPT0gdHJ1ZSApIHsKICAkRVJST1IoJyMyOiAxICsgTmFOID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICgxICsgTmFOKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoaXNOYU4oTnVtYmVyLk5hTiArIE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgIT09IHRydWUgKSB7CiAgJEVSUk9SKCcjMzogTmFOICsgSW5maW5pdHkgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKE5hTiArIEluZmluaXR5KSk7Cn0KCi8vQ0hFQ0sjNAppZiAoaXNOYU4oTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZICsgTnVtYmVyLk5hTikgIT09IHRydWUgKSB7CiAgJEVSUk9SKCcjNDogSW5maW5pdHkgKyBOYU4gPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKEluZmluaXR5ICsgTmFOKSk7Cn0KCi8vQ0hFQ0sjNQppZiAoaXNOYU4oTnVtYmVyLk5hTiArIE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgIT09IHRydWUgKSB7CiAgJEVSUk9SKCcjNTogTmFOICsgSW5maW5pdHkgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKE5hTiArIEluZmluaXR5KSk7Cn0KCi8vQ0hFQ0sjNgppZiAoaXNOYU4oTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZICsgTnVtYmVyLk5hTikgIT09IHRydWUgKSB7CiAgJEVSUk9SKCcjNjogSW5maW5pdHkgKyBOYU4gPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKEluZmluaXR5ICsgTmFOKSk7Cn0KCgo=",
"commentary":"The result of an addition is determined using the rules of IEEE 754 double-precision arithmetics",
"description":"If either operand is NaN, the result is NaN",
"path":"TestCases/ch11/11.6/11.6.1/S11.6.1_A4_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGFuIGFkZGl0aW9uIGlzIGRldGVybWluZWQgdXNpbmcgdGhlIHJ1bGVzIG9mIElFRUUgNzU0IGRvdWJsZS1wcmVjaXNpb24gYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMS9TMTEuNi4xX0E0X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgc3VtIG9mIHR3byBpbmZpbml0aWVzIG9mIG9wcG9zaXRlIHNpZ24gaXMgTmFOCiAqLwoKLy9DSEVDSyMxCmlmIChpc05hTihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgKyBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpICE9PSB0cnVlICkgewogICRFUlJPUignIzE6IEluZmluaXR5ICsgLUluZmluaXR5ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChJbmZpbml0eSArIC1JbmZpbml0eSkpOwp9CgovL0NIRUNLIzIKaWYgKGlzTmFOKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSArIE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgIT09IHRydWUgKSB7CiAgJEVSUk9SKCcjMjogLUluZmluaXR5ICsgSW5maW5pdHkgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKC1JbmZpbml0eSArIEluZmluaXR5KSk7Cn0KCgoKCg==",
"commentary":"The result of an addition is determined using the rules of IEEE 754 double-precision arithmetics",
"description":"The sum of two infinities of opposite sign is NaN",
"path":"TestCases/ch11/11.6/11.6.1/S11.6.1_A4_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGFuIGFkZGl0aW9uIGlzIGRldGVybWluZWQgdXNpbmcgdGhlIHJ1bGVzIG9mIElFRUUgNzU0IGRvdWJsZS1wcmVjaXNpb24gYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMS9TMTEuNi4xX0E0X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgc3VtIG9mIHR3byBpbmZpbml0aWVzIG9mIHRoZSBzYW1lIHNpZ24gaXMgdGhlIGluZmluaXR5IG9mIHRoYXQgc2lnbgogKi8KCi8vQ0hFQ0sjMQppZiAoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZICsgTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgKSB7CiAgJEVSUk9SKCcjMTogSW5maW5pdHkgKyBJbmZpbml0eSA9PT0gSW5maW5pdHkuIEFjdHVhbDogJyArIChJbmZpbml0eSArIEluZmluaXR5KSk7Cn0KCi8vQ0hFQ0sjMgppZiAoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZICsgTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZICE9PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgKSB7CiAgJEVSUk9SKCcjMjogLUluZmluaXR5ICsgLUluZmluaXR5ID09PSAtSW5maW5pdHkuIEFjdHVhbDogJyArICgtSW5maW5pdHkgKyAtSW5maW5pdHkpKTsKfQoKCgoK",
"commentary":"The result of an addition is determined using the rules of IEEE 754 double-precision arithmetics",
"description":"The sum of two infinities of the same sign is the infinity of that sign",
"path":"TestCases/ch11/11.6/11.6.1/S11.6.1_A4_T3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGFuIGFkZGl0aW9uIGlzIGRldGVybWluZWQgdXNpbmcgdGhlIHJ1bGVzIG9mIElFRUUgNzU0IGRvdWJsZS1wcmVjaXNpb24gYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMS9TMTEuNi4xX0E0X1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgc3VtIG9mIGFuIGluZmluaXR5IGFuZCBhIGZpbml0ZSB2YWx1ZSBpcyBlcXVhbCB0byB0aGUgaW5maW5pdGUgb3BlcmFuZAogKi8KCi8vQ0hFQ0sjMQppZiAoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZICsgMSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZICkgewogICRFUlJPUignIzE6IEluZmluaXR5ICsgMSA9PT0gSW5maW5pdHkuIEFjdHVhbDogJyArIChJbmZpbml0eSArIDEpKTsKfQoKLy9DSEVDSyMyCmlmICgtMSArIE51bWJlci5QT1NJVElWRV9JTkZJTklUWSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZICkgewogICRFUlJPUignIzI6IC0xICsgSW5maW5pdHkgPT09IEluZmluaXR5LiBBY3R1YWw6ICcgKyAoLTEgKyBJbmZpbml0eSkpOwp9CgovL0NIRUNLIzMKaWYgKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSArIDEgIT09IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSApIHsKICAkRVJST1IoJyMzOiAtSW5maW5pdHkgKyAxID09PSAtSW5maW5pdHkuIEFjdHVhbDogJyArICgtSW5maW5pdHkgKyAxKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoLTEgKyBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgIT09IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSApIHsKICAkRVJST1IoJyM0OiAtMSArIC1JbmZpbml0eSA9PT0gLUluZmluaXR5LiBBY3R1YWw6ICcgKyAoLTEgKyAtSW5maW5pdHkpKTsKfQoKLy9DSEVDSyM1CmlmIChOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgKyBOdW1iZXIuTUFYX1ZBTFVFICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgKSB7CiAgJEVSUk9SKCcjNTogSW5maW5pdHkgKyBOdW1iZXIuTUFYX1ZBTFVFID09PSBJbmZpbml0eS4gQWN0dWFsOiAnICsgKEluZmluaXR5ICsgTnVtYmVyLk1BWF9WQUxVRSkpOwp9CgovL0NIRUNLIzYKaWYgKC1OdW1iZXIuTUFYX1ZBTFVFICsgTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgKSB7CiAgJEVSUk9SKCcjNjogLU51bWJlci5NQVhfVkFMVUUgKyBJbmZpbml0eSA9PT0gSW5maW5pdHkuIEFjdHVhbDogJyArICgtTnVtYmVyLk1BWF9WQUxVRSArIEluZmluaXR5KSk7Cn0KCi8vQ0hFQ0sjNwppZiAoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZICsgTnVtYmVyLk1BWF9WQUxVRSAhPT0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZICkgewogICRFUlJPUignIzc6IC1JbmZpbml0eSArIE51bWJlci5NQVhfVkFMVUUgPT09IC1JbmZpbml0eS4gQWN0dWFsOiAnICsgKC1JbmZpbml0eSArIE51bWJlci5NQVhfVkFMVUUpKTsKfQoKLy9DSEVDSyM4CmlmICgtTnVtYmVyLk1BWF9WQUxVRSArIE51bWJlci5ORUdBVElWRV9JTkZJTklUWSAhPT0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZICkgewogICRFUlJPUignIzg6IC1OdW1iZXIuTUFYX1ZBTFVFICsgLUluZmluaXR5ID09PSAtSW5maW5pdHkuIEFjdHVhbDogJyArICgtTnVtYmVyLk1BWF9WQUxVRSArIC1JbmZpbml0eSkpOwp9CgoKCgo=",
"commentary":"The result of an addition is determined using the rules of IEEE 754 double-precision arithmetics",
"description":"The sum of an infinity and a finite value is equal to the infinite operand",
"path":"TestCases/ch11/11.6/11.6.1/S11.6.1_A4_T4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGFuIGFkZGl0aW9uIGlzIGRldGVybWluZWQgdXNpbmcgdGhlIHJ1bGVzIG9mIElFRUUgNzU0IGRvdWJsZS1wcmVjaXNpb24gYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMS9TMTEuNi4xX0E0X1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgc3VtIG9mIHR3byBuZWdhdGl2ZSB6ZXJvcyBpcyAtMC4gVGhlIHN1bSBvZiB0d28gcG9zaXRpdmUgemVyb3MsIG9yIG9mIHR3byB6ZXJvcyBvZiBvcHBvc2l0ZSBzaWduIGlzICswCiAqLwoKLy9DSEVDSyMxCmlmICgtMCArIC0wICE9PSAtMCApIHsgIAogICRFUlJPUignIzEuMTogLTAgKyAtMCA9PT0gMC4gQWN0dWFsOiAnICsgKC0wICsgLTApKTsKfSBlbHNlIHsKICBpZiAoMSAvICgtMCArIC0wKSAhPT0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSB7CiAgICAkRVJST1IoJyMxLjE6IC0wICsgLTAgPT09IC0gMC4gQWN0dWFsOiArMCcpOwogIH0KfQoKLy9DSEVDSyMyCmlmICgwICsgLTAgIT09IDAgKSB7ICAKICAkRVJST1IoJyMyLjE6IDAgKyAtMCA9PT0gMC4gQWN0dWFsOiAnICsgKDAgKyAtMCkpOwp9IGVsc2UgewogIGlmICgxIC8gKDAgKyAtMCkgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICAgJEVSUk9SKCcjMi4yOiAwICsgLTAgPT09ICsgMC4gQWN0dWFsOiAtMCcpOwogIH0KfQoKLy9DSEVDSyMzCmlmICgtMCArIDAgIT09IDAgKSB7ICAKICAkRVJST1IoJyMzLjE6IC0wICsgMCA9PT0gMC4gQWN0dWFsOiAnICsgKC0wICsgMCkpOwp9IGVsc2UgewogIGlmICgxIC8gKC0wICsgMCkgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICAgJEVSUk9SKCcjMy4yOiAtMCArIDAgPT09ICsgMC4gQWN0dWFsOiAtMCcpOwogIH0KfQoKLy9DSEVDSyM0CmlmICgwICsgMCAhPT0gMCApIHsgIAogICRFUlJPUignIzQuMTogMCArIDAgPT09IDAuIEFjdHVhbDogJyArICgwICsgMCkpOwp9IGVsc2UgewogIGlmICgxIC8gKDAgKyAwKSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7CiAgICAkRVJST1IoJyM0LjI6IDAgKyAwID09PSArIDAuIEFjdHVhbDogLTAnKTsKICB9Cn0KCg==",
"commentary":"The result of an addition is determined using the rules of IEEE 754 double-precision arithmetics",
"description":"The sum of two negative zeros is -0. The sum of two positive zeros, or of two zeros of opposite sign is +0",
"path":"TestCases/ch11/11.6/11.6.1/S11.6.1_A4_T5.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGFuIGFkZGl0aW9uIGlzIGRldGVybWluZWQgdXNpbmcgdGhlIHJ1bGVzIG9mIElFRUUgNzU0IGRvdWJsZS1wcmVjaXNpb24gYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMS9TMTEuNi4xX0E0X1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgc3VtIG9mIGEgemVybyBhbmQgYSBub256ZXJvIGZpbml0ZSB2YWx1ZSBpcyBlcXVhbCB0byB0aGUgbm9uemVybyBvcGVyYW5kCiAqLwoKLy9DSEVDSyMxCmlmICgxICsgLTAgIT09IDEgKSB7ICAKICAkRVJST1IoJyMxOiAxICsgLTAgPT09IDEuIEFjdHVhbDogJyArICgxICsgLTApKTsKfQoKLy9DSEVDSyMyCmlmICgxICsgMCAhPT0gMSApIHsgIAogICRFUlJPUignIzI6IDEgKyAwID09PSAxLiBBY3R1YWw6ICcgKyAoMSArIDApKTsKfSAKCi8vQ0hFQ0sjMwppZiAoLTAgKyAxICE9PSAxICkgeyAgCiAgJEVSUk9SKCcjMzogLTAgKyAxID09PSAxLiBBY3R1YWw6ICcgKyAoLTAgKyAxKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoMCArIDEgIT09IDEgKSB7ICAKICAkRVJST1IoJyM0OiAwICsgMSA9PT0gMS4gQWN0dWFsOiAnICsgKDAgKyAxKSk7Cn0gCgovL0NIRUNLIzUKaWYgKE51bWJlci5NQVhfVkFMVUUgKyAtMCAhPT0gTnVtYmVyLk1BWF9WQUxVRSApIHsgIAogICRFUlJPUignIzU6IE51bWJlci5NQVhfVkFMVUUgKyAtMCA9PT0gTnVtYmVyLk1BWF9WQUxVRS4gQWN0dWFsOiAnICsgKE51bWJlci5NQVhfVkFMVUUgKyAtMCkpOwp9CgovL0NIRUNLIzYKaWYgKE51bWJlci5NQVhfVkFMVUUgKyAwICE9PSBOdW1iZXIuTUFYX1ZBTFVFICkgeyAgCiAgJEVSUk9SKCcjNjogTnVtYmVyLk1BWF9WQUxVRSArIDAgPT09IE51bWJlci5NQVhfVkFMVUUuIEFjdHVhbDogJyArIChOdW1iZXIuTUFYX1ZBTFVFICsgMCkpOwp9IAoKLy9DSEVDSyM3CmlmICgtMCArIE51bWJlci5NSU5fVkFMVUUgIT09IE51bWJlci5NSU5fVkFMVUUgKSB7ICAKICAkRVJST1IoJyM3OiAtMCArIE51bWJlci5NSU5fVkFMVUUgPT09IE51bWJlci5NSU5fVkFMVUUuIEFjdHVhbDogJyArICgtMCArIE51bWJlci5NSU5fVkFMVUUpKTsKfQoKLy9DSEVDSyM4CmlmICgwICsgTnVtYmVyLk1JTl9WQUxVRSAhPT0gTnVtYmVyLk1JTl9WQUxVRSApIHsgIAogICRFUlJPUignIzg6IDAgKyBOdW1iZXIuTUlOX1ZBTFVFID09PSBOdW1iZXIuTUlOX1ZBTFVFLiBBY3R1YWw6ICcgKyAoMCArIE51bWJlci5NSU5fVkFMVUUpKTsKfSAKCg==",
"commentary":"The result of an addition is determined using the rules of IEEE 754 double-precision arithmetics",
"description":"The sum of a zero and a nonzero finite value is equal to the nonzero operand",
"path":"TestCases/ch11/11.6/11.6.1/S11.6.1_A4_T6.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGFuIGFkZGl0aW9uIGlzIGRldGVybWluZWQgdXNpbmcgdGhlIHJ1bGVzIG9mIElFRUUgNzU0IGRvdWJsZS1wcmVjaXNpb24gYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMS9TMTEuNi4xX0E0X1Q3LmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgc3VtIG9mIHR3byBub256ZXJvIGZpbml0ZSB2YWx1ZXMgb2YgdGhlIHNhbWUgbWFnbml0dWRlIGFuZCBvcHBvc2l0ZSBzaWduIGlzICswCiAqLwoKLy9DSEVDSyMxCmlmICgtTnVtYmVyLk1JTl9WQUxVRSArIE51bWJlci5NSU5fVkFMVUUgIT09ICswKSB7ICAKICAkRVJST1IoJyMxLjE6IC1OdW1iZXIuTUlOX1ZBTFVFICsgTnVtYmVyLk1JTl9WQUxVRSA9PT0gMC4gQWN0dWFsOiAnICsgKC1OdW1iZXIuTUlOX1ZBTFVFICsgTnVtYmVyLk1JTl9WQUxVRSkpOwp9IGVsc2UgewogIGlmICgxIC8gKC1OdW1iZXIuTUlOX1ZBTFVFICsgTnVtYmVyLk1JTl9WQUxVRSkgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICAgJEVSUk9SKCcjMS4yOiAtTnVtYmVyLk1JTl9WQUxVRSArIE51bWJlci5NSU5fVkFMVUUgPT09ICsgMC4gQWN0dWFsOiAtMCcpOwogIH0KfQoKLy9DSEVDSyMyCmlmICgtTnVtYmVyLk1BWF9WQUxVRSArIE51bWJlci5NQVhfVkFMVUUgIT09ICswKSB7ICAKICAkRVJST1IoJyMyLjE6IC1OdW1iZXIuTUFYX1ZBTFVFICsgTnVtYmVyLk1BWF9WQUxVRSA9PT0gMC4gQWN0dWFsOiAnICsgKC1OdW1iZXIuTUFYX1ZBTFVFICsgTnVtYmVyLk1BWF9WQUxVRSkpOwp9IGVsc2UgewogIGlmICgxIC8gKC1OdW1iZXIuTUFYX1ZBTFVFICsgTnVtYmVyLk1BWF9WQUxVRSkgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICAgJEVSUk9SKCcjMi4yOiAtTnVtYmVyLk1BWF9WQUxVRSArIE51bWJlci5NQVhfVkFMVUUgPT09ICsgMC4gQWN0dWFsOiAtMCcpOwogIH0KfQoKLy9DSEVDSyMzCmlmICgtMSAvIE51bWJlci5NQVhfVkFMVUUgKyAxIC8gTnVtYmVyLk1BWF9WQUxVRSAhPT0gKzApIHsgIAogICRFUlJPUignIzMuMTogLTEgLyBOdW1iZXIuTUFYX1ZBTFVFICsgMSAvIE51bWJlci5NQVhfVkFMVUUgPT09IDAuIEFjdHVhbDogJyArICgtMSAvIE51bWJlci5NQVhfVkFMVUUgKyAxIC8gTnVtYmVyLk1BWF9WQUxVRSkpOwp9IGVsc2UgewogIGlmICgxIC8gKC0xIC8gTnVtYmVyLk1BWF9WQUxVRSArIDEgLyBOdW1iZXIuTUFYX1ZBTFVFKSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7CiAgICAkRVJST1IoJyMzLjI6IC0xIC8gTnVtYmVyLk1BWF9WQUxVRSArIDEgLyBOdW1iZXIuTUFYX1ZBTFVFID09PSArIDAuIEFjdHVhbDogLTAnKTsKICB9Cn0KCg==",
"commentary":"The result of an addition is determined using the rules of IEEE 754 double-precision arithmetics",
"description":"The sum of two nonzero finite values of the same magnitude and opposite sign is +0",
"path":"TestCases/ch11/11.6/11.6.1/S11.6.1_A4_T7.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGFuIGFkZGl0aW9uIGlzIGRldGVybWluZWQgdXNpbmcgdGhlIHJ1bGVzIG9mIElFRUUgNzU0IGRvdWJsZS1wcmVjaXNpb24gYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMS9TMTEuNi4xX0E0X1Q4LmpzCiAqIEBkZXNjcmlwdGlvbiBJZiB0aGUgbWFnbml0dWRlIGlzIHRvbyBsYXJnZSB0byByZXByZXNlbnQsIHRoZSBvcGVyYXRpb24gb3ZlcmZsb3dzIGFuZCB0aGUgcmVzdWx0IGlzIHRoZW4gYW4gaW5maW5pdHkgb2YgYXBwcm9wcmlhdGUgc2lnbgogKi8KCi8vQ0hFQ0sjMQppZiAoTnVtYmVyLk1BWF9WQUxVRSArIE51bWJlci5NQVhfVkFMVUUgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICRFUlJPUignIzE6IE51bWJlci5NQVhfVkFMVUUgKyBOdW1iZXIuTUFYX1ZBTFVFID09PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkuIEFjdHVhbDogJyArIChOdW1iZXIuTUFYX1ZBTFVFICsgTnVtYmVyLk1BWF9WQUxVRSkpOwp9CgovL0NIRUNLIzIKaWYgKC1OdW1iZXIuTUFYX1ZBTFVFIC0gTnVtYmVyLk1BWF9WQUxVRSAhPT0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSB7CiAgJEVSUk9SKCcjMjogLU51bWJlci5NQVhfVkFMVUUgLSBOdW1iZXIuTUFYX1ZBTFVFID09PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkuIEFjdHVhbDogJyArICgtTnVtYmVyLk1BWF9WQUxVRSAtIE51bWJlci5NQVhfVkFMVUUpKTsKfQoKLy9DSEVDSyMzCmlmICgxZSszMDggKyAxZSszMDggIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICRFUlJPUignIzM6IDFlKzMwOCArIDFlKzMwOCA9PT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLiBBY3R1YWw6ICcgKyAoMWUrMzA4ICsgMWUrMzA4KSk7Cn0KCi8vQ0hFQ0sjNAppZiAoLTguOTllKzMwNyAtIDguOTllKzMwNyAhPT0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSB7CiAgJEVSUk9SKCcjNDogLTguOTllKzMwNyAtIDguOTllKzMwNyA9PT0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZLiBBY3R1YWw6ICcgKyAoLTguOTllKzMwNyAtIDguOTllKzMwNykpOwp9Cgo=",
"commentary":"The result of an addition is determined using the rules of IEEE 754 double-precision arithmetics",
"description":"If the magnitude is too large to represent, the operation overflows and the result is then an infinity of appropriate sign",
"path":"TestCases/ch11/11.6/11.6.1/S11.6.1_A4_T8.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGFuIGFkZGl0aW9uIGlzIGRldGVybWluZWQgdXNpbmcgdGhlIHJ1bGVzIG9mIElFRUUgNzU0IGRvdWJsZS1wcmVjaXNpb24gYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMS9TMTEuNi4xX0E0X1Q5LmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgYWRkaXRpb24gb3BlcmF0b3IgaXMgbm90IGFsd2F5cyBhc3NvY2lhdGl2ZSAoIHggKyB5ICsgeiBpcyB0aGUgc2FtZSAoeCArIHkpICsgeiwgbm90IHggKyAoeSArIHopKQogKi8KCi8vQ0hFQ0sjMQppZiAoLU51bWJlci5NQVhfVkFMVUUgKyBOdW1iZXIuTUFYX1ZBTFVFICsgTnVtYmVyLk1BWF9WQUxVRSAhPT0gKC1OdW1iZXIuTUFYX1ZBTFVFICsgTnVtYmVyLk1BWF9WQUxVRSkgKyBOdW1iZXIuTUFYX1ZBTFVFKSB7CiAgJEVSUk9SKCcjMTogLU51bWJlci5NQVhfVkFMVUUgKyBOdW1iZXIuTUFYX1ZBTFVFICsgTnVtYmVyLk1BWF9WQUxVRSA9PT0gKC1OdW1iZXIuTUFYX1ZBTFVFICsgTnVtYmVyLk1BWF9WQUxVRSkgKyBOdW1iZXIuTUFYX1ZBTFVFLiBBY3R1YWw6ICcgKyAoLU51bWJlci5NQVhfVkFMVUUgKyBOdW1iZXIuTUFYX1ZBTFVFICsgTnVtYmVyLk1BWF9WQUxVRSkpOwp9IAoKLy9DSEVDSyMyCmlmICgoLU51bWJlci5NQVhfVkFMVUUgKyBOdW1iZXIuTUFYX1ZBTFVFKSArIE51bWJlci5NQVhfVkFMVUUgPT09IC1OdW1iZXIuTUFYX1ZBTFVFICsgKE51bWJlci5NQVhfVkFMVUUgKyBOdW1iZXIuTUFYX1ZBTFVFKSkgewogICRFUlJPUignIzI6ICgtTnVtYmVyLk1BWF9WQUxVRSArIE51bWJlci5NQVhfVkFMVUUpICsgTnVtYmVyLk1BWF9WQUxVRSA9PT0gLU51bWJlci5NQVhfVkFMVUUgKyAoTnVtYmVyLk1BWF9WQUxVRSArIE51bWJlci5NQVhfVkFMVUUpLiBBY3R1YWw6ICcgKyAoKC1OdW1iZXIuTUFYX1ZBTFVFICsgTnVtYmVyLk1BWF9WQUxVRSkgKyBOdW1iZXIuTUFYX1ZBTFVFKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoIjEiICsgMSArIDEgIT09ICgiMSIgKyAxKSArIDEpIHsKICAkRVJST1IoJyMzOiAiMSIgKyAxICsgMSA9PT0gKCIxIiArIDEpICsgMS4gQWN0dWFsOiAnICsgKCIxIiArIDEgKyAxKSk7Cn0gCgovL0NIRUNLIzQKaWYgKCgiMSIgKyAxKSArIDEgPT09ICIxIiArICgxICsgMSkpIHsKICAkRVJST1IoJyM0OiAoIjEiICsgMSkgKyAxICE9PSAiMSIgKyAoMSArIDEpJyk7Cn0KCg==",
"commentary":"The result of an addition is determined using the rules of IEEE 754 double-precision arithmetics",
"description":"The addition operator is not always associative ( x + y + z is the same (x + y) + z, not x + (y + z))",
"path":"TestCases/ch11/11.6/11.6.1/S11.6.1_A4_T9.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gQWRkaXRpdmVFeHByZXNzaW9uIGFuZCAiLSIgb3IgYmV0d2VlbiAiLSIgYW5kIE11bHRpcGxpY2F0aXZlRXhwcmVzc2lvbiBhcmUgYWxsb3dlZAogKgogKiBAcGF0aCBjaDExLzExLjYvMTEuNi4yL1MxMS42LjJfQTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGJ5IHVzaW5nIGV2YWwKICovCgovL0NIRUNLIzEKaWYgKGV2YWwoIjFcdTAwMDktXHUwMDA5MSIpICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogMVxcdTAwMDktXFx1MDAwOTEgPT09IDAnKTsKfQoKLy9DSEVDSyMyCmlmIChldmFsKCIxXHUwMDBCLVx1MDAwQjEiKSAhPT0gMCkgewogICRFUlJPUignIzI6IDFcXHUwMDBCLVxcdTAwMEIxID09PSAwJyk7ICAKfQoKLy9DSEVDSyMzCmlmIChldmFsKCIxXHUwMDBDLVx1MDAwQzEiKSAhPT0gMCkgewogICRFUlJPUignIzM6IDFcXHUwMDBDLVxcdTAwMEMxID09PSAwJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoZXZhbCgiMVx1MDAyMC1cdTAwMjAxIikgIT09IDApIHsKICAkRVJST1IoJyM0OiAxXFx1MDAyMC1cXHUwMDIwMSA9PT0gMCcpOwp9CgovL0NIRUNLIzUKaWYgKGV2YWwoIjFcdTAwQTAtXHUwMEEwMSIpICE9PSAwKSB7CiAgJEVSUk9SKCcjNTogMVxcdTAwQTAtXFx1MDBBMDEgPT09IDAnKTsKfQoKLy9DSEVDSyM2CmlmIChldmFsKCIxXHUwMDBBLVx1MDAwQTEiKSAhPT0gMCkgewogICRFUlJPUignIzY6IDFcXHUwMDBBLVxcdTAwMEExID09PSAwJyk7ICAKfQoKLy9DSEVDSyM3CmlmIChldmFsKCIxXHUwMDBELVx1MDAwRDEiKSAhPT0gMCkgewogICRFUlJPUignIzc6IDFcXHUwMDBELVxcdTAwMEQxID09PSAwJyk7Cn0KCi8vQ0hFQ0sjOAppZiAoZXZhbCgiMVx1MjAyOC1cdTIwMjgxIikgIT09IDApIHsKICAkRVJST1IoJyM4OiAxXFx1MjAyOC1cXHUyMDI4MSA9PT0gMCcpOwp9CgovL0NIRUNLIzkKaWYgKGV2YWwoIjFcdTIwMjktXHUyMDI5MSIpICE9PSAwKSB7CiAgJEVSUk9SKCcjOTogMVxcdTIwMjktXFx1MjAyOTEgPT09IDAnKTsKfQoKLy9DSEVDSyMxMAppZiAoZXZhbCgiMVx1MDAwOVx1MDAwQlx1MDAwQ1x1MDAyMFx1MDBBMFx1MDAwQVx1MDAwRFx1MjAyOFx1MjAyOS1cdTAwMDlcdTAwMEJcdTAwMENcdTAwMjBcdTAwQTBcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjkxIikgIT09IDApIHsKICAkRVJST1IoJyMxMDogMVxcdTAwMDlcXHUwMDBCXFx1MDAwQ1xcdTAwMjBcXHUwMEEwXFx1MDAwQVxcdTAwMERcXHUyMDI4XFx1MjAyOS1cXHUwMDA5XFx1MDAwQlxcdTAwMENcXHUwMDIwXFx1MDBBMFxcdTAwMEFcXHUwMDBEXFx1MjAyOFxcdTIwMjkxID09PSAwJyk7Cn0KCg==",
"commentary":"White Space and Line Terminator between AdditiveExpression and \"-\" or between \"-\" and MultiplicativeExpression are allowed",
"description":"Checking by using eval",
"path":"TestCases/ch11/11.6/11.6.2/S11.6.2_A1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC0geSB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuNi8xMS42LjIvUzExLjYuMl9BMi4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBFaXRoZXIgVHlwZSBpcyBub3QgUmVmZXJlbmNlIG9yIEdldEJhc2UgaXMgbm90IG51bGwKICovCgovL0NIRUNLIzEKaWYgKDEgLSAxICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogMSAtIDEgPT09IDAuIEFjdHVhbDogJyArICgxIC0gMSkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAxOwppZiAoeCAtIDEgIT09IDApIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IDE7IHggLSAxID09PSAwLiBBY3R1YWw6ICcgKyAoeCAtIDEpKTsKfQoKLy9DSEVDSyMzCnZhciB5ID0gMTsKaWYgKDEgLSB5ICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogdmFyIHkgPSAxOyAxIC0geSA9PT0gMC4gQWN0dWFsOiAnICsgKDEgLSB5KSk7Cn0KCi8vQ0hFQ0sjNAp2YXIgeCA9IDE7CnZhciB5ID0gMTsKaWYgKHggLSB5ICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSAxOyB2YXIgeSA9IDE7IHggLSB5ID09PSAwLiBBY3R1YWw6ICcgKyAoeCAtIHkpKTsKfQoKLy9DSEVDSyM1CnZhciBvYmplY3R4ID0gbmV3IE9iamVjdCgpOwp2YXIgb2JqZWN0eSA9IG5ldyBPYmplY3QoKTsKb2JqZWN0eC5wcm9wID0gMTsKb2JqZWN0eS5wcm9wID0gMTsKaWYgKG9iamVjdHgucHJvcCAtIG9iamVjdHkucHJvcCAhPT0gMCkgewogICRFUlJPUignIzU6IHZhciBvYmplY3R4ID0gbmV3IE9iamVjdCgpOyB2YXIgb2JqZWN0eSA9IG5ldyBPYmplY3QoKTsgb2JqZWN0eC5wcm9wID0gMTsgb2JqZWN0eS5wcm9wID0gMTsgb2JqZWN0eC5wcm9wIC0gb2JqZWN0eS5wcm9wID09PSAwLiBBY3R1YWw6ICcgKyAob2JqZWN0eC5wcm9wIC0gb2JqZWN0eS5wcm9wKSk7Cn0KCg==",
"commentary":"Operator x - y uses GetValue",
"description":"Either Type is not Reference or GetBase is not null",
"path":"TestCases/ch11/11.6/11.6.2/S11.6.2_A2.1_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC0geSB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuNi8xMS42LjIvUzExLjYuMl9BMi4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBHZXRCYXNlKHgpIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgeCAtIDE7CiAgJEVSUk9SKCcjMS4xOiB4IC0gMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHggLSAxKSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiB4IC0gMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoK",
"commentary":"Operator x - y uses GetValue",
"description":"If GetBase(x) is null, throw ReferenceError",
"path":"TestCases/ch11/11.6/11.6.2/S11.6.2_A2.1_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC0geSB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuNi8xMS42LjIvUzExLjYuMl9BMi4xX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBHZXRCYXNlKHkpIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgMSAtIHk7CiAgJEVSUk9SKCcjMS4xOiAxIC0geSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKDEgLSB5KSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiAxIC0geSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoK",
"commentary":"Operator x - y uses GetValue",
"description":"If GetBase(y) is null, throw ReferenceError",
"path":"TestCases/ch11/11.6/11.6.2/S11.6.2_A2.1_T3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC0geSB1c2VzIFtbRGVmYXVsdCBWYWx1ZV1dCiAqCiAqIEBwYXRoIGNoMTEvMTEuNi8xMS42LjIvUzExLjYuMl9BMi4yX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBUeXBlKHZhbHVlKSBpcyBPYmplY3QsIGV2YWx1YXRlIFRvUHJpbWl0aXZlKHZhbHVlLCBOdW1iZXIpCiAqLwoKLy9DSEVDSyMxCmlmICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSAtIDEgIT09IDApIHsKICAkRVJST1IoJyMxOiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSAtIDEgPT09IDAuIEFjdHVhbDogJyArICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSAtIDEpKTsKfQoKLy9DSEVDSyMyCmlmICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSAtIDEgIT09IDApIHsKICAkRVJST1IoJyMyOiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSAtIDEgPT09IDAuIEFjdHVhbDogJyArICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSAtIDEpKTsKfQoKLy9DSEVDSyMzCmlmICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0gLSAxICE9PSAwKSB7CiAgJEVSUk9SKCcjMzoge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19IC0gMSA9PT0gMC4gQWN0dWFsOiAnICsgKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSAtIDEpKTsKfQoKLy9DSEVDSyM0CnRyeSB7CiAgaWYgKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gLSAxICE9PSAwKSB7CiAgICAkRVJST1IoJyM0LjE6IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gLSAxID09PSAwLiBBY3R1YWw6ICcgKyAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fSAtIDEpKTsKICB9Cn0KY2F0Y2ggKGUpIHsKICBpZiAoZSA9PT0gImVycm9yIikgewogICAgJEVSUk9SKCcjNC4yOiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19IC0gMSBub3QgdGhyb3cgImVycm9yIicpOwogIH0gZWxzZSB7CiAgICAkRVJST1IoJyM0LjM6IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gLSAxIG5vdCB0aHJvdyBFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCi8vQ0hFQ0sjNQppZiAoMSAtIHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSAhPT0gMCkgewogICRFUlJPUignIzU6IDEgLSB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0gPT09IDAuIEFjdHVhbDogJyArICgxIC0ge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSk7Cn0KCi8vQ0hFQ0sjNgppZiAoMSAtIHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSAhPT0gMCkgewogICRFUlJPUignIzY6IDEgLSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0gPT09IDAuIEFjdHVhbDogJyArICgxIC0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSk7Cn0KCi8vQ0hFQ0sjNwp0cnkgewogIDEgLSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OwogICRFUlJPUignIzcuMTogMSAtIHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0gdGhyb3cgImVycm9yIi4gQWN0dWFsOiAnICsgKDEgLSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSk7Cn0gIApjYXRjaCAoZSkgewogIGlmIChlICE9PSAiZXJyb3IiKSB7CiAgICAkRVJST1IoJyM3LjI6IDEgLSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19IHRocm93ICJlcnJvciIuIEFjdHVhbDogJyArIChlKSk7CiAgfSAKfQoKLy9DSEVDSyM4CnRyeSB7CiAgMSAtIHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07CiAgJEVSUk9SKCcjOC4xOiAxIC0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArICgxIC0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSkpOwp9ICAKY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyM4LjI6IDEgLSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19IHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9IAp9Cgo=",
"commentary":"Operator x - y uses [[Default Value]]",
"description":"If Type(value) is Object, evaluate ToPrimitive(value, Number)",
"path":"TestCases/ch11/11.6/11.6.2/S11.6.2_A2.2_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUb051bWJlcihmaXJzdCBleHByZXNzaW9uKSBpcyBjYWxsZWQgZmlyc3QsIGFuZCB0aGVuIFRvTnVtYmVyKHNlY29uZCBleHByZXNzaW9uKQogKgogKiBAcGF0aCBjaDExLzExLjYvMTEuNi4yL1MxMS42LjJfQTIuM19UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgd2l0aCAidGhyb3ciCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0geyB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfSB9Owp2YXIgeSA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieSI7IH0gfTsKdHJ5IHsKICAgeCAtIHk7CiAgICRFUlJPUignIzEuMTogdmFyIHggPSB7IHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9IH07IHZhciB5ID0geyB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfSB9OyB4IC0geSB0aHJvdyAieCIuIEFjdHVhbDogJyArICh4IC0geSkpOwp9IGNhdGNoIChlKSB7CiAgIGlmIChlID09PSAieSIpIHsKICAgICAkRVJST1IoJyMxLjI6IFRvTnVtYmVyKGZpcnN0IGV4cHJlc3Npb24pIGlzIGNhbGxlZCBmaXJzdCwgYW5kIHRoZW4gVG9OdW1iZXIoc2Vjb25kIGV4cHJlc3Npb24pJyk7CiAgIH0gZWxzZSB7CiAgICAgaWYgKGUgIT09ICJ4IikgewogICAgICAgJEVSUk9SKCcjMS4zOiB2YXIgeCA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieCI7IH0gfTsgdmFyIHkgPSB7IHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9IH07IHggLSB5IHRocm93ICJ4Ii4gQWN0dWFsOiAnICsgKGUpKTsKICAgICB9CiAgIH0KfQoK",
"commentary":"ToNumber(first expression) is called first, and then ToNumber(second expression)",
"description":"Checking with \"throw\"",
"path":"TestCases/ch11/11.6/11.6.2/S11.6.2_A2.3_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMi9TMTEuNi4yX0EyLjRfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggIj0iCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gMDsgCmlmICgoeCA9IDEpIC0geCAhPT0gMCkgewogICRFUlJPUignIzE6IHZhciB4ID0gMDsgKHggPSAxKSAtIHggPT09IDAuIEFjdHVhbDogJyArICgoeCA9IDEpIC0geCkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAwOyAKaWYgKHggLSAoeCA9IDEpICE9PSAtMSkgewogICRFUlJPUignIzI6IHZhciB4ID0gMDsgeCAtICh4ID0gMSkgPT09IC0xLiBBY3R1YWw6ICcgKyAoeCAtICh4ID0gMSkpKTsKfQoKCg==",
"commentary":"First expression is evaluated first, and then second expression",
"description":"Checking with \"=\"",
"path":"TestCases/ch11/11.6/11.6.2/S11.6.2_A2.4_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMi9TMTEuNi4yX0EyLjRfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggInRocm93IgogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9Owp2YXIgeSA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9Owp0cnkgewogICB4KCkgLSB5KCk7CiAgICRFUlJPUignIzEuMTogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpIC0geSgpIHRocm93ICJ4Ii4gQWN0dWFsOiAnICsgKHgoKSAtIHkoKSkpOwp9IGNhdGNoIChlKSB7CiAgIGlmIChlID09PSAieSIpIHsKICAgICAkRVJST1IoJyMxLjI6IEZpcnN0IGV4cHJlc3Npb24gaXMgZXZhbHVhdGVkIGZpcnN0LCBhbmQgdGhlbiBzZWNvbmQgZXhwcmVzc2lvbicpOwogICB9IGVsc2UgewogICAgIGlmIChlICE9PSAieCIpIHsKICAgICAgICRFUlJPUignIzEuMzogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpIC0geSgpIHRocm93ICJ4Ii4gQWN0dWFsOiAnICsgKGUpKTsKICAgICB9CiAgIH0KfQoK",
"commentary":"First expression is evaluated first, and then second expression",
"description":"Checking with \"throw\"",
"path":"TestCases/ch11/11.6/11.6.2/S11.6.2_A2.4_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMi9TMTEuNi4yX0EyLjRfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggdW5kZWNsYXJhdGVkIHZhcmlhYmxlcwogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHggLSAoeCA9IDEpOwogICRFUlJPUignIzEuMTogeCAtICh4ID0gMSkgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArICh4IC0gKHggPSAxKSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogeCAtICh4ID0gMSkgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7ICAKICB9Cn0KCi8vQ0hFQ0sjMgppZiAoKHkgPSAxKSAtIHkgIT09IDApIHsKICAkRVJST1IoJyMyOiAoeSA9IDEpIC0geSA9PT0gMC4gQWN0dWFsOiAnICsgKCh5ID0gMSkgLSB5KSk7Cn0KCgo=",
"commentary":"First expression is evaluated first, and then second expression",
"description":"Checking with undeclarated variables",
"path":"TestCases/ch11/11.6/11.6.2/S11.6.2_A2.4_T3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC0geSByZXR1cm5zIFRvTnVtYmVyKHgpIC0gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMi9TMTEuNi4yX0EzX1QxLjEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBib29sZWFuIGFuZCBCb29sZWFuIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAodHJ1ZSAtIHRydWUgIT09IDApIHsKICAkRVJST1IoJyMxOiB0cnVlIC0gdHJ1ZSA9PT0gMC4gQWN0dWFsOiAnICsgKHRydWUgLSB0cnVlKSk7Cn0KCi8vQ0hFQ0sjMgppZiAobmV3IEJvb2xlYW4odHJ1ZSkgLSB0cnVlICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogbmV3IEJvb2xlYW4odHJ1ZSkgLSB0cnVlID09PSAwLiBBY3R1YWw6ICcgKyAobmV3IEJvb2xlYW4odHJ1ZSkgLSB0cnVlKSk7Cn0KCi8vQ0hFQ0sjMwppZiAodHJ1ZSAtIG5ldyBCb29sZWFuKHRydWUpICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogdHJ1ZSAtIG5ldyBCb29sZWFuKHRydWUpID09PSAwLiBBY3R1YWw6ICcgKyAodHJ1ZSAtIG5ldyBCb29sZWFuKHRydWUpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAobmV3IEJvb2xlYW4odHJ1ZSkgLSBuZXcgQm9vbGVhbih0cnVlKSAhPT0gMCkgewogICRFUlJPUignIzQ6IG5ldyBCb29sZWFuKHRydWUpIC0gbmV3IEJvb2xlYW4odHJ1ZSkgPT09IDAuIEFjdHVhbDogJyArIChuZXcgQm9vbGVhbih0cnVlKSAtIG5ldyBCb29sZWFuKHRydWUpKSk7Cn0KCg==",
"commentary":"Operator x - y returns ToNumber(x) - ToNumber(y)",
"description":"Type(x) and Type(y) vary between primitive boolean and Boolean object",
"path":"TestCases/ch11/11.6/11.6.2/S11.6.2_A3_T1.1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC0geSByZXR1cm5zIFRvTnVtYmVyKHgpIC0gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMi9TMTEuNi4yX0EzX1QxLjIuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBudW1iZXIgYW5kIE51bWJlciBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKDEgLSAxICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogMSAtIDEgPT09IDAuIEFjdHVhbDogJyArICgxIC0gMSkpOwp9CgovL0NIRUNLIzIKaWYgKG5ldyBOdW1iZXIoMSkgLSAxICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogbmV3IE51bWJlcigxKSAtIDEgPT09IDAuIEFjdHVhbDogJyArIChuZXcgTnVtYmVyKDEpIC0gMSkpOwp9CgovL0NIRUNLIzMKaWYgKDEgLSBuZXcgTnVtYmVyKDEpICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogMSAtIG5ldyBOdW1iZXIoMSkgPT09IDAuIEFjdHVhbDogJyArICgxIC0gbmV3IE51bWJlcigxKSkpOwp9CgovL0NIRUNLIzQKaWYgKG5ldyBOdW1iZXIoMSkgLSBuZXcgTnVtYmVyKDEpICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogbmV3IE51bWJlcigxKSAtIG5ldyBOdW1iZXIoMSkgPT09IDAuIEFjdHVhbDogJyArIChuZXcgTnVtYmVyKDEpIC0gbmV3IE51bWJlcigxKSkpOwp9CgoK",
"commentary":"Operator x - y returns ToNumber(x) - ToNumber(y)",
"description":"Type(x) and Type(y) vary between primitive number and Number object",
"path":"TestCases/ch11/11.6/11.6.2/S11.6.2_A3_T1.2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC0geSByZXR1cm5zIFRvTnVtYmVyKHgpIC0gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMi9TMTEuNi4yX0EzX1QxLjMuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBzdHJpbmcgYW5kIFN0cmluZyBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKCIxIiAtICIxIiAhPT0gMCkgewogICRFUlJPUignIzE6ICIxIiAtICIxIiA9PT0gMC4gQWN0dWFsOiAnICsgKCIxIiAtICIxIikpOwp9CgovL0NIRUNLIzIKaWYgKG5ldyBTdHJpbmcoIjEiKSAtICIxIiAhPT0gMCkgewogICRFUlJPUignIzI6IG5ldyBTdHJpbmcoIjEiKSAtICIxIiA9PT0gMC4gQWN0dWFsOiAnICsgKG5ldyBTdHJpbmcoIjEiKSAtICIxIikpOwp9CgovL0NIRUNLIzMKaWYgKCIxIiAtIG5ldyBTdHJpbmcoIjEiKSAhPT0gMCkgewogICRFUlJPUignIzM6ICIxIiAtIG5ldyBTdHJpbmcoIjEiKSA9PT0gMC4gQWN0dWFsOiAnICsgKCIxIiAtIG5ldyBTdHJpbmcoIjEiKSkpOwp9CgovL0NIRUNLIzQKaWYgKG5ldyBTdHJpbmcoIjEiKSAtIG5ldyBTdHJpbmcoIjEiKSAhPT0gMCkgewogICRFUlJPUignIzQ6IG5ldyBTdHJpbmcoIjEiKSAtIG5ldyBTdHJpbmcoIjEiKSA9PT0gMC4gQWN0dWFsOiAnICsgKG5ldyBTdHJpbmcoIjEiKSAtIG5ldyBTdHJpbmcoIjEiKSkpOwp9CgovL0NIRUNLIzUKaWYgKGlzTmFOKCJ4IiAtICIxIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiAieCIgLSAiMSIgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKCJ4IiAtICIxIikpOwp9CgovL0NIRUNLIzYKaWYgKGlzTmFOKCIxIiAtICJ4IikgIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiAiMSIgLSAieCIgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKCIxIiAtICJ4IikpOwp9Cgo=",
"commentary":"Operator x - y returns ToNumber(x) - ToNumber(y)",
"description":"Type(x) and Type(y) vary between primitive string and String object",
"path":"TestCases/ch11/11.6/11.6.2/S11.6.2_A3_T1.3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC0geSByZXR1cm5zIFRvTnVtYmVyKHgpIC0gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMi9TMTEuNi4yX0EzX1QxLjQuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIE51bGwgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQppZiAoaXNOYU4obnVsbCAtIHVuZGVmaW5lZCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiBudWxsIC0gdW5kZWZpbmVkID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChudWxsIC0gdW5kZWZpbmVkKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoaXNOYU4odW5kZWZpbmVkIC0gbnVsbCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB1bmRlZmluZWQgLSBudWxsID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh1bmRlZmluZWQgLSBudWxsKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoaXNOYU4odW5kZWZpbmVkIC0gdW5kZWZpbmVkKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IHVuZGVmaW5lZCAtIHVuZGVmaW5lZCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAodW5kZWZpbmVkIC0gdW5kZWZpbmVkKSk7Cn0KCi8vQ0hFQ0sjNAppZiAobnVsbCAtIG51bGwgIT09IDApIHsKICAkRVJST1IoJyM0OiBudWxsIC0gbnVsbCA9PT0gMC4gQWN0dWFsOiAnICsgKG51bGwgLSBudWxsKSk7Cn0KCg==",
"commentary":"Operator x - y returns ToNumber(x) - ToNumber(y)",
"description":"Type(x) and Type(y) vary between Null and Undefined",
"path":"TestCases/ch11/11.6/11.6.2/S11.6.2_A3_T1.4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC0geSByZXR1cm5zIFRvTnVtYmVyKHgpIC0gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMi9TMTEuNi4yX0EzX1QxLjUuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIE9iamVjdCBvYmplY3QgYW5kIEZ1bmN0aW9uIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAoaXNOYU4oe30gLSBmdW5jdGlvbigpe3JldHVybiAxfSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiB7fSAtIGZ1bmN0aW9uKCl7cmV0dXJuIDF9ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh7fSAtIGZ1bmN0aW9uKCl7cmV0dXJuIDF9KSk7Cn0KCi8vQ0hFQ0sjMgppZiAoaXNOYU4oZnVuY3Rpb24oKXtyZXR1cm4gMX0gLSB7fSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiBmdW5jdGlvbigpe3JldHVybiAxfSAtIHt9ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChmdW5jdGlvbigpe3JldHVybiAxfSAtIHt9KSk7Cn0KCi8vQ0hFQ0sjMwppZiAoaXNOYU4oZnVuY3Rpb24oKXtyZXR1cm4gMX0gLSBmdW5jdGlvbigpe3JldHVybiAxfSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiBmdW5jdGlvbigpe3JldHVybiAxfSAtIGZ1bmN0aW9uKCl7cmV0dXJuIDF9ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChmdW5jdGlvbigpe3JldHVybiAxfSAtIGZ1bmN0aW9uKCl7cmV0dXJuIDF9KSk7Cn0KCi8vQ0hFQ0sjNAppZiAoaXNOYU4oe30gLSB7fSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiB7fSAtIHt9ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh7fSAtIHt9KSk7Cn0KCg==",
"commentary":"Operator x - y returns ToNumber(x) - ToNumber(y)",
"description":"Type(x) and Type(y) vary between Object object and Function object",
"path":"TestCases/ch11/11.6/11.6.2/S11.6.2_A3_T1.5.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC0geSByZXR1cm5zIFRvTnVtYmVyKHgpIC0gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMi9TMTEuNi4yX0EzX1QyLjEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgQm9vbGVhbiAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCmlmICh0cnVlIC0gMSAhPT0gMCkgewogICRFUlJPUignIzE6IHRydWUgLSAxID09PSAwLiBBY3R1YWw6ICcgKyAodHJ1ZSAtIDEpKTsKfQoKLy9DSEVDSyMyCmlmICgxIC0gdHJ1ZSAhPT0gMCkgewogICRFUlJPUignIzI6IDEgLSB0cnVlID09PSAwLiBBY3R1YWw6ICcgKyAoMSAtIHRydWUpKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgQm9vbGVhbih0cnVlKSAtIDEgIT09IDApIHsKICAkRVJST1IoJyMzOiBuZXcgQm9vbGVhbih0cnVlKSAtIDEgPT09IDAuIEFjdHVhbDogJyArIChuZXcgQm9vbGVhbih0cnVlKSAtIDEpKTsKfQoKLy9DSEVDSyM0CmlmICgxIC0gbmV3IEJvb2xlYW4odHJ1ZSkgIT09IDApIHsKICAkRVJST1IoJyM0OiAxIC0gbmV3IEJvb2xlYW4odHJ1ZSkgPT09IDAuIEFjdHVhbDogJyArICgxIC0gbmV3IEJvb2xlYW4odHJ1ZSkpKTsKfQoKLy9DSEVDSyM1CmlmICh0cnVlIC0gbmV3IE51bWJlcigxKSAhPT0gMCkgewogICRFUlJPUignIzU6IHRydWUgLSBuZXcgTnVtYmVyKDEpID09PSAwLiBBY3R1YWw6ICcgKyAodHJ1ZSAtIG5ldyBOdW1iZXIoMSkpKTsKfQoKLy9DSEVDSyM2CmlmIChuZXcgTnVtYmVyKDEpIC0gdHJ1ZSAhPT0gMCkgewogICRFUlJPUignIzY6IG5ldyBOdW1iZXIoMSkgLSB0cnVlID09PSAwLiBBY3R1YWw6ICcgKyAobmV3IE51bWJlcigxKSAtIHRydWUpKTsKfQoKLy9DSEVDSyM3CmlmIChuZXcgQm9vbGVhbih0cnVlKSAtIG5ldyBOdW1iZXIoMSkgIT09IDApIHsKICAkRVJST1IoJyM3OiBuZXcgQm9vbGVhbih0cnVlKSAtIG5ldyBOdW1iZXIoMSkgPT09IDAuIEFjdHVhbDogJyArIChuZXcgQm9vbGVhbih0cnVlKSAtIG5ldyBOdW1iZXIoMSkpKTsKfQoKLy9DSEVDSyM4CmlmIChuZXcgTnVtYmVyKDEpIC0gbmV3IEJvb2xlYW4odHJ1ZSkgIT09IDApIHsKICAkRVJST1IoJyM4OiBuZXcgTnVtYmVyKDEpIC0gbmV3IEJvb2xlYW4odHJ1ZSkgPT09IDAuIEFjdHVhbDogJyArIChuZXcgTnVtYmVyKDEpIC0gbmV3IEJvb2xlYW4odHJ1ZSkpKTsKfQoK",
"commentary":"Operator x - y returns ToNumber(x) - ToNumber(y)",
"description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Boolean (primitive and object)",
"path":"TestCases/ch11/11.6/11.6.2/S11.6.2_A3_T2.1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC0geSByZXR1cm5zIFRvTnVtYmVyKHgpIC0gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMi9TMTEuNi4yX0EzX1QyLjIuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgU3RyaW5nIChwcmltaXRpdmUgYW5kIG9iamVjdCkKICovCgovL0NIRUNLIzEKaWYgKCIxIiAtIDEgIT09IDApIHsKICAkRVJST1IoJyMxOiAiMSIgLSAxID09PSAwLiBBY3R1YWw6ICcgKyAoIjEiIC0gMSkpOwp9CgovL0NIRUNLIzIKaWYgKDEgLSAiMSIgIT09IDApIHsKICAkRVJST1IoJyMyOiAxIC0gIjEiID09PSAwLiBBY3R1YWw6ICcgKyAoMSAtICIxIikpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBTdHJpbmcoIjEiKSAtIDEgIT09IDApIHsKICAkRVJST1IoJyMzOiBuZXcgU3RyaW5nKCIxIikgLSAxID09PSAwLiBBY3R1YWw6ICcgKyAobmV3IFN0cmluZygiMSIpIC0gMSkpOwp9CgovL0NIRUNLIzQKaWYgKDEgLSBuZXcgU3RyaW5nKCIxIikgIT09IDApIHsKICAkRVJST1IoJyM0OiAxIC0gbmV3IFN0cmluZygiMSIpID09PSAwLiBBY3R1YWw6ICcgKyAoMSAtIG5ldyBTdHJpbmcoIjEiKSkpOwp9CgovL0NIRUNLIzUKaWYgKCIxIiAtIG5ldyBOdW1iZXIoMSkgIT09IDApIHsKICAkRVJST1IoJyM1OiAiMSIgLSBuZXcgTnVtYmVyKDEpID09PSAwLiBBY3R1YWw6ICcgKyAoIjEiIC0gbmV3IE51bWJlcigxKSkpOwp9CgovL0NIRUNLIzYKaWYgKG5ldyBOdW1iZXIoMSkgLSAiMSIgIT09IDApIHsKICAkRVJST1IoJyM2OiBuZXcgTnVtYmVyKDEpIC0gIjEiID09PSAwLiBBY3R1YWw6ICcgKyAobmV3IE51bWJlcigxKSAtICIxIikpOwp9CgovL0NIRUNLIzcKaWYgKG5ldyBTdHJpbmcoIjEiKSAtIG5ldyBOdW1iZXIoMSkgIT09IDApIHsKICAkRVJST1IoJyM3OiBuZXcgU3RyaW5nKCIxIikgLSBuZXcgTnVtYmVyKDEpID09PSAwLiBBY3R1YWw6ICcgKyAobmV3IFN0cmluZygiMSIpIC0gbmV3IE51bWJlcigxKSkpOwp9CgovL0NIRUNLIzgKaWYgKG5ldyBOdW1iZXIoMSkgLSBuZXcgU3RyaW5nKCIxIikgIT09IDApIHsKICAkRVJST1IoJyM4OiBuZXcgTnVtYmVyKDEpIC0gbmV3IFN0cmluZygiMSIpID09PSAwLiBBY3R1YWw6ICcgKyAobmV3IE51bWJlcigxKSAtIG5ldyBTdHJpbmcoIjEiKSkpOwp9CgovL0NIRUNLIzkKaWYgKGlzTmFOKCJ4IiAtIDEpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjOTogIngiIC0gMSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoIngiIC0gMSkpOwp9CgovL0NIRUNLIzEwCmlmIChpc05hTigxIC0gIngiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzEwOiAxIC0gIngiID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICgxIC0gIngiKSk7Cn0KCg==",
"commentary":"Operator x - y returns ToNumber(x) - ToNumber(y)",
"description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object)",
"path":"TestCases/ch11/11.6/11.6.2/S11.6.2_A3_T2.2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC0geSByZXR1cm5zIFRvTnVtYmVyKHgpIC0gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMi9TMTEuNi4yX0EzX1QyLjMuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQppZiAoMSAtIG51bGwgIT09IDEpIHsKICAkRVJST1IoJyMxOiAxIC0gbnVsbCA9PT0gMS4gQWN0dWFsOiAnICsgKDEgLSBudWxsKSk7Cn0KCi8vQ0hFQ0sjMgppZiAobnVsbCAtIDEgIT09IC0xKSB7CiAgJEVSUk9SKCcjMjogbnVsbCAtIDEgPT09IC0xLiBBY3R1YWw6ICcgKyAobnVsbCAtIDEpKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgTnVtYmVyKDEpIC0gbnVsbCAhPT0gMSkgewogICRFUlJPUignIzM6IG5ldyBOdW1iZXIoMSkgLSBudWxsID09PSAxLiBBY3R1YWw6ICcgKyAobmV3IE51bWJlcigxKSAtIG51bGwpKTsKfQoKLy9DSEVDSyM0CmlmIChudWxsIC0gbmV3IE51bWJlcigxKSAhPT0gLTEpIHsKICAkRVJST1IoJyM0OiBudWxsIC0gbmV3IE51bWJlcigxKSA9PT0gLTEuIEFjdHVhbDogJyArIChudWxsIC0gbmV3IE51bWJlcigxKSkpOwp9Cgo=",
"commentary":"Operator x - y returns ToNumber(x) - ToNumber(y)",
"description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null",
"path":"TestCases/ch11/11.6/11.6.2/S11.6.2_A3_T2.3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC0geSByZXR1cm5zIFRvTnVtYmVyKHgpIC0gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMi9TMTEuNi4yX0EzX1QyLjQuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCmlmIChpc05hTigxIC0gdW5kZWZpbmVkKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IDEgLSB1bmRlZmluZWQgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKDEgLSB1bmRlZmluZWQpKTsKfQoKLy9DSEVDSyMyCmlmIChpc05hTih1bmRlZmluZWQgLSAxKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHVuZGVmaW5lZCAtIDEgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHVuZGVmaW5lZCAtIDEpKTsKfQoKLy9DSEVDSyMzCmlmIChpc05hTihuZXcgTnVtYmVyKDEpIC0gdW5kZWZpbmVkKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IG5ldyBOdW1iZXIoMSkgLSB1bmRlZmluZWQgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKG5ldyBOdW1iZXIoMSkgLSB1bmRlZmluZWQpKTsKfQoKLy9DSEVDSyM0CmlmIChpc05hTih1bmRlZmluZWQgLSBuZXcgTnVtYmVyKDEpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6IHVuZGVmaW5lZCAtIG5ldyBOdW1iZXIoMSkgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHVuZGVmaW5lZCAtIG5ldyBOdW1iZXIoMSkpKTsKfQoK",
"commentary":"Operator x - y returns ToNumber(x) - ToNumber(y)",
"description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined",
"path":"TestCases/ch11/11.6/11.6.2/S11.6.2_A3_T2.4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC0geSByZXR1cm5zIFRvTnVtYmVyKHgpIC0gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMi9TMTEuNi4yX0EzX1QyLjUuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgQm9vbGVhbiAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCmlmICh0cnVlIC0gIjEiICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogdHJ1ZSAtICIxIiA9PT0gMC4gQWN0dWFsOiAnICsgKHRydWUgLSAiMSIpKTsKfQoKLy9DSEVDSyMyCmlmICgiMSIgLSB0cnVlICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogIjEiIC0gdHJ1ZSA9PT0gMC4gQWN0dWFsOiAnICsgKCIxIiAtIHRydWUpKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgQm9vbGVhbih0cnVlKSAtICIxIiAhPT0gMCkgewogICRFUlJPUignIzM6IG5ldyBCb29sZWFuKHRydWUpIC0gIjEiID09PSAwLiBBY3R1YWw6ICcgKyAobmV3IEJvb2xlYW4odHJ1ZSkgLSAiMSIpKTsKfQoKLy9DSEVDSyM0CmlmICgiMSIgLSBuZXcgQm9vbGVhbih0cnVlKSAhPT0gMCkgewogICRFUlJPUignIzQ6ICIxIiAtIG5ldyBCb29sZWFuKHRydWUpID09PSAwLiBBY3R1YWw6ICcgKyAoIjEiIC0gbmV3IEJvb2xlYW4odHJ1ZSkpKTsKfQoKLy9DSEVDSyM1CmlmICh0cnVlIC0gbmV3IFN0cmluZygiMSIpICE9PSAwKSB7CiAgJEVSUk9SKCcjNTogdHJ1ZSAtIG5ldyBTdHJpbmcoIjEiKSA9PT0gMC4gQWN0dWFsOiAnICsgKHRydWUgLSBuZXcgU3RyaW5nKCIxIikpKTsKfQoKLy9DSEVDSyM2CmlmIChuZXcgU3RyaW5nKCIxIikgLSB0cnVlICE9PSAwKSB7CiAgJEVSUk9SKCcjNjogbmV3IFN0cmluZygiMSIpIC0gdHJ1ZSA9PT0gMC4gQWN0dWFsOiAnICsgKG5ldyBTdHJpbmcoIjEiKSAtIHRydWUpKTsKfQoKLy9DSEVDSyM3CmlmIChuZXcgQm9vbGVhbih0cnVlKSAtIG5ldyBTdHJpbmcoIjEiKSAhPT0gMCkgewogICRFUlJPUignIzc6IG5ldyBCb29sZWFuKHRydWUpIC0gbmV3IFN0cmluZygiMSIpID09PSAwLiBBY3R1YWw6ICcgKyAobmV3IEJvb2xlYW4odHJ1ZSkgLSBuZXcgU3RyaW5nKCIxIikpKTsKfQoKLy9DSEVDSyM4CmlmIChuZXcgU3RyaW5nKCIxIikgLSBuZXcgQm9vbGVhbih0cnVlKSAhPT0gMCkgewogICRFUlJPUignIzg6IG5ldyBTdHJpbmcoIjEiKSAtIG5ldyBCb29sZWFuKHRydWUpID09PSAwLiBBY3R1YWw6ICcgKyAobmV3IFN0cmluZygiMSIpIC0gbmV3IEJvb2xlYW4odHJ1ZSkpKTsKfQoK",
"commentary":"Operator x - y returns ToNumber(x) - ToNumber(y)",
"description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Boolean (primitive and object)",
"path":"TestCases/ch11/11.6/11.6.2/S11.6.2_A3_T2.5.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC0geSByZXR1cm5zIFRvTnVtYmVyKHgpIC0gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMi9TMTEuNi4yX0EzX1QyLjYuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCmlmIChpc05hTigiMSIgLSB1bmRlZmluZWQpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogIjEiIC0gdW5kZWZpbmVkID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICgiMSIgLSB1bmRlZmluZWQpKTsKfQoKLy9DSEVDSyMyCmlmIChpc05hTih1bmRlZmluZWQgLSAiMSIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogdW5kZWZpbmVkIC0gIjEiID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh1bmRlZmluZWQgLSAiMSIpKTsKfQoKLy9DSEVDSyMzCmlmIChpc05hTihuZXcgU3RyaW5nKCIxIikgLSB1bmRlZmluZWQpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogbmV3IFN0cmluZygiMSIpIC0gdW5kZWZpbmVkID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChuZXcgU3RyaW5nKCIxIikgLSB1bmRlZmluZWQpKTsKfQoKLy9DSEVDSyM0CmlmIChpc05hTih1bmRlZmluZWQgLSBuZXcgU3RyaW5nKCIxIikpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogdW5kZWZpbmVkIC0gbmV3IFN0cmluZygiMSIpID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh1bmRlZmluZWQgLSBuZXcgU3RyaW5nKCIxIikpKTsKfQoK",
"commentary":"Operator x - y returns ToNumber(x) - ToNumber(y)",
"description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Undefined",
"path":"TestCases/ch11/11.6/11.6.2/S11.6.2_A3_T2.6.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC0geSByZXR1cm5zIFRvTnVtYmVyKHgpIC0gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMi9TMTEuNi4yX0EzX1QyLjcuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQppZiAoIjEiIC0gbnVsbCAhPT0gMSkgewogICRFUlJPUignIzE6ICIxIiAtIG51bGwgPT09IDEuIEFjdHVhbDogJyArICgiMSIgLSBudWxsKSk7Cn0KCi8vQ0hFQ0sjMgppZiAobnVsbCAtICIxIiAhPT0gLTEpIHsKICAkRVJST1IoJyMyOiBudWxsIC0gIjEiID09PSAtMS4gQWN0dWFsOiAnICsgKG51bGwgLSAiMSIpKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgU3RyaW5nKCIxIikgLSBudWxsICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogbmV3IFN0cmluZygiMSIpIC0gbnVsbCA9PT0gMS4gQWN0dWFsOiAnICsgKG5ldyBTdHJpbmcoIjEiKSAtIG51bGwpKTsKfQoKLy9DSEVDSyM0CmlmIChudWxsIC0gbmV3IFN0cmluZygiMSIpICE9PSAtMSkgewogICRFUlJPUignIzQ6IG51bGwgLSBuZXcgU3RyaW5nKCIxIikgPT09IC0xLiBBY3R1YWw6ICcgKyAobnVsbCAtIG5ldyBTdHJpbmcoIjEiKSkpOwp9Cgo=",
"commentary":"Operator x - y returns ToNumber(x) - ToNumber(y)",
"description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null",
"path":"TestCases/ch11/11.6/11.6.2/S11.6.2_A3_T2.7.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC0geSByZXR1cm5zIFRvTnVtYmVyKHgpIC0gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMi9TMTEuNi4yX0EzX1QyLjguanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gQm9vbGVhbiAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQppZiAoaXNOYU4odHJ1ZSAtIHVuZGVmaW5lZCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiB0cnVlIC0gdW5kZWZpbmVkID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh0cnVlIC0gdW5kZWZpbmVkKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoaXNOYU4odW5kZWZpbmVkIC0gdHJ1ZSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB1bmRlZmluZWQgLSB0cnVlID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh1bmRlZmluZWQgLSB0cnVlKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoaXNOYU4obmV3IEJvb2xlYW4odHJ1ZSkgLSB1bmRlZmluZWQpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogbmV3IEJvb2xlYW4odHJ1ZSkgLSB1bmRlZmluZWQgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKG5ldyBCb29sZWFuKHRydWUpIC0gdW5kZWZpbmVkKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoaXNOYU4odW5kZWZpbmVkIC0gbmV3IEJvb2xlYW4odHJ1ZSkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogdW5kZWZpbmVkIC0gbmV3IEJvb2xlYW4odHJ1ZSkgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHVuZGVmaW5lZCAtIG5ldyBCb29sZWFuKHRydWUpKSk7Cn0KCg==",
"commentary":"Operator x - y returns ToNumber(x) - ToNumber(y)",
"description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined",
"path":"TestCases/ch11/11.6/11.6.2/S11.6.2_A3_T2.8.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC0geSByZXR1cm5zIFRvTnVtYmVyKHgpIC0gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMi9TMTEuNi4yX0EzX1QyLjkuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gQm9vbGVhbiAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIE51bGwKICovCgovL0NIRUNLIzEKaWYgKHRydWUgLSBudWxsICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogdHJ1ZSAtIG51bGwgPT09IDEuIEFjdHVhbDogJyArICh0cnVlIC0gbnVsbCkpOwp9CgovL0NIRUNLIzIKaWYgKG51bGwgLSB0cnVlICE9PSAtMSkgewogICRFUlJPUignIzI6IG51bGwgLSB0cnVlID09PSAtMS4gQWN0dWFsOiAnICsgKG51bGwgLSB0cnVlKSk7Cn0KCi8vQ0hFQ0sjMwppZiAobmV3IEJvb2xlYW4odHJ1ZSkgLSBudWxsICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogbmV3IEJvb2xlYW4odHJ1ZSkgLSBudWxsID09PSAxLiBBY3R1YWw6ICcgKyAobmV3IEJvb2xlYW4odHJ1ZSkgLSBudWxsKSk7Cn0KCi8vQ0hFQ0sjNAppZiAobnVsbCAtIG5ldyBCb29sZWFuKHRydWUpICE9PSAtMSkgewogICRFUlJPUignIzQ6IG51bGwgLSBuZXcgQm9vbGVhbih0cnVlKSA9PT0gLTEuIEFjdHVhbDogJyArIChudWxsIC0gbmV3IEJvb2xlYW4odHJ1ZSkpKTsKfQoK",
"commentary":"Operator x - y returns ToNumber(x) - ToNumber(y)",
"description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null",
"path":"TestCases/ch11/11.6/11.6.2/S11.6.2_A3_T2.9.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC0geSBwcm9kdWNlcyB0aGUgc2FtZSByZXN1bHQgYXMgeCArICgteSkKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMi9TMTEuNi4yX0E0X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBlaXRoZXIgb3BlcmFuZCBpcyBOYU4sIHRoZSByZXN1bHQgaXMgTmFOCiAqLwoKLy9DSEVDSyMxCmlmIChpc05hTihOdW1iZXIuTmFOIC0gMSkgIT09IHRydWUgKSB7CiAgJEVSUk9SKCcjMTogTmFOIC0gMSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoTmFOIC0gMSkpOwp9CgovL0NIRUNLIzIKaWYgKGlzTmFOKDEgLSBOdW1iZXIuTmFOKSAhPT0gdHJ1ZSApIHsKICAkRVJST1IoJyMyOiAxIC0gTmFOID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICgxIC0gTmFOKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoaXNOYU4oTnVtYmVyLk5hTiAtIE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgIT09IHRydWUgKSB7CiAgJEVSUk9SKCcjMzogTmFOIC0gSW5maW5pdHkgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKE5hTiAtIEluZmluaXR5KSk7Cn0KCi8vQ0hFQ0sjNAppZiAoaXNOYU4oTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZIC0gTnVtYmVyLk5hTikgIT09IHRydWUgKSB7CiAgJEVSUk9SKCcjNDogSW5maW5pdHkgLSBOYU4gPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKEluZmluaXR5IC0gTmFOKSk7Cn0KCi8vQ0hFQ0sjNQppZiAoaXNOYU4oTnVtYmVyLk5hTiAtIE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgIT09IHRydWUgKSB7CiAgJEVSUk9SKCcjNTogTmFOIC0gSW5maW5pdHkgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKE5hTiAtIEluZmluaXR5KSk7Cn0KCi8vQ0hFQ0sjNgppZiAoaXNOYU4oTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZIC0gTnVtYmVyLk5hTikgIT09IHRydWUgKSB7CiAgJEVSUk9SKCcjNjogSW5maW5pdHkgLSBOYU4gPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKEluZmluaXR5IC0gTmFOKSk7Cn0KCg==",
"commentary":"Operator x - y produces the same result as x + (-y)",
"description":"If either operand is NaN, the result is NaN",
"path":"TestCases/ch11/11.6/11.6.2/S11.6.2_A4_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC0geSBwcm9kdWNlcyB0aGUgc2FtZSByZXN1bHQgYXMgeCArICgteSkKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMi9TMTEuNi4yX0E0X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgZGlmZmVyZW5jZSBvZiB0d28gaW5maW5pdGllcyBvZiBvcHBvc2l0ZSBzaWduIGlzIHRoZSBpbmZpbml0eSBvZiBtaW51ZW5kIHNpZ24KICovCgovL0NIRUNLIzEKaWYgKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSAtIE51bWJlci5ORUdBVElWRV9JTkZJTklUWSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZICkgewogICRFUlJPUignIzE6IEluZmluaXR5IC0gLUluZmluaXR5ID09PSBJbmZpbml0eS4gQWN0dWFsOiAnICsgKEluZmluaXR5IC0gLUluZmluaXR5KSk7Cn0KCi8vQ0hFQ0sjMgppZiAoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZIC0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZICE9PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgKSB7CiAgJEVSUk9SKCcjMjogLUluZmluaXR5IC0gSW5maW5pdHkgPT09IC1JbmZpbml0eS4gQWN0dWFsOiAnICsgKC1JbmZpbml0eSAtIEluZmluaXR5KSk7Cn0KCgoKCg==",
"commentary":"Operator x - y produces the same result as x + (-y)",
"description":"The difference of two infinities of opposite sign is the infinity of minuend sign",
"path":"TestCases/ch11/11.6/11.6.2/S11.6.2_A4_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC0geSBwcm9kdWNlcyB0aGUgc2FtZSByZXN1bHQgYXMgeCArICgteSkKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMi9TMTEuNi4yX0E0X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgZGlmZmVyZW5jZSBvZiB0d28gaW5maW5pdGllcyBvZiB0aGUgc2FtZSBzaWduIGlzIE5hTgogKi8KCi8vQ0hFQ0sjMQppZiAoaXNOYU4oTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZIC0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSAhPT0gdHJ1ZSApIHsKICAkRVJST1IoJyMxOiBJbmZpbml0eSAtIEluZmluaXR5ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChJbmZpbml0eSAtIEluZmluaXR5KSk7Cn0KCi8vQ0hFQ0sjMgppZiAoaXNOYU4oTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZIC0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSAhPT0gdHJ1ZSApIHsKICAkRVJST1IoJyMyOiAtSW5maW5pdHkgLSAtSW5maW5pdHkgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKC1JbmZpbml0eSAtIC1JbmZpbml0eSkpOwp9CgoKCgo=",
"commentary":"Operator x - y produces the same result as x + (-y)",
"description":"The difference of two infinities of the same sign is NaN",
"path":"TestCases/ch11/11.6/11.6.2/S11.6.2_A4_T3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC0geSBwcm9kdWNlcyB0aGUgc2FtZSByZXN1bHQgYXMgeCArICgteSkKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMi9TMTEuNi4yX0E0X1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgZGlmZmVyZW5jZSBvZiBhbiBpbmZpbml0eSBhbmQgYSBmaW5pdGUgdmFsdWUgaXMgZXF1YWwgdG8gaW5maW5pdHkgb2YgYXBwcm9wcmlhdGUgc2lnbgogKi8KCi8vQ0hFQ0sjMQppZiAoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZIC0gMSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZICkgewogICRFUlJPUignIzE6IEluZmluaXR5IC0gMSA9PT0gSW5maW5pdHkuIEFjdHVhbDogJyArIChJbmZpbml0eSAtIDEpKTsKfQoKLy9DSEVDSyMyCmlmICgtMSAtIE51bWJlci5QT1NJVElWRV9JTkZJTklUWSAhPT0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZICkgewogICRFUlJPUignIzI6IC0xIC0gSW5maW5pdHkgPT09IC1JbmZpbml0eS4gQWN0dWFsOiAnICsgKC0xIC0gSW5maW5pdHkpKTsKfQoKLy9DSEVDSyMzCmlmIChOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgLSAxICE9PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgKSB7CiAgJEVSUk9SKCcjMzogLUluZmluaXR5IC0gMSA9PT0gLUluZmluaXR5LiBBY3R1YWw6ICcgKyAoLUluZmluaXR5IC0gMSkpOwp9CgovL0NIRUNLIzQKaWYgKC0xIC0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgKSB7CiAgJEVSUk9SKCcjNDogLTEgLSAtSW5maW5pdHkgPT09IEluZmluaXR5LiBBY3R1YWw6ICcgKyAoLTEgLSAtSW5maW5pdHkpKTsKfQoKLy9DSEVDSyM1CmlmIChOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgLSBOdW1iZXIuTUFYX1ZBTFVFICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgKSB7CiAgJEVSUk9SKCcjNTogSW5maW5pdHkgLSBOdW1iZXIuTUFYX1ZBTFVFID09PSBJbmZpbml0eS4gQWN0dWFsOiAnICsgKEluZmluaXR5IC0gTnVtYmVyLk1BWF9WQUxVRSkpOwp9CgovL0NIRUNLIzYKaWYgKC1OdW1iZXIuTUFYX1ZBTFVFIC0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZICE9PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgKSB7CiAgJEVSUk9SKCcjNjogLU51bWJlci5NQVhfVkFMVUUgLSBJbmZpbml0eSA9PT0gSS1uZmluaXR5LiBBY3R1YWw6ICcgKyAoLU51bWJlci5NQVhfVkFMVUUgLSBJbmZpbml0eSkpOwp9CgovL0NIRUNLIzcKaWYgKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSAtIE51bWJlci5NQVhfVkFMVUUgIT09IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSApIHsKICAkRVJST1IoJyM3OiAtSW5maW5pdHkgLSBOdW1iZXIuTUFYX1ZBTFVFID09PSAtSW5maW5pdHkuIEFjdHVhbDogJyArICgtSW5maW5pdHkgLSBOdW1iZXIuTUFYX1ZBTFVFKSk7Cn0KCi8vQ0hFQ0sjOAppZiAoLU51bWJlci5NQVhfVkFMVUUgLSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSApIHsKICAkRVJST1IoJyM4OiAtTnVtYmVyLk1BWF9WQUxVRSAtIC1JbmZpbml0eSA9PT0gSW5maW5pdHkuIEFjdHVhbDogJyArICgtTnVtYmVyLk1BWF9WQUxVRSAtIC1JbmZpbml0eSkpOwp9CgoKCgo=",
"commentary":"Operator x - y produces the same result as x + (-y)",
"description":"The difference of an infinity and a finite value is equal to infinity of appropriate sign",
"path":"TestCases/ch11/11.6/11.6.2/S11.6.2_A4_T4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC0geSBwcm9kdWNlcyB0aGUgc2FtZSByZXN1bHQgYXMgeCArICgteSkKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMi9TMTEuNi4yX0E0X1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBVc2luZyB0aGUgcnVsZSBvZiBzdW0gb2YgdHdvIHplcm9lcyBhbmQgdGhlIGZhY3QgdGhhdCBhIC0gYiA9IGEgKyAoLWIpCiAqLwoKLy9DSEVDSyMxCmlmICgtMCAtIC0wICE9PSAwICkgeyAgCiAgJEVSUk9SKCcjMS4xOiAtMCAtIC0wID09PSAwLiBBY3R1YWw6ICcgKyAoLTAgLSAtMCkpOwp9IGVsc2UgewogIGlmICgxIC8gKC0wIC0gLTApICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHsKICAgICRFUlJPUignIzEuMjogLTAgLSAtMCA9PT0gKyAwLiBBY3R1YWw6IC0wJyk7CiAgfQp9CgovL0NIRUNLIzIKaWYgKDAgLSAtMCAhPT0gMCApIHsgIAogICRFUlJPUignIzIuMTogMCAtIC0wID09PSAwLiBBY3R1YWw6ICcgKyAoMCAtIC0wKSk7Cn0gZWxzZSB7CiAgaWYgKDEgLyAoMCAtIC0wKSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7CiAgICAkRVJST1IoJyMyLjI6IDAgLSAtMCA9PT0gKyAwLiBBY3R1YWw6IC0wJyk7CiAgfQp9CgovL0NIRUNLIzMKaWYgKC0wIC0gMCAhPT0gLTAgKSB7ICAKICAkRVJST1IoJyMzLjE6IC0wIC0gMCA9PT0gMC4gQWN0dWFsOiAnICsgKC0wIC0gMCkpOwp9IGVsc2UgewogIGlmICgxIC8gKC0wIC0gMCkgIT09IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgewogICAgJEVSUk9SKCcjMy4yOiAtMCAtIDAgPT09IC0gMC4gQWN0dWFsOiArMCcpOwogIH0KfQoKLy9DSEVDSyM0CmlmICgwIC0gMCAhPT0gMCApIHsgIAogICRFUlJPUignIzQuMTogMCAtIDAgPT09IDAuIEFjdHVhbDogJyArICgwIC0gMCkpOwp9IGVsc2UgewogIGlmICgxIC8gKDAgLSAwKSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7CiAgICAkRVJST1IoJyM0LjI6IDAgLSAwID09PSArIDAuIEFjdHVhbDogLTAnKTsKICB9Cn0KCg==",
"commentary":"Operator x - y produces the same result as x + (-y)",
"description":"Using the rule of sum of two zeroes and the fact that a - b = a + (-b)",
"path":"TestCases/ch11/11.6/11.6.2/S11.6.2_A4_T5.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC0geSBwcm9kdWNlcyB0aGUgc2FtZSByZXN1bHQgYXMgeCArICgteSkKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMi9TMTEuNi4yX0E0X1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBVc2luZyB0aGUgcnVsZSBvZiBzdW0gb2YgYSB6ZXJvIGFuZCBhIG5vbnplcm8gZmluaXRlIHZhbHVlIGFuZCB0aGUgZmFjdCB0aGF0IGEgLSBiID0gYSArICgtYikKICovCgovL0NIRUNLIzEKaWYgKDEgLSAtMCAhPT0gMSApIHsgIAogICRFUlJPUignIzE6IDEgLSAtMCA9PT0gMS4gQWN0dWFsOiAnICsgKDEgLSAtMCkpOwp9CgovL0NIRUNLIzIKaWYgKDEgLSAwICE9PSAxICkgeyAgCiAgJEVSUk9SKCcjMjogMSAtIDAgPT09IDEuIEFjdHVhbDogJyArICgxIC0gMCkpOwp9IAoKLy9DSEVDSyMzCmlmICgtMCAtIDEgIT09IC0xICkgeyAgCiAgJEVSUk9SKCcjMzogLTAgLSAxID09PSAtMS4gQWN0dWFsOiAnICsgKC0wIC0gMSkpOwp9CgovL0NIRUNLIzQKaWYgKDAgLSAxICE9PSAtMSApIHsgIAogICRFUlJPUignIzQ6IDAgLSAxID09PSAtMS4gQWN0dWFsOiAnICsgKDAgLSAxKSk7Cn0gCgovL0NIRUNLIzUKaWYgKE51bWJlci5NQVhfVkFMVUUgLSAtMCAhPT0gTnVtYmVyLk1BWF9WQUxVRSApIHsgIAogICRFUlJPUignIzU6IE51bWJlci5NQVhfVkFMVUUgLSAtMCA9PT0gTnVtYmVyLk1BWF9WQUxVRS4gQWN0dWFsOiAnICsgKE51bWJlci5NQVhfVkFMVUUgLSAtMCkpOwp9CgovL0NIRUNLIzYKaWYgKE51bWJlci5NQVhfVkFMVUUgLSAwICE9PSBOdW1iZXIuTUFYX1ZBTFVFICkgeyAgCiAgJEVSUk9SKCcjNjogTnVtYmVyLk1BWF9WQUxVRSAtIDAgPT09IE51bWJlci5NQVhfVkFMVUUuIEFjdHVhbDogJyArIChOdW1iZXIuTUFYX1ZBTFVFIC0gMCkpOwp9IAoKLy9DSEVDSyM3CmlmICgtMCAtIE51bWJlci5NSU5fVkFMVUUgIT09IC1OdW1iZXIuTUlOX1ZBTFVFICkgeyAgCiAgJEVSUk9SKCcjNzogLTAgLSBOdW1iZXIuTUlOX1ZBTFVFID09PSAtTnVtYmVyLk1JTl9WQUxVRS4gQWN0dWFsOiAnICsgKC0wIC0gTnVtYmVyLk1JTl9WQUxVRSkpOwp9CgovL0NIRUNLIzgKaWYgKDAgLSBOdW1iZXIuTUlOX1ZBTFVFICE9PSAtTnVtYmVyLk1JTl9WQUxVRSApIHsgIAogICRFUlJPUignIzg6IDAgLSBOdW1iZXIuTUlOX1ZBTFVFID09PSAtTnVtYmVyLk1JTl9WQUxVRS4gQWN0dWFsOiAnICsgKDAgLSBOdW1iZXIuTUlOX1ZBTFVFKSk7Cn0gCgo=",
"commentary":"Operator x - y produces the same result as x + (-y)",
"description":"Using the rule of sum of a zero and a nonzero finite value and the fact that a - b = a + (-b)",
"path":"TestCases/ch11/11.6/11.6.2/S11.6.2_A4_T6.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC0geSBwcm9kdWNlcyB0aGUgc2FtZSByZXN1bHQgYXMgeCArICgteSkKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMi9TMTEuNi4yX0E0X1Q3LmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgbWF0aGVtYXRpY2FsIGRpZmZlcmVuY2Ugb2YgdHdvIG5vbnplcm8gZmluaXRlIHZhbHVlcyBvZiB0aGUgc2FtZSBtYWduaXR1ZGUgYW5kIHNhbWUgc2lnbiBpcyArMAogKi8KCi8vQ0hFQ0sjMQppZiAoTnVtYmVyLk1JTl9WQUxVRSAtIE51bWJlci5NSU5fVkFMVUUgIT09ICswKSB7ICAKICAkRVJST1IoJyMxLjE6IE51bWJlci5NSU5fVkFMVUUgLSBOdW1iZXIuTUlOX1ZBTFVFID09PSAwLiBBY3R1YWw6ICcgKyAoTnVtYmVyLk1JTl9WQUxVRSAtIE51bWJlci5NSU5fVkFMVUUpKTsKfSBlbHNlIHsKICBpZiAoMSAvIChOdW1iZXIuTUlOX1ZBTFVFIC0gTnVtYmVyLk1JTl9WQUxVRSkgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICAgJEVSUk9SKCcjMS4yOiBOdW1iZXIuTUlOX1ZBTFVFIC0gTnVtYmVyLk1JTl9WQUxVRSA9PT0gKyAwLiBBY3R1YWw6IC0wJyk7CiAgfQp9CgovL0NIRUNLIzIKaWYgKC1OdW1iZXIuTUFYX1ZBTFVFIC0gLU51bWJlci5NQVhfVkFMVUUgIT09ICswKSB7ICAKICAkRVJST1IoJyMyLjI6IC1OdW1iZXIuTUFYX1ZBTFVFIC0gLU51bWJlci5NQVhfVkFMVUUgPT09IDAuIEFjdHVhbDogJyArICgtTnVtYmVyLk1BWF9WQUxVRSAtIC1OdW1iZXIuTUFYX1ZBTFVFKSk7Cn0gZWxzZSB7CiAgaWYgKDEgLyAoLU51bWJlci5NQVhfVkFMVUUgLSAtTnVtYmVyLk1BWF9WQUxVRSkgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICAgJEVSUk9SKCcjMi4xOiAtTnVtYmVyLk1BWF9WQUxVRSAtIC1OdW1iZXIuTUFYX1ZBTFVFID09PSArIDAuIEFjdHVhbDogLTAnKTsKICB9Cn0KCi8vQ0hFQ0sjMwppZiAoMSAvIE51bWJlci5NQVhfVkFMVUUgLSAxIC8gTnVtYmVyLk1BWF9WQUxVRSAhPT0gKzApIHsgIAogICRFUlJPUignIzMuMTogMSAvIE51bWJlci5NQVhfVkFMVUUgLSAxIC8gTnVtYmVyLk1BWF9WQUxVRSA9PT0gMC4gQWN0dWFsOiAnICsgKDEgLyBOdW1iZXIuTUFYX1ZBTFVFIC0gMSAvIE51bWJlci5NQVhfVkFMVUUpKTsKfSBlbHNlIHsKICBpZiAoMSAvICgxIC8gTnVtYmVyLk1BWF9WQUxVRSAtIDEgLyBOdW1iZXIuTUFYX1ZBTFVFKSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7CiAgICAkRVJST1IoJyMzLjI6IDEgLyBOdW1iZXIuTUFYX1ZBTFVFIC0gMSAvIE51bWJlci5NQVhfVkFMVUUgPT09ICsgMC4gQWN0dWFsOiAtMCcpOwogIH0KfQoK",
"commentary":"Operator x - y produces the same result as x + (-y)",
"description":"The mathematical difference of two nonzero finite values of the same magnitude and same sign is +0",
"path":"TestCases/ch11/11.6/11.6.2/S11.6.2_A4_T7.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC0geSBwcm9kdWNlcyB0aGUgc2FtZSByZXN1bHQgYXMgeCArICgteSkKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMi9TMTEuNi4yX0E0X1Q4LmpzCiAqIEBkZXNjcmlwdGlvbiBJZiB0aGUgbWFnbml0dWRlIGlzIHRvbyBsYXJnZSB0byByZXByZXNlbnQsIHRoZSBvcGVyYXRpb24gb3ZlcmZsb3dzIGFuZCB0aGUgcmVzdWx0IGlzIHRoZW4gYW4gaW5maW5pdHkgb2YgYXBwcm9wcmlhdGUgc2lnbgogKi8KCi8vQ0hFQ0sjMQppZiAoTnVtYmVyLk1BWF9WQUxVRSAtIC1OdW1iZXIuTUFYX1ZBTFVFICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHsKICAkRVJST1IoJyMxOiBOdW1iZXIuTUFYX1ZBTFVFIC0gLU51bWJlci5NQVhfVkFMVUUgPT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWS4gQWN0dWFsOiAnICsgKE51bWJlci5NQVhfVkFMVUUgLSAtTnVtYmVyLk1BWF9WQUxVRSkpOwp9CgovL0NIRUNLIzIKaWYgKC1OdW1iZXIuTUFYX1ZBTFVFIC0gTnVtYmVyLk1BWF9WQUxVRSAhPT0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSB7CiAgJEVSUk9SKCcjMjogLU51bWJlci5NQVhfVkFMVUUgLSB1bWJlci5NQVhfVkFMVUUgPT09IE51bWJlci5ORUdBVElWRV9JTkZJTklUWS4gQWN0dWFsOiAnICsgKC1OdW1iZXIuTUFYX1ZBTFVFIC0gdW1iZXIuTUFYX1ZBTFVFKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoMWUrMzA4IC0gLTFlKzMwOCAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7CiAgJEVSUk9SKCcjMzogMWUrMzA4IC0gLTFlKzMwOCA9PT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLiBBY3R1YWw6ICcgKyAoMWUrMzA4IC0gLTFlKzMwOCkpOwp9CgovL0NIRUNLIzQKaWYgKC04Ljk5ZSszMDcgLSA4Ljk5ZSszMDcgIT09IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgewogICRFUlJPUignIzQ6IC04Ljk5ZSszMDcgLSA4Ljk5ZSszMDcgPT09IE51bWJlci5ORUdBVElWRV9JTkZJTklUWS4gQWN0dWFsOiAnICsgKC04Ljk5ZSszMDcgLSA4Ljk5ZSszMDcpKTsKfQoK",
"commentary":"Operator x - y produces the same result as x + (-y)",
"description":"If the magnitude is too large to represent, the operation overflows and the result is then an infinity of appropriate sign",
"path":"TestCases/ch11/11.6/11.6.2/S11.6.2_A4_T8.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gU2hpZnRFeHByZXNzaW9uIGFuZCAiPDwiIG9yIGJldHdlZW4gIjw8IiBhbmQgQWRkaXRpdmVFeHByZXNzaW9uIGFyZSBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTEvMTEuNy8xMS43LjEvUzExLjcuMV9BMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYnkgdXNpbmcgZXZhbAogKi8KCi8vQ0hFQ0sjMQppZiAoZXZhbCgiMVx1MDAwOTw8XHUwMDA5MSIpICE9PSAyKSB7CiAgJEVSUk9SKCcjMTogMVxcdTAwMDk8PFxcdTAwMDkxID09PSAyJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoZXZhbCgiMVx1MDAwQjw8XHUwMDBCMSIpICE9PSAyKSB7CiAgJEVSUk9SKCcjMjogMVxcdTAwMEI8PFxcdTAwMEIxID09PSAyJyk7ICAKfQoKLy9DSEVDSyMzCmlmIChldmFsKCIxXHUwMDBDPDxcdTAwMEMxIikgIT09IDIpIHsKICAkRVJST1IoJyMzOiAxXFx1MDAwQzw8XFx1MDAwQzEgPT09IDInKTsKfQoKLy9DSEVDSyM0CmlmIChldmFsKCIxXHUwMDIwPDxcdTAwMjAxIikgIT09IDIpIHsKICAkRVJST1IoJyM0OiAxXFx1MDAyMDw8XFx1MDAyMDEgPT09IDInKTsKfQoKLy9DSEVDSyM1CmlmIChldmFsKCIxXHUwMEEwPDxcdTAwQTAxIikgIT09IDIpIHsKICAkRVJST1IoJyM1OiAxXFx1MDBBMDw8XFx1MDBBMDEgPT09IDInKTsKfQoKLy9DSEVDSyM2CmlmIChldmFsKCIxXHUwMDBBPDxcdTAwMEExIikgIT09IDIpIHsKICAkRVJST1IoJyM2OiAxXFx1MDAwQTw8XFx1MDAwQTEgPT09IDInKTsgIAp9CgovL0NIRUNLIzcKaWYgKGV2YWwoIjFcdTAwMEQ8PFx1MDAwRDEiKSAhPT0gMikgewogICRFUlJPUignIzc6IDFcXHUwMDBEPDxcXHUwMDBEMSA9PT0gMicpOwp9CgovL0NIRUNLIzgKaWYgKGV2YWwoIjFcdTIwMjg8PFx1MjAyODEiKSAhPT0gMikgewogICRFUlJPUignIzg6IDFcXHUyMDI4PDxcXHUyMDI4MSA9PT0gMicpOwp9CgovL0NIRUNLIzkKaWYgKGV2YWwoIjFcdTIwMjk8PFx1MjAyOTEiKSAhPT0gMikgewogICRFUlJPUignIzk6IDFcXHUyMDI5PDxcXHUyMDI5MSA9PT0gMicpOwp9CgovL0NIRUNLIzEwCmlmIChldmFsKCIxXHUwMDA5XHUwMDBCXHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5PDxcdTAwMDlcdTAwMEJcdTAwMENcdTAwMjBcdTAwQTBcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjkxIikgIT09IDIpIHsKICAkRVJST1IoJyMxMDogMVxcdTAwMDlcXHUwMDBCXFx1MDAwQ1xcdTAwMjBcXHUwMEEwXFx1MDAwQVxcdTAwMERcXHUyMDI4XFx1MjAyOTw8XFx1MDAwOVxcdTAwMEJcXHUwMDBDXFx1MDAyMFxcdTAwQTBcXHUwMDBBXFx1MDAwRFxcdTIwMjhcXHUyMDI5MSA9PT0gMicpOwp9Cgo=",
"commentary":"White Space and Line Terminator between ShiftExpression and \"<<\" or between \"<<\" and AdditiveExpression are allowed",
"description":"Checking by using eval",
"path":"TestCases/ch11/11.7/11.7.1/S11.7.1_A1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw8IHkgdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4xL1MxMS43LjFfQTIuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gRWl0aGVyIFR5cGUgaXMgbm90IFJlZmVyZW5jZSBvciBHZXRCYXNlIGlzIG5vdCBudWxsCiAqLwoKLy9DSEVDSyMxCmlmICgyIDw8IDEgIT09IDQpIHsKICAkRVJST1IoJyMxOiAyIDw8IDEgPT09IDQuIEFjdHVhbDogJyArICgyIDw8IDEpKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gMjsKaWYgKHggPDwgMSAhPT0gNCkgewogICRFUlJPUignIzI6IHZhciB4ID0gMjsgeCA8PCAxID09PSA0LiBBY3R1YWw6ICcgKyAoeCA8PCAxKSk7Cn0KCi8vQ0hFQ0sjMwp2YXIgeSA9IDE7CmlmICgyIDw8IHkgIT09IDQpIHsKICAkRVJST1IoJyMzOiB2YXIgeSA9IDI7IDIgPDwgeSA9PT0gNC4gQWN0dWFsOiAnICsgKDIgPDwgeSkpOwp9CgovL0NIRUNLIzQKdmFyIHggPSAyOwp2YXIgeSA9IDE7CmlmICh4IDw8IHkgIT09IDQpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IDI7IHZhciB5ID0gMTsgeCA8PCB5ID09PSA0LiBBY3R1YWw6ICcgKyAoeCA8PCB5KSk7Cn0KCi8vQ0hFQ0sjNQp2YXIgb2JqZWN0eCA9IG5ldyBPYmplY3QoKTsKdmFyIG9iamVjdHkgPSBuZXcgT2JqZWN0KCk7Cm9iamVjdHgucHJvcCA9IDI7Cm9iamVjdHkucHJvcCA9IDE7CmlmIChvYmplY3R4LnByb3AgPDwgb2JqZWN0eS5wcm9wICE9PSA0KSB7CiAgJEVSUk9SKCcjNTogdmFyIG9iamVjdHggPSBuZXcgT2JqZWN0KCk7IHZhciBvYmplY3R5ID0gbmV3IE9iamVjdCgpOyBvYmplY3R4LnByb3AgPSAyOyBvYmplY3R5LnByb3AgPSAxOyBvYmplY3R4LnByb3AgPDwgb2JqZWN0eS5wcm9wID09PSA0LiBBY3R1YWw6ICcgKyAob2JqZWN0eC5wcm9wIDw8IG9iamVjdHkucHJvcCkpOwp9Cgo=",
"commentary":"Operator x << y uses GetValue",
"description":"Either Type is not Reference or GetBase is not null",
"path":"TestCases/ch11/11.7/11.7.1/S11.7.1_A2.1_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw8IHkgdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4xL1MxMS43LjFfQTIuMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gSWYgR2V0QmFzZSh4KSBpcyBudWxsLCB0aHJvdyBSZWZlcmVuY2VFcnJvcgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHggPDwgMTsKICAkRVJST1IoJyMxLjE6IHggPDwgMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHggPDwgMSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogeCA8PCAxIHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9Cgo=",
"commentary":"Operator x << y uses GetValue",
"description":"If GetBase(x) is null, throw ReferenceError",
"path":"TestCases/ch11/11.7/11.7.1/S11.7.1_A2.1_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw8IHkgdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4xL1MxMS43LjFfQTIuMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gSWYgR2V0QmFzZSh5KSBpcyBudWxsLCB0aHJvdyBSZWZlcmVuY2VFcnJvcgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIDEgPDwgeTsKICAkRVJST1IoJyMxLjE6IDEgPDwgeSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKDEgPDwgeSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogMSA8PCB5IHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9Cgo=",
"commentary":"Operator x << y uses GetValue",
"description":"If GetBase(y) is null, throw ReferenceError",
"path":"TestCases/ch11/11.7/11.7.1/S11.7.1_A2.1_T3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw8IHkgdXNlcyBbW0RlZmF1bHQgVmFsdWVdXQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4xL1MxMS43LjFfQTIuMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gSWYgVHlwZSh2YWx1ZSkgaXMgT2JqZWN0LCBldmFsdWF0ZSBUb1ByaW1pdGl2ZSh2YWx1ZSwgTnVtYmVyKQogKi8KCi8vQ0hFQ0sjMQppZiAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0gPDwgMSAhPT0gMikgewogICRFUlJPUignIzE6IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19IDw8IDEgPT09IDIuIEFjdHVhbDogJyArICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSA8PCAxKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX0gPDwgMSAhPT0gMikgewogICRFUlJPUignIzI6IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19IDw8IDEgPT09IDIuIEFjdHVhbDogJyArICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSA8PCAxKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19IDw8IDEgIT09IDIpIHsKICAkRVJST1IoJyMzOiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0gPDwgMSA9PT0gMi4gQWN0dWFsOiAnICsgKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSA8PCAxKSk7Cn0KCi8vQ0hFQ0sjNAp0cnkgewogIGlmICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19IDw8IDEgIT09IDIpIHsKICAgICRFUlJPUignIzQuMToge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fSA8PCAxID09PSAyLiBBY3R1YWw6ICcgKyAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fSA8PCAxKSk7CiAgfQp9CmNhdGNoIChlKSB7CiAgaWYgKGUgPT09ICJlcnJvciIpIHsKICAgICRFUlJPUignIzQuMjoge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fSA8PCAxIG5vdCB0aHJvdyAiZXJyb3IiJyk7CiAgfSBlbHNlIHsKICAgICRFUlJPUignIzQuMzoge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fSA8PCAxIG5vdCB0aHJvdyBFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCi8vQ0hFQ0sjNQppZiAoMSA8PCB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0gIT09IDIpIHsKICAkRVJST1IoJyM1OiAxIDw8IHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSA9PT0gMi4gQWN0dWFsOiAnICsgKDEgPDwge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSk7Cn0KCi8vQ0hFQ0sjNgppZiAoMSA8PCB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0gIT09IDIpIHsKICAkRVJST1IoJyM2OiAxIDw8IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSA9PT0gMi4gQWN0dWFsOiAnICsgKDEgPDwge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSk7Cn0KCi8vQ0hFQ0sjNwp0cnkgewogIDEgPDwge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsKICAkRVJST1IoJyM3LjE6IDEgPDwge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSB0aHJvdyAiZXJyb3IiLiBBY3R1YWw6ICcgKyAoMSA8PCB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSk7Cn0gIApjYXRjaCAoZSkgewogIGlmIChlICE9PSAiZXJyb3IiKSB7CiAgICAkRVJST1IoJyM3LjI6IDEgPDwge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSB0aHJvdyAiZXJyb3IiLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gCn0KCi8vQ0hFQ0sjOAp0cnkgewogIDEgPDwge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsKICAkRVJST1IoJyM4LjE6IDEgPDwge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArICgxIDw8IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0pKTsKfSAgCmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjOC4yOiAxIDw8IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0gdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gCn0KCg==",
"commentary":"Operator x << y uses [[Default Value]]",
"description":"If Type(value) is Object, evaluate ToPrimitive(value, Number)",
"path":"TestCases/ch11/11.7/11.7.1/S11.7.1_A2.2_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUb051bWJlcihmaXJzdCBleHByZXNzaW9uKSBpcyBjYWxsZWQgZmlyc3QsIGFuZCB0aGVuIFRvTnVtYmVyKHNlY29uZCBleHByZXNzaW9uKQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4xL1MxMS43LjFfQTIuM19UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgd2l0aCAidGhyb3ciCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0geyB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfSB9Owp2YXIgeSA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieSI7IH0gfTsKdHJ5IHsKICAgeCA8PCB5OwogICAkRVJST1IoJyMxLjE6IHZhciB4ID0geyB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfSB9OyB2YXIgeSA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieSI7IH0gfTsgeCA8PCB5IHRocm93ICJ4Ii4gQWN0dWFsOiAnICsgKHggPDwgeSkpOwp9IGNhdGNoIChlKSB7CiAgIGlmIChlID09PSAieSIpIHsKICAgICAkRVJST1IoJyMxLjI6IFRvTnVtYmVyKGZpcnN0IGV4cHJlc3Npb24pIGlzIGNhbGxlZCBmaXJzdCwgYW5kIHRoZW4gVG9OdW1iZXIoc2Vjb25kIGV4cHJlc3Npb24pJyk7CiAgIH0gZWxzZSB7CiAgICAgaWYgKGUgIT09ICJ4IikgewogICAgICAgJEVSUk9SKCcjMS4zOiB2YXIgeCA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieCI7IH0gfTsgdmFyIHkgPSB7IHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9IH07IHggPDwgeSB0aHJvdyAieCIuIEFjdHVhbDogJyArIChlKSk7CiAgICAgfQogICB9Cn0KCg==",
"commentary":"ToNumber(first expression) is called first, and then ToNumber(second expression)",
"description":"Checking with \"throw\"",
"path":"TestCases/ch11/11.7/11.7.1/S11.7.1_A2.3_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS43LzExLjcuMS9TMTEuNy4xX0EyLjRfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggIj0iCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gMDsgCmlmICgoeCA9IDEpIDw8IHggIT09IDIpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IDA7ICh4ID0gMSkgPDwgeCA9PT0gMi4gQWN0dWFsOiAnICsgKCh4ID0gMSkgPDwgeCkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAwOyAKaWYgKHggPDwgKHggPSAxKSAhPT0gMCkgewogICRFUlJPUignIzI6IHZhciB4ID0gMDsgeCA8PCAoeCA9IDEpID09PSAwLiBBY3R1YWw6ICcgKyAoeCA8PCAoeCA9IDEpKSk7Cn0KCgo=",
"commentary":"First expression is evaluated first, and then second expression",
"description":"Checking with \"=\"",
"path":"TestCases/ch11/11.7/11.7.1/S11.7.1_A2.4_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS43LzExLjcuMS9TMTEuNy4xX0EyLjRfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggInRocm93IgogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9Owp2YXIgeSA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9Owp0cnkgewogICB4KCkgPDwgeSgpOwogICAkRVJST1IoJyMxLjE6IHZhciB4ID0gZnVuY3Rpb24gKCkgeyB0aHJvdyAieCI7IH07IHZhciB5ID0gZnVuY3Rpb24gKCkgeyB0aHJvdyAieSI7IH07IHgoKSA8PCB5KCkgdGhyb3cgIngiLiBBY3R1YWw6ICcgKyAoeCgpIDw8IHkoKSkpOwp9IGNhdGNoIChlKSB7CiAgIGlmIChlID09PSAieSIpIHsKICAgICAkRVJST1IoJyMxLjI6IEZpcnN0IGV4cHJlc3Npb24gaXMgZXZhbHVhdGVkIGZpcnN0LCBhbmQgdGhlbiBzZWNvbmQgZXhwcmVzc2lvbicpOwogICB9IGVsc2UgewogICAgIGlmIChlICE9PSAieCIpIHsKICAgICAgICRFUlJPUignIzEuMzogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpIDw8IHkoKSB0aHJvdyAieCIuIEFjdHVhbDogJyArIChlKSk7CiAgICAgfQogICB9Cn0KCg==",
"commentary":"First expression is evaluated first, and then second expression",
"description":"Checking with \"throw\"",
"path":"TestCases/ch11/11.7/11.7.1/S11.7.1_A2.4_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS43LzExLjcuMS9TMTEuNy4xX0EyLjRfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggdW5kZWNsYXJhdGVkIHZhcmlhYmxlcwogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHggPDwgKHggPSAxKTsKICAkRVJST1IoJyMxLjE6IHggPDwgKHggPSAxKSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHggPDwgKHggPSAxKSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogeCA8PCAoeCA9IDEpIHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9CgovL0NIRUNLIzIKaWYgKCh5ID0gMSkgPDwgeSAhPT0gMikgewogICRFUlJPUignIzI6ICh5ID0gMSkgPDwgeSA9PT0gMi4gQWN0dWFsOiAnICsgKCh5ID0gMSkgPDwgeSkpOwp9CgoK",
"commentary":"First expression is evaluated first, and then second expression",
"description":"Checking with undeclarated variables",
"path":"TestCases/ch11/11.7/11.7.1/S11.7.1_A2.4_T3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw8IHkgcmV0dXJucyBUb051bWJlcih4KSA8PCBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4xL1MxMS43LjFfQTNfVDEuMS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBhbmQgVHlwZSh5KSB2YXJ5IGJldHdlZW4gcHJpbWl0aXZlIGJvb2xlYW4gYW5kIEJvb2xlYW4gb2JqZWN0CiAqLwoKLy9DSEVDSyMxCmlmICh0cnVlIDw8IHRydWUgIT09IDIpIHsKICAkRVJST1IoJyMxOiB0cnVlIDw8IHRydWUgPT09IDIuIEFjdHVhbDogJyArICh0cnVlIDw8IHRydWUpKTsKfQoKLy9DSEVDSyMyCmlmIChuZXcgQm9vbGVhbih0cnVlKSA8PCB0cnVlICE9PSAyKSB7CiAgJEVSUk9SKCcjMjogbmV3IEJvb2xlYW4odHJ1ZSkgPDwgdHJ1ZSA9PT0gMi4gQWN0dWFsOiAnICsgKG5ldyBCb29sZWFuKHRydWUpIDw8IHRydWUpKTsKfQoKLy9DSEVDSyMzCmlmICh0cnVlIDw8IG5ldyBCb29sZWFuKHRydWUpICE9PSAyKSB7CiAgJEVSUk9SKCcjMzogdHJ1ZSA8PCBuZXcgQm9vbGVhbih0cnVlKSA9PT0gMi4gQWN0dWFsOiAnICsgKHRydWUgPDwgbmV3IEJvb2xlYW4odHJ1ZSkpKTsKfQoKLy9DSEVDSyM0CmlmIChuZXcgQm9vbGVhbih0cnVlKSA8PCBuZXcgQm9vbGVhbih0cnVlKSAhPT0gMikgewogICRFUlJPUignIzQ6IG5ldyBCb29sZWFuKHRydWUpIDw8IG5ldyBCb29sZWFuKHRydWUpID09PSAyLiBBY3R1YWw6ICcgKyAobmV3IEJvb2xlYW4odHJ1ZSkgPDwgbmV3IEJvb2xlYW4odHJ1ZSkpKTsKfQoK",
"commentary":"Operator x << y returns ToNumber(x) << ToNumber(y)",
"description":"Type(x) and Type(y) vary between primitive boolean and Boolean object",
"path":"TestCases/ch11/11.7/11.7.1/S11.7.1_A3_T1.1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw8IHkgcmV0dXJucyBUb051bWJlcih4KSA8PCBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4xL1MxMS43LjFfQTNfVDEuMi5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBhbmQgVHlwZSh5KSB2YXJ5IGJldHdlZW4gcHJpbWl0aXZlIG51bWJlciBhbmQgTnVtYmVyIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAoMSA8PCAxICE9PSAyKSB7CiAgJEVSUk9SKCcjMTogMSA8PCAxID09PSAyLiBBY3R1YWw6ICcgKyAoMSA8PCAxKSk7Cn0KCi8vQ0hFQ0sjMgppZiAobmV3IE51bWJlcigxKSA8PCAxICE9PSAyKSB7CiAgJEVSUk9SKCcjMjogbmV3IE51bWJlcigxKSA8PCAxID09PSAyLiBBY3R1YWw6ICcgKyAobmV3IE51bWJlcigxKSA8PCAxKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoMSA8PCBuZXcgTnVtYmVyKDEpICE9PSAyKSB7CiAgJEVSUk9SKCcjMzogMSA8PCBuZXcgTnVtYmVyKDEpID09PSAyLiBBY3R1YWw6ICcgKyAoMSA8PCBuZXcgTnVtYmVyKDEpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAobmV3IE51bWJlcigxKSA8PCBuZXcgTnVtYmVyKDEpICE9PSAyKSB7CiAgJEVSUk9SKCcjNDogbmV3IE51bWJlcigxKSA8PCBuZXcgTnVtYmVyKDEpID09PSAyLiBBY3R1YWw6ICcgKyAobmV3IE51bWJlcigxKSA8PCBuZXcgTnVtYmVyKDEpKSk7Cn0KCgo=",
"commentary":"Operator x << y returns ToNumber(x) << ToNumber(y)",
"description":"Type(x) and Type(y) vary between primitive number and Number object",
"path":"TestCases/ch11/11.7/11.7.1/S11.7.1_A3_T1.2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw8IHkgcmV0dXJucyBUb051bWJlcih4KSA8PCBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4xL1MxMS43LjFfQTNfVDEuMy5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBhbmQgVHlwZSh5KSB2YXJ5IGJldHdlZW4gcHJpbWl0aXZlIHN0cmluZyBhbmQgU3RyaW5nIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAoIjEiIDw8ICIxIiAhPT0gMikgewogICRFUlJPUignIzE6ICIxIiA8PCAiMSIgPT09IDIuIEFjdHVhbDogJyArICgiMSIgPDwgIjEiKSk7Cn0KCi8vQ0hFQ0sjMgppZiAobmV3IFN0cmluZygiMSIpIDw8ICIxIiAhPT0gMikgewogICRFUlJPUignIzI6IG5ldyBTdHJpbmcoIjEiKSA8PCAiMSIgPT09IDIuIEFjdHVhbDogJyArIChuZXcgU3RyaW5nKCIxIikgPDwgIjEiKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoIjEiIDw8IG5ldyBTdHJpbmcoIjEiKSAhPT0gMikgewogICRFUlJPUignIzM6ICIxIiA8PCBuZXcgU3RyaW5nKCIxIikgPT09IDIuIEFjdHVhbDogJyArICgiMSIgPDwgbmV3IFN0cmluZygiMSIpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAobmV3IFN0cmluZygiMSIpIDw8IG5ldyBTdHJpbmcoIjEiKSAhPT0gMikgewogICRFUlJPUignIzQ6IG5ldyBTdHJpbmcoIjEiKSA8PCBuZXcgU3RyaW5nKCIxIikgPT09IDIuIEFjdHVhbDogJyArIChuZXcgU3RyaW5nKCIxIikgPDwgbmV3IFN0cmluZygiMSIpKSk7Cn0KCi8vQ0hFQ0sjNQppZiAoIngiIDw8ICIxIiAhPT0gMCkgewogICRFUlJPUignIzU6ICJ4IiA8PCAiMSIgPT09IDAuIEFjdHVhbDogJyArICgieCIgPDwgIjEiKSk7Cn0KCi8vQ0hFQ0sjNgppZiAoIjEiIDw8ICJ4IiAhPT0gMSkgewogICRFUlJPUignIzY6ICIxIiA8PCAieCIgPT09IDEuIEFjdHVhbDogJyArICgiMSIgPDwgIngiKSk7Cn0KCg==",
"commentary":"Operator x << y returns ToNumber(x) << ToNumber(y)",
"description":"Type(x) and Type(y) vary between primitive string and String object",
"path":"TestCases/ch11/11.7/11.7.1/S11.7.1_A3_T1.3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw8IHkgcmV0dXJucyBUb051bWJlcih4KSA8PCBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4xL1MxMS43LjFfQTNfVDEuNC5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBhbmQgVHlwZSh5KSB2YXJ5IGJldHdlZW4gTnVsbCBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCmlmIChudWxsIDw8IHVuZGVmaW5lZCAhPT0gMCkgewogICRFUlJPUignIzE6IG51bGwgPDwgdW5kZWZpbmVkID09PSAwLiBBY3R1YWw6ICcgKyAobnVsbCA8PCB1bmRlZmluZWQpKTsKfQoKLy9DSEVDSyMyCmlmICh1bmRlZmluZWQgPDwgbnVsbCAhPT0gMCkgewogICRFUlJPUignIzI6IHVuZGVmaW5lZCA8PCBudWxsID09PSAwLiBBY3R1YWw6ICcgKyAodW5kZWZpbmVkIDw8IG51bGwpKTsKfQoKLy9DSEVDSyMzCmlmICh1bmRlZmluZWQgPDwgdW5kZWZpbmVkICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogdW5kZWZpbmVkIDw8IHVuZGVmaW5lZCA9PT0gMC4gQWN0dWFsOiAnICsgKHVuZGVmaW5lZCA8PCB1bmRlZmluZWQpKTsKfQoKLy9DSEVDSyM0CmlmIChudWxsIDw8IG51bGwgIT09IDApIHsKICAkRVJST1IoJyM0OiBudWxsIDw8IG51bGwgPT09IDAuIEFjdHVhbDogJyArIChudWxsIDw8IG51bGwpKTsKfQoK",
"commentary":"Operator x << y returns ToNumber(x) << ToNumber(y)",
"description":"Type(x) and Type(y) vary between Null and Undefined",
"path":"TestCases/ch11/11.7/11.7.1/S11.7.1_A3_T1.4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw8IHkgcmV0dXJucyBUb051bWJlcih4KSA8PCBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4xL1MxMS43LjFfQTNfVDEuNS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBhbmQgVHlwZSh5KSB2YXJ5IGJldHdlZW4gT2JqZWN0IG9iamVjdCBhbmQgRnVuY3Rpb24gb2JqZWN0CiAqLwoKLy9DSEVDSyMxCmlmICgoe30gPDwgZnVuY3Rpb24oKXtyZXR1cm4gMX0pICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogKHt9IDw8IGZ1bmN0aW9uKCl7cmV0dXJuIDF9KSA9PT0gMC4gQWN0dWFsOiAnICsgKCh7fSA8PCBmdW5jdGlvbigpe3JldHVybiAxfSkpKTsKfQoKLy9DSEVDSyMyCmlmICgoZnVuY3Rpb24oKXtyZXR1cm4gMX0gPDwge30pICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogKGZ1bmN0aW9uKCl7cmV0dXJuIDF9IDw8IHt9KSA9PT0gMC4gQWN0dWFsOiAnICsgKChmdW5jdGlvbigpe3JldHVybiAxfSA8PCB7fSkpKTsKfQoKLy9DSEVDSyMzCmlmICgoZnVuY3Rpb24oKXtyZXR1cm4gMX0gPDwgZnVuY3Rpb24oKXtyZXR1cm4gMX0pICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogKGZ1bmN0aW9uKCl7cmV0dXJuIDF9IDw8IGZ1bmN0aW9uKCl7cmV0dXJuIDF9KSA9PT0gMC4gQWN0dWFsOiAnICsgKChmdW5jdGlvbigpe3JldHVybiAxfSA8PCBmdW5jdGlvbigpe3JldHVybiAxfSkpKTsKfQoKLy9DSEVDSyM0CmlmICgoe30gPDwge30pICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogKHt9IDw8IHt9KSA9PT0gMC4gQWN0dWFsOiAnICsgKCh7fSA8PCB7fSkpKTsKfQoKCg==",
"commentary":"Operator x << y returns ToNumber(x) << ToNumber(y)",
"description":"Type(x) and Type(y) vary between Object object and Function object",
"path":"TestCases/ch11/11.7/11.7.1/S11.7.1_A3_T1.5.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw8IHkgcmV0dXJucyBUb051bWJlcih4KSA8PCBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4xL1MxMS43LjFfQTNfVDIuMS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBOdW1iZXIgKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBCb29sZWFuIChwcmltaXRpdmUgYW5kIG9iamVjdCkKICovCgovL0NIRUNLIzEKaWYgKHRydWUgPDwgMSAhPT0gMikgewogICRFUlJPUignIzE6IHRydWUgPDwgMSA9PT0gMi4gQWN0dWFsOiAnICsgKHRydWUgPDwgMSkpOwp9CgovL0NIRUNLIzIKaWYgKDEgPDwgdHJ1ZSAhPT0gMikgewogICRFUlJPUignIzI6IDEgPDwgdHJ1ZSA9PT0gMi4gQWN0dWFsOiAnICsgKDEgPDwgdHJ1ZSkpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBCb29sZWFuKHRydWUpIDw8IDEgIT09IDIpIHsKICAkRVJST1IoJyMzOiBuZXcgQm9vbGVhbih0cnVlKSA8PCAxID09PSAyLiBBY3R1YWw6ICcgKyAobmV3IEJvb2xlYW4odHJ1ZSkgPDwgMSkpOwp9CgovL0NIRUNLIzQKaWYgKDEgPDwgbmV3IEJvb2xlYW4odHJ1ZSkgIT09IDIpIHsKICAkRVJST1IoJyM0OiAxIDw8IG5ldyBCb29sZWFuKHRydWUpID09PSAyLiBBY3R1YWw6ICcgKyAoMSA8PCBuZXcgQm9vbGVhbih0cnVlKSkpOwp9CgovL0NIRUNLIzUKaWYgKHRydWUgPDwgbmV3IE51bWJlcigxKSAhPT0gMikgewogICRFUlJPUignIzU6IHRydWUgPDwgbmV3IE51bWJlcigxKSA9PT0gMi4gQWN0dWFsOiAnICsgKHRydWUgPDwgbmV3IE51bWJlcigxKSkpOwp9CgovL0NIRUNLIzYKaWYgKG5ldyBOdW1iZXIoMSkgPDwgdHJ1ZSAhPT0gMikgewogICRFUlJPUignIzY6IG5ldyBOdW1iZXIoMSkgPDwgdHJ1ZSA9PT0gMi4gQWN0dWFsOiAnICsgKG5ldyBOdW1iZXIoMSkgPDwgdHJ1ZSkpOwp9CgovL0NIRUNLIzcKaWYgKG5ldyBCb29sZWFuKHRydWUpIDw8IG5ldyBOdW1iZXIoMSkgIT09IDIpIHsKICAkRVJST1IoJyM3OiBuZXcgQm9vbGVhbih0cnVlKSA8PCBuZXcgTnVtYmVyKDEpID09PSAyLiBBY3R1YWw6ICcgKyAobmV3IEJvb2xlYW4odHJ1ZSkgPDwgbmV3IE51bWJlcigxKSkpOwp9CgovL0NIRUNLIzgKaWYgKG5ldyBOdW1iZXIoMSkgPDwgbmV3IEJvb2xlYW4odHJ1ZSkgIT09IDIpIHsKICAkRVJST1IoJyM4OiBuZXcgTnVtYmVyKDEpIDw8IG5ldyBCb29sZWFuKHRydWUpID09PSAyLiBBY3R1YWw6ICcgKyAobmV3IE51bWJlcigxKSA8PCBuZXcgQm9vbGVhbih0cnVlKSkpOwp9Cgo=",
"commentary":"Operator x << y returns ToNumber(x) << ToNumber(y)",
"description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Boolean (primitive and object)",
"path":"TestCases/ch11/11.7/11.7.1/S11.7.1_A3_T2.1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw8IHkgcmV0dXJucyBUb051bWJlcih4KSA8PCBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4xL1MxMS43LjFfQTNfVDIuMi5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBOdW1iZXIgKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBTdHJpbmcgKHByaW1pdGl2ZSBhbmQgb2JqZWN0KQogKi8KCi8vQ0hFQ0sjMQppZiAoIjEiIDw8IDEgIT09IDIpIHsKICAkRVJST1IoJyMxOiAiMSIgPDwgMSA9PT0gMi4gQWN0dWFsOiAnICsgKCIxIiA8PCAxKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoMSA8PCAiMSIgIT09IDIpIHsKICAkRVJST1IoJyMyOiAxIDw8ICIxIiA9PT0gMi4gQWN0dWFsOiAnICsgKDEgPDwgIjEiKSk7Cn0KCi8vQ0hFQ0sjMwppZiAobmV3IFN0cmluZygiMSIpIDw8IDEgIT09IDIpIHsKICAkRVJST1IoJyMzOiBuZXcgU3RyaW5nKCIxIikgPDwgMSA9PT0gMi4gQWN0dWFsOiAnICsgKG5ldyBTdHJpbmcoIjEiKSA8PCAxKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoMSA8PCBuZXcgU3RyaW5nKCIxIikgIT09IDIpIHsKICAkRVJST1IoJyM0OiAxIDw8IG5ldyBTdHJpbmcoIjEiKSA9PT0gMi4gQWN0dWFsOiAnICsgKDEgPDwgbmV3IFN0cmluZygiMSIpKSk7Cn0KCi8vQ0hFQ0sjNQppZiAoIjEiIDw8IG5ldyBOdW1iZXIoMSkgIT09IDIpIHsKICAkRVJST1IoJyM1OiAiMSIgPDwgbmV3IE51bWJlcigxKSA9PT0gMi4gQWN0dWFsOiAnICsgKCIxIiA8PCBuZXcgTnVtYmVyKDEpKSk7Cn0KCi8vQ0hFQ0sjNgppZiAobmV3IE51bWJlcigxKSA8PCAiMSIgIT09IDIpIHsKICAkRVJST1IoJyM2OiBuZXcgTnVtYmVyKDEpIDw8ICIxIiA9PT0gMi4gQWN0dWFsOiAnICsgKG5ldyBOdW1iZXIoMSkgPDwgIjEiKSk7Cn0KCi8vQ0hFQ0sjNwppZiAobmV3IFN0cmluZygiMSIpIDw8IG5ldyBOdW1iZXIoMSkgIT09IDIpIHsKICAkRVJST1IoJyM3OiBuZXcgU3RyaW5nKCIxIikgPDwgbmV3IE51bWJlcigxKSA9PT0gMi4gQWN0dWFsOiAnICsgKG5ldyBTdHJpbmcoIjEiKSA8PCBuZXcgTnVtYmVyKDEpKSk7Cn0KCi8vQ0hFQ0sjOAppZiAobmV3IE51bWJlcigxKSA8PCBuZXcgU3RyaW5nKCIxIikgIT09IDIpIHsKICAkRVJST1IoJyM4OiBuZXcgTnVtYmVyKDEpIDw8IG5ldyBTdHJpbmcoIjEiKSA9PT0gMi4gQWN0dWFsOiAnICsgKG5ldyBOdW1iZXIoMSkgPDwgbmV3IFN0cmluZygiMSIpKSk7Cn0KCi8vQ0hFQ0sjOQppZiAoIngiIDw8IDEgIT09IDApIHsKICAkRVJST1IoJyM5OiAieCIgPDwgMSA9PT0gMC4gQWN0dWFsOiAnICsgKCJ4IiA8PCAxKSk7Cn0KCi8vQ0hFQ0sjMTAKaWYgKDEgPDwgIngiICE9PSAxKSB7CiAgJEVSUk9SKCcjMTA6IDEgPDwgIngiID09PSAxLiBBY3R1YWw6ICcgKyAoMSA8PCAieCIpKTsKfQoK",
"commentary":"Operator x << y returns ToNumber(x) << ToNumber(y)",
"description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object)",
"path":"TestCases/ch11/11.7/11.7.1/S11.7.1_A3_T2.2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw8IHkgcmV0dXJucyBUb051bWJlcih4KSA8PCBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4xL1MxMS43LjFfQTNfVDIuMy5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBOdW1iZXIgKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBOdWxsCiAqLwoKLy9DSEVDSyMxCmlmICgxIDw8IG51bGwgIT09IDEpIHsKICAkRVJST1IoJyMxOiAxIDw8IG51bGwgPT09IDEuIEFjdHVhbDogJyArICgxIDw8IG51bGwpKTsKfQoKLy9DSEVDSyMyCmlmIChudWxsIDw8IDEgIT09IDApIHsKICAkRVJST1IoJyMyOiBudWxsIDw8IDEgPT09IDAuIEFjdHVhbDogJyArIChudWxsIDw8IDEpKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgTnVtYmVyKDEpIDw8IG51bGwgIT09IDEpIHsKICAkRVJST1IoJyMzOiBuZXcgTnVtYmVyKDEpIDw8IG51bGwgPT09IDEuIEFjdHVhbDogJyArIChuZXcgTnVtYmVyKDEpIDw8IG51bGwpKTsKfQoKLy9DSEVDSyM0CmlmIChudWxsIDw8IG5ldyBOdW1iZXIoMSkgIT09IDApIHsKICAkRVJST1IoJyM0OiBudWxsIDw8IG5ldyBOdW1iZXIoMSkgPT09IDAuIEFjdHVhbDogJyArIChudWxsIDw8IG5ldyBOdW1iZXIoMSkpKTsKfQoK",
"commentary":"Operator x << y returns ToNumber(x) << ToNumber(y)",
"description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null",
"path":"TestCases/ch11/11.7/11.7.1/S11.7.1_A3_T2.3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw8IHkgcmV0dXJucyBUb051bWJlcih4KSA8PCBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4xL1MxMS43LjFfQTNfVDIuNC5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBOdW1iZXIgKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBVbmRlZmluZWQKICovCgovL0NIRUNLIzEKaWYgKDEgPDwgdW5kZWZpbmVkICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogMSA8PCB1bmRlZmluZWQgPT09IDEuIEFjdHVhbDogJyArICgxIDw8IHVuZGVmaW5lZCkpOwp9CgovL0NIRUNLIzIKaWYgKHVuZGVmaW5lZCA8PCAxICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogdW5kZWZpbmVkIDw8IDEgPT09IDAuIEFjdHVhbDogJyArICh1bmRlZmluZWQgPDwgMSkpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBOdW1iZXIoMSkgPDwgdW5kZWZpbmVkICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogbmV3IE51bWJlcigxKSA8PCB1bmRlZmluZWQgPT09IDEuIEFjdHVhbDogJyArIChuZXcgTnVtYmVyKDEpIDw8IHVuZGVmaW5lZCkpOwp9CgovL0NIRUNLIzQKaWYgKHVuZGVmaW5lZCA8PCBuZXcgTnVtYmVyKDEpICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogdW5kZWZpbmVkIDw8IG5ldyBOdW1iZXIoMSkgPT09IDAuIEFjdHVhbDogJyArICh1bmRlZmluZWQgPDwgbmV3IE51bWJlcigxKSkpOwp9Cgo=",
"commentary":"Operator x << y returns ToNumber(x) << ToNumber(y)",
"description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined",
"path":"TestCases/ch11/11.7/11.7.1/S11.7.1_A3_T2.4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw8IHkgcmV0dXJucyBUb051bWJlcih4KSA8PCBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4xL1MxMS43LjFfQTNfVDIuNS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBTdHJpbmcgKHByaW1pdGl2ZSBvciBvYmplY3QpIG9yIEJvb2xlYW4gKHByaW1pdGl2ZSBhbmQgb2JqZWN0KQogKi8KCi8vQ0hFQ0sjMQppZiAodHJ1ZSA8PCAiMSIgIT09IDIpIHsKICAkRVJST1IoJyMxOiB0cnVlIDw8ICIxIiA9PT0gMi4gQWN0dWFsOiAnICsgKHRydWUgPDwgIjEiKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoIjEiIDw8IHRydWUgIT09IDIpIHsKICAkRVJST1IoJyMyOiAiMSIgPDwgdHJ1ZSA9PT0gMi4gQWN0dWFsOiAnICsgKCIxIiA8PCB0cnVlKSk7Cn0KCi8vQ0hFQ0sjMwppZiAobmV3IEJvb2xlYW4odHJ1ZSkgPDwgIjEiICE9PSAyKSB7CiAgJEVSUk9SKCcjMzogbmV3IEJvb2xlYW4odHJ1ZSkgPDwgIjEiID09PSAyLiBBY3R1YWw6ICcgKyAobmV3IEJvb2xlYW4odHJ1ZSkgPDwgIjEiKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoIjEiIDw8IG5ldyBCb29sZWFuKHRydWUpICE9PSAyKSB7CiAgJEVSUk9SKCcjNDogIjEiIDw8IG5ldyBCb29sZWFuKHRydWUpID09PSAyLiBBY3R1YWw6ICcgKyAoIjEiIDw8IG5ldyBCb29sZWFuKHRydWUpKSk7Cn0KCi8vQ0hFQ0sjNQppZiAodHJ1ZSA8PCBuZXcgU3RyaW5nKCIxIikgIT09IDIpIHsKICAkRVJST1IoJyM1OiB0cnVlIDw8IG5ldyBTdHJpbmcoIjEiKSA9PT0gMi4gQWN0dWFsOiAnICsgKHRydWUgPDwgbmV3IFN0cmluZygiMSIpKSk7Cn0KCi8vQ0hFQ0sjNgppZiAobmV3IFN0cmluZygiMSIpIDw8IHRydWUgIT09IDIpIHsKICAkRVJST1IoJyM2OiBuZXcgU3RyaW5nKCIxIikgPDwgdHJ1ZSA9PT0gMi4gQWN0dWFsOiAnICsgKG5ldyBTdHJpbmcoIjEiKSA8PCB0cnVlKSk7Cn0KCi8vQ0hFQ0sjNwppZiAobmV3IEJvb2xlYW4odHJ1ZSkgPDwgbmV3IFN0cmluZygiMSIpICE9PSAyKSB7CiAgJEVSUk9SKCcjNzogbmV3IEJvb2xlYW4odHJ1ZSkgPDwgbmV3IFN0cmluZygiMSIpID09PSAyLiBBY3R1YWw6ICcgKyAobmV3IEJvb2xlYW4odHJ1ZSkgPDwgbmV3IFN0cmluZygiMSIpKSk7Cn0KCi8vQ0hFQ0sjOAppZiAobmV3IFN0cmluZygiMSIpIDw8IG5ldyBCb29sZWFuKHRydWUpICE9PSAyKSB7CiAgJEVSUk9SKCcjODogbmV3IFN0cmluZygiMSIpIDw8IG5ldyBCb29sZWFuKHRydWUpID09PSAyLiBBY3R1YWw6ICcgKyAobmV3IFN0cmluZygiMSIpIDw8IG5ldyBCb29sZWFuKHRydWUpKSk7Cn0KCg==",
"commentary":"Operator x << y returns ToNumber(x) << ToNumber(y)",
"description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) or Boolean (primitive and object)",
"path":"TestCases/ch11/11.7/11.7.1/S11.7.1_A3_T2.5.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw8IHkgcmV0dXJucyBUb051bWJlcih4KSA8PCBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4xL1MxMS43LjFfQTNfVDIuNi5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBTdHJpbmcgKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBVbmRlZmluZWQKICovCgovL0NIRUNLIzEKaWYgKCIxIiA8PCB1bmRlZmluZWQgIT09IDEpIHsKICAkRVJST1IoJyMxOiAiMSIgPDwgdW5kZWZpbmVkID09PSAxLiBBY3R1YWw6ICcgKyAoIjEiIDw8IHVuZGVmaW5lZCkpOwp9CgovL0NIRUNLIzIKaWYgKHVuZGVmaW5lZCA8PCAiMSIgIT09IDApIHsKICAkRVJST1IoJyMyOiB1bmRlZmluZWQgPDwgIjEiID09PSAwLiBBY3R1YWw6ICcgKyAodW5kZWZpbmVkIDw8ICIxIikpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBTdHJpbmcoIjEiKSA8PCB1bmRlZmluZWQgIT09IDEpIHsKICAkRVJST1IoJyMzOiBuZXcgU3RyaW5nKCIxIikgPDwgdW5kZWZpbmVkID09PSAxLiBBY3R1YWw6ICcgKyAobmV3IFN0cmluZygiMSIpIDw8IHVuZGVmaW5lZCkpOwp9CgovL0NIRUNLIzQKaWYgKHVuZGVmaW5lZCA8PCBuZXcgU3RyaW5nKCIxIikgIT09IDApIHsKICAkRVJST1IoJyM0OiB1bmRlZmluZWQgPDwgbmV3IFN0cmluZygiMSIpID09PSAwLiBBY3R1YWw6ICcgKyAodW5kZWZpbmVkIDw8IG5ldyBTdHJpbmcoIjEiKSkpOwp9Cgo=",
"commentary":"Operator x << y returns ToNumber(x) << ToNumber(y)",
"description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Undefined",
"path":"TestCases/ch11/11.7/11.7.1/S11.7.1_A3_T2.6.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw8IHkgcmV0dXJucyBUb051bWJlcih4KSA8PCBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4xL1MxMS43LjFfQTNfVDIuNy5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBTdHJpbmcgKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBOdWxsCiAqLwoKLy9DSEVDSyMxCmlmICgiMSIgPDwgbnVsbCAhPT0gMSkgewogICRFUlJPUignIzE6ICIxIiA8PCBudWxsID09PSAxLiBBY3R1YWw6ICcgKyAoIjEiIDw8IG51bGwpKTsKfQoKLy9DSEVDSyMyCmlmIChudWxsIDw8ICIxIiAhPT0gMCkgewogICRFUlJPUignIzI6IG51bGwgPDwgIjEiID09PSAwLiBBY3R1YWw6ICcgKyAobnVsbCA8PCAiMSIpKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgU3RyaW5nKCIxIikgPDwgbnVsbCAhPT0gMSkgewogICRFUlJPUignIzM6IG5ldyBTdHJpbmcoIjEiKSA8PCBudWxsID09PSAxLiBBY3R1YWw6ICcgKyAobmV3IFN0cmluZygiMSIpIDw8IG51bGwpKTsKfQoKLy9DSEVDSyM0CmlmIChudWxsIDw8IG5ldyBTdHJpbmcoIjEiKSAhPT0gMCkgewogICRFUlJPUignIzQ6IG51bGwgPDwgbmV3IFN0cmluZygiMSIpID09PSAwLiBBY3R1YWw6ICcgKyAobnVsbCA8PCBuZXcgU3RyaW5nKCIxIikpKTsKfQoK",
"commentary":"Operator x << y returns ToNumber(x) << ToNumber(y)",
"description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null",
"path":"TestCases/ch11/11.7/11.7.1/S11.7.1_A3_T2.7.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw8IHkgcmV0dXJucyBUb051bWJlcih4KSA8PCBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4xL1MxMS43LjFfQTNfVDIuOC5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBCb29sZWFuIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCmlmICh0cnVlIDw8IHVuZGVmaW5lZCAhPT0gMSkgewogICRFUlJPUignIzE6IHRydWUgPDwgdW5kZWZpbmVkID09PSAxLiBBY3R1YWw6ICcgKyAodHJ1ZSA8PCB1bmRlZmluZWQpKTsKfQoKLy9DSEVDSyMyCmlmICh1bmRlZmluZWQgPDwgdHJ1ZSAhPT0gMCkgewogICRFUlJPUignIzI6IHVuZGVmaW5lZCA8PCB0cnVlID09PSAwLiBBY3R1YWw6ICcgKyAodW5kZWZpbmVkIDw8IHRydWUpKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgQm9vbGVhbih0cnVlKSA8PCB1bmRlZmluZWQgIT09IDEpIHsKICAkRVJST1IoJyMzOiBuZXcgQm9vbGVhbih0cnVlKSA8PCB1bmRlZmluZWQgPT09IDEuIEFjdHVhbDogJyArIChuZXcgQm9vbGVhbih0cnVlKSA8PCB1bmRlZmluZWQpKTsKfQoKLy9DSEVDSyM0CmlmICh1bmRlZmluZWQgPDwgbmV3IEJvb2xlYW4odHJ1ZSkgIT09IDApIHsKICAkRVJST1IoJyM0OiB1bmRlZmluZWQgPDwgbmV3IEJvb2xlYW4odHJ1ZSkgPT09IDAuIEFjdHVhbDogJyArICh1bmRlZmluZWQgPDwgbmV3IEJvb2xlYW4odHJ1ZSkpKTsKfQoK",
"commentary":"Operator x << y returns ToNumber(x) << ToNumber(y)",
"description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined",
"path":"TestCases/ch11/11.7/11.7.1/S11.7.1_A3_T2.8.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw8IHkgcmV0dXJucyBUb051bWJlcih4KSA8PCBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4xL1MxMS43LjFfQTNfVDIuOS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBCb29sZWFuIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQppZiAodHJ1ZSA8PCBudWxsICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogdHJ1ZSA8PCBudWxsID09PSAxLiBBY3R1YWw6ICcgKyAodHJ1ZSA8PCBudWxsKSk7Cn0KCi8vQ0hFQ0sjMgppZiAobnVsbCA8PCB0cnVlICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogbnVsbCA8PCB0cnVlID09PSAwLiBBY3R1YWw6ICcgKyAobnVsbCA8PCB0cnVlKSk7Cn0KCi8vQ0hFQ0sjMwppZiAobmV3IEJvb2xlYW4odHJ1ZSkgPDwgbnVsbCAhPT0gMSkgewogICRFUlJPUignIzM6IG5ldyBCb29sZWFuKHRydWUpIDw8IG51bGwgPT09IDEuIEFjdHVhbDogJyArIChuZXcgQm9vbGVhbih0cnVlKSA8PCBudWxsKSk7Cn0KCi8vQ0hFQ0sjNAppZiAobnVsbCA8PCBuZXcgQm9vbGVhbih0cnVlKSAhPT0gMCkgewogICRFUlJPUignIzQ6IG51bGwgPDwgbmV3IEJvb2xlYW4odHJ1ZSkgPT09IDAuIEFjdHVhbDogJyArIChudWxsIDw8IG5ldyBCb29sZWFuKHRydWUpKSk7Cn0KCg==",
"commentary":"Operator x << y returns ToNumber(x) << ToNumber(y)",
"description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null",
"path":"TestCases/ch11/11.7/11.7.1/S11.7.1_A3_T2.9.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBvcGVyYXRvciB4IDw8IHkgaW4gZGlzdGluY3QgcG9pbnRzCiAqCiAqIEBwYXRoIGNoMTEvMTEuNy8xMS43LjEvUzExLjcuMV9BNF9UMS5qcwogKiBAZGVzY3JpcHRpb24gU2hpZnRFeHByZXNzaW9uID0gLTJebiwgbiA9IDAuLi4xNQogKi8KCi8vQ0hFQ0sKCmlmICgtMSA8PCAwICE9PSAtMSkgeyAKICAkRVJST1IoJyMxOiAtMSA8PCAwID09PSAtMS4gQWN0dWFsOiAnICsgKC0xIDw8IDApKTsgCn0gCgoKaWYgKC0yIDw8IDAgIT09IC0yKSB7IAogICRFUlJPUignIzI6IC0yIDw8IDAgPT09IC0yLiBBY3R1YWw6ICcgKyAoLTIgPDwgMCkpOyAKfSAKCgppZiAoLTQgPDwgMCAhPT0gLTQpIHsgCiAgJEVSUk9SKCcjMzogLTQgPDwgMCA9PT0gLTQuIEFjdHVhbDogJyArICgtNCA8PCAwKSk7IAp9IAoKCmlmICgtOCA8PCAwICE9PSAtOCkgeyAKICAkRVJST1IoJyM0OiAtOCA8PCAwID09PSAtOC4gQWN0dWFsOiAnICsgKC04IDw8IDApKTsgCn0gCgoKaWYgKC0xNiA8PCAwICE9PSAtMTYpIHsgCiAgJEVSUk9SKCcjNTogLTE2IDw8IDAgPT09IC0xNi4gQWN0dWFsOiAnICsgKC0xNiA8PCAwKSk7IAp9IAoKCmlmICgtMzIgPDwgMCAhPT0gLTMyKSB7IAogICRFUlJPUignIzY6IC0zMiA8PCAwID09PSAtMzIuIEFjdHVhbDogJyArICgtMzIgPDwgMCkpOyAKfSAKCgppZiAoLTY0IDw8IDAgIT09IC02NCkgeyAKICAkRVJST1IoJyM3OiAtNjQgPDwgMCA9PT0gLTY0LiBBY3R1YWw6ICcgKyAoLTY0IDw8IDApKTsgCn0gCgoKaWYgKC0xMjggPDwgMCAhPT0gLTEyOCkgeyAKICAkRVJST1IoJyM4OiAtMTI4IDw8IDAgPT09IC0xMjguIEFjdHVhbDogJyArICgtMTI4IDw8IDApKTsgCn0gCgoKaWYgKC0yNTYgPDwgMCAhPT0gLTI1NikgeyAKICAkRVJST1IoJyM5OiAtMjU2IDw8IDAgPT09IC0yNTYuIEFjdHVhbDogJyArICgtMjU2IDw8IDApKTsgCn0gCgoKaWYgKC01MTIgPDwgMCAhPT0gLTUxMikgeyAKICAkRVJST1IoJyMxMDogLTUxMiA8PCAwID09PSAtNTEyLiBBY3R1YWw6ICcgKyAoLTUxMiA8PCAwKSk7IAp9IAoKCmlmICgtMTAyNCA8PCAwICE9PSAtMTAyNCkgeyAKICAkRVJST1IoJyMxMTogLTEwMjQgPDwgMCA9PT0gLTEwMjQuIEFjdHVhbDogJyArICgtMTAyNCA8PCAwKSk7IAp9IAoKCmlmICgtMjA0OCA8PCAwICE9PSAtMjA0OCkgeyAKICAkRVJST1IoJyMxMjogLTIwNDggPDwgMCA9PT0gLTIwNDguIEFjdHVhbDogJyArICgtMjA0OCA8PCAwKSk7IAp9IAoKCmlmICgtNDA5NiA8PCAwICE9PSAtNDA5NikgeyAKICAkRVJST1IoJyMxMzogLTQwOTYgPDwgMCA9PT0gLTQwOTYuIEFjdHVhbDogJyArICgtNDA5NiA8PCAwKSk7IAp9IAoKCmlmICgtODE5MiA8PCAwICE9PSAtODE5MikgeyAKICAkRVJST1IoJyMxNDogLTgxOTIgPDwgMCA9PT0gLTgxOTIuIEFjdHVhbDogJyArICgtODE5MiA8PCAwKSk7IAp9IAoKCmlmICgtMTYzODQgPDwgMCAhPT0gLTE2Mzg0KSB7IAogICRFUlJPUignIzE1OiAtMTYzODQgPDwgMCA9PT0gLTE2Mzg0LiBBY3R1YWw6ICcgKyAoLTE2Mzg0IDw8IDApKTsgCn0gCgoKaWYgKC0zMjc2OCA8PCAwICE9PSAtMzI3NjgpIHsgCiAgJEVSUk9SKCcjMTY6IC0zMjc2OCA8PCAwID09PSAtMzI3NjguIEFjdHVhbDogJyArICgtMzI3NjggPDwgMCkpOyAKfSAKCgppZiAoLTY1NTM2IDw8IDAgIT09IC02NTUzNikgeyAKICAkRVJST1IoJyMxNzogLTY1NTM2IDw8IDAgPT09IC02NTUzNi4gQWN0dWFsOiAnICsgKC02NTUzNiA8PCAwKSk7IAp9IAoKCmlmICgtMTMxMDcyIDw8IDAgIT09IC0xMzEwNzIpIHsgCiAgJEVSUk9SKCcjMTg6IC0xMzEwNzIgPDwgMCA9PT0gLTEzMTA3Mi4gQWN0dWFsOiAnICsgKC0xMzEwNzIgPDwgMCkpOyAKfSAKCgppZiAoLTI2MjE0NCA8PCAwICE9PSAtMjYyMTQ0KSB7IAogICRFUlJPUignIzE5OiAtMjYyMTQ0IDw8IDAgPT09IC0yNjIxNDQuIEFjdHVhbDogJyArICgtMjYyMTQ0IDw8IDApKTsgCn0gCgoKaWYgKC01MjQyODggPDwgMCAhPT0gLTUyNDI4OCkgeyAKICAkRVJST1IoJyMyMDogLTUyNDI4OCA8PCAwID09PSAtNTI0Mjg4LiBBY3R1YWw6ICcgKyAoLTUyNDI4OCA8PCAwKSk7IAp9IAoKCmlmICgtMTA0ODU3NiA8PCAwICE9PSAtMTA0ODU3NikgeyAKICAkRVJST1IoJyMyMTogLTEwNDg1NzYgPDwgMCA9PT0gLTEwNDg1NzYuIEFjdHVhbDogJyArICgtMTA0ODU3NiA8PCAwKSk7IAp9IAoKCmlmICgtMjA5NzE1MiA8PCAwICE9PSAtMjA5NzE1MikgeyAKICAkRVJST1IoJyMyMjogLTIwOTcxNTIgPDwgMCA9PT0gLTIwOTcxNTIuIEFjdHVhbDogJyArICgtMjA5NzE1MiA8PCAwKSk7IAp9IAoKCmlmICgtNDE5NDMwNCA8PCAwICE9PSAtNDE5NDMwNCkgeyAKICAkRVJST1IoJyMyMzogLTQxOTQzMDQgPDwgMCA9PT0gLTQxOTQzMDQuIEFjdHVhbDogJyArICgtNDE5NDMwNCA8PCAwKSk7IAp9IAoKCmlmICgtODM4ODYwOCA8PCAwICE9PSAtODM4ODYwOCkgeyAKICAkRVJST1IoJyMyNDogLTgzODg2MDggPDwgMCA9PT0gLTgzODg2MDguIEFjdHVhbDogJyArICgtODM4ODYwOCA8PCAwKSk7IAp9IAoKCmlmICgtMTY3NzcyMTYgPDwgMCAhPT0gLTE2Nzc3MjE2KSB7IAogICRFUlJPUignIzI1OiAtMTY3NzcyMTYgPDwgMCA9PT0gLTE2Nzc3MjE2LiBBY3R1YWw6ICcgKyAoLTE2Nzc3MjE2IDw8IDApKTsgCn0gCgoKaWYgKC0zMzU1NDQzMiA8PCAwICE9PSAtMzM1NTQ0MzIpIHsgCiAgJEVSUk9SKCcjMjY6IC0zMzU1NDQzMiA8PCAwID09PSAtMzM1NTQ0MzIuIEFjdHVhbDogJyArICgtMzM1NTQ0MzIgPDwgMCkpOyAKfSAKCgppZiAoLTY3MTA4ODY0IDw8IDAgIT09IC02NzEwODg2NCkgeyAKICAkRVJST1IoJyMyNzogLTY3MTA4ODY0IDw8IDAgPT09IC02NzEwODg2NC4gQWN0dWFsOiAnICsgKC02NzEwODg2NCA8PCAwKSk7IAp9IAoKCmlmICgtMTM0MjE3NzI4IDw8IDAgIT09IC0xMzQyMTc3MjgpIHsgCiAgJEVSUk9SKCcjMjg6IC0xMzQyMTc3MjggPDwgMCA9PT0gLTEzNDIxNzcyOC4gQWN0dWFsOiAnICsgKC0xMzQyMTc3MjggPDwgMCkpOyAKfSAKCgppZiAoLTI2ODQzNTQ1NiA8PCAwICE9PSAtMjY4NDM1NDU2KSB7IAogICRFUlJPUignIzI5OiAtMjY4NDM1NDU2IDw8IDAgPT09IC0yNjg0MzU0NTYuIEFjdHVhbDogJyArICgtMjY4NDM1NDU2IDw8IDApKTsgCn0gCgoKaWYgKC01MzY4NzA5MTIgPDwgMCAhPT0gLTUzNjg3MDkxMikgeyAKICAkRVJST1IoJyMzMDogLTUzNjg3MDkxMiA8PCAwID09PSAtNTM2ODcwOTEyLiBBY3R1YWw6ICcgKyAoLTUzNjg3MDkxMiA8PCAwKSk7IAp9IAoKCmlmICgtMTA3Mzc0MTgyNCA8PCAwICE9PSAtMTA3Mzc0MTgyNCkgeyAKICAkRVJST1IoJyMzMTogLTEwNzM3NDE4MjQgPDwgMCA9PT0gLTEwNzM3NDE4MjQuIEFjdHVhbDogJyArICgtMTA3Mzc0MTgyNCA8PCAwKSk7IAp9IAoKCmlmICgtMjE0NzQ4MzY0OCA8PCAwICE9PSAtMjE0NzQ4MzY0OCkgeyAKICAkRVJST1IoJyMzMjogLTIxNDc0ODM2NDggPDwgMCA9PT0gLTIxNDc0ODM2NDguIEFjdHVhbDogJyArICgtMjE0NzQ4MzY0OCA8PCAwKSk7IAp9IAoKCmlmICgtMSA8PCAxICE9PSAtMikgeyAKICAkRVJST1IoJyMzMzogLTEgPDwgMSA9PT0gLTIuIEFjdHVhbDogJyArICgtMSA8PCAxKSk7IAp9IAoKCmlmICgtMiA8PCAxICE9PSAtNCkgeyAKICAkRVJST1IoJyMzNDogLTIgPDwgMSA9PT0gLTQuIEFjdHVhbDogJyArICgtMiA8PCAxKSk7IAp9IAoKCmlmICgtNCA8PCAxICE9PSAtOCkgeyAKICAkRVJST1IoJyMzNTogLTQgPDwgMSA9PT0gLTguIEFjdHVhbDogJyArICgtNCA8PCAxKSk7IAp9IAoKCmlmICgtOCA8PCAxICE9PSAtMTYpIHsgCiAgJEVSUk9SKCcjMzY6IC04IDw8IDEgPT09IC0xNi4gQWN0dWFsOiAnICsgKC04IDw8IDEpKTsgCn0gCgoKaWYgKC0xNiA8PCAxICE9PSAtMzIpIHsgCiAgJEVSUk9SKCcjMzc6IC0xNiA8PCAxID09PSAtMzIuIEFjdHVhbDogJyArICgtMTYgPDwgMSkpOyAKfSAKCgppZiAoLTMyIDw8IDEgIT09IC02NCkgeyAKICAkRVJST1IoJyMzODogLTMyIDw8IDEgPT09IC02NC4gQWN0dWFsOiAnICsgKC0zMiA8PCAxKSk7IAp9IAoKCmlmICgtNjQgPDwgMSAhPT0gLTEyOCkgeyAKICAkRVJST1IoJyMzOTogLTY0IDw8IDEgPT09IC0xMjguIEFjdHVhbDogJyArICgtNjQgPDwgMSkpOyAKfSAKCgppZiAoLTEyOCA8PCAxICE9PSAtMjU2KSB7IAogICRFUlJPUignIzQwOiAtMTI4IDw8IDEgPT09IC0yNTYuIEFjdHVhbDogJyArICgtMTI4IDw8IDEpKTsgCn0gCgoKaWYgKC0yNTYgPDwgMSAhPT0gLTUxMikgeyAKICAkRVJST1IoJyM0MTogLTI1NiA8PCAxID09PSAtNTEyLiBBY3R1YWw6ICcgKyAoLTI1NiA8PCAxKSk7IAp9IAoKCmlmICgtNTEyIDw8IDEgIT09IC0xMDI0KSB7IAogICRFUlJPUignIzQyOiAtNTEyIDw8IDEgPT09IC0xMDI0LiBBY3R1YWw6ICcgKyAoLTUxMiA8PCAxKSk7IAp9IAoKCmlmICgtMTAyNCA8PCAxICE9PSAtMjA0OCkgeyAKICAkRVJST1IoJyM0MzogLTEwMjQgPDwgMSA9PT0gLTIwNDguIEFjdHVhbDogJyArICgtMTAyNCA8PCAxKSk7IAp9IAoKCmlmICgtMjA0OCA8PCAxICE9PSAtNDA5NikgeyAKICAkRVJST1IoJyM0NDogLTIwNDggPDwgMSA9PT0gLTQwOTYuIEFjdHVhbDogJyArICgtMjA0OCA8PCAxKSk7IAp9IAoKCmlmICgtNDA5NiA8PCAxICE9PSAtODE5MikgeyAKICAkRVJST1IoJyM0NTogLTQwOTYgPDwgMSA9PT0gLTgxOTIuIEFjdHVhbDogJyArICgtNDA5NiA8PCAxKSk7IAp9IAoKCmlmICgtODE5MiA8PCAxICE9PSAtMTYzODQpIHsgCiAgJEVSUk9SKCcjNDY6IC04MTkyIDw8IDEgPT09IC0xNjM4NC4gQWN0dWFsOiAnICsgKC04MTkyIDw8IDEpKTsgCn0gCgoKaWYgKC0xNjM4NCA8PCAxICE9PSAtMzI3NjgpIHsgCiAgJEVSUk9SKCcjNDc6IC0xNjM4NCA8PCAxID09PSAtMzI3NjguIEFjdHVhbDogJyArICgtMTYzODQgPDwgMSkpOyAKfSAKCgppZiAoLTMyNzY4IDw8IDEgIT09IC02NTUzNikgeyAKICAkRVJST1IoJyM0ODogLTMyNzY4IDw8IDEgPT09IC02NTUzNi4gQWN0dWFsOiAnICsgKC0zMjc2OCA8PCAxKSk7IAp9IAoKCmlmICgtNjU1MzYgPDwgMSAhPT0gLTEzMTA3MikgeyAKICAkRVJST1IoJyM0OTogLTY1NTM2IDw8IDEgPT09IC0xMzEwNzIuIEFjdHVhbDogJyArICgtNjU1MzYgPDwgMSkpOyAKfSAKCgppZiAoLTEzMTA3MiA8PCAxICE9PSAtMjYyMTQ0KSB7IAogICRFUlJPUignIzUwOiAtMTMxMDcyIDw8IDEgPT09IC0yNjIxNDQuIEFjdHVhbDogJyArICgtMTMxMDcyIDw8IDEpKTsgCn0gCgoKaWYgKC0yNjIxNDQgPDwgMSAhPT0gLTUyNDI4OCkgeyAKICAkRVJST1IoJyM1MTogLTI2MjE0NCA8PCAxID09PSAtNTI0Mjg4LiBBY3R1YWw6ICcgKyAoLTI2MjE0NCA8PCAxKSk7IAp9IAoKCmlmICgtNTI0Mjg4IDw8IDEgIT09IC0xMDQ4NTc2KSB7IAogICRFUlJPUignIzUyOiAtNTI0Mjg4IDw8IDEgPT09IC0xMDQ4NTc2LiBBY3R1YWw6ICcgKyAoLTUyNDI4OCA8PCAxKSk7IAp9IAoKCmlmICgtMTA0ODU3NiA8PCAxICE9PSAtMjA5NzE1MikgeyAKICAkRVJST1IoJyM1MzogLTEwNDg1NzYgPDwgMSA9PT0gLTIwOTcxNTIuIEFjdHVhbDogJyArICgtMTA0ODU3NiA8PCAxKSk7IAp9IAoKCmlmICgtMjA5NzE1MiA8PCAxICE9PSAtNDE5NDMwNCkgeyAKICAkRVJST1IoJyM1NDogLTIwOTcxNTIgPDwgMSA9PT0gLTQxOTQzMDQuIEFjdHVhbDogJyArICgtMjA5NzE1MiA8PCAxKSk7IAp9IAoKCmlmICgtNDE5NDMwNCA8PCAxICE9PSAtODM4ODYwOCkgeyAKICAkRVJST1IoJyM1NTogLTQxOTQzMDQgPDwgMSA9PT0gLTgzODg2MDguIEFjdHVhbDogJyArICgtNDE5NDMwNCA8PCAxKSk7IAp9IAoKCmlmICgtODM4ODYwOCA8PCAxICE9PSAtMTY3NzcyMTYpIHsgCiAgJEVSUk9SKCcjNTY6IC04Mzg4NjA4IDw8IDEgPT09IC0xNjc3NzIxNi4gQWN0dWFsOiAnICsgKC04Mzg4NjA4IDw8IDEpKTsgCn0gCgoKaWYgKC0xNjc3NzIxNiA8PCAxICE9PSAtMzM1NTQ0MzIpIHsgCiAgJEVSUk9SKCcjNTc6IC0xNjc3NzIxNiA8PCAxID09PSAtMzM1NTQ0MzIuIEFjdHVhbDogJyArICgtMTY3NzcyMTYgPDwgMSkpOyAKfSAKCgppZiAoLTMzNTU0NDMyIDw8IDEgIT09IC02NzEwODg2NCkgeyAKICAkRVJST1IoJyM1ODogLTMzNTU0NDMyIDw8IDEgPT09IC02NzEwODg2NC4gQWN0dWFsOiAnICsgKC0zMzU1NDQzMiA8PCAxKSk7IAp9IAoKCmlmICgtNjcxMDg4NjQgPDwgMSAhPT0gLTEzNDIxNzcyOCkgeyAKICAkRVJST1IoJyM1OTogLTY3MTA4ODY0IDw8IDEgPT09IC0xMzQyMTc3MjguIEFjdHVhbDogJyArICgtNjcxMDg4NjQgPDwgMSkpOyAKfSAKCgppZiAoLTEzNDIxNzcyOCA8PCAxICE9PSAtMjY4NDM1NDU2KSB7IAogICRFUlJPUignIzYwOiAtMTM0MjE3NzI4IDw8IDEgPT09IC0yNjg0MzU0NTYuIEFjdHVhbDogJyArICgtMTM0MjE3NzI4IDw8IDEpKTsgCn0gCgoKaWYgKC0yNjg0MzU0NTYgPDwgMSAhPT0gLTUzNjg3MDkxMikgeyAKICAkRVJST1IoJyM2MTogLTI2ODQzNTQ1NiA8PCAxID09PSAtNTM2ODcwOTEyLiBBY3R1YWw6ICcgKyAoLTI2ODQzNTQ1NiA8PCAxKSk7IAp9IAoKCmlmICgtNTM2ODcwOTEyIDw8IDEgIT09IC0xMDczNzQxODI0KSB7IAogICRFUlJPUignIzYyOiAtNTM2ODcwOTEyIDw8IDEgPT09IC0xMDczNzQxODI0LiBBY3R1YWw6ICcgKyAoLTUzNjg3MDkxMiA8PCAxKSk7IAp9IAoKCmlmICgtMTA3Mzc0MTgyNCA8PCAxICE9PSAtMjE0NzQ4MzY0OCkgeyAKICAkRVJST1IoJyM2MzogLTEwNzM3NDE4MjQgPDwgMSA9PT0gLTIxNDc0ODM2NDguIEFjdHVhbDogJyArICgtMTA3Mzc0MTgyNCA8PCAxKSk7IAp9IAoKCmlmICgtMjE0NzQ4MzY0OCA8PCAxICE9PSAwKSB7IAogICRFUlJPUignIzY0OiAtMjE0NzQ4MzY0OCA8PCAxID09PSAwLiBBY3R1YWw6ICcgKyAoLTIxNDc0ODM2NDggPDwgMSkpOyAKfSAKCgppZiAoLTEgPDwgMiAhPT0gLTQpIHsgCiAgJEVSUk9SKCcjNjU6IC0xIDw8IDIgPT09IC00LiBBY3R1YWw6ICcgKyAoLTEgPDwgMikpOyAKfSAKCgppZiAoLTIgPDwgMiAhPT0gLTgpIHsgCiAgJEVSUk9SKCcjNjY6IC0yIDw8IDIgPT09IC04LiBBY3R1YWw6ICcgKyAoLTIgPDwgMikpOyAKfSAKCgppZiAoLTQgPDwgMiAhPT0gLTE2KSB7IAogICRFUlJPUignIzY3OiAtNCA8PCAyID09PSAtMTYuIEFjdHVhbDogJyArICgtNCA8PCAyKSk7IAp9IAoKCmlmICgtOCA8PCAyICE9PSAtMzIpIHsgCiAgJEVSUk9SKCcjNjg6IC04IDw8IDIgPT09IC0zMi4gQWN0dWFsOiAnICsgKC04IDw8IDIpKTsgCn0gCgoKaWYgKC0xNiA8PCAyICE9PSAtNjQpIHsgCiAgJEVSUk9SKCcjNjk6IC0xNiA8PCAyID09PSAtNjQuIEFjdHVhbDogJyArICgtMTYgPDwgMikpOyAKfSAKCgppZiAoLTMyIDw8IDIgIT09IC0xMjgpIHsgCiAgJEVSUk9SKCcjNzA6IC0zMiA8PCAyID09PSAtMTI4LiBBY3R1YWw6ICcgKyAoLTMyIDw8IDIpKTsgCn0gCgoKaWYgKC02NCA8PCAyICE9PSAtMjU2KSB7IAogICRFUlJPUignIzcxOiAtNjQgPDwgMiA9PT0gLTI1Ni4gQWN0dWFsOiAnICsgKC02NCA8PCAyKSk7IAp9IAoKCmlmICgtMTI4IDw8IDIgIT09IC01MTIpIHsgCiAgJEVSUk9SKCcjNzI6IC0xMjggPDwgMiA9PT0gLTUxMi4gQWN0dWFsOiAnICsgKC0xMjggPDwgMikpOyAKfSAKCgppZiAoLTI1NiA8PCAyICE9PSAtMTAyNCkgeyAKICAkRVJST1IoJyM3MzogLTI1NiA8PCAyID09PSAtMTAyNC4gQWN0dWFsOiAnICsgKC0yNTYgPDwgMikpOyAKfSAKCgppZiAoLTUxMiA8PCAyICE9PSAtMjA0OCkgeyAKICAkRVJST1IoJyM3NDogLTUxMiA8PCAyID09PSAtMjA0OC4gQWN0dWFsOiAnICsgKC01MTIgPDwgMikpOyAKfSAKCgppZiAoLTEwMjQgPDwgMiAhPT0gLTQwOTYpIHsgCiAgJEVSUk9SKCcjNzU6IC0xMDI0IDw8IDIgPT09IC00MDk2LiBBY3R1YWw6ICcgKyAoLTEwMjQgPDwgMikpOyAKfSAKCgppZiAoLTIwNDggPDwgMiAhPT0gLTgxOTIpIHsgCiAgJEVSUk9SKCcjNzY6IC0yMDQ4IDw8IDIgPT09IC04MTkyLiBBY3R1YWw6ICcgKyAoLTIwNDggPDwgMikpOyAKfSAKCgppZiAoLTQwOTYgPDwgMiAhPT0gLTE2Mzg0KSB7IAogICRFUlJPUignIzc3OiAtNDA5NiA8PCAyID09PSAtMTYzODQuIEFjdHVhbDogJyArICgtNDA5NiA8PCAyKSk7IAp9IAoKCmlmICgtODE5MiA8PCAyICE9PSAtMzI3NjgpIHsgCiAgJEVSUk9SKCcjNzg6IC04MTkyIDw8IDIgPT09IC0zMjc2OC4gQWN0dWFsOiAnICsgKC04MTkyIDw8IDIpKTsgCn0gCgoKaWYgKC0xNjM4NCA8PCAyICE9PSAtNjU1MzYpIHsgCiAgJEVSUk9SKCcjNzk6IC0xNjM4NCA8PCAyID09PSAtNjU1MzYuIEFjdHVhbDogJyArICgtMTYzODQgPDwgMikpOyAKfSAKCgppZiAoLTMyNzY4IDw8IDIgIT09IC0xMzEwNzIpIHsgCiAgJEVSUk9SKCcjODA6IC0zMjc2OCA8PCAyID09PSAtMTMxMDcyLiBBY3R1YWw6ICcgKyAoLTMyNzY4IDw8IDIpKTsgCn0gCgoKaWYgKC02NTUzNiA8PCAyICE9PSAtMjYyMTQ0KSB7IAogICRFUlJPUignIzgxOiAtNjU1MzYgPDwgMiA9PT0gLTI2MjE0NC4gQWN0dWFsOiAnICsgKC02NTUzNiA8PCAyKSk7IAp9IAoKCmlmICgtMTMxMDcyIDw8IDIgIT09IC01MjQyODgpIHsgCiAgJEVSUk9SKCcjODI6IC0xMzEwNzIgPDwgMiA9PT0gLTUyNDI4OC4gQWN0dWFsOiAnICsgKC0xMzEwNzIgPDwgMikpOyAKfSAKCgppZiAoLTI2MjE0NCA8PCAyICE9PSAtMTA0ODU3NikgeyAKICAkRVJST1IoJyM4MzogLTI2MjE0NCA8PCAyID09PSAtMTA0ODU3Ni4gQWN0dWFsOiAnICsgKC0yNjIxNDQgPDwgMikpOyAKfSAKCgppZiAoLTUyNDI4OCA8PCAyICE9PSAtMjA5NzE1MikgeyAKICAkRVJST1IoJyM4NDogLTUyNDI4OCA8PCAyID09PSAtMjA5NzE1Mi4gQWN0dWFsOiAnICsgKC01MjQyODggPDwgMikpOyAKfSAKCgppZiAoLTEwNDg1NzYgPDwgMiAhPT0gLTQxOTQzMDQpIHsgCiAgJEVSUk9SKCcjODU6IC0xMDQ4NTc2IDw8IDIgPT09IC00MTk0MzA0LiBBY3R1YWw6ICcgKyAoLTEwNDg1NzYgPDwgMikpOyAKfSAKCgppZiAoLTIwOTcxNTIgPDwgMiAhPT0gLTgzODg2MDgpIHsgCiAgJEVSUk9SKCcjODY6IC0yMDk3MTUyIDw8IDIgPT09IC04Mzg4NjA4LiBBY3R1YWw6ICcgKyAoLTIwOTcxNTIgPDwgMikpOyAKfSAKCgppZiAoLTQxOTQzMDQgPDwgMiAhPT0gLTE2Nzc3MjE2KSB7IAogICRFUlJPUignIzg3OiAtNDE5NDMwNCA8PCAyID09PSAtMTY3NzcyMTYuIEFjdHVhbDogJyArICgtNDE5NDMwNCA8PCAyKSk7IAp9IAoKCmlmICgtODM4ODYwOCA8PCAyICE9PSAtMzM1NTQ0MzIpIHsgCiAgJEVSUk9SKCcjODg6IC04Mzg4NjA4IDw8IDIgPT09IC0zMzU1NDQzMi4gQWN0dWFsOiAnICsgKC04Mzg4NjA4IDw8IDIpKTsgCn0gCgoKaWYgKC0xNjc3NzIxNiA8PCAyICE9PSAtNjcxMDg4NjQpIHsgCiAgJEVSUk9SKCcjODk6IC0xNjc3NzIxNiA8PCAyID09PSAtNjcxMDg4NjQuIEFjdHVhbDogJyArICgtMTY3NzcyMTYgPDwgMikpOyAKfSAKCgppZiAoLTMzNTU0NDMyIDw8IDIgIT09IC0xMzQyMTc3MjgpIHsgCiAgJEVSUk9SKCcjOTA6IC0zMzU1NDQzMiA8PCAyID09PSAtMTM0MjE3NzI4LiBBY3R1YWw6ICcgKyAoLTMzNTU0NDMyIDw8IDIpKTsgCn0gCgoKaWYgKC02NzEwODg2NCA8PCAyICE9PSAtMjY4NDM1NDU2KSB7IAogICRFUlJPUignIzkxOiAtNjcxMDg4NjQgPDwgMiA9PT0gLTI2ODQzNTQ1Ni4gQWN0dWFsOiAnICsgKC02NzEwODg2NCA8PCAyKSk7IAp9IAoKCmlmICgtMTM0MjE3NzI4IDw8IDIgIT09IC01MzY4NzA5MTIpIHsgCiAgJEVSUk9SKCcjOTI6IC0xMzQyMTc3MjggPDwgMiA9PT0gLTUzNjg3MDkxMi4gQWN0dWFsOiAnICsgKC0xMzQyMTc3MjggPDwgMikpOyAKfSAKCgppZiAoLTI2ODQzNTQ1NiA8PCAyICE9PSAtMTA3Mzc0MTgyNCkgeyAKICAkRVJST1IoJyM5MzogLTI2ODQzNTQ1NiA8PCAyID09PSAtMTA3Mzc0MTgyNC4gQWN0dWFsOiAnICsgKC0yNjg0MzU0NTYgPDwgMikpOyAKfSAKCgppZiAoLTUzNjg3MDkxMiA8PCAyICE9PSAtMjE0NzQ4MzY0OCkgeyAKICAkRVJST1IoJyM5NDogLTUzNjg3MDkxMiA8PCAyID09PSAtMjE0NzQ4MzY0OC4gQWN0dWFsOiAnICsgKC01MzY4NzA5MTIgPDwgMikpOyAKfSAKCgppZiAoLTEwNzM3NDE4MjQgPDwgMiAhPT0gMCkgeyAKICAkRVJST1IoJyM5NTogLTEwNzM3NDE4MjQgPDwgMiA9PT0gMC4gQWN0dWFsOiAnICsgKC0xMDczNzQxODI0IDw8IDIpKTsgCn0gCgoKaWYgKC0yMTQ3NDgzNjQ4IDw8IDIgIT09IDApIHsgCiAgJEVSUk9SKCcjOTY6IC0yMTQ3NDgzNjQ4IDw8IDIgPT09IDAuIEFjdHVhbDogJyArICgtMjE0NzQ4MzY0OCA8PCAyKSk7IAp9IAoKCmlmICgtMSA8PCAzICE9PSAtOCkgeyAKICAkRVJST1IoJyM5NzogLTEgPDwgMyA9PT0gLTguIEFjdHVhbDogJyArICgtMSA8PCAzKSk7IAp9IAoKCmlmICgtMiA8PCAzICE9PSAtMTYpIHsgCiAgJEVSUk9SKCcjOTg6IC0yIDw8IDMgPT09IC0xNi4gQWN0dWFsOiAnICsgKC0yIDw8IDMpKTsgCn0gCgoKaWYgKC00IDw8IDMgIT09IC0zMikgeyAKICAkRVJST1IoJyM5OTogLTQgPDwgMyA9PT0gLTMyLiBBY3R1YWw6ICcgKyAoLTQgPDwgMykpOyAKfSAKCgppZiAoLTggPDwgMyAhPT0gLTY0KSB7IAogICRFUlJPUignIzEwMDogLTggPDwgMyA9PT0gLTY0LiBBY3R1YWw6ICcgKyAoLTggPDwgMykpOyAKfSAKCgppZiAoLTE2IDw8IDMgIT09IC0xMjgpIHsgCiAgJEVSUk9SKCcjMTAxOiAtMTYgPDwgMyA9PT0gLTEyOC4gQWN0dWFsOiAnICsgKC0xNiA8PCAzKSk7IAp9IAoKCmlmICgtMzIgPDwgMyAhPT0gLTI1NikgeyAKICAkRVJST1IoJyMxMDI6IC0zMiA8PCAzID09PSAtMjU2LiBBY3R1YWw6ICcgKyAoLTMyIDw8IDMpKTsgCn0gCgoKaWYgKC02NCA8PCAzICE9PSAtNTEyKSB7IAogICRFUlJPUignIzEwMzogLTY0IDw8IDMgPT09IC01MTIuIEFjdHVhbDogJyArICgtNjQgPDwgMykpOyAKfSAKCgppZiAoLTEyOCA8PCAzICE9PSAtMTAyNCkgeyAKICAkRVJST1IoJyMxMDQ6IC0xMjggPDwgMyA9PT0gLTEwMjQuIEFjdHVhbDogJyArICgtMTI4IDw8IDMpKTsgCn0gCgoKaWYgKC0yNTYgPDwgMyAhPT0gLTIwNDgpIHsgCiAgJEVSUk9SKCcjMTA1OiAtMjU2IDw8IDMgPT09IC0yMDQ4LiBBY3R1YWw6ICcgKyAoLTI1NiA8PCAzKSk7IAp9IAoKCmlmICgtNTEyIDw8IDMgIT09IC00MDk2KSB7IAogICRFUlJPUignIzEwNjogLTUxMiA8PCAzID09PSAtNDA5Ni4gQWN0dWFsOiAnICsgKC01MTIgPDwgMykpOyAKfSAKCgppZiAoLTEwMjQgPDwgMyAhPT0gLTgxOTIpIHsgCiAgJEVSUk9SKCcjMTA3OiAtMTAyNCA8PCAzID09PSAtODE5Mi4gQWN0dWFsOiAnICsgKC0xMDI0IDw8IDMpKTsgCn0gCgoKaWYgKC0yMDQ4IDw8IDMgIT09IC0xNjM4NCkgeyAKICAkRVJST1IoJyMxMDg6IC0yMDQ4IDw8IDMgPT09IC0xNjM4NC4gQWN0dWFsOiAnICsgKC0yMDQ4IDw8IDMpKTsgCn0gCgoKaWYgKC00MDk2IDw8IDMgIT09IC0zMjc2OCkgeyAKICAkRVJST1IoJyMxMDk6IC00MDk2IDw8IDMgPT09IC0zMjc2OC4gQWN0dWFsOiAnICsgKC00MDk2IDw8IDMpKTsgCn0gCgoKaWYgKC04MTkyIDw8IDMgIT09IC02NTUzNikgeyAKICAkRVJST1IoJyMxMTA6IC04MTkyIDw8IDMgPT09IC02NTUzNi4gQWN0dWFsOiAnICsgKC04MTkyIDw8IDMpKTsgCn0gCgoKaWYgKC0xNjM4NCA8PCAzICE9PSAtMTMxMDcyKSB7IAogICRFUlJPUignIzExMTogLTE2Mzg0IDw8IDMgPT09IC0xMzEwNzIuIEFjdHVhbDogJyArICgtMTYzODQgPDwgMykpOyAKfSAKCgppZiAoLTMyNzY4IDw8IDMgIT09IC0yNjIxNDQpIHsgCiAgJEVSUk9SKCcjMTEyOiAtMzI3NjggPDwgMyA9PT0gLTI2MjE0NC4gQWN0dWFsOiAnICsgKC0zMjc2OCA8PCAzKSk7IAp9IAoKCmlmICgtNjU1MzYgPDwgMyAhPT0gLTUyNDI4OCkgeyAKICAkRVJST1IoJyMxMTM6IC02NTUzNiA8PCAzID09PSAtNTI0Mjg4LiBBY3R1YWw6ICcgKyAoLTY1NTM2IDw8IDMpKTsgCn0gCgoKaWYgKC0xMzEwNzIgPDwgMyAhPT0gLTEwNDg1NzYpIHsgCiAgJEVSUk9SKCcjMTE0OiAtMTMxMDcyIDw8IDMgPT09IC0xMDQ4NTc2LiBBY3R1YWw6ICcgKyAoLTEzMTA3MiA8PCAzKSk7IAp9IAoKCmlmICgtMjYyMTQ0IDw8IDMgIT09IC0yMDk3MTUyKSB7IAogICRFUlJPUignIzExNTogLTI2MjE0NCA8PCAzID09PSAtMjA5NzE1Mi4gQWN0dWFsOiAnICsgKC0yNjIxNDQgPDwgMykpOyAKfSAKCgppZiAoLTUyNDI4OCA8PCAzICE9PSAtNDE5NDMwNCkgeyAKICAkRVJST1IoJyMxMTY6IC01MjQyODggPDwgMyA9PT0gLTQxOTQzMDQuIEFjdHVhbDogJyArICgtNTI0Mjg4IDw8IDMpKTsgCn0gCgoKaWYgKC0xMDQ4NTc2IDw8IDMgIT09IC04Mzg4NjA4KSB7IAogICRFUlJPUignIzExNzogLTEwNDg1NzYgPDwgMyA9PT0gLTgzODg2MDguIEFjdHVhbDogJyArICgtMTA0ODU3NiA8PCAzKSk7IAp9IAoKCmlmICgtMjA5NzE1MiA8PCAzICE9PSAtMTY3NzcyMTYpIHsgCiAgJEVSUk9SKCcjMTE4OiAtMjA5NzE1MiA8PCAzID09PSAtMTY3NzcyMTYuIEFjdHVhbDogJyArICgtMjA5NzE1MiA8PCAzKSk7IAp9IAoKCmlmICgtNDE5NDMwNCA8PCAzICE9PSAtMzM1NTQ0MzIpIHsgCiAgJEVSUk9SKCcjMTE5OiAtNDE5NDMwNCA8PCAzID09PSAtMzM1NTQ0MzIuIEFjdHVhbDogJyArICgtNDE5NDMwNCA8PCAzKSk7IAp9IAoKCmlmICgtODM4ODYwOCA8PCAzICE9PSAtNjcxMDg4NjQpIHsgCiAgJEVSUk9SKCcjMTIwOiAtODM4ODYwOCA8PCAzID09PSAtNjcxMDg4NjQuIEFjdHVhbDogJyArICgtODM4ODYwOCA8PCAzKSk7IAp9IAoKCmlmICgtMTY3NzcyMTYgPDwgMyAhPT0gLTEzNDIxNzcyOCkgeyAKICAkRVJST1IoJyMxMjE6IC0xNjc3NzIxNiA8PCAzID09PSAtMTM0MjE3NzI4LiBBY3R1YWw6ICcgKyAoLTE2Nzc3MjE2IDw8IDMpKTsgCn0gCgoKaWYgKC0zMzU1NDQzMiA8PCAzICE9PSAtMjY4NDM1NDU2KSB7IAogICRFUlJPUignIzEyMjogLTMzNTU0NDMyIDw8IDMgPT09IC0yNjg0MzU0NTYuIEFjdHVhbDogJyArICgtMzM1NTQ0MzIgPDwgMykpOyAKfSAKCgppZiAoLTY3MTA4ODY0IDw8IDMgIT09IC01MzY4NzA5MTIpIHsgCiAgJEVSUk9SKCcjMTIzOiAtNjcxMDg4NjQgPDwgMyA9PT0gLTUzNjg3MDkxMi4gQWN0dWFsOiAnICsgKC02NzEwODg2NCA8PCAzKSk7IAp9IAoKCmlmICgtMTM0MjE3NzI4IDw8IDMgIT09IC0xMDczNzQxODI0KSB7IAogICRFUlJPUignIzEyNDogLTEzNDIxNzcyOCA8PCAzID09PSAtMTA3Mzc0MTgyNC4gQWN0dWFsOiAnICsgKC0xMzQyMTc3MjggPDwgMykpOyAKfSAKCgppZiAoLTI2ODQzNTQ1NiA8PCAzICE9PSAtMjE0NzQ4MzY0OCkgeyAKICAkRVJST1IoJyMxMjU6IC0yNjg0MzU0NTYgPDwgMyA9PT0gLTIxNDc0ODM2NDguIEFjdHVhbDogJyArICgtMjY4NDM1NDU2IDw8IDMpKTsgCn0gCgoKaWYgKC01MzY4NzA5MTIgPDwgMyAhPT0gMCkgeyAKICAkRVJST1IoJyMxMjY6IC01MzY4NzA5MTIgPDwgMyA9PT0gMC4gQWN0dWFsOiAnICsgKC01MzY4NzA5MTIgPDwgMykpOyAKfSAKCgppZiAoLTEwNzM3NDE4MjQgPDwgMyAhPT0gMCkgeyAKICAkRVJST1IoJyMxMjc6IC0xMDczNzQxODI0IDw8IDMgPT09IDAuIEFjdHVhbDogJyArICgtMTA3Mzc0MTgyNCA8PCAzKSk7IAp9IAoKCmlmICgtMjE0NzQ4MzY0OCA8PCAzICE9PSAwKSB7IAogICRFUlJPUignIzEyODogLTIxNDc0ODM2NDggPDwgMyA9PT0gMC4gQWN0dWFsOiAnICsgKC0yMTQ3NDgzNjQ4IDw8IDMpKTsgCn0gCgoKaWYgKC0xIDw8IDQgIT09IC0xNikgeyAKICAkRVJST1IoJyMxMjk6IC0xIDw8IDQgPT09IC0xNi4gQWN0dWFsOiAnICsgKC0xIDw8IDQpKTsgCn0gCgoKaWYgKC0yIDw8IDQgIT09IC0zMikgeyAKICAkRVJST1IoJyMxMzA6IC0yIDw8IDQgPT09IC0zMi4gQWN0dWFsOiAnICsgKC0yIDw8IDQpKTsgCn0gCgoKaWYgKC00IDw8IDQgIT09IC02NCkgeyAKICAkRVJST1IoJyMxMzE6IC00IDw8IDQgPT09IC02NC4gQWN0dWFsOiAnICsgKC00IDw8IDQpKTsgCn0gCgoKaWYgKC04IDw8IDQgIT09IC0xMjgpIHsgCiAgJEVSUk9SKCcjMTMyOiAtOCA8PCA0ID09PSAtMTI4LiBBY3R1YWw6ICcgKyAoLTggPDwgNCkpOyAKfSAKCgppZiAoLTE2IDw8IDQgIT09IC0yNTYpIHsgCiAgJEVSUk9SKCcjMTMzOiAtMTYgPDwgNCA9PT0gLTI1Ni4gQWN0dWFsOiAnICsgKC0xNiA8PCA0KSk7IAp9IAoKCmlmICgtMzIgPDwgNCAhPT0gLTUxMikgeyAKICAkRVJST1IoJyMxMzQ6IC0zMiA8PCA0ID09PSAtNTEyLiBBY3R1YWw6ICcgKyAoLTMyIDw8IDQpKTsgCn0gCgoKaWYgKC02NCA8PCA0ICE9PSAtMTAyNCkgeyAKICAkRVJST1IoJyMxMzU6IC02NCA8PCA0ID09PSAtMTAyNC4gQWN0dWFsOiAnICsgKC02NCA8PCA0KSk7IAp9IAoKCmlmICgtMTI4IDw8IDQgIT09IC0yMDQ4KSB7IAogICRFUlJPUignIzEzNjogLTEyOCA8PCA0ID09PSAtMjA0OC4gQWN0dWFsOiAnICsgKC0xMjggPDwgNCkpOyAKfSAKCgppZiAoLTI1NiA8PCA0ICE9PSAtNDA5NikgeyAKICAkRVJST1IoJyMxMzc6IC0yNTYgPDwgNCA9PT0gLTQwOTYuIEFjdHVhbDogJyArICgtMjU2IDw8IDQpKTsgCn0gCgoKaWYgKC01MTIgPDwgNCAhPT0gLTgxOTIpIHsgCiAgJEVSUk9SKCcjMTM4OiAtNTEyIDw8IDQgPT09IC04MTkyLiBBY3R1YWw6ICcgKyAoLTUxMiA8PCA0KSk7IAp9IAoKCmlmICgtMTAyNCA8PCA0ICE9PSAtMTYzODQpIHsgCiAgJEVSUk9SKCcjMTM5OiAtMTAyNCA8PCA0ID09PSAtMTYzODQuIEFjdHVhbDogJyArICgtMTAyNCA8PCA0KSk7IAp9IAoKCmlmICgtMjA0OCA8PCA0ICE9PSAtMzI3NjgpIHsgCiAgJEVSUk9SKCcjMTQwOiAtMjA0OCA8PCA0ID09PSAtMzI3NjguIEFjdHVhbDogJyArICgtMjA0OCA8PCA0KSk7IAp9IAoKCmlmICgtNDA5NiA8PCA0ICE9PSAtNjU1MzYpIHsgCiAgJEVSUk9SKCcjMTQxOiAtNDA5NiA8PCA0ID09PSAtNjU1MzYuIEFjdHVhbDogJyArICgtNDA5NiA8PCA0KSk7IAp9IAoKCmlmICgtODE5MiA8PCA0ICE9PSAtMTMxMDcyKSB7IAogICRFUlJPUignIzE0MjogLTgxOTIgPDwgNCA9PT0gLTEzMTA3Mi4gQWN0dWFsOiAnICsgKC04MTkyIDw8IDQpKTsgCn0gCgoKaWYgKC0xNjM4NCA8PCA0ICE9PSAtMjYyMTQ0KSB7IAogICRFUlJPUignIzE0MzogLTE2Mzg0IDw8IDQgPT09IC0yNjIxNDQuIEFjdHVhbDogJyArICgtMTYzODQgPDwgNCkpOyAKfSAKCgppZiAoLTMyNzY4IDw8IDQgIT09IC01MjQyODgpIHsgCiAgJEVSUk9SKCcjMTQ0OiAtMzI3NjggPDwgNCA9PT0gLTUyNDI4OC4gQWN0dWFsOiAnICsgKC0zMjc2OCA8PCA0KSk7IAp9IAoKCmlmICgtNjU1MzYgPDwgNCAhPT0gLTEwNDg1NzYpIHsgCiAgJEVSUk9SKCcjMTQ1OiAtNjU1MzYgPDwgNCA9PT0gLTEwNDg1NzYuIEFjdHVhbDogJyArICgtNjU1MzYgPDwgNCkpOyAKfSAKCgppZiAoLTEzMTA3MiA8PCA0ICE9PSAtMjA5NzE1MikgeyAKICAkRVJST1IoJyMxNDY6IC0xMzEwNzIgPDwgNCA9PT0gLTIwOTcxNTIuIEFjdHVhbDogJyArICgtMTMxMDcyIDw8IDQpKTsgCn0gCgoKaWYgKC0yNjIxNDQgPDwgNCAhPT0gLTQxOTQzMDQpIHsgCiAgJEVSUk9SKCcjMTQ3OiAtMjYyMTQ0IDw8IDQgPT09IC00MTk0MzA0LiBBY3R1YWw6ICcgKyAoLTI2MjE0NCA8PCA0KSk7IAp9IAoKCmlmICgtNTI0Mjg4IDw8IDQgIT09IC04Mzg4NjA4KSB7IAogICRFUlJPUignIzE0ODogLTUyNDI4OCA8PCA0ID09PSAtODM4ODYwOC4gQWN0dWFsOiAnICsgKC01MjQyODggPDwgNCkpOyAKfSAKCgppZiAoLTEwNDg1NzYgPDwgNCAhPT0gLTE2Nzc3MjE2KSB7IAogICRFUlJPUignIzE0OTogLTEwNDg1NzYgPDwgNCA9PT0gLTE2Nzc3MjE2LiBBY3R1YWw6ICcgKyAoLTEwNDg1NzYgPDwgNCkpOyAKfSAKCgppZiAoLTIwOTcxNTIgPDwgNCAhPT0gLTMzNTU0NDMyKSB7IAogICRFUlJPUignIzE1MDogLTIwOTcxNTIgPDwgNCA9PT0gLTMzNTU0NDMyLiBBY3R1YWw6ICcgKyAoLTIwOTcxNTIgPDwgNCkpOyAKfSAKCgppZiAoLTQxOTQzMDQgPDwgNCAhPT0gLTY3MTA4ODY0KSB7IAogICRFUlJPUignIzE1MTogLTQxOTQzMDQgPDwgNCA9PT0gLTY3MTA4ODY0LiBBY3R1YWw6ICcgKyAoLTQxOTQzMDQgPDwgNCkpOyAKfSAKCgppZiAoLTgzODg2MDggPDwgNCAhPT0gLTEzNDIxNzcyOCkgeyAKICAkRVJST1IoJyMxNTI6IC04Mzg4NjA4IDw8IDQgPT09IC0xMzQyMTc3MjguIEFjdHVhbDogJyArICgtODM4ODYwOCA8PCA0KSk7IAp9IAoKCmlmICgtMTY3NzcyMTYgPDwgNCAhPT0gLTI2ODQzNTQ1NikgeyAKICAkRVJST1IoJyMxNTM6IC0xNjc3NzIxNiA8PCA0ID09PSAtMjY4NDM1NDU2LiBBY3R1YWw6ICcgKyAoLTE2Nzc3MjE2IDw8IDQpKTsgCn0gCgoKaWYgKC0zMzU1NDQzMiA8PCA0ICE9PSAtNTM2ODcwOTEyKSB7IAogICRFUlJPUignIzE1NDogLTMzNTU0NDMyIDw8IDQgPT09IC01MzY4NzA5MTIuIEFjdHVhbDogJyArICgtMzM1NTQ0MzIgPDwgNCkpOyAKfSAKCgppZiAoLTY3MTA4ODY0IDw8IDQgIT09IC0xMDczNzQxODI0KSB7IAogICRFUlJPUignIzE1NTogLTY3MTA4ODY0IDw8IDQgPT09IC0xMDczNzQxODI0LiBBY3R1YWw6ICcgKyAoLTY3MTA4ODY0IDw8IDQpKTsgCn0gCgoKaWYgKC0xMzQyMTc3MjggPDwgNCAhPT0gLTIxNDc0ODM2NDgpIHsgCiAgJEVSUk9SKCcjMTU2OiAtMTM0MjE3NzI4IDw8IDQgPT09IC0yMTQ3NDgzNjQ4LiBBY3R1YWw6ICcgKyAoLTEzNDIxNzcyOCA8PCA0KSk7IAp9IAoKCmlmICgtMjY4NDM1NDU2IDw8IDQgIT09IDApIHsgCiAgJEVSUk9SKCcjMTU3OiAtMjY4NDM1NDU2IDw8IDQgPT09IDAuIEFjdHVhbDogJyArICgtMjY4NDM1NDU2IDw8IDQpKTsgCn0gCgoKaWYgKC01MzY4NzA5MTIgPDwgNCAhPT0gMCkgeyAKICAkRVJST1IoJyMxNTg6IC01MzY4NzA5MTIgPDwgNCA9PT0gMC4gQWN0dWFsOiAnICsgKC01MzY4NzA5MTIgPDwgNCkpOyAKfSAKCgppZiAoLTEwNzM3NDE4MjQgPDwgNCAhPT0gMCkgeyAKICAkRVJST1IoJyMxNTk6IC0xMDczNzQxODI0IDw8IDQgPT09IDAuIEFjdHVhbDogJyArICgtMTA3Mzc0MTgyNCA8PCA0KSk7IAp9IAoKCmlmICgtMjE0NzQ4MzY0OCA8PCA0ICE9PSAwKSB7IAogICRFUlJPUignIzE2MDogLTIxNDc0ODM2NDggPDwgNCA9PT0gMC4gQWN0dWFsOiAnICsgKC0yMTQ3NDgzNjQ4IDw8IDQpKTsgCn0gCgoKaWYgKC0xIDw8IDUgIT09IC0zMikgeyAKICAkRVJST1IoJyMxNjE6IC0xIDw8IDUgPT09IC0zMi4gQWN0dWFsOiAnICsgKC0xIDw8IDUpKTsgCn0gCgoKaWYgKC0yIDw8IDUgIT09IC02NCkgeyAKICAkRVJST1IoJyMxNjI6IC0yIDw8IDUgPT09IC02NC4gQWN0dWFsOiAnICsgKC0yIDw8IDUpKTsgCn0gCgoKaWYgKC00IDw8IDUgIT09IC0xMjgpIHsgCiAgJEVSUk9SKCcjMTYzOiAtNCA8PCA1ID09PSAtMTI4LiBBY3R1YWw6ICcgKyAoLTQgPDwgNSkpOyAKfSAKCgppZiAoLTggPDwgNSAhPT0gLTI1NikgeyAKICAkRVJST1IoJyMxNjQ6IC04IDw8IDUgPT09IC0yNTYuIEFjdHVhbDogJyArICgtOCA8PCA1KSk7IAp9IAoKCmlmICgtMTYgPDwgNSAhPT0gLTUxMikgeyAKICAkRVJST1IoJyMxNjU6IC0xNiA8PCA1ID09PSAtNTEyLiBBY3R1YWw6ICcgKyAoLTE2IDw8IDUpKTsgCn0gCgoKaWYgKC0zMiA8PCA1ICE9PSAtMTAyNCkgeyAKICAkRVJST1IoJyMxNjY6IC0zMiA8PCA1ID09PSAtMTAyNC4gQWN0dWFsOiAnICsgKC0zMiA8PCA1KSk7IAp9IAoKCmlmICgtNjQgPDwgNSAhPT0gLTIwNDgpIHsgCiAgJEVSUk9SKCcjMTY3OiAtNjQgPDwgNSA9PT0gLTIwNDguIEFjdHVhbDogJyArICgtNjQgPDwgNSkpOyAKfSAKCgppZiAoLTEyOCA8PCA1ICE9PSAtNDA5NikgeyAKICAkRVJST1IoJyMxNjg6IC0xMjggPDwgNSA9PT0gLTQwOTYuIEFjdHVhbDogJyArICgtMTI4IDw8IDUpKTsgCn0gCgoKaWYgKC0yNTYgPDwgNSAhPT0gLTgxOTIpIHsgCiAgJEVSUk9SKCcjMTY5OiAtMjU2IDw8IDUgPT09IC04MTkyLiBBY3R1YWw6ICcgKyAoLTI1NiA8PCA1KSk7IAp9IAoKCmlmICgtNTEyIDw8IDUgIT09IC0xNjM4NCkgeyAKICAkRVJST1IoJyMxNzA6IC01MTIgPDwgNSA9PT0gLTE2Mzg0LiBBY3R1YWw6ICcgKyAoLTUxMiA8PCA1KSk7IAp9IAoKCmlmICgtMTAyNCA8PCA1ICE9PSAtMzI3NjgpIHsgCiAgJEVSUk9SKCcjMTcxOiAtMTAyNCA8PCA1ID09PSAtMzI3NjguIEFjdHVhbDogJyArICgtMTAyNCA8PCA1KSk7IAp9IAoKCmlmICgtMjA0OCA8PCA1ICE9PSAtNjU1MzYpIHsgCiAgJEVSUk9SKCcjMTcyOiAtMjA0OCA8PCA1ID09PSAtNjU1MzYuIEFjdHVhbDogJyArICgtMjA0OCA8PCA1KSk7IAp9IAoKCmlmICgtNDA5NiA8PCA1ICE9PSAtMTMxMDcyKSB7IAogICRFUlJPUignIzE3MzogLTQwOTYgPDwgNSA9PT0gLTEzMTA3Mi4gQWN0dWFsOiAnICsgKC00MDk2IDw8IDUpKTsgCn0gCgoKaWYgKC04MTkyIDw8IDUgIT09IC0yNjIxNDQpIHsgCiAgJEVSUk9SKCcjMTc0OiAtODE5MiA8PCA1ID09PSAtMjYyMTQ0LiBBY3R1YWw6ICcgKyAoLTgxOTIgPDwgNSkpOyAKfSAKCgppZiAoLTE2Mzg0IDw8IDUgIT09IC01MjQyODgpIHsgCiAgJEVSUk9SKCcjMTc1OiAtMTYzODQgPDwgNSA9PT0gLTUyNDI4OC4gQWN0dWFsOiAnICsgKC0xNjM4NCA8PCA1KSk7IAp9IAoKCmlmICgtMzI3NjggPDwgNSAhPT0gLTEwNDg1NzYpIHsgCiAgJEVSUk9SKCcjMTc2OiAtMzI3NjggPDwgNSA9PT0gLTEwNDg1NzYuIEFjdHVhbDogJyArICgtMzI3NjggPDwgNSkpOyAKfSAKCgppZiAoLTY1NTM2IDw8IDUgIT09IC0yMDk3MTUyKSB7IAogICRFUlJPUignIzE3NzogLTY1NTM2IDw8IDUgPT09IC0yMDk3MTUyLiBBY3R1YWw6ICcgKyAoLTY1NTM2IDw8IDUpKTsgCn0gCgoKaWYgKC0xMzEwNzIgPDwgNSAhPT0gLTQxOTQzMDQpIHsgCiAgJEVSUk9SKCcjMTc4OiAtMTMxMDcyIDw8IDUgPT09IC00MTk0MzA0LiBBY3R1YWw6ICcgKyAoLTEzMTA3MiA8PCA1KSk7IAp9IAoKCmlmICgtMjYyMTQ0IDw8IDUgIT09IC04Mzg4NjA4KSB7IAogICRFUlJPUignIzE3OTogLTI2MjE0NCA8PCA1ID09PSAtODM4ODYwOC4gQWN0dWFsOiAnICsgKC0yNjIxNDQgPDwgNSkpOyAKfSAKCgppZiAoLTUyNDI4OCA8PCA1ICE9PSAtMTY3NzcyMTYpIHsgCiAgJEVSUk9SKCcjMTgwOiAtNTI0Mjg4IDw8IDUgPT09IC0xNjc3NzIxNi4gQWN0dWFsOiAnICsgKC01MjQyODggPDwgNSkpOyAKfSAKCgppZiAoLTEwNDg1NzYgPDwgNSAhPT0gLTMzNTU0NDMyKSB7IAogICRFUlJPUignIzE4MTogLTEwNDg1NzYgPDwgNSA9PT0gLTMzNTU0NDMyLiBBY3R1YWw6ICcgKyAoLTEwNDg1NzYgPDwgNSkpOyAKfSAKCgppZiAoLTIwOTcxNTIgPDwgNSAhPT0gLTY3MTA4ODY0KSB7IAogICRFUlJPUignIzE4MjogLTIwOTcxNTIgPDwgNSA9PT0gLTY3MTA4ODY0LiBBY3R1YWw6ICcgKyAoLTIwOTcxNTIgPDwgNSkpOyAKfSAKCgppZiAoLTQxOTQzMDQgPDwgNSAhPT0gLTEzNDIxNzcyOCkgeyAKICAkRVJST1IoJyMxODM6IC00MTk0MzA0IDw8IDUgPT09IC0xMzQyMTc3MjguIEFjdHVhbDogJyArICgtNDE5NDMwNCA8PCA1KSk7IAp9IAoKCmlmICgtODM4ODYwOCA8PCA1ICE9PSAtMjY4NDM1NDU2KSB7IAogICRFUlJPUignIzE4NDogLTgzODg2MDggPDwgNSA9PT0gLTI2ODQzNTQ1Ni4gQWN0dWFsOiAnICsgKC04Mzg4NjA4IDw8IDUpKTsgCn0gCgoKaWYgKC0xNjc3NzIxNiA8PCA1ICE9PSAtNTM2ODcwOTEyKSB7IAogICRFUlJPUignIzE4NTogLTE2Nzc3MjE2IDw8IDUgPT09IC01MzY4NzA5MTIuIEFjdHVhbDogJyArICgtMTY3NzcyMTYgPDwgNSkpOyAKfSAKCgppZiAoLTMzNTU0NDMyIDw8IDUgIT09IC0xMDczNzQxODI0KSB7IAogICRFUlJPUignIzE4NjogLTMzNTU0NDMyIDw8IDUgPT09IC0xMDczNzQxODI0LiBBY3R1YWw6ICcgKyAoLTMzNTU0NDMyIDw8IDUpKTsgCn0gCgoKaWYgKC02NzEwODg2NCA8PCA1ICE9PSAtMjE0NzQ4MzY0OCkgeyAKICAkRVJST1IoJyMxODc6IC02NzEwODg2NCA8PCA1ID09PSAtMjE0NzQ4MzY0OC4gQWN0dWFsOiAnICsgKC02NzEwODg2NCA8PCA1KSk7IAp9IAoKCmlmICgtMTM0MjE3NzI4IDw8IDUgIT09IDApIHsgCiAgJEVSUk9SKCcjMTg4OiAtMTM0MjE3NzI4IDw8IDUgPT09IDAuIEFjdHVhbDogJyArICgtMTM0MjE3NzI4IDw8IDUpKTsgCn0gCgoKaWYgKC0yNjg0MzU0NTYgPDwgNSAhPT0gMCkgeyAKICAkRVJST1IoJyMxODk6IC0yNjg0MzU0NTYgPDwgNSA9PT0gMC4gQWN0dWFsOiAnICsgKC0yNjg0MzU0NTYgPDwgNSkpOyAKfSAKCgppZiAoLTUzNjg3MDkxMiA8PCA1ICE9PSAwKSB7IAogICRFUlJPUignIzE5MDogLTUzNjg3MDkxMiA8PCA1ID09PSAwLiBBY3R1YWw6ICcgKyAoLTUzNjg3MDkxMiA8PCA1KSk7IAp9IAoKCmlmICgtMTA3Mzc0MTgyNCA8PCA1ICE9PSAwKSB7IAogICRFUlJPUignIzE5MTogLTEwNzM3NDE4MjQgPDwgNSA9PT0gMC4gQWN0dWFsOiAnICsgKC0xMDczNzQxODI0IDw8IDUpKTsgCn0gCgoKaWYgKC0yMTQ3NDgzNjQ4IDw8IDUgIT09IDApIHsgCiAgJEVSUk9SKCcjMTkyOiAtMjE0NzQ4MzY0OCA8PCA1ID09PSAwLiBBY3R1YWw6ICcgKyAoLTIxNDc0ODM2NDggPDwgNSkpOyAKfSAKCgppZiAoLTEgPDwgNiAhPT0gLTY0KSB7IAogICRFUlJPUignIzE5MzogLTEgPDwgNiA9PT0gLTY0LiBBY3R1YWw6ICcgKyAoLTEgPDwgNikpOyAKfSAKCgppZiAoLTIgPDwgNiAhPT0gLTEyOCkgeyAKICAkRVJST1IoJyMxOTQ6IC0yIDw8IDYgPT09IC0xMjguIEFjdHVhbDogJyArICgtMiA8PCA2KSk7IAp9IAoKCmlmICgtNCA8PCA2ICE9PSAtMjU2KSB7IAogICRFUlJPUignIzE5NTogLTQgPDwgNiA9PT0gLTI1Ni4gQWN0dWFsOiAnICsgKC00IDw8IDYpKTsgCn0gCgoKaWYgKC04IDw8IDYgIT09IC01MTIpIHsgCiAgJEVSUk9SKCcjMTk2OiAtOCA8PCA2ID09PSAtNTEyLiBBY3R1YWw6ICcgKyAoLTggPDwgNikpOyAKfSAKCgppZiAoLTE2IDw8IDYgIT09IC0xMDI0KSB7IAogICRFUlJPUignIzE5NzogLTE2IDw8IDYgPT09IC0xMDI0LiBBY3R1YWw6ICcgKyAoLTE2IDw8IDYpKTsgCn0gCgoKaWYgKC0zMiA8PCA2ICE9PSAtMjA0OCkgeyAKICAkRVJST1IoJyMxOTg6IC0zMiA8PCA2ID09PSAtMjA0OC4gQWN0dWFsOiAnICsgKC0zMiA8PCA2KSk7IAp9IAoKCmlmICgtNjQgPDwgNiAhPT0gLTQwOTYpIHsgCiAgJEVSUk9SKCcjMTk5OiAtNjQgPDwgNiA9PT0gLTQwOTYuIEFjdHVhbDogJyArICgtNjQgPDwgNikpOyAKfSAKCgppZiAoLTEyOCA8PCA2ICE9PSAtODE5MikgeyAKICAkRVJST1IoJyMyMDA6IC0xMjggPDwgNiA9PT0gLTgxOTIuIEFjdHVhbDogJyArICgtMTI4IDw8IDYpKTsgCn0gCgoKaWYgKC0yNTYgPDwgNiAhPT0gLTE2Mzg0KSB7IAogICRFUlJPUignIzIwMTogLTI1NiA8PCA2ID09PSAtMTYzODQuIEFjdHVhbDogJyArICgtMjU2IDw8IDYpKTsgCn0gCgoKaWYgKC01MTIgPDwgNiAhPT0gLTMyNzY4KSB7IAogICRFUlJPUignIzIwMjogLTUxMiA8PCA2ID09PSAtMzI3NjguIEFjdHVhbDogJyArICgtNTEyIDw8IDYpKTsgCn0gCgoKaWYgKC0xMDI0IDw8IDYgIT09IC02NTUzNikgeyAKICAkRVJST1IoJyMyMDM6IC0xMDI0IDw8IDYgPT09IC02NTUzNi4gQWN0dWFsOiAnICsgKC0xMDI0IDw8IDYpKTsgCn0gCgoKaWYgKC0yMDQ4IDw8IDYgIT09IC0xMzEwNzIpIHsgCiAgJEVSUk9SKCcjMjA0OiAtMjA0OCA8PCA2ID09PSAtMTMxMDcyLiBBY3R1YWw6ICcgKyAoLTIwNDggPDwgNikpOyAKfSAKCgppZiAoLTQwOTYgPDwgNiAhPT0gLTI2MjE0NCkgeyAKICAkRVJST1IoJyMyMDU6IC00MDk2IDw8IDYgPT09IC0yNjIxNDQuIEFjdHVhbDogJyArICgtNDA5NiA8PCA2KSk7IAp9IAoKCmlmICgtODE5MiA8PCA2ICE9PSAtNTI0Mjg4KSB7IAogICRFUlJPUignIzIwNjogLTgxOTIgPDwgNiA9PT0gLTUyNDI4OC4gQWN0dWFsOiAnICsgKC04MTkyIDw8IDYpKTsgCn0gCgoKaWYgKC0xNjM4NCA8PCA2ICE9PSAtMTA0ODU3NikgeyAKICAkRVJST1IoJyMyMDc6IC0xNjM4NCA8PCA2ID09PSAtMTA0ODU3Ni4gQWN0dWFsOiAnICsgKC0xNjM4NCA8PCA2KSk7IAp9IAoKCmlmICgtMzI3NjggPDwgNiAhPT0gLTIwOTcxNTIpIHsgCiAgJEVSUk9SKCcjMjA4OiAtMzI3NjggPDwgNiA9PT0gLTIwOTcxNTIuIEFjdHVhbDogJyArICgtMzI3NjggPDwgNikpOyAKfSAKCgppZiAoLTY1NTM2IDw8IDYgIT09IC00MTk0MzA0KSB7IAogICRFUlJPUignIzIwOTogLTY1NTM2IDw8IDYgPT09IC00MTk0MzA0LiBBY3R1YWw6ICcgKyAoLTY1NTM2IDw8IDYpKTsgCn0gCgoKaWYgKC0xMzEwNzIgPDwgNiAhPT0gLTgzODg2MDgpIHsgCiAgJEVSUk9SKCcjMjEwOiAtMTMxMDcyIDw8IDYgPT09IC04Mzg4NjA4LiBBY3R1YWw6ICcgKyAoLTEzMTA3MiA8PCA2KSk7IAp9IAoKCmlmICgtMjYyMTQ0IDw8IDYgIT09IC0xNjc3NzIxNikgeyAKICAkRVJST1IoJyMyMTE6IC0yNjIxNDQgPDwgNiA9PT0gLTE2Nzc3MjE2LiBBY3R1YWw6ICcgKyAoLTI2MjE0NCA8PCA2KSk7IAp9IAoKCmlmICgtNTI0Mjg4IDw8IDYgIT09IC0zMzU1NDQzMikgeyAKICAkRVJST1IoJyMyMTI6IC01MjQyODggPDwgNiA9PT0gLTMzNTU0NDMyLiBBY3R1YWw6ICcgKyAoLTUyNDI4OCA8PCA2KSk7IAp9IAoKCmlmICgtMTA0ODU3NiA8PCA2ICE9PSAtNjcxMDg4NjQpIHsgCiAgJEVSUk9SKCcjMjEzOiAtMTA0ODU3NiA8PCA2ID09PSAtNjcxMDg4NjQuIEFjdHVhbDogJyArICgtMTA0ODU3NiA8PCA2KSk7IAp9IAoKCmlmICgtMjA5NzE1MiA8PCA2ICE9PSAtMTM0MjE3NzI4KSB7IAogICRFUlJPUignIzIxNDogLTIwOTcxNTIgPDwgNiA9PT0gLTEzNDIxNzcyOC4gQWN0dWFsOiAnICsgKC0yMDk3MTUyIDw8IDYpKTsgCn0gCgoKaWYgKC00MTk0MzA0IDw8IDYgIT09IC0yNjg0MzU0NTYpIHsgCiAgJEVSUk9SKCcjMjE1OiAtNDE5NDMwNCA8PCA2ID09PSAtMjY4NDM1NDU2LiBBY3R1YWw6ICcgKyAoLTQxOTQzMDQgPDwgNikpOyAKfSAKCgppZiAoLTgzODg2MDggPDwgNiAhPT0gLTUzNjg3MDkxMikgeyAKICAkRVJST1IoJyMyMTY6IC04Mzg4NjA4IDw8IDYgPT09IC01MzY4NzA5MTIuIEFjdHVhbDogJyArICgtODM4ODYwOCA8PCA2KSk7IAp9IAoKCmlmICgtMTY3NzcyMTYgPDwgNiAhPT0gLTEwNzM3NDE4MjQpIHsgCiAgJEVSUk9SKCcjMjE3OiAtMTY3NzcyMTYgPDwgNiA9PT0gLTEwNzM3NDE4MjQuIEFjdHVhbDogJyArICgtMTY3NzcyMTYgPDwgNikpOyAKfSAKCgppZiAoLTMzNTU0NDMyIDw8IDYgIT09IC0yMTQ3NDgzNjQ4KSB7IAogICRFUlJPUignIzIxODogLTMzNTU0NDMyIDw8IDYgPT09IC0yMTQ3NDgzNjQ4LiBBY3R1YWw6ICcgKyAoLTMzNTU0NDMyIDw8IDYpKTsgCn0gCgoKaWYgKC02NzEwODg2NCA8PCA2ICE9PSAwKSB7IAogICRFUlJPUignIzIxOTogLTY3MTA4ODY0IDw8IDYgPT09IDAuIEFjdHVhbDogJyArICgtNjcxMDg4NjQgPDwgNikpOyAKfSAKCgppZiAoLTEzNDIxNzcyOCA8PCA2ICE9PSAwKSB7IAogICRFUlJPUignIzIyMDogLTEzNDIxNzcyOCA8PCA2ID09PSAwLiBBY3R1YWw6ICcgKyAoLTEzNDIxNzcyOCA8PCA2KSk7IAp9IAoKCmlmICgtMjY4NDM1NDU2IDw8IDYgIT09IDApIHsgCiAgJEVSUk9SKCcjMjIxOiAtMjY4NDM1NDU2IDw8IDYgPT09IDAuIEFjdHVhbDogJyArICgtMjY4NDM1NDU2IDw8IDYpKTsgCn0gCgoKaWYgKC01MzY4NzA5MTIgPDwgNiAhPT0gMCkgeyAKICAkRVJST1IoJyMyMjI6IC01MzY4NzA5MTIgPDwgNiA9PT0gMC4gQWN0dWFsOiAnICsgKC01MzY4NzA5MTIgPDwgNikpOyAKfSAKCgppZiAoLTEwNzM3NDE4MjQgPDwgNiAhPT0gMCkgeyAKICAkRVJST1IoJyMyMjM6IC0xMDczNzQxODI0IDw8IDYgPT09IDAuIEFjdHVhbDogJyArICgtMTA3Mzc0MTgyNCA8PCA2KSk7IAp9IAoKCmlmICgtMjE0NzQ4MzY0OCA8PCA2ICE9PSAwKSB7IAogICRFUlJPUignIzIyNDogLTIxNDc0ODM2NDggPDwgNiA9PT0gMC4gQWN0dWFsOiAnICsgKC0yMTQ3NDgzNjQ4IDw8IDYpKTsgCn0gCgoKaWYgKC0xIDw8IDcgIT09IC0xMjgpIHsgCiAgJEVSUk9SKCcjMjI1OiAtMSA8PCA3ID09PSAtMTI4LiBBY3R1YWw6ICcgKyAoLTEgPDwgNykpOyAKfSAKCgppZiAoLTIgPDwgNyAhPT0gLTI1NikgeyAKICAkRVJST1IoJyMyMjY6IC0yIDw8IDcgPT09IC0yNTYuIEFjdHVhbDogJyArICgtMiA8PCA3KSk7IAp9IAoKCmlmICgtNCA8PCA3ICE9PSAtNTEyKSB7IAogICRFUlJPUignIzIyNzogLTQgPDwgNyA9PT0gLTUxMi4gQWN0dWFsOiAnICsgKC00IDw8IDcpKTsgCn0gCgoKaWYgKC04IDw8IDcgIT09IC0xMDI0KSB7IAogICRFUlJPUignIzIyODogLTggPDwgNyA9PT0gLTEwMjQuIEFjdHVhbDogJyArICgtOCA8PCA3KSk7IAp9IAoKCmlmICgtMTYgPDwgNyAhPT0gLTIwNDgpIHsgCiAgJEVSUk9SKCcjMjI5OiAtMTYgPDwgNyA9PT0gLTIwNDguIEFjdHVhbDogJyArICgtMTYgPDwgNykpOyAKfSAKCgppZiAoLTMyIDw8IDcgIT09IC00MDk2KSB7IAogICRFUlJPUignIzIzMDogLTMyIDw8IDcgPT09IC00MDk2LiBBY3R1YWw6ICcgKyAoLTMyIDw8IDcpKTsgCn0gCgoKaWYgKC02NCA8PCA3ICE9PSAtODE5MikgeyAKICAkRVJST1IoJyMyMzE6IC02NCA8PCA3ID09PSAtODE5Mi4gQWN0dWFsOiAnICsgKC02NCA8PCA3KSk7IAp9IAoKCmlmICgtMTI4IDw8IDcgIT09IC0xNjM4NCkgeyAKICAkRVJST1IoJyMyMzI6IC0xMjggPDwgNyA9PT0gLTE2Mzg0LiBBY3R1YWw6ICcgKyAoLTEyOCA8PCA3KSk7IAp9IAoKCmlmICgtMjU2IDw8IDcgIT09IC0zMjc2OCkgeyAKICAkRVJST1IoJyMyMzM6IC0yNTYgPDwgNyA9PT0gLTMyNzY4LiBBY3R1YWw6ICcgKyAoLTI1NiA8PCA3KSk7IAp9IAoKCmlmICgtNTEyIDw8IDcgIT09IC02NTUzNikgeyAKICAkRVJST1IoJyMyMzQ6IC01MTIgPDwgNyA9PT0gLTY1NTM2LiBBY3R1YWw6ICcgKyAoLTUxMiA8PCA3KSk7IAp9IAoKCmlmICgtMTAyNCA8PCA3ICE9PSAtMTMxMDcyKSB7IAogICRFUlJPUignIzIzNTogLTEwMjQgPDwgNyA9PT0gLTEzMTA3Mi4gQWN0dWFsOiAnICsgKC0xMDI0IDw8IDcpKTsgCn0gCgoKaWYgKC0yMDQ4IDw8IDcgIT09IC0yNjIxNDQpIHsgCiAgJEVSUk9SKCcjMjM2OiAtMjA0OCA8PCA3ID09PSAtMjYyMTQ0LiBBY3R1YWw6ICcgKyAoLTIwNDggPDwgNykpOyAKfSAKCgppZiAoLTQwOTYgPDwgNyAhPT0gLTUyNDI4OCkgeyAKICAkRVJST1IoJyMyMzc6IC00MDk2IDw8IDcgPT09IC01MjQyODguIEFjdHVhbDogJyArICgtNDA5NiA8PCA3KSk7IAp9IAoKCmlmICgtODE5MiA8PCA3ICE9PSAtMTA0ODU3NikgeyAKICAkRVJST1IoJyMyMzg6IC04MTkyIDw8IDcgPT09IC0xMDQ4NTc2LiBBY3R1YWw6ICcgKyAoLTgxOTIgPDwgNykpOyAKfSAKCgppZiAoLTE2Mzg0IDw8IDcgIT09IC0yMDk3MTUyKSB7IAogICRFUlJPUignIzIzOTogLTE2Mzg0IDw8IDcgPT09IC0yMDk3MTUyLiBBY3R1YWw6ICcgKyAoLTE2Mzg0IDw8IDcpKTsgCn0gCgoKaWYgKC0zMjc2OCA8PCA3ICE9PSAtNDE5NDMwNCkgeyAKICAkRVJST1IoJyMyNDA6IC0zMjc2OCA8PCA3ID09PSAtNDE5NDMwNC4gQWN0dWFsOiAnICsgKC0zMjc2OCA8PCA3KSk7IAp9IAoKCmlmICgtNjU1MzYgPDwgNyAhPT0gLTgzODg2MDgpIHsgCiAgJEVSUk9SKCcjMjQxOiAtNjU1MzYgPDwgNyA9PT0gLTgzODg2MDguIEFjdHVhbDogJyArICgtNjU1MzYgPDwgNykpOyAKfSAKCgppZiAoLTEzMTA3MiA8PCA3ICE9PSAtMTY3NzcyMTYpIHsgCiAgJEVSUk9SKCcjMjQyOiAtMTMxMDcyIDw8IDcgPT09IC0xNjc3NzIxNi4gQWN0dWFsOiAnICsgKC0xMzEwNzIgPDwgNykpOyAKfSAKCgppZiAoLTI2MjE0NCA8PCA3ICE9PSAtMzM1NTQ0MzIpIHsgCiAgJEVSUk9SKCcjMjQzOiAtMjYyMTQ0IDw8IDcgPT09IC0zMzU1NDQzMi4gQWN0dWFsOiAnICsgKC0yNjIxNDQgPDwgNykpOyAKfSAKCgppZiAoLTUyNDI4OCA8PCA3ICE9PSAtNjcxMDg4NjQpIHsgCiAgJEVSUk9SKCcjMjQ0OiAtNTI0Mjg4IDw8IDcgPT09IC02NzEwODg2NC4gQWN0dWFsOiAnICsgKC01MjQyODggPDwgNykpOyAKfSAKCgppZiAoLTEwNDg1NzYgPDwgNyAhPT0gLTEzNDIxNzcyOCkgeyAKICAkRVJST1IoJyMyNDU6IC0xMDQ4NTc2IDw8IDcgPT09IC0xMzQyMTc3MjguIEFjdHVhbDogJyArICgtMTA0ODU3NiA8PCA3KSk7IAp9IAoKCmlmICgtMjA5NzE1MiA8PCA3ICE9PSAtMjY4NDM1NDU2KSB7IAogICRFUlJPUignIzI0NjogLTIwOTcxNTIgPDwgNyA9PT0gLTI2ODQzNTQ1Ni4gQWN0dWFsOiAnICsgKC0yMDk3MTUyIDw8IDcpKTsgCn0gCgoKaWYgKC00MTk0MzA0IDw8IDcgIT09IC01MzY4NzA5MTIpIHsgCiAgJEVSUk9SKCcjMjQ3OiAtNDE5NDMwNCA8PCA3ID09PSAtNTM2ODcwOTEyLiBBY3R1YWw6ICcgKyAoLTQxOTQzMDQgPDwgNykpOyAKfSAKCgppZiAoLTgzODg2MDggPDwgNyAhPT0gLTEwNzM3NDE4MjQpIHsgCiAgJEVSUk9SKCcjMjQ4OiAtODM4ODYwOCA8PCA3ID09PSAtMTA3Mzc0MTgyNC4gQWN0dWFsOiAnICsgKC04Mzg4NjA4IDw8IDcpKTsgCn0gCgoKaWYgKC0xNjc3NzIxNiA8PCA3ICE9PSAtMjE0NzQ4MzY0OCkgeyAKICAkRVJST1IoJyMyNDk6IC0xNjc3NzIxNiA8PCA3ID09PSAtMjE0NzQ4MzY0OC4gQWN0dWFsOiAnICsgKC0xNjc3NzIxNiA8PCA3KSk7IAp9IAoKCmlmICgtMzM1NTQ0MzIgPDwgNyAhPT0gMCkgeyAKICAkRVJST1IoJyMyNTA6IC0zMzU1NDQzMiA8PCA3ID09PSAwLiBBY3R1YWw6ICcgKyAoLTMzNTU0NDMyIDw8IDcpKTsgCn0gCgoKaWYgKC02NzEwODg2NCA8PCA3ICE9PSAwKSB7IAogICRFUlJPUignIzI1MTogLTY3MTA4ODY0IDw8IDcgPT09IDAuIEFjdHVhbDogJyArICgtNjcxMDg4NjQgPDwgNykpOyAKfSAKCgppZiAoLTEzNDIxNzcyOCA8PCA3ICE9PSAwKSB7IAogICRFUlJPUignIzI1MjogLTEzNDIxNzcyOCA8PCA3ID09PSAwLiBBY3R1YWw6ICcgKyAoLTEzNDIxNzcyOCA8PCA3KSk7IAp9IAoKCmlmICgtMjY4NDM1NDU2IDw8IDcgIT09IDApIHsgCiAgJEVSUk9SKCcjMjUzOiAtMjY4NDM1NDU2IDw8IDcgPT09IDAuIEFjdHVhbDogJyArICgtMjY4NDM1NDU2IDw8IDcpKTsgCn0gCgoKaWYgKC01MzY4NzA5MTIgPDwgNyAhPT0gMCkgeyAKICAkRVJST1IoJyMyNTQ6IC01MzY4NzA5MTIgPDwgNyA9PT0gMC4gQWN0dWFsOiAnICsgKC01MzY4NzA5MTIgPDwgNykpOyAKfSAKCgppZiAoLTEwNzM3NDE4MjQgPDwgNyAhPT0gMCkgeyAKICAkRVJST1IoJyMyNTU6IC0xMDczNzQxODI0IDw8IDcgPT09IDAuIEFjdHVhbDogJyArICgtMTA3Mzc0MTgyNCA8PCA3KSk7IAp9IAoKCmlmICgtMjE0NzQ4MzY0OCA8PCA3ICE9PSAwKSB7IAogICRFUlJPUignIzI1NjogLTIxNDc0ODM2NDggPDwgNyA9PT0gMC4gQWN0dWFsOiAnICsgKC0yMTQ3NDgzNjQ4IDw8IDcpKTsgCn0gCgoKaWYgKC0xIDw8IDggIT09IC0yNTYpIHsgCiAgJEVSUk9SKCcjMjU3OiAtMSA8PCA4ID09PSAtMjU2LiBBY3R1YWw6ICcgKyAoLTEgPDwgOCkpOyAKfSAKCgppZiAoLTIgPDwgOCAhPT0gLTUxMikgeyAKICAkRVJST1IoJyMyNTg6IC0yIDw8IDggPT09IC01MTIuIEFjdHVhbDogJyArICgtMiA8PCA4KSk7IAp9IAoKCmlmICgtNCA8PCA4ICE9PSAtMTAyNCkgeyAKICAkRVJST1IoJyMyNTk6IC00IDw8IDggPT09IC0xMDI0LiBBY3R1YWw6ICcgKyAoLTQgPDwgOCkpOyAKfSAKCgppZiAoLTggPDwgOCAhPT0gLTIwNDgpIHsgCiAgJEVSUk9SKCcjMjYwOiAtOCA8PCA4ID09PSAtMjA0OC4gQWN0dWFsOiAnICsgKC04IDw8IDgpKTsgCn0gCgoKaWYgKC0xNiA8PCA4ICE9PSAtNDA5NikgeyAKICAkRVJST1IoJyMyNjE6IC0xNiA8PCA4ID09PSAtNDA5Ni4gQWN0dWFsOiAnICsgKC0xNiA8PCA4KSk7IAp9IAoKCmlmICgtMzIgPDwgOCAhPT0gLTgxOTIpIHsgCiAgJEVSUk9SKCcjMjYyOiAtMzIgPDwgOCA9PT0gLTgxOTIuIEFjdHVhbDogJyArICgtMzIgPDwgOCkpOyAKfSAKCgppZiAoLTY0IDw8IDggIT09IC0xNjM4NCkgeyAKICAkRVJST1IoJyMyNjM6IC02NCA8PCA4ID09PSAtMTYzODQuIEFjdHVhbDogJyArICgtNjQgPDwgOCkpOyAKfSAKCgppZiAoLTEyOCA8PCA4ICE9PSAtMzI3NjgpIHsgCiAgJEVSUk9SKCcjMjY0OiAtMTI4IDw8IDggPT09IC0zMjc2OC4gQWN0dWFsOiAnICsgKC0xMjggPDwgOCkpOyAKfSAKCgppZiAoLTI1NiA8PCA4ICE9PSAtNjU1MzYpIHsgCiAgJEVSUk9SKCcjMjY1OiAtMjU2IDw8IDggPT09IC02NTUzNi4gQWN0dWFsOiAnICsgKC0yNTYgPDwgOCkpOyAKfSAKCgppZiAoLTUxMiA8PCA4ICE9PSAtMTMxMDcyKSB7IAogICRFUlJPUignIzI2NjogLTUxMiA8PCA4ID09PSAtMTMxMDcyLiBBY3R1YWw6ICcgKyAoLTUxMiA8PCA4KSk7IAp9IAoKCmlmICgtMTAyNCA8PCA4ICE9PSAtMjYyMTQ0KSB7IAogICRFUlJPUignIzI2NzogLTEwMjQgPDwgOCA9PT0gLTI2MjE0NC4gQWN0dWFsOiAnICsgKC0xMDI0IDw8IDgpKTsgCn0gCgoKaWYgKC0yMDQ4IDw8IDggIT09IC01MjQyODgpIHsgCiAgJEVSUk9SKCcjMjY4OiAtMjA0OCA8PCA4ID09PSAtNTI0Mjg4LiBBY3R1YWw6ICcgKyAoLTIwNDggPDwgOCkpOyAKfSAKCgppZiAoLTQwOTYgPDwgOCAhPT0gLTEwNDg1NzYpIHsgCiAgJEVSUk9SKCcjMjY5OiAtNDA5NiA8PCA4ID09PSAtMTA0ODU3Ni4gQWN0dWFsOiAnICsgKC00MDk2IDw8IDgpKTsgCn0gCgoKaWYgKC04MTkyIDw8IDggIT09IC0yMDk3MTUyKSB7IAogICRFUlJPUignIzI3MDogLTgxOTIgPDwgOCA9PT0gLTIwOTcxNTIuIEFjdHVhbDogJyArICgtODE5MiA8PCA4KSk7IAp9IAoKCmlmICgtMTYzODQgPDwgOCAhPT0gLTQxOTQzMDQpIHsgCiAgJEVSUk9SKCcjMjcxOiAtMTYzODQgPDwgOCA9PT0gLTQxOTQzMDQuIEFjdHVhbDogJyArICgtMTYzODQgPDwgOCkpOyAKfSAKCgppZiAoLTMyNzY4IDw8IDggIT09IC04Mzg4NjA4KSB7IAogICRFUlJPUignIzI3MjogLTMyNzY4IDw8IDggPT09IC04Mzg4NjA4LiBBY3R1YWw6ICcgKyAoLTMyNzY4IDw8IDgpKTsgCn0gCgoKaWYgKC02NTUzNiA8PCA4ICE9PSAtMTY3NzcyMTYpIHsgCiAgJEVSUk9SKCcjMjczOiAtNjU1MzYgPDwgOCA9PT0gLTE2Nzc3MjE2LiBBY3R1YWw6ICcgKyAoLTY1NTM2IDw8IDgpKTsgCn0gCgoKaWYgKC0xMzEwNzIgPDwgOCAhPT0gLTMzNTU0NDMyKSB7IAogICRFUlJPUignIzI3NDogLTEzMTA3MiA8PCA4ID09PSAtMzM1NTQ0MzIuIEFjdHVhbDogJyArICgtMTMxMDcyIDw8IDgpKTsgCn0gCgoKaWYgKC0yNjIxNDQgPDwgOCAhPT0gLTY3MTA4ODY0KSB7IAogICRFUlJPUignIzI3NTogLTI2MjE0NCA8PCA4ID09PSAtNjcxMDg4NjQuIEFjdHVhbDogJyArICgtMjYyMTQ0IDw8IDgpKTsgCn0gCgoKaWYgKC01MjQyODggPDwgOCAhPT0gLTEzNDIxNzcyOCkgeyAKICAkRVJST1IoJyMyNzY6IC01MjQyODggPDwgOCA9PT0gLTEzNDIxNzcyOC4gQWN0dWFsOiAnICsgKC01MjQyODggPDwgOCkpOyAKfSAKCgppZiAoLTEwNDg1NzYgPDwgOCAhPT0gLTI2ODQzNTQ1NikgeyAKICAkRVJST1IoJyMyNzc6IC0xMDQ4NTc2IDw8IDggPT09IC0yNjg0MzU0NTYuIEFjdHVhbDogJyArICgtMTA0ODU3NiA8PCA4KSk7IAp9IAoKCmlmICgtMjA5NzE1MiA8PCA4ICE9PSAtNTM2ODcwOTEyKSB7IAogICRFUlJPUignIzI3ODogLTIwOTcxNTIgPDwgOCA9PT0gLTUzNjg3MDkxMi4gQWN0dWFsOiAnICsgKC0yMDk3MTUyIDw8IDgpKTsgCn0gCgoKaWYgKC00MTk0MzA0IDw8IDggIT09IC0xMDczNzQxODI0KSB7IAogICRFUlJPUignIzI3OTogLTQxOTQzMDQgPDwgOCA9PT0gLTEwNzM3NDE4MjQuIEFjdHVhbDogJyArICgtNDE5NDMwNCA8PCA4KSk7IAp9IAoKCmlmICgtODM4ODYwOCA8PCA4ICE9PSAtMjE0NzQ4MzY0OCkgeyAKICAkRVJST1IoJyMyODA6IC04Mzg4NjA4IDw8IDggPT09IC0yMTQ3NDgzNjQ4LiBBY3R1YWw6ICcgKyAoLTgzODg2MDggPDwgOCkpOyAKfSAKCgppZiAoLTE2Nzc3MjE2IDw8IDggIT09IDApIHsgCiAgJEVSUk9SKCcjMjgxOiAtMTY3NzcyMTYgPDwgOCA9PT0gMC4gQWN0dWFsOiAnICsgKC0xNjc3NzIxNiA8PCA4KSk7IAp9IAoKCmlmICgtMzM1NTQ0MzIgPDwgOCAhPT0gMCkgeyAKICAkRVJST1IoJyMyODI6IC0zMzU1NDQzMiA8PCA4ID09PSAwLiBBY3R1YWw6ICcgKyAoLTMzNTU0NDMyIDw8IDgpKTsgCn0gCgoKaWYgKC02NzEwODg2NCA8PCA4ICE9PSAwKSB7IAogICRFUlJPUignIzI4MzogLTY3MTA4ODY0IDw8IDggPT09IDAuIEFjdHVhbDogJyArICgtNjcxMDg4NjQgPDwgOCkpOyAKfSAKCgppZiAoLTEzNDIxNzcyOCA8PCA4ICE9PSAwKSB7IAogICRFUlJPUignIzI4NDogLTEzNDIxNzcyOCA8PCA4ID09PSAwLiBBY3R1YWw6ICcgKyAoLTEzNDIxNzcyOCA8PCA4KSk7IAp9IAoKCmlmICgtMjY4NDM1NDU2IDw8IDggIT09IDApIHsgCiAgJEVSUk9SKCcjMjg1OiAtMjY4NDM1NDU2IDw8IDggPT09IDAuIEFjdHVhbDogJyArICgtMjY4NDM1NDU2IDw8IDgpKTsgCn0gCgoKaWYgKC01MzY4NzA5MTIgPDwgOCAhPT0gMCkgeyAKICAkRVJST1IoJyMyODY6IC01MzY4NzA5MTIgPDwgOCA9PT0gMC4gQWN0dWFsOiAnICsgKC01MzY4NzA5MTIgPDwgOCkpOyAKfSAKCgppZiAoLTEwNzM3NDE4MjQgPDwgOCAhPT0gMCkgeyAKICAkRVJST1IoJyMyODc6IC0xMDczNzQxODI0IDw8IDggPT09IDAuIEFjdHVhbDogJyArICgtMTA3Mzc0MTgyNCA8PCA4KSk7IAp9IAoKCmlmICgtMjE0NzQ4MzY0OCA8PCA4ICE9PSAwKSB7IAogICRFUlJPUignIzI4ODogLTIxNDc0ODM2NDggPDwgOCA9PT0gMC4gQWN0dWFsOiAnICsgKC0yMTQ3NDgzNjQ4IDw8IDgpKTsgCn0gCgoKaWYgKC0xIDw8IDkgIT09IC01MTIpIHsgCiAgJEVSUk9SKCcjMjg5OiAtMSA8PCA5ID09PSAtNTEyLiBBY3R1YWw6ICcgKyAoLTEgPDwgOSkpOyAKfSAKCgppZiAoLTIgPDwgOSAhPT0gLTEwMjQpIHsgCiAgJEVSUk9SKCcjMjkwOiAtMiA8PCA5ID09PSAtMTAyNC4gQWN0dWFsOiAnICsgKC0yIDw8IDkpKTsgCn0gCgoKaWYgKC00IDw8IDkgIT09IC0yMDQ4KSB7IAogICRFUlJPUignIzI5MTogLTQgPDwgOSA9PT0gLTIwNDguIEFjdHVhbDogJyArICgtNCA8PCA5KSk7IAp9IAoKCmlmICgtOCA8PCA5ICE9PSAtNDA5NikgeyAKICAkRVJST1IoJyMyOTI6IC04IDw8IDkgPT09IC00MDk2LiBBY3R1YWw6ICcgKyAoLTggPDwgOSkpOyAKfSAKCgppZiAoLTE2IDw8IDkgIT09IC04MTkyKSB7IAogICRFUlJPUignIzI5MzogLTE2IDw8IDkgPT09IC04MTkyLiBBY3R1YWw6ICcgKyAoLTE2IDw8IDkpKTsgCn0gCgoKaWYgKC0zMiA8PCA5ICE9PSAtMTYzODQpIHsgCiAgJEVSUk9SKCcjMjk0OiAtMzIgPDwgOSA9PT0gLTE2Mzg0LiBBY3R1YWw6ICcgKyAoLTMyIDw8IDkpKTsgCn0gCgoKaWYgKC02NCA8PCA5ICE9PSAtMzI3NjgpIHsgCiAgJEVSUk9SKCcjMjk1OiAtNjQgPDwgOSA9PT0gLTMyNzY4LiBBY3R1YWw6ICcgKyAoLTY0IDw8IDkpKTsgCn0gCgoKaWYgKC0xMjggPDwgOSAhPT0gLTY1NTM2KSB7IAogICRFUlJPUignIzI5NjogLTEyOCA8PCA5ID09PSAtNjU1MzYuIEFjdHVhbDogJyArICgtMTI4IDw8IDkpKTsgCn0gCgoKaWYgKC0yNTYgPDwgOSAhPT0gLTEzMTA3MikgeyAKICAkRVJST1IoJyMyOTc6IC0yNTYgPDwgOSA9PT0gLTEzMTA3Mi4gQWN0dWFsOiAnICsgKC0yNTYgPDwgOSkpOyAKfSAKCgppZiAoLTUxMiA8PCA5ICE9PSAtMjYyMTQ0KSB7IAogICRFUlJPUignIzI5ODogLTUxMiA8PCA5ID09PSAtMjYyMTQ0LiBBY3R1YWw6ICcgKyAoLTUxMiA8PCA5KSk7IAp9IAoKCmlmICgtMTAyNCA8PCA5ICE9PSAtNTI0Mjg4KSB7IAogICRFUlJPUignIzI5OTogLTEwMjQgPDwgOSA9PT0gLTUyNDI4OC4gQWN0dWFsOiAnICsgKC0xMDI0IDw8IDkpKTsgCn0gCgoKaWYgKC0yMDQ4IDw8IDkgIT09IC0xMDQ4NTc2KSB7IAogICRFUlJPUignIzMwMDogLTIwNDggPDwgOSA9PT0gLTEwNDg1NzYuIEFjdHVhbDogJyArICgtMjA0OCA8PCA5KSk7IAp9IAoKCmlmICgtNDA5NiA8PCA5ICE9PSAtMjA5NzE1MikgeyAKICAkRVJST1IoJyMzMDE6IC00MDk2IDw8IDkgPT09IC0yMDk3MTUyLiBBY3R1YWw6ICcgKyAoLTQwOTYgPDwgOSkpOyAKfSAKCgppZiAoLTgxOTIgPDwgOSAhPT0gLTQxOTQzMDQpIHsgCiAgJEVSUk9SKCcjMzAyOiAtODE5MiA8PCA5ID09PSAtNDE5NDMwNC4gQWN0dWFsOiAnICsgKC04MTkyIDw8IDkpKTsgCn0gCgoKaWYgKC0xNjM4NCA8PCA5ICE9PSAtODM4ODYwOCkgeyAKICAkRVJST1IoJyMzMDM6IC0xNjM4NCA8PCA5ID09PSAtODM4ODYwOC4gQWN0dWFsOiAnICsgKC0xNjM4NCA8PCA5KSk7IAp9IAoKCmlmICgtMzI3NjggPDwgOSAhPT0gLTE2Nzc3MjE2KSB7IAogICRFUlJPUignIzMwNDogLTMyNzY4IDw8IDkgPT09IC0xNjc3NzIxNi4gQWN0dWFsOiAnICsgKC0zMjc2OCA8PCA5KSk7IAp9IAoKCmlmICgtNjU1MzYgPDwgOSAhPT0gLTMzNTU0NDMyKSB7IAogICRFUlJPUignIzMwNTogLTY1NTM2IDw8IDkgPT09IC0zMzU1NDQzMi4gQWN0dWFsOiAnICsgKC02NTUzNiA8PCA5KSk7IAp9IAoKCmlmICgtMTMxMDcyIDw8IDkgIT09IC02NzEwODg2NCkgeyAKICAkRVJST1IoJyMzMDY6IC0xMzEwNzIgPDwgOSA9PT0gLTY3MTA4ODY0LiBBY3R1YWw6ICcgKyAoLTEzMTA3MiA8PCA5KSk7IAp9IAoKCmlmICgtMjYyMTQ0IDw8IDkgIT09IC0xMzQyMTc3MjgpIHsgCiAgJEVSUk9SKCcjMzA3OiAtMjYyMTQ0IDw8IDkgPT09IC0xMzQyMTc3MjguIEFjdHVhbDogJyArICgtMjYyMTQ0IDw8IDkpKTsgCn0gCgoKaWYgKC01MjQyODggPDwgOSAhPT0gLTI2ODQzNTQ1NikgeyAKICAkRVJST1IoJyMzMDg6IC01MjQyODggPDwgOSA9PT0gLTI2ODQzNTQ1Ni4gQWN0dWFsOiAnICsgKC01MjQyODggPDwgOSkpOyAKfSAKCgppZiAoLTEwNDg1NzYgPDwgOSAhPT0gLTUzNjg3MDkxMikgeyAKICAkRVJST1IoJyMzMDk6IC0xMDQ4NTc2IDw8IDkgPT09IC01MzY4NzA5MTIuIEFjdHVhbDogJyArICgtMTA0ODU3NiA8PCA5KSk7IAp9IAoKCmlmICgtMjA5NzE1MiA8PCA5ICE9PSAtMTA3Mzc0MTgyNCkgeyAKICAkRVJST1IoJyMzMTA6IC0yMDk3MTUyIDw8IDkgPT09IC0xMDczNzQxODI0LiBBY3R1YWw6ICcgKyAoLTIwOTcxNTIgPDwgOSkpOyAKfSAKCgppZiAoLTQxOTQzMDQgPDwgOSAhPT0gLTIxNDc0ODM2NDgpIHsgCiAgJEVSUk9SKCcjMzExOiAtNDE5NDMwNCA8PCA5ID09PSAtMjE0NzQ4MzY0OC4gQWN0dWFsOiAnICsgKC00MTk0MzA0IDw8IDkpKTsgCn0gCgoKaWYgKC04Mzg4NjA4IDw8IDkgIT09IDApIHsgCiAgJEVSUk9SKCcjMzEyOiAtODM4ODYwOCA8PCA5ID09PSAwLiBBY3R1YWw6ICcgKyAoLTgzODg2MDggPDwgOSkpOyAKfSAKCgppZiAoLTE2Nzc3MjE2IDw8IDkgIT09IDApIHsgCiAgJEVSUk9SKCcjMzEzOiAtMTY3NzcyMTYgPDwgOSA9PT0gMC4gQWN0dWFsOiAnICsgKC0xNjc3NzIxNiA8PCA5KSk7IAp9IAoKCmlmICgtMzM1NTQ0MzIgPDwgOSAhPT0gMCkgeyAKICAkRVJST1IoJyMzMTQ6IC0zMzU1NDQzMiA8PCA5ID09PSAwLiBBY3R1YWw6ICcgKyAoLTMzNTU0NDMyIDw8IDkpKTsgCn0gCgoKaWYgKC02NzEwODg2NCA8PCA5ICE9PSAwKSB7IAogICRFUlJPUignIzMxNTogLTY3MTA4ODY0IDw8IDkgPT09IDAuIEFjdHVhbDogJyArICgtNjcxMDg4NjQgPDwgOSkpOyAKfSAKCgppZiAoLTEzNDIxNzcyOCA8PCA5ICE9PSAwKSB7IAogICRFUlJPUignIzMxNjogLTEzNDIxNzcyOCA8PCA5ID09PSAwLiBBY3R1YWw6ICcgKyAoLTEzNDIxNzcyOCA8PCA5KSk7IAp9IAoKCmlmICgtMjY4NDM1NDU2IDw8IDkgIT09IDApIHsgCiAgJEVSUk9SKCcjMzE3OiAtMjY4NDM1NDU2IDw8IDkgPT09IDAuIEFjdHVhbDogJyArICgtMjY4NDM1NDU2IDw8IDkpKTsgCn0gCgoKaWYgKC01MzY4NzA5MTIgPDwgOSAhPT0gMCkgeyAKICAkRVJST1IoJyMzMTg6IC01MzY4NzA5MTIgPDwgOSA9PT0gMC4gQWN0dWFsOiAnICsgKC01MzY4NzA5MTIgPDwgOSkpOyAKfSAKCgppZiAoLTEwNzM3NDE4MjQgPDwgOSAhPT0gMCkgeyAKICAkRVJST1IoJyMzMTk6IC0xMDczNzQxODI0IDw8IDkgPT09IDAuIEFjdHVhbDogJyArICgtMTA3Mzc0MTgyNCA8PCA5KSk7IAp9IAoKCmlmICgtMjE0NzQ4MzY0OCA8PCA5ICE9PSAwKSB7IAogICRFUlJPUignIzMyMDogLTIxNDc0ODM2NDggPDwgOSA9PT0gMC4gQWN0dWFsOiAnICsgKC0yMTQ3NDgzNjQ4IDw8IDkpKTsgCn0gCgoKaWYgKC0xIDw8IDEwICE9PSAtMTAyNCkgeyAKICAkRVJST1IoJyMzMjE6IC0xIDw8IDEwID09PSAtMTAyNC4gQWN0dWFsOiAnICsgKC0xIDw8IDEwKSk7IAp9IAoKCmlmICgtMiA8PCAxMCAhPT0gLTIwNDgpIHsgCiAgJEVSUk9SKCcjMzIyOiAtMiA8PCAxMCA9PT0gLTIwNDguIEFjdHVhbDogJyArICgtMiA8PCAxMCkpOyAKfSAKCgppZiAoLTQgPDwgMTAgIT09IC00MDk2KSB7IAogICRFUlJPUignIzMyMzogLTQgPDwgMTAgPT09IC00MDk2LiBBY3R1YWw6ICcgKyAoLTQgPDwgMTApKTsgCn0gCgoKaWYgKC04IDw8IDEwICE9PSAtODE5MikgeyAKICAkRVJST1IoJyMzMjQ6IC04IDw8IDEwID09PSAtODE5Mi4gQWN0dWFsOiAnICsgKC04IDw8IDEwKSk7IAp9IAoKCmlmICgtMTYgPDwgMTAgIT09IC0xNjM4NCkgeyAKICAkRVJST1IoJyMzMjU6IC0xNiA8PCAxMCA9PT0gLTE2Mzg0LiBBY3R1YWw6ICcgKyAoLTE2IDw8IDEwKSk7IAp9IAoKCmlmICgtMzIgPDwgMTAgIT09IC0zMjc2OCkgeyAKICAkRVJST1IoJyMzMjY6IC0zMiA8PCAxMCA9PT0gLTMyNzY4LiBBY3R1YWw6ICcgKyAoLTMyIDw8IDEwKSk7IAp9IAoKCmlmICgtNjQgPDwgMTAgIT09IC02NTUzNikgeyAKICAkRVJST1IoJyMzMjc6IC02NCA8PCAxMCA9PT0gLTY1NTM2LiBBY3R1YWw6ICcgKyAoLTY0IDw8IDEwKSk7IAp9IAoKCmlmICgtMTI4IDw8IDEwICE9PSAtMTMxMDcyKSB7IAogICRFUlJPUignIzMyODogLTEyOCA8PCAxMCA9PT0gLTEzMTA3Mi4gQWN0dWFsOiAnICsgKC0xMjggPDwgMTApKTsgCn0gCgoKaWYgKC0yNTYgPDwgMTAgIT09IC0yNjIxNDQpIHsgCiAgJEVSUk9SKCcjMzI5OiAtMjU2IDw8IDEwID09PSAtMjYyMTQ0LiBBY3R1YWw6ICcgKyAoLTI1NiA8PCAxMCkpOyAKfSAKCgppZiAoLTUxMiA8PCAxMCAhPT0gLTUyNDI4OCkgeyAKICAkRVJST1IoJyMzMzA6IC01MTIgPDwgMTAgPT09IC01MjQyODguIEFjdHVhbDogJyArICgtNTEyIDw8IDEwKSk7IAp9IAoKCmlmICgtMTAyNCA8PCAxMCAhPT0gLTEwNDg1NzYpIHsgCiAgJEVSUk9SKCcjMzMxOiAtMTAyNCA8PCAxMCA9PT0gLTEwNDg1NzYuIEFjdHVhbDogJyArICgtMTAyNCA8PCAxMCkpOyAKfSAKCgppZiAoLTIwNDggPDwgMTAgIT09IC0yMDk3MTUyKSB7IAogICRFUlJPUignIzMzMjogLTIwNDggPDwgMTAgPT09IC0yMDk3MTUyLiBBY3R1YWw6ICcgKyAoLTIwNDggPDwgMTApKTsgCn0gCgoKaWYgKC00MDk2IDw8IDEwICE9PSAtNDE5NDMwNCkgeyAKICAkRVJST1IoJyMzMzM6IC00MDk2IDw8IDEwID09PSAtNDE5NDMwNC4gQWN0dWFsOiAnICsgKC00MDk2IDw8IDEwKSk7IAp9IAoKCmlmICgtODE5MiA8PCAxMCAhPT0gLTgzODg2MDgpIHsgCiAgJEVSUk9SKCcjMzM0OiAtODE5MiA8PCAxMCA9PT0gLTgzODg2MDguIEFjdHVhbDogJyArICgtODE5MiA8PCAxMCkpOyAKfSAKCgppZiAoLTE2Mzg0IDw8IDEwICE9PSAtMTY3NzcyMTYpIHsgCiAgJEVSUk9SKCcjMzM1OiAtMTYzODQgPDwgMTAgPT09IC0xNjc3NzIxNi4gQWN0dWFsOiAnICsgKC0xNjM4NCA8PCAxMCkpOyAKfSAKCgppZiAoLTMyNzY4IDw8IDEwICE9PSAtMzM1NTQ0MzIpIHsgCiAgJEVSUk9SKCcjMzM2OiAtMzI3NjggPDwgMTAgPT09IC0zMzU1NDQzMi4gQWN0dWFsOiAnICsgKC0zMjc2OCA8PCAxMCkpOyAKfSAKCgppZiAoLTY1NTM2IDw8IDEwICE9PSAtNjcxMDg4NjQpIHsgCiAgJEVSUk9SKCcjMzM3OiAtNjU1MzYgPDwgMTAgPT09IC02NzEwODg2NC4gQWN0dWFsOiAnICsgKC02NTUzNiA8PCAxMCkpOyAKfSAKCgppZiAoLTEzMTA3MiA8PCAxMCAhPT0gLTEzNDIxNzcyOCkgeyAKICAkRVJST1IoJyMzMzg6IC0xMzEwNzIgPDwgMTAgPT09IC0xMzQyMTc3MjguIEFjdHVhbDogJyArICgtMTMxMDcyIDw8IDEwKSk7IAp9IAoKCmlmICgtMjYyMTQ0IDw8IDEwICE9PSAtMjY4NDM1NDU2KSB7IAogICRFUlJPUignIzMzOTogLTI2MjE0NCA8PCAxMCA9PT0gLTI2ODQzNTQ1Ni4gQWN0dWFsOiAnICsgKC0yNjIxNDQgPDwgMTApKTsgCn0gCgoKaWYgKC01MjQyODggPDwgMTAgIT09IC01MzY4NzA5MTIpIHsgCiAgJEVSUk9SKCcjMzQwOiAtNTI0Mjg4IDw8IDEwID09PSAtNTM2ODcwOTEyLiBBY3R1YWw6ICcgKyAoLTUyNDI4OCA8PCAxMCkpOyAKfSAKCgppZiAoLTEwNDg1NzYgPDwgMTAgIT09IC0xMDczNzQxODI0KSB7IAogICRFUlJPUignIzM0MTogLTEwNDg1NzYgPDwgMTAgPT09IC0xMDczNzQxODI0LiBBY3R1YWw6ICcgKyAoLTEwNDg1NzYgPDwgMTApKTsgCn0gCgoKaWYgKC0yMDk3MTUyIDw8IDEwICE9PSAtMjE0NzQ4MzY0OCkgeyAKICAkRVJST1IoJyMzNDI6IC0yMDk3MTUyIDw8IDEwID09PSAtMjE0NzQ4MzY0OC4gQWN0dWFsOiAnICsgKC0yMDk3MTUyIDw8IDEwKSk7IAp9IAoKCmlmICgtNDE5NDMwNCA8PCAxMCAhPT0gMCkgeyAKICAkRVJST1IoJyMzNDM6IC00MTk0MzA0IDw8IDEwID09PSAwLiBBY3R1YWw6ICcgKyAoLTQxOTQzMDQgPDwgMTApKTsgCn0gCgoKaWYgKC04Mzg4NjA4IDw8IDEwICE9PSAwKSB7IAogICRFUlJPUignIzM0NDogLTgzODg2MDggPDwgMTAgPT09IDAuIEFjdHVhbDogJyArICgtODM4ODYwOCA8PCAxMCkpOyAKfSAKCgppZiAoLTE2Nzc3MjE2IDw8IDEwICE9PSAwKSB7IAogICRFUlJPUignIzM0NTogLTE2Nzc3MjE2IDw8IDEwID09PSAwLiBBY3R1YWw6ICcgKyAoLTE2Nzc3MjE2IDw8IDEwKSk7IAp9IAoKCmlmICgtMzM1NTQ0MzIgPDwgMTAgIT09IDApIHsgCiAgJEVSUk9SKCcjMzQ2OiAtMzM1NTQ0MzIgPDwgMTAgPT09IDAuIEFjdHVhbDogJyArICgtMzM1NTQ0MzIgPDwgMTApKTsgCn0gCgoKaWYgKC02NzEwODg2NCA8PCAxMCAhPT0gMCkgeyAKICAkRVJST1IoJyMzNDc6IC02NzEwODg2NCA8PCAxMCA9PT0gMC4gQWN0dWFsOiAnICsgKC02NzEwODg2NCA8PCAxMCkpOyAKfSAKCgppZiAoLTEzNDIxNzcyOCA8PCAxMCAhPT0gMCkgeyAKICAkRVJST1IoJyMzNDg6IC0xMzQyMTc3MjggPDwgMTAgPT09IDAuIEFjdHVhbDogJyArICgtMTM0MjE3NzI4IDw8IDEwKSk7IAp9IAoKCmlmICgtMjY4NDM1NDU2IDw8IDEwICE9PSAwKSB7IAogICRFUlJPUignIzM0OTogLTI2ODQzNTQ1NiA8PCAxMCA9PT0gMC4gQWN0dWFsOiAnICsgKC0yNjg0MzU0NTYgPDwgMTApKTsgCn0gCgoKaWYgKC01MzY4NzA5MTIgPDwgMTAgIT09IDApIHsgCiAgJEVSUk9SKCcjMzUwOiAtNTM2ODcwOTEyIDw8IDEwID09PSAwLiBBY3R1YWw6ICcgKyAoLTUzNjg3MDkxMiA8PCAxMCkpOyAKfSAKCgppZiAoLTEwNzM3NDE4MjQgPDwgMTAgIT09IDApIHsgCiAgJEVSUk9SKCcjMzUxOiAtMTA3Mzc0MTgyNCA8PCAxMCA9PT0gMC4gQWN0dWFsOiAnICsgKC0xMDczNzQxODI0IDw8IDEwKSk7IAp9IAoKCmlmICgtMjE0NzQ4MzY0OCA8PCAxMCAhPT0gMCkgeyAKICAkRVJST1IoJyMzNTI6IC0yMTQ3NDgzNjQ4IDw8IDEwID09PSAwLiBBY3R1YWw6ICcgKyAoLTIxNDc0ODM2NDggPDwgMTApKTsgCn0gCgoKaWYgKC0xIDw8IDExICE9PSAtMjA0OCkgeyAKICAkRVJST1IoJyMzNTM6IC0xIDw8IDExID09PSAtMjA0OC4gQWN0dWFsOiAnICsgKC0xIDw8IDExKSk7IAp9IAoKCmlmICgtMiA8PCAxMSAhPT0gLTQwOTYpIHsgCiAgJEVSUk9SKCcjMzU0OiAtMiA8PCAxMSA9PT0gLTQwOTYuIEFjdHVhbDogJyArICgtMiA8PCAxMSkpOyAKfSAKCgppZiAoLTQgPDwgMTEgIT09IC04MTkyKSB7IAogICRFUlJPUignIzM1NTogLTQgPDwgMTEgPT09IC04MTkyLiBBY3R1YWw6ICcgKyAoLTQgPDwgMTEpKTsgCn0gCgoKaWYgKC04IDw8IDExICE9PSAtMTYzODQpIHsgCiAgJEVSUk9SKCcjMzU2OiAtOCA8PCAxMSA9PT0gLTE2Mzg0LiBBY3R1YWw6ICcgKyAoLTggPDwgMTEpKTsgCn0gCgoKaWYgKC0xNiA8PCAxMSAhPT0gLTMyNzY4KSB7IAogICRFUlJPUignIzM1NzogLTE2IDw8IDExID09PSAtMzI3NjguIEFjdHVhbDogJyArICgtMTYgPDwgMTEpKTsgCn0gCgoKaWYgKC0zMiA8PCAxMSAhPT0gLTY1NTM2KSB7IAogICRFUlJPUignIzM1ODogLTMyIDw8IDExID09PSAtNjU1MzYuIEFjdHVhbDogJyArICgtMzIgPDwgMTEpKTsgCn0gCgoKaWYgKC02NCA8PCAxMSAhPT0gLTEzMTA3MikgeyAKICAkRVJST1IoJyMzNTk6IC02NCA8PCAxMSA9PT0gLTEzMTA3Mi4gQWN0dWFsOiAnICsgKC02NCA8PCAxMSkpOyAKfSAKCgppZiAoLTEyOCA8PCAxMSAhPT0gLTI2MjE0NCkgeyAKICAkRVJST1IoJyMzNjA6IC0xMjggPDwgMTEgPT09IC0yNjIxNDQuIEFjdHVhbDogJyArICgtMTI4IDw8IDExKSk7IAp9IAoKCmlmICgtMjU2IDw8IDExICE9PSAtNTI0Mjg4KSB7IAogICRFUlJPUignIzM2MTogLTI1NiA8PCAxMSA9PT0gLTUyNDI4OC4gQWN0dWFsOiAnICsgKC0yNTYgPDwgMTEpKTsgCn0gCgoKaWYgKC01MTIgPDwgMTEgIT09IC0xMDQ4NTc2KSB7IAogICRFUlJPUignIzM2MjogLTUxMiA8PCAxMSA9PT0gLTEwNDg1NzYuIEFjdHVhbDogJyArICgtNTEyIDw8IDExKSk7IAp9IAoKCmlmICgtMTAyNCA8PCAxMSAhPT0gLTIwOTcxNTIpIHsgCiAgJEVSUk9SKCcjMzYzOiAtMTAyNCA8PCAxMSA9PT0gLTIwOTcxNTIuIEFjdHVhbDogJyArICgtMTAyNCA8PCAxMSkpOyAKfSAKCgppZiAoLTIwNDggPDwgMTEgIT09IC00MTk0MzA0KSB7IAogICRFUlJPUignIzM2NDogLTIwNDggPDwgMTEgPT09IC00MTk0MzA0LiBBY3R1YWw6ICcgKyAoLTIwNDggPDwgMTEpKTsgCn0gCgoKaWYgKC00MDk2IDw8IDExICE9PSAtODM4ODYwOCkgeyAKICAkRVJST1IoJyMzNjU6IC00MDk2IDw8IDExID09PSAtODM4ODYwOC4gQWN0dWFsOiAnICsgKC00MDk2IDw8IDExKSk7IAp9IAoKCmlmICgtODE5MiA8PCAxMSAhPT0gLTE2Nzc3MjE2KSB7IAogICRFUlJPUignIzM2NjogLTgxOTIgPDwgMTEgPT09IC0xNjc3NzIxNi4gQWN0dWFsOiAnICsgKC04MTkyIDw8IDExKSk7IAp9IAoKCmlmICgtMTYzODQgPDwgMTEgIT09IC0zMzU1NDQzMikgeyAKICAkRVJST1IoJyMzNjc6IC0xNjM4NCA8PCAxMSA9PT0gLTMzNTU0NDMyLiBBY3R1YWw6ICcgKyAoLTE2Mzg0IDw8IDExKSk7IAp9IAoKCmlmICgtMzI3NjggPDwgMTEgIT09IC02NzEwODg2NCkgeyAKICAkRVJST1IoJyMzNjg6IC0zMjc2OCA8PCAxMSA9PT0gLTY3MTA4ODY0LiBBY3R1YWw6ICcgKyAoLTMyNzY4IDw8IDExKSk7IAp9IAoKCmlmICgtNjU1MzYgPDwgMTEgIT09IC0xMzQyMTc3MjgpIHsgCiAgJEVSUk9SKCcjMzY5OiAtNjU1MzYgPDwgMTEgPT09IC0xMzQyMTc3MjguIEFjdHVhbDogJyArICgtNjU1MzYgPDwgMTEpKTsgCn0gCgoKaWYgKC0xMzEwNzIgPDwgMTEgIT09IC0yNjg0MzU0NTYpIHsgCiAgJEVSUk9SKCcjMzcwOiAtMTMxMDcyIDw8IDExID09PSAtMjY4NDM1NDU2LiBBY3R1YWw6ICcgKyAoLTEzMTA3MiA8PCAxMSkpOyAKfSAKCgppZiAoLTI2MjE0NCA8PCAxMSAhPT0gLTUzNjg3MDkxMikgeyAKICAkRVJST1IoJyMzNzE6IC0yNjIxNDQgPDwgMTEgPT09IC01MzY4NzA5MTIuIEFjdHVhbDogJyArICgtMjYyMTQ0IDw8IDExKSk7IAp9IAoKCmlmICgtNTI0Mjg4IDw8IDExICE9PSAtMTA3Mzc0MTgyNCkgeyAKICAkRVJST1IoJyMzNzI6IC01MjQyODggPDwgMTEgPT09IC0xMDczNzQxODI0LiBBY3R1YWw6ICcgKyAoLTUyNDI4OCA8PCAxMSkpOyAKfSAKCgppZiAoLTEwNDg1NzYgPDwgMTEgIT09IC0yMTQ3NDgzNjQ4KSB7IAogICRFUlJPUignIzM3MzogLTEwNDg1NzYgPDwgMTEgPT09IC0yMTQ3NDgzNjQ4LiBBY3R1YWw6ICcgKyAoLTEwNDg1NzYgPDwgMTEpKTsgCn0gCgoKaWYgKC0yMDk3MTUyIDw8IDExICE9PSAwKSB7IAogICRFUlJPUignIzM3NDogLTIwOTcxNTIgPDwgMTEgPT09IDAuIEFjdHVhbDogJyArICgtMjA5NzE1MiA8PCAxMSkpOyAKfSAKCgppZiAoLTQxOTQzMDQgPDwgMTEgIT09IDApIHsgCiAgJEVSUk9SKCcjMzc1OiAtNDE5NDMwNCA8PCAxMSA9PT0gMC4gQWN0dWFsOiAnICsgKC00MTk0MzA0IDw8IDExKSk7IAp9IAoKCmlmICgtODM4ODYwOCA8PCAxMSAhPT0gMCkgeyAKICAkRVJST1IoJyMzNzY6IC04Mzg4NjA4IDw8IDExID09PSAwLiBBY3R1YWw6ICcgKyAoLTgzODg2MDggPDwgMTEpKTsgCn0gCgoKaWYgKC0xNjc3NzIxNiA8PCAxMSAhPT0gMCkgeyAKICAkRVJST1IoJyMzNzc6IC0xNjc3NzIxNiA8PCAxMSA9PT0gMC4gQWN0dWFsOiAnICsgKC0xNjc3NzIxNiA8PCAxMSkpOyAKfSAKCgppZiAoLTMzNTU0NDMyIDw8IDExICE9PSAwKSB7IAogICRFUlJPUignIzM3ODogLTMzNTU0NDMyIDw8IDExID09PSAwLiBBY3R1YWw6ICcgKyAoLTMzNTU0NDMyIDw8IDExKSk7IAp9IAoKCmlmICgtNjcxMDg4NjQgPDwgMTEgIT09IDApIHsgCiAgJEVSUk9SKCcjMzc5OiAtNjcxMDg4NjQgPDwgMTEgPT09IDAuIEFjdHVhbDogJyArICgtNjcxMDg4NjQgPDwgMTEpKTsgCn0gCgoKaWYgKC0xMzQyMTc3MjggPDwgMTEgIT09IDApIHsgCiAgJEVSUk9SKCcjMzgwOiAtMTM0MjE3NzI4IDw8IDExID09PSAwLiBBY3R1YWw6ICcgKyAoLTEzNDIxNzcyOCA8PCAxMSkpOyAKfSAKCgppZiAoLTI2ODQzNTQ1NiA8PCAxMSAhPT0gMCkgeyAKICAkRVJST1IoJyMzODE6IC0yNjg0MzU0NTYgPDwgMTEgPT09IDAuIEFjdHVhbDogJyArICgtMjY4NDM1NDU2IDw8IDExKSk7IAp9IAoKCmlmICgtNTM2ODcwOTEyIDw8IDExICE9PSAwKSB7IAogICRFUlJPUignIzM4MjogLTUzNjg3MDkxMiA8PCAxMSA9PT0gMC4gQWN0dWFsOiAnICsgKC01MzY4NzA5MTIgPDwgMTEpKTsgCn0gCgoKaWYgKC0xMDczNzQxODI0IDw8IDExICE9PSAwKSB7IAogICRFUlJPUignIzM4MzogLTEwNzM3NDE4MjQgPDwgMTEgPT09IDAuIEFjdHVhbDogJyArICgtMTA3Mzc0MTgyNCA8PCAxMSkpOyAKfSAKCgppZiAoLTIxNDc0ODM2NDggPDwgMTEgIT09IDApIHsgCiAgJEVSUk9SKCcjMzg0OiAtMjE0NzQ4MzY0OCA8PCAxMSA9PT0gMC4gQWN0dWFsOiAnICsgKC0yMTQ3NDgzNjQ4IDw8IDExKSk7IAp9IAoKCmlmICgtMSA8PCAxMiAhPT0gLTQwOTYpIHsgCiAgJEVSUk9SKCcjMzg1OiAtMSA8PCAxMiA9PT0gLTQwOTYuIEFjdHVhbDogJyArICgtMSA8PCAxMikpOyAKfSAKCgppZiAoLTIgPDwgMTIgIT09IC04MTkyKSB7IAogICRFUlJPUignIzM4NjogLTIgPDwgMTIgPT09IC04MTkyLiBBY3R1YWw6ICcgKyAoLTIgPDwgMTIpKTsgCn0gCgoKaWYgKC00IDw8IDEyICE9PSAtMTYzODQpIHsgCiAgJEVSUk9SKCcjMzg3OiAtNCA8PCAxMiA9PT0gLTE2Mzg0LiBBY3R1YWw6ICcgKyAoLTQgPDwgMTIpKTsgCn0gCgoKaWYgKC04IDw8IDEyICE9PSAtMzI3NjgpIHsgCiAgJEVSUk9SKCcjMzg4OiAtOCA8PCAxMiA9PT0gLTMyNzY4LiBBY3R1YWw6ICcgKyAoLTggPDwgMTIpKTsgCn0gCgoKaWYgKC0xNiA8PCAxMiAhPT0gLTY1NTM2KSB7IAogICRFUlJPUignIzM4OTogLTE2IDw8IDEyID09PSAtNjU1MzYuIEFjdHVhbDogJyArICgtMTYgPDwgMTIpKTsgCn0gCgoKaWYgKC0zMiA8PCAxMiAhPT0gLTEzMTA3MikgeyAKICAkRVJST1IoJyMzOTA6IC0zMiA8PCAxMiA9PT0gLTEzMTA3Mi4gQWN0dWFsOiAnICsgKC0zMiA8PCAxMikpOyAKfSAKCgppZiAoLTY0IDw8IDEyICE9PSAtMjYyMTQ0KSB7IAogICRFUlJPUignIzM5MTogLTY0IDw8IDEyID09PSAtMjYyMTQ0LiBBY3R1YWw6ICcgKyAoLTY0IDw8IDEyKSk7IAp9IAoKCmlmICgtMTI4IDw8IDEyICE9PSAtNTI0Mjg4KSB7IAogICRFUlJPUignIzM5MjogLTEyOCA8PCAxMiA9PT0gLTUyNDI4OC4gQWN0dWFsOiAnICsgKC0xMjggPDwgMTIpKTsgCn0gCgoKaWYgKC0yNTYgPDwgMTIgIT09IC0xMDQ4NTc2KSB7IAogICRFUlJPUignIzM5MzogLTI1NiA8PCAxMiA9PT0gLTEwNDg1NzYuIEFjdHVhbDogJyArICgtMjU2IDw8IDEyKSk7IAp9IAoKCmlmICgtNTEyIDw8IDEyICE9PSAtMjA5NzE1MikgeyAKICAkRVJST1IoJyMzOTQ6IC01MTIgPDwgMTIgPT09IC0yMDk3MTUyLiBBY3R1YWw6ICcgKyAoLTUxMiA8PCAxMikpOyAKfSAKCgppZiAoLTEwMjQgPDwgMTIgIT09IC00MTk0MzA0KSB7IAogICRFUlJPUignIzM5NTogLTEwMjQgPDwgMTIgPT09IC00MTk0MzA0LiBBY3R1YWw6ICcgKyAoLTEwMjQgPDwgMTIpKTsgCn0gCgoKaWYgKC0yMDQ4IDw8IDEyICE9PSAtODM4ODYwOCkgeyAKICAkRVJST1IoJyMzOTY6IC0yMDQ4IDw8IDEyID09PSAtODM4ODYwOC4gQWN0dWFsOiAnICsgKC0yMDQ4IDw8IDEyKSk7IAp9IAoKCmlmICgtNDA5NiA8PCAxMiAhPT0gLTE2Nzc3MjE2KSB7IAogICRFUlJPUignIzM5NzogLTQwOTYgPDwgMTIgPT09IC0xNjc3NzIxNi4gQWN0dWFsOiAnICsgKC00MDk2IDw8IDEyKSk7IAp9IAoKCmlmICgtODE5MiA8PCAxMiAhPT0gLTMzNTU0NDMyKSB7IAogICRFUlJPUignIzM5ODogLTgxOTIgPDwgMTIgPT09IC0zMzU1NDQzMi4gQWN0dWFsOiAnICsgKC04MTkyIDw8IDEyKSk7IAp9IAoKCmlmICgtMTYzODQgPDwgMTIgIT09IC02NzEwODg2NCkgeyAKICAkRVJST1IoJyMzOTk6IC0xNjM4NCA8PCAxMiA9PT0gLTY3MTA4ODY0LiBBY3R1YWw6ICcgKyAoLTE2Mzg0IDw8IDEyKSk7IAp9IAoKCmlmICgtMzI3NjggPDwgMTIgIT09IC0xMzQyMTc3MjgpIHsgCiAgJEVSUk9SKCcjNDAwOiAtMzI3NjggPDwgMTIgPT09IC0xMzQyMTc3MjguIEFjdHVhbDogJyArICgtMzI3NjggPDwgMTIpKTsgCn0gCgoKaWYgKC02NTUzNiA8PCAxMiAhPT0gLTI2ODQzNTQ1NikgeyAKICAkRVJST1IoJyM0MDE6IC02NTUzNiA8PCAxMiA9PT0gLTI2ODQzNTQ1Ni4gQWN0dWFsOiAnICsgKC02NTUzNiA8PCAxMikpOyAKfSAKCgppZiAoLTEzMTA3MiA8PCAxMiAhPT0gLTUzNjg3MDkxMikgeyAKICAkRVJST1IoJyM0MDI6IC0xMzEwNzIgPDwgMTIgPT09IC01MzY4NzA5MTIuIEFjdHVhbDogJyArICgtMTMxMDcyIDw8IDEyKSk7IAp9IAoKCmlmICgtMjYyMTQ0IDw8IDEyICE9PSAtMTA3Mzc0MTgyNCkgeyAKICAkRVJST1IoJyM0MDM6IC0yNjIxNDQgPDwgMTIgPT09IC0xMDczNzQxODI0LiBBY3R1YWw6ICcgKyAoLTI2MjE0NCA8PCAxMikpOyAKfSAKCgppZiAoLTUyNDI4OCA8PCAxMiAhPT0gLTIxNDc0ODM2NDgpIHsgCiAgJEVSUk9SKCcjNDA0OiAtNTI0Mjg4IDw8IDEyID09PSAtMjE0NzQ4MzY0OC4gQWN0dWFsOiAnICsgKC01MjQyODggPDwgMTIpKTsgCn0gCgoKaWYgKC0xMDQ4NTc2IDw8IDEyICE9PSAwKSB7IAogICRFUlJPUignIzQwNTogLTEwNDg1NzYgPDwgMTIgPT09IDAuIEFjdHVhbDogJyArICgtMTA0ODU3NiA8PCAxMikpOyAKfSAKCgppZiAoLTIwOTcxNTIgPDwgMTIgIT09IDApIHsgCiAgJEVSUk9SKCcjNDA2OiAtMjA5NzE1MiA8PCAxMiA9PT0gMC4gQWN0dWFsOiAnICsgKC0yMDk3MTUyIDw8IDEyKSk7IAp9IAoKCmlmICgtNDE5NDMwNCA8PCAxMiAhPT0gMCkgeyAKICAkRVJST1IoJyM0MDc6IC00MTk0MzA0IDw8IDEyID09PSAwLiBBY3R1YWw6ICcgKyAoLTQxOTQzMDQgPDwgMTIpKTsgCn0gCgoKaWYgKC04Mzg4NjA4IDw8IDEyICE9PSAwKSB7IAogICRFUlJPUignIzQwODogLTgzODg2MDggPDwgMTIgPT09IDAuIEFjdHVhbDogJyArICgtODM4ODYwOCA8PCAxMikpOyAKfSAKCgppZiAoLTE2Nzc3MjE2IDw8IDEyICE9PSAwKSB7IAogICRFUlJPUignIzQwOTogLTE2Nzc3MjE2IDw8IDEyID09PSAwLiBBY3R1YWw6ICcgKyAoLTE2Nzc3MjE2IDw8IDEyKSk7IAp9IAoKCmlmICgtMzM1NTQ0MzIgPDwgMTIgIT09IDApIHsgCiAgJEVSUk9SKCcjNDEwOiAtMzM1NTQ0MzIgPDwgMTIgPT09IDAuIEFjdHVhbDogJyArICgtMzM1NTQ0MzIgPDwgMTIpKTsgCn0gCgoKaWYgKC02NzEwODg2NCA8PCAxMiAhPT0gMCkgeyAKICAkRVJST1IoJyM0MTE6IC02NzEwODg2NCA8PCAxMiA9PT0gMC4gQWN0dWFsOiAnICsgKC02NzEwODg2NCA8PCAxMikpOyAKfSAKCgppZiAoLTEzNDIxNzcyOCA8PCAxMiAhPT0gMCkgeyAKICAkRVJST1IoJyM0MTI6IC0xMzQyMTc3MjggPDwgMTIgPT09IDAuIEFjdHVhbDogJyArICgtMTM0MjE3NzI4IDw8IDEyKSk7IAp9IAoKCmlmICgtMjY4NDM1NDU2IDw8IDEyICE9PSAwKSB7IAogICRFUlJPUignIzQxMzogLTI2ODQzNTQ1NiA8PCAxMiA9PT0gMC4gQWN0dWFsOiAnICsgKC0yNjg0MzU0NTYgPDwgMTIpKTsgCn0gCgoKaWYgKC01MzY4NzA5MTIgPDwgMTIgIT09IDApIHsgCiAgJEVSUk9SKCcjNDE0OiAtNTM2ODcwOTEyIDw8IDEyID09PSAwLiBBY3R1YWw6ICcgKyAoLTUzNjg3MDkxMiA8PCAxMikpOyAKfSAKCgppZiAoLTEwNzM3NDE4MjQgPDwgMTIgIT09IDApIHsgCiAgJEVSUk9SKCcjNDE1OiAtMTA3Mzc0MTgyNCA8PCAxMiA9PT0gMC4gQWN0dWFsOiAnICsgKC0xMDczNzQxODI0IDw8IDEyKSk7IAp9IAoKCmlmICgtMjE0NzQ4MzY0OCA8PCAxMiAhPT0gMCkgeyAKICAkRVJST1IoJyM0MTY6IC0yMTQ3NDgzNjQ4IDw8IDEyID09PSAwLiBBY3R1YWw6ICcgKyAoLTIxNDc0ODM2NDggPDwgMTIpKTsgCn0gCgoKaWYgKC0xIDw8IDEzICE9PSAtODE5MikgeyAKICAkRVJST1IoJyM0MTc6IC0xIDw8IDEzID09PSAtODE5Mi4gQWN0dWFsOiAnICsgKC0xIDw8IDEzKSk7IAp9IAoKCmlmICgtMiA8PCAxMyAhPT0gLTE2Mzg0KSB7IAogICRFUlJPUignIzQxODogLTIgPDwgMTMgPT09IC0xNjM4NC4gQWN0dWFsOiAnICsgKC0yIDw8IDEzKSk7IAp9IAoKCmlmICgtNCA8PCAxMyAhPT0gLTMyNzY4KSB7IAogICRFUlJPUignIzQxOTogLTQgPDwgMTMgPT09IC0zMjc2OC4gQWN0dWFsOiAnICsgKC00IDw8IDEzKSk7IAp9IAoKCmlmICgtOCA8PCAxMyAhPT0gLTY1NTM2KSB7IAogICRFUlJPUignIzQyMDogLTggPDwgMTMgPT09IC02NTUzNi4gQWN0dWFsOiAnICsgKC04IDw8IDEzKSk7IAp9IAoKCmlmICgtMTYgPDwgMTMgIT09IC0xMzEwNzIpIHsgCiAgJEVSUk9SKCcjNDIxOiAtMTYgPDwgMTMgPT09IC0xMzEwNzIuIEFjdHVhbDogJyArICgtMTYgPDwgMTMpKTsgCn0gCgoKaWYgKC0zMiA8PCAxMyAhPT0gLTI2MjE0NCkgeyAKICAkRVJST1IoJyM0MjI6IC0zMiA8PCAxMyA9PT0gLTI2MjE0NC4gQWN0dWFsOiAnICsgKC0zMiA8PCAxMykpOyAKfSAKCgppZiAoLTY0IDw8IDEzICE9PSAtNTI0Mjg4KSB7IAogICRFUlJPUignIzQyMzogLTY0IDw8IDEzID09PSAtNTI0Mjg4LiBBY3R1YWw6ICcgKyAoLTY0IDw8IDEzKSk7IAp9IAoKCmlmICgtMTI4IDw8IDEzICE9PSAtMTA0ODU3NikgeyAKICAkRVJST1IoJyM0MjQ6IC0xMjggPDwgMTMgPT09IC0xMDQ4NTc2LiBBY3R1YWw6ICcgKyAoLTEyOCA8PCAxMykpOyAKfSAKCgppZiAoLTI1NiA8PCAxMyAhPT0gLTIwOTcxNTIpIHsgCiAgJEVSUk9SKCcjNDI1OiAtMjU2IDw8IDEzID09PSAtMjA5NzE1Mi4gQWN0dWFsOiAnICsgKC0yNTYgPDwgMTMpKTsgCn0gCgoKaWYgKC01MTIgPDwgMTMgIT09IC00MTk0MzA0KSB7IAogICRFUlJPUignIzQyNjogLTUxMiA8PCAxMyA9PT0gLTQxOTQzMDQuIEFjdHVhbDogJyArICgtNTEyIDw8IDEzKSk7IAp9IAoKCmlmICgtMTAyNCA8PCAxMyAhPT0gLTgzODg2MDgpIHsgCiAgJEVSUk9SKCcjNDI3OiAtMTAyNCA8PCAxMyA9PT0gLTgzODg2MDguIEFjdHVhbDogJyArICgtMTAyNCA8PCAxMykpOyAKfSAKCgppZiAoLTIwNDggPDwgMTMgIT09IC0xNjc3NzIxNikgeyAKICAkRVJST1IoJyM0Mjg6IC0yMDQ4IDw8IDEzID09PSAtMTY3NzcyMTYuIEFjdHVhbDogJyArICgtMjA0OCA8PCAxMykpOyAKfSAKCgppZiAoLTQwOTYgPDwgMTMgIT09IC0zMzU1NDQzMikgeyAKICAkRVJST1IoJyM0Mjk6IC00MDk2IDw8IDEzID09PSAtMzM1NTQ0MzIuIEFjdHVhbDogJyArICgtNDA5NiA8PCAxMykpOyAKfSAKCgppZiAoLTgxOTIgPDwgMTMgIT09IC02NzEwODg2NCkgeyAKICAkRVJST1IoJyM0MzA6IC04MTkyIDw8IDEzID09PSAtNjcxMDg4NjQuIEFjdHVhbDogJyArICgtODE5MiA8PCAxMykpOyAKfSAKCgppZiAoLTE2Mzg0IDw8IDEzICE9PSAtMTM0MjE3NzI4KSB7IAogICRFUlJPUignIzQzMTogLTE2Mzg0IDw8IDEzID09PSAtMTM0MjE3NzI4LiBBY3R1YWw6ICcgKyAoLTE2Mzg0IDw8IDEzKSk7IAp9IAoKCmlmICgtMzI3NjggPDwgMTMgIT09IC0yNjg0MzU0NTYpIHsgCiAgJEVSUk9SKCcjNDMyOiAtMzI3NjggPDwgMTMgPT09IC0yNjg0MzU0NTYuIEFjdHVhbDogJyArICgtMzI3NjggPDwgMTMpKTsgCn0gCgoKaWYgKC02NTUzNiA8PCAxMyAhPT0gLTUzNjg3MDkxMikgeyAKICAkRVJST1IoJyM0MzM6IC02NTUzNiA8PCAxMyA9PT0gLTUzNjg3MDkxMi4gQWN0dWFsOiAnICsgKC02NTUzNiA8PCAxMykpOyAKfSAKCgppZiAoLTEzMTA3MiA8PCAxMyAhPT0gLTEwNzM3NDE4MjQpIHsgCiAgJEVSUk9SKCcjNDM0OiAtMTMxMDcyIDw8IDEzID09PSAtMTA3Mzc0MTgyNC4gQWN0dWFsOiAnICsgKC0xMzEwNzIgPDwgMTMpKTsgCn0gCgoKaWYgKC0yNjIxNDQgPDwgMTMgIT09IC0yMTQ3NDgzNjQ4KSB7IAogICRFUlJPUignIzQzNTogLTI2MjE0NCA8PCAxMyA9PT0gLTIxNDc0ODM2NDguIEFjdHVhbDogJyArICgtMjYyMTQ0IDw8IDEzKSk7IAp9IAoKCmlmICgtNTI0Mjg4IDw8IDEzICE9PSAwKSB7IAogICRFUlJPUignIzQzNjogLTUyNDI4OCA8PCAxMyA9PT0gMC4gQWN0dWFsOiAnICsgKC01MjQyODggPDwgMTMpKTsgCn0gCgoKaWYgKC0xMDQ4NTc2IDw8IDEzICE9PSAwKSB7IAogICRFUlJPUignIzQzNzogLTEwNDg1NzYgPDwgMTMgPT09IDAuIEFjdHVhbDogJyArICgtMTA0ODU3NiA8PCAxMykpOyAKfSAKCgppZiAoLTIwOTcxNTIgPDwgMTMgIT09IDApIHsgCiAgJEVSUk9SKCcjNDM4OiAtMjA5NzE1MiA8PCAxMyA9PT0gMC4gQWN0dWFsOiAnICsgKC0yMDk3MTUyIDw8IDEzKSk7IAp9IAoKCmlmICgtNDE5NDMwNCA8PCAxMyAhPT0gMCkgeyAKICAkRVJST1IoJyM0Mzk6IC00MTk0MzA0IDw8IDEzID09PSAwLiBBY3R1YWw6ICcgKyAoLTQxOTQzMDQgPDwgMTMpKTsgCn0gCgoKaWYgKC04Mzg4NjA4IDw8IDEzICE9PSAwKSB7IAogICRFUlJPUignIzQ0MDogLTgzODg2MDggPDwgMTMgPT09IDAuIEFjdHVhbDogJyArICgtODM4ODYwOCA8PCAxMykpOyAKfSAKCgppZiAoLTE2Nzc3MjE2IDw8IDEzICE9PSAwKSB7IAogICRFUlJPUignIzQ0MTogLTE2Nzc3MjE2IDw8IDEzID09PSAwLiBBY3R1YWw6ICcgKyAoLTE2Nzc3MjE2IDw8IDEzKSk7IAp9IAoKCmlmICgtMzM1NTQ0MzIgPDwgMTMgIT09IDApIHsgCiAgJEVSUk9SKCcjNDQyOiAtMzM1NTQ0MzIgPDwgMTMgPT09IDAuIEFjdHVhbDogJyArICgtMzM1NTQ0MzIgPDwgMTMpKTsgCn0gCgoKaWYgKC02NzEwODg2NCA8PCAxMyAhPT0gMCkgeyAKICAkRVJST1IoJyM0NDM6IC02NzEwODg2NCA8PCAxMyA9PT0gMC4gQWN0dWFsOiAnICsgKC02NzEwODg2NCA8PCAxMykpOyAKfSAKCgppZiAoLTEzNDIxNzcyOCA8PCAxMyAhPT0gMCkgeyAKICAkRVJST1IoJyM0NDQ6IC0xMzQyMTc3MjggPDwgMTMgPT09IDAuIEFjdHVhbDogJyArICgtMTM0MjE3NzI4IDw8IDEzKSk7IAp9IAoKCmlmICgtMjY4NDM1NDU2IDw8IDEzICE9PSAwKSB7IAogICRFUlJPUignIzQ0NTogLTI2ODQzNTQ1NiA8PCAxMyA9PT0gMC4gQWN0dWFsOiAnICsgKC0yNjg0MzU0NTYgPDwgMTMpKTsgCn0gCgoKaWYgKC01MzY4NzA5MTIgPDwgMTMgIT09IDApIHsgCiAgJEVSUk9SKCcjNDQ2OiAtNTM2ODcwOTEyIDw8IDEzID09PSAwLiBBY3R1YWw6ICcgKyAoLTUzNjg3MDkxMiA8PCAxMykpOyAKfSAKCgppZiAoLTEwNzM3NDE4MjQgPDwgMTMgIT09IDApIHsgCiAgJEVSUk9SKCcjNDQ3OiAtMTA3Mzc0MTgyNCA8PCAxMyA9PT0gMC4gQWN0dWFsOiAnICsgKC0xMDczNzQxODI0IDw8IDEzKSk7IAp9IAoKCmlmICgtMjE0NzQ4MzY0OCA8PCAxMyAhPT0gMCkgeyAKICAkRVJST1IoJyM0NDg6IC0yMTQ3NDgzNjQ4IDw8IDEzID09PSAwLiBBY3R1YWw6ICcgKyAoLTIxNDc0ODM2NDggPDwgMTMpKTsgCn0gCgoKaWYgKC0xIDw8IDE0ICE9PSAtMTYzODQpIHsgCiAgJEVSUk9SKCcjNDQ5OiAtMSA8PCAxNCA9PT0gLTE2Mzg0LiBBY3R1YWw6ICcgKyAoLTEgPDwgMTQpKTsgCn0gCgoKaWYgKC0yIDw8IDE0ICE9PSAtMzI3NjgpIHsgCiAgJEVSUk9SKCcjNDUwOiAtMiA8PCAxNCA9PT0gLTMyNzY4LiBBY3R1YWw6ICcgKyAoLTIgPDwgMTQpKTsgCn0gCgoKaWYgKC00IDw8IDE0ICE9PSAtNjU1MzYpIHsgCiAgJEVSUk9SKCcjNDUxOiAtNCA8PCAxNCA9PT0gLTY1NTM2LiBBY3R1YWw6ICcgKyAoLTQgPDwgMTQpKTsgCn0gCgoKaWYgKC04IDw8IDE0ICE9PSAtMTMxMDcyKSB7IAogICRFUlJPUignIzQ1MjogLTggPDwgMTQgPT09IC0xMzEwNzIuIEFjdHVhbDogJyArICgtOCA8PCAxNCkpOyAKfSAKCgppZiAoLTE2IDw8IDE0ICE9PSAtMjYyMTQ0KSB7IAogICRFUlJPUignIzQ1MzogLTE2IDw8IDE0ID09PSAtMjYyMTQ0LiBBY3R1YWw6ICcgKyAoLTE2IDw8IDE0KSk7IAp9IAoKCmlmICgtMzIgPDwgMTQgIT09IC01MjQyODgpIHsgCiAgJEVSUk9SKCcjNDU0OiAtMzIgPDwgMTQgPT09IC01MjQyODguIEFjdHVhbDogJyArICgtMzIgPDwgMTQpKTsgCn0gCgoKaWYgKC02NCA8PCAxNCAhPT0gLTEwNDg1NzYpIHsgCiAgJEVSUk9SKCcjNDU1OiAtNjQgPDwgMTQgPT09IC0xMDQ4NTc2LiBBY3R1YWw6ICcgKyAoLTY0IDw8IDE0KSk7IAp9IAoKCmlmICgtMTI4IDw8IDE0ICE9PSAtMjA5NzE1MikgeyAKICAkRVJST1IoJyM0NTY6IC0xMjggPDwgMTQgPT09IC0yMDk3MTUyLiBBY3R1YWw6ICcgKyAoLTEyOCA8PCAxNCkpOyAKfSAKCgppZiAoLTI1NiA8PCAxNCAhPT0gLTQxOTQzMDQpIHsgCiAgJEVSUk9SKCcjNDU3OiAtMjU2IDw8IDE0ID09PSAtNDE5NDMwNC4gQWN0dWFsOiAnICsgKC0yNTYgPDwgMTQpKTsgCn0gCgoKaWYgKC01MTIgPDwgMTQgIT09IC04Mzg4NjA4KSB7IAogICRFUlJPUignIzQ1ODogLTUxMiA8PCAxNCA9PT0gLTgzODg2MDguIEFjdHVhbDogJyArICgtNTEyIDw8IDE0KSk7IAp9IAoKCmlmICgtMTAyNCA8PCAxNCAhPT0gLTE2Nzc3MjE2KSB7IAogICRFUlJPUignIzQ1OTogLTEwMjQgPDwgMTQgPT09IC0xNjc3NzIxNi4gQWN0dWFsOiAnICsgKC0xMDI0IDw8IDE0KSk7IAp9IAoKCmlmICgtMjA0OCA8PCAxNCAhPT0gLTMzNTU0NDMyKSB7IAogICRFUlJPUignIzQ2MDogLTIwNDggPDwgMTQgPT09IC0zMzU1NDQzMi4gQWN0dWFsOiAnICsgKC0yMDQ4IDw8IDE0KSk7IAp9IAoKCmlmICgtNDA5NiA8PCAxNCAhPT0gLTY3MTA4ODY0KSB7IAogICRFUlJPUignIzQ2MTogLTQwOTYgPDwgMTQgPT09IC02NzEwODg2NC4gQWN0dWFsOiAnICsgKC00MDk2IDw8IDE0KSk7IAp9IAoKCmlmICgtODE5MiA8PCAxNCAhPT0gLTEzNDIxNzcyOCkgeyAKICAkRVJST1IoJyM0NjI6IC04MTkyIDw8IDE0ID09PSAtMTM0MjE3NzI4LiBBY3R1YWw6ICcgKyAoLTgxOTIgPDwgMTQpKTsgCn0gCgoKaWYgKC0xNjM4NCA8PCAxNCAhPT0gLTI2ODQzNTQ1NikgeyAKICAkRVJST1IoJyM0NjM6IC0xNjM4NCA8PCAxNCA9PT0gLTI2ODQzNTQ1Ni4gQWN0dWFsOiAnICsgKC0xNjM4NCA8PCAxNCkpOyAKfSAKCgppZiAoLTMyNzY4IDw8IDE0ICE9PSAtNTM2ODcwOTEyKSB7IAogICRFUlJPUignIzQ2NDogLTMyNzY4IDw8IDE0ID09PSAtNTM2ODcwOTEyLiBBY3R1YWw6ICcgKyAoLTMyNzY4IDw8IDE0KSk7IAp9IAoKCmlmICgtNjU1MzYgPDwgMTQgIT09IC0xMDczNzQxODI0KSB7IAogICRFUlJPUignIzQ2NTogLTY1NTM2IDw8IDE0ID09PSAtMTA3Mzc0MTgyNC4gQWN0dWFsOiAnICsgKC02NTUzNiA8PCAxNCkpOyAKfSAKCgppZiAoLTEzMTA3MiA8PCAxNCAhPT0gLTIxNDc0ODM2NDgpIHsgCiAgJEVSUk9SKCcjNDY2OiAtMTMxMDcyIDw8IDE0ID09PSAtMjE0NzQ4MzY0OC4gQWN0dWFsOiAnICsgKC0xMzEwNzIgPDwgMTQpKTsgCn0gCgoKaWYgKC0yNjIxNDQgPDwgMTQgIT09IDApIHsgCiAgJEVSUk9SKCcjNDY3OiAtMjYyMTQ0IDw8IDE0ID09PSAwLiBBY3R1YWw6ICcgKyAoLTI2MjE0NCA8PCAxNCkpOyAKfSAKCgppZiAoLTUyNDI4OCA8PCAxNCAhPT0gMCkgeyAKICAkRVJST1IoJyM0Njg6IC01MjQyODggPDwgMTQgPT09IDAuIEFjdHVhbDogJyArICgtNTI0Mjg4IDw8IDE0KSk7IAp9IAoKCmlmICgtMTA0ODU3NiA8PCAxNCAhPT0gMCkgeyAKICAkRVJST1IoJyM0Njk6IC0xMDQ4NTc2IDw8IDE0ID09PSAwLiBBY3R1YWw6ICcgKyAoLTEwNDg1NzYgPDwgMTQpKTsgCn0gCgoKaWYgKC0yMDk3MTUyIDw8IDE0ICE9PSAwKSB7IAogICRFUlJPUignIzQ3MDogLTIwOTcxNTIgPDwgMTQgPT09IDAuIEFjdHVhbDogJyArICgtMjA5NzE1MiA8PCAxNCkpOyAKfSAKCgppZiAoLTQxOTQzMDQgPDwgMTQgIT09IDApIHsgCiAgJEVSUk9SKCcjNDcxOiAtNDE5NDMwNCA8PCAxNCA9PT0gMC4gQWN0dWFsOiAnICsgKC00MTk0MzA0IDw8IDE0KSk7IAp9IAoKCmlmICgtODM4ODYwOCA8PCAxNCAhPT0gMCkgeyAKICAkRVJST1IoJyM0NzI6IC04Mzg4NjA4IDw8IDE0ID09PSAwLiBBY3R1YWw6ICcgKyAoLTgzODg2MDggPDwgMTQpKTsgCn0gCgoKaWYgKC0xNjc3NzIxNiA8PCAxNCAhPT0gMCkgeyAKICAkRVJST1IoJyM0NzM6IC0xNjc3NzIxNiA8PCAxNCA9PT0gMC4gQWN0dWFsOiAnICsgKC0xNjc3NzIxNiA8PCAxNCkpOyAKfSAKCgppZiAoLTMzNTU0NDMyIDw8IDE0ICE9PSAwKSB7IAogICRFUlJPUignIzQ3NDogLTMzNTU0NDMyIDw8IDE0ID09PSAwLiBBY3R1YWw6ICcgKyAoLTMzNTU0NDMyIDw8IDE0KSk7IAp9IAoKCmlmICgtNjcxMDg4NjQgPDwgMTQgIT09IDApIHsgCiAgJEVSUk9SKCcjNDc1OiAtNjcxMDg4NjQgPDwgMTQgPT09IDAuIEFjdHVhbDogJyArICgtNjcxMDg4NjQgPDwgMTQpKTsgCn0gCgoKaWYgKC0xMzQyMTc3MjggPDwgMTQgIT09IDApIHsgCiAgJEVSUk9SKCcjNDc2OiAtMTM0MjE3NzI4IDw8IDE0ID09PSAwLiBBY3R1YWw6ICcgKyAoLTEzNDIxNzcyOCA8PCAxNCkpOyAKfSAKCgppZiAoLTI2ODQzNTQ1NiA8PCAxNCAhPT0gMCkgeyAKICAkRVJST1IoJyM0Nzc6IC0yNjg0MzU0NTYgPDwgMTQgPT09IDAuIEFjdHVhbDogJyArICgtMjY4NDM1NDU2IDw8IDE0KSk7IAp9IAoKCmlmICgtNTM2ODcwOTEyIDw8IDE0ICE9PSAwKSB7IAogICRFUlJPUignIzQ3ODogLTUzNjg3MDkxMiA8PCAxNCA9PT0gMC4gQWN0dWFsOiAnICsgKC01MzY4NzA5MTIgPDwgMTQpKTsgCn0gCgoKaWYgKC0xMDczNzQxODI0IDw8IDE0ICE9PSAwKSB7IAogICRFUlJPUignIzQ3OTogLTEwNzM3NDE4MjQgPDwgMTQgPT09IDAuIEFjdHVhbDogJyArICgtMTA3Mzc0MTgyNCA8PCAxNCkpOyAKfSAKCgppZiAoLTIxNDc0ODM2NDggPDwgMTQgIT09IDApIHsgCiAgJEVSUk9SKCcjNDgwOiAtMjE0NzQ4MzY0OCA8PCAxNCA9PT0gMC4gQWN0dWFsOiAnICsgKC0yMTQ3NDgzNjQ4IDw8IDE0KSk7IAp9IAoKCmlmICgtMSA8PCAxNSAhPT0gLTMyNzY4KSB7IAogICRFUlJPUignIzQ4MTogLTEgPDwgMTUgPT09IC0zMjc2OC4gQWN0dWFsOiAnICsgKC0xIDw8IDE1KSk7IAp9IAoKCmlmICgtMiA8PCAxNSAhPT0gLTY1NTM2KSB7IAogICRFUlJPUignIzQ4MjogLTIgPDwgMTUgPT09IC02NTUzNi4gQWN0dWFsOiAnICsgKC0yIDw8IDE1KSk7IAp9IAoKCmlmICgtNCA8PCAxNSAhPT0gLTEzMTA3MikgeyAKICAkRVJST1IoJyM0ODM6IC00IDw8IDE1ID09PSAtMTMxMDcyLiBBY3R1YWw6ICcgKyAoLTQgPDwgMTUpKTsgCn0gCgoKaWYgKC04IDw8IDE1ICE9PSAtMjYyMTQ0KSB7IAogICRFUlJPUignIzQ4NDogLTggPDwgMTUgPT09IC0yNjIxNDQuIEFjdHVhbDogJyArICgtOCA8PCAxNSkpOyAKfSAKCgppZiAoLTE2IDw8IDE1ICE9PSAtNTI0Mjg4KSB7IAogICRFUlJPUignIzQ4NTogLTE2IDw8IDE1ID09PSAtNTI0Mjg4LiBBY3R1YWw6ICcgKyAoLTE2IDw8IDE1KSk7IAp9IAoKCmlmICgtMzIgPDwgMTUgIT09IC0xMDQ4NTc2KSB7IAogICRFUlJPUignIzQ4NjogLTMyIDw8IDE1ID09PSAtMTA0ODU3Ni4gQWN0dWFsOiAnICsgKC0zMiA8PCAxNSkpOyAKfSAKCgppZiAoLTY0IDw8IDE1ICE9PSAtMjA5NzE1MikgeyAKICAkRVJST1IoJyM0ODc6IC02NCA8PCAxNSA9PT0gLTIwOTcxNTIuIEFjdHVhbDogJyArICgtNjQgPDwgMTUpKTsgCn0gCgoKaWYgKC0xMjggPDwgMTUgIT09IC00MTk0MzA0KSB7IAogICRFUlJPUignIzQ4ODogLTEyOCA8PCAxNSA9PT0gLTQxOTQzMDQuIEFjdHVhbDogJyArICgtMTI4IDw8IDE1KSk7IAp9IAoKCmlmICgtMjU2IDw8IDE1ICE9PSAtODM4ODYwOCkgeyAKICAkRVJST1IoJyM0ODk6IC0yNTYgPDwgMTUgPT09IC04Mzg4NjA4LiBBY3R1YWw6ICcgKyAoLTI1NiA8PCAxNSkpOyAKfSAKCgppZiAoLTUxMiA8PCAxNSAhPT0gLTE2Nzc3MjE2KSB7IAogICRFUlJPUignIzQ5MDogLTUxMiA8PCAxNSA9PT0gLTE2Nzc3MjE2LiBBY3R1YWw6ICcgKyAoLTUxMiA8PCAxNSkpOyAKfSAKCgppZiAoLTEwMjQgPDwgMTUgIT09IC0zMzU1NDQzMikgeyAKICAkRVJST1IoJyM0OTE6IC0xMDI0IDw8IDE1ID09PSAtMzM1NTQ0MzIuIEFjdHVhbDogJyArICgtMTAyNCA8PCAxNSkpOyAKfSAKCgppZiAoLTIwNDggPDwgMTUgIT09IC02NzEwODg2NCkgeyAKICAkRVJST1IoJyM0OTI6IC0yMDQ4IDw8IDE1ID09PSAtNjcxMDg4NjQuIEFjdHVhbDogJyArICgtMjA0OCA8PCAxNSkpOyAKfSAKCgppZiAoLTQwOTYgPDwgMTUgIT09IC0xMzQyMTc3MjgpIHsgCiAgJEVSUk9SKCcjNDkzOiAtNDA5NiA8PCAxNSA9PT0gLTEzNDIxNzcyOC4gQWN0dWFsOiAnICsgKC00MDk2IDw8IDE1KSk7IAp9IAoKCmlmICgtODE5MiA8PCAxNSAhPT0gLTI2ODQzNTQ1NikgeyAKICAkRVJST1IoJyM0OTQ6IC04MTkyIDw8IDE1ID09PSAtMjY4NDM1NDU2LiBBY3R1YWw6ICcgKyAoLTgxOTIgPDwgMTUpKTsgCn0gCgoKaWYgKC0xNjM4NCA8PCAxNSAhPT0gLTUzNjg3MDkxMikgeyAKICAkRVJST1IoJyM0OTU6IC0xNjM4NCA8PCAxNSA9PT0gLTUzNjg3MDkxMi4gQWN0dWFsOiAnICsgKC0xNjM4NCA8PCAxNSkpOyAKfSAKCgppZiAoLTMyNzY4IDw8IDE1ICE9PSAtMTA3Mzc0MTgyNCkgeyAKICAkRVJST1IoJyM0OTY6IC0zMjc2OCA8PCAxNSA9PT0gLTEwNzM3NDE4MjQuIEFjdHVhbDogJyArICgtMzI3NjggPDwgMTUpKTsgCn0gCgoKaWYgKC02NTUzNiA8PCAxNSAhPT0gLTIxNDc0ODM2NDgpIHsgCiAgJEVSUk9SKCcjNDk3OiAtNjU1MzYgPDwgMTUgPT09IC0yMTQ3NDgzNjQ4LiBBY3R1YWw6ICcgKyAoLTY1NTM2IDw8IDE1KSk7IAp9IAoKCmlmICgtMTMxMDcyIDw8IDE1ICE9PSAwKSB7IAogICRFUlJPUignIzQ5ODogLTEzMTA3MiA8PCAxNSA9PT0gMC4gQWN0dWFsOiAnICsgKC0xMzEwNzIgPDwgMTUpKTsgCn0gCgoKaWYgKC0yNjIxNDQgPDwgMTUgIT09IDApIHsgCiAgJEVSUk9SKCcjNDk5OiAtMjYyMTQ0IDw8IDE1ID09PSAwLiBBY3R1YWw6ICcgKyAoLTI2MjE0NCA8PCAxNSkpOyAKfSAKCgppZiAoLTUyNDI4OCA8PCAxNSAhPT0gMCkgeyAKICAkRVJST1IoJyM1MDA6IC01MjQyODggPDwgMTUgPT09IDAuIEFjdHVhbDogJyArICgtNTI0Mjg4IDw8IDE1KSk7IAp9IAoKCmlmICgtMTA0ODU3NiA8PCAxNSAhPT0gMCkgeyAKICAkRVJST1IoJyM1MDE6IC0xMDQ4NTc2IDw8IDE1ID09PSAwLiBBY3R1YWw6ICcgKyAoLTEwNDg1NzYgPDwgMTUpKTsgCn0gCgoKaWYgKC0yMDk3MTUyIDw8IDE1ICE9PSAwKSB7IAogICRFUlJPUignIzUwMjogLTIwOTcxNTIgPDwgMTUgPT09IDAuIEFjdHVhbDogJyArICgtMjA5NzE1MiA8PCAxNSkpOyAKfSAKCgppZiAoLTQxOTQzMDQgPDwgMTUgIT09IDApIHsgCiAgJEVSUk9SKCcjNTAzOiAtNDE5NDMwNCA8PCAxNSA9PT0gMC4gQWN0dWFsOiAnICsgKC00MTk0MzA0IDw8IDE1KSk7IAp9IAoKCmlmICgtODM4ODYwOCA8PCAxNSAhPT0gMCkgeyAKICAkRVJST1IoJyM1MDQ6IC04Mzg4NjA4IDw8IDE1ID09PSAwLiBBY3R1YWw6ICcgKyAoLTgzODg2MDggPDwgMTUpKTsgCn0gCgoKaWYgKC0xNjc3NzIxNiA8PCAxNSAhPT0gMCkgeyAKICAkRVJST1IoJyM1MDU6IC0xNjc3NzIxNiA8PCAxNSA9PT0gMC4gQWN0dWFsOiAnICsgKC0xNjc3NzIxNiA8PCAxNSkpOyAKfSAKCgppZiAoLTMzNTU0NDMyIDw8IDE1ICE9PSAwKSB7IAogICRFUlJPUignIzUwNjogLTMzNTU0NDMyIDw8IDE1ID09PSAwLiBBY3R1YWw6ICcgKyAoLTMzNTU0NDMyIDw8IDE1KSk7IAp9IAoKCmlmICgtNjcxMDg4NjQgPDwgMTUgIT09IDApIHsgCiAgJEVSUk9SKCcjNTA3OiAtNjcxMDg4NjQgPDwgMTUgPT09IDAuIEFjdHVhbDogJyArICgtNjcxMDg4NjQgPDwgMTUpKTsgCn0gCgoKaWYgKC0xMzQyMTc3MjggPDwgMTUgIT09IDApIHsgCiAgJEVSUk9SKCcjNTA4OiAtMTM0MjE3NzI4IDw8IDE1ID09PSAwLiBBY3R1YWw6ICcgKyAoLTEzNDIxNzcyOCA8PCAxNSkpOyAKfSAKCgppZiAoLTI2ODQzNTQ1NiA8PCAxNSAhPT0gMCkgeyAKICAkRVJST1IoJyM1MDk6IC0yNjg0MzU0NTYgPDwgMTUgPT09IDAuIEFjdHVhbDogJyArICgtMjY4NDM1NDU2IDw8IDE1KSk7IAp9IAoKCmlmICgtNTM2ODcwOTEyIDw8IDE1ICE9PSAwKSB7IAogICRFUlJPUignIzUxMDogLTUzNjg3MDkxMiA8PCAxNSA9PT0gMC4gQWN0dWFsOiAnICsgKC01MzY4NzA5MTIgPDwgMTUpKTsgCn0gCgoKaWYgKC0xMDczNzQxODI0IDw8IDE1ICE9PSAwKSB7IAogICRFUlJPUignIzUxMTogLTEwNzM3NDE4MjQgPDwgMTUgPT09IDAuIEFjdHVhbDogJyArICgtMTA3Mzc0MTgyNCA8PCAxNSkpOyAKfSAKCgppZiAoLTIxNDc0ODM2NDggPDwgMTUgIT09IDApIHsgCiAgJEVSUk9SKCcjNTEyOiAtMjE0NzQ4MzY0OCA8PCAxNSA9PT0gMC4gQWN0dWFsOiAnICsgKC0yMTQ3NDgzNjQ4IDw8IDE1KSk7IAp9IAoK",
"commentary":"Check operator x << y in distinct points",
"description":"ShiftExpression = -2^n, n = 0...15",
"path":"TestCases/ch11/11.7/11.7.1/S11.7.1_A4_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBvcGVyYXRvciB4IDw8IHkgaW4gZGlzdGluY3QgcG9pbnRzCiAqCiAqIEBwYXRoIGNoMTEvMTEuNy8xMS43LjEvUzExLjcuMV9BNF9UMi5qcwogKiBAZGVzY3JpcHRpb24gU2hpZnRFeHByZXNzaW9uID0gMl5uIC0gMSwgbiA9IDE2Li4uMzEKICovCgovL0NIRUNLCgppZiAoLTEgPDwgMTYgIT09IC02NTUzNikgeyAKICAkRVJST1IoJyM1MTM6IC0xIDw8IDE2ID09PSAtNjU1MzYuIEFjdHVhbDogJyArICgtMSA8PCAxNikpOyAKfSAKCgppZiAoLTIgPDwgMTYgIT09IC0xMzEwNzIpIHsgCiAgJEVSUk9SKCcjNTE0OiAtMiA8PCAxNiA9PT0gLTEzMTA3Mi4gQWN0dWFsOiAnICsgKC0yIDw8IDE2KSk7IAp9IAoKCmlmICgtNCA8PCAxNiAhPT0gLTI2MjE0NCkgeyAKICAkRVJST1IoJyM1MTU6IC00IDw8IDE2ID09PSAtMjYyMTQ0LiBBY3R1YWw6ICcgKyAoLTQgPDwgMTYpKTsgCn0gCgoKaWYgKC04IDw8IDE2ICE9PSAtNTI0Mjg4KSB7IAogICRFUlJPUignIzUxNjogLTggPDwgMTYgPT09IC01MjQyODguIEFjdHVhbDogJyArICgtOCA8PCAxNikpOyAKfSAKCgppZiAoLTE2IDw8IDE2ICE9PSAtMTA0ODU3NikgeyAKICAkRVJST1IoJyM1MTc6IC0xNiA8PCAxNiA9PT0gLTEwNDg1NzYuIEFjdHVhbDogJyArICgtMTYgPDwgMTYpKTsgCn0gCgoKaWYgKC0zMiA8PCAxNiAhPT0gLTIwOTcxNTIpIHsgCiAgJEVSUk9SKCcjNTE4OiAtMzIgPDwgMTYgPT09IC0yMDk3MTUyLiBBY3R1YWw6ICcgKyAoLTMyIDw8IDE2KSk7IAp9IAoKCmlmICgtNjQgPDwgMTYgIT09IC00MTk0MzA0KSB7IAogICRFUlJPUignIzUxOTogLTY0IDw8IDE2ID09PSAtNDE5NDMwNC4gQWN0dWFsOiAnICsgKC02NCA8PCAxNikpOyAKfSAKCgppZiAoLTEyOCA8PCAxNiAhPT0gLTgzODg2MDgpIHsgCiAgJEVSUk9SKCcjNTIwOiAtMTI4IDw8IDE2ID09PSAtODM4ODYwOC4gQWN0dWFsOiAnICsgKC0xMjggPDwgMTYpKTsgCn0gCgoKaWYgKC0yNTYgPDwgMTYgIT09IC0xNjc3NzIxNikgeyAKICAkRVJST1IoJyM1MjE6IC0yNTYgPDwgMTYgPT09IC0xNjc3NzIxNi4gQWN0dWFsOiAnICsgKC0yNTYgPDwgMTYpKTsgCn0gCgoKaWYgKC01MTIgPDwgMTYgIT09IC0zMzU1NDQzMikgeyAKICAkRVJST1IoJyM1MjI6IC01MTIgPDwgMTYgPT09IC0zMzU1NDQzMi4gQWN0dWFsOiAnICsgKC01MTIgPDwgMTYpKTsgCn0gCgoKaWYgKC0xMDI0IDw8IDE2ICE9PSAtNjcxMDg4NjQpIHsgCiAgJEVSUk9SKCcjNTIzOiAtMTAyNCA8PCAxNiA9PT0gLTY3MTA4ODY0LiBBY3R1YWw6ICcgKyAoLTEwMjQgPDwgMTYpKTsgCn0gCgoKaWYgKC0yMDQ4IDw8IDE2ICE9PSAtMTM0MjE3NzI4KSB7IAogICRFUlJPUignIzUyNDogLTIwNDggPDwgMTYgPT09IC0xMzQyMTc3MjguIEFjdHVhbDogJyArICgtMjA0OCA8PCAxNikpOyAKfSAKCgppZiAoLTQwOTYgPDwgMTYgIT09IC0yNjg0MzU0NTYpIHsgCiAgJEVSUk9SKCcjNTI1OiAtNDA5NiA8PCAxNiA9PT0gLTI2ODQzNTQ1Ni4gQWN0dWFsOiAnICsgKC00MDk2IDw8IDE2KSk7IAp9IAoKCmlmICgtODE5MiA8PCAxNiAhPT0gLTUzNjg3MDkxMikgeyAKICAkRVJST1IoJyM1MjY6IC04MTkyIDw8IDE2ID09PSAtNTM2ODcwOTEyLiBBY3R1YWw6ICcgKyAoLTgxOTIgPDwgMTYpKTsgCn0gCgoKaWYgKC0xNjM4NCA8PCAxNiAhPT0gLTEwNzM3NDE4MjQpIHsgCiAgJEVSUk9SKCcjNTI3OiAtMTYzODQgPDwgMTYgPT09IC0xMDczNzQxODI0LiBBY3R1YWw6ICcgKyAoLTE2Mzg0IDw8IDE2KSk7IAp9IAoKCmlmICgtMzI3NjggPDwgMTYgIT09IC0yMTQ3NDgzNjQ4KSB7IAogICRFUlJPUignIzUyODogLTMyNzY4IDw8IDE2ID09PSAtMjE0NzQ4MzY0OC4gQWN0dWFsOiAnICsgKC0zMjc2OCA8PCAxNikpOyAKfSAKCgppZiAoLTY1NTM2IDw8IDE2ICE9PSAwKSB7IAogICRFUlJPUignIzUyOTogLTY1NTM2IDw8IDE2ID09PSAwLiBBY3R1YWw6ICcgKyAoLTY1NTM2IDw8IDE2KSk7IAp9IAoKCmlmICgtMTMxMDcyIDw8IDE2ICE9PSAwKSB7IAogICRFUlJPUignIzUzMDogLTEzMTA3MiA8PCAxNiA9PT0gMC4gQWN0dWFsOiAnICsgKC0xMzEwNzIgPDwgMTYpKTsgCn0gCgoKaWYgKC0yNjIxNDQgPDwgMTYgIT09IDApIHsgCiAgJEVSUk9SKCcjNTMxOiAtMjYyMTQ0IDw8IDE2ID09PSAwLiBBY3R1YWw6ICcgKyAoLTI2MjE0NCA8PCAxNikpOyAKfSAKCgppZiAoLTUyNDI4OCA8PCAxNiAhPT0gMCkgeyAKICAkRVJST1IoJyM1MzI6IC01MjQyODggPDwgMTYgPT09IDAuIEFjdHVhbDogJyArICgtNTI0Mjg4IDw8IDE2KSk7IAp9IAoKCmlmICgtMTA0ODU3NiA8PCAxNiAhPT0gMCkgeyAKICAkRVJST1IoJyM1MzM6IC0xMDQ4NTc2IDw8IDE2ID09PSAwLiBBY3R1YWw6ICcgKyAoLTEwNDg1NzYgPDwgMTYpKTsgCn0gCgoKaWYgKC0yMDk3MTUyIDw8IDE2ICE9PSAwKSB7IAogICRFUlJPUignIzUzNDogLTIwOTcxNTIgPDwgMTYgPT09IDAuIEFjdHVhbDogJyArICgtMjA5NzE1MiA8PCAxNikpOyAKfSAKCgppZiAoLTQxOTQzMDQgPDwgMTYgIT09IDApIHsgCiAgJEVSUk9SKCcjNTM1OiAtNDE5NDMwNCA8PCAxNiA9PT0gMC4gQWN0dWFsOiAnICsgKC00MTk0MzA0IDw8IDE2KSk7IAp9IAoKCmlmICgtODM4ODYwOCA8PCAxNiAhPT0gMCkgeyAKICAkRVJST1IoJyM1MzY6IC04Mzg4NjA4IDw8IDE2ID09PSAwLiBBY3R1YWw6ICcgKyAoLTgzODg2MDggPDwgMTYpKTsgCn0gCgoKaWYgKC0xNjc3NzIxNiA8PCAxNiAhPT0gMCkgeyAKICAkRVJST1IoJyM1Mzc6IC0xNjc3NzIxNiA8PCAxNiA9PT0gMC4gQWN0dWFsOiAnICsgKC0xNjc3NzIxNiA8PCAxNikpOyAKfSAKCgppZiAoLTMzNTU0NDMyIDw8IDE2ICE9PSAwKSB7IAogICRFUlJPUignIzUzODogLTMzNTU0NDMyIDw8IDE2ID09PSAwLiBBY3R1YWw6ICcgKyAoLTMzNTU0NDMyIDw8IDE2KSk7IAp9IAoKCmlmICgtNjcxMDg4NjQgPDwgMTYgIT09IDApIHsgCiAgJEVSUk9SKCcjNTM5OiAtNjcxMDg4NjQgPDwgMTYgPT09IDAuIEFjdHVhbDogJyArICgtNjcxMDg4NjQgPDwgMTYpKTsgCn0gCgoKaWYgKC0xMzQyMTc3MjggPDwgMTYgIT09IDApIHsgCiAgJEVSUk9SKCcjNTQwOiAtMTM0MjE3NzI4IDw8IDE2ID09PSAwLiBBY3R1YWw6ICcgKyAoLTEzNDIxNzcyOCA8PCAxNikpOyAKfSAKCgppZiAoLTI2ODQzNTQ1NiA8PCAxNiAhPT0gMCkgeyAKICAkRVJST1IoJyM1NDE6IC0yNjg0MzU0NTYgPDwgMTYgPT09IDAuIEFjdHVhbDogJyArICgtMjY4NDM1NDU2IDw8IDE2KSk7IAp9IAoKCmlmICgtNTM2ODcwOTEyIDw8IDE2ICE9PSAwKSB7IAogICRFUlJPUignIzU0MjogLTUzNjg3MDkxMiA8PCAxNiA9PT0gMC4gQWN0dWFsOiAnICsgKC01MzY4NzA5MTIgPDwgMTYpKTsgCn0gCgoKaWYgKC0xMDczNzQxODI0IDw8IDE2ICE9PSAwKSB7IAogICRFUlJPUignIzU0MzogLTEwNzM3NDE4MjQgPDwgMTYgPT09IDAuIEFjdHVhbDogJyArICgtMTA3Mzc0MTgyNCA8PCAxNikpOyAKfSAKCgppZiAoLTIxNDc0ODM2NDggPDwgMTYgIT09IDApIHsgCiAgJEVSUk9SKCcjNTQ0OiAtMjE0NzQ4MzY0OCA8PCAxNiA9PT0gMC4gQWN0dWFsOiAnICsgKC0yMTQ3NDgzNjQ4IDw8IDE2KSk7IAp9IAoKCmlmICgtMSA8PCAxNyAhPT0gLTEzMTA3MikgeyAKICAkRVJST1IoJyM1NDU6IC0xIDw8IDE3ID09PSAtMTMxMDcyLiBBY3R1YWw6ICcgKyAoLTEgPDwgMTcpKTsgCn0gCgoKaWYgKC0yIDw8IDE3ICE9PSAtMjYyMTQ0KSB7IAogICRFUlJPUignIzU0NjogLTIgPDwgMTcgPT09IC0yNjIxNDQuIEFjdHVhbDogJyArICgtMiA8PCAxNykpOyAKfSAKCgppZiAoLTQgPDwgMTcgIT09IC01MjQyODgpIHsgCiAgJEVSUk9SKCcjNTQ3OiAtNCA8PCAxNyA9PT0gLTUyNDI4OC4gQWN0dWFsOiAnICsgKC00IDw8IDE3KSk7IAp9IAoKCmlmICgtOCA8PCAxNyAhPT0gLTEwNDg1NzYpIHsgCiAgJEVSUk9SKCcjNTQ4OiAtOCA8PCAxNyA9PT0gLTEwNDg1NzYuIEFjdHVhbDogJyArICgtOCA8PCAxNykpOyAKfSAKCgppZiAoLTE2IDw8IDE3ICE9PSAtMjA5NzE1MikgeyAKICAkRVJST1IoJyM1NDk6IC0xNiA8PCAxNyA9PT0gLTIwOTcxNTIuIEFjdHVhbDogJyArICgtMTYgPDwgMTcpKTsgCn0gCgoKaWYgKC0zMiA8PCAxNyAhPT0gLTQxOTQzMDQpIHsgCiAgJEVSUk9SKCcjNTUwOiAtMzIgPDwgMTcgPT09IC00MTk0MzA0LiBBY3R1YWw6ICcgKyAoLTMyIDw8IDE3KSk7IAp9IAoKCmlmICgtNjQgPDwgMTcgIT09IC04Mzg4NjA4KSB7IAogICRFUlJPUignIzU1MTogLTY0IDw8IDE3ID09PSAtODM4ODYwOC4gQWN0dWFsOiAnICsgKC02NCA8PCAxNykpOyAKfSAKCgppZiAoLTEyOCA8PCAxNyAhPT0gLTE2Nzc3MjE2KSB7IAogICRFUlJPUignIzU1MjogLTEyOCA8PCAxNyA9PT0gLTE2Nzc3MjE2LiBBY3R1YWw6ICcgKyAoLTEyOCA8PCAxNykpOyAKfSAKCgppZiAoLTI1NiA8PCAxNyAhPT0gLTMzNTU0NDMyKSB7IAogICRFUlJPUignIzU1MzogLTI1NiA8PCAxNyA9PT0gLTMzNTU0NDMyLiBBY3R1YWw6ICcgKyAoLTI1NiA8PCAxNykpOyAKfSAKCgppZiAoLTUxMiA8PCAxNyAhPT0gLTY3MTA4ODY0KSB7IAogICRFUlJPUignIzU1NDogLTUxMiA8PCAxNyA9PT0gLTY3MTA4ODY0LiBBY3R1YWw6ICcgKyAoLTUxMiA8PCAxNykpOyAKfSAKCgppZiAoLTEwMjQgPDwgMTcgIT09IC0xMzQyMTc3MjgpIHsgCiAgJEVSUk9SKCcjNTU1OiAtMTAyNCA8PCAxNyA9PT0gLTEzNDIxNzcyOC4gQWN0dWFsOiAnICsgKC0xMDI0IDw8IDE3KSk7IAp9IAoKCmlmICgtMjA0OCA8PCAxNyAhPT0gLTI2ODQzNTQ1NikgeyAKICAkRVJST1IoJyM1NTY6IC0yMDQ4IDw8IDE3ID09PSAtMjY4NDM1NDU2LiBBY3R1YWw6ICcgKyAoLTIwNDggPDwgMTcpKTsgCn0gCgoKaWYgKC00MDk2IDw8IDE3ICE9PSAtNTM2ODcwOTEyKSB7IAogICRFUlJPUignIzU1NzogLTQwOTYgPDwgMTcgPT09IC01MzY4NzA5MTIuIEFjdHVhbDogJyArICgtNDA5NiA8PCAxNykpOyAKfSAKCgppZiAoLTgxOTIgPDwgMTcgIT09IC0xMDczNzQxODI0KSB7IAogICRFUlJPUignIzU1ODogLTgxOTIgPDwgMTcgPT09IC0xMDczNzQxODI0LiBBY3R1YWw6ICcgKyAoLTgxOTIgPDwgMTcpKTsgCn0gCgoKaWYgKC0xNjM4NCA8PCAxNyAhPT0gLTIxNDc0ODM2NDgpIHsgCiAgJEVSUk9SKCcjNTU5OiAtMTYzODQgPDwgMTcgPT09IC0yMTQ3NDgzNjQ4LiBBY3R1YWw6ICcgKyAoLTE2Mzg0IDw8IDE3KSk7IAp9IAoKCmlmICgtMzI3NjggPDwgMTcgIT09IDApIHsgCiAgJEVSUk9SKCcjNTYwOiAtMzI3NjggPDwgMTcgPT09IDAuIEFjdHVhbDogJyArICgtMzI3NjggPDwgMTcpKTsgCn0gCgoKaWYgKC02NTUzNiA8PCAxNyAhPT0gMCkgeyAKICAkRVJST1IoJyM1NjE6IC02NTUzNiA8PCAxNyA9PT0gMC4gQWN0dWFsOiAnICsgKC02NTUzNiA8PCAxNykpOyAKfSAKCgppZiAoLTEzMTA3MiA8PCAxNyAhPT0gMCkgeyAKICAkRVJST1IoJyM1NjI6IC0xMzEwNzIgPDwgMTcgPT09IDAuIEFjdHVhbDogJyArICgtMTMxMDcyIDw8IDE3KSk7IAp9IAoKCmlmICgtMjYyMTQ0IDw8IDE3ICE9PSAwKSB7IAogICRFUlJPUignIzU2MzogLTI2MjE0NCA8PCAxNyA9PT0gMC4gQWN0dWFsOiAnICsgKC0yNjIxNDQgPDwgMTcpKTsgCn0gCgoKaWYgKC01MjQyODggPDwgMTcgIT09IDApIHsgCiAgJEVSUk9SKCcjNTY0OiAtNTI0Mjg4IDw8IDE3ID09PSAwLiBBY3R1YWw6ICcgKyAoLTUyNDI4OCA8PCAxNykpOyAKfSAKCgppZiAoLTEwNDg1NzYgPDwgMTcgIT09IDApIHsgCiAgJEVSUk9SKCcjNTY1OiAtMTA0ODU3NiA8PCAxNyA9PT0gMC4gQWN0dWFsOiAnICsgKC0xMDQ4NTc2IDw8IDE3KSk7IAp9IAoKCmlmICgtMjA5NzE1MiA8PCAxNyAhPT0gMCkgeyAKICAkRVJST1IoJyM1NjY6IC0yMDk3MTUyIDw8IDE3ID09PSAwLiBBY3R1YWw6ICcgKyAoLTIwOTcxNTIgPDwgMTcpKTsgCn0gCgoKaWYgKC00MTk0MzA0IDw8IDE3ICE9PSAwKSB7IAogICRFUlJPUignIzU2NzogLTQxOTQzMDQgPDwgMTcgPT09IDAuIEFjdHVhbDogJyArICgtNDE5NDMwNCA8PCAxNykpOyAKfSAKCgppZiAoLTgzODg2MDggPDwgMTcgIT09IDApIHsgCiAgJEVSUk9SKCcjNTY4OiAtODM4ODYwOCA8PCAxNyA9PT0gMC4gQWN0dWFsOiAnICsgKC04Mzg4NjA4IDw8IDE3KSk7IAp9IAoKCmlmICgtMTY3NzcyMTYgPDwgMTcgIT09IDApIHsgCiAgJEVSUk9SKCcjNTY5OiAtMTY3NzcyMTYgPDwgMTcgPT09IDAuIEFjdHVhbDogJyArICgtMTY3NzcyMTYgPDwgMTcpKTsgCn0gCgoKaWYgKC0zMzU1NDQzMiA8PCAxNyAhPT0gMCkgeyAKICAkRVJST1IoJyM1NzA6IC0zMzU1NDQzMiA8PCAxNyA9PT0gMC4gQWN0dWFsOiAnICsgKC0zMzU1NDQzMiA8PCAxNykpOyAKfSAKCgppZiAoLTY3MTA4ODY0IDw8IDE3ICE9PSAwKSB7IAogICRFUlJPUignIzU3MTogLTY3MTA4ODY0IDw8IDE3ID09PSAwLiBBY3R1YWw6ICcgKyAoLTY3MTA4ODY0IDw8IDE3KSk7IAp9IAoKCmlmICgtMTM0MjE3NzI4IDw8IDE3ICE9PSAwKSB7IAogICRFUlJPUignIzU3MjogLTEzNDIxNzcyOCA8PCAxNyA9PT0gMC4gQWN0dWFsOiAnICsgKC0xMzQyMTc3MjggPDwgMTcpKTsgCn0gCgoKaWYgKC0yNjg0MzU0NTYgPDwgMTcgIT09IDApIHsgCiAgJEVSUk9SKCcjNTczOiAtMjY4NDM1NDU2IDw8IDE3ID09PSAwLiBBY3R1YWw6ICcgKyAoLTI2ODQzNTQ1NiA8PCAxNykpOyAKfSAKCgppZiAoLTUzNjg3MDkxMiA8PCAxNyAhPT0gMCkgeyAKICAkRVJST1IoJyM1NzQ6IC01MzY4NzA5MTIgPDwgMTcgPT09IDAuIEFjdHVhbDogJyArICgtNTM2ODcwOTEyIDw8IDE3KSk7IAp9IAoKCmlmICgtMTA3Mzc0MTgyNCA8PCAxNyAhPT0gMCkgeyAKICAkRVJST1IoJyM1NzU6IC0xMDczNzQxODI0IDw8IDE3ID09PSAwLiBBY3R1YWw6ICcgKyAoLTEwNzM3NDE4MjQgPDwgMTcpKTsgCn0gCgoKaWYgKC0yMTQ3NDgzNjQ4IDw8IDE3ICE9PSAwKSB7IAogICRFUlJPUignIzU3NjogLTIxNDc0ODM2NDggPDwgMTcgPT09IDAuIEFjdHVhbDogJyArICgtMjE0NzQ4MzY0OCA8PCAxNykpOyAKfSAKCgppZiAoLTEgPDwgMTggIT09IC0yNjIxNDQpIHsgCiAgJEVSUk9SKCcjNTc3OiAtMSA8PCAxOCA9PT0gLTI2MjE0NC4gQWN0dWFsOiAnICsgKC0xIDw8IDE4KSk7IAp9IAoKCmlmICgtMiA8PCAxOCAhPT0gLTUyNDI4OCkgeyAKICAkRVJST1IoJyM1Nzg6IC0yIDw8IDE4ID09PSAtNTI0Mjg4LiBBY3R1YWw6ICcgKyAoLTIgPDwgMTgpKTsgCn0gCgoKaWYgKC00IDw8IDE4ICE9PSAtMTA0ODU3NikgeyAKICAkRVJST1IoJyM1Nzk6IC00IDw8IDE4ID09PSAtMTA0ODU3Ni4gQWN0dWFsOiAnICsgKC00IDw8IDE4KSk7IAp9IAoKCmlmICgtOCA8PCAxOCAhPT0gLTIwOTcxNTIpIHsgCiAgJEVSUk9SKCcjNTgwOiAtOCA8PCAxOCA9PT0gLTIwOTcxNTIuIEFjdHVhbDogJyArICgtOCA8PCAxOCkpOyAKfSAKCgppZiAoLTE2IDw8IDE4ICE9PSAtNDE5NDMwNCkgeyAKICAkRVJST1IoJyM1ODE6IC0xNiA8PCAxOCA9PT0gLTQxOTQzMDQuIEFjdHVhbDogJyArICgtMTYgPDwgMTgpKTsgCn0gCgoKaWYgKC0zMiA8PCAxOCAhPT0gLTgzODg2MDgpIHsgCiAgJEVSUk9SKCcjNTgyOiAtMzIgPDwgMTggPT09IC04Mzg4NjA4LiBBY3R1YWw6ICcgKyAoLTMyIDw8IDE4KSk7IAp9IAoKCmlmICgtNjQgPDwgMTggIT09IC0xNjc3NzIxNikgeyAKICAkRVJST1IoJyM1ODM6IC02NCA8PCAxOCA9PT0gLTE2Nzc3MjE2LiBBY3R1YWw6ICcgKyAoLTY0IDw8IDE4KSk7IAp9IAoKCmlmICgtMTI4IDw8IDE4ICE9PSAtMzM1NTQ0MzIpIHsgCiAgJEVSUk9SKCcjNTg0OiAtMTI4IDw8IDE4ID09PSAtMzM1NTQ0MzIuIEFjdHVhbDogJyArICgtMTI4IDw8IDE4KSk7IAp9IAoKCmlmICgtMjU2IDw8IDE4ICE9PSAtNjcxMDg4NjQpIHsgCiAgJEVSUk9SKCcjNTg1OiAtMjU2IDw8IDE4ID09PSAtNjcxMDg4NjQuIEFjdHVhbDogJyArICgtMjU2IDw8IDE4KSk7IAp9IAoKCmlmICgtNTEyIDw8IDE4ICE9PSAtMTM0MjE3NzI4KSB7IAogICRFUlJPUignIzU4NjogLTUxMiA8PCAxOCA9PT0gLTEzNDIxNzcyOC4gQWN0dWFsOiAnICsgKC01MTIgPDwgMTgpKTsgCn0gCgoKaWYgKC0xMDI0IDw8IDE4ICE9PSAtMjY4NDM1NDU2KSB7IAogICRFUlJPUignIzU4NzogLTEwMjQgPDwgMTggPT09IC0yNjg0MzU0NTYuIEFjdHVhbDogJyArICgtMTAyNCA8PCAxOCkpOyAKfSAKCgppZiAoLTIwNDggPDwgMTggIT09IC01MzY4NzA5MTIpIHsgCiAgJEVSUk9SKCcjNTg4OiAtMjA0OCA8PCAxOCA9PT0gLTUzNjg3MDkxMi4gQWN0dWFsOiAnICsgKC0yMDQ4IDw8IDE4KSk7IAp9IAoKCmlmICgtNDA5NiA8PCAxOCAhPT0gLTEwNzM3NDE4MjQpIHsgCiAgJEVSUk9SKCcjNTg5OiAtNDA5NiA8PCAxOCA9PT0gLTEwNzM3NDE4MjQuIEFjdHVhbDogJyArICgtNDA5NiA8PCAxOCkpOyAKfSAKCgppZiAoLTgxOTIgPDwgMTggIT09IC0yMTQ3NDgzNjQ4KSB7IAogICRFUlJPUignIzU5MDogLTgxOTIgPDwgMTggPT09IC0yMTQ3NDgzNjQ4LiBBY3R1YWw6ICcgKyAoLTgxOTIgPDwgMTgpKTsgCn0gCgoKaWYgKC0xNjM4NCA8PCAxOCAhPT0gMCkgeyAKICAkRVJST1IoJyM1OTE6IC0xNjM4NCA8PCAxOCA9PT0gMC4gQWN0dWFsOiAnICsgKC0xNjM4NCA8PCAxOCkpOyAKfSAKCgppZiAoLTMyNzY4IDw8IDE4ICE9PSAwKSB7IAogICRFUlJPUignIzU5MjogLTMyNzY4IDw8IDE4ID09PSAwLiBBY3R1YWw6ICcgKyAoLTMyNzY4IDw8IDE4KSk7IAp9IAoKCmlmICgtNjU1MzYgPDwgMTggIT09IDApIHsgCiAgJEVSUk9SKCcjNTkzOiAtNjU1MzYgPDwgMTggPT09IDAuIEFjdHVhbDogJyArICgtNjU1MzYgPDwgMTgpKTsgCn0gCgoKaWYgKC0xMzEwNzIgPDwgMTggIT09IDApIHsgCiAgJEVSUk9SKCcjNTk0OiAtMTMxMDcyIDw8IDE4ID09PSAwLiBBY3R1YWw6ICcgKyAoLTEzMTA3MiA8PCAxOCkpOyAKfSAKCgppZiAoLTI2MjE0NCA8PCAxOCAhPT0gMCkgeyAKICAkRVJST1IoJyM1OTU6IC0yNjIxNDQgPDwgMTggPT09IDAuIEFjdHVhbDogJyArICgtMjYyMTQ0IDw8IDE4KSk7IAp9IAoKCmlmICgtNTI0Mjg4IDw8IDE4ICE9PSAwKSB7IAogICRFUlJPUignIzU5NjogLTUyNDI4OCA8PCAxOCA9PT0gMC4gQWN0dWFsOiAnICsgKC01MjQyODggPDwgMTgpKTsgCn0gCgoKaWYgKC0xMDQ4NTc2IDw8IDE4ICE9PSAwKSB7IAogICRFUlJPUignIzU5NzogLTEwNDg1NzYgPDwgMTggPT09IDAuIEFjdHVhbDogJyArICgtMTA0ODU3NiA8PCAxOCkpOyAKfSAKCgppZiAoLTIwOTcxNTIgPDwgMTggIT09IDApIHsgCiAgJEVSUk9SKCcjNTk4OiAtMjA5NzE1MiA8PCAxOCA9PT0gMC4gQWN0dWFsOiAnICsgKC0yMDk3MTUyIDw8IDE4KSk7IAp9IAoKCmlmICgtNDE5NDMwNCA8PCAxOCAhPT0gMCkgeyAKICAkRVJST1IoJyM1OTk6IC00MTk0MzA0IDw8IDE4ID09PSAwLiBBY3R1YWw6ICcgKyAoLTQxOTQzMDQgPDwgMTgpKTsgCn0gCgoKaWYgKC04Mzg4NjA4IDw8IDE4ICE9PSAwKSB7IAogICRFUlJPUignIzYwMDogLTgzODg2MDggPDwgMTggPT09IDAuIEFjdHVhbDogJyArICgtODM4ODYwOCA8PCAxOCkpOyAKfSAKCgppZiAoLTE2Nzc3MjE2IDw8IDE4ICE9PSAwKSB7IAogICRFUlJPUignIzYwMTogLTE2Nzc3MjE2IDw8IDE4ID09PSAwLiBBY3R1YWw6ICcgKyAoLTE2Nzc3MjE2IDw8IDE4KSk7IAp9IAoKCmlmICgtMzM1NTQ0MzIgPDwgMTggIT09IDApIHsgCiAgJEVSUk9SKCcjNjAyOiAtMzM1NTQ0MzIgPDwgMTggPT09IDAuIEFjdHVhbDogJyArICgtMzM1NTQ0MzIgPDwgMTgpKTsgCn0gCgoKaWYgKC02NzEwODg2NCA8PCAxOCAhPT0gMCkgeyAKICAkRVJST1IoJyM2MDM6IC02NzEwODg2NCA8PCAxOCA9PT0gMC4gQWN0dWFsOiAnICsgKC02NzEwODg2NCA8PCAxOCkpOyAKfSAKCgppZiAoLTEzNDIxNzcyOCA8PCAxOCAhPT0gMCkgeyAKICAkRVJST1IoJyM2MDQ6IC0xMzQyMTc3MjggPDwgMTggPT09IDAuIEFjdHVhbDogJyArICgtMTM0MjE3NzI4IDw8IDE4KSk7IAp9IAoKCmlmICgtMjY4NDM1NDU2IDw8IDE4ICE9PSAwKSB7IAogICRFUlJPUignIzYwNTogLTI2ODQzNTQ1NiA8PCAxOCA9PT0gMC4gQWN0dWFsOiAnICsgKC0yNjg0MzU0NTYgPDwgMTgpKTsgCn0gCgoKaWYgKC01MzY4NzA5MTIgPDwgMTggIT09IDApIHsgCiAgJEVSUk9SKCcjNjA2OiAtNTM2ODcwOTEyIDw8IDE4ID09PSAwLiBBY3R1YWw6ICcgKyAoLTUzNjg3MDkxMiA8PCAxOCkpOyAKfSAKCgppZiAoLTEwNzM3NDE4MjQgPDwgMTggIT09IDApIHsgCiAgJEVSUk9SKCcjNjA3OiAtMTA3Mzc0MTgyNCA8PCAxOCA9PT0gMC4gQWN0dWFsOiAnICsgKC0xMDczNzQxODI0IDw8IDE4KSk7IAp9IAoKCmlmICgtMjE0NzQ4MzY0OCA8PCAxOCAhPT0gMCkgeyAKICAkRVJST1IoJyM2MDg6IC0yMTQ3NDgzNjQ4IDw8IDE4ID09PSAwLiBBY3R1YWw6ICcgKyAoLTIxNDc0ODM2NDggPDwgMTgpKTsgCn0gCgoKaWYgKC0xIDw8IDE5ICE9PSAtNTI0Mjg4KSB7IAogICRFUlJPUignIzYwOTogLTEgPDwgMTkgPT09IC01MjQyODguIEFjdHVhbDogJyArICgtMSA8PCAxOSkpOyAKfSAKCgppZiAoLTIgPDwgMTkgIT09IC0xMDQ4NTc2KSB7IAogICRFUlJPUignIzYxMDogLTIgPDwgMTkgPT09IC0xMDQ4NTc2LiBBY3R1YWw6ICcgKyAoLTIgPDwgMTkpKTsgCn0gCgoKaWYgKC00IDw8IDE5ICE9PSAtMjA5NzE1MikgeyAKICAkRVJST1IoJyM2MTE6IC00IDw8IDE5ID09PSAtMjA5NzE1Mi4gQWN0dWFsOiAnICsgKC00IDw8IDE5KSk7IAp9IAoKCmlmICgtOCA8PCAxOSAhPT0gLTQxOTQzMDQpIHsgCiAgJEVSUk9SKCcjNjEyOiAtOCA8PCAxOSA9PT0gLTQxOTQzMDQuIEFjdHVhbDogJyArICgtOCA8PCAxOSkpOyAKfSAKCgppZiAoLTE2IDw8IDE5ICE9PSAtODM4ODYwOCkgeyAKICAkRVJST1IoJyM2MTM6IC0xNiA8PCAxOSA9PT0gLTgzODg2MDguIEFjdHVhbDogJyArICgtMTYgPDwgMTkpKTsgCn0gCgoKaWYgKC0zMiA8PCAxOSAhPT0gLTE2Nzc3MjE2KSB7IAogICRFUlJPUignIzYxNDogLTMyIDw8IDE5ID09PSAtMTY3NzcyMTYuIEFjdHVhbDogJyArICgtMzIgPDwgMTkpKTsgCn0gCgoKaWYgKC02NCA8PCAxOSAhPT0gLTMzNTU0NDMyKSB7IAogICRFUlJPUignIzYxNTogLTY0IDw8IDE5ID09PSAtMzM1NTQ0MzIuIEFjdHVhbDogJyArICgtNjQgPDwgMTkpKTsgCn0gCgoKaWYgKC0xMjggPDwgMTkgIT09IC02NzEwODg2NCkgeyAKICAkRVJST1IoJyM2MTY6IC0xMjggPDwgMTkgPT09IC02NzEwODg2NC4gQWN0dWFsOiAnICsgKC0xMjggPDwgMTkpKTsgCn0gCgoKaWYgKC0yNTYgPDwgMTkgIT09IC0xMzQyMTc3MjgpIHsgCiAgJEVSUk9SKCcjNjE3OiAtMjU2IDw8IDE5ID09PSAtMTM0MjE3NzI4LiBBY3R1YWw6ICcgKyAoLTI1NiA8PCAxOSkpOyAKfSAKCgppZiAoLTUxMiA8PCAxOSAhPT0gLTI2ODQzNTQ1NikgeyAKICAkRVJST1IoJyM2MTg6IC01MTIgPDwgMTkgPT09IC0yNjg0MzU0NTYuIEFjdHVhbDogJyArICgtNTEyIDw8IDE5KSk7IAp9IAoKCmlmICgtMTAyNCA8PCAxOSAhPT0gLTUzNjg3MDkxMikgeyAKICAkRVJST1IoJyM2MTk6IC0xMDI0IDw8IDE5ID09PSAtNTM2ODcwOTEyLiBBY3R1YWw6ICcgKyAoLTEwMjQgPDwgMTkpKTsgCn0gCgoKaWYgKC0yMDQ4IDw8IDE5ICE9PSAtMTA3Mzc0MTgyNCkgeyAKICAkRVJST1IoJyM2MjA6IC0yMDQ4IDw8IDE5ID09PSAtMTA3Mzc0MTgyNC4gQWN0dWFsOiAnICsgKC0yMDQ4IDw8IDE5KSk7IAp9IAoKCmlmICgtNDA5NiA8PCAxOSAhPT0gLTIxNDc0ODM2NDgpIHsgCiAgJEVSUk9SKCcjNjIxOiAtNDA5NiA8PCAxOSA9PT0gLTIxNDc0ODM2NDguIEFjdHVhbDogJyArICgtNDA5NiA8PCAxOSkpOyAKfSAKCgppZiAoLTgxOTIgPDwgMTkgIT09IDApIHsgCiAgJEVSUk9SKCcjNjIyOiAtODE5MiA8PCAxOSA9PT0gMC4gQWN0dWFsOiAnICsgKC04MTkyIDw8IDE5KSk7IAp9IAoKCmlmICgtMTYzODQgPDwgMTkgIT09IDApIHsgCiAgJEVSUk9SKCcjNjIzOiAtMTYzODQgPDwgMTkgPT09IDAuIEFjdHVhbDogJyArICgtMTYzODQgPDwgMTkpKTsgCn0gCgoKaWYgKC0zMjc2OCA8PCAxOSAhPT0gMCkgeyAKICAkRVJST1IoJyM2MjQ6IC0zMjc2OCA8PCAxOSA9PT0gMC4gQWN0dWFsOiAnICsgKC0zMjc2OCA8PCAxOSkpOyAKfSAKCgppZiAoLTY1NTM2IDw8IDE5ICE9PSAwKSB7IAogICRFUlJPUignIzYyNTogLTY1NTM2IDw8IDE5ID09PSAwLiBBY3R1YWw6ICcgKyAoLTY1NTM2IDw8IDE5KSk7IAp9IAoKCmlmICgtMTMxMDcyIDw8IDE5ICE9PSAwKSB7IAogICRFUlJPUignIzYyNjogLTEzMTA3MiA8PCAxOSA9PT0gMC4gQWN0dWFsOiAnICsgKC0xMzEwNzIgPDwgMTkpKTsgCn0gCgoKaWYgKC0yNjIxNDQgPDwgMTkgIT09IDApIHsgCiAgJEVSUk9SKCcjNjI3OiAtMjYyMTQ0IDw8IDE5ID09PSAwLiBBY3R1YWw6ICcgKyAoLTI2MjE0NCA8PCAxOSkpOyAKfSAKCgppZiAoLTUyNDI4OCA8PCAxOSAhPT0gMCkgeyAKICAkRVJST1IoJyM2Mjg6IC01MjQyODggPDwgMTkgPT09IDAuIEFjdHVhbDogJyArICgtNTI0Mjg4IDw8IDE5KSk7IAp9IAoKCmlmICgtMTA0ODU3NiA8PCAxOSAhPT0gMCkgeyAKICAkRVJST1IoJyM2Mjk6IC0xMDQ4NTc2IDw8IDE5ID09PSAwLiBBY3R1YWw6ICcgKyAoLTEwNDg1NzYgPDwgMTkpKTsgCn0gCgoKaWYgKC0yMDk3MTUyIDw8IDE5ICE9PSAwKSB7IAogICRFUlJPUignIzYzMDogLTIwOTcxNTIgPDwgMTkgPT09IDAuIEFjdHVhbDogJyArICgtMjA5NzE1MiA8PCAxOSkpOyAKfSAKCgppZiAoLTQxOTQzMDQgPDwgMTkgIT09IDApIHsgCiAgJEVSUk9SKCcjNjMxOiAtNDE5NDMwNCA8PCAxOSA9PT0gMC4gQWN0dWFsOiAnICsgKC00MTk0MzA0IDw8IDE5KSk7IAp9IAoKCmlmICgtODM4ODYwOCA8PCAxOSAhPT0gMCkgeyAKICAkRVJST1IoJyM2MzI6IC04Mzg4NjA4IDw8IDE5ID09PSAwLiBBY3R1YWw6ICcgKyAoLTgzODg2MDggPDwgMTkpKTsgCn0gCgoKaWYgKC0xNjc3NzIxNiA8PCAxOSAhPT0gMCkgeyAKICAkRVJST1IoJyM2MzM6IC0xNjc3NzIxNiA8PCAxOSA9PT0gMC4gQWN0dWFsOiAnICsgKC0xNjc3NzIxNiA8PCAxOSkpOyAKfSAKCgppZiAoLTMzNTU0NDMyIDw8IDE5ICE9PSAwKSB7IAogICRFUlJPUignIzYzNDogLTMzNTU0NDMyIDw8IDE5ID09PSAwLiBBY3R1YWw6ICcgKyAoLTMzNTU0NDMyIDw8IDE5KSk7IAp9IAoKCmlmICgtNjcxMDg4NjQgPDwgMTkgIT09IDApIHsgCiAgJEVSUk9SKCcjNjM1OiAtNjcxMDg4NjQgPDwgMTkgPT09IDAuIEFjdHVhbDogJyArICgtNjcxMDg4NjQgPDwgMTkpKTsgCn0gCgoKaWYgKC0xMzQyMTc3MjggPDwgMTkgIT09IDApIHsgCiAgJEVSUk9SKCcjNjM2OiAtMTM0MjE3NzI4IDw8IDE5ID09PSAwLiBBY3R1YWw6ICcgKyAoLTEzNDIxNzcyOCA8PCAxOSkpOyAKfSAKCgppZiAoLTI2ODQzNTQ1NiA8PCAxOSAhPT0gMCkgeyAKICAkRVJST1IoJyM2Mzc6IC0yNjg0MzU0NTYgPDwgMTkgPT09IDAuIEFjdHVhbDogJyArICgtMjY4NDM1NDU2IDw8IDE5KSk7IAp9IAoKCmlmICgtNTM2ODcwOTEyIDw8IDE5ICE9PSAwKSB7IAogICRFUlJPUignIzYzODogLTUzNjg3MDkxMiA8PCAxOSA9PT0gMC4gQWN0dWFsOiAnICsgKC01MzY4NzA5MTIgPDwgMTkpKTsgCn0gCgoKaWYgKC0xMDczNzQxODI0IDw8IDE5ICE9PSAwKSB7IAogICRFUlJPUignIzYzOTogLTEwNzM3NDE4MjQgPDwgMTkgPT09IDAuIEFjdHVhbDogJyArICgtMTA3Mzc0MTgyNCA8PCAxOSkpOyAKfSAKCgppZiAoLTIxNDc0ODM2NDggPDwgMTkgIT09IDApIHsgCiAgJEVSUk9SKCcjNjQwOiAtMjE0NzQ4MzY0OCA8PCAxOSA9PT0gMC4gQWN0dWFsOiAnICsgKC0yMTQ3NDgzNjQ4IDw8IDE5KSk7IAp9IAoKCmlmICgtMSA8PCAyMCAhPT0gLTEwNDg1NzYpIHsgCiAgJEVSUk9SKCcjNjQxOiAtMSA8PCAyMCA9PT0gLTEwNDg1NzYuIEFjdHVhbDogJyArICgtMSA8PCAyMCkpOyAKfSAKCgppZiAoLTIgPDwgMjAgIT09IC0yMDk3MTUyKSB7IAogICRFUlJPUignIzY0MjogLTIgPDwgMjAgPT09IC0yMDk3MTUyLiBBY3R1YWw6ICcgKyAoLTIgPDwgMjApKTsgCn0gCgoKaWYgKC00IDw8IDIwICE9PSAtNDE5NDMwNCkgeyAKICAkRVJST1IoJyM2NDM6IC00IDw8IDIwID09PSAtNDE5NDMwNC4gQWN0dWFsOiAnICsgKC00IDw8IDIwKSk7IAp9IAoKCmlmICgtOCA8PCAyMCAhPT0gLTgzODg2MDgpIHsgCiAgJEVSUk9SKCcjNjQ0OiAtOCA8PCAyMCA9PT0gLTgzODg2MDguIEFjdHVhbDogJyArICgtOCA8PCAyMCkpOyAKfSAKCgppZiAoLTE2IDw8IDIwICE9PSAtMTY3NzcyMTYpIHsgCiAgJEVSUk9SKCcjNjQ1OiAtMTYgPDwgMjAgPT09IC0xNjc3NzIxNi4gQWN0dWFsOiAnICsgKC0xNiA8PCAyMCkpOyAKfSAKCgppZiAoLTMyIDw8IDIwICE9PSAtMzM1NTQ0MzIpIHsgCiAgJEVSUk9SKCcjNjQ2OiAtMzIgPDwgMjAgPT09IC0zMzU1NDQzMi4gQWN0dWFsOiAnICsgKC0zMiA8PCAyMCkpOyAKfSAKCgppZiAoLTY0IDw8IDIwICE9PSAtNjcxMDg4NjQpIHsgCiAgJEVSUk9SKCcjNjQ3OiAtNjQgPDwgMjAgPT09IC02NzEwODg2NC4gQWN0dWFsOiAnICsgKC02NCA8PCAyMCkpOyAKfSAKCgppZiAoLTEyOCA8PCAyMCAhPT0gLTEzNDIxNzcyOCkgeyAKICAkRVJST1IoJyM2NDg6IC0xMjggPDwgMjAgPT09IC0xMzQyMTc3MjguIEFjdHVhbDogJyArICgtMTI4IDw8IDIwKSk7IAp9IAoKCmlmICgtMjU2IDw8IDIwICE9PSAtMjY4NDM1NDU2KSB7IAogICRFUlJPUignIzY0OTogLTI1NiA8PCAyMCA9PT0gLTI2ODQzNTQ1Ni4gQWN0dWFsOiAnICsgKC0yNTYgPDwgMjApKTsgCn0gCgoKaWYgKC01MTIgPDwgMjAgIT09IC01MzY4NzA5MTIpIHsgCiAgJEVSUk9SKCcjNjUwOiAtNTEyIDw8IDIwID09PSAtNTM2ODcwOTEyLiBBY3R1YWw6ICcgKyAoLTUxMiA8PCAyMCkpOyAKfSAKCgppZiAoLTEwMjQgPDwgMjAgIT09IC0xMDczNzQxODI0KSB7IAogICRFUlJPUignIzY1MTogLTEwMjQgPDwgMjAgPT09IC0xMDczNzQxODI0LiBBY3R1YWw6ICcgKyAoLTEwMjQgPDwgMjApKTsgCn0gCgoKaWYgKC0yMDQ4IDw8IDIwICE9PSAtMjE0NzQ4MzY0OCkgeyAKICAkRVJST1IoJyM2NTI6IC0yMDQ4IDw8IDIwID09PSAtMjE0NzQ4MzY0OC4gQWN0dWFsOiAnICsgKC0yMDQ4IDw8IDIwKSk7IAp9IAoKCmlmICgtNDA5NiA8PCAyMCAhPT0gMCkgeyAKICAkRVJST1IoJyM2NTM6IC00MDk2IDw8IDIwID09PSAwLiBBY3R1YWw6ICcgKyAoLTQwOTYgPDwgMjApKTsgCn0gCgoKaWYgKC04MTkyIDw8IDIwICE9PSAwKSB7IAogICRFUlJPUignIzY1NDogLTgxOTIgPDwgMjAgPT09IDAuIEFjdHVhbDogJyArICgtODE5MiA8PCAyMCkpOyAKfSAKCgppZiAoLTE2Mzg0IDw8IDIwICE9PSAwKSB7IAogICRFUlJPUignIzY1NTogLTE2Mzg0IDw8IDIwID09PSAwLiBBY3R1YWw6ICcgKyAoLTE2Mzg0IDw8IDIwKSk7IAp9IAoKCmlmICgtMzI3NjggPDwgMjAgIT09IDApIHsgCiAgJEVSUk9SKCcjNjU2OiAtMzI3NjggPDwgMjAgPT09IDAuIEFjdHVhbDogJyArICgtMzI3NjggPDwgMjApKTsgCn0gCgoKaWYgKC02NTUzNiA8PCAyMCAhPT0gMCkgeyAKICAkRVJST1IoJyM2NTc6IC02NTUzNiA8PCAyMCA9PT0gMC4gQWN0dWFsOiAnICsgKC02NTUzNiA8PCAyMCkpOyAKfSAKCgppZiAoLTEzMTA3MiA8PCAyMCAhPT0gMCkgeyAKICAkRVJST1IoJyM2NTg6IC0xMzEwNzIgPDwgMjAgPT09IDAuIEFjdHVhbDogJyArICgtMTMxMDcyIDw8IDIwKSk7IAp9IAoKCmlmICgtMjYyMTQ0IDw8IDIwICE9PSAwKSB7IAogICRFUlJPUignIzY1OTogLTI2MjE0NCA8PCAyMCA9PT0gMC4gQWN0dWFsOiAnICsgKC0yNjIxNDQgPDwgMjApKTsgCn0gCgoKaWYgKC01MjQyODggPDwgMjAgIT09IDApIHsgCiAgJEVSUk9SKCcjNjYwOiAtNTI0Mjg4IDw8IDIwID09PSAwLiBBY3R1YWw6ICcgKyAoLTUyNDI4OCA8PCAyMCkpOyAKfSAKCgppZiAoLTEwNDg1NzYgPDwgMjAgIT09IDApIHsgCiAgJEVSUk9SKCcjNjYxOiAtMTA0ODU3NiA8PCAyMCA9PT0gMC4gQWN0dWFsOiAnICsgKC0xMDQ4NTc2IDw8IDIwKSk7IAp9IAoKCmlmICgtMjA5NzE1MiA8PCAyMCAhPT0gMCkgeyAKICAkRVJST1IoJyM2NjI6IC0yMDk3MTUyIDw8IDIwID09PSAwLiBBY3R1YWw6ICcgKyAoLTIwOTcxNTIgPDwgMjApKTsgCn0gCgoKaWYgKC00MTk0MzA0IDw8IDIwICE9PSAwKSB7IAogICRFUlJPUignIzY2MzogLTQxOTQzMDQgPDwgMjAgPT09IDAuIEFjdHVhbDogJyArICgtNDE5NDMwNCA8PCAyMCkpOyAKfSAKCgppZiAoLTgzODg2MDggPDwgMjAgIT09IDApIHsgCiAgJEVSUk9SKCcjNjY0OiAtODM4ODYwOCA8PCAyMCA9PT0gMC4gQWN0dWFsOiAnICsgKC04Mzg4NjA4IDw8IDIwKSk7IAp9IAoKCmlmICgtMTY3NzcyMTYgPDwgMjAgIT09IDApIHsgCiAgJEVSUk9SKCcjNjY1OiAtMTY3NzcyMTYgPDwgMjAgPT09IDAuIEFjdHVhbDogJyArICgtMTY3NzcyMTYgPDwgMjApKTsgCn0gCgoKaWYgKC0zMzU1NDQzMiA8PCAyMCAhPT0gMCkgeyAKICAkRVJST1IoJyM2NjY6IC0zMzU1NDQzMiA8PCAyMCA9PT0gMC4gQWN0dWFsOiAnICsgKC0zMzU1NDQzMiA8PCAyMCkpOyAKfSAKCgppZiAoLTY3MTA4ODY0IDw8IDIwICE9PSAwKSB7IAogICRFUlJPUignIzY2NzogLTY3MTA4ODY0IDw8IDIwID09PSAwLiBBY3R1YWw6ICcgKyAoLTY3MTA4ODY0IDw8IDIwKSk7IAp9IAoKCmlmICgtMTM0MjE3NzI4IDw8IDIwICE9PSAwKSB7IAogICRFUlJPUignIzY2ODogLTEzNDIxNzcyOCA8PCAyMCA9PT0gMC4gQWN0dWFsOiAnICsgKC0xMzQyMTc3MjggPDwgMjApKTsgCn0gCgoKaWYgKC0yNjg0MzU0NTYgPDwgMjAgIT09IDApIHsgCiAgJEVSUk9SKCcjNjY5OiAtMjY4NDM1NDU2IDw8IDIwID09PSAwLiBBY3R1YWw6ICcgKyAoLTI2ODQzNTQ1NiA8PCAyMCkpOyAKfSAKCgppZiAoLTUzNjg3MDkxMiA8PCAyMCAhPT0gMCkgeyAKICAkRVJST1IoJyM2NzA6IC01MzY4NzA5MTIgPDwgMjAgPT09IDAuIEFjdHVhbDogJyArICgtNTM2ODcwOTEyIDw8IDIwKSk7IAp9IAoKCmlmICgtMTA3Mzc0MTgyNCA8PCAyMCAhPT0gMCkgeyAKICAkRVJST1IoJyM2NzE6IC0xMDczNzQxODI0IDw8IDIwID09PSAwLiBBY3R1YWw6ICcgKyAoLTEwNzM3NDE4MjQgPDwgMjApKTsgCn0gCgoKaWYgKC0yMTQ3NDgzNjQ4IDw8IDIwICE9PSAwKSB7IAogICRFUlJPUignIzY3MjogLTIxNDc0ODM2NDggPDwgMjAgPT09IDAuIEFjdHVhbDogJyArICgtMjE0NzQ4MzY0OCA8PCAyMCkpOyAKfSAKCgppZiAoLTEgPDwgMjEgIT09IC0yMDk3MTUyKSB7IAogICRFUlJPUignIzY3MzogLTEgPDwgMjEgPT09IC0yMDk3MTUyLiBBY3R1YWw6ICcgKyAoLTEgPDwgMjEpKTsgCn0gCgoKaWYgKC0yIDw8IDIxICE9PSAtNDE5NDMwNCkgeyAKICAkRVJST1IoJyM2NzQ6IC0yIDw8IDIxID09PSAtNDE5NDMwNC4gQWN0dWFsOiAnICsgKC0yIDw8IDIxKSk7IAp9IAoKCmlmICgtNCA8PCAyMSAhPT0gLTgzODg2MDgpIHsgCiAgJEVSUk9SKCcjNjc1OiAtNCA8PCAyMSA9PT0gLTgzODg2MDguIEFjdHVhbDogJyArICgtNCA8PCAyMSkpOyAKfSAKCgppZiAoLTggPDwgMjEgIT09IC0xNjc3NzIxNikgeyAKICAkRVJST1IoJyM2NzY6IC04IDw8IDIxID09PSAtMTY3NzcyMTYuIEFjdHVhbDogJyArICgtOCA8PCAyMSkpOyAKfSAKCgppZiAoLTE2IDw8IDIxICE9PSAtMzM1NTQ0MzIpIHsgCiAgJEVSUk9SKCcjNjc3OiAtMTYgPDwgMjEgPT09IC0zMzU1NDQzMi4gQWN0dWFsOiAnICsgKC0xNiA8PCAyMSkpOyAKfSAKCgppZiAoLTMyIDw8IDIxICE9PSAtNjcxMDg4NjQpIHsgCiAgJEVSUk9SKCcjNjc4OiAtMzIgPDwgMjEgPT09IC02NzEwODg2NC4gQWN0dWFsOiAnICsgKC0zMiA8PCAyMSkpOyAKfSAKCgppZiAoLTY0IDw8IDIxICE9PSAtMTM0MjE3NzI4KSB7IAogICRFUlJPUignIzY3OTogLTY0IDw8IDIxID09PSAtMTM0MjE3NzI4LiBBY3R1YWw6ICcgKyAoLTY0IDw8IDIxKSk7IAp9IAoKCmlmICgtMTI4IDw8IDIxICE9PSAtMjY4NDM1NDU2KSB7IAogICRFUlJPUignIzY4MDogLTEyOCA8PCAyMSA9PT0gLTI2ODQzNTQ1Ni4gQWN0dWFsOiAnICsgKC0xMjggPDwgMjEpKTsgCn0gCgoKaWYgKC0yNTYgPDwgMjEgIT09IC01MzY4NzA5MTIpIHsgCiAgJEVSUk9SKCcjNjgxOiAtMjU2IDw8IDIxID09PSAtNTM2ODcwOTEyLiBBY3R1YWw6ICcgKyAoLTI1NiA8PCAyMSkpOyAKfSAKCgppZiAoLTUxMiA8PCAyMSAhPT0gLTEwNzM3NDE4MjQpIHsgCiAgJEVSUk9SKCcjNjgyOiAtNTEyIDw8IDIxID09PSAtMTA3Mzc0MTgyNC4gQWN0dWFsOiAnICsgKC01MTIgPDwgMjEpKTsgCn0gCgoKaWYgKC0xMDI0IDw8IDIxICE9PSAtMjE0NzQ4MzY0OCkgeyAKICAkRVJST1IoJyM2ODM6IC0xMDI0IDw8IDIxID09PSAtMjE0NzQ4MzY0OC4gQWN0dWFsOiAnICsgKC0xMDI0IDw8IDIxKSk7IAp9IAoKCmlmICgtMjA0OCA8PCAyMSAhPT0gMCkgeyAKICAkRVJST1IoJyM2ODQ6IC0yMDQ4IDw8IDIxID09PSAwLiBBY3R1YWw6ICcgKyAoLTIwNDggPDwgMjEpKTsgCn0gCgoKaWYgKC00MDk2IDw8IDIxICE9PSAwKSB7IAogICRFUlJPUignIzY4NTogLTQwOTYgPDwgMjEgPT09IDAuIEFjdHVhbDogJyArICgtNDA5NiA8PCAyMSkpOyAKfSAKCgppZiAoLTgxOTIgPDwgMjEgIT09IDApIHsgCiAgJEVSUk9SKCcjNjg2OiAtODE5MiA8PCAyMSA9PT0gMC4gQWN0dWFsOiAnICsgKC04MTkyIDw8IDIxKSk7IAp9IAoKCmlmICgtMTYzODQgPDwgMjEgIT09IDApIHsgCiAgJEVSUk9SKCcjNjg3OiAtMTYzODQgPDwgMjEgPT09IDAuIEFjdHVhbDogJyArICgtMTYzODQgPDwgMjEpKTsgCn0gCgoKaWYgKC0zMjc2OCA8PCAyMSAhPT0gMCkgeyAKICAkRVJST1IoJyM2ODg6IC0zMjc2OCA8PCAyMSA9PT0gMC4gQWN0dWFsOiAnICsgKC0zMjc2OCA8PCAyMSkpOyAKfSAKCgppZiAoLTY1NTM2IDw8IDIxICE9PSAwKSB7IAogICRFUlJPUignIzY4OTogLTY1NTM2IDw8IDIxID09PSAwLiBBY3R1YWw6ICcgKyAoLTY1NTM2IDw8IDIxKSk7IAp9IAoKCmlmICgtMTMxMDcyIDw8IDIxICE9PSAwKSB7IAogICRFUlJPUignIzY5MDogLTEzMTA3MiA8PCAyMSA9PT0gMC4gQWN0dWFsOiAnICsgKC0xMzEwNzIgPDwgMjEpKTsgCn0gCgoKaWYgKC0yNjIxNDQgPDwgMjEgIT09IDApIHsgCiAgJEVSUk9SKCcjNjkxOiAtMjYyMTQ0IDw8IDIxID09PSAwLiBBY3R1YWw6ICcgKyAoLTI2MjE0NCA8PCAyMSkpOyAKfSAKCgppZiAoLTUyNDI4OCA8PCAyMSAhPT0gMCkgeyAKICAkRVJST1IoJyM2OTI6IC01MjQyODggPDwgMjEgPT09IDAuIEFjdHVhbDogJyArICgtNTI0Mjg4IDw8IDIxKSk7IAp9IAoKCmlmICgtMTA0ODU3NiA8PCAyMSAhPT0gMCkgeyAKICAkRVJST1IoJyM2OTM6IC0xMDQ4NTc2IDw8IDIxID09PSAwLiBBY3R1YWw6ICcgKyAoLTEwNDg1NzYgPDwgMjEpKTsgCn0gCgoKaWYgKC0yMDk3MTUyIDw8IDIxICE9PSAwKSB7IAogICRFUlJPUignIzY5NDogLTIwOTcxNTIgPDwgMjEgPT09IDAuIEFjdHVhbDogJyArICgtMjA5NzE1MiA8PCAyMSkpOyAKfSAKCgppZiAoLTQxOTQzMDQgPDwgMjEgIT09IDApIHsgCiAgJEVSUk9SKCcjNjk1OiAtNDE5NDMwNCA8PCAyMSA9PT0gMC4gQWN0dWFsOiAnICsgKC00MTk0MzA0IDw8IDIxKSk7IAp9IAoKCmlmICgtODM4ODYwOCA8PCAyMSAhPT0gMCkgeyAKICAkRVJST1IoJyM2OTY6IC04Mzg4NjA4IDw8IDIxID09PSAwLiBBY3R1YWw6ICcgKyAoLTgzODg2MDggPDwgMjEpKTsgCn0gCgoKaWYgKC0xNjc3NzIxNiA8PCAyMSAhPT0gMCkgeyAKICAkRVJST1IoJyM2OTc6IC0xNjc3NzIxNiA8PCAyMSA9PT0gMC4gQWN0dWFsOiAnICsgKC0xNjc3NzIxNiA8PCAyMSkpOyAKfSAKCgppZiAoLTMzNTU0NDMyIDw8IDIxICE9PSAwKSB7IAogICRFUlJPUignIzY5ODogLTMzNTU0NDMyIDw8IDIxID09PSAwLiBBY3R1YWw6ICcgKyAoLTMzNTU0NDMyIDw8IDIxKSk7IAp9IAoKCmlmICgtNjcxMDg4NjQgPDwgMjEgIT09IDApIHsgCiAgJEVSUk9SKCcjNjk5OiAtNjcxMDg4NjQgPDwgMjEgPT09IDAuIEFjdHVhbDogJyArICgtNjcxMDg4NjQgPDwgMjEpKTsgCn0gCgoKaWYgKC0xMzQyMTc3MjggPDwgMjEgIT09IDApIHsgCiAgJEVSUk9SKCcjNzAwOiAtMTM0MjE3NzI4IDw8IDIxID09PSAwLiBBY3R1YWw6ICcgKyAoLTEzNDIxNzcyOCA8PCAyMSkpOyAKfSAKCgppZiAoLTI2ODQzNTQ1NiA8PCAyMSAhPT0gMCkgeyAKICAkRVJST1IoJyM3MDE6IC0yNjg0MzU0NTYgPDwgMjEgPT09IDAuIEFjdHVhbDogJyArICgtMjY4NDM1NDU2IDw8IDIxKSk7IAp9IAoKCmlmICgtNTM2ODcwOTEyIDw8IDIxICE9PSAwKSB7IAogICRFUlJPUignIzcwMjogLTUzNjg3MDkxMiA8PCAyMSA9PT0gMC4gQWN0dWFsOiAnICsgKC01MzY4NzA5MTIgPDwgMjEpKTsgCn0gCgoKaWYgKC0xMDczNzQxODI0IDw8IDIxICE9PSAwKSB7IAogICRFUlJPUignIzcwMzogLTEwNzM3NDE4MjQgPDwgMjEgPT09IDAuIEFjdHVhbDogJyArICgtMTA3Mzc0MTgyNCA8PCAyMSkpOyAKfSAKCgppZiAoLTIxNDc0ODM2NDggPDwgMjEgIT09IDApIHsgCiAgJEVSUk9SKCcjNzA0OiAtMjE0NzQ4MzY0OCA8PCAyMSA9PT0gMC4gQWN0dWFsOiAnICsgKC0yMTQ3NDgzNjQ4IDw8IDIxKSk7IAp9IAoKCmlmICgtMSA8PCAyMiAhPT0gLTQxOTQzMDQpIHsgCiAgJEVSUk9SKCcjNzA1OiAtMSA8PCAyMiA9PT0gLTQxOTQzMDQuIEFjdHVhbDogJyArICgtMSA8PCAyMikpOyAKfSAKCgppZiAoLTIgPDwgMjIgIT09IC04Mzg4NjA4KSB7IAogICRFUlJPUignIzcwNjogLTIgPDwgMjIgPT09IC04Mzg4NjA4LiBBY3R1YWw6ICcgKyAoLTIgPDwgMjIpKTsgCn0gCgoKaWYgKC00IDw8IDIyICE9PSAtMTY3NzcyMTYpIHsgCiAgJEVSUk9SKCcjNzA3OiAtNCA8PCAyMiA9PT0gLTE2Nzc3MjE2LiBBY3R1YWw6ICcgKyAoLTQgPDwgMjIpKTsgCn0gCgoKaWYgKC04IDw8IDIyICE9PSAtMzM1NTQ0MzIpIHsgCiAgJEVSUk9SKCcjNzA4OiAtOCA8PCAyMiA9PT0gLTMzNTU0NDMyLiBBY3R1YWw6ICcgKyAoLTggPDwgMjIpKTsgCn0gCgoKaWYgKC0xNiA8PCAyMiAhPT0gLTY3MTA4ODY0KSB7IAogICRFUlJPUignIzcwOTogLTE2IDw8IDIyID09PSAtNjcxMDg4NjQuIEFjdHVhbDogJyArICgtMTYgPDwgMjIpKTsgCn0gCgoKaWYgKC0zMiA8PCAyMiAhPT0gLTEzNDIxNzcyOCkgeyAKICAkRVJST1IoJyM3MTA6IC0zMiA8PCAyMiA9PT0gLTEzNDIxNzcyOC4gQWN0dWFsOiAnICsgKC0zMiA8PCAyMikpOyAKfSAKCgppZiAoLTY0IDw8IDIyICE9PSAtMjY4NDM1NDU2KSB7IAogICRFUlJPUignIzcxMTogLTY0IDw8IDIyID09PSAtMjY4NDM1NDU2LiBBY3R1YWw6ICcgKyAoLTY0IDw8IDIyKSk7IAp9IAoKCmlmICgtMTI4IDw8IDIyICE9PSAtNTM2ODcwOTEyKSB7IAogICRFUlJPUignIzcxMjogLTEyOCA8PCAyMiA9PT0gLTUzNjg3MDkxMi4gQWN0dWFsOiAnICsgKC0xMjggPDwgMjIpKTsgCn0gCgoKaWYgKC0yNTYgPDwgMjIgIT09IC0xMDczNzQxODI0KSB7IAogICRFUlJPUignIzcxMzogLTI1NiA8PCAyMiA9PT0gLTEwNzM3NDE4MjQuIEFjdHVhbDogJyArICgtMjU2IDw8IDIyKSk7IAp9IAoKCmlmICgtNTEyIDw8IDIyICE9PSAtMjE0NzQ4MzY0OCkgeyAKICAkRVJST1IoJyM3MTQ6IC01MTIgPDwgMjIgPT09IC0yMTQ3NDgzNjQ4LiBBY3R1YWw6ICcgKyAoLTUxMiA8PCAyMikpOyAKfSAKCgppZiAoLTEwMjQgPDwgMjIgIT09IDApIHsgCiAgJEVSUk9SKCcjNzE1OiAtMTAyNCA8PCAyMiA9PT0gMC4gQWN0dWFsOiAnICsgKC0xMDI0IDw8IDIyKSk7IAp9IAoKCmlmICgtMjA0OCA8PCAyMiAhPT0gMCkgeyAKICAkRVJST1IoJyM3MTY6IC0yMDQ4IDw8IDIyID09PSAwLiBBY3R1YWw6ICcgKyAoLTIwNDggPDwgMjIpKTsgCn0gCgoKaWYgKC00MDk2IDw8IDIyICE9PSAwKSB7IAogICRFUlJPUignIzcxNzogLTQwOTYgPDwgMjIgPT09IDAuIEFjdHVhbDogJyArICgtNDA5NiA8PCAyMikpOyAKfSAKCgppZiAoLTgxOTIgPDwgMjIgIT09IDApIHsgCiAgJEVSUk9SKCcjNzE4OiAtODE5MiA8PCAyMiA9PT0gMC4gQWN0dWFsOiAnICsgKC04MTkyIDw8IDIyKSk7IAp9IAoKCmlmICgtMTYzODQgPDwgMjIgIT09IDApIHsgCiAgJEVSUk9SKCcjNzE5OiAtMTYzODQgPDwgMjIgPT09IDAuIEFjdHVhbDogJyArICgtMTYzODQgPDwgMjIpKTsgCn0gCgoKaWYgKC0zMjc2OCA8PCAyMiAhPT0gMCkgeyAKICAkRVJST1IoJyM3MjA6IC0zMjc2OCA8PCAyMiA9PT0gMC4gQWN0dWFsOiAnICsgKC0zMjc2OCA8PCAyMikpOyAKfSAKCgppZiAoLTY1NTM2IDw8IDIyICE9PSAwKSB7IAogICRFUlJPUignIzcyMTogLTY1NTM2IDw8IDIyID09PSAwLiBBY3R1YWw6ICcgKyAoLTY1NTM2IDw8IDIyKSk7IAp9IAoKCmlmICgtMTMxMDcyIDw8IDIyICE9PSAwKSB7IAogICRFUlJPUignIzcyMjogLTEzMTA3MiA8PCAyMiA9PT0gMC4gQWN0dWFsOiAnICsgKC0xMzEwNzIgPDwgMjIpKTsgCn0gCgoKaWYgKC0yNjIxNDQgPDwgMjIgIT09IDApIHsgCiAgJEVSUk9SKCcjNzIzOiAtMjYyMTQ0IDw8IDIyID09PSAwLiBBY3R1YWw6ICcgKyAoLTI2MjE0NCA8PCAyMikpOyAKfSAKCgppZiAoLTUyNDI4OCA8PCAyMiAhPT0gMCkgeyAKICAkRVJST1IoJyM3MjQ6IC01MjQyODggPDwgMjIgPT09IDAuIEFjdHVhbDogJyArICgtNTI0Mjg4IDw8IDIyKSk7IAp9IAoKCmlmICgtMTA0ODU3NiA8PCAyMiAhPT0gMCkgeyAKICAkRVJST1IoJyM3MjU6IC0xMDQ4NTc2IDw8IDIyID09PSAwLiBBY3R1YWw6ICcgKyAoLTEwNDg1NzYgPDwgMjIpKTsgCn0gCgoKaWYgKC0yMDk3MTUyIDw8IDIyICE9PSAwKSB7IAogICRFUlJPUignIzcyNjogLTIwOTcxNTIgPDwgMjIgPT09IDAuIEFjdHVhbDogJyArICgtMjA5NzE1MiA8PCAyMikpOyAKfSAKCgppZiAoLTQxOTQzMDQgPDwgMjIgIT09IDApIHsgCiAgJEVSUk9SKCcjNzI3OiAtNDE5NDMwNCA8PCAyMiA9PT0gMC4gQWN0dWFsOiAnICsgKC00MTk0MzA0IDw8IDIyKSk7IAp9IAoKCmlmICgtODM4ODYwOCA8PCAyMiAhPT0gMCkgeyAKICAkRVJST1IoJyM3Mjg6IC04Mzg4NjA4IDw8IDIyID09PSAwLiBBY3R1YWw6ICcgKyAoLTgzODg2MDggPDwgMjIpKTsgCn0gCgoKaWYgKC0xNjc3NzIxNiA8PCAyMiAhPT0gMCkgeyAKICAkRVJST1IoJyM3Mjk6IC0xNjc3NzIxNiA8PCAyMiA9PT0gMC4gQWN0dWFsOiAnICsgKC0xNjc3NzIxNiA8PCAyMikpOyAKfSAKCgppZiAoLTMzNTU0NDMyIDw8IDIyICE9PSAwKSB7IAogICRFUlJPUignIzczMDogLTMzNTU0NDMyIDw8IDIyID09PSAwLiBBY3R1YWw6ICcgKyAoLTMzNTU0NDMyIDw8IDIyKSk7IAp9IAoKCmlmICgtNjcxMDg4NjQgPDwgMjIgIT09IDApIHsgCiAgJEVSUk9SKCcjNzMxOiAtNjcxMDg4NjQgPDwgMjIgPT09IDAuIEFjdHVhbDogJyArICgtNjcxMDg4NjQgPDwgMjIpKTsgCn0gCgoKaWYgKC0xMzQyMTc3MjggPDwgMjIgIT09IDApIHsgCiAgJEVSUk9SKCcjNzMyOiAtMTM0MjE3NzI4IDw8IDIyID09PSAwLiBBY3R1YWw6ICcgKyAoLTEzNDIxNzcyOCA8PCAyMikpOyAKfSAKCgppZiAoLTI2ODQzNTQ1NiA8PCAyMiAhPT0gMCkgeyAKICAkRVJST1IoJyM3MzM6IC0yNjg0MzU0NTYgPDwgMjIgPT09IDAuIEFjdHVhbDogJyArICgtMjY4NDM1NDU2IDw8IDIyKSk7IAp9IAoKCmlmICgtNTM2ODcwOTEyIDw8IDIyICE9PSAwKSB7IAogICRFUlJPUignIzczNDogLTUzNjg3MDkxMiA8PCAyMiA9PT0gMC4gQWN0dWFsOiAnICsgKC01MzY4NzA5MTIgPDwgMjIpKTsgCn0gCgoKaWYgKC0xMDczNzQxODI0IDw8IDIyICE9PSAwKSB7IAogICRFUlJPUignIzczNTogLTEwNzM3NDE4MjQgPDwgMjIgPT09IDAuIEFjdHVhbDogJyArICgtMTA3Mzc0MTgyNCA8PCAyMikpOyAKfSAKCgppZiAoLTIxNDc0ODM2NDggPDwgMjIgIT09IDApIHsgCiAgJEVSUk9SKCcjNzM2OiAtMjE0NzQ4MzY0OCA8PCAyMiA9PT0gMC4gQWN0dWFsOiAnICsgKC0yMTQ3NDgzNjQ4IDw8IDIyKSk7IAp9IAoKCmlmICgtMSA8PCAyMyAhPT0gLTgzODg2MDgpIHsgCiAgJEVSUk9SKCcjNzM3OiAtMSA8PCAyMyA9PT0gLTgzODg2MDguIEFjdHVhbDogJyArICgtMSA8PCAyMykpOyAKfSAKCgppZiAoLTIgPDwgMjMgIT09IC0xNjc3NzIxNikgeyAKICAkRVJST1IoJyM3Mzg6IC0yIDw8IDIzID09PSAtMTY3NzcyMTYuIEFjdHVhbDogJyArICgtMiA8PCAyMykpOyAKfSAKCgppZiAoLTQgPDwgMjMgIT09IC0zMzU1NDQzMikgeyAKICAkRVJST1IoJyM3Mzk6IC00IDw8IDIzID09PSAtMzM1NTQ0MzIuIEFjdHVhbDogJyArICgtNCA8PCAyMykpOyAKfSAKCgppZiAoLTggPDwgMjMgIT09IC02NzEwODg2NCkgeyAKICAkRVJST1IoJyM3NDA6IC04IDw8IDIzID09PSAtNjcxMDg4NjQuIEFjdHVhbDogJyArICgtOCA8PCAyMykpOyAKfSAKCgppZiAoLTE2IDw8IDIzICE9PSAtMTM0MjE3NzI4KSB7IAogICRFUlJPUignIzc0MTogLTE2IDw8IDIzID09PSAtMTM0MjE3NzI4LiBBY3R1YWw6ICcgKyAoLTE2IDw8IDIzKSk7IAp9IAoKCmlmICgtMzIgPDwgMjMgIT09IC0yNjg0MzU0NTYpIHsgCiAgJEVSUk9SKCcjNzQyOiAtMzIgPDwgMjMgPT09IC0yNjg0MzU0NTYuIEFjdHVhbDogJyArICgtMzIgPDwgMjMpKTsgCn0gCgoKaWYgKC02NCA8PCAyMyAhPT0gLTUzNjg3MDkxMikgeyAKICAkRVJST1IoJyM3NDM6IC02NCA8PCAyMyA9PT0gLTUzNjg3MDkxMi4gQWN0dWFsOiAnICsgKC02NCA8PCAyMykpOyAKfSAKCgppZiAoLTEyOCA8PCAyMyAhPT0gLTEwNzM3NDE4MjQpIHsgCiAgJEVSUk9SKCcjNzQ0OiAtMTI4IDw8IDIzID09PSAtMTA3Mzc0MTgyNC4gQWN0dWFsOiAnICsgKC0xMjggPDwgMjMpKTsgCn0gCgoKaWYgKC0yNTYgPDwgMjMgIT09IC0yMTQ3NDgzNjQ4KSB7IAogICRFUlJPUignIzc0NTogLTI1NiA8PCAyMyA9PT0gLTIxNDc0ODM2NDguIEFjdHVhbDogJyArICgtMjU2IDw8IDIzKSk7IAp9IAoKCmlmICgtNTEyIDw8IDIzICE9PSAwKSB7IAogICRFUlJPUignIzc0NjogLTUxMiA8PCAyMyA9PT0gMC4gQWN0dWFsOiAnICsgKC01MTIgPDwgMjMpKTsgCn0gCgoKaWYgKC0xMDI0IDw8IDIzICE9PSAwKSB7IAogICRFUlJPUignIzc0NzogLTEwMjQgPDwgMjMgPT09IDAuIEFjdHVhbDogJyArICgtMTAyNCA8PCAyMykpOyAKfSAKCgppZiAoLTIwNDggPDwgMjMgIT09IDApIHsgCiAgJEVSUk9SKCcjNzQ4OiAtMjA0OCA8PCAyMyA9PT0gMC4gQWN0dWFsOiAnICsgKC0yMDQ4IDw8IDIzKSk7IAp9IAoKCmlmICgtNDA5NiA8PCAyMyAhPT0gMCkgeyAKICAkRVJST1IoJyM3NDk6IC00MDk2IDw8IDIzID09PSAwLiBBY3R1YWw6ICcgKyAoLTQwOTYgPDwgMjMpKTsgCn0gCgoKaWYgKC04MTkyIDw8IDIzICE9PSAwKSB7IAogICRFUlJPUignIzc1MDogLTgxOTIgPDwgMjMgPT09IDAuIEFjdHVhbDogJyArICgtODE5MiA8PCAyMykpOyAKfSAKCgppZiAoLTE2Mzg0IDw8IDIzICE9PSAwKSB7IAogICRFUlJPUignIzc1MTogLTE2Mzg0IDw8IDIzID09PSAwLiBBY3R1YWw6ICcgKyAoLTE2Mzg0IDw8IDIzKSk7IAp9IAoKCmlmICgtMzI3NjggPDwgMjMgIT09IDApIHsgCiAgJEVSUk9SKCcjNzUyOiAtMzI3NjggPDwgMjMgPT09IDAuIEFjdHVhbDogJyArICgtMzI3NjggPDwgMjMpKTsgCn0gCgoKaWYgKC02NTUzNiA8PCAyMyAhPT0gMCkgeyAKICAkRVJST1IoJyM3NTM6IC02NTUzNiA8PCAyMyA9PT0gMC4gQWN0dWFsOiAnICsgKC02NTUzNiA8PCAyMykpOyAKfSAKCgppZiAoLTEzMTA3MiA8PCAyMyAhPT0gMCkgeyAKICAkRVJST1IoJyM3NTQ6IC0xMzEwNzIgPDwgMjMgPT09IDAuIEFjdHVhbDogJyArICgtMTMxMDcyIDw8IDIzKSk7IAp9IAoKCmlmICgtMjYyMTQ0IDw8IDIzICE9PSAwKSB7IAogICRFUlJPUignIzc1NTogLTI2MjE0NCA8PCAyMyA9PT0gMC4gQWN0dWFsOiAnICsgKC0yNjIxNDQgPDwgMjMpKTsgCn0gCgoKaWYgKC01MjQyODggPDwgMjMgIT09IDApIHsgCiAgJEVSUk9SKCcjNzU2OiAtNTI0Mjg4IDw8IDIzID09PSAwLiBBY3R1YWw6ICcgKyAoLTUyNDI4OCA8PCAyMykpOyAKfSAKCgppZiAoLTEwNDg1NzYgPDwgMjMgIT09IDApIHsgCiAgJEVSUk9SKCcjNzU3OiAtMTA0ODU3NiA8PCAyMyA9PT0gMC4gQWN0dWFsOiAnICsgKC0xMDQ4NTc2IDw8IDIzKSk7IAp9IAoKCmlmICgtMjA5NzE1MiA8PCAyMyAhPT0gMCkgeyAKICAkRVJST1IoJyM3NTg6IC0yMDk3MTUyIDw8IDIzID09PSAwLiBBY3R1YWw6ICcgKyAoLTIwOTcxNTIgPDwgMjMpKTsgCn0gCgoKaWYgKC00MTk0MzA0IDw8IDIzICE9PSAwKSB7IAogICRFUlJPUignIzc1OTogLTQxOTQzMDQgPDwgMjMgPT09IDAuIEFjdHVhbDogJyArICgtNDE5NDMwNCA8PCAyMykpOyAKfSAKCgppZiAoLTgzODg2MDggPDwgMjMgIT09IDApIHsgCiAgJEVSUk9SKCcjNzYwOiAtODM4ODYwOCA8PCAyMyA9PT0gMC4gQWN0dWFsOiAnICsgKC04Mzg4NjA4IDw8IDIzKSk7IAp9IAoKCmlmICgtMTY3NzcyMTYgPDwgMjMgIT09IDApIHsgCiAgJEVSUk9SKCcjNzYxOiAtMTY3NzcyMTYgPDwgMjMgPT09IDAuIEFjdHVhbDogJyArICgtMTY3NzcyMTYgPDwgMjMpKTsgCn0gCgoKaWYgKC0zMzU1NDQzMiA8PCAyMyAhPT0gMCkgeyAKICAkRVJST1IoJyM3NjI6IC0zMzU1NDQzMiA8PCAyMyA9PT0gMC4gQWN0dWFsOiAnICsgKC0zMzU1NDQzMiA8PCAyMykpOyAKfSAKCgppZiAoLTY3MTA4ODY0IDw8IDIzICE9PSAwKSB7IAogICRFUlJPUignIzc2MzogLTY3MTA4ODY0IDw8IDIzID09PSAwLiBBY3R1YWw6ICcgKyAoLTY3MTA4ODY0IDw8IDIzKSk7IAp9IAoKCmlmICgtMTM0MjE3NzI4IDw8IDIzICE9PSAwKSB7IAogICRFUlJPUignIzc2NDogLTEzNDIxNzcyOCA8PCAyMyA9PT0gMC4gQWN0dWFsOiAnICsgKC0xMzQyMTc3MjggPDwgMjMpKTsgCn0gCgoKaWYgKC0yNjg0MzU0NTYgPDwgMjMgIT09IDApIHsgCiAgJEVSUk9SKCcjNzY1OiAtMjY4NDM1NDU2IDw8IDIzID09PSAwLiBBY3R1YWw6ICcgKyAoLTI2ODQzNTQ1NiA8PCAyMykpOyAKfSAKCgppZiAoLTUzNjg3MDkxMiA8PCAyMyAhPT0gMCkgeyAKICAkRVJST1IoJyM3NjY6IC01MzY4NzA5MTIgPDwgMjMgPT09IDAuIEFjdHVhbDogJyArICgtNTM2ODcwOTEyIDw8IDIzKSk7IAp9IAoKCmlmICgtMTA3Mzc0MTgyNCA8PCAyMyAhPT0gMCkgeyAKICAkRVJST1IoJyM3Njc6IC0xMDczNzQxODI0IDw8IDIzID09PSAwLiBBY3R1YWw6ICcgKyAoLTEwNzM3NDE4MjQgPDwgMjMpKTsgCn0gCgoKaWYgKC0yMTQ3NDgzNjQ4IDw8IDIzICE9PSAwKSB7IAogICRFUlJPUignIzc2ODogLTIxNDc0ODM2NDggPDwgMjMgPT09IDAuIEFjdHVhbDogJyArICgtMjE0NzQ4MzY0OCA8PCAyMykpOyAKfSAKCgppZiAoLTEgPDwgMjQgIT09IC0xNjc3NzIxNikgeyAKICAkRVJST1IoJyM3Njk6IC0xIDw8IDI0ID09PSAtMTY3NzcyMTYuIEFjdHVhbDogJyArICgtMSA8PCAyNCkpOyAKfSAKCgppZiAoLTIgPDwgMjQgIT09IC0zMzU1NDQzMikgeyAKICAkRVJST1IoJyM3NzA6IC0yIDw8IDI0ID09PSAtMzM1NTQ0MzIuIEFjdHVhbDogJyArICgtMiA8PCAyNCkpOyAKfSAKCgppZiAoLTQgPDwgMjQgIT09IC02NzEwODg2NCkgeyAKICAkRVJST1IoJyM3NzE6IC00IDw8IDI0ID09PSAtNjcxMDg4NjQuIEFjdHVhbDogJyArICgtNCA8PCAyNCkpOyAKfSAKCgppZiAoLTggPDwgMjQgIT09IC0xMzQyMTc3MjgpIHsgCiAgJEVSUk9SKCcjNzcyOiAtOCA8PCAyNCA9PT0gLTEzNDIxNzcyOC4gQWN0dWFsOiAnICsgKC04IDw8IDI0KSk7IAp9IAoKCmlmICgtMTYgPDwgMjQgIT09IC0yNjg0MzU0NTYpIHsgCiAgJEVSUk9SKCcjNzczOiAtMTYgPDwgMjQgPT09IC0yNjg0MzU0NTYuIEFjdHVhbDogJyArICgtMTYgPDwgMjQpKTsgCn0gCgoKaWYgKC0zMiA8PCAyNCAhPT0gLTUzNjg3MDkxMikgeyAKICAkRVJST1IoJyM3NzQ6IC0zMiA8PCAyNCA9PT0gLTUzNjg3MDkxMi4gQWN0dWFsOiAnICsgKC0zMiA8PCAyNCkpOyAKfSAKCgppZiAoLTY0IDw8IDI0ICE9PSAtMTA3Mzc0MTgyNCkgeyAKICAkRVJST1IoJyM3NzU6IC02NCA8PCAyNCA9PT0gLTEwNzM3NDE4MjQuIEFjdHVhbDogJyArICgtNjQgPDwgMjQpKTsgCn0gCgoKaWYgKC0xMjggPDwgMjQgIT09IC0yMTQ3NDgzNjQ4KSB7IAogICRFUlJPUignIzc3NjogLTEyOCA8PCAyNCA9PT0gLTIxNDc0ODM2NDguIEFjdHVhbDogJyArICgtMTI4IDw8IDI0KSk7IAp9IAoKCmlmICgtMjU2IDw8IDI0ICE9PSAwKSB7IAogICRFUlJPUignIzc3NzogLTI1NiA8PCAyNCA9PT0gMC4gQWN0dWFsOiAnICsgKC0yNTYgPDwgMjQpKTsgCn0gCgoKaWYgKC01MTIgPDwgMjQgIT09IDApIHsgCiAgJEVSUk9SKCcjNzc4OiAtNTEyIDw8IDI0ID09PSAwLiBBY3R1YWw6ICcgKyAoLTUxMiA8PCAyNCkpOyAKfSAKCgppZiAoLTEwMjQgPDwgMjQgIT09IDApIHsgCiAgJEVSUk9SKCcjNzc5OiAtMTAyNCA8PCAyNCA9PT0gMC4gQWN0dWFsOiAnICsgKC0xMDI0IDw8IDI0KSk7IAp9IAoKCmlmICgtMjA0OCA8PCAyNCAhPT0gMCkgeyAKICAkRVJST1IoJyM3ODA6IC0yMDQ4IDw8IDI0ID09PSAwLiBBY3R1YWw6ICcgKyAoLTIwNDggPDwgMjQpKTsgCn0gCgoKaWYgKC00MDk2IDw8IDI0ICE9PSAwKSB7IAogICRFUlJPUignIzc4MTogLTQwOTYgPDwgMjQgPT09IDAuIEFjdHVhbDogJyArICgtNDA5NiA8PCAyNCkpOyAKfSAKCgppZiAoLTgxOTIgPDwgMjQgIT09IDApIHsgCiAgJEVSUk9SKCcjNzgyOiAtODE5MiA8PCAyNCA9PT0gMC4gQWN0dWFsOiAnICsgKC04MTkyIDw8IDI0KSk7IAp9IAoKCmlmICgtMTYzODQgPDwgMjQgIT09IDApIHsgCiAgJEVSUk9SKCcjNzgzOiAtMTYzODQgPDwgMjQgPT09IDAuIEFjdHVhbDogJyArICgtMTYzODQgPDwgMjQpKTsgCn0gCgoKaWYgKC0zMjc2OCA8PCAyNCAhPT0gMCkgeyAKICAkRVJST1IoJyM3ODQ6IC0zMjc2OCA8PCAyNCA9PT0gMC4gQWN0dWFsOiAnICsgKC0zMjc2OCA8PCAyNCkpOyAKfSAKCgppZiAoLTY1NTM2IDw8IDI0ICE9PSAwKSB7IAogICRFUlJPUignIzc4NTogLTY1NTM2IDw8IDI0ID09PSAwLiBBY3R1YWw6ICcgKyAoLTY1NTM2IDw8IDI0KSk7IAp9IAoKCmlmICgtMTMxMDcyIDw8IDI0ICE9PSAwKSB7IAogICRFUlJPUignIzc4NjogLTEzMTA3MiA8PCAyNCA9PT0gMC4gQWN0dWFsOiAnICsgKC0xMzEwNzIgPDwgMjQpKTsgCn0gCgoKaWYgKC0yNjIxNDQgPDwgMjQgIT09IDApIHsgCiAgJEVSUk9SKCcjNzg3OiAtMjYyMTQ0IDw8IDI0ID09PSAwLiBBY3R1YWw6ICcgKyAoLTI2MjE0NCA8PCAyNCkpOyAKfSAKCgppZiAoLTUyNDI4OCA8PCAyNCAhPT0gMCkgeyAKICAkRVJST1IoJyM3ODg6IC01MjQyODggPDwgMjQgPT09IDAuIEFjdHVhbDogJyArICgtNTI0Mjg4IDw8IDI0KSk7IAp9IAoKCmlmICgtMTA0ODU3NiA8PCAyNCAhPT0gMCkgeyAKICAkRVJST1IoJyM3ODk6IC0xMDQ4NTc2IDw8IDI0ID09PSAwLiBBY3R1YWw6ICcgKyAoLTEwNDg1NzYgPDwgMjQpKTsgCn0gCgoKaWYgKC0yMDk3MTUyIDw8IDI0ICE9PSAwKSB7IAogICRFUlJPUignIzc5MDogLTIwOTcxNTIgPDwgMjQgPT09IDAuIEFjdHVhbDogJyArICgtMjA5NzE1MiA8PCAyNCkpOyAKfSAKCgppZiAoLTQxOTQzMDQgPDwgMjQgIT09IDApIHsgCiAgJEVSUk9SKCcjNzkxOiAtNDE5NDMwNCA8PCAyNCA9PT0gMC4gQWN0dWFsOiAnICsgKC00MTk0MzA0IDw8IDI0KSk7IAp9IAoKCmlmICgtODM4ODYwOCA8PCAyNCAhPT0gMCkgeyAKICAkRVJST1IoJyM3OTI6IC04Mzg4NjA4IDw8IDI0ID09PSAwLiBBY3R1YWw6ICcgKyAoLTgzODg2MDggPDwgMjQpKTsgCn0gCgoKaWYgKC0xNjc3NzIxNiA8PCAyNCAhPT0gMCkgeyAKICAkRVJST1IoJyM3OTM6IC0xNjc3NzIxNiA8PCAyNCA9PT0gMC4gQWN0dWFsOiAnICsgKC0xNjc3NzIxNiA8PCAyNCkpOyAKfSAKCgppZiAoLTMzNTU0NDMyIDw8IDI0ICE9PSAwKSB7IAogICRFUlJPUignIzc5NDogLTMzNTU0NDMyIDw8IDI0ID09PSAwLiBBY3R1YWw6ICcgKyAoLTMzNTU0NDMyIDw8IDI0KSk7IAp9IAoKCmlmICgtNjcxMDg4NjQgPDwgMjQgIT09IDApIHsgCiAgJEVSUk9SKCcjNzk1OiAtNjcxMDg4NjQgPDwgMjQgPT09IDAuIEFjdHVhbDogJyArICgtNjcxMDg4NjQgPDwgMjQpKTsgCn0gCgoKaWYgKC0xMzQyMTc3MjggPDwgMjQgIT09IDApIHsgCiAgJEVSUk9SKCcjNzk2OiAtMTM0MjE3NzI4IDw8IDI0ID09PSAwLiBBY3R1YWw6ICcgKyAoLTEzNDIxNzcyOCA8PCAyNCkpOyAKfSAKCgppZiAoLTI2ODQzNTQ1NiA8PCAyNCAhPT0gMCkgeyAKICAkRVJST1IoJyM3OTc6IC0yNjg0MzU0NTYgPDwgMjQgPT09IDAuIEFjdHVhbDogJyArICgtMjY4NDM1NDU2IDw8IDI0KSk7IAp9IAoKCmlmICgtNTM2ODcwOTEyIDw8IDI0ICE9PSAwKSB7IAogICRFUlJPUignIzc5ODogLTUzNjg3MDkxMiA8PCAyNCA9PT0gMC4gQWN0dWFsOiAnICsgKC01MzY4NzA5MTIgPDwgMjQpKTsgCn0gCgoKaWYgKC0xMDczNzQxODI0IDw8IDI0ICE9PSAwKSB7IAogICRFUlJPUignIzc5OTogLTEwNzM3NDE4MjQgPDwgMjQgPT09IDAuIEFjdHVhbDogJyArICgtMTA3Mzc0MTgyNCA8PCAyNCkpOyAKfSAKCgppZiAoLTIxNDc0ODM2NDggPDwgMjQgIT09IDApIHsgCiAgJEVSUk9SKCcjODAwOiAtMjE0NzQ4MzY0OCA8PCAyNCA9PT0gMC4gQWN0dWFsOiAnICsgKC0yMTQ3NDgzNjQ4IDw8IDI0KSk7IAp9IAoKCmlmICgtMSA8PCAyNSAhPT0gLTMzNTU0NDMyKSB7IAogICRFUlJPUignIzgwMTogLTEgPDwgMjUgPT09IC0zMzU1NDQzMi4gQWN0dWFsOiAnICsgKC0xIDw8IDI1KSk7IAp9IAoKCmlmICgtMiA8PCAyNSAhPT0gLTY3MTA4ODY0KSB7IAogICRFUlJPUignIzgwMjogLTIgPDwgMjUgPT09IC02NzEwODg2NC4gQWN0dWFsOiAnICsgKC0yIDw8IDI1KSk7IAp9IAoKCmlmICgtNCA8PCAyNSAhPT0gLTEzNDIxNzcyOCkgeyAKICAkRVJST1IoJyM4MDM6IC00IDw8IDI1ID09PSAtMTM0MjE3NzI4LiBBY3R1YWw6ICcgKyAoLTQgPDwgMjUpKTsgCn0gCgoKaWYgKC04IDw8IDI1ICE9PSAtMjY4NDM1NDU2KSB7IAogICRFUlJPUignIzgwNDogLTggPDwgMjUgPT09IC0yNjg0MzU0NTYuIEFjdHVhbDogJyArICgtOCA8PCAyNSkpOyAKfSAKCgppZiAoLTE2IDw8IDI1ICE9PSAtNTM2ODcwOTEyKSB7IAogICRFUlJPUignIzgwNTogLTE2IDw8IDI1ID09PSAtNTM2ODcwOTEyLiBBY3R1YWw6ICcgKyAoLTE2IDw8IDI1KSk7IAp9IAoKCmlmICgtMzIgPDwgMjUgIT09IC0xMDczNzQxODI0KSB7IAogICRFUlJPUignIzgwNjogLTMyIDw8IDI1ID09PSAtMTA3Mzc0MTgyNC4gQWN0dWFsOiAnICsgKC0zMiA8PCAyNSkpOyAKfSAKCgppZiAoLTY0IDw8IDI1ICE9PSAtMjE0NzQ4MzY0OCkgeyAKICAkRVJST1IoJyM4MDc6IC02NCA8PCAyNSA9PT0gLTIxNDc0ODM2NDguIEFjdHVhbDogJyArICgtNjQgPDwgMjUpKTsgCn0gCgoKaWYgKC0xMjggPDwgMjUgIT09IDApIHsgCiAgJEVSUk9SKCcjODA4OiAtMTI4IDw8IDI1ID09PSAwLiBBY3R1YWw6ICcgKyAoLTEyOCA8PCAyNSkpOyAKfSAKCgppZiAoLTI1NiA8PCAyNSAhPT0gMCkgeyAKICAkRVJST1IoJyM4MDk6IC0yNTYgPDwgMjUgPT09IDAuIEFjdHVhbDogJyArICgtMjU2IDw8IDI1KSk7IAp9IAoKCmlmICgtNTEyIDw8IDI1ICE9PSAwKSB7IAogICRFUlJPUignIzgxMDogLTUxMiA8PCAyNSA9PT0gMC4gQWN0dWFsOiAnICsgKC01MTIgPDwgMjUpKTsgCn0gCgoKaWYgKC0xMDI0IDw8IDI1ICE9PSAwKSB7IAogICRFUlJPUignIzgxMTogLTEwMjQgPDwgMjUgPT09IDAuIEFjdHVhbDogJyArICgtMTAyNCA8PCAyNSkpOyAKfSAKCgppZiAoLTIwNDggPDwgMjUgIT09IDApIHsgCiAgJEVSUk9SKCcjODEyOiAtMjA0OCA8PCAyNSA9PT0gMC4gQWN0dWFsOiAnICsgKC0yMDQ4IDw8IDI1KSk7IAp9IAoKCmlmICgtNDA5NiA8PCAyNSAhPT0gMCkgeyAKICAkRVJST1IoJyM4MTM6IC00MDk2IDw8IDI1ID09PSAwLiBBY3R1YWw6ICcgKyAoLTQwOTYgPDwgMjUpKTsgCn0gCgoKaWYgKC04MTkyIDw8IDI1ICE9PSAwKSB7IAogICRFUlJPUignIzgxNDogLTgxOTIgPDwgMjUgPT09IDAuIEFjdHVhbDogJyArICgtODE5MiA8PCAyNSkpOyAKfSAKCgppZiAoLTE2Mzg0IDw8IDI1ICE9PSAwKSB7IAogICRFUlJPUignIzgxNTogLTE2Mzg0IDw8IDI1ID09PSAwLiBBY3R1YWw6ICcgKyAoLTE2Mzg0IDw8IDI1KSk7IAp9IAoKCmlmICgtMzI3NjggPDwgMjUgIT09IDApIHsgCiAgJEVSUk9SKCcjODE2OiAtMzI3NjggPDwgMjUgPT09IDAuIEFjdHVhbDogJyArICgtMzI3NjggPDwgMjUpKTsgCn0gCgoKaWYgKC02NTUzNiA8PCAyNSAhPT0gMCkgeyAKICAkRVJST1IoJyM4MTc6IC02NTUzNiA8PCAyNSA9PT0gMC4gQWN0dWFsOiAnICsgKC02NTUzNiA8PCAyNSkpOyAKfSAKCgppZiAoLTEzMTA3MiA8PCAyNSAhPT0gMCkgeyAKICAkRVJST1IoJyM4MTg6IC0xMzEwNzIgPDwgMjUgPT09IDAuIEFjdHVhbDogJyArICgtMTMxMDcyIDw8IDI1KSk7IAp9IAoKCmlmICgtMjYyMTQ0IDw8IDI1ICE9PSAwKSB7IAogICRFUlJPUignIzgxOTogLTI2MjE0NCA8PCAyNSA9PT0gMC4gQWN0dWFsOiAnICsgKC0yNjIxNDQgPDwgMjUpKTsgCn0gCgoKaWYgKC01MjQyODggPDwgMjUgIT09IDApIHsgCiAgJEVSUk9SKCcjODIwOiAtNTI0Mjg4IDw8IDI1ID09PSAwLiBBY3R1YWw6ICcgKyAoLTUyNDI4OCA8PCAyNSkpOyAKfSAKCgppZiAoLTEwNDg1NzYgPDwgMjUgIT09IDApIHsgCiAgJEVSUk9SKCcjODIxOiAtMTA0ODU3NiA8PCAyNSA9PT0gMC4gQWN0dWFsOiAnICsgKC0xMDQ4NTc2IDw8IDI1KSk7IAp9IAoKCmlmICgtMjA5NzE1MiA8PCAyNSAhPT0gMCkgeyAKICAkRVJST1IoJyM4MjI6IC0yMDk3MTUyIDw8IDI1ID09PSAwLiBBY3R1YWw6ICcgKyAoLTIwOTcxNTIgPDwgMjUpKTsgCn0gCgoKaWYgKC00MTk0MzA0IDw8IDI1ICE9PSAwKSB7IAogICRFUlJPUignIzgyMzogLTQxOTQzMDQgPDwgMjUgPT09IDAuIEFjdHVhbDogJyArICgtNDE5NDMwNCA8PCAyNSkpOyAKfSAKCgppZiAoLTgzODg2MDggPDwgMjUgIT09IDApIHsgCiAgJEVSUk9SKCcjODI0OiAtODM4ODYwOCA8PCAyNSA9PT0gMC4gQWN0dWFsOiAnICsgKC04Mzg4NjA4IDw8IDI1KSk7IAp9IAoKCmlmICgtMTY3NzcyMTYgPDwgMjUgIT09IDApIHsgCiAgJEVSUk9SKCcjODI1OiAtMTY3NzcyMTYgPDwgMjUgPT09IDAuIEFjdHVhbDogJyArICgtMTY3NzcyMTYgPDwgMjUpKTsgCn0gCgoKaWYgKC0zMzU1NDQzMiA8PCAyNSAhPT0gMCkgeyAKICAkRVJST1IoJyM4MjY6IC0zMzU1NDQzMiA8PCAyNSA9PT0gMC4gQWN0dWFsOiAnICsgKC0zMzU1NDQzMiA8PCAyNSkpOyAKfSAKCgppZiAoLTY3MTA4ODY0IDw8IDI1ICE9PSAwKSB7IAogICRFUlJPUignIzgyNzogLTY3MTA4ODY0IDw8IDI1ID09PSAwLiBBY3R1YWw6ICcgKyAoLTY3MTA4ODY0IDw8IDI1KSk7IAp9IAoKCmlmICgtMTM0MjE3NzI4IDw8IDI1ICE9PSAwKSB7IAogICRFUlJPUignIzgyODogLTEzNDIxNzcyOCA8PCAyNSA9PT0gMC4gQWN0dWFsOiAnICsgKC0xMzQyMTc3MjggPDwgMjUpKTsgCn0gCgoKaWYgKC0yNjg0MzU0NTYgPDwgMjUgIT09IDApIHsgCiAgJEVSUk9SKCcjODI5OiAtMjY4NDM1NDU2IDw8IDI1ID09PSAwLiBBY3R1YWw6ICcgKyAoLTI2ODQzNTQ1NiA8PCAyNSkpOyAKfSAKCgppZiAoLTUzNjg3MDkxMiA8PCAyNSAhPT0gMCkgeyAKICAkRVJST1IoJyM4MzA6IC01MzY4NzA5MTIgPDwgMjUgPT09IDAuIEFjdHVhbDogJyArICgtNTM2ODcwOTEyIDw8IDI1KSk7IAp9IAoKCmlmICgtMTA3Mzc0MTgyNCA8PCAyNSAhPT0gMCkgeyAKICAkRVJST1IoJyM4MzE6IC0xMDczNzQxODI0IDw8IDI1ID09PSAwLiBBY3R1YWw6ICcgKyAoLTEwNzM3NDE4MjQgPDwgMjUpKTsgCn0gCgoKaWYgKC0yMTQ3NDgzNjQ4IDw8IDI1ICE9PSAwKSB7IAogICRFUlJPUignIzgzMjogLTIxNDc0ODM2NDggPDwgMjUgPT09IDAuIEFjdHVhbDogJyArICgtMjE0NzQ4MzY0OCA8PCAyNSkpOyAKfSAKCgppZiAoLTEgPDwgMjYgIT09IC02NzEwODg2NCkgeyAKICAkRVJST1IoJyM4MzM6IC0xIDw8IDI2ID09PSAtNjcxMDg4NjQuIEFjdHVhbDogJyArICgtMSA8PCAyNikpOyAKfSAKCgppZiAoLTIgPDwgMjYgIT09IC0xMzQyMTc3MjgpIHsgCiAgJEVSUk9SKCcjODM0OiAtMiA8PCAyNiA9PT0gLTEzNDIxNzcyOC4gQWN0dWFsOiAnICsgKC0yIDw8IDI2KSk7IAp9IAoKCmlmICgtNCA8PCAyNiAhPT0gLTI2ODQzNTQ1NikgeyAKICAkRVJST1IoJyM4MzU6IC00IDw8IDI2ID09PSAtMjY4NDM1NDU2LiBBY3R1YWw6ICcgKyAoLTQgPDwgMjYpKTsgCn0gCgoKaWYgKC04IDw8IDI2ICE9PSAtNTM2ODcwOTEyKSB7IAogICRFUlJPUignIzgzNjogLTggPDwgMjYgPT09IC01MzY4NzA5MTIuIEFjdHVhbDogJyArICgtOCA8PCAyNikpOyAKfSAKCgppZiAoLTE2IDw8IDI2ICE9PSAtMTA3Mzc0MTgyNCkgeyAKICAkRVJST1IoJyM4Mzc6IC0xNiA8PCAyNiA9PT0gLTEwNzM3NDE4MjQuIEFjdHVhbDogJyArICgtMTYgPDwgMjYpKTsgCn0gCgoKaWYgKC0zMiA8PCAyNiAhPT0gLTIxNDc0ODM2NDgpIHsgCiAgJEVSUk9SKCcjODM4OiAtMzIgPDwgMjYgPT09IC0yMTQ3NDgzNjQ4LiBBY3R1YWw6ICcgKyAoLTMyIDw8IDI2KSk7IAp9IAoKCmlmICgtNjQgPDwgMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODM5OiAtNjQgPDwgMjYgPT09IDAuIEFjdHVhbDogJyArICgtNjQgPDwgMjYpKTsgCn0gCgoKaWYgKC0xMjggPDwgMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODQwOiAtMTI4IDw8IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoLTEyOCA8PCAyNikpOyAKfSAKCgppZiAoLTI1NiA8PCAyNiAhPT0gMCkgeyAKICAkRVJST1IoJyM4NDE6IC0yNTYgPDwgMjYgPT09IDAuIEFjdHVhbDogJyArICgtMjU2IDw8IDI2KSk7IAp9IAoKCmlmICgtNTEyIDw8IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzg0MjogLTUxMiA8PCAyNiA9PT0gMC4gQWN0dWFsOiAnICsgKC01MTIgPDwgMjYpKTsgCn0gCgoKaWYgKC0xMDI0IDw8IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzg0MzogLTEwMjQgPDwgMjYgPT09IDAuIEFjdHVhbDogJyArICgtMTAyNCA8PCAyNikpOyAKfSAKCgppZiAoLTIwNDggPDwgMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODQ0OiAtMjA0OCA8PCAyNiA9PT0gMC4gQWN0dWFsOiAnICsgKC0yMDQ4IDw8IDI2KSk7IAp9IAoKCmlmICgtNDA5NiA8PCAyNiAhPT0gMCkgeyAKICAkRVJST1IoJyM4NDU6IC00MDk2IDw8IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoLTQwOTYgPDwgMjYpKTsgCn0gCgoKaWYgKC04MTkyIDw8IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzg0NjogLTgxOTIgPDwgMjYgPT09IDAuIEFjdHVhbDogJyArICgtODE5MiA8PCAyNikpOyAKfSAKCgppZiAoLTE2Mzg0IDw8IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzg0NzogLTE2Mzg0IDw8IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoLTE2Mzg0IDw8IDI2KSk7IAp9IAoKCmlmICgtMzI3NjggPDwgMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODQ4OiAtMzI3NjggPDwgMjYgPT09IDAuIEFjdHVhbDogJyArICgtMzI3NjggPDwgMjYpKTsgCn0gCgoKaWYgKC02NTUzNiA8PCAyNiAhPT0gMCkgeyAKICAkRVJST1IoJyM4NDk6IC02NTUzNiA8PCAyNiA9PT0gMC4gQWN0dWFsOiAnICsgKC02NTUzNiA8PCAyNikpOyAKfSAKCgppZiAoLTEzMTA3MiA8PCAyNiAhPT0gMCkgeyAKICAkRVJST1IoJyM4NTA6IC0xMzEwNzIgPDwgMjYgPT09IDAuIEFjdHVhbDogJyArICgtMTMxMDcyIDw8IDI2KSk7IAp9IAoKCmlmICgtMjYyMTQ0IDw8IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzg1MTogLTI2MjE0NCA8PCAyNiA9PT0gMC4gQWN0dWFsOiAnICsgKC0yNjIxNDQgPDwgMjYpKTsgCn0gCgoKaWYgKC01MjQyODggPDwgMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODUyOiAtNTI0Mjg4IDw8IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoLTUyNDI4OCA8PCAyNikpOyAKfSAKCgppZiAoLTEwNDg1NzYgPDwgMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODUzOiAtMTA0ODU3NiA8PCAyNiA9PT0gMC4gQWN0dWFsOiAnICsgKC0xMDQ4NTc2IDw8IDI2KSk7IAp9IAoKCmlmICgtMjA5NzE1MiA8PCAyNiAhPT0gMCkgeyAKICAkRVJST1IoJyM4NTQ6IC0yMDk3MTUyIDw8IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoLTIwOTcxNTIgPDwgMjYpKTsgCn0gCgoKaWYgKC00MTk0MzA0IDw8IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzg1NTogLTQxOTQzMDQgPDwgMjYgPT09IDAuIEFjdHVhbDogJyArICgtNDE5NDMwNCA8PCAyNikpOyAKfSAKCgppZiAoLTgzODg2MDggPDwgMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODU2OiAtODM4ODYwOCA8PCAyNiA9PT0gMC4gQWN0dWFsOiAnICsgKC04Mzg4NjA4IDw8IDI2KSk7IAp9IAoKCmlmICgtMTY3NzcyMTYgPDwgMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODU3OiAtMTY3NzcyMTYgPDwgMjYgPT09IDAuIEFjdHVhbDogJyArICgtMTY3NzcyMTYgPDwgMjYpKTsgCn0gCgoKaWYgKC0zMzU1NDQzMiA8PCAyNiAhPT0gMCkgeyAKICAkRVJST1IoJyM4NTg6IC0zMzU1NDQzMiA8PCAyNiA9PT0gMC4gQWN0dWFsOiAnICsgKC0zMzU1NDQzMiA8PCAyNikpOyAKfSAKCgppZiAoLTY3MTA4ODY0IDw8IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzg1OTogLTY3MTA4ODY0IDw8IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoLTY3MTA4ODY0IDw8IDI2KSk7IAp9IAoKCmlmICgtMTM0MjE3NzI4IDw8IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzg2MDogLTEzNDIxNzcyOCA8PCAyNiA9PT0gMC4gQWN0dWFsOiAnICsgKC0xMzQyMTc3MjggPDwgMjYpKTsgCn0gCgoKaWYgKC0yNjg0MzU0NTYgPDwgMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODYxOiAtMjY4NDM1NDU2IDw8IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoLTI2ODQzNTQ1NiA8PCAyNikpOyAKfSAKCgppZiAoLTUzNjg3MDkxMiA8PCAyNiAhPT0gMCkgeyAKICAkRVJST1IoJyM4NjI6IC01MzY4NzA5MTIgPDwgMjYgPT09IDAuIEFjdHVhbDogJyArICgtNTM2ODcwOTEyIDw8IDI2KSk7IAp9IAoKCmlmICgtMTA3Mzc0MTgyNCA8PCAyNiAhPT0gMCkgeyAKICAkRVJST1IoJyM4NjM6IC0xMDczNzQxODI0IDw8IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoLTEwNzM3NDE4MjQgPDwgMjYpKTsgCn0gCgoKaWYgKC0yMTQ3NDgzNjQ4IDw8IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzg2NDogLTIxNDc0ODM2NDggPDwgMjYgPT09IDAuIEFjdHVhbDogJyArICgtMjE0NzQ4MzY0OCA8PCAyNikpOyAKfSAKCgppZiAoLTEgPDwgMjcgIT09IC0xMzQyMTc3MjgpIHsgCiAgJEVSUk9SKCcjODY1OiAtMSA8PCAyNyA9PT0gLTEzNDIxNzcyOC4gQWN0dWFsOiAnICsgKC0xIDw8IDI3KSk7IAp9IAoKCmlmICgtMiA8PCAyNyAhPT0gLTI2ODQzNTQ1NikgeyAKICAkRVJST1IoJyM4NjY6IC0yIDw8IDI3ID09PSAtMjY4NDM1NDU2LiBBY3R1YWw6ICcgKyAoLTIgPDwgMjcpKTsgCn0gCgoKaWYgKC00IDw8IDI3ICE9PSAtNTM2ODcwOTEyKSB7IAogICRFUlJPUignIzg2NzogLTQgPDwgMjcgPT09IC01MzY4NzA5MTIuIEFjdHVhbDogJyArICgtNCA8PCAyNykpOyAKfSAKCgppZiAoLTggPDwgMjcgIT09IC0xMDczNzQxODI0KSB7IAogICRFUlJPUignIzg2ODogLTggPDwgMjcgPT09IC0xMDczNzQxODI0LiBBY3R1YWw6ICcgKyAoLTggPDwgMjcpKTsgCn0gCgoKaWYgKC0xNiA8PCAyNyAhPT0gLTIxNDc0ODM2NDgpIHsgCiAgJEVSUk9SKCcjODY5OiAtMTYgPDwgMjcgPT09IC0yMTQ3NDgzNjQ4LiBBY3R1YWw6ICcgKyAoLTE2IDw8IDI3KSk7IAp9IAoKCmlmICgtMzIgPDwgMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjODcwOiAtMzIgPDwgMjcgPT09IDAuIEFjdHVhbDogJyArICgtMzIgPDwgMjcpKTsgCn0gCgoKaWYgKC02NCA8PCAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM4NzE6IC02NCA8PCAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKC02NCA8PCAyNykpOyAKfSAKCgppZiAoLTEyOCA8PCAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM4NzI6IC0xMjggPDwgMjcgPT09IDAuIEFjdHVhbDogJyArICgtMTI4IDw8IDI3KSk7IAp9IAoKCmlmICgtMjU2IDw8IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzg3MzogLTI1NiA8PCAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKC0yNTYgPDwgMjcpKTsgCn0gCgoKaWYgKC01MTIgPDwgMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjODc0OiAtNTEyIDw8IDI3ID09PSAwLiBBY3R1YWw6ICcgKyAoLTUxMiA8PCAyNykpOyAKfSAKCgppZiAoLTEwMjQgPDwgMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjODc1OiAtMTAyNCA8PCAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKC0xMDI0IDw8IDI3KSk7IAp9IAoKCmlmICgtMjA0OCA8PCAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM4NzY6IC0yMDQ4IDw8IDI3ID09PSAwLiBBY3R1YWw6ICcgKyAoLTIwNDggPDwgMjcpKTsgCn0gCgoKaWYgKC00MDk2IDw8IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzg3NzogLTQwOTYgPDwgMjcgPT09IDAuIEFjdHVhbDogJyArICgtNDA5NiA8PCAyNykpOyAKfSAKCgppZiAoLTgxOTIgPDwgMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjODc4OiAtODE5MiA8PCAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKC04MTkyIDw8IDI3KSk7IAp9IAoKCmlmICgtMTYzODQgPDwgMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjODc5OiAtMTYzODQgPDwgMjcgPT09IDAuIEFjdHVhbDogJyArICgtMTYzODQgPDwgMjcpKTsgCn0gCgoKaWYgKC0zMjc2OCA8PCAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM4ODA6IC0zMjc2OCA8PCAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKC0zMjc2OCA8PCAyNykpOyAKfSAKCgppZiAoLTY1NTM2IDw8IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzg4MTogLTY1NTM2IDw8IDI3ID09PSAwLiBBY3R1YWw6ICcgKyAoLTY1NTM2IDw8IDI3KSk7IAp9IAoKCmlmICgtMTMxMDcyIDw8IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzg4MjogLTEzMTA3MiA8PCAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKC0xMzEwNzIgPDwgMjcpKTsgCn0gCgoKaWYgKC0yNjIxNDQgPDwgMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjODgzOiAtMjYyMTQ0IDw8IDI3ID09PSAwLiBBY3R1YWw6ICcgKyAoLTI2MjE0NCA8PCAyNykpOyAKfSAKCgppZiAoLTUyNDI4OCA8PCAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM4ODQ6IC01MjQyODggPDwgMjcgPT09IDAuIEFjdHVhbDogJyArICgtNTI0Mjg4IDw8IDI3KSk7IAp9IAoKCmlmICgtMTA0ODU3NiA8PCAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM4ODU6IC0xMDQ4NTc2IDw8IDI3ID09PSAwLiBBY3R1YWw6ICcgKyAoLTEwNDg1NzYgPDwgMjcpKTsgCn0gCgoKaWYgKC0yMDk3MTUyIDw8IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzg4NjogLTIwOTcxNTIgPDwgMjcgPT09IDAuIEFjdHVhbDogJyArICgtMjA5NzE1MiA8PCAyNykpOyAKfSAKCgppZiAoLTQxOTQzMDQgPDwgMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjODg3OiAtNDE5NDMwNCA8PCAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKC00MTk0MzA0IDw8IDI3KSk7IAp9IAoKCmlmICgtODM4ODYwOCA8PCAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM4ODg6IC04Mzg4NjA4IDw8IDI3ID09PSAwLiBBY3R1YWw6ICcgKyAoLTgzODg2MDggPDwgMjcpKTsgCn0gCgoKaWYgKC0xNjc3NzIxNiA8PCAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM4ODk6IC0xNjc3NzIxNiA8PCAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKC0xNjc3NzIxNiA8PCAyNykpOyAKfSAKCgppZiAoLTMzNTU0NDMyIDw8IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzg5MDogLTMzNTU0NDMyIDw8IDI3ID09PSAwLiBBY3R1YWw6ICcgKyAoLTMzNTU0NDMyIDw8IDI3KSk7IAp9IAoKCmlmICgtNjcxMDg4NjQgPDwgMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjODkxOiAtNjcxMDg4NjQgPDwgMjcgPT09IDAuIEFjdHVhbDogJyArICgtNjcxMDg4NjQgPDwgMjcpKTsgCn0gCgoKaWYgKC0xMzQyMTc3MjggPDwgMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjODkyOiAtMTM0MjE3NzI4IDw8IDI3ID09PSAwLiBBY3R1YWw6ICcgKyAoLTEzNDIxNzcyOCA8PCAyNykpOyAKfSAKCgppZiAoLTI2ODQzNTQ1NiA8PCAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM4OTM6IC0yNjg0MzU0NTYgPDwgMjcgPT09IDAuIEFjdHVhbDogJyArICgtMjY4NDM1NDU2IDw8IDI3KSk7IAp9IAoKCmlmICgtNTM2ODcwOTEyIDw8IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzg5NDogLTUzNjg3MDkxMiA8PCAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKC01MzY4NzA5MTIgPDwgMjcpKTsgCn0gCgoKaWYgKC0xMDczNzQxODI0IDw8IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzg5NTogLTEwNzM3NDE4MjQgPDwgMjcgPT09IDAuIEFjdHVhbDogJyArICgtMTA3Mzc0MTgyNCA8PCAyNykpOyAKfSAKCgppZiAoLTIxNDc0ODM2NDggPDwgMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjODk2OiAtMjE0NzQ4MzY0OCA8PCAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKC0yMTQ3NDgzNjQ4IDw8IDI3KSk7IAp9IAoKCmlmICgtMSA8PCAyOCAhPT0gLTI2ODQzNTQ1NikgeyAKICAkRVJST1IoJyM4OTc6IC0xIDw8IDI4ID09PSAtMjY4NDM1NDU2LiBBY3R1YWw6ICcgKyAoLTEgPDwgMjgpKTsgCn0gCgoKaWYgKC0yIDw8IDI4ICE9PSAtNTM2ODcwOTEyKSB7IAogICRFUlJPUignIzg5ODogLTIgPDwgMjggPT09IC01MzY4NzA5MTIuIEFjdHVhbDogJyArICgtMiA8PCAyOCkpOyAKfSAKCgppZiAoLTQgPDwgMjggIT09IC0xMDczNzQxODI0KSB7IAogICRFUlJPUignIzg5OTogLTQgPDwgMjggPT09IC0xMDczNzQxODI0LiBBY3R1YWw6ICcgKyAoLTQgPDwgMjgpKTsgCn0gCgoKaWYgKC04IDw8IDI4ICE9PSAtMjE0NzQ4MzY0OCkgeyAKICAkRVJST1IoJyM5MDA6IC04IDw8IDI4ID09PSAtMjE0NzQ4MzY0OC4gQWN0dWFsOiAnICsgKC04IDw8IDI4KSk7IAp9IAoKCmlmICgtMTYgPDwgMjggIT09IDApIHsgCiAgJEVSUk9SKCcjOTAxOiAtMTYgPDwgMjggPT09IDAuIEFjdHVhbDogJyArICgtMTYgPDwgMjgpKTsgCn0gCgoKaWYgKC0zMiA8PCAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5MDI6IC0zMiA8PCAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKC0zMiA8PCAyOCkpOyAKfSAKCgppZiAoLTY0IDw8IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzkwMzogLTY0IDw8IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoLTY0IDw8IDI4KSk7IAp9IAoKCmlmICgtMTI4IDw8IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzkwNDogLTEyOCA8PCAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKC0xMjggPDwgMjgpKTsgCn0gCgoKaWYgKC0yNTYgPDwgMjggIT09IDApIHsgCiAgJEVSUk9SKCcjOTA1OiAtMjU2IDw8IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoLTI1NiA8PCAyOCkpOyAKfSAKCgppZiAoLTUxMiA8PCAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5MDY6IC01MTIgPDwgMjggPT09IDAuIEFjdHVhbDogJyArICgtNTEyIDw8IDI4KSk7IAp9IAoKCmlmICgtMTAyNCA8PCAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5MDc6IC0xMDI0IDw8IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoLTEwMjQgPDwgMjgpKTsgCn0gCgoKaWYgKC0yMDQ4IDw8IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzkwODogLTIwNDggPDwgMjggPT09IDAuIEFjdHVhbDogJyArICgtMjA0OCA8PCAyOCkpOyAKfSAKCgppZiAoLTQwOTYgPDwgMjggIT09IDApIHsgCiAgJEVSUk9SKCcjOTA5OiAtNDA5NiA8PCAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKC00MDk2IDw8IDI4KSk7IAp9IAoKCmlmICgtODE5MiA8PCAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5MTA6IC04MTkyIDw8IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoLTgxOTIgPDwgMjgpKTsgCn0gCgoKaWYgKC0xNjM4NCA8PCAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5MTE6IC0xNjM4NCA8PCAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKC0xNjM4NCA8PCAyOCkpOyAKfSAKCgppZiAoLTMyNzY4IDw8IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzkxMjogLTMyNzY4IDw8IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoLTMyNzY4IDw8IDI4KSk7IAp9IAoKCmlmICgtNjU1MzYgPDwgMjggIT09IDApIHsgCiAgJEVSUk9SKCcjOTEzOiAtNjU1MzYgPDwgMjggPT09IDAuIEFjdHVhbDogJyArICgtNjU1MzYgPDwgMjgpKTsgCn0gCgoKaWYgKC0xMzEwNzIgPDwgMjggIT09IDApIHsgCiAgJEVSUk9SKCcjOTE0OiAtMTMxMDcyIDw8IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoLTEzMTA3MiA8PCAyOCkpOyAKfSAKCgppZiAoLTI2MjE0NCA8PCAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5MTU6IC0yNjIxNDQgPDwgMjggPT09IDAuIEFjdHVhbDogJyArICgtMjYyMTQ0IDw8IDI4KSk7IAp9IAoKCmlmICgtNTI0Mjg4IDw8IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzkxNjogLTUyNDI4OCA8PCAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKC01MjQyODggPDwgMjgpKTsgCn0gCgoKaWYgKC0xMDQ4NTc2IDw8IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzkxNzogLTEwNDg1NzYgPDwgMjggPT09IDAuIEFjdHVhbDogJyArICgtMTA0ODU3NiA8PCAyOCkpOyAKfSAKCgppZiAoLTIwOTcxNTIgPDwgMjggIT09IDApIHsgCiAgJEVSUk9SKCcjOTE4OiAtMjA5NzE1MiA8PCAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKC0yMDk3MTUyIDw8IDI4KSk7IAp9IAoKCmlmICgtNDE5NDMwNCA8PCAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5MTk6IC00MTk0MzA0IDw8IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoLTQxOTQzMDQgPDwgMjgpKTsgCn0gCgoKaWYgKC04Mzg4NjA4IDw8IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzkyMDogLTgzODg2MDggPDwgMjggPT09IDAuIEFjdHVhbDogJyArICgtODM4ODYwOCA8PCAyOCkpOyAKfSAKCgppZiAoLTE2Nzc3MjE2IDw8IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzkyMTogLTE2Nzc3MjE2IDw8IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoLTE2Nzc3MjE2IDw8IDI4KSk7IAp9IAoKCmlmICgtMzM1NTQ0MzIgPDwgMjggIT09IDApIHsgCiAgJEVSUk9SKCcjOTIyOiAtMzM1NTQ0MzIgPDwgMjggPT09IDAuIEFjdHVhbDogJyArICgtMzM1NTQ0MzIgPDwgMjgpKTsgCn0gCgoKaWYgKC02NzEwODg2NCA8PCAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5MjM6IC02NzEwODg2NCA8PCAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKC02NzEwODg2NCA8PCAyOCkpOyAKfSAKCgppZiAoLTEzNDIxNzcyOCA8PCAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5MjQ6IC0xMzQyMTc3MjggPDwgMjggPT09IDAuIEFjdHVhbDogJyArICgtMTM0MjE3NzI4IDw8IDI4KSk7IAp9IAoKCmlmICgtMjY4NDM1NDU2IDw8IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzkyNTogLTI2ODQzNTQ1NiA8PCAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKC0yNjg0MzU0NTYgPDwgMjgpKTsgCn0gCgoKaWYgKC01MzY4NzA5MTIgPDwgMjggIT09IDApIHsgCiAgJEVSUk9SKCcjOTI2OiAtNTM2ODcwOTEyIDw8IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoLTUzNjg3MDkxMiA8PCAyOCkpOyAKfSAKCgppZiAoLTEwNzM3NDE4MjQgPDwgMjggIT09IDApIHsgCiAgJEVSUk9SKCcjOTI3OiAtMTA3Mzc0MTgyNCA8PCAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKC0xMDczNzQxODI0IDw8IDI4KSk7IAp9IAoKCmlmICgtMjE0NzQ4MzY0OCA8PCAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5Mjg6IC0yMTQ3NDgzNjQ4IDw8IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoLTIxNDc0ODM2NDggPDwgMjgpKTsgCn0gCgoKaWYgKC0xIDw8IDI5ICE9PSAtNTM2ODcwOTEyKSB7IAogICRFUlJPUignIzkyOTogLTEgPDwgMjkgPT09IC01MzY4NzA5MTIuIEFjdHVhbDogJyArICgtMSA8PCAyOSkpOyAKfSAKCgppZiAoLTIgPDwgMjkgIT09IC0xMDczNzQxODI0KSB7IAogICRFUlJPUignIzkzMDogLTIgPDwgMjkgPT09IC0xMDczNzQxODI0LiBBY3R1YWw6ICcgKyAoLTIgPDwgMjkpKTsgCn0gCgoKaWYgKC00IDw8IDI5ICE9PSAtMjE0NzQ4MzY0OCkgeyAKICAkRVJST1IoJyM5MzE6IC00IDw8IDI5ID09PSAtMjE0NzQ4MzY0OC4gQWN0dWFsOiAnICsgKC00IDw8IDI5KSk7IAp9IAoKCmlmICgtOCA8PCAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5MzI6IC04IDw8IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoLTggPDwgMjkpKTsgCn0gCgoKaWYgKC0xNiA8PCAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5MzM6IC0xNiA8PCAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKC0xNiA8PCAyOSkpOyAKfSAKCgppZiAoLTMyIDw8IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzkzNDogLTMyIDw8IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoLTMyIDw8IDI5KSk7IAp9IAoKCmlmICgtNjQgPDwgMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTM1OiAtNjQgPDwgMjkgPT09IDAuIEFjdHVhbDogJyArICgtNjQgPDwgMjkpKTsgCn0gCgoKaWYgKC0xMjggPDwgMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTM2OiAtMTI4IDw8IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoLTEyOCA8PCAyOSkpOyAKfSAKCgppZiAoLTI1NiA8PCAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5Mzc6IC0yNTYgPDwgMjkgPT09IDAuIEFjdHVhbDogJyArICgtMjU2IDw8IDI5KSk7IAp9IAoKCmlmICgtNTEyIDw8IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzkzODogLTUxMiA8PCAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKC01MTIgPDwgMjkpKTsgCn0gCgoKaWYgKC0xMDI0IDw8IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzkzOTogLTEwMjQgPDwgMjkgPT09IDAuIEFjdHVhbDogJyArICgtMTAyNCA8PCAyOSkpOyAKfSAKCgppZiAoLTIwNDggPDwgMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTQwOiAtMjA0OCA8PCAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKC0yMDQ4IDw8IDI5KSk7IAp9IAoKCmlmICgtNDA5NiA8PCAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5NDE6IC00MDk2IDw8IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoLTQwOTYgPDwgMjkpKTsgCn0gCgoKaWYgKC04MTkyIDw8IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzk0MjogLTgxOTIgPDwgMjkgPT09IDAuIEFjdHVhbDogJyArICgtODE5MiA8PCAyOSkpOyAKfSAKCgppZiAoLTE2Mzg0IDw8IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzk0MzogLTE2Mzg0IDw8IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoLTE2Mzg0IDw8IDI5KSk7IAp9IAoKCmlmICgtMzI3NjggPDwgMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTQ0OiAtMzI3NjggPDwgMjkgPT09IDAuIEFjdHVhbDogJyArICgtMzI3NjggPDwgMjkpKTsgCn0gCgoKaWYgKC02NTUzNiA8PCAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5NDU6IC02NTUzNiA8PCAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKC02NTUzNiA8PCAyOSkpOyAKfSAKCgppZiAoLTEzMTA3MiA8PCAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5NDY6IC0xMzEwNzIgPDwgMjkgPT09IDAuIEFjdHVhbDogJyArICgtMTMxMDcyIDw8IDI5KSk7IAp9IAoKCmlmICgtMjYyMTQ0IDw8IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzk0NzogLTI2MjE0NCA8PCAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKC0yNjIxNDQgPDwgMjkpKTsgCn0gCgoKaWYgKC01MjQyODggPDwgMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTQ4OiAtNTI0Mjg4IDw8IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoLTUyNDI4OCA8PCAyOSkpOyAKfSAKCgppZiAoLTEwNDg1NzYgPDwgMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTQ5OiAtMTA0ODU3NiA8PCAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKC0xMDQ4NTc2IDw8IDI5KSk7IAp9IAoKCmlmICgtMjA5NzE1MiA8PCAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5NTA6IC0yMDk3MTUyIDw8IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoLTIwOTcxNTIgPDwgMjkpKTsgCn0gCgoKaWYgKC00MTk0MzA0IDw8IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzk1MTogLTQxOTQzMDQgPDwgMjkgPT09IDAuIEFjdHVhbDogJyArICgtNDE5NDMwNCA8PCAyOSkpOyAKfSAKCgppZiAoLTgzODg2MDggPDwgMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTUyOiAtODM4ODYwOCA8PCAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKC04Mzg4NjA4IDw8IDI5KSk7IAp9IAoKCmlmICgtMTY3NzcyMTYgPDwgMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTUzOiAtMTY3NzcyMTYgPDwgMjkgPT09IDAuIEFjdHVhbDogJyArICgtMTY3NzcyMTYgPDwgMjkpKTsgCn0gCgoKaWYgKC0zMzU1NDQzMiA8PCAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5NTQ6IC0zMzU1NDQzMiA8PCAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKC0zMzU1NDQzMiA8PCAyOSkpOyAKfSAKCgppZiAoLTY3MTA4ODY0IDw8IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzk1NTogLTY3MTA4ODY0IDw8IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoLTY3MTA4ODY0IDw8IDI5KSk7IAp9IAoKCmlmICgtMTM0MjE3NzI4IDw8IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzk1NjogLTEzNDIxNzcyOCA8PCAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKC0xMzQyMTc3MjggPDwgMjkpKTsgCn0gCgoKaWYgKC0yNjg0MzU0NTYgPDwgMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTU3OiAtMjY4NDM1NDU2IDw8IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoLTI2ODQzNTQ1NiA8PCAyOSkpOyAKfSAKCgppZiAoLTUzNjg3MDkxMiA8PCAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5NTg6IC01MzY4NzA5MTIgPDwgMjkgPT09IDAuIEFjdHVhbDogJyArICgtNTM2ODcwOTEyIDw8IDI5KSk7IAp9IAoKCmlmICgtMTA3Mzc0MTgyNCA8PCAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5NTk6IC0xMDczNzQxODI0IDw8IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoLTEwNzM3NDE4MjQgPDwgMjkpKTsgCn0gCgoKaWYgKC0yMTQ3NDgzNjQ4IDw8IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzk2MDogLTIxNDc0ODM2NDggPDwgMjkgPT09IDAuIEFjdHVhbDogJyArICgtMjE0NzQ4MzY0OCA8PCAyOSkpOyAKfSAKCgppZiAoLTEgPDwgMzAgIT09IC0xMDczNzQxODI0KSB7IAogICRFUlJPUignIzk2MTogLTEgPDwgMzAgPT09IC0xMDczNzQxODI0LiBBY3R1YWw6ICcgKyAoLTEgPDwgMzApKTsgCn0gCgoKaWYgKC0yIDw8IDMwICE9PSAtMjE0NzQ4MzY0OCkgeyAKICAkRVJST1IoJyM5NjI6IC0yIDw8IDMwID09PSAtMjE0NzQ4MzY0OC4gQWN0dWFsOiAnICsgKC0yIDw8IDMwKSk7IAp9IAoKCmlmICgtNCA8PCAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyM5NjM6IC00IDw8IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoLTQgPDwgMzApKTsgCn0gCgoKaWYgKC04IDw8IDMwICE9PSAwKSB7IAogICRFUlJPUignIzk2NDogLTggPDwgMzAgPT09IDAuIEFjdHVhbDogJyArICgtOCA8PCAzMCkpOyAKfSAKCgppZiAoLTE2IDw8IDMwICE9PSAwKSB7IAogICRFUlJPUignIzk2NTogLTE2IDw8IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoLTE2IDw8IDMwKSk7IAp9IAoKCmlmICgtMzIgPDwgMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjOTY2OiAtMzIgPDwgMzAgPT09IDAuIEFjdHVhbDogJyArICgtMzIgPDwgMzApKTsgCn0gCgoKaWYgKC02NCA8PCAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyM5Njc6IC02NCA8PCAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKC02NCA8PCAzMCkpOyAKfSAKCgppZiAoLTEyOCA8PCAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyM5Njg6IC0xMjggPDwgMzAgPT09IDAuIEFjdHVhbDogJyArICgtMTI4IDw8IDMwKSk7IAp9IAoKCmlmICgtMjU2IDw8IDMwICE9PSAwKSB7IAogICRFUlJPUignIzk2OTogLTI1NiA8PCAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKC0yNTYgPDwgMzApKTsgCn0gCgoKaWYgKC01MTIgPDwgMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjOTcwOiAtNTEyIDw8IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoLTUxMiA8PCAzMCkpOyAKfSAKCgppZiAoLTEwMjQgPDwgMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjOTcxOiAtMTAyNCA8PCAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKC0xMDI0IDw8IDMwKSk7IAp9IAoKCmlmICgtMjA0OCA8PCAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyM5NzI6IC0yMDQ4IDw8IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoLTIwNDggPDwgMzApKTsgCn0gCgoKaWYgKC00MDk2IDw8IDMwICE9PSAwKSB7IAogICRFUlJPUignIzk3MzogLTQwOTYgPDwgMzAgPT09IDAuIEFjdHVhbDogJyArICgtNDA5NiA8PCAzMCkpOyAKfSAKCgppZiAoLTgxOTIgPDwgMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjOTc0OiAtODE5MiA8PCAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKC04MTkyIDw8IDMwKSk7IAp9IAoKCmlmICgtMTYzODQgPDwgMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjOTc1OiAtMTYzODQgPDwgMzAgPT09IDAuIEFjdHVhbDogJyArICgtMTYzODQgPDwgMzApKTsgCn0gCgoKaWYgKC0zMjc2OCA8PCAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyM5NzY6IC0zMjc2OCA8PCAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKC0zMjc2OCA8PCAzMCkpOyAKfSAKCgppZiAoLTY1NTM2IDw8IDMwICE9PSAwKSB7IAogICRFUlJPUignIzk3NzogLTY1NTM2IDw8IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoLTY1NTM2IDw8IDMwKSk7IAp9IAoKCmlmICgtMTMxMDcyIDw8IDMwICE9PSAwKSB7IAogICRFUlJPUignIzk3ODogLTEzMTA3MiA8PCAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKC0xMzEwNzIgPDwgMzApKTsgCn0gCgoKaWYgKC0yNjIxNDQgPDwgMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjOTc5OiAtMjYyMTQ0IDw8IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoLTI2MjE0NCA8PCAzMCkpOyAKfSAKCgppZiAoLTUyNDI4OCA8PCAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyM5ODA6IC01MjQyODggPDwgMzAgPT09IDAuIEFjdHVhbDogJyArICgtNTI0Mjg4IDw8IDMwKSk7IAp9IAoKCmlmICgtMTA0ODU3NiA8PCAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyM5ODE6IC0xMDQ4NTc2IDw8IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoLTEwNDg1NzYgPDwgMzApKTsgCn0gCgoKaWYgKC0yMDk3MTUyIDw8IDMwICE9PSAwKSB7IAogICRFUlJPUignIzk4MjogLTIwOTcxNTIgPDwgMzAgPT09IDAuIEFjdHVhbDogJyArICgtMjA5NzE1MiA8PCAzMCkpOyAKfSAKCgppZiAoLTQxOTQzMDQgPDwgMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjOTgzOiAtNDE5NDMwNCA8PCAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKC00MTk0MzA0IDw8IDMwKSk7IAp9IAoKCmlmICgtODM4ODYwOCA8PCAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyM5ODQ6IC04Mzg4NjA4IDw8IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoLTgzODg2MDggPDwgMzApKTsgCn0gCgoKaWYgKC0xNjc3NzIxNiA8PCAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyM5ODU6IC0xNjc3NzIxNiA8PCAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKC0xNjc3NzIxNiA8PCAzMCkpOyAKfSAKCgppZiAoLTMzNTU0NDMyIDw8IDMwICE9PSAwKSB7IAogICRFUlJPUignIzk4NjogLTMzNTU0NDMyIDw8IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoLTMzNTU0NDMyIDw8IDMwKSk7IAp9IAoKCmlmICgtNjcxMDg4NjQgPDwgMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjOTg3OiAtNjcxMDg4NjQgPDwgMzAgPT09IDAuIEFjdHVhbDogJyArICgtNjcxMDg4NjQgPDwgMzApKTsgCn0gCgoKaWYgKC0xMzQyMTc3MjggPDwgMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjOTg4OiAtMTM0MjE3NzI4IDw8IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoLTEzNDIxNzcyOCA8PCAzMCkpOyAKfSAKCgppZiAoLTI2ODQzNTQ1NiA8PCAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyM5ODk6IC0yNjg0MzU0NTYgPDwgMzAgPT09IDAuIEFjdHVhbDogJyArICgtMjY4NDM1NDU2IDw8IDMwKSk7IAp9IAoKCmlmICgtNTM2ODcwOTEyIDw8IDMwICE9PSAwKSB7IAogICRFUlJPUignIzk5MDogLTUzNjg3MDkxMiA8PCAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKC01MzY4NzA5MTIgPDwgMzApKTsgCn0gCgoKaWYgKC0xMDczNzQxODI0IDw8IDMwICE9PSAwKSB7IAogICRFUlJPUignIzk5MTogLTEwNzM3NDE4MjQgPDwgMzAgPT09IDAuIEFjdHVhbDogJyArICgtMTA3Mzc0MTgyNCA8PCAzMCkpOyAKfSAKCgppZiAoLTIxNDc0ODM2NDggPDwgMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjOTkyOiAtMjE0NzQ4MzY0OCA8PCAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKC0yMTQ3NDgzNjQ4IDw8IDMwKSk7IAp9IAoKCmlmICgtMSA8PCAzMSAhPT0gLTIxNDc0ODM2NDgpIHsgCiAgJEVSUk9SKCcjOTkzOiAtMSA8PCAzMSA9PT0gLTIxNDc0ODM2NDguIEFjdHVhbDogJyArICgtMSA8PCAzMSkpOyAKfSAKCgppZiAoLTIgPDwgMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjOTk0OiAtMiA8PCAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKC0yIDw8IDMxKSk7IAp9IAoKCmlmICgtNCA8PCAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyM5OTU6IC00IDw8IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoLTQgPDwgMzEpKTsgCn0gCgoKaWYgKC04IDw8IDMxICE9PSAwKSB7IAogICRFUlJPUignIzk5NjogLTggPDwgMzEgPT09IDAuIEFjdHVhbDogJyArICgtOCA8PCAzMSkpOyAKfSAKCgppZiAoLTE2IDw8IDMxICE9PSAwKSB7IAogICRFUlJPUignIzk5NzogLTE2IDw8IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoLTE2IDw8IDMxKSk7IAp9IAoKCmlmICgtMzIgPDwgMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjOTk4OiAtMzIgPDwgMzEgPT09IDAuIEFjdHVhbDogJyArICgtMzIgPDwgMzEpKTsgCn0gCgoKaWYgKC02NCA8PCAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyM5OTk6IC02NCA8PCAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKC02NCA8PCAzMSkpOyAKfSAKCgppZiAoLTEyOCA8PCAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDAwOiAtMTI4IDw8IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoLTEyOCA8PCAzMSkpOyAKfSAKCgppZiAoLTI1NiA8PCAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDAxOiAtMjU2IDw8IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoLTI1NiA8PCAzMSkpOyAKfSAKCgppZiAoLTUxMiA8PCAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDAyOiAtNTEyIDw8IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoLTUxMiA8PCAzMSkpOyAKfSAKCgppZiAoLTEwMjQgPDwgMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAwMzogLTEwMjQgPDwgMzEgPT09IDAuIEFjdHVhbDogJyArICgtMTAyNCA8PCAzMSkpOyAKfSAKCgppZiAoLTIwNDggPDwgMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAwNDogLTIwNDggPDwgMzEgPT09IDAuIEFjdHVhbDogJyArICgtMjA0OCA8PCAzMSkpOyAKfSAKCgppZiAoLTQwOTYgPDwgMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAwNTogLTQwOTYgPDwgMzEgPT09IDAuIEFjdHVhbDogJyArICgtNDA5NiA8PCAzMSkpOyAKfSAKCgppZiAoLTgxOTIgPDwgMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAwNjogLTgxOTIgPDwgMzEgPT09IDAuIEFjdHVhbDogJyArICgtODE5MiA8PCAzMSkpOyAKfSAKCgppZiAoLTE2Mzg0IDw8IDMxICE9PSAwKSB7IAogICRFUlJPUignIzEwMDc6IC0xNjM4NCA8PCAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKC0xNjM4NCA8PCAzMSkpOyAKfSAKCgppZiAoLTMyNzY4IDw8IDMxICE9PSAwKSB7IAogICRFUlJPUignIzEwMDg6IC0zMjc2OCA8PCAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKC0zMjc2OCA8PCAzMSkpOyAKfSAKCgppZiAoLTY1NTM2IDw8IDMxICE9PSAwKSB7IAogICRFUlJPUignIzEwMDk6IC02NTUzNiA8PCAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKC02NTUzNiA8PCAzMSkpOyAKfSAKCgppZiAoLTEzMTA3MiA8PCAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDEwOiAtMTMxMDcyIDw8IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoLTEzMTA3MiA8PCAzMSkpOyAKfSAKCgppZiAoLTI2MjE0NCA8PCAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDExOiAtMjYyMTQ0IDw8IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoLTI2MjE0NCA8PCAzMSkpOyAKfSAKCgppZiAoLTUyNDI4OCA8PCAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDEyOiAtNTI0Mjg4IDw8IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoLTUyNDI4OCA8PCAzMSkpOyAKfSAKCgppZiAoLTEwNDg1NzYgPDwgMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAxMzogLTEwNDg1NzYgPDwgMzEgPT09IDAuIEFjdHVhbDogJyArICgtMTA0ODU3NiA8PCAzMSkpOyAKfSAKCgppZiAoLTIwOTcxNTIgPDwgMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAxNDogLTIwOTcxNTIgPDwgMzEgPT09IDAuIEFjdHVhbDogJyArICgtMjA5NzE1MiA8PCAzMSkpOyAKfSAKCgppZiAoLTQxOTQzMDQgPDwgMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAxNTogLTQxOTQzMDQgPDwgMzEgPT09IDAuIEFjdHVhbDogJyArICgtNDE5NDMwNCA8PCAzMSkpOyAKfSAKCgppZiAoLTgzODg2MDggPDwgMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAxNjogLTgzODg2MDggPDwgMzEgPT09IDAuIEFjdHVhbDogJyArICgtODM4ODYwOCA8PCAzMSkpOyAKfSAKCgppZiAoLTE2Nzc3MjE2IDw8IDMxICE9PSAwKSB7IAogICRFUlJPUignIzEwMTc6IC0xNjc3NzIxNiA8PCAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKC0xNjc3NzIxNiA8PCAzMSkpOyAKfSAKCgppZiAoLTMzNTU0NDMyIDw8IDMxICE9PSAwKSB7IAogICRFUlJPUignIzEwMTg6IC0zMzU1NDQzMiA8PCAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKC0zMzU1NDQzMiA8PCAzMSkpOyAKfSAKCgppZiAoLTY3MTA4ODY0IDw8IDMxICE9PSAwKSB7IAogICRFUlJPUignIzEwMTk6IC02NzEwODg2NCA8PCAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKC02NzEwODg2NCA8PCAzMSkpOyAKfSAKCgppZiAoLTEzNDIxNzcyOCA8PCAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDIwOiAtMTM0MjE3NzI4IDw8IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoLTEzNDIxNzcyOCA8PCAzMSkpOyAKfSAKCgppZiAoLTI2ODQzNTQ1NiA8PCAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDIxOiAtMjY4NDM1NDU2IDw8IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoLTI2ODQzNTQ1NiA8PCAzMSkpOyAKfSAKCgppZiAoLTUzNjg3MDkxMiA8PCAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDIyOiAtNTM2ODcwOTEyIDw8IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoLTUzNjg3MDkxMiA8PCAzMSkpOyAKfSAKCgppZiAoLTEwNzM3NDE4MjQgPDwgMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAyMzogLTEwNzM3NDE4MjQgPDwgMzEgPT09IDAuIEFjdHVhbDogJyArICgtMTA3Mzc0MTgyNCA8PCAzMSkpOyAKfSAKCgppZiAoLTIxNDc0ODM2NDggPDwgMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAyNDogLTIxNDc0ODM2NDggPDwgMzEgPT09IDAuIEFjdHVhbDogJyArICgtMjE0NzQ4MzY0OCA8PCAzMSkpOyAKfSAKCgo=",
"commentary":"Check operator x << y in distinct points",
"description":"ShiftExpression = 2^n - 1, n = 16...31",
"path":"TestCases/ch11/11.7/11.7.1/S11.7.1_A4_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBvcGVyYXRvciB4IDw8IHkgaW4gZGlzdGluY3QgcG9pbnRzCiAqCiAqIEBwYXRoIGNoMTEvMTEuNy8xMS43LjEvUzExLjcuMV9BNF9UMy5qcwogKiBAZGVzY3JpcHRpb24gU2hpZnRFeHByZXNzaW9uID0gMl5uIC0gMSwgbiA9IDAuLi4xNQogKi8KCi8vQ0hFQ0sKCmlmICgwIDw8IDAgIT09IDApIHsgCiAgJEVSUk9SKCcjMTogMCA8PCAwID09PSAwLiBBY3R1YWw6ICcgKyAoMCA8PCAwKSk7IAp9IAoKCmlmICgxIDw8IDAgIT09IDEpIHsgCiAgJEVSUk9SKCcjMjogMSA8PCAwID09PSAxLiBBY3R1YWw6ICcgKyAoMSA8PCAwKSk7IAp9IAoKCmlmICgzIDw8IDAgIT09IDMpIHsgCiAgJEVSUk9SKCcjMzogMyA8PCAwID09PSAzLiBBY3R1YWw6ICcgKyAoMyA8PCAwKSk7IAp9IAoKCmlmICg3IDw8IDAgIT09IDcpIHsgCiAgJEVSUk9SKCcjNDogNyA8PCAwID09PSA3LiBBY3R1YWw6ICcgKyAoNyA8PCAwKSk7IAp9IAoKCmlmICgxNSA8PCAwICE9PSAxNSkgeyAKICAkRVJST1IoJyM1OiAxNSA8PCAwID09PSAxNS4gQWN0dWFsOiAnICsgKDE1IDw8IDApKTsgCn0gCgoKaWYgKDMxIDw8IDAgIT09IDMxKSB7IAogICRFUlJPUignIzY6IDMxIDw8IDAgPT09IDMxLiBBY3R1YWw6ICcgKyAoMzEgPDwgMCkpOyAKfSAKCgppZiAoNjMgPDwgMCAhPT0gNjMpIHsgCiAgJEVSUk9SKCcjNzogNjMgPDwgMCA9PT0gNjMuIEFjdHVhbDogJyArICg2MyA8PCAwKSk7IAp9IAoKCmlmICgxMjcgPDwgMCAhPT0gMTI3KSB7IAogICRFUlJPUignIzg6IDEyNyA8PCAwID09PSAxMjcuIEFjdHVhbDogJyArICgxMjcgPDwgMCkpOyAKfSAKCgppZiAoMjU1IDw8IDAgIT09IDI1NSkgeyAKICAkRVJST1IoJyM5OiAyNTUgPDwgMCA9PT0gMjU1LiBBY3R1YWw6ICcgKyAoMjU1IDw8IDApKTsgCn0gCgoKaWYgKDUxMSA8PCAwICE9PSA1MTEpIHsgCiAgJEVSUk9SKCcjMTA6IDUxMSA8PCAwID09PSA1MTEuIEFjdHVhbDogJyArICg1MTEgPDwgMCkpOyAKfSAKCgppZiAoMTAyMyA8PCAwICE9PSAxMDIzKSB7IAogICRFUlJPUignIzExOiAxMDIzIDw8IDAgPT09IDEwMjMuIEFjdHVhbDogJyArICgxMDIzIDw8IDApKTsgCn0gCgoKaWYgKDIwNDcgPDwgMCAhPT0gMjA0NykgeyAKICAkRVJST1IoJyMxMjogMjA0NyA8PCAwID09PSAyMDQ3LiBBY3R1YWw6ICcgKyAoMjA0NyA8PCAwKSk7IAp9IAoKCmlmICg0MDk1IDw8IDAgIT09IDQwOTUpIHsgCiAgJEVSUk9SKCcjMTM6IDQwOTUgPDwgMCA9PT0gNDA5NS4gQWN0dWFsOiAnICsgKDQwOTUgPDwgMCkpOyAKfSAKCgppZiAoODE5MSA8PCAwICE9PSA4MTkxKSB7IAogICRFUlJPUignIzE0OiA4MTkxIDw8IDAgPT09IDgxOTEuIEFjdHVhbDogJyArICg4MTkxIDw8IDApKTsgCn0gCgoKaWYgKDE2MzgzIDw8IDAgIT09IDE2MzgzKSB7IAogICRFUlJPUignIzE1OiAxNjM4MyA8PCAwID09PSAxNjM4My4gQWN0dWFsOiAnICsgKDE2MzgzIDw8IDApKTsgCn0gCgoKaWYgKDMyNzY3IDw8IDAgIT09IDMyNzY3KSB7IAogICRFUlJPUignIzE2OiAzMjc2NyA8PCAwID09PSAzMjc2Ny4gQWN0dWFsOiAnICsgKDMyNzY3IDw8IDApKTsgCn0gCgoKaWYgKDY1NTM1IDw8IDAgIT09IDY1NTM1KSB7IAogICRFUlJPUignIzE3OiA2NTUzNSA8PCAwID09PSA2NTUzNS4gQWN0dWFsOiAnICsgKDY1NTM1IDw8IDApKTsgCn0gCgoKaWYgKDEzMTA3MSA8PCAwICE9PSAxMzEwNzEpIHsgCiAgJEVSUk9SKCcjMTg6IDEzMTA3MSA8PCAwID09PSAxMzEwNzEuIEFjdHVhbDogJyArICgxMzEwNzEgPDwgMCkpOyAKfSAKCgppZiAoMjYyMTQzIDw8IDAgIT09IDI2MjE0MykgeyAKICAkRVJST1IoJyMxOTogMjYyMTQzIDw8IDAgPT09IDI2MjE0My4gQWN0dWFsOiAnICsgKDI2MjE0MyA8PCAwKSk7IAp9IAoKCmlmICg1MjQyODcgPDwgMCAhPT0gNTI0Mjg3KSB7IAogICRFUlJPUignIzIwOiA1MjQyODcgPDwgMCA9PT0gNTI0Mjg3LiBBY3R1YWw6ICcgKyAoNTI0Mjg3IDw8IDApKTsgCn0gCgoKaWYgKDEwNDg1NzUgPDwgMCAhPT0gMTA0ODU3NSkgeyAKICAkRVJST1IoJyMyMTogMTA0ODU3NSA8PCAwID09PSAxMDQ4NTc1LiBBY3R1YWw6ICcgKyAoMTA0ODU3NSA8PCAwKSk7IAp9IAoKCmlmICgyMDk3MTUxIDw8IDAgIT09IDIwOTcxNTEpIHsgCiAgJEVSUk9SKCcjMjI6IDIwOTcxNTEgPDwgMCA9PT0gMjA5NzE1MS4gQWN0dWFsOiAnICsgKDIwOTcxNTEgPDwgMCkpOyAKfSAKCgppZiAoNDE5NDMwMyA8PCAwICE9PSA0MTk0MzAzKSB7IAogICRFUlJPUignIzIzOiA0MTk0MzAzIDw8IDAgPT09IDQxOTQzMDMuIEFjdHVhbDogJyArICg0MTk0MzAzIDw8IDApKTsgCn0gCgoKaWYgKDgzODg2MDcgPDwgMCAhPT0gODM4ODYwNykgeyAKICAkRVJST1IoJyMyNDogODM4ODYwNyA8PCAwID09PSA4Mzg4NjA3LiBBY3R1YWw6ICcgKyAoODM4ODYwNyA8PCAwKSk7IAp9IAoKCmlmICgxNjc3NzIxNSA8PCAwICE9PSAxNjc3NzIxNSkgeyAKICAkRVJST1IoJyMyNTogMTY3NzcyMTUgPDwgMCA9PT0gMTY3NzcyMTUuIEFjdHVhbDogJyArICgxNjc3NzIxNSA8PCAwKSk7IAp9IAoKCmlmICgzMzU1NDQzMSA8PCAwICE9PSAzMzU1NDQzMSkgeyAKICAkRVJST1IoJyMyNjogMzM1NTQ0MzEgPDwgMCA9PT0gMzM1NTQ0MzEuIEFjdHVhbDogJyArICgzMzU1NDQzMSA8PCAwKSk7IAp9IAoKCmlmICg2NzEwODg2MyA8PCAwICE9PSA2NzEwODg2MykgeyAKICAkRVJST1IoJyMyNzogNjcxMDg4NjMgPDwgMCA9PT0gNjcxMDg4NjMuIEFjdHVhbDogJyArICg2NzEwODg2MyA8PCAwKSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPDwgMCAhPT0gMTM0MjE3NzI3KSB7IAogICRFUlJPUignIzI4OiAxMzQyMTc3MjcgPDwgMCA9PT0gMTM0MjE3NzI3LiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI3IDw8IDApKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NSA8PCAwICE9PSAyNjg0MzU0NTUpIHsgCiAgJEVSUk9SKCcjMjk6IDI2ODQzNTQ1NSA8PCAwID09PSAyNjg0MzU0NTUuIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPDwgMCkpOyAKfSAKCgppZiAoNTM2ODcwOTExIDw8IDAgIT09IDUzNjg3MDkxMSkgeyAKICAkRVJST1IoJyMzMDogNTM2ODcwOTExIDw8IDAgPT09IDUzNjg3MDkxMS4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMSA8PCAwKSk7IAp9IAoKCmlmICgxMDczNzQxODIzIDw8IDAgIT09IDEwNzM3NDE4MjMpIHsgCiAgJEVSUk9SKCcjMzE6IDEwNzM3NDE4MjMgPDwgMCA9PT0gMTA3Mzc0MTgyMy4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjMgPDwgMCkpOyAKfSAKCgppZiAoMjE0NzQ4MzY0NyA8PCAwICE9PSAyMTQ3NDgzNjQ3KSB7IAogICRFUlJPUignIzMyOiAyMTQ3NDgzNjQ3IDw8IDAgPT09IDIxNDc0ODM2NDcuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3IDw8IDApKTsgCn0gCgoKaWYgKDAgPDwgMSAhPT0gMCkgeyAKICAkRVJST1IoJyMzMzogMCA8PCAxID09PSAwLiBBY3R1YWw6ICcgKyAoMCA8PCAxKSk7IAp9IAoKCmlmICgxIDw8IDEgIT09IDIpIHsgCiAgJEVSUk9SKCcjMzQ6IDEgPDwgMSA9PT0gMi4gQWN0dWFsOiAnICsgKDEgPDwgMSkpOyAKfSAKCgppZiAoMyA8PCAxICE9PSA2KSB7IAogICRFUlJPUignIzM1OiAzIDw8IDEgPT09IDYuIEFjdHVhbDogJyArICgzIDw8IDEpKTsgCn0gCgoKaWYgKDcgPDwgMSAhPT0gMTQpIHsgCiAgJEVSUk9SKCcjMzY6IDcgPDwgMSA9PT0gMTQuIEFjdHVhbDogJyArICg3IDw8IDEpKTsgCn0gCgoKaWYgKDE1IDw8IDEgIT09IDMwKSB7IAogICRFUlJPUignIzM3OiAxNSA8PCAxID09PSAzMC4gQWN0dWFsOiAnICsgKDE1IDw8IDEpKTsgCn0gCgoKaWYgKDMxIDw8IDEgIT09IDYyKSB7IAogICRFUlJPUignIzM4OiAzMSA8PCAxID09PSA2Mi4gQWN0dWFsOiAnICsgKDMxIDw8IDEpKTsgCn0gCgoKaWYgKDYzIDw8IDEgIT09IDEyNikgeyAKICAkRVJST1IoJyMzOTogNjMgPDwgMSA9PT0gMTI2LiBBY3R1YWw6ICcgKyAoNjMgPDwgMSkpOyAKfSAKCgppZiAoMTI3IDw8IDEgIT09IDI1NCkgeyAKICAkRVJST1IoJyM0MDogMTI3IDw8IDEgPT09IDI1NC4gQWN0dWFsOiAnICsgKDEyNyA8PCAxKSk7IAp9IAoKCmlmICgyNTUgPDwgMSAhPT0gNTEwKSB7IAogICRFUlJPUignIzQxOiAyNTUgPDwgMSA9PT0gNTEwLiBBY3R1YWw6ICcgKyAoMjU1IDw8IDEpKTsgCn0gCgoKaWYgKDUxMSA8PCAxICE9PSAxMDIyKSB7IAogICRFUlJPUignIzQyOiA1MTEgPDwgMSA9PT0gMTAyMi4gQWN0dWFsOiAnICsgKDUxMSA8PCAxKSk7IAp9IAoKCmlmICgxMDIzIDw8IDEgIT09IDIwNDYpIHsgCiAgJEVSUk9SKCcjNDM6IDEwMjMgPDwgMSA9PT0gMjA0Ni4gQWN0dWFsOiAnICsgKDEwMjMgPDwgMSkpOyAKfSAKCgppZiAoMjA0NyA8PCAxICE9PSA0MDk0KSB7IAogICRFUlJPUignIzQ0OiAyMDQ3IDw8IDEgPT09IDQwOTQuIEFjdHVhbDogJyArICgyMDQ3IDw8IDEpKTsgCn0gCgoKaWYgKDQwOTUgPDwgMSAhPT0gODE5MCkgeyAKICAkRVJST1IoJyM0NTogNDA5NSA8PCAxID09PSA4MTkwLiBBY3R1YWw6ICcgKyAoNDA5NSA8PCAxKSk7IAp9IAoKCmlmICg4MTkxIDw8IDEgIT09IDE2MzgyKSB7IAogICRFUlJPUignIzQ2OiA4MTkxIDw8IDEgPT09IDE2MzgyLiBBY3R1YWw6ICcgKyAoODE5MSA8PCAxKSk7IAp9IAoKCmlmICgxNjM4MyA8PCAxICE9PSAzMjc2NikgeyAKICAkRVJST1IoJyM0NzogMTYzODMgPDwgMSA9PT0gMzI3NjYuIEFjdHVhbDogJyArICgxNjM4MyA8PCAxKSk7IAp9IAoKCmlmICgzMjc2NyA8PCAxICE9PSA2NTUzNCkgeyAKICAkRVJST1IoJyM0ODogMzI3NjcgPDwgMSA9PT0gNjU1MzQuIEFjdHVhbDogJyArICgzMjc2NyA8PCAxKSk7IAp9IAoKCmlmICg2NTUzNSA8PCAxICE9PSAxMzEwNzApIHsgCiAgJEVSUk9SKCcjNDk6IDY1NTM1IDw8IDEgPT09IDEzMTA3MC4gQWN0dWFsOiAnICsgKDY1NTM1IDw8IDEpKTsgCn0gCgoKaWYgKDEzMTA3MSA8PCAxICE9PSAyNjIxNDIpIHsgCiAgJEVSUk9SKCcjNTA6IDEzMTA3MSA8PCAxID09PSAyNjIxNDIuIEFjdHVhbDogJyArICgxMzEwNzEgPDwgMSkpOyAKfSAKCgppZiAoMjYyMTQzIDw8IDEgIT09IDUyNDI4NikgeyAKICAkRVJST1IoJyM1MTogMjYyMTQzIDw8IDEgPT09IDUyNDI4Ni4gQWN0dWFsOiAnICsgKDI2MjE0MyA8PCAxKSk7IAp9IAoKCmlmICg1MjQyODcgPDwgMSAhPT0gMTA0ODU3NCkgeyAKICAkRVJST1IoJyM1MjogNTI0Mjg3IDw8IDEgPT09IDEwNDg1NzQuIEFjdHVhbDogJyArICg1MjQyODcgPDwgMSkpOyAKfSAKCgppZiAoMTA0ODU3NSA8PCAxICE9PSAyMDk3MTUwKSB7IAogICRFUlJPUignIzUzOiAxMDQ4NTc1IDw8IDEgPT09IDIwOTcxNTAuIEFjdHVhbDogJyArICgxMDQ4NTc1IDw8IDEpKTsgCn0gCgoKaWYgKDIwOTcxNTEgPDwgMSAhPT0gNDE5NDMwMikgeyAKICAkRVJST1IoJyM1NDogMjA5NzE1MSA8PCAxID09PSA0MTk0MzAyLiBBY3R1YWw6ICcgKyAoMjA5NzE1MSA8PCAxKSk7IAp9IAoKCmlmICg0MTk0MzAzIDw8IDEgIT09IDgzODg2MDYpIHsgCiAgJEVSUk9SKCcjNTU6IDQxOTQzMDMgPDwgMSA9PT0gODM4ODYwNi4gQWN0dWFsOiAnICsgKDQxOTQzMDMgPDwgMSkpOyAKfSAKCgppZiAoODM4ODYwNyA8PCAxICE9PSAxNjc3NzIxNCkgeyAKICAkRVJST1IoJyM1NjogODM4ODYwNyA8PCAxID09PSAxNjc3NzIxNC4gQWN0dWFsOiAnICsgKDgzODg2MDcgPDwgMSkpOyAKfSAKCgppZiAoMTY3NzcyMTUgPDwgMSAhPT0gMzM1NTQ0MzApIHsgCiAgJEVSUk9SKCcjNTc6IDE2Nzc3MjE1IDw8IDEgPT09IDMzNTU0NDMwLiBBY3R1YWw6ICcgKyAoMTY3NzcyMTUgPDwgMSkpOyAKfSAKCgppZiAoMzM1NTQ0MzEgPDwgMSAhPT0gNjcxMDg4NjIpIHsgCiAgJEVSUk9SKCcjNTg6IDMzNTU0NDMxIDw8IDEgPT09IDY3MTA4ODYyLiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPDwgMSkpOyAKfSAKCgppZiAoNjcxMDg4NjMgPDwgMSAhPT0gMTM0MjE3NzI2KSB7IAogICRFUlJPUignIzU5OiA2NzEwODg2MyA8PCAxID09PSAxMzQyMTc3MjYuIEFjdHVhbDogJyArICg2NzEwODg2MyA8PCAxKSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPDwgMSAhPT0gMjY4NDM1NDU0KSB7IAogICRFUlJPUignIzYwOiAxMzQyMTc3MjcgPDwgMSA9PT0gMjY4NDM1NDU0LiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI3IDw8IDEpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NSA8PCAxICE9PSA1MzY4NzA5MTApIHsgCiAgJEVSUk9SKCcjNjE6IDI2ODQzNTQ1NSA8PCAxID09PSA1MzY4NzA5MTAuIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPDwgMSkpOyAKfSAKCgppZiAoNTM2ODcwOTExIDw8IDEgIT09IDEwNzM3NDE4MjIpIHsgCiAgJEVSUk9SKCcjNjI6IDUzNjg3MDkxMSA8PCAxID09PSAxMDczNzQxODIyLiBBY3R1YWw6ICcgKyAoNTM2ODcwOTExIDw8IDEpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjMgPDwgMSAhPT0gMjE0NzQ4MzY0NikgeyAKICAkRVJST1IoJyM2MzogMTA3Mzc0MTgyMyA8PCAxID09PSAyMTQ3NDgzNjQ2LiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA8PCAxKSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ3IDw8IDEgIT09IC0yKSB7IAogICRFUlJPUignIzY0OiAyMTQ3NDgzNjQ3IDw8IDEgPT09IC0yLiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA8PCAxKSk7IAp9IAoKCmlmICgwIDw8IDIgIT09IDApIHsgCiAgJEVSUk9SKCcjNjU6IDAgPDwgMiA9PT0gMC4gQWN0dWFsOiAnICsgKDAgPDwgMikpOyAKfSAKCgppZiAoMSA8PCAyICE9PSA0KSB7IAogICRFUlJPUignIzY2OiAxIDw8IDIgPT09IDQuIEFjdHVhbDogJyArICgxIDw8IDIpKTsgCn0gCgoKaWYgKDMgPDwgMiAhPT0gMTIpIHsgCiAgJEVSUk9SKCcjNjc6IDMgPDwgMiA9PT0gMTIuIEFjdHVhbDogJyArICgzIDw8IDIpKTsgCn0gCgoKaWYgKDcgPDwgMiAhPT0gMjgpIHsgCiAgJEVSUk9SKCcjNjg6IDcgPDwgMiA9PT0gMjguIEFjdHVhbDogJyArICg3IDw8IDIpKTsgCn0gCgoKaWYgKDE1IDw8IDIgIT09IDYwKSB7IAogICRFUlJPUignIzY5OiAxNSA8PCAyID09PSA2MC4gQWN0dWFsOiAnICsgKDE1IDw8IDIpKTsgCn0gCgoKaWYgKDMxIDw8IDIgIT09IDEyNCkgeyAKICAkRVJST1IoJyM3MDogMzEgPDwgMiA9PT0gMTI0LiBBY3R1YWw6ICcgKyAoMzEgPDwgMikpOyAKfSAKCgppZiAoNjMgPDwgMiAhPT0gMjUyKSB7IAogICRFUlJPUignIzcxOiA2MyA8PCAyID09PSAyNTIuIEFjdHVhbDogJyArICg2MyA8PCAyKSk7IAp9IAoKCmlmICgxMjcgPDwgMiAhPT0gNTA4KSB7IAogICRFUlJPUignIzcyOiAxMjcgPDwgMiA9PT0gNTA4LiBBY3R1YWw6ICcgKyAoMTI3IDw8IDIpKTsgCn0gCgoKaWYgKDI1NSA8PCAyICE9PSAxMDIwKSB7IAogICRFUlJPUignIzczOiAyNTUgPDwgMiA9PT0gMTAyMC4gQWN0dWFsOiAnICsgKDI1NSA8PCAyKSk7IAp9IAoKCmlmICg1MTEgPDwgMiAhPT0gMjA0NCkgeyAKICAkRVJST1IoJyM3NDogNTExIDw8IDIgPT09IDIwNDQuIEFjdHVhbDogJyArICg1MTEgPDwgMikpOyAKfSAKCgppZiAoMTAyMyA8PCAyICE9PSA0MDkyKSB7IAogICRFUlJPUignIzc1OiAxMDIzIDw8IDIgPT09IDQwOTIuIEFjdHVhbDogJyArICgxMDIzIDw8IDIpKTsgCn0gCgoKaWYgKDIwNDcgPDwgMiAhPT0gODE4OCkgeyAKICAkRVJST1IoJyM3NjogMjA0NyA8PCAyID09PSA4MTg4LiBBY3R1YWw6ICcgKyAoMjA0NyA8PCAyKSk7IAp9IAoKCmlmICg0MDk1IDw8IDIgIT09IDE2MzgwKSB7IAogICRFUlJPUignIzc3OiA0MDk1IDw8IDIgPT09IDE2MzgwLiBBY3R1YWw6ICcgKyAoNDA5NSA8PCAyKSk7IAp9IAoKCmlmICg4MTkxIDw8IDIgIT09IDMyNzY0KSB7IAogICRFUlJPUignIzc4OiA4MTkxIDw8IDIgPT09IDMyNzY0LiBBY3R1YWw6ICcgKyAoODE5MSA8PCAyKSk7IAp9IAoKCmlmICgxNjM4MyA8PCAyICE9PSA2NTUzMikgeyAKICAkRVJST1IoJyM3OTogMTYzODMgPDwgMiA9PT0gNjU1MzIuIEFjdHVhbDogJyArICgxNjM4MyA8PCAyKSk7IAp9IAoKCmlmICgzMjc2NyA8PCAyICE9PSAxMzEwNjgpIHsgCiAgJEVSUk9SKCcjODA6IDMyNzY3IDw8IDIgPT09IDEzMTA2OC4gQWN0dWFsOiAnICsgKDMyNzY3IDw8IDIpKTsgCn0gCgoKaWYgKDY1NTM1IDw8IDIgIT09IDI2MjE0MCkgeyAKICAkRVJST1IoJyM4MTogNjU1MzUgPDwgMiA9PT0gMjYyMTQwLiBBY3R1YWw6ICcgKyAoNjU1MzUgPDwgMikpOyAKfSAKCgppZiAoMTMxMDcxIDw8IDIgIT09IDUyNDI4NCkgeyAKICAkRVJST1IoJyM4MjogMTMxMDcxIDw8IDIgPT09IDUyNDI4NC4gQWN0dWFsOiAnICsgKDEzMTA3MSA8PCAyKSk7IAp9IAoKCmlmICgyNjIxNDMgPDwgMiAhPT0gMTA0ODU3MikgeyAKICAkRVJST1IoJyM4MzogMjYyMTQzIDw8IDIgPT09IDEwNDg1NzIuIEFjdHVhbDogJyArICgyNjIxNDMgPDwgMikpOyAKfSAKCgppZiAoNTI0Mjg3IDw8IDIgIT09IDIwOTcxNDgpIHsgCiAgJEVSUk9SKCcjODQ6IDUyNDI4NyA8PCAyID09PSAyMDk3MTQ4LiBBY3R1YWw6ICcgKyAoNTI0Mjg3IDw8IDIpKTsgCn0gCgoKaWYgKDEwNDg1NzUgPDwgMiAhPT0gNDE5NDMwMCkgeyAKICAkRVJST1IoJyM4NTogMTA0ODU3NSA8PCAyID09PSA0MTk0MzAwLiBBY3R1YWw6ICcgKyAoMTA0ODU3NSA8PCAyKSk7IAp9IAoKCmlmICgyMDk3MTUxIDw8IDIgIT09IDgzODg2MDQpIHsgCiAgJEVSUk9SKCcjODY6IDIwOTcxNTEgPDwgMiA9PT0gODM4ODYwNC4gQWN0dWFsOiAnICsgKDIwOTcxNTEgPDwgMikpOyAKfSAKCgppZiAoNDE5NDMwMyA8PCAyICE9PSAxNjc3NzIxMikgeyAKICAkRVJST1IoJyM4NzogNDE5NDMwMyA8PCAyID09PSAxNjc3NzIxMi4gQWN0dWFsOiAnICsgKDQxOTQzMDMgPDwgMikpOyAKfSAKCgppZiAoODM4ODYwNyA8PCAyICE9PSAzMzU1NDQyOCkgeyAKICAkRVJST1IoJyM4ODogODM4ODYwNyA8PCAyID09PSAzMzU1NDQyOC4gQWN0dWFsOiAnICsgKDgzODg2MDcgPDwgMikpOyAKfSAKCgppZiAoMTY3NzcyMTUgPDwgMiAhPT0gNjcxMDg4NjApIHsgCiAgJEVSUk9SKCcjODk6IDE2Nzc3MjE1IDw8IDIgPT09IDY3MTA4ODYwLiBBY3R1YWw6ICcgKyAoMTY3NzcyMTUgPDwgMikpOyAKfSAKCgppZiAoMzM1NTQ0MzEgPDwgMiAhPT0gMTM0MjE3NzI0KSB7IAogICRFUlJPUignIzkwOiAzMzU1NDQzMSA8PCAyID09PSAxMzQyMTc3MjQuIEFjdHVhbDogJyArICgzMzU1NDQzMSA8PCAyKSk7IAp9IAoKCmlmICg2NzEwODg2MyA8PCAyICE9PSAyNjg0MzU0NTIpIHsgCiAgJEVSUk9SKCcjOTE6IDY3MTA4ODYzIDw8IDIgPT09IDI2ODQzNTQ1Mi4gQWN0dWFsOiAnICsgKDY3MTA4ODYzIDw8IDIpKTsgCn0gCgoKaWYgKDEzNDIxNzcyNyA8PCAyICE9PSA1MzY4NzA5MDgpIHsgCiAgJEVSUk9SKCcjOTI6IDEzNDIxNzcyNyA8PCAyID09PSA1MzY4NzA5MDguIEFjdHVhbDogJyArICgxMzQyMTc3MjcgPDwgMikpOyAKfSAKCgppZiAoMjY4NDM1NDU1IDw8IDIgIT09IDEwNzM3NDE4MjApIHsgCiAgJEVSUk9SKCcjOTM6IDI2ODQzNTQ1NSA8PCAyID09PSAxMDczNzQxODIwLiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU1IDw8IDIpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMSA8PCAyICE9PSAyMTQ3NDgzNjQ0KSB7IAogICRFUlJPUignIzk0OiA1MzY4NzA5MTEgPDwgMiA9PT0gMjE0NzQ4MzY0NC4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMSA8PCAyKSk7IAp9IAoKCmlmICgxMDczNzQxODIzIDw8IDIgIT09IC00KSB7IAogICRFUlJPUignIzk1OiAxMDczNzQxODIzIDw8IDIgPT09IC00LiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA8PCAyKSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ3IDw8IDIgIT09IC00KSB7IAogICRFUlJPUignIzk2OiAyMTQ3NDgzNjQ3IDw8IDIgPT09IC00LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA8PCAyKSk7IAp9IAoKCmlmICgwIDw8IDMgIT09IDApIHsgCiAgJEVSUk9SKCcjOTc6IDAgPDwgMyA9PT0gMC4gQWN0dWFsOiAnICsgKDAgPDwgMykpOyAKfSAKCgppZiAoMSA8PCAzICE9PSA4KSB7IAogICRFUlJPUignIzk4OiAxIDw8IDMgPT09IDguIEFjdHVhbDogJyArICgxIDw8IDMpKTsgCn0gCgoKaWYgKDMgPDwgMyAhPT0gMjQpIHsgCiAgJEVSUk9SKCcjOTk6IDMgPDwgMyA9PT0gMjQuIEFjdHVhbDogJyArICgzIDw8IDMpKTsgCn0gCgoKaWYgKDcgPDwgMyAhPT0gNTYpIHsgCiAgJEVSUk9SKCcjMTAwOiA3IDw8IDMgPT09IDU2LiBBY3R1YWw6ICcgKyAoNyA8PCAzKSk7IAp9IAoKCmlmICgxNSA8PCAzICE9PSAxMjApIHsgCiAgJEVSUk9SKCcjMTAxOiAxNSA8PCAzID09PSAxMjAuIEFjdHVhbDogJyArICgxNSA8PCAzKSk7IAp9IAoKCmlmICgzMSA8PCAzICE9PSAyNDgpIHsgCiAgJEVSUk9SKCcjMTAyOiAzMSA8PCAzID09PSAyNDguIEFjdHVhbDogJyArICgzMSA8PCAzKSk7IAp9IAoKCmlmICg2MyA8PCAzICE9PSA1MDQpIHsgCiAgJEVSUk9SKCcjMTAzOiA2MyA8PCAzID09PSA1MDQuIEFjdHVhbDogJyArICg2MyA8PCAzKSk7IAp9IAoKCmlmICgxMjcgPDwgMyAhPT0gMTAxNikgeyAKICAkRVJST1IoJyMxMDQ6IDEyNyA8PCAzID09PSAxMDE2LiBBY3R1YWw6ICcgKyAoMTI3IDw8IDMpKTsgCn0gCgoKaWYgKDI1NSA8PCAzICE9PSAyMDQwKSB7IAogICRFUlJPUignIzEwNTogMjU1IDw8IDMgPT09IDIwNDAuIEFjdHVhbDogJyArICgyNTUgPDwgMykpOyAKfSAKCgppZiAoNTExIDw8IDMgIT09IDQwODgpIHsgCiAgJEVSUk9SKCcjMTA2OiA1MTEgPDwgMyA9PT0gNDA4OC4gQWN0dWFsOiAnICsgKDUxMSA8PCAzKSk7IAp9IAoKCmlmICgxMDIzIDw8IDMgIT09IDgxODQpIHsgCiAgJEVSUk9SKCcjMTA3OiAxMDIzIDw8IDMgPT09IDgxODQuIEFjdHVhbDogJyArICgxMDIzIDw8IDMpKTsgCn0gCgoKaWYgKDIwNDcgPDwgMyAhPT0gMTYzNzYpIHsgCiAgJEVSUk9SKCcjMTA4OiAyMDQ3IDw8IDMgPT09IDE2Mzc2LiBBY3R1YWw6ICcgKyAoMjA0NyA8PCAzKSk7IAp9IAoKCmlmICg0MDk1IDw8IDMgIT09IDMyNzYwKSB7IAogICRFUlJPUignIzEwOTogNDA5NSA8PCAzID09PSAzMjc2MC4gQWN0dWFsOiAnICsgKDQwOTUgPDwgMykpOyAKfSAKCgppZiAoODE5MSA8PCAzICE9PSA2NTUyOCkgeyAKICAkRVJST1IoJyMxMTA6IDgxOTEgPDwgMyA9PT0gNjU1MjguIEFjdHVhbDogJyArICg4MTkxIDw8IDMpKTsgCn0gCgoKaWYgKDE2MzgzIDw8IDMgIT09IDEzMTA2NCkgeyAKICAkRVJST1IoJyMxMTE6IDE2MzgzIDw8IDMgPT09IDEzMTA2NC4gQWN0dWFsOiAnICsgKDE2MzgzIDw8IDMpKTsgCn0gCgoKaWYgKDMyNzY3IDw8IDMgIT09IDI2MjEzNikgeyAKICAkRVJST1IoJyMxMTI6IDMyNzY3IDw8IDMgPT09IDI2MjEzNi4gQWN0dWFsOiAnICsgKDMyNzY3IDw8IDMpKTsgCn0gCgoKaWYgKDY1NTM1IDw8IDMgIT09IDUyNDI4MCkgeyAKICAkRVJST1IoJyMxMTM6IDY1NTM1IDw8IDMgPT09IDUyNDI4MC4gQWN0dWFsOiAnICsgKDY1NTM1IDw8IDMpKTsgCn0gCgoKaWYgKDEzMTA3MSA8PCAzICE9PSAxMDQ4NTY4KSB7IAogICRFUlJPUignIzExNDogMTMxMDcxIDw8IDMgPT09IDEwNDg1NjguIEFjdHVhbDogJyArICgxMzEwNzEgPDwgMykpOyAKfSAKCgppZiAoMjYyMTQzIDw8IDMgIT09IDIwOTcxNDQpIHsgCiAgJEVSUk9SKCcjMTE1OiAyNjIxNDMgPDwgMyA9PT0gMjA5NzE0NC4gQWN0dWFsOiAnICsgKDI2MjE0MyA8PCAzKSk7IAp9IAoKCmlmICg1MjQyODcgPDwgMyAhPT0gNDE5NDI5NikgeyAKICAkRVJST1IoJyMxMTY6IDUyNDI4NyA8PCAzID09PSA0MTk0Mjk2LiBBY3R1YWw6ICcgKyAoNTI0Mjg3IDw8IDMpKTsgCn0gCgoKaWYgKDEwNDg1NzUgPDwgMyAhPT0gODM4ODYwMCkgeyAKICAkRVJST1IoJyMxMTc6IDEwNDg1NzUgPDwgMyA9PT0gODM4ODYwMC4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPDwgMykpOyAKfSAKCgppZiAoMjA5NzE1MSA8PCAzICE9PSAxNjc3NzIwOCkgeyAKICAkRVJST1IoJyMxMTg6IDIwOTcxNTEgPDwgMyA9PT0gMTY3NzcyMDguIEFjdHVhbDogJyArICgyMDk3MTUxIDw8IDMpKTsgCn0gCgoKaWYgKDQxOTQzMDMgPDwgMyAhPT0gMzM1NTQ0MjQpIHsgCiAgJEVSUk9SKCcjMTE5OiA0MTk0MzAzIDw8IDMgPT09IDMzNTU0NDI0LiBBY3R1YWw6ICcgKyAoNDE5NDMwMyA8PCAzKSk7IAp9IAoKCmlmICg4Mzg4NjA3IDw8IDMgIT09IDY3MTA4ODU2KSB7IAogICRFUlJPUignIzEyMDogODM4ODYwNyA8PCAzID09PSA2NzEwODg1Ni4gQWN0dWFsOiAnICsgKDgzODg2MDcgPDwgMykpOyAKfSAKCgppZiAoMTY3NzcyMTUgPDwgMyAhPT0gMTM0MjE3NzIwKSB7IAogICRFUlJPUignIzEyMTogMTY3NzcyMTUgPDwgMyA9PT0gMTM0MjE3NzIwLiBBY3R1YWw6ICcgKyAoMTY3NzcyMTUgPDwgMykpOyAKfSAKCgppZiAoMzM1NTQ0MzEgPDwgMyAhPT0gMjY4NDM1NDQ4KSB7IAogICRFUlJPUignIzEyMjogMzM1NTQ0MzEgPDwgMyA9PT0gMjY4NDM1NDQ4LiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPDwgMykpOyAKfSAKCgppZiAoNjcxMDg4NjMgPDwgMyAhPT0gNTM2ODcwOTA0KSB7IAogICRFUlJPUignIzEyMzogNjcxMDg4NjMgPDwgMyA9PT0gNTM2ODcwOTA0LiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPDwgMykpOyAKfSAKCgppZiAoMTM0MjE3NzI3IDw8IDMgIT09IDEwNzM3NDE4MTYpIHsgCiAgJEVSUk9SKCcjMTI0OiAxMzQyMTc3MjcgPDwgMyA9PT0gMTA3Mzc0MTgxNi4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA8PCAzKSk7IAp9IAoKCmlmICgyNjg0MzU0NTUgPDwgMyAhPT0gMjE0NzQ4MzY0MCkgeyAKICAkRVJST1IoJyMxMjU6IDI2ODQzNTQ1NSA8PCAzID09PSAyMTQ3NDgzNjQwLiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU1IDw8IDMpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMSA8PCAzICE9PSAtOCkgeyAKICAkRVJST1IoJyMxMjY6IDUzNjg3MDkxMSA8PCAzID09PSAtOC4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMSA8PCAzKSk7IAp9IAoKCmlmICgxMDczNzQxODIzIDw8IDMgIT09IC04KSB7IAogICRFUlJPUignIzEyNzogMTA3Mzc0MTgyMyA8PCAzID09PSAtOC4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjMgPDwgMykpOyAKfSAKCgppZiAoMjE0NzQ4MzY0NyA8PCAzICE9PSAtOCkgeyAKICAkRVJST1IoJyMxMjg6IDIxNDc0ODM2NDcgPDwgMyA9PT0gLTguIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3IDw8IDMpKTsgCn0gCgoKaWYgKDAgPDwgNCAhPT0gMCkgeyAKICAkRVJST1IoJyMxMjk6IDAgPDwgNCA9PT0gMC4gQWN0dWFsOiAnICsgKDAgPDwgNCkpOyAKfSAKCgppZiAoMSA8PCA0ICE9PSAxNikgeyAKICAkRVJST1IoJyMxMzA6IDEgPDwgNCA9PT0gMTYuIEFjdHVhbDogJyArICgxIDw8IDQpKTsgCn0gCgoKaWYgKDMgPDwgNCAhPT0gNDgpIHsgCiAgJEVSUk9SKCcjMTMxOiAzIDw8IDQgPT09IDQ4LiBBY3R1YWw6ICcgKyAoMyA8PCA0KSk7IAp9IAoKCmlmICg3IDw8IDQgIT09IDExMikgeyAKICAkRVJST1IoJyMxMzI6IDcgPDwgNCA9PT0gMTEyLiBBY3R1YWw6ICcgKyAoNyA8PCA0KSk7IAp9IAoKCmlmICgxNSA8PCA0ICE9PSAyNDApIHsgCiAgJEVSUk9SKCcjMTMzOiAxNSA8PCA0ID09PSAyNDAuIEFjdHVhbDogJyArICgxNSA8PCA0KSk7IAp9IAoKCmlmICgzMSA8PCA0ICE9PSA0OTYpIHsgCiAgJEVSUk9SKCcjMTM0OiAzMSA8PCA0ID09PSA0OTYuIEFjdHVhbDogJyArICgzMSA8PCA0KSk7IAp9IAoKCmlmICg2MyA8PCA0ICE9PSAxMDA4KSB7IAogICRFUlJPUignIzEzNTogNjMgPDwgNCA9PT0gMTAwOC4gQWN0dWFsOiAnICsgKDYzIDw8IDQpKTsgCn0gCgoKaWYgKDEyNyA8PCA0ICE9PSAyMDMyKSB7IAogICRFUlJPUignIzEzNjogMTI3IDw8IDQgPT09IDIwMzIuIEFjdHVhbDogJyArICgxMjcgPDwgNCkpOyAKfSAKCgppZiAoMjU1IDw8IDQgIT09IDQwODApIHsgCiAgJEVSUk9SKCcjMTM3OiAyNTUgPDwgNCA9PT0gNDA4MC4gQWN0dWFsOiAnICsgKDI1NSA8PCA0KSk7IAp9IAoKCmlmICg1MTEgPDwgNCAhPT0gODE3NikgeyAKICAkRVJST1IoJyMxMzg6IDUxMSA8PCA0ID09PSA4MTc2LiBBY3R1YWw6ICcgKyAoNTExIDw8IDQpKTsgCn0gCgoKaWYgKDEwMjMgPDwgNCAhPT0gMTYzNjgpIHsgCiAgJEVSUk9SKCcjMTM5OiAxMDIzIDw8IDQgPT09IDE2MzY4LiBBY3R1YWw6ICcgKyAoMTAyMyA8PCA0KSk7IAp9IAoKCmlmICgyMDQ3IDw8IDQgIT09IDMyNzUyKSB7IAogICRFUlJPUignIzE0MDogMjA0NyA8PCA0ID09PSAzMjc1Mi4gQWN0dWFsOiAnICsgKDIwNDcgPDwgNCkpOyAKfSAKCgppZiAoNDA5NSA8PCA0ICE9PSA2NTUyMCkgeyAKICAkRVJST1IoJyMxNDE6IDQwOTUgPDwgNCA9PT0gNjU1MjAuIEFjdHVhbDogJyArICg0MDk1IDw8IDQpKTsgCn0gCgoKaWYgKDgxOTEgPDwgNCAhPT0gMTMxMDU2KSB7IAogICRFUlJPUignIzE0MjogODE5MSA8PCA0ID09PSAxMzEwNTYuIEFjdHVhbDogJyArICg4MTkxIDw8IDQpKTsgCn0gCgoKaWYgKDE2MzgzIDw8IDQgIT09IDI2MjEyOCkgeyAKICAkRVJST1IoJyMxNDM6IDE2MzgzIDw8IDQgPT09IDI2MjEyOC4gQWN0dWFsOiAnICsgKDE2MzgzIDw8IDQpKTsgCn0gCgoKaWYgKDMyNzY3IDw8IDQgIT09IDUyNDI3MikgeyAKICAkRVJST1IoJyMxNDQ6IDMyNzY3IDw8IDQgPT09IDUyNDI3Mi4gQWN0dWFsOiAnICsgKDMyNzY3IDw8IDQpKTsgCn0gCgoKaWYgKDY1NTM1IDw8IDQgIT09IDEwNDg1NjApIHsgCiAgJEVSUk9SKCcjMTQ1OiA2NTUzNSA8PCA0ID09PSAxMDQ4NTYwLiBBY3R1YWw6ICcgKyAoNjU1MzUgPDwgNCkpOyAKfSAKCgppZiAoMTMxMDcxIDw8IDQgIT09IDIwOTcxMzYpIHsgCiAgJEVSUk9SKCcjMTQ2OiAxMzEwNzEgPDwgNCA9PT0gMjA5NzEzNi4gQWN0dWFsOiAnICsgKDEzMTA3MSA8PCA0KSk7IAp9IAoKCmlmICgyNjIxNDMgPDwgNCAhPT0gNDE5NDI4OCkgeyAKICAkRVJST1IoJyMxNDc6IDI2MjE0MyA8PCA0ID09PSA0MTk0Mjg4LiBBY3R1YWw6ICcgKyAoMjYyMTQzIDw8IDQpKTsgCn0gCgoKaWYgKDUyNDI4NyA8PCA0ICE9PSA4Mzg4NTkyKSB7IAogICRFUlJPUignIzE0ODogNTI0Mjg3IDw8IDQgPT09IDgzODg1OTIuIEFjdHVhbDogJyArICg1MjQyODcgPDwgNCkpOyAKfSAKCgppZiAoMTA0ODU3NSA8PCA0ICE9PSAxNjc3NzIwMCkgeyAKICAkRVJST1IoJyMxNDk6IDEwNDg1NzUgPDwgNCA9PT0gMTY3NzcyMDAuIEFjdHVhbDogJyArICgxMDQ4NTc1IDw8IDQpKTsgCn0gCgoKaWYgKDIwOTcxNTEgPDwgNCAhPT0gMzM1NTQ0MTYpIHsgCiAgJEVSUk9SKCcjMTUwOiAyMDk3MTUxIDw8IDQgPT09IDMzNTU0NDE2LiBBY3R1YWw6ICcgKyAoMjA5NzE1MSA8PCA0KSk7IAp9IAoKCmlmICg0MTk0MzAzIDw8IDQgIT09IDY3MTA4ODQ4KSB7IAogICRFUlJPUignIzE1MTogNDE5NDMwMyA8PCA0ID09PSA2NzEwODg0OC4gQWN0dWFsOiAnICsgKDQxOTQzMDMgPDwgNCkpOyAKfSAKCgppZiAoODM4ODYwNyA8PCA0ICE9PSAxMzQyMTc3MTIpIHsgCiAgJEVSUk9SKCcjMTUyOiA4Mzg4NjA3IDw8IDQgPT09IDEzNDIxNzcxMi4gQWN0dWFsOiAnICsgKDgzODg2MDcgPDwgNCkpOyAKfSAKCgppZiAoMTY3NzcyMTUgPDwgNCAhPT0gMjY4NDM1NDQwKSB7IAogICRFUlJPUignIzE1MzogMTY3NzcyMTUgPDwgNCA9PT0gMjY4NDM1NDQwLiBBY3R1YWw6ICcgKyAoMTY3NzcyMTUgPDwgNCkpOyAKfSAKCgppZiAoMzM1NTQ0MzEgPDwgNCAhPT0gNTM2ODcwODk2KSB7IAogICRFUlJPUignIzE1NDogMzM1NTQ0MzEgPDwgNCA9PT0gNTM2ODcwODk2LiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPDwgNCkpOyAKfSAKCgppZiAoNjcxMDg4NjMgPDwgNCAhPT0gMTA3Mzc0MTgwOCkgeyAKICAkRVJST1IoJyMxNTU6IDY3MTA4ODYzIDw8IDQgPT09IDEwNzM3NDE4MDguIEFjdHVhbDogJyArICg2NzEwODg2MyA8PCA0KSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPDwgNCAhPT0gMjE0NzQ4MzYzMikgeyAKICAkRVJST1IoJyMxNTY6IDEzNDIxNzcyNyA8PCA0ID09PSAyMTQ3NDgzNjMyLiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI3IDw8IDQpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NSA8PCA0ICE9PSAtMTYpIHsgCiAgJEVSUk9SKCcjMTU3OiAyNjg0MzU0NTUgPDwgNCA9PT0gLTE2LiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU1IDw8IDQpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMSA8PCA0ICE9PSAtMTYpIHsgCiAgJEVSUk9SKCcjMTU4OiA1MzY4NzA5MTEgPDwgNCA9PT0gLTE2LiBBY3R1YWw6ICcgKyAoNTM2ODcwOTExIDw8IDQpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjMgPDwgNCAhPT0gLTE2KSB7IAogICRFUlJPUignIzE1OTogMTA3Mzc0MTgyMyA8PCA0ID09PSAtMTYuIEFjdHVhbDogJyArICgxMDczNzQxODIzIDw8IDQpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDcgPDwgNCAhPT0gLTE2KSB7IAogICRFUlJPUignIzE2MDogMjE0NzQ4MzY0NyA8PCA0ID09PSAtMTYuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3IDw8IDQpKTsgCn0gCgoKaWYgKDAgPDwgNSAhPT0gMCkgeyAKICAkRVJST1IoJyMxNjE6IDAgPDwgNSA9PT0gMC4gQWN0dWFsOiAnICsgKDAgPDwgNSkpOyAKfSAKCgppZiAoMSA8PCA1ICE9PSAzMikgeyAKICAkRVJST1IoJyMxNjI6IDEgPDwgNSA9PT0gMzIuIEFjdHVhbDogJyArICgxIDw8IDUpKTsgCn0gCgoKaWYgKDMgPDwgNSAhPT0gOTYpIHsgCiAgJEVSUk9SKCcjMTYzOiAzIDw8IDUgPT09IDk2LiBBY3R1YWw6ICcgKyAoMyA8PCA1KSk7IAp9IAoKCmlmICg3IDw8IDUgIT09IDIyNCkgeyAKICAkRVJST1IoJyMxNjQ6IDcgPDwgNSA9PT0gMjI0LiBBY3R1YWw6ICcgKyAoNyA8PCA1KSk7IAp9IAoKCmlmICgxNSA8PCA1ICE9PSA0ODApIHsgCiAgJEVSUk9SKCcjMTY1OiAxNSA8PCA1ID09PSA0ODAuIEFjdHVhbDogJyArICgxNSA8PCA1KSk7IAp9IAoKCmlmICgzMSA8PCA1ICE9PSA5OTIpIHsgCiAgJEVSUk9SKCcjMTY2OiAzMSA8PCA1ID09PSA5OTIuIEFjdHVhbDogJyArICgzMSA8PCA1KSk7IAp9IAoKCmlmICg2MyA8PCA1ICE9PSAyMDE2KSB7IAogICRFUlJPUignIzE2NzogNjMgPDwgNSA9PT0gMjAxNi4gQWN0dWFsOiAnICsgKDYzIDw8IDUpKTsgCn0gCgoKaWYgKDEyNyA8PCA1ICE9PSA0MDY0KSB7IAogICRFUlJPUignIzE2ODogMTI3IDw8IDUgPT09IDQwNjQuIEFjdHVhbDogJyArICgxMjcgPDwgNSkpOyAKfSAKCgppZiAoMjU1IDw8IDUgIT09IDgxNjApIHsgCiAgJEVSUk9SKCcjMTY5OiAyNTUgPDwgNSA9PT0gODE2MC4gQWN0dWFsOiAnICsgKDI1NSA8PCA1KSk7IAp9IAoKCmlmICg1MTEgPDwgNSAhPT0gMTYzNTIpIHsgCiAgJEVSUk9SKCcjMTcwOiA1MTEgPDwgNSA9PT0gMTYzNTIuIEFjdHVhbDogJyArICg1MTEgPDwgNSkpOyAKfSAKCgppZiAoMTAyMyA8PCA1ICE9PSAzMjczNikgeyAKICAkRVJST1IoJyMxNzE6IDEwMjMgPDwgNSA9PT0gMzI3MzYuIEFjdHVhbDogJyArICgxMDIzIDw8IDUpKTsgCn0gCgoKaWYgKDIwNDcgPDwgNSAhPT0gNjU1MDQpIHsgCiAgJEVSUk9SKCcjMTcyOiAyMDQ3IDw8IDUgPT09IDY1NTA0LiBBY3R1YWw6ICcgKyAoMjA0NyA8PCA1KSk7IAp9IAoKCmlmICg0MDk1IDw8IDUgIT09IDEzMTA0MCkgeyAKICAkRVJST1IoJyMxNzM6IDQwOTUgPDwgNSA9PT0gMTMxMDQwLiBBY3R1YWw6ICcgKyAoNDA5NSA8PCA1KSk7IAp9IAoKCmlmICg4MTkxIDw8IDUgIT09IDI2MjExMikgeyAKICAkRVJST1IoJyMxNzQ6IDgxOTEgPDwgNSA9PT0gMjYyMTEyLiBBY3R1YWw6ICcgKyAoODE5MSA8PCA1KSk7IAp9IAoKCmlmICgxNjM4MyA8PCA1ICE9PSA1MjQyNTYpIHsgCiAgJEVSUk9SKCcjMTc1OiAxNjM4MyA8PCA1ID09PSA1MjQyNTYuIEFjdHVhbDogJyArICgxNjM4MyA8PCA1KSk7IAp9IAoKCmlmICgzMjc2NyA8PCA1ICE9PSAxMDQ4NTQ0KSB7IAogICRFUlJPUignIzE3NjogMzI3NjcgPDwgNSA9PT0gMTA0ODU0NC4gQWN0dWFsOiAnICsgKDMyNzY3IDw8IDUpKTsgCn0gCgoKaWYgKDY1NTM1IDw8IDUgIT09IDIwOTcxMjApIHsgCiAgJEVSUk9SKCcjMTc3OiA2NTUzNSA8PCA1ID09PSAyMDk3MTIwLiBBY3R1YWw6ICcgKyAoNjU1MzUgPDwgNSkpOyAKfSAKCgppZiAoMTMxMDcxIDw8IDUgIT09IDQxOTQyNzIpIHsgCiAgJEVSUk9SKCcjMTc4OiAxMzEwNzEgPDwgNSA9PT0gNDE5NDI3Mi4gQWN0dWFsOiAnICsgKDEzMTA3MSA8PCA1KSk7IAp9IAoKCmlmICgyNjIxNDMgPDwgNSAhPT0gODM4ODU3NikgeyAKICAkRVJST1IoJyMxNzk6IDI2MjE0MyA8PCA1ID09PSA4Mzg4NTc2LiBBY3R1YWw6ICcgKyAoMjYyMTQzIDw8IDUpKTsgCn0gCgoKaWYgKDUyNDI4NyA8PCA1ICE9PSAxNjc3NzE4NCkgeyAKICAkRVJST1IoJyMxODA6IDUyNDI4NyA8PCA1ID09PSAxNjc3NzE4NC4gQWN0dWFsOiAnICsgKDUyNDI4NyA8PCA1KSk7IAp9IAoKCmlmICgxMDQ4NTc1IDw8IDUgIT09IDMzNTU0NDAwKSB7IAogICRFUlJPUignIzE4MTogMTA0ODU3NSA8PCA1ID09PSAzMzU1NDQwMC4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPDwgNSkpOyAKfSAKCgppZiAoMjA5NzE1MSA8PCA1ICE9PSA2NzEwODgzMikgeyAKICAkRVJST1IoJyMxODI6IDIwOTcxNTEgPDwgNSA9PT0gNjcxMDg4MzIuIEFjdHVhbDogJyArICgyMDk3MTUxIDw8IDUpKTsgCn0gCgoKaWYgKDQxOTQzMDMgPDwgNSAhPT0gMTM0MjE3Njk2KSB7IAogICRFUlJPUignIzE4MzogNDE5NDMwMyA8PCA1ID09PSAxMzQyMTc2OTYuIEFjdHVhbDogJyArICg0MTk0MzAzIDw8IDUpKTsgCn0gCgoKaWYgKDgzODg2MDcgPDwgNSAhPT0gMjY4NDM1NDI0KSB7IAogICRFUlJPUignIzE4NDogODM4ODYwNyA8PCA1ID09PSAyNjg0MzU0MjQuIEFjdHVhbDogJyArICg4Mzg4NjA3IDw8IDUpKTsgCn0gCgoKaWYgKDE2Nzc3MjE1IDw8IDUgIT09IDUzNjg3MDg4MCkgeyAKICAkRVJST1IoJyMxODU6IDE2Nzc3MjE1IDw8IDUgPT09IDUzNjg3MDg4MC4gQWN0dWFsOiAnICsgKDE2Nzc3MjE1IDw8IDUpKTsgCn0gCgoKaWYgKDMzNTU0NDMxIDw8IDUgIT09IDEwNzM3NDE3OTIpIHsgCiAgJEVSUk9SKCcjMTg2OiAzMzU1NDQzMSA8PCA1ID09PSAxMDczNzQxNzkyLiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPDwgNSkpOyAKfSAKCgppZiAoNjcxMDg4NjMgPDwgNSAhPT0gMjE0NzQ4MzYxNikgeyAKICAkRVJST1IoJyMxODc6IDY3MTA4ODYzIDw8IDUgPT09IDIxNDc0ODM2MTYuIEFjdHVhbDogJyArICg2NzEwODg2MyA8PCA1KSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPDwgNSAhPT0gLTMyKSB7IAogICRFUlJPUignIzE4ODogMTM0MjE3NzI3IDw8IDUgPT09IC0zMi4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA8PCA1KSk7IAp9IAoKCmlmICgyNjg0MzU0NTUgPDwgNSAhPT0gLTMyKSB7IAogICRFUlJPUignIzE4OTogMjY4NDM1NDU1IDw8IDUgPT09IC0zMi4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NSA8PCA1KSk7IAp9IAoKCmlmICg1MzY4NzA5MTEgPDwgNSAhPT0gLTMyKSB7IAogICRFUlJPUignIzE5MDogNTM2ODcwOTExIDw8IDUgPT09IC0zMi4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMSA8PCA1KSk7IAp9IAoKCmlmICgxMDczNzQxODIzIDw8IDUgIT09IC0zMikgeyAKICAkRVJST1IoJyMxOTE6IDEwNzM3NDE4MjMgPDwgNSA9PT0gLTMyLiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA8PCA1KSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ3IDw8IDUgIT09IC0zMikgeyAKICAkRVJST1IoJyMxOTI6IDIxNDc0ODM2NDcgPDwgNSA9PT0gLTMyLiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA8PCA1KSk7IAp9IAoKCmlmICgwIDw8IDYgIT09IDApIHsgCiAgJEVSUk9SKCcjMTkzOiAwIDw8IDYgPT09IDAuIEFjdHVhbDogJyArICgwIDw8IDYpKTsgCn0gCgoKaWYgKDEgPDwgNiAhPT0gNjQpIHsgCiAgJEVSUk9SKCcjMTk0OiAxIDw8IDYgPT09IDY0LiBBY3R1YWw6ICcgKyAoMSA8PCA2KSk7IAp9IAoKCmlmICgzIDw8IDYgIT09IDE5MikgeyAKICAkRVJST1IoJyMxOTU6IDMgPDwgNiA9PT0gMTkyLiBBY3R1YWw6ICcgKyAoMyA8PCA2KSk7IAp9IAoKCmlmICg3IDw8IDYgIT09IDQ0OCkgeyAKICAkRVJST1IoJyMxOTY6IDcgPDwgNiA9PT0gNDQ4LiBBY3R1YWw6ICcgKyAoNyA8PCA2KSk7IAp9IAoKCmlmICgxNSA8PCA2ICE9PSA5NjApIHsgCiAgJEVSUk9SKCcjMTk3OiAxNSA8PCA2ID09PSA5NjAuIEFjdHVhbDogJyArICgxNSA8PCA2KSk7IAp9IAoKCmlmICgzMSA8PCA2ICE9PSAxOTg0KSB7IAogICRFUlJPUignIzE5ODogMzEgPDwgNiA9PT0gMTk4NC4gQWN0dWFsOiAnICsgKDMxIDw8IDYpKTsgCn0gCgoKaWYgKDYzIDw8IDYgIT09IDQwMzIpIHsgCiAgJEVSUk9SKCcjMTk5OiA2MyA8PCA2ID09PSA0MDMyLiBBY3R1YWw6ICcgKyAoNjMgPDwgNikpOyAKfSAKCgppZiAoMTI3IDw8IDYgIT09IDgxMjgpIHsgCiAgJEVSUk9SKCcjMjAwOiAxMjcgPDwgNiA9PT0gODEyOC4gQWN0dWFsOiAnICsgKDEyNyA8PCA2KSk7IAp9IAoKCmlmICgyNTUgPDwgNiAhPT0gMTYzMjApIHsgCiAgJEVSUk9SKCcjMjAxOiAyNTUgPDwgNiA9PT0gMTYzMjAuIEFjdHVhbDogJyArICgyNTUgPDwgNikpOyAKfSAKCgppZiAoNTExIDw8IDYgIT09IDMyNzA0KSB7IAogICRFUlJPUignIzIwMjogNTExIDw8IDYgPT09IDMyNzA0LiBBY3R1YWw6ICcgKyAoNTExIDw8IDYpKTsgCn0gCgoKaWYgKDEwMjMgPDwgNiAhPT0gNjU0NzIpIHsgCiAgJEVSUk9SKCcjMjAzOiAxMDIzIDw8IDYgPT09IDY1NDcyLiBBY3R1YWw6ICcgKyAoMTAyMyA8PCA2KSk7IAp9IAoKCmlmICgyMDQ3IDw8IDYgIT09IDEzMTAwOCkgeyAKICAkRVJST1IoJyMyMDQ6IDIwNDcgPDwgNiA9PT0gMTMxMDA4LiBBY3R1YWw6ICcgKyAoMjA0NyA8PCA2KSk7IAp9IAoKCmlmICg0MDk1IDw8IDYgIT09IDI2MjA4MCkgeyAKICAkRVJST1IoJyMyMDU6IDQwOTUgPDwgNiA9PT0gMjYyMDgwLiBBY3R1YWw6ICcgKyAoNDA5NSA8PCA2KSk7IAp9IAoKCmlmICg4MTkxIDw8IDYgIT09IDUyNDIyNCkgeyAKICAkRVJST1IoJyMyMDY6IDgxOTEgPDwgNiA9PT0gNTI0MjI0LiBBY3R1YWw6ICcgKyAoODE5MSA8PCA2KSk7IAp9IAoKCmlmICgxNjM4MyA8PCA2ICE9PSAxMDQ4NTEyKSB7IAogICRFUlJPUignIzIwNzogMTYzODMgPDwgNiA9PT0gMTA0ODUxMi4gQWN0dWFsOiAnICsgKDE2MzgzIDw8IDYpKTsgCn0gCgoKaWYgKDMyNzY3IDw8IDYgIT09IDIwOTcwODgpIHsgCiAgJEVSUk9SKCcjMjA4OiAzMjc2NyA8PCA2ID09PSAyMDk3MDg4LiBBY3R1YWw6ICcgKyAoMzI3NjcgPDwgNikpOyAKfSAKCgppZiAoNjU1MzUgPDwgNiAhPT0gNDE5NDI0MCkgeyAKICAkRVJST1IoJyMyMDk6IDY1NTM1IDw8IDYgPT09IDQxOTQyNDAuIEFjdHVhbDogJyArICg2NTUzNSA8PCA2KSk7IAp9IAoKCmlmICgxMzEwNzEgPDwgNiAhPT0gODM4ODU0NCkgeyAKICAkRVJST1IoJyMyMTA6IDEzMTA3MSA8PCA2ID09PSA4Mzg4NTQ0LiBBY3R1YWw6ICcgKyAoMTMxMDcxIDw8IDYpKTsgCn0gCgoKaWYgKDI2MjE0MyA8PCA2ICE9PSAxNjc3NzE1MikgeyAKICAkRVJST1IoJyMyMTE6IDI2MjE0MyA8PCA2ID09PSAxNjc3NzE1Mi4gQWN0dWFsOiAnICsgKDI2MjE0MyA8PCA2KSk7IAp9IAoKCmlmICg1MjQyODcgPDwgNiAhPT0gMzM1NTQzNjgpIHsgCiAgJEVSUk9SKCcjMjEyOiA1MjQyODcgPDwgNiA9PT0gMzM1NTQzNjguIEFjdHVhbDogJyArICg1MjQyODcgPDwgNikpOyAKfSAKCgppZiAoMTA0ODU3NSA8PCA2ICE9PSA2NzEwODgwMCkgeyAKICAkRVJST1IoJyMyMTM6IDEwNDg1NzUgPDwgNiA9PT0gNjcxMDg4MDAuIEFjdHVhbDogJyArICgxMDQ4NTc1IDw8IDYpKTsgCn0gCgoKaWYgKDIwOTcxNTEgPDwgNiAhPT0gMTM0MjE3NjY0KSB7IAogICRFUlJPUignIzIxNDogMjA5NzE1MSA8PCA2ID09PSAxMzQyMTc2NjQuIEFjdHVhbDogJyArICgyMDk3MTUxIDw8IDYpKTsgCn0gCgoKaWYgKDQxOTQzMDMgPDwgNiAhPT0gMjY4NDM1MzkyKSB7IAogICRFUlJPUignIzIxNTogNDE5NDMwMyA8PCA2ID09PSAyNjg0MzUzOTIuIEFjdHVhbDogJyArICg0MTk0MzAzIDw8IDYpKTsgCn0gCgoKaWYgKDgzODg2MDcgPDwgNiAhPT0gNTM2ODcwODQ4KSB7IAogICRFUlJPUignIzIxNjogODM4ODYwNyA8PCA2ID09PSA1MzY4NzA4NDguIEFjdHVhbDogJyArICg4Mzg4NjA3IDw8IDYpKTsgCn0gCgoKaWYgKDE2Nzc3MjE1IDw8IDYgIT09IDEwNzM3NDE3NjApIHsgCiAgJEVSUk9SKCcjMjE3OiAxNjc3NzIxNSA8PCA2ID09PSAxMDczNzQxNzYwLiBBY3R1YWw6ICcgKyAoMTY3NzcyMTUgPDwgNikpOyAKfSAKCgppZiAoMzM1NTQ0MzEgPDwgNiAhPT0gMjE0NzQ4MzU4NCkgeyAKICAkRVJST1IoJyMyMTg6IDMzNTU0NDMxIDw8IDYgPT09IDIxNDc0ODM1ODQuIEFjdHVhbDogJyArICgzMzU1NDQzMSA8PCA2KSk7IAp9IAoKCmlmICg2NzEwODg2MyA8PCA2ICE9PSAtNjQpIHsgCiAgJEVSUk9SKCcjMjE5OiA2NzEwODg2MyA8PCA2ID09PSAtNjQuIEFjdHVhbDogJyArICg2NzEwODg2MyA8PCA2KSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPDwgNiAhPT0gLTY0KSB7IAogICRFUlJPUignIzIyMDogMTM0MjE3NzI3IDw8IDYgPT09IC02NC4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA8PCA2KSk7IAp9IAoKCmlmICgyNjg0MzU0NTUgPDwgNiAhPT0gLTY0KSB7IAogICRFUlJPUignIzIyMTogMjY4NDM1NDU1IDw8IDYgPT09IC02NC4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NSA8PCA2KSk7IAp9IAoKCmlmICg1MzY4NzA5MTEgPDwgNiAhPT0gLTY0KSB7IAogICRFUlJPUignIzIyMjogNTM2ODcwOTExIDw8IDYgPT09IC02NC4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMSA8PCA2KSk7IAp9IAoKCmlmICgxMDczNzQxODIzIDw8IDYgIT09IC02NCkgeyAKICAkRVJST1IoJyMyMjM6IDEwNzM3NDE4MjMgPDwgNiA9PT0gLTY0LiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA8PCA2KSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ3IDw8IDYgIT09IC02NCkgeyAKICAkRVJST1IoJyMyMjQ6IDIxNDc0ODM2NDcgPDwgNiA9PT0gLTY0LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA8PCA2KSk7IAp9IAoKCmlmICgwIDw8IDcgIT09IDApIHsgCiAgJEVSUk9SKCcjMjI1OiAwIDw8IDcgPT09IDAuIEFjdHVhbDogJyArICgwIDw8IDcpKTsgCn0gCgoKaWYgKDEgPDwgNyAhPT0gMTI4KSB7IAogICRFUlJPUignIzIyNjogMSA8PCA3ID09PSAxMjguIEFjdHVhbDogJyArICgxIDw8IDcpKTsgCn0gCgoKaWYgKDMgPDwgNyAhPT0gMzg0KSB7IAogICRFUlJPUignIzIyNzogMyA8PCA3ID09PSAzODQuIEFjdHVhbDogJyArICgzIDw8IDcpKTsgCn0gCgoKaWYgKDcgPDwgNyAhPT0gODk2KSB7IAogICRFUlJPUignIzIyODogNyA8PCA3ID09PSA4OTYuIEFjdHVhbDogJyArICg3IDw8IDcpKTsgCn0gCgoKaWYgKDE1IDw8IDcgIT09IDE5MjApIHsgCiAgJEVSUk9SKCcjMjI5OiAxNSA8PCA3ID09PSAxOTIwLiBBY3R1YWw6ICcgKyAoMTUgPDwgNykpOyAKfSAKCgppZiAoMzEgPDwgNyAhPT0gMzk2OCkgeyAKICAkRVJST1IoJyMyMzA6IDMxIDw8IDcgPT09IDM5NjguIEFjdHVhbDogJyArICgzMSA8PCA3KSk7IAp9IAoKCmlmICg2MyA8PCA3ICE9PSA4MDY0KSB7IAogICRFUlJPUignIzIzMTogNjMgPDwgNyA9PT0gODA2NC4gQWN0dWFsOiAnICsgKDYzIDw8IDcpKTsgCn0gCgoKaWYgKDEyNyA8PCA3ICE9PSAxNjI1NikgeyAKICAkRVJST1IoJyMyMzI6IDEyNyA8PCA3ID09PSAxNjI1Ni4gQWN0dWFsOiAnICsgKDEyNyA8PCA3KSk7IAp9IAoKCmlmICgyNTUgPDwgNyAhPT0gMzI2NDApIHsgCiAgJEVSUk9SKCcjMjMzOiAyNTUgPDwgNyA9PT0gMzI2NDAuIEFjdHVhbDogJyArICgyNTUgPDwgNykpOyAKfSAKCgppZiAoNTExIDw8IDcgIT09IDY1NDA4KSB7IAogICRFUlJPUignIzIzNDogNTExIDw8IDcgPT09IDY1NDA4LiBBY3R1YWw6ICcgKyAoNTExIDw8IDcpKTsgCn0gCgoKaWYgKDEwMjMgPDwgNyAhPT0gMTMwOTQ0KSB7IAogICRFUlJPUignIzIzNTogMTAyMyA8PCA3ID09PSAxMzA5NDQuIEFjdHVhbDogJyArICgxMDIzIDw8IDcpKTsgCn0gCgoKaWYgKDIwNDcgPDwgNyAhPT0gMjYyMDE2KSB7IAogICRFUlJPUignIzIzNjogMjA0NyA8PCA3ID09PSAyNjIwMTYuIEFjdHVhbDogJyArICgyMDQ3IDw8IDcpKTsgCn0gCgoKaWYgKDQwOTUgPDwgNyAhPT0gNTI0MTYwKSB7IAogICRFUlJPUignIzIzNzogNDA5NSA8PCA3ID09PSA1MjQxNjAuIEFjdHVhbDogJyArICg0MDk1IDw8IDcpKTsgCn0gCgoKaWYgKDgxOTEgPDwgNyAhPT0gMTA0ODQ0OCkgeyAKICAkRVJST1IoJyMyMzg6IDgxOTEgPDwgNyA9PT0gMTA0ODQ0OC4gQWN0dWFsOiAnICsgKDgxOTEgPDwgNykpOyAKfSAKCgppZiAoMTYzODMgPDwgNyAhPT0gMjA5NzAyNCkgeyAKICAkRVJST1IoJyMyMzk6IDE2MzgzIDw8IDcgPT09IDIwOTcwMjQuIEFjdHVhbDogJyArICgxNjM4MyA8PCA3KSk7IAp9IAoKCmlmICgzMjc2NyA8PCA3ICE9PSA0MTk0MTc2KSB7IAogICRFUlJPUignIzI0MDogMzI3NjcgPDwgNyA9PT0gNDE5NDE3Ni4gQWN0dWFsOiAnICsgKDMyNzY3IDw8IDcpKTsgCn0gCgoKaWYgKDY1NTM1IDw8IDcgIT09IDgzODg0ODApIHsgCiAgJEVSUk9SKCcjMjQxOiA2NTUzNSA8PCA3ID09PSA4Mzg4NDgwLiBBY3R1YWw6ICcgKyAoNjU1MzUgPDwgNykpOyAKfSAKCgppZiAoMTMxMDcxIDw8IDcgIT09IDE2Nzc3MDg4KSB7IAogICRFUlJPUignIzI0MjogMTMxMDcxIDw8IDcgPT09IDE2Nzc3MDg4LiBBY3R1YWw6ICcgKyAoMTMxMDcxIDw8IDcpKTsgCn0gCgoKaWYgKDI2MjE0MyA8PCA3ICE9PSAzMzU1NDMwNCkgeyAKICAkRVJST1IoJyMyNDM6IDI2MjE0MyA8PCA3ID09PSAzMzU1NDMwNC4gQWN0dWFsOiAnICsgKDI2MjE0MyA8PCA3KSk7IAp9IAoKCmlmICg1MjQyODcgPDwgNyAhPT0gNjcxMDg3MzYpIHsgCiAgJEVSUk9SKCcjMjQ0OiA1MjQyODcgPDwgNyA9PT0gNjcxMDg3MzYuIEFjdHVhbDogJyArICg1MjQyODcgPDwgNykpOyAKfSAKCgppZiAoMTA0ODU3NSA8PCA3ICE9PSAxMzQyMTc2MDApIHsgCiAgJEVSUk9SKCcjMjQ1OiAxMDQ4NTc1IDw8IDcgPT09IDEzNDIxNzYwMC4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPDwgNykpOyAKfSAKCgppZiAoMjA5NzE1MSA8PCA3ICE9PSAyNjg0MzUzMjgpIHsgCiAgJEVSUk9SKCcjMjQ2OiAyMDk3MTUxIDw8IDcgPT09IDI2ODQzNTMyOC4gQWN0dWFsOiAnICsgKDIwOTcxNTEgPDwgNykpOyAKfSAKCgppZiAoNDE5NDMwMyA8PCA3ICE9PSA1MzY4NzA3ODQpIHsgCiAgJEVSUk9SKCcjMjQ3OiA0MTk0MzAzIDw8IDcgPT09IDUzNjg3MDc4NC4gQWN0dWFsOiAnICsgKDQxOTQzMDMgPDwgNykpOyAKfSAKCgppZiAoODM4ODYwNyA8PCA3ICE9PSAxMDczNzQxNjk2KSB7IAogICRFUlJPUignIzI0ODogODM4ODYwNyA8PCA3ID09PSAxMDczNzQxNjk2LiBBY3R1YWw6ICcgKyAoODM4ODYwNyA8PCA3KSk7IAp9IAoKCmlmICgxNjc3NzIxNSA8PCA3ICE9PSAyMTQ3NDgzNTIwKSB7IAogICRFUlJPUignIzI0OTogMTY3NzcyMTUgPDwgNyA9PT0gMjE0NzQ4MzUyMC4gQWN0dWFsOiAnICsgKDE2Nzc3MjE1IDw8IDcpKTsgCn0gCgoKaWYgKDMzNTU0NDMxIDw8IDcgIT09IC0xMjgpIHsgCiAgJEVSUk9SKCcjMjUwOiAzMzU1NDQzMSA8PCA3ID09PSAtMTI4LiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPDwgNykpOyAKfSAKCgppZiAoNjcxMDg4NjMgPDwgNyAhPT0gLTEyOCkgeyAKICAkRVJST1IoJyMyNTE6IDY3MTA4ODYzIDw8IDcgPT09IC0xMjguIEFjdHVhbDogJyArICg2NzEwODg2MyA8PCA3KSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPDwgNyAhPT0gLTEyOCkgeyAKICAkRVJST1IoJyMyNTI6IDEzNDIxNzcyNyA8PCA3ID09PSAtMTI4LiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI3IDw8IDcpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NSA8PCA3ICE9PSAtMTI4KSB7IAogICRFUlJPUignIzI1MzogMjY4NDM1NDU1IDw8IDcgPT09IC0xMjguIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPDwgNykpOyAKfSAKCgppZiAoNTM2ODcwOTExIDw8IDcgIT09IC0xMjgpIHsgCiAgJEVSUk9SKCcjMjU0OiA1MzY4NzA5MTEgPDwgNyA9PT0gLTEyOC4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMSA8PCA3KSk7IAp9IAoKCmlmICgxMDczNzQxODIzIDw8IDcgIT09IC0xMjgpIHsgCiAgJEVSUk9SKCcjMjU1OiAxMDczNzQxODIzIDw8IDcgPT09IC0xMjguIEFjdHVhbDogJyArICgxMDczNzQxODIzIDw8IDcpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDcgPDwgNyAhPT0gLTEyOCkgeyAKICAkRVJST1IoJyMyNTY6IDIxNDc0ODM2NDcgPDwgNyA9PT0gLTEyOC4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPDwgNykpOyAKfSAKCgppZiAoMCA8PCA4ICE9PSAwKSB7IAogICRFUlJPUignIzI1NzogMCA8PCA4ID09PSAwLiBBY3R1YWw6ICcgKyAoMCA8PCA4KSk7IAp9IAoKCmlmICgxIDw8IDggIT09IDI1NikgeyAKICAkRVJST1IoJyMyNTg6IDEgPDwgOCA9PT0gMjU2LiBBY3R1YWw6ICcgKyAoMSA8PCA4KSk7IAp9IAoKCmlmICgzIDw8IDggIT09IDc2OCkgeyAKICAkRVJST1IoJyMyNTk6IDMgPDwgOCA9PT0gNzY4LiBBY3R1YWw6ICcgKyAoMyA8PCA4KSk7IAp9IAoKCmlmICg3IDw8IDggIT09IDE3OTIpIHsgCiAgJEVSUk9SKCcjMjYwOiA3IDw8IDggPT09IDE3OTIuIEFjdHVhbDogJyArICg3IDw8IDgpKTsgCn0gCgoKaWYgKDE1IDw8IDggIT09IDM4NDApIHsgCiAgJEVSUk9SKCcjMjYxOiAxNSA8PCA4ID09PSAzODQwLiBBY3R1YWw6ICcgKyAoMTUgPDwgOCkpOyAKfSAKCgppZiAoMzEgPDwgOCAhPT0gNzkzNikgeyAKICAkRVJST1IoJyMyNjI6IDMxIDw8IDggPT09IDc5MzYuIEFjdHVhbDogJyArICgzMSA8PCA4KSk7IAp9IAoKCmlmICg2MyA8PCA4ICE9PSAxNjEyOCkgeyAKICAkRVJST1IoJyMyNjM6IDYzIDw8IDggPT09IDE2MTI4LiBBY3R1YWw6ICcgKyAoNjMgPDwgOCkpOyAKfSAKCgppZiAoMTI3IDw8IDggIT09IDMyNTEyKSB7IAogICRFUlJPUignIzI2NDogMTI3IDw8IDggPT09IDMyNTEyLiBBY3R1YWw6ICcgKyAoMTI3IDw8IDgpKTsgCn0gCgoKaWYgKDI1NSA8PCA4ICE9PSA2NTI4MCkgeyAKICAkRVJST1IoJyMyNjU6IDI1NSA8PCA4ID09PSA2NTI4MC4gQWN0dWFsOiAnICsgKDI1NSA8PCA4KSk7IAp9IAoKCmlmICg1MTEgPDwgOCAhPT0gMTMwODE2KSB7IAogICRFUlJPUignIzI2NjogNTExIDw8IDggPT09IDEzMDgxNi4gQWN0dWFsOiAnICsgKDUxMSA8PCA4KSk7IAp9IAoKCmlmICgxMDIzIDw8IDggIT09IDI2MTg4OCkgeyAKICAkRVJST1IoJyMyNjc6IDEwMjMgPDwgOCA9PT0gMjYxODg4LiBBY3R1YWw6ICcgKyAoMTAyMyA8PCA4KSk7IAp9IAoKCmlmICgyMDQ3IDw8IDggIT09IDUyNDAzMikgeyAKICAkRVJST1IoJyMyNjg6IDIwNDcgPDwgOCA9PT0gNTI0MDMyLiBBY3R1YWw6ICcgKyAoMjA0NyA8PCA4KSk7IAp9IAoKCmlmICg0MDk1IDw8IDggIT09IDEwNDgzMjApIHsgCiAgJEVSUk9SKCcjMjY5OiA0MDk1IDw8IDggPT09IDEwNDgzMjAuIEFjdHVhbDogJyArICg0MDk1IDw8IDgpKTsgCn0gCgoKaWYgKDgxOTEgPDwgOCAhPT0gMjA5Njg5NikgeyAKICAkRVJST1IoJyMyNzA6IDgxOTEgPDwgOCA9PT0gMjA5Njg5Ni4gQWN0dWFsOiAnICsgKDgxOTEgPDwgOCkpOyAKfSAKCgppZiAoMTYzODMgPDwgOCAhPT0gNDE5NDA0OCkgeyAKICAkRVJST1IoJyMyNzE6IDE2MzgzIDw8IDggPT09IDQxOTQwNDguIEFjdHVhbDogJyArICgxNjM4MyA8PCA4KSk7IAp9IAoKCmlmICgzMjc2NyA8PCA4ICE9PSA4Mzg4MzUyKSB7IAogICRFUlJPUignIzI3MjogMzI3NjcgPDwgOCA9PT0gODM4ODM1Mi4gQWN0dWFsOiAnICsgKDMyNzY3IDw8IDgpKTsgCn0gCgoKaWYgKDY1NTM1IDw8IDggIT09IDE2Nzc2OTYwKSB7IAogICRFUlJPUignIzI3MzogNjU1MzUgPDwgOCA9PT0gMTY3NzY5NjAuIEFjdHVhbDogJyArICg2NTUzNSA8PCA4KSk7IAp9IAoKCmlmICgxMzEwNzEgPDwgOCAhPT0gMzM1NTQxNzYpIHsgCiAgJEVSUk9SKCcjMjc0OiAxMzEwNzEgPDwgOCA9PT0gMzM1NTQxNzYuIEFjdHVhbDogJyArICgxMzEwNzEgPDwgOCkpOyAKfSAKCgppZiAoMjYyMTQzIDw8IDggIT09IDY3MTA4NjA4KSB7IAogICRFUlJPUignIzI3NTogMjYyMTQzIDw8IDggPT09IDY3MTA4NjA4LiBBY3R1YWw6ICcgKyAoMjYyMTQzIDw8IDgpKTsgCn0gCgoKaWYgKDUyNDI4NyA8PCA4ICE9PSAxMzQyMTc0NzIpIHsgCiAgJEVSUk9SKCcjMjc2OiA1MjQyODcgPDwgOCA9PT0gMTM0MjE3NDcyLiBBY3R1YWw6ICcgKyAoNTI0Mjg3IDw8IDgpKTsgCn0gCgoKaWYgKDEwNDg1NzUgPDwgOCAhPT0gMjY4NDM1MjAwKSB7IAogICRFUlJPUignIzI3NzogMTA0ODU3NSA8PCA4ID09PSAyNjg0MzUyMDAuIEFjdHVhbDogJyArICgxMDQ4NTc1IDw8IDgpKTsgCn0gCgoKaWYgKDIwOTcxNTEgPDwgOCAhPT0gNTM2ODcwNjU2KSB7IAogICRFUlJPUignIzI3ODogMjA5NzE1MSA8PCA4ID09PSA1MzY4NzA2NTYuIEFjdHVhbDogJyArICgyMDk3MTUxIDw8IDgpKTsgCn0gCgoKaWYgKDQxOTQzMDMgPDwgOCAhPT0gMTA3Mzc0MTU2OCkgeyAKICAkRVJST1IoJyMyNzk6IDQxOTQzMDMgPDwgOCA9PT0gMTA3Mzc0MTU2OC4gQWN0dWFsOiAnICsgKDQxOTQzMDMgPDwgOCkpOyAKfSAKCgppZiAoODM4ODYwNyA8PCA4ICE9PSAyMTQ3NDgzMzkyKSB7IAogICRFUlJPUignIzI4MDogODM4ODYwNyA8PCA4ID09PSAyMTQ3NDgzMzkyLiBBY3R1YWw6ICcgKyAoODM4ODYwNyA8PCA4KSk7IAp9IAoKCmlmICgxNjc3NzIxNSA8PCA4ICE9PSAtMjU2KSB7IAogICRFUlJPUignIzI4MTogMTY3NzcyMTUgPDwgOCA9PT0gLTI1Ni4gQWN0dWFsOiAnICsgKDE2Nzc3MjE1IDw8IDgpKTsgCn0gCgoKaWYgKDMzNTU0NDMxIDw8IDggIT09IC0yNTYpIHsgCiAgJEVSUk9SKCcjMjgyOiAzMzU1NDQzMSA8PCA4ID09PSAtMjU2LiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPDwgOCkpOyAKfSAKCgppZiAoNjcxMDg4NjMgPDwgOCAhPT0gLTI1NikgeyAKICAkRVJST1IoJyMyODM6IDY3MTA4ODYzIDw8IDggPT09IC0yNTYuIEFjdHVhbDogJyArICg2NzEwODg2MyA8PCA4KSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPDwgOCAhPT0gLTI1NikgeyAKICAkRVJST1IoJyMyODQ6IDEzNDIxNzcyNyA8PCA4ID09PSAtMjU2LiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI3IDw8IDgpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NSA8PCA4ICE9PSAtMjU2KSB7IAogICRFUlJPUignIzI4NTogMjY4NDM1NDU1IDw8IDggPT09IC0yNTYuIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPDwgOCkpOyAKfSAKCgppZiAoNTM2ODcwOTExIDw8IDggIT09IC0yNTYpIHsgCiAgJEVSUk9SKCcjMjg2OiA1MzY4NzA5MTEgPDwgOCA9PT0gLTI1Ni4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMSA8PCA4KSk7IAp9IAoKCmlmICgxMDczNzQxODIzIDw8IDggIT09IC0yNTYpIHsgCiAgJEVSUk9SKCcjMjg3OiAxMDczNzQxODIzIDw8IDggPT09IC0yNTYuIEFjdHVhbDogJyArICgxMDczNzQxODIzIDw8IDgpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDcgPDwgOCAhPT0gLTI1NikgeyAKICAkRVJST1IoJyMyODg6IDIxNDc0ODM2NDcgPDwgOCA9PT0gLTI1Ni4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPDwgOCkpOyAKfSAKCgppZiAoMCA8PCA5ICE9PSAwKSB7IAogICRFUlJPUignIzI4OTogMCA8PCA5ID09PSAwLiBBY3R1YWw6ICcgKyAoMCA8PCA5KSk7IAp9IAoKCmlmICgxIDw8IDkgIT09IDUxMikgeyAKICAkRVJST1IoJyMyOTA6IDEgPDwgOSA9PT0gNTEyLiBBY3R1YWw6ICcgKyAoMSA8PCA5KSk7IAp9IAoKCmlmICgzIDw8IDkgIT09IDE1MzYpIHsgCiAgJEVSUk9SKCcjMjkxOiAzIDw8IDkgPT09IDE1MzYuIEFjdHVhbDogJyArICgzIDw8IDkpKTsgCn0gCgoKaWYgKDcgPDwgOSAhPT0gMzU4NCkgeyAKICAkRVJST1IoJyMyOTI6IDcgPDwgOSA9PT0gMzU4NC4gQWN0dWFsOiAnICsgKDcgPDwgOSkpOyAKfSAKCgppZiAoMTUgPDwgOSAhPT0gNzY4MCkgeyAKICAkRVJST1IoJyMyOTM6IDE1IDw8IDkgPT09IDc2ODAuIEFjdHVhbDogJyArICgxNSA8PCA5KSk7IAp9IAoKCmlmICgzMSA8PCA5ICE9PSAxNTg3MikgeyAKICAkRVJST1IoJyMyOTQ6IDMxIDw8IDkgPT09IDE1ODcyLiBBY3R1YWw6ICcgKyAoMzEgPDwgOSkpOyAKfSAKCgppZiAoNjMgPDwgOSAhPT0gMzIyNTYpIHsgCiAgJEVSUk9SKCcjMjk1OiA2MyA8PCA5ID09PSAzMjI1Ni4gQWN0dWFsOiAnICsgKDYzIDw8IDkpKTsgCn0gCgoKaWYgKDEyNyA8PCA5ICE9PSA2NTAyNCkgeyAKICAkRVJST1IoJyMyOTY6IDEyNyA8PCA5ID09PSA2NTAyNC4gQWN0dWFsOiAnICsgKDEyNyA8PCA5KSk7IAp9IAoKCmlmICgyNTUgPDwgOSAhPT0gMTMwNTYwKSB7IAogICRFUlJPUignIzI5NzogMjU1IDw8IDkgPT09IDEzMDU2MC4gQWN0dWFsOiAnICsgKDI1NSA8PCA5KSk7IAp9IAoKCmlmICg1MTEgPDwgOSAhPT0gMjYxNjMyKSB7IAogICRFUlJPUignIzI5ODogNTExIDw8IDkgPT09IDI2MTYzMi4gQWN0dWFsOiAnICsgKDUxMSA8PCA5KSk7IAp9IAoKCmlmICgxMDIzIDw8IDkgIT09IDUyMzc3NikgeyAKICAkRVJST1IoJyMyOTk6IDEwMjMgPDwgOSA9PT0gNTIzNzc2LiBBY3R1YWw6ICcgKyAoMTAyMyA8PCA5KSk7IAp9IAoKCmlmICgyMDQ3IDw8IDkgIT09IDEwNDgwNjQpIHsgCiAgJEVSUk9SKCcjMzAwOiAyMDQ3IDw8IDkgPT09IDEwNDgwNjQuIEFjdHVhbDogJyArICgyMDQ3IDw8IDkpKTsgCn0gCgoKaWYgKDQwOTUgPDwgOSAhPT0gMjA5NjY0MCkgeyAKICAkRVJST1IoJyMzMDE6IDQwOTUgPDwgOSA9PT0gMjA5NjY0MC4gQWN0dWFsOiAnICsgKDQwOTUgPDwgOSkpOyAKfSAKCgppZiAoODE5MSA8PCA5ICE9PSA0MTkzNzkyKSB7IAogICRFUlJPUignIzMwMjogODE5MSA8PCA5ID09PSA0MTkzNzkyLiBBY3R1YWw6ICcgKyAoODE5MSA8PCA5KSk7IAp9IAoKCmlmICgxNjM4MyA8PCA5ICE9PSA4Mzg4MDk2KSB7IAogICRFUlJPUignIzMwMzogMTYzODMgPDwgOSA9PT0gODM4ODA5Ni4gQWN0dWFsOiAnICsgKDE2MzgzIDw8IDkpKTsgCn0gCgoKaWYgKDMyNzY3IDw8IDkgIT09IDE2Nzc2NzA0KSB7IAogICRFUlJPUignIzMwNDogMzI3NjcgPDwgOSA9PT0gMTY3NzY3MDQuIEFjdHVhbDogJyArICgzMjc2NyA8PCA5KSk7IAp9IAoKCmlmICg2NTUzNSA8PCA5ICE9PSAzMzU1MzkyMCkgeyAKICAkRVJST1IoJyMzMDU6IDY1NTM1IDw8IDkgPT09IDMzNTUzOTIwLiBBY3R1YWw6ICcgKyAoNjU1MzUgPDwgOSkpOyAKfSAKCgppZiAoMTMxMDcxIDw8IDkgIT09IDY3MTA4MzUyKSB7IAogICRFUlJPUignIzMwNjogMTMxMDcxIDw8IDkgPT09IDY3MTA4MzUyLiBBY3R1YWw6ICcgKyAoMTMxMDcxIDw8IDkpKTsgCn0gCgoKaWYgKDI2MjE0MyA8PCA5ICE9PSAxMzQyMTcyMTYpIHsgCiAgJEVSUk9SKCcjMzA3OiAyNjIxNDMgPDwgOSA9PT0gMTM0MjE3MjE2LiBBY3R1YWw6ICcgKyAoMjYyMTQzIDw8IDkpKTsgCn0gCgoKaWYgKDUyNDI4NyA8PCA5ICE9PSAyNjg0MzQ5NDQpIHsgCiAgJEVSUk9SKCcjMzA4OiA1MjQyODcgPDwgOSA9PT0gMjY4NDM0OTQ0LiBBY3R1YWw6ICcgKyAoNTI0Mjg3IDw8IDkpKTsgCn0gCgoKaWYgKDEwNDg1NzUgPDwgOSAhPT0gNTM2ODcwNDAwKSB7IAogICRFUlJPUignIzMwOTogMTA0ODU3NSA8PCA5ID09PSA1MzY4NzA0MDAuIEFjdHVhbDogJyArICgxMDQ4NTc1IDw8IDkpKTsgCn0gCgoKaWYgKDIwOTcxNTEgPDwgOSAhPT0gMTA3Mzc0MTMxMikgeyAKICAkRVJST1IoJyMzMTA6IDIwOTcxNTEgPDwgOSA9PT0gMTA3Mzc0MTMxMi4gQWN0dWFsOiAnICsgKDIwOTcxNTEgPDwgOSkpOyAKfSAKCgppZiAoNDE5NDMwMyA8PCA5ICE9PSAyMTQ3NDgzMTM2KSB7IAogICRFUlJPUignIzMxMTogNDE5NDMwMyA8PCA5ID09PSAyMTQ3NDgzMTM2LiBBY3R1YWw6ICcgKyAoNDE5NDMwMyA8PCA5KSk7IAp9IAoKCmlmICg4Mzg4NjA3IDw8IDkgIT09IC01MTIpIHsgCiAgJEVSUk9SKCcjMzEyOiA4Mzg4NjA3IDw8IDkgPT09IC01MTIuIEFjdHVhbDogJyArICg4Mzg4NjA3IDw8IDkpKTsgCn0gCgoKaWYgKDE2Nzc3MjE1IDw8IDkgIT09IC01MTIpIHsgCiAgJEVSUk9SKCcjMzEzOiAxNjc3NzIxNSA8PCA5ID09PSAtNTEyLiBBY3R1YWw6ICcgKyAoMTY3NzcyMTUgPDwgOSkpOyAKfSAKCgppZiAoMzM1NTQ0MzEgPDwgOSAhPT0gLTUxMikgeyAKICAkRVJST1IoJyMzMTQ6IDMzNTU0NDMxIDw8IDkgPT09IC01MTIuIEFjdHVhbDogJyArICgzMzU1NDQzMSA8PCA5KSk7IAp9IAoKCmlmICg2NzEwODg2MyA8PCA5ICE9PSAtNTEyKSB7IAogICRFUlJPUignIzMxNTogNjcxMDg4NjMgPDwgOSA9PT0gLTUxMi4gQWN0dWFsOiAnICsgKDY3MTA4ODYzIDw8IDkpKTsgCn0gCgoKaWYgKDEzNDIxNzcyNyA8PCA5ICE9PSAtNTEyKSB7IAogICRFUlJPUignIzMxNjogMTM0MjE3NzI3IDw8IDkgPT09IC01MTIuIEFjdHVhbDogJyArICgxMzQyMTc3MjcgPDwgOSkpOyAKfSAKCgppZiAoMjY4NDM1NDU1IDw8IDkgIT09IC01MTIpIHsgCiAgJEVSUk9SKCcjMzE3OiAyNjg0MzU0NTUgPDwgOSA9PT0gLTUxMi4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NSA8PCA5KSk7IAp9IAoKCmlmICg1MzY4NzA5MTEgPDwgOSAhPT0gLTUxMikgeyAKICAkRVJST1IoJyMzMTg6IDUzNjg3MDkxMSA8PCA5ID09PSAtNTEyLiBBY3R1YWw6ICcgKyAoNTM2ODcwOTExIDw8IDkpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjMgPDwgOSAhPT0gLTUxMikgeyAKICAkRVJST1IoJyMzMTk6IDEwNzM3NDE4MjMgPDwgOSA9PT0gLTUxMi4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjMgPDwgOSkpOyAKfSAKCgppZiAoMjE0NzQ4MzY0NyA8PCA5ICE9PSAtNTEyKSB7IAogICRFUlJPUignIzMyMDogMjE0NzQ4MzY0NyA8PCA5ID09PSAtNTEyLiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA8PCA5KSk7IAp9IAoKCmlmICgwIDw8IDEwICE9PSAwKSB7IAogICRFUlJPUignIzMyMTogMCA8PCAxMCA9PT0gMC4gQWN0dWFsOiAnICsgKDAgPDwgMTApKTsgCn0gCgoKaWYgKDEgPDwgMTAgIT09IDEwMjQpIHsgCiAgJEVSUk9SKCcjMzIyOiAxIDw8IDEwID09PSAxMDI0LiBBY3R1YWw6ICcgKyAoMSA8PCAxMCkpOyAKfSAKCgppZiAoMyA8PCAxMCAhPT0gMzA3MikgeyAKICAkRVJST1IoJyMzMjM6IDMgPDwgMTAgPT09IDMwNzIuIEFjdHVhbDogJyArICgzIDw8IDEwKSk7IAp9IAoKCmlmICg3IDw8IDEwICE9PSA3MTY4KSB7IAogICRFUlJPUignIzMyNDogNyA8PCAxMCA9PT0gNzE2OC4gQWN0dWFsOiAnICsgKDcgPDwgMTApKTsgCn0gCgoKaWYgKDE1IDw8IDEwICE9PSAxNTM2MCkgeyAKICAkRVJST1IoJyMzMjU6IDE1IDw8IDEwID09PSAxNTM2MC4gQWN0dWFsOiAnICsgKDE1IDw8IDEwKSk7IAp9IAoKCmlmICgzMSA8PCAxMCAhPT0gMzE3NDQpIHsgCiAgJEVSUk9SKCcjMzI2OiAzMSA8PCAxMCA9PT0gMzE3NDQuIEFjdHVhbDogJyArICgzMSA8PCAxMCkpOyAKfSAKCgppZiAoNjMgPDwgMTAgIT09IDY0NTEyKSB7IAogICRFUlJPUignIzMyNzogNjMgPDwgMTAgPT09IDY0NTEyLiBBY3R1YWw6ICcgKyAoNjMgPDwgMTApKTsgCn0gCgoKaWYgKDEyNyA8PCAxMCAhPT0gMTMwMDQ4KSB7IAogICRFUlJPUignIzMyODogMTI3IDw8IDEwID09PSAxMzAwNDguIEFjdHVhbDogJyArICgxMjcgPDwgMTApKTsgCn0gCgoKaWYgKDI1NSA8PCAxMCAhPT0gMjYxMTIwKSB7IAogICRFUlJPUignIzMyOTogMjU1IDw8IDEwID09PSAyNjExMjAuIEFjdHVhbDogJyArICgyNTUgPDwgMTApKTsgCn0gCgoKaWYgKDUxMSA8PCAxMCAhPT0gNTIzMjY0KSB7IAogICRFUlJPUignIzMzMDogNTExIDw8IDEwID09PSA1MjMyNjQuIEFjdHVhbDogJyArICg1MTEgPDwgMTApKTsgCn0gCgoKaWYgKDEwMjMgPDwgMTAgIT09IDEwNDc1NTIpIHsgCiAgJEVSUk9SKCcjMzMxOiAxMDIzIDw8IDEwID09PSAxMDQ3NTUyLiBBY3R1YWw6ICcgKyAoMTAyMyA8PCAxMCkpOyAKfSAKCgppZiAoMjA0NyA8PCAxMCAhPT0gMjA5NjEyOCkgeyAKICAkRVJST1IoJyMzMzI6IDIwNDcgPDwgMTAgPT09IDIwOTYxMjguIEFjdHVhbDogJyArICgyMDQ3IDw8IDEwKSk7IAp9IAoKCmlmICg0MDk1IDw8IDEwICE9PSA0MTkzMjgwKSB7IAogICRFUlJPUignIzMzMzogNDA5NSA8PCAxMCA9PT0gNDE5MzI4MC4gQWN0dWFsOiAnICsgKDQwOTUgPDwgMTApKTsgCn0gCgoKaWYgKDgxOTEgPDwgMTAgIT09IDgzODc1ODQpIHsgCiAgJEVSUk9SKCcjMzM0OiA4MTkxIDw8IDEwID09PSA4Mzg3NTg0LiBBY3R1YWw6ICcgKyAoODE5MSA8PCAxMCkpOyAKfSAKCgppZiAoMTYzODMgPDwgMTAgIT09IDE2Nzc2MTkyKSB7IAogICRFUlJPUignIzMzNTogMTYzODMgPDwgMTAgPT09IDE2Nzc2MTkyLiBBY3R1YWw6ICcgKyAoMTYzODMgPDwgMTApKTsgCn0gCgoKaWYgKDMyNzY3IDw8IDEwICE9PSAzMzU1MzQwOCkgeyAKICAkRVJST1IoJyMzMzY6IDMyNzY3IDw8IDEwID09PSAzMzU1MzQwOC4gQWN0dWFsOiAnICsgKDMyNzY3IDw8IDEwKSk7IAp9IAoKCmlmICg2NTUzNSA8PCAxMCAhPT0gNjcxMDc4NDApIHsgCiAgJEVSUk9SKCcjMzM3OiA2NTUzNSA8PCAxMCA9PT0gNjcxMDc4NDAuIEFjdHVhbDogJyArICg2NTUzNSA8PCAxMCkpOyAKfSAKCgppZiAoMTMxMDcxIDw8IDEwICE9PSAxMzQyMTY3MDQpIHsgCiAgJEVSUk9SKCcjMzM4OiAxMzEwNzEgPDwgMTAgPT09IDEzNDIxNjcwNC4gQWN0dWFsOiAnICsgKDEzMTA3MSA8PCAxMCkpOyAKfSAKCgppZiAoMjYyMTQzIDw8IDEwICE9PSAyNjg0MzQ0MzIpIHsgCiAgJEVSUk9SKCcjMzM5OiAyNjIxNDMgPDwgMTAgPT09IDI2ODQzNDQzMi4gQWN0dWFsOiAnICsgKDI2MjE0MyA8PCAxMCkpOyAKfSAKCgppZiAoNTI0Mjg3IDw8IDEwICE9PSA1MzY4Njk4ODgpIHsgCiAgJEVSUk9SKCcjMzQwOiA1MjQyODcgPDwgMTAgPT09IDUzNjg2OTg4OC4gQWN0dWFsOiAnICsgKDUyNDI4NyA8PCAxMCkpOyAKfSAKCgppZiAoMTA0ODU3NSA8PCAxMCAhPT0gMTA3Mzc0MDgwMCkgeyAKICAkRVJST1IoJyMzNDE6IDEwNDg1NzUgPDwgMTAgPT09IDEwNzM3NDA4MDAuIEFjdHVhbDogJyArICgxMDQ4NTc1IDw8IDEwKSk7IAp9IAoKCmlmICgyMDk3MTUxIDw8IDEwICE9PSAyMTQ3NDgyNjI0KSB7IAogICRFUlJPUignIzM0MjogMjA5NzE1MSA8PCAxMCA9PT0gMjE0NzQ4MjYyNC4gQWN0dWFsOiAnICsgKDIwOTcxNTEgPDwgMTApKTsgCn0gCgoKaWYgKDQxOTQzMDMgPDwgMTAgIT09IC0xMDI0KSB7IAogICRFUlJPUignIzM0MzogNDE5NDMwMyA8PCAxMCA9PT0gLTEwMjQuIEFjdHVhbDogJyArICg0MTk0MzAzIDw8IDEwKSk7IAp9IAoKCmlmICg4Mzg4NjA3IDw8IDEwICE9PSAtMTAyNCkgeyAKICAkRVJST1IoJyMzNDQ6IDgzODg2MDcgPDwgMTAgPT09IC0xMDI0LiBBY3R1YWw6ICcgKyAoODM4ODYwNyA8PCAxMCkpOyAKfSAKCgppZiAoMTY3NzcyMTUgPDwgMTAgIT09IC0xMDI0KSB7IAogICRFUlJPUignIzM0NTogMTY3NzcyMTUgPDwgMTAgPT09IC0xMDI0LiBBY3R1YWw6ICcgKyAoMTY3NzcyMTUgPDwgMTApKTsgCn0gCgoKaWYgKDMzNTU0NDMxIDw8IDEwICE9PSAtMTAyNCkgeyAKICAkRVJST1IoJyMzNDY6IDMzNTU0NDMxIDw8IDEwID09PSAtMTAyNC4gQWN0dWFsOiAnICsgKDMzNTU0NDMxIDw8IDEwKSk7IAp9IAoKCmlmICg2NzEwODg2MyA8PCAxMCAhPT0gLTEwMjQpIHsgCiAgJEVSUk9SKCcjMzQ3OiA2NzEwODg2MyA8PCAxMCA9PT0gLTEwMjQuIEFjdHVhbDogJyArICg2NzEwODg2MyA8PCAxMCkpOyAKfSAKCgppZiAoMTM0MjE3NzI3IDw8IDEwICE9PSAtMTAyNCkgeyAKICAkRVJST1IoJyMzNDg6IDEzNDIxNzcyNyA8PCAxMCA9PT0gLTEwMjQuIEFjdHVhbDogJyArICgxMzQyMTc3MjcgPDwgMTApKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NSA8PCAxMCAhPT0gLTEwMjQpIHsgCiAgJEVSUk9SKCcjMzQ5OiAyNjg0MzU0NTUgPDwgMTAgPT09IC0xMDI0LiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU1IDw8IDEwKSk7IAp9IAoKCmlmICg1MzY4NzA5MTEgPDwgMTAgIT09IC0xMDI0KSB7IAogICRFUlJPUignIzM1MDogNTM2ODcwOTExIDw8IDEwID09PSAtMTAyNC4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMSA8PCAxMCkpOyAKfSAKCgppZiAoMTA3Mzc0MTgyMyA8PCAxMCAhPT0gLTEwMjQpIHsgCiAgJEVSUk9SKCcjMzUxOiAxMDczNzQxODIzIDw8IDEwID09PSAtMTAyNC4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjMgPDwgMTApKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDcgPDwgMTAgIT09IC0xMDI0KSB7IAogICRFUlJPUignIzM1MjogMjE0NzQ4MzY0NyA8PCAxMCA9PT0gLTEwMjQuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3IDw8IDEwKSk7IAp9IAoKCmlmICgwIDw8IDExICE9PSAwKSB7IAogICRFUlJPUignIzM1MzogMCA8PCAxMSA9PT0gMC4gQWN0dWFsOiAnICsgKDAgPDwgMTEpKTsgCn0gCgoKaWYgKDEgPDwgMTEgIT09IDIwNDgpIHsgCiAgJEVSUk9SKCcjMzU0OiAxIDw8IDExID09PSAyMDQ4LiBBY3R1YWw6ICcgKyAoMSA8PCAxMSkpOyAKfSAKCgppZiAoMyA8PCAxMSAhPT0gNjE0NCkgeyAKICAkRVJST1IoJyMzNTU6IDMgPDwgMTEgPT09IDYxNDQuIEFjdHVhbDogJyArICgzIDw8IDExKSk7IAp9IAoKCmlmICg3IDw8IDExICE9PSAxNDMzNikgeyAKICAkRVJST1IoJyMzNTY6IDcgPDwgMTEgPT09IDE0MzM2LiBBY3R1YWw6ICcgKyAoNyA8PCAxMSkpOyAKfSAKCgppZiAoMTUgPDwgMTEgIT09IDMwNzIwKSB7IAogICRFUlJPUignIzM1NzogMTUgPDwgMTEgPT09IDMwNzIwLiBBY3R1YWw6ICcgKyAoMTUgPDwgMTEpKTsgCn0gCgoKaWYgKDMxIDw8IDExICE9PSA2MzQ4OCkgeyAKICAkRVJST1IoJyMzNTg6IDMxIDw8IDExID09PSA2MzQ4OC4gQWN0dWFsOiAnICsgKDMxIDw8IDExKSk7IAp9IAoKCmlmICg2MyA8PCAxMSAhPT0gMTI5MDI0KSB7IAogICRFUlJPUignIzM1OTogNjMgPDwgMTEgPT09IDEyOTAyNC4gQWN0dWFsOiAnICsgKDYzIDw8IDExKSk7IAp9IAoKCmlmICgxMjcgPDwgMTEgIT09IDI2MDA5NikgeyAKICAkRVJST1IoJyMzNjA6IDEyNyA8PCAxMSA9PT0gMjYwMDk2LiBBY3R1YWw6ICcgKyAoMTI3IDw8IDExKSk7IAp9IAoKCmlmICgyNTUgPDwgMTEgIT09IDUyMjI0MCkgeyAKICAkRVJST1IoJyMzNjE6IDI1NSA8PCAxMSA9PT0gNTIyMjQwLiBBY3R1YWw6ICcgKyAoMjU1IDw8IDExKSk7IAp9IAoKCmlmICg1MTEgPDwgMTEgIT09IDEwNDY1MjgpIHsgCiAgJEVSUk9SKCcjMzYyOiA1MTEgPDwgMTEgPT09IDEwNDY1MjguIEFjdHVhbDogJyArICg1MTEgPDwgMTEpKTsgCn0gCgoKaWYgKDEwMjMgPDwgMTEgIT09IDIwOTUxMDQpIHsgCiAgJEVSUk9SKCcjMzYzOiAxMDIzIDw8IDExID09PSAyMDk1MTA0LiBBY3R1YWw6ICcgKyAoMTAyMyA8PCAxMSkpOyAKfSAKCgppZiAoMjA0NyA8PCAxMSAhPT0gNDE5MjI1NikgeyAKICAkRVJST1IoJyMzNjQ6IDIwNDcgPDwgMTEgPT09IDQxOTIyNTYuIEFjdHVhbDogJyArICgyMDQ3IDw8IDExKSk7IAp9IAoKCmlmICg0MDk1IDw8IDExICE9PSA4Mzg2NTYwKSB7IAogICRFUlJPUignIzM2NTogNDA5NSA8PCAxMSA9PT0gODM4NjU2MC4gQWN0dWFsOiAnICsgKDQwOTUgPDwgMTEpKTsgCn0gCgoKaWYgKDgxOTEgPDwgMTEgIT09IDE2Nzc1MTY4KSB7IAogICRFUlJPUignIzM2NjogODE5MSA8PCAxMSA9PT0gMTY3NzUxNjguIEFjdHVhbDogJyArICg4MTkxIDw8IDExKSk7IAp9IAoKCmlmICgxNjM4MyA8PCAxMSAhPT0gMzM1NTIzODQpIHsgCiAgJEVSUk9SKCcjMzY3OiAxNjM4MyA8PCAxMSA9PT0gMzM1NTIzODQuIEFjdHVhbDogJyArICgxNjM4MyA8PCAxMSkpOyAKfSAKCgppZiAoMzI3NjcgPDwgMTEgIT09IDY3MTA2ODE2KSB7IAogICRFUlJPUignIzM2ODogMzI3NjcgPDwgMTEgPT09IDY3MTA2ODE2LiBBY3R1YWw6ICcgKyAoMzI3NjcgPDwgMTEpKTsgCn0gCgoKaWYgKDY1NTM1IDw8IDExICE9PSAxMzQyMTU2ODApIHsgCiAgJEVSUk9SKCcjMzY5OiA2NTUzNSA8PCAxMSA9PT0gMTM0MjE1NjgwLiBBY3R1YWw6ICcgKyAoNjU1MzUgPDwgMTEpKTsgCn0gCgoKaWYgKDEzMTA3MSA8PCAxMSAhPT0gMjY4NDMzNDA4KSB7IAogICRFUlJPUignIzM3MDogMTMxMDcxIDw8IDExID09PSAyNjg0MzM0MDguIEFjdHVhbDogJyArICgxMzEwNzEgPDwgMTEpKTsgCn0gCgoKaWYgKDI2MjE0MyA8PCAxMSAhPT0gNTM2ODY4ODY0KSB7IAogICRFUlJPUignIzM3MTogMjYyMTQzIDw8IDExID09PSA1MzY4Njg4NjQuIEFjdHVhbDogJyArICgyNjIxNDMgPDwgMTEpKTsgCn0gCgoKaWYgKDUyNDI4NyA8PCAxMSAhPT0gMTA3MzczOTc3NikgeyAKICAkRVJST1IoJyMzNzI6IDUyNDI4NyA8PCAxMSA9PT0gMTA3MzczOTc3Ni4gQWN0dWFsOiAnICsgKDUyNDI4NyA8PCAxMSkpOyAKfSAKCgppZiAoMTA0ODU3NSA8PCAxMSAhPT0gMjE0NzQ4MTYwMCkgeyAKICAkRVJST1IoJyMzNzM6IDEwNDg1NzUgPDwgMTEgPT09IDIxNDc0ODE2MDAuIEFjdHVhbDogJyArICgxMDQ4NTc1IDw8IDExKSk7IAp9IAoKCmlmICgyMDk3MTUxIDw8IDExICE9PSAtMjA0OCkgeyAKICAkRVJST1IoJyMzNzQ6IDIwOTcxNTEgPDwgMTEgPT09IC0yMDQ4LiBBY3R1YWw6ICcgKyAoMjA5NzE1MSA8PCAxMSkpOyAKfSAKCgppZiAoNDE5NDMwMyA8PCAxMSAhPT0gLTIwNDgpIHsgCiAgJEVSUk9SKCcjMzc1OiA0MTk0MzAzIDw8IDExID09PSAtMjA0OC4gQWN0dWFsOiAnICsgKDQxOTQzMDMgPDwgMTEpKTsgCn0gCgoKaWYgKDgzODg2MDcgPDwgMTEgIT09IC0yMDQ4KSB7IAogICRFUlJPUignIzM3NjogODM4ODYwNyA8PCAxMSA9PT0gLTIwNDguIEFjdHVhbDogJyArICg4Mzg4NjA3IDw8IDExKSk7IAp9IAoKCmlmICgxNjc3NzIxNSA8PCAxMSAhPT0gLTIwNDgpIHsgCiAgJEVSUk9SKCcjMzc3OiAxNjc3NzIxNSA8PCAxMSA9PT0gLTIwNDguIEFjdHVhbDogJyArICgxNjc3NzIxNSA8PCAxMSkpOyAKfSAKCgppZiAoMzM1NTQ0MzEgPDwgMTEgIT09IC0yMDQ4KSB7IAogICRFUlJPUignIzM3ODogMzM1NTQ0MzEgPDwgMTEgPT09IC0yMDQ4LiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPDwgMTEpKTsgCn0gCgoKaWYgKDY3MTA4ODYzIDw8IDExICE9PSAtMjA0OCkgeyAKICAkRVJST1IoJyMzNzk6IDY3MTA4ODYzIDw8IDExID09PSAtMjA0OC4gQWN0dWFsOiAnICsgKDY3MTA4ODYzIDw8IDExKSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPDwgMTEgIT09IC0yMDQ4KSB7IAogICRFUlJPUignIzM4MDogMTM0MjE3NzI3IDw8IDExID09PSAtMjA0OC4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA8PCAxMSkpOyAKfSAKCgppZiAoMjY4NDM1NDU1IDw8IDExICE9PSAtMjA0OCkgeyAKICAkRVJST1IoJyMzODE6IDI2ODQzNTQ1NSA8PCAxMSA9PT0gLTIwNDguIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPDwgMTEpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMSA8PCAxMSAhPT0gLTIwNDgpIHsgCiAgJEVSUk9SKCcjMzgyOiA1MzY4NzA5MTEgPDwgMTEgPT09IC0yMDQ4LiBBY3R1YWw6ICcgKyAoNTM2ODcwOTExIDw8IDExKSk7IAp9IAoKCmlmICgxMDczNzQxODIzIDw8IDExICE9PSAtMjA0OCkgeyAKICAkRVJST1IoJyMzODM6IDEwNzM3NDE4MjMgPDwgMTEgPT09IC0yMDQ4LiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA8PCAxMSkpOyAKfSAKCgppZiAoMjE0NzQ4MzY0NyA8PCAxMSAhPT0gLTIwNDgpIHsgCiAgJEVSUk9SKCcjMzg0OiAyMTQ3NDgzNjQ3IDw8IDExID09PSAtMjA0OC4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPDwgMTEpKTsgCn0gCgoKaWYgKDAgPDwgMTIgIT09IDApIHsgCiAgJEVSUk9SKCcjMzg1OiAwIDw8IDEyID09PSAwLiBBY3R1YWw6ICcgKyAoMCA8PCAxMikpOyAKfSAKCgppZiAoMSA8PCAxMiAhPT0gNDA5NikgeyAKICAkRVJST1IoJyMzODY6IDEgPDwgMTIgPT09IDQwOTYuIEFjdHVhbDogJyArICgxIDw8IDEyKSk7IAp9IAoKCmlmICgzIDw8IDEyICE9PSAxMjI4OCkgeyAKICAkRVJST1IoJyMzODc6IDMgPDwgMTIgPT09IDEyMjg4LiBBY3R1YWw6ICcgKyAoMyA8PCAxMikpOyAKfSAKCgppZiAoNyA8PCAxMiAhPT0gMjg2NzIpIHsgCiAgJEVSUk9SKCcjMzg4OiA3IDw8IDEyID09PSAyODY3Mi4gQWN0dWFsOiAnICsgKDcgPDwgMTIpKTsgCn0gCgoKaWYgKDE1IDw8IDEyICE9PSA2MTQ0MCkgeyAKICAkRVJST1IoJyMzODk6IDE1IDw8IDEyID09PSA2MTQ0MC4gQWN0dWFsOiAnICsgKDE1IDw8IDEyKSk7IAp9IAoKCmlmICgzMSA8PCAxMiAhPT0gMTI2OTc2KSB7IAogICRFUlJPUignIzM5MDogMzEgPDwgMTIgPT09IDEyNjk3Ni4gQWN0dWFsOiAnICsgKDMxIDw8IDEyKSk7IAp9IAoKCmlmICg2MyA8PCAxMiAhPT0gMjU4MDQ4KSB7IAogICRFUlJPUignIzM5MTogNjMgPDwgMTIgPT09IDI1ODA0OC4gQWN0dWFsOiAnICsgKDYzIDw8IDEyKSk7IAp9IAoKCmlmICgxMjcgPDwgMTIgIT09IDUyMDE5MikgeyAKICAkRVJST1IoJyMzOTI6IDEyNyA8PCAxMiA9PT0gNTIwMTkyLiBBY3R1YWw6ICcgKyAoMTI3IDw8IDEyKSk7IAp9IAoKCmlmICgyNTUgPDwgMTIgIT09IDEwNDQ0ODApIHsgCiAgJEVSUk9SKCcjMzkzOiAyNTUgPDwgMTIgPT09IDEwNDQ0ODAuIEFjdHVhbDogJyArICgyNTUgPDwgMTIpKTsgCn0gCgoKaWYgKDUxMSA8PCAxMiAhPT0gMjA5MzA1NikgeyAKICAkRVJST1IoJyMzOTQ6IDUxMSA8PCAxMiA9PT0gMjA5MzA1Ni4gQWN0dWFsOiAnICsgKDUxMSA8PCAxMikpOyAKfSAKCgppZiAoMTAyMyA8PCAxMiAhPT0gNDE5MDIwOCkgeyAKICAkRVJST1IoJyMzOTU6IDEwMjMgPDwgMTIgPT09IDQxOTAyMDguIEFjdHVhbDogJyArICgxMDIzIDw8IDEyKSk7IAp9IAoKCmlmICgyMDQ3IDw8IDEyICE9PSA4Mzg0NTEyKSB7IAogICRFUlJPUignIzM5NjogMjA0NyA8PCAxMiA9PT0gODM4NDUxMi4gQWN0dWFsOiAnICsgKDIwNDcgPDwgMTIpKTsgCn0gCgoKaWYgKDQwOTUgPDwgMTIgIT09IDE2NzczMTIwKSB7IAogICRFUlJPUignIzM5NzogNDA5NSA8PCAxMiA9PT0gMTY3NzMxMjAuIEFjdHVhbDogJyArICg0MDk1IDw8IDEyKSk7IAp9IAoKCmlmICg4MTkxIDw8IDEyICE9PSAzMzU1MDMzNikgeyAKICAkRVJST1IoJyMzOTg6IDgxOTEgPDwgMTIgPT09IDMzNTUwMzM2LiBBY3R1YWw6ICcgKyAoODE5MSA8PCAxMikpOyAKfSAKCgppZiAoMTYzODMgPDwgMTIgIT09IDY3MTA0NzY4KSB7IAogICRFUlJPUignIzM5OTogMTYzODMgPDwgMTIgPT09IDY3MTA0NzY4LiBBY3R1YWw6ICcgKyAoMTYzODMgPDwgMTIpKTsgCn0gCgoKaWYgKDMyNzY3IDw8IDEyICE9PSAxMzQyMTM2MzIpIHsgCiAgJEVSUk9SKCcjNDAwOiAzMjc2NyA8PCAxMiA9PT0gMTM0MjEzNjMyLiBBY3R1YWw6ICcgKyAoMzI3NjcgPDwgMTIpKTsgCn0gCgoKaWYgKDY1NTM1IDw8IDEyICE9PSAyNjg0MzEzNjApIHsgCiAgJEVSUk9SKCcjNDAxOiA2NTUzNSA8PCAxMiA9PT0gMjY4NDMxMzYwLiBBY3R1YWw6ICcgKyAoNjU1MzUgPDwgMTIpKTsgCn0gCgoKaWYgKDEzMTA3MSA8PCAxMiAhPT0gNTM2ODY2ODE2KSB7IAogICRFUlJPUignIzQwMjogMTMxMDcxIDw8IDEyID09PSA1MzY4NjY4MTYuIEFjdHVhbDogJyArICgxMzEwNzEgPDwgMTIpKTsgCn0gCgoKaWYgKDI2MjE0MyA8PCAxMiAhPT0gMTA3MzczNzcyOCkgeyAKICAkRVJST1IoJyM0MDM6IDI2MjE0MyA8PCAxMiA9PT0gMTA3MzczNzcyOC4gQWN0dWFsOiAnICsgKDI2MjE0MyA8PCAxMikpOyAKfSAKCgppZiAoNTI0Mjg3IDw8IDEyICE9PSAyMTQ3NDc5NTUyKSB7IAogICRFUlJPUignIzQwNDogNTI0Mjg3IDw8IDEyID09PSAyMTQ3NDc5NTUyLiBBY3R1YWw6ICcgKyAoNTI0Mjg3IDw8IDEyKSk7IAp9IAoKCmlmICgxMDQ4NTc1IDw8IDEyICE9PSAtNDA5NikgeyAKICAkRVJST1IoJyM0MDU6IDEwNDg1NzUgPDwgMTIgPT09IC00MDk2LiBBY3R1YWw6ICcgKyAoMTA0ODU3NSA8PCAxMikpOyAKfSAKCgppZiAoMjA5NzE1MSA8PCAxMiAhPT0gLTQwOTYpIHsgCiAgJEVSUk9SKCcjNDA2OiAyMDk3MTUxIDw8IDEyID09PSAtNDA5Ni4gQWN0dWFsOiAnICsgKDIwOTcxNTEgPDwgMTIpKTsgCn0gCgoKaWYgKDQxOTQzMDMgPDwgMTIgIT09IC00MDk2KSB7IAogICRFUlJPUignIzQwNzogNDE5NDMwMyA8PCAxMiA9PT0gLTQwOTYuIEFjdHVhbDogJyArICg0MTk0MzAzIDw8IDEyKSk7IAp9IAoKCmlmICg4Mzg4NjA3IDw8IDEyICE9PSAtNDA5NikgeyAKICAkRVJST1IoJyM0MDg6IDgzODg2MDcgPDwgMTIgPT09IC00MDk2LiBBY3R1YWw6ICcgKyAoODM4ODYwNyA8PCAxMikpOyAKfSAKCgppZiAoMTY3NzcyMTUgPDwgMTIgIT09IC00MDk2KSB7IAogICRFUlJPUignIzQwOTogMTY3NzcyMTUgPDwgMTIgPT09IC00MDk2LiBBY3R1YWw6ICcgKyAoMTY3NzcyMTUgPDwgMTIpKTsgCn0gCgoKaWYgKDMzNTU0NDMxIDw8IDEyICE9PSAtNDA5NikgeyAKICAkRVJST1IoJyM0MTA6IDMzNTU0NDMxIDw8IDEyID09PSAtNDA5Ni4gQWN0dWFsOiAnICsgKDMzNTU0NDMxIDw8IDEyKSk7IAp9IAoKCmlmICg2NzEwODg2MyA8PCAxMiAhPT0gLTQwOTYpIHsgCiAgJEVSUk9SKCcjNDExOiA2NzEwODg2MyA8PCAxMiA9PT0gLTQwOTYuIEFjdHVhbDogJyArICg2NzEwODg2MyA8PCAxMikpOyAKfSAKCgppZiAoMTM0MjE3NzI3IDw8IDEyICE9PSAtNDA5NikgeyAKICAkRVJST1IoJyM0MTI6IDEzNDIxNzcyNyA8PCAxMiA9PT0gLTQwOTYuIEFjdHVhbDogJyArICgxMzQyMTc3MjcgPDwgMTIpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NSA8PCAxMiAhPT0gLTQwOTYpIHsgCiAgJEVSUk9SKCcjNDEzOiAyNjg0MzU0NTUgPDwgMTIgPT09IC00MDk2LiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU1IDw8IDEyKSk7IAp9IAoKCmlmICg1MzY4NzA5MTEgPDwgMTIgIT09IC00MDk2KSB7IAogICRFUlJPUignIzQxNDogNTM2ODcwOTExIDw8IDEyID09PSAtNDA5Ni4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMSA8PCAxMikpOyAKfSAKCgppZiAoMTA3Mzc0MTgyMyA8PCAxMiAhPT0gLTQwOTYpIHsgCiAgJEVSUk9SKCcjNDE1OiAxMDczNzQxODIzIDw8IDEyID09PSAtNDA5Ni4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjMgPDwgMTIpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDcgPDwgMTIgIT09IC00MDk2KSB7IAogICRFUlJPUignIzQxNjogMjE0NzQ4MzY0NyA8PCAxMiA9PT0gLTQwOTYuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3IDw8IDEyKSk7IAp9IAoKCmlmICgwIDw8IDEzICE9PSAwKSB7IAogICRFUlJPUignIzQxNzogMCA8PCAxMyA9PT0gMC4gQWN0dWFsOiAnICsgKDAgPDwgMTMpKTsgCn0gCgoKaWYgKDEgPDwgMTMgIT09IDgxOTIpIHsgCiAgJEVSUk9SKCcjNDE4OiAxIDw8IDEzID09PSA4MTkyLiBBY3R1YWw6ICcgKyAoMSA8PCAxMykpOyAKfSAKCgppZiAoMyA8PCAxMyAhPT0gMjQ1NzYpIHsgCiAgJEVSUk9SKCcjNDE5OiAzIDw8IDEzID09PSAyNDU3Ni4gQWN0dWFsOiAnICsgKDMgPDwgMTMpKTsgCn0gCgoKaWYgKDcgPDwgMTMgIT09IDU3MzQ0KSB7IAogICRFUlJPUignIzQyMDogNyA8PCAxMyA9PT0gNTczNDQuIEFjdHVhbDogJyArICg3IDw8IDEzKSk7IAp9IAoKCmlmICgxNSA8PCAxMyAhPT0gMTIyODgwKSB7IAogICRFUlJPUignIzQyMTogMTUgPDwgMTMgPT09IDEyMjg4MC4gQWN0dWFsOiAnICsgKDE1IDw8IDEzKSk7IAp9IAoKCmlmICgzMSA8PCAxMyAhPT0gMjUzOTUyKSB7IAogICRFUlJPUignIzQyMjogMzEgPDwgMTMgPT09IDI1Mzk1Mi4gQWN0dWFsOiAnICsgKDMxIDw8IDEzKSk7IAp9IAoKCmlmICg2MyA8PCAxMyAhPT0gNTE2MDk2KSB7IAogICRFUlJPUignIzQyMzogNjMgPDwgMTMgPT09IDUxNjA5Ni4gQWN0dWFsOiAnICsgKDYzIDw8IDEzKSk7IAp9IAoKCmlmICgxMjcgPDwgMTMgIT09IDEwNDAzODQpIHsgCiAgJEVSUk9SKCcjNDI0OiAxMjcgPDwgMTMgPT09IDEwNDAzODQuIEFjdHVhbDogJyArICgxMjcgPDwgMTMpKTsgCn0gCgoKaWYgKDI1NSA8PCAxMyAhPT0gMjA4ODk2MCkgeyAKICAkRVJST1IoJyM0MjU6IDI1NSA8PCAxMyA9PT0gMjA4ODk2MC4gQWN0dWFsOiAnICsgKDI1NSA8PCAxMykpOyAKfSAKCgppZiAoNTExIDw8IDEzICE9PSA0MTg2MTEyKSB7IAogICRFUlJPUignIzQyNjogNTExIDw8IDEzID09PSA0MTg2MTEyLiBBY3R1YWw6ICcgKyAoNTExIDw8IDEzKSk7IAp9IAoKCmlmICgxMDIzIDw8IDEzICE9PSA4MzgwNDE2KSB7IAogICRFUlJPUignIzQyNzogMTAyMyA8PCAxMyA9PT0gODM4MDQxNi4gQWN0dWFsOiAnICsgKDEwMjMgPDwgMTMpKTsgCn0gCgoKaWYgKDIwNDcgPDwgMTMgIT09IDE2NzY5MDI0KSB7IAogICRFUlJPUignIzQyODogMjA0NyA8PCAxMyA9PT0gMTY3NjkwMjQuIEFjdHVhbDogJyArICgyMDQ3IDw8IDEzKSk7IAp9IAoKCmlmICg0MDk1IDw8IDEzICE9PSAzMzU0NjI0MCkgeyAKICAkRVJST1IoJyM0Mjk6IDQwOTUgPDwgMTMgPT09IDMzNTQ2MjQwLiBBY3R1YWw6ICcgKyAoNDA5NSA8PCAxMykpOyAKfSAKCgppZiAoODE5MSA8PCAxMyAhPT0gNjcxMDA2NzIpIHsgCiAgJEVSUk9SKCcjNDMwOiA4MTkxIDw8IDEzID09PSA2NzEwMDY3Mi4gQWN0dWFsOiAnICsgKDgxOTEgPDwgMTMpKTsgCn0gCgoKaWYgKDE2MzgzIDw8IDEzICE9PSAxMzQyMDk1MzYpIHsgCiAgJEVSUk9SKCcjNDMxOiAxNjM4MyA8PCAxMyA9PT0gMTM0MjA5NTM2LiBBY3R1YWw6ICcgKyAoMTYzODMgPDwgMTMpKTsgCn0gCgoKaWYgKDMyNzY3IDw8IDEzICE9PSAyNjg0MjcyNjQpIHsgCiAgJEVSUk9SKCcjNDMyOiAzMjc2NyA8PCAxMyA9PT0gMjY4NDI3MjY0LiBBY3R1YWw6ICcgKyAoMzI3NjcgPDwgMTMpKTsgCn0gCgoKaWYgKDY1NTM1IDw8IDEzICE9PSA1MzY4NjI3MjApIHsgCiAgJEVSUk9SKCcjNDMzOiA2NTUzNSA8PCAxMyA9PT0gNTM2ODYyNzIwLiBBY3R1YWw6ICcgKyAoNjU1MzUgPDwgMTMpKTsgCn0gCgoKaWYgKDEzMTA3MSA8PCAxMyAhPT0gMTA3MzczMzYzMikgeyAKICAkRVJST1IoJyM0MzQ6IDEzMTA3MSA8PCAxMyA9PT0gMTA3MzczMzYzMi4gQWN0dWFsOiAnICsgKDEzMTA3MSA8PCAxMykpOyAKfSAKCgppZiAoMjYyMTQzIDw8IDEzICE9PSAyMTQ3NDc1NDU2KSB7IAogICRFUlJPUignIzQzNTogMjYyMTQzIDw8IDEzID09PSAyMTQ3NDc1NDU2LiBBY3R1YWw6ICcgKyAoMjYyMTQzIDw8IDEzKSk7IAp9IAoKCmlmICg1MjQyODcgPDwgMTMgIT09IC04MTkyKSB7IAogICRFUlJPUignIzQzNjogNTI0Mjg3IDw8IDEzID09PSAtODE5Mi4gQWN0dWFsOiAnICsgKDUyNDI4NyA8PCAxMykpOyAKfSAKCgppZiAoMTA0ODU3NSA8PCAxMyAhPT0gLTgxOTIpIHsgCiAgJEVSUk9SKCcjNDM3OiAxMDQ4NTc1IDw8IDEzID09PSAtODE5Mi4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPDwgMTMpKTsgCn0gCgoKaWYgKDIwOTcxNTEgPDwgMTMgIT09IC04MTkyKSB7IAogICRFUlJPUignIzQzODogMjA5NzE1MSA8PCAxMyA9PT0gLTgxOTIuIEFjdHVhbDogJyArICgyMDk3MTUxIDw8IDEzKSk7IAp9IAoKCmlmICg0MTk0MzAzIDw8IDEzICE9PSAtODE5MikgeyAKICAkRVJST1IoJyM0Mzk6IDQxOTQzMDMgPDwgMTMgPT09IC04MTkyLiBBY3R1YWw6ICcgKyAoNDE5NDMwMyA8PCAxMykpOyAKfSAKCgppZiAoODM4ODYwNyA8PCAxMyAhPT0gLTgxOTIpIHsgCiAgJEVSUk9SKCcjNDQwOiA4Mzg4NjA3IDw8IDEzID09PSAtODE5Mi4gQWN0dWFsOiAnICsgKDgzODg2MDcgPDwgMTMpKTsgCn0gCgoKaWYgKDE2Nzc3MjE1IDw8IDEzICE9PSAtODE5MikgeyAKICAkRVJST1IoJyM0NDE6IDE2Nzc3MjE1IDw8IDEzID09PSAtODE5Mi4gQWN0dWFsOiAnICsgKDE2Nzc3MjE1IDw8IDEzKSk7IAp9IAoKCmlmICgzMzU1NDQzMSA8PCAxMyAhPT0gLTgxOTIpIHsgCiAgJEVSUk9SKCcjNDQyOiAzMzU1NDQzMSA8PCAxMyA9PT0gLTgxOTIuIEFjdHVhbDogJyArICgzMzU1NDQzMSA8PCAxMykpOyAKfSAKCgppZiAoNjcxMDg4NjMgPDwgMTMgIT09IC04MTkyKSB7IAogICRFUlJPUignIzQ0MzogNjcxMDg4NjMgPDwgMTMgPT09IC04MTkyLiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPDwgMTMpKTsgCn0gCgoKaWYgKDEzNDIxNzcyNyA8PCAxMyAhPT0gLTgxOTIpIHsgCiAgJEVSUk9SKCcjNDQ0OiAxMzQyMTc3MjcgPDwgMTMgPT09IC04MTkyLiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI3IDw8IDEzKSk7IAp9IAoKCmlmICgyNjg0MzU0NTUgPDwgMTMgIT09IC04MTkyKSB7IAogICRFUlJPUignIzQ0NTogMjY4NDM1NDU1IDw8IDEzID09PSAtODE5Mi4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NSA8PCAxMykpOyAKfSAKCgppZiAoNTM2ODcwOTExIDw8IDEzICE9PSAtODE5MikgeyAKICAkRVJST1IoJyM0NDY6IDUzNjg3MDkxMSA8PCAxMyA9PT0gLTgxOTIuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPDwgMTMpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjMgPDwgMTMgIT09IC04MTkyKSB7IAogICRFUlJPUignIzQ0NzogMTA3Mzc0MTgyMyA8PCAxMyA9PT0gLTgxOTIuIEFjdHVhbDogJyArICgxMDczNzQxODIzIDw8IDEzKSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ3IDw8IDEzICE9PSAtODE5MikgeyAKICAkRVJST1IoJyM0NDg6IDIxNDc0ODM2NDcgPDwgMTMgPT09IC04MTkyLiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA8PCAxMykpOyAKfSAKCgppZiAoMCA8PCAxNCAhPT0gMCkgeyAKICAkRVJST1IoJyM0NDk6IDAgPDwgMTQgPT09IDAuIEFjdHVhbDogJyArICgwIDw8IDE0KSk7IAp9IAoKCmlmICgxIDw8IDE0ICE9PSAxNjM4NCkgeyAKICAkRVJST1IoJyM0NTA6IDEgPDwgMTQgPT09IDE2Mzg0LiBBY3R1YWw6ICcgKyAoMSA8PCAxNCkpOyAKfSAKCgppZiAoMyA8PCAxNCAhPT0gNDkxNTIpIHsgCiAgJEVSUk9SKCcjNDUxOiAzIDw8IDE0ID09PSA0OTE1Mi4gQWN0dWFsOiAnICsgKDMgPDwgMTQpKTsgCn0gCgoKaWYgKDcgPDwgMTQgIT09IDExNDY4OCkgeyAKICAkRVJST1IoJyM0NTI6IDcgPDwgMTQgPT09IDExNDY4OC4gQWN0dWFsOiAnICsgKDcgPDwgMTQpKTsgCn0gCgoKaWYgKDE1IDw8IDE0ICE9PSAyNDU3NjApIHsgCiAgJEVSUk9SKCcjNDUzOiAxNSA8PCAxNCA9PT0gMjQ1NzYwLiBBY3R1YWw6ICcgKyAoMTUgPDwgMTQpKTsgCn0gCgoKaWYgKDMxIDw8IDE0ICE9PSA1MDc5MDQpIHsgCiAgJEVSUk9SKCcjNDU0OiAzMSA8PCAxNCA9PT0gNTA3OTA0LiBBY3R1YWw6ICcgKyAoMzEgPDwgMTQpKTsgCn0gCgoKaWYgKDYzIDw8IDE0ICE9PSAxMDMyMTkyKSB7IAogICRFUlJPUignIzQ1NTogNjMgPDwgMTQgPT09IDEwMzIxOTIuIEFjdHVhbDogJyArICg2MyA8PCAxNCkpOyAKfSAKCgppZiAoMTI3IDw8IDE0ICE9PSAyMDgwNzY4KSB7IAogICRFUlJPUignIzQ1NjogMTI3IDw8IDE0ID09PSAyMDgwNzY4LiBBY3R1YWw6ICcgKyAoMTI3IDw8IDE0KSk7IAp9IAoKCmlmICgyNTUgPDwgMTQgIT09IDQxNzc5MjApIHsgCiAgJEVSUk9SKCcjNDU3OiAyNTUgPDwgMTQgPT09IDQxNzc5MjAuIEFjdHVhbDogJyArICgyNTUgPDwgMTQpKTsgCn0gCgoKaWYgKDUxMSA8PCAxNCAhPT0gODM3MjIyNCkgeyAKICAkRVJST1IoJyM0NTg6IDUxMSA8PCAxNCA9PT0gODM3MjIyNC4gQWN0dWFsOiAnICsgKDUxMSA8PCAxNCkpOyAKfSAKCgppZiAoMTAyMyA8PCAxNCAhPT0gMTY3NjA4MzIpIHsgCiAgJEVSUk9SKCcjNDU5OiAxMDIzIDw8IDE0ID09PSAxNjc2MDgzMi4gQWN0dWFsOiAnICsgKDEwMjMgPDwgMTQpKTsgCn0gCgoKaWYgKDIwNDcgPDwgMTQgIT09IDMzNTM4MDQ4KSB7IAogICRFUlJPUignIzQ2MDogMjA0NyA8PCAxNCA9PT0gMzM1MzgwNDguIEFjdHVhbDogJyArICgyMDQ3IDw8IDE0KSk7IAp9IAoKCmlmICg0MDk1IDw8IDE0ICE9PSA2NzA5MjQ4MCkgeyAKICAkRVJST1IoJyM0NjE6IDQwOTUgPDwgMTQgPT09IDY3MDkyNDgwLiBBY3R1YWw6ICcgKyAoNDA5NSA8PCAxNCkpOyAKfSAKCgppZiAoODE5MSA8PCAxNCAhPT0gMTM0MjAxMzQ0KSB7IAogICRFUlJPUignIzQ2MjogODE5MSA8PCAxNCA9PT0gMTM0MjAxMzQ0LiBBY3R1YWw6ICcgKyAoODE5MSA8PCAxNCkpOyAKfSAKCgppZiAoMTYzODMgPDwgMTQgIT09IDI2ODQxOTA3MikgeyAKICAkRVJST1IoJyM0NjM6IDE2MzgzIDw8IDE0ID09PSAyNjg0MTkwNzIuIEFjdHVhbDogJyArICgxNjM4MyA8PCAxNCkpOyAKfSAKCgppZiAoMzI3NjcgPDwgMTQgIT09IDUzNjg1NDUyOCkgeyAKICAkRVJST1IoJyM0NjQ6IDMyNzY3IDw8IDE0ID09PSA1MzY4NTQ1MjguIEFjdHVhbDogJyArICgzMjc2NyA8PCAxNCkpOyAKfSAKCgppZiAoNjU1MzUgPDwgMTQgIT09IDEwNzM3MjU0NDApIHsgCiAgJEVSUk9SKCcjNDY1OiA2NTUzNSA8PCAxNCA9PT0gMTA3MzcyNTQ0MC4gQWN0dWFsOiAnICsgKDY1NTM1IDw8IDE0KSk7IAp9IAoKCmlmICgxMzEwNzEgPDwgMTQgIT09IDIxNDc0NjcyNjQpIHsgCiAgJEVSUk9SKCcjNDY2OiAxMzEwNzEgPDwgMTQgPT09IDIxNDc0NjcyNjQuIEFjdHVhbDogJyArICgxMzEwNzEgPDwgMTQpKTsgCn0gCgoKaWYgKDI2MjE0MyA8PCAxNCAhPT0gLTE2Mzg0KSB7IAogICRFUlJPUignIzQ2NzogMjYyMTQzIDw8IDE0ID09PSAtMTYzODQuIEFjdHVhbDogJyArICgyNjIxNDMgPDwgMTQpKTsgCn0gCgoKaWYgKDUyNDI4NyA8PCAxNCAhPT0gLTE2Mzg0KSB7IAogICRFUlJPUignIzQ2ODogNTI0Mjg3IDw8IDE0ID09PSAtMTYzODQuIEFjdHVhbDogJyArICg1MjQyODcgPDwgMTQpKTsgCn0gCgoKaWYgKDEwNDg1NzUgPDwgMTQgIT09IC0xNjM4NCkgeyAKICAkRVJST1IoJyM0Njk6IDEwNDg1NzUgPDwgMTQgPT09IC0xNjM4NC4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPDwgMTQpKTsgCn0gCgoKaWYgKDIwOTcxNTEgPDwgMTQgIT09IC0xNjM4NCkgeyAKICAkRVJST1IoJyM0NzA6IDIwOTcxNTEgPDwgMTQgPT09IC0xNjM4NC4gQWN0dWFsOiAnICsgKDIwOTcxNTEgPDwgMTQpKTsgCn0gCgoKaWYgKDQxOTQzMDMgPDwgMTQgIT09IC0xNjM4NCkgeyAKICAkRVJST1IoJyM0NzE6IDQxOTQzMDMgPDwgMTQgPT09IC0xNjM4NC4gQWN0dWFsOiAnICsgKDQxOTQzMDMgPDwgMTQpKTsgCn0gCgoKaWYgKDgzODg2MDcgPDwgMTQgIT09IC0xNjM4NCkgeyAKICAkRVJST1IoJyM0NzI6IDgzODg2MDcgPDwgMTQgPT09IC0xNjM4NC4gQWN0dWFsOiAnICsgKDgzODg2MDcgPDwgMTQpKTsgCn0gCgoKaWYgKDE2Nzc3MjE1IDw8IDE0ICE9PSAtMTYzODQpIHsgCiAgJEVSUk9SKCcjNDczOiAxNjc3NzIxNSA8PCAxNCA9PT0gLTE2Mzg0LiBBY3R1YWw6ICcgKyAoMTY3NzcyMTUgPDwgMTQpKTsgCn0gCgoKaWYgKDMzNTU0NDMxIDw8IDE0ICE9PSAtMTYzODQpIHsgCiAgJEVSUk9SKCcjNDc0OiAzMzU1NDQzMSA8PCAxNCA9PT0gLTE2Mzg0LiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPDwgMTQpKTsgCn0gCgoKaWYgKDY3MTA4ODYzIDw8IDE0ICE9PSAtMTYzODQpIHsgCiAgJEVSUk9SKCcjNDc1OiA2NzEwODg2MyA8PCAxNCA9PT0gLTE2Mzg0LiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPDwgMTQpKTsgCn0gCgoKaWYgKDEzNDIxNzcyNyA8PCAxNCAhPT0gLTE2Mzg0KSB7IAogICRFUlJPUignIzQ3NjogMTM0MjE3NzI3IDw8IDE0ID09PSAtMTYzODQuIEFjdHVhbDogJyArICgxMzQyMTc3MjcgPDwgMTQpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NSA8PCAxNCAhPT0gLTE2Mzg0KSB7IAogICRFUlJPUignIzQ3NzogMjY4NDM1NDU1IDw8IDE0ID09PSAtMTYzODQuIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPDwgMTQpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMSA8PCAxNCAhPT0gLTE2Mzg0KSB7IAogICRFUlJPUignIzQ3ODogNTM2ODcwOTExIDw8IDE0ID09PSAtMTYzODQuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPDwgMTQpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjMgPDwgMTQgIT09IC0xNjM4NCkgeyAKICAkRVJST1IoJyM0Nzk6IDEwNzM3NDE4MjMgPDwgMTQgPT09IC0xNjM4NC4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjMgPDwgMTQpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDcgPDwgMTQgIT09IC0xNjM4NCkgeyAKICAkRVJST1IoJyM0ODA6IDIxNDc0ODM2NDcgPDwgMTQgPT09IC0xNjM4NC4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPDwgMTQpKTsgCn0gCgoKaWYgKDAgPDwgMTUgIT09IDApIHsgCiAgJEVSUk9SKCcjNDgxOiAwIDw8IDE1ID09PSAwLiBBY3R1YWw6ICcgKyAoMCA8PCAxNSkpOyAKfSAKCgppZiAoMSA8PCAxNSAhPT0gMzI3NjgpIHsgCiAgJEVSUk9SKCcjNDgyOiAxIDw8IDE1ID09PSAzMjc2OC4gQWN0dWFsOiAnICsgKDEgPDwgMTUpKTsgCn0gCgoKaWYgKDMgPDwgMTUgIT09IDk4MzA0KSB7IAogICRFUlJPUignIzQ4MzogMyA8PCAxNSA9PT0gOTgzMDQuIEFjdHVhbDogJyArICgzIDw8IDE1KSk7IAp9IAoKCmlmICg3IDw8IDE1ICE9PSAyMjkzNzYpIHsgCiAgJEVSUk9SKCcjNDg0OiA3IDw8IDE1ID09PSAyMjkzNzYuIEFjdHVhbDogJyArICg3IDw8IDE1KSk7IAp9IAoKCmlmICgxNSA8PCAxNSAhPT0gNDkxNTIwKSB7IAogICRFUlJPUignIzQ4NTogMTUgPDwgMTUgPT09IDQ5MTUyMC4gQWN0dWFsOiAnICsgKDE1IDw8IDE1KSk7IAp9IAoKCmlmICgzMSA8PCAxNSAhPT0gMTAxNTgwOCkgeyAKICAkRVJST1IoJyM0ODY6IDMxIDw8IDE1ID09PSAxMDE1ODA4LiBBY3R1YWw6ICcgKyAoMzEgPDwgMTUpKTsgCn0gCgoKaWYgKDYzIDw8IDE1ICE9PSAyMDY0Mzg0KSB7IAogICRFUlJPUignIzQ4NzogNjMgPDwgMTUgPT09IDIwNjQzODQuIEFjdHVhbDogJyArICg2MyA8PCAxNSkpOyAKfSAKCgppZiAoMTI3IDw8IDE1ICE9PSA0MTYxNTM2KSB7IAogICRFUlJPUignIzQ4ODogMTI3IDw8IDE1ID09PSA0MTYxNTM2LiBBY3R1YWw6ICcgKyAoMTI3IDw8IDE1KSk7IAp9IAoKCmlmICgyNTUgPDwgMTUgIT09IDgzNTU4NDApIHsgCiAgJEVSUk9SKCcjNDg5OiAyNTUgPDwgMTUgPT09IDgzNTU4NDAuIEFjdHVhbDogJyArICgyNTUgPDwgMTUpKTsgCn0gCgoKaWYgKDUxMSA8PCAxNSAhPT0gMTY3NDQ0NDgpIHsgCiAgJEVSUk9SKCcjNDkwOiA1MTEgPDwgMTUgPT09IDE2NzQ0NDQ4LiBBY3R1YWw6ICcgKyAoNTExIDw8IDE1KSk7IAp9IAoKCmlmICgxMDIzIDw8IDE1ICE9PSAzMzUyMTY2NCkgeyAKICAkRVJST1IoJyM0OTE6IDEwMjMgPDwgMTUgPT09IDMzNTIxNjY0LiBBY3R1YWw6ICcgKyAoMTAyMyA8PCAxNSkpOyAKfSAKCgppZiAoMjA0NyA8PCAxNSAhPT0gNjcwNzYwOTYpIHsgCiAgJEVSUk9SKCcjNDkyOiAyMDQ3IDw8IDE1ID09PSA2NzA3NjA5Ni4gQWN0dWFsOiAnICsgKDIwNDcgPDwgMTUpKTsgCn0gCgoKaWYgKDQwOTUgPDwgMTUgIT09IDEzNDE4NDk2MCkgeyAKICAkRVJST1IoJyM0OTM6IDQwOTUgPDwgMTUgPT09IDEzNDE4NDk2MC4gQWN0dWFsOiAnICsgKDQwOTUgPDwgMTUpKTsgCn0gCgoKaWYgKDgxOTEgPDwgMTUgIT09IDI2ODQwMjY4OCkgeyAKICAkRVJST1IoJyM0OTQ6IDgxOTEgPDwgMTUgPT09IDI2ODQwMjY4OC4gQWN0dWFsOiAnICsgKDgxOTEgPDwgMTUpKTsgCn0gCgoKaWYgKDE2MzgzIDw8IDE1ICE9PSA1MzY4MzgxNDQpIHsgCiAgJEVSUk9SKCcjNDk1OiAxNjM4MyA8PCAxNSA9PT0gNTM2ODM4MTQ0LiBBY3R1YWw6ICcgKyAoMTYzODMgPDwgMTUpKTsgCn0gCgoKaWYgKDMyNzY3IDw8IDE1ICE9PSAxMDczNzA5MDU2KSB7IAogICRFUlJPUignIzQ5NjogMzI3NjcgPDwgMTUgPT09IDEwNzM3MDkwNTYuIEFjdHVhbDogJyArICgzMjc2NyA8PCAxNSkpOyAKfSAKCgppZiAoNjU1MzUgPDwgMTUgIT09IDIxNDc0NTA4ODApIHsgCiAgJEVSUk9SKCcjNDk3OiA2NTUzNSA8PCAxNSA9PT0gMjE0NzQ1MDg4MC4gQWN0dWFsOiAnICsgKDY1NTM1IDw8IDE1KSk7IAp9IAoKCmlmICgxMzEwNzEgPDwgMTUgIT09IC0zMjc2OCkgeyAKICAkRVJST1IoJyM0OTg6IDEzMTA3MSA8PCAxNSA9PT0gLTMyNzY4LiBBY3R1YWw6ICcgKyAoMTMxMDcxIDw8IDE1KSk7IAp9IAoKCmlmICgyNjIxNDMgPDwgMTUgIT09IC0zMjc2OCkgeyAKICAkRVJST1IoJyM0OTk6IDI2MjE0MyA8PCAxNSA9PT0gLTMyNzY4LiBBY3R1YWw6ICcgKyAoMjYyMTQzIDw8IDE1KSk7IAp9IAoKCmlmICg1MjQyODcgPDwgMTUgIT09IC0zMjc2OCkgeyAKICAkRVJST1IoJyM1MDA6IDUyNDI4NyA8PCAxNSA9PT0gLTMyNzY4LiBBY3R1YWw6ICcgKyAoNTI0Mjg3IDw8IDE1KSk7IAp9IAoKCmlmICgxMDQ4NTc1IDw8IDE1ICE9PSAtMzI3NjgpIHsgCiAgJEVSUk9SKCcjNTAxOiAxMDQ4NTc1IDw8IDE1ID09PSAtMzI3NjguIEFjdHVhbDogJyArICgxMDQ4NTc1IDw8IDE1KSk7IAp9IAoKCmlmICgyMDk3MTUxIDw8IDE1ICE9PSAtMzI3NjgpIHsgCiAgJEVSUk9SKCcjNTAyOiAyMDk3MTUxIDw8IDE1ID09PSAtMzI3NjguIEFjdHVhbDogJyArICgyMDk3MTUxIDw8IDE1KSk7IAp9IAoKCmlmICg0MTk0MzAzIDw8IDE1ICE9PSAtMzI3NjgpIHsgCiAgJEVSUk9SKCcjNTAzOiA0MTk0MzAzIDw8IDE1ID09PSAtMzI3NjguIEFjdHVhbDogJyArICg0MTk0MzAzIDw8IDE1KSk7IAp9IAoKCmlmICg4Mzg4NjA3IDw8IDE1ICE9PSAtMzI3NjgpIHsgCiAgJEVSUk9SKCcjNTA0OiA4Mzg4NjA3IDw8IDE1ID09PSAtMzI3NjguIEFjdHVhbDogJyArICg4Mzg4NjA3IDw8IDE1KSk7IAp9IAoKCmlmICgxNjc3NzIxNSA8PCAxNSAhPT0gLTMyNzY4KSB7IAogICRFUlJPUignIzUwNTogMTY3NzcyMTUgPDwgMTUgPT09IC0zMjc2OC4gQWN0dWFsOiAnICsgKDE2Nzc3MjE1IDw8IDE1KSk7IAp9IAoKCmlmICgzMzU1NDQzMSA8PCAxNSAhPT0gLTMyNzY4KSB7IAogICRFUlJPUignIzUwNjogMzM1NTQ0MzEgPDwgMTUgPT09IC0zMjc2OC4gQWN0dWFsOiAnICsgKDMzNTU0NDMxIDw8IDE1KSk7IAp9IAoKCmlmICg2NzEwODg2MyA8PCAxNSAhPT0gLTMyNzY4KSB7IAogICRFUlJPUignIzUwNzogNjcxMDg4NjMgPDwgMTUgPT09IC0zMjc2OC4gQWN0dWFsOiAnICsgKDY3MTA4ODYzIDw8IDE1KSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPDwgMTUgIT09IC0zMjc2OCkgeyAKICAkRVJST1IoJyM1MDg6IDEzNDIxNzcyNyA8PCAxNSA9PT0gLTMyNzY4LiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI3IDw8IDE1KSk7IAp9IAoKCmlmICgyNjg0MzU0NTUgPDwgMTUgIT09IC0zMjc2OCkgeyAKICAkRVJST1IoJyM1MDk6IDI2ODQzNTQ1NSA8PCAxNSA9PT0gLTMyNzY4LiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU1IDw8IDE1KSk7IAp9IAoKCmlmICg1MzY4NzA5MTEgPDwgMTUgIT09IC0zMjc2OCkgeyAKICAkRVJST1IoJyM1MTA6IDUzNjg3MDkxMSA8PCAxNSA9PT0gLTMyNzY4LiBBY3R1YWw6ICcgKyAoNTM2ODcwOTExIDw8IDE1KSk7IAp9IAoKCmlmICgxMDczNzQxODIzIDw8IDE1ICE9PSAtMzI3NjgpIHsgCiAgJEVSUk9SKCcjNTExOiAxMDczNzQxODIzIDw8IDE1ID09PSAtMzI3NjguIEFjdHVhbDogJyArICgxMDczNzQxODIzIDw8IDE1KSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ3IDw8IDE1ICE9PSAtMzI3NjgpIHsgCiAgJEVSUk9SKCcjNTEyOiAyMTQ3NDgzNjQ3IDw8IDE1ID09PSAtMzI3NjguIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3IDw8IDE1KSk7IAp9IAoK",
"commentary":"Check operator x << y in distinct points",
"description":"ShiftExpression = 2^n - 1, n = 0...15",
"path":"TestCases/ch11/11.7/11.7.1/S11.7.1_A4_T3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBvcGVyYXRvciB4IDw8IHkgaW4gZGlzdGluY3QgcG9pbnRzCiAqCiAqIEBwYXRoIGNoMTEvMTEuNy8xMS43LjEvUzExLjcuMV9BNF9UNC5qcwogKiBAZGVzY3JpcHRpb24gU2hpZnRFeHByZXNzaW9uID0gMl5uIC0gMSwgbiA9IDE2Li4uMzEKICovCgovL0NIRUNLCgppZiAoMCA8PCAxNiAhPT0gMCkgeyAKICAkRVJST1IoJyM1MTM6IDAgPDwgMTYgPT09IDAuIEFjdHVhbDogJyArICgwIDw8IDE2KSk7IAp9IAoKCmlmICgxIDw8IDE2ICE9PSA2NTUzNikgeyAKICAkRVJST1IoJyM1MTQ6IDEgPDwgMTYgPT09IDY1NTM2LiBBY3R1YWw6ICcgKyAoMSA8PCAxNikpOyAKfSAKCgppZiAoMyA8PCAxNiAhPT0gMTk2NjA4KSB7IAogICRFUlJPUignIzUxNTogMyA8PCAxNiA9PT0gMTk2NjA4LiBBY3R1YWw6ICcgKyAoMyA8PCAxNikpOyAKfSAKCgppZiAoNyA8PCAxNiAhPT0gNDU4NzUyKSB7IAogICRFUlJPUignIzUxNjogNyA8PCAxNiA9PT0gNDU4NzUyLiBBY3R1YWw6ICcgKyAoNyA8PCAxNikpOyAKfSAKCgppZiAoMTUgPDwgMTYgIT09IDk4MzA0MCkgeyAKICAkRVJST1IoJyM1MTc6IDE1IDw8IDE2ID09PSA5ODMwNDAuIEFjdHVhbDogJyArICgxNSA8PCAxNikpOyAKfSAKCgppZiAoMzEgPDwgMTYgIT09IDIwMzE2MTYpIHsgCiAgJEVSUk9SKCcjNTE4OiAzMSA8PCAxNiA9PT0gMjAzMTYxNi4gQWN0dWFsOiAnICsgKDMxIDw8IDE2KSk7IAp9IAoKCmlmICg2MyA8PCAxNiAhPT0gNDEyODc2OCkgeyAKICAkRVJST1IoJyM1MTk6IDYzIDw8IDE2ID09PSA0MTI4NzY4LiBBY3R1YWw6ICcgKyAoNjMgPDwgMTYpKTsgCn0gCgoKaWYgKDEyNyA8PCAxNiAhPT0gODMyMzA3MikgeyAKICAkRVJST1IoJyM1MjA6IDEyNyA8PCAxNiA9PT0gODMyMzA3Mi4gQWN0dWFsOiAnICsgKDEyNyA8PCAxNikpOyAKfSAKCgppZiAoMjU1IDw8IDE2ICE9PSAxNjcxMTY4MCkgeyAKICAkRVJST1IoJyM1MjE6IDI1NSA8PCAxNiA9PT0gMTY3MTE2ODAuIEFjdHVhbDogJyArICgyNTUgPDwgMTYpKTsgCn0gCgoKaWYgKDUxMSA8PCAxNiAhPT0gMzM0ODg4OTYpIHsgCiAgJEVSUk9SKCcjNTIyOiA1MTEgPDwgMTYgPT09IDMzNDg4ODk2LiBBY3R1YWw6ICcgKyAoNTExIDw8IDE2KSk7IAp9IAoKCmlmICgxMDIzIDw8IDE2ICE9PSA2NzA0MzMyOCkgeyAKICAkRVJST1IoJyM1MjM6IDEwMjMgPDwgMTYgPT09IDY3MDQzMzI4LiBBY3R1YWw6ICcgKyAoMTAyMyA8PCAxNikpOyAKfSAKCgppZiAoMjA0NyA8PCAxNiAhPT0gMTM0MTUyMTkyKSB7IAogICRFUlJPUignIzUyNDogMjA0NyA8PCAxNiA9PT0gMTM0MTUyMTkyLiBBY3R1YWw6ICcgKyAoMjA0NyA8PCAxNikpOyAKfSAKCgppZiAoNDA5NSA8PCAxNiAhPT0gMjY4MzY5OTIwKSB7IAogICRFUlJPUignIzUyNTogNDA5NSA8PCAxNiA9PT0gMjY4MzY5OTIwLiBBY3R1YWw6ICcgKyAoNDA5NSA8PCAxNikpOyAKfSAKCgppZiAoODE5MSA8PCAxNiAhPT0gNTM2ODA1Mzc2KSB7IAogICRFUlJPUignIzUyNjogODE5MSA8PCAxNiA9PT0gNTM2ODA1Mzc2LiBBY3R1YWw6ICcgKyAoODE5MSA8PCAxNikpOyAKfSAKCgppZiAoMTYzODMgPDwgMTYgIT09IDEwNzM2NzYyODgpIHsgCiAgJEVSUk9SKCcjNTI3OiAxNjM4MyA8PCAxNiA9PT0gMTA3MzY3NjI4OC4gQWN0dWFsOiAnICsgKDE2MzgzIDw8IDE2KSk7IAp9IAoKCmlmICgzMjc2NyA8PCAxNiAhPT0gMjE0NzQxODExMikgeyAKICAkRVJST1IoJyM1Mjg6IDMyNzY3IDw8IDE2ID09PSAyMTQ3NDE4MTEyLiBBY3R1YWw6ICcgKyAoMzI3NjcgPDwgMTYpKTsgCn0gCgoKaWYgKDY1NTM1IDw8IDE2ICE9PSAtNjU1MzYpIHsgCiAgJEVSUk9SKCcjNTI5OiA2NTUzNSA8PCAxNiA9PT0gLTY1NTM2LiBBY3R1YWw6ICcgKyAoNjU1MzUgPDwgMTYpKTsgCn0gCgoKaWYgKDEzMTA3MSA8PCAxNiAhPT0gLTY1NTM2KSB7IAogICRFUlJPUignIzUzMDogMTMxMDcxIDw8IDE2ID09PSAtNjU1MzYuIEFjdHVhbDogJyArICgxMzEwNzEgPDwgMTYpKTsgCn0gCgoKaWYgKDI2MjE0MyA8PCAxNiAhPT0gLTY1NTM2KSB7IAogICRFUlJPUignIzUzMTogMjYyMTQzIDw8IDE2ID09PSAtNjU1MzYuIEFjdHVhbDogJyArICgyNjIxNDMgPDwgMTYpKTsgCn0gCgoKaWYgKDUyNDI4NyA8PCAxNiAhPT0gLTY1NTM2KSB7IAogICRFUlJPUignIzUzMjogNTI0Mjg3IDw8IDE2ID09PSAtNjU1MzYuIEFjdHVhbDogJyArICg1MjQyODcgPDwgMTYpKTsgCn0gCgoKaWYgKDEwNDg1NzUgPDwgMTYgIT09IC02NTUzNikgeyAKICAkRVJST1IoJyM1MzM6IDEwNDg1NzUgPDwgMTYgPT09IC02NTUzNi4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPDwgMTYpKTsgCn0gCgoKaWYgKDIwOTcxNTEgPDwgMTYgIT09IC02NTUzNikgeyAKICAkRVJST1IoJyM1MzQ6IDIwOTcxNTEgPDwgMTYgPT09IC02NTUzNi4gQWN0dWFsOiAnICsgKDIwOTcxNTEgPDwgMTYpKTsgCn0gCgoKaWYgKDQxOTQzMDMgPDwgMTYgIT09IC02NTUzNikgeyAKICAkRVJST1IoJyM1MzU6IDQxOTQzMDMgPDwgMTYgPT09IC02NTUzNi4gQWN0dWFsOiAnICsgKDQxOTQzMDMgPDwgMTYpKTsgCn0gCgoKaWYgKDgzODg2MDcgPDwgMTYgIT09IC02NTUzNikgeyAKICAkRVJST1IoJyM1MzY6IDgzODg2MDcgPDwgMTYgPT09IC02NTUzNi4gQWN0dWFsOiAnICsgKDgzODg2MDcgPDwgMTYpKTsgCn0gCgoKaWYgKDE2Nzc3MjE1IDw8IDE2ICE9PSAtNjU1MzYpIHsgCiAgJEVSUk9SKCcjNTM3OiAxNjc3NzIxNSA8PCAxNiA9PT0gLTY1NTM2LiBBY3R1YWw6ICcgKyAoMTY3NzcyMTUgPDwgMTYpKTsgCn0gCgoKaWYgKDMzNTU0NDMxIDw8IDE2ICE9PSAtNjU1MzYpIHsgCiAgJEVSUk9SKCcjNTM4OiAzMzU1NDQzMSA8PCAxNiA9PT0gLTY1NTM2LiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPDwgMTYpKTsgCn0gCgoKaWYgKDY3MTA4ODYzIDw8IDE2ICE9PSAtNjU1MzYpIHsgCiAgJEVSUk9SKCcjNTM5OiA2NzEwODg2MyA8PCAxNiA9PT0gLTY1NTM2LiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPDwgMTYpKTsgCn0gCgoKaWYgKDEzNDIxNzcyNyA8PCAxNiAhPT0gLTY1NTM2KSB7IAogICRFUlJPUignIzU0MDogMTM0MjE3NzI3IDw8IDE2ID09PSAtNjU1MzYuIEFjdHVhbDogJyArICgxMzQyMTc3MjcgPDwgMTYpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NSA8PCAxNiAhPT0gLTY1NTM2KSB7IAogICRFUlJPUignIzU0MTogMjY4NDM1NDU1IDw8IDE2ID09PSAtNjU1MzYuIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPDwgMTYpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMSA8PCAxNiAhPT0gLTY1NTM2KSB7IAogICRFUlJPUignIzU0MjogNTM2ODcwOTExIDw8IDE2ID09PSAtNjU1MzYuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPDwgMTYpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjMgPDwgMTYgIT09IC02NTUzNikgeyAKICAkRVJST1IoJyM1NDM6IDEwNzM3NDE4MjMgPDwgMTYgPT09IC02NTUzNi4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjMgPDwgMTYpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDcgPDwgMTYgIT09IC02NTUzNikgeyAKICAkRVJST1IoJyM1NDQ6IDIxNDc0ODM2NDcgPDwgMTYgPT09IC02NTUzNi4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPDwgMTYpKTsgCn0gCgoKaWYgKDAgPDwgMTcgIT09IDApIHsgCiAgJEVSUk9SKCcjNTQ1OiAwIDw8IDE3ID09PSAwLiBBY3R1YWw6ICcgKyAoMCA8PCAxNykpOyAKfSAKCgppZiAoMSA8PCAxNyAhPT0gMTMxMDcyKSB7IAogICRFUlJPUignIzU0NjogMSA8PCAxNyA9PT0gMTMxMDcyLiBBY3R1YWw6ICcgKyAoMSA8PCAxNykpOyAKfSAKCgppZiAoMyA8PCAxNyAhPT0gMzkzMjE2KSB7IAogICRFUlJPUignIzU0NzogMyA8PCAxNyA9PT0gMzkzMjE2LiBBY3R1YWw6ICcgKyAoMyA8PCAxNykpOyAKfSAKCgppZiAoNyA8PCAxNyAhPT0gOTE3NTA0KSB7IAogICRFUlJPUignIzU0ODogNyA8PCAxNyA9PT0gOTE3NTA0LiBBY3R1YWw6ICcgKyAoNyA8PCAxNykpOyAKfSAKCgppZiAoMTUgPDwgMTcgIT09IDE5NjYwODApIHsgCiAgJEVSUk9SKCcjNTQ5OiAxNSA8PCAxNyA9PT0gMTk2NjA4MC4gQWN0dWFsOiAnICsgKDE1IDw8IDE3KSk7IAp9IAoKCmlmICgzMSA8PCAxNyAhPT0gNDA2MzIzMikgeyAKICAkRVJST1IoJyM1NTA6IDMxIDw8IDE3ID09PSA0MDYzMjMyLiBBY3R1YWw6ICcgKyAoMzEgPDwgMTcpKTsgCn0gCgoKaWYgKDYzIDw8IDE3ICE9PSA4MjU3NTM2KSB7IAogICRFUlJPUignIzU1MTogNjMgPDwgMTcgPT09IDgyNTc1MzYuIEFjdHVhbDogJyArICg2MyA8PCAxNykpOyAKfSAKCgppZiAoMTI3IDw8IDE3ICE9PSAxNjY0NjE0NCkgeyAKICAkRVJST1IoJyM1NTI6IDEyNyA8PCAxNyA9PT0gMTY2NDYxNDQuIEFjdHVhbDogJyArICgxMjcgPDwgMTcpKTsgCn0gCgoKaWYgKDI1NSA8PCAxNyAhPT0gMzM0MjMzNjApIHsgCiAgJEVSUk9SKCcjNTUzOiAyNTUgPDwgMTcgPT09IDMzNDIzMzYwLiBBY3R1YWw6ICcgKyAoMjU1IDw8IDE3KSk7IAp9IAoKCmlmICg1MTEgPDwgMTcgIT09IDY2OTc3NzkyKSB7IAogICRFUlJPUignIzU1NDogNTExIDw8IDE3ID09PSA2Njk3Nzc5Mi4gQWN0dWFsOiAnICsgKDUxMSA8PCAxNykpOyAKfSAKCgppZiAoMTAyMyA8PCAxNyAhPT0gMTM0MDg2NjU2KSB7IAogICRFUlJPUignIzU1NTogMTAyMyA8PCAxNyA9PT0gMTM0MDg2NjU2LiBBY3R1YWw6ICcgKyAoMTAyMyA8PCAxNykpOyAKfSAKCgppZiAoMjA0NyA8PCAxNyAhPT0gMjY4MzA0Mzg0KSB7IAogICRFUlJPUignIzU1NjogMjA0NyA8PCAxNyA9PT0gMjY4MzA0Mzg0LiBBY3R1YWw6ICcgKyAoMjA0NyA8PCAxNykpOyAKfSAKCgppZiAoNDA5NSA8PCAxNyAhPT0gNTM2NzM5ODQwKSB7IAogICRFUlJPUignIzU1NzogNDA5NSA8PCAxNyA9PT0gNTM2NzM5ODQwLiBBY3R1YWw6ICcgKyAoNDA5NSA8PCAxNykpOyAKfSAKCgppZiAoODE5MSA8PCAxNyAhPT0gMTA3MzYxMDc1MikgeyAKICAkRVJST1IoJyM1NTg6IDgxOTEgPDwgMTcgPT09IDEwNzM2MTA3NTIuIEFjdHVhbDogJyArICg4MTkxIDw8IDE3KSk7IAp9IAoKCmlmICgxNjM4MyA8PCAxNyAhPT0gMjE0NzM1MjU3NikgeyAKICAkRVJST1IoJyM1NTk6IDE2MzgzIDw8IDE3ID09PSAyMTQ3MzUyNTc2LiBBY3R1YWw6ICcgKyAoMTYzODMgPDwgMTcpKTsgCn0gCgoKaWYgKDMyNzY3IDw8IDE3ICE9PSAtMTMxMDcyKSB7IAogICRFUlJPUignIzU2MDogMzI3NjcgPDwgMTcgPT09IC0xMzEwNzIuIEFjdHVhbDogJyArICgzMjc2NyA8PCAxNykpOyAKfSAKCgppZiAoNjU1MzUgPDwgMTcgIT09IC0xMzEwNzIpIHsgCiAgJEVSUk9SKCcjNTYxOiA2NTUzNSA8PCAxNyA9PT0gLTEzMTA3Mi4gQWN0dWFsOiAnICsgKDY1NTM1IDw8IDE3KSk7IAp9IAoKCmlmICgxMzEwNzEgPDwgMTcgIT09IC0xMzEwNzIpIHsgCiAgJEVSUk9SKCcjNTYyOiAxMzEwNzEgPDwgMTcgPT09IC0xMzEwNzIuIEFjdHVhbDogJyArICgxMzEwNzEgPDwgMTcpKTsgCn0gCgoKaWYgKDI2MjE0MyA8PCAxNyAhPT0gLTEzMTA3MikgeyAKICAkRVJST1IoJyM1NjM6IDI2MjE0MyA8PCAxNyA9PT0gLTEzMTA3Mi4gQWN0dWFsOiAnICsgKDI2MjE0MyA8PCAxNykpOyAKfSAKCgppZiAoNTI0Mjg3IDw8IDE3ICE9PSAtMTMxMDcyKSB7IAogICRFUlJPUignIzU2NDogNTI0Mjg3IDw8IDE3ID09PSAtMTMxMDcyLiBBY3R1YWw6ICcgKyAoNTI0Mjg3IDw8IDE3KSk7IAp9IAoKCmlmICgxMDQ4NTc1IDw8IDE3ICE9PSAtMTMxMDcyKSB7IAogICRFUlJPUignIzU2NTogMTA0ODU3NSA8PCAxNyA9PT0gLTEzMTA3Mi4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPDwgMTcpKTsgCn0gCgoKaWYgKDIwOTcxNTEgPDwgMTcgIT09IC0xMzEwNzIpIHsgCiAgJEVSUk9SKCcjNTY2OiAyMDk3MTUxIDw8IDE3ID09PSAtMTMxMDcyLiBBY3R1YWw6ICcgKyAoMjA5NzE1MSA8PCAxNykpOyAKfSAKCgppZiAoNDE5NDMwMyA8PCAxNyAhPT0gLTEzMTA3MikgeyAKICAkRVJST1IoJyM1Njc6IDQxOTQzMDMgPDwgMTcgPT09IC0xMzEwNzIuIEFjdHVhbDogJyArICg0MTk0MzAzIDw8IDE3KSk7IAp9IAoKCmlmICg4Mzg4NjA3IDw8IDE3ICE9PSAtMTMxMDcyKSB7IAogICRFUlJPUignIzU2ODogODM4ODYwNyA8PCAxNyA9PT0gLTEzMTA3Mi4gQWN0dWFsOiAnICsgKDgzODg2MDcgPDwgMTcpKTsgCn0gCgoKaWYgKDE2Nzc3MjE1IDw8IDE3ICE9PSAtMTMxMDcyKSB7IAogICRFUlJPUignIzU2OTogMTY3NzcyMTUgPDwgMTcgPT09IC0xMzEwNzIuIEFjdHVhbDogJyArICgxNjc3NzIxNSA8PCAxNykpOyAKfSAKCgppZiAoMzM1NTQ0MzEgPDwgMTcgIT09IC0xMzEwNzIpIHsgCiAgJEVSUk9SKCcjNTcwOiAzMzU1NDQzMSA8PCAxNyA9PT0gLTEzMTA3Mi4gQWN0dWFsOiAnICsgKDMzNTU0NDMxIDw8IDE3KSk7IAp9IAoKCmlmICg2NzEwODg2MyA8PCAxNyAhPT0gLTEzMTA3MikgeyAKICAkRVJST1IoJyM1NzE6IDY3MTA4ODYzIDw8IDE3ID09PSAtMTMxMDcyLiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPDwgMTcpKTsgCn0gCgoKaWYgKDEzNDIxNzcyNyA8PCAxNyAhPT0gLTEzMTA3MikgeyAKICAkRVJST1IoJyM1NzI6IDEzNDIxNzcyNyA8PCAxNyA9PT0gLTEzMTA3Mi4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA8PCAxNykpOyAKfSAKCgppZiAoMjY4NDM1NDU1IDw8IDE3ICE9PSAtMTMxMDcyKSB7IAogICRFUlJPUignIzU3MzogMjY4NDM1NDU1IDw8IDE3ID09PSAtMTMxMDcyLiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU1IDw8IDE3KSk7IAp9IAoKCmlmICg1MzY4NzA5MTEgPDwgMTcgIT09IC0xMzEwNzIpIHsgCiAgJEVSUk9SKCcjNTc0OiA1MzY4NzA5MTEgPDwgMTcgPT09IC0xMzEwNzIuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPDwgMTcpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjMgPDwgMTcgIT09IC0xMzEwNzIpIHsgCiAgJEVSUk9SKCcjNTc1OiAxMDczNzQxODIzIDw8IDE3ID09PSAtMTMxMDcyLiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA8PCAxNykpOyAKfSAKCgppZiAoMjE0NzQ4MzY0NyA8PCAxNyAhPT0gLTEzMTA3MikgeyAKICAkRVJST1IoJyM1NzY6IDIxNDc0ODM2NDcgPDwgMTcgPT09IC0xMzEwNzIuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3IDw8IDE3KSk7IAp9IAoKCmlmICgwIDw8IDE4ICE9PSAwKSB7IAogICRFUlJPUignIzU3NzogMCA8PCAxOCA9PT0gMC4gQWN0dWFsOiAnICsgKDAgPDwgMTgpKTsgCn0gCgoKaWYgKDEgPDwgMTggIT09IDI2MjE0NCkgeyAKICAkRVJST1IoJyM1Nzg6IDEgPDwgMTggPT09IDI2MjE0NC4gQWN0dWFsOiAnICsgKDEgPDwgMTgpKTsgCn0gCgoKaWYgKDMgPDwgMTggIT09IDc4NjQzMikgeyAKICAkRVJST1IoJyM1Nzk6IDMgPDwgMTggPT09IDc4NjQzMi4gQWN0dWFsOiAnICsgKDMgPDwgMTgpKTsgCn0gCgoKaWYgKDcgPDwgMTggIT09IDE4MzUwMDgpIHsgCiAgJEVSUk9SKCcjNTgwOiA3IDw8IDE4ID09PSAxODM1MDA4LiBBY3R1YWw6ICcgKyAoNyA8PCAxOCkpOyAKfSAKCgppZiAoMTUgPDwgMTggIT09IDM5MzIxNjApIHsgCiAgJEVSUk9SKCcjNTgxOiAxNSA8PCAxOCA9PT0gMzkzMjE2MC4gQWN0dWFsOiAnICsgKDE1IDw8IDE4KSk7IAp9IAoKCmlmICgzMSA8PCAxOCAhPT0gODEyNjQ2NCkgeyAKICAkRVJST1IoJyM1ODI6IDMxIDw8IDE4ID09PSA4MTI2NDY0LiBBY3R1YWw6ICcgKyAoMzEgPDwgMTgpKTsgCn0gCgoKaWYgKDYzIDw8IDE4ICE9PSAxNjUxNTA3MikgeyAKICAkRVJST1IoJyM1ODM6IDYzIDw8IDE4ID09PSAxNjUxNTA3Mi4gQWN0dWFsOiAnICsgKDYzIDw8IDE4KSk7IAp9IAoKCmlmICgxMjcgPDwgMTggIT09IDMzMjkyMjg4KSB7IAogICRFUlJPUignIzU4NDogMTI3IDw8IDE4ID09PSAzMzI5MjI4OC4gQWN0dWFsOiAnICsgKDEyNyA8PCAxOCkpOyAKfSAKCgppZiAoMjU1IDw8IDE4ICE9PSA2Njg0NjcyMCkgeyAKICAkRVJST1IoJyM1ODU6IDI1NSA8PCAxOCA9PT0gNjY4NDY3MjAuIEFjdHVhbDogJyArICgyNTUgPDwgMTgpKTsgCn0gCgoKaWYgKDUxMSA8PCAxOCAhPT0gMTMzOTU1NTg0KSB7IAogICRFUlJPUignIzU4NjogNTExIDw8IDE4ID09PSAxMzM5NTU1ODQuIEFjdHVhbDogJyArICg1MTEgPDwgMTgpKTsgCn0gCgoKaWYgKDEwMjMgPDwgMTggIT09IDI2ODE3MzMxMikgeyAKICAkRVJST1IoJyM1ODc6IDEwMjMgPDwgMTggPT09IDI2ODE3MzMxMi4gQWN0dWFsOiAnICsgKDEwMjMgPDwgMTgpKTsgCn0gCgoKaWYgKDIwNDcgPDwgMTggIT09IDUzNjYwODc2OCkgeyAKICAkRVJST1IoJyM1ODg6IDIwNDcgPDwgMTggPT09IDUzNjYwODc2OC4gQWN0dWFsOiAnICsgKDIwNDcgPDwgMTgpKTsgCn0gCgoKaWYgKDQwOTUgPDwgMTggIT09IDEwNzM0Nzk2ODApIHsgCiAgJEVSUk9SKCcjNTg5OiA0MDk1IDw8IDE4ID09PSAxMDczNDc5NjgwLiBBY3R1YWw6ICcgKyAoNDA5NSA8PCAxOCkpOyAKfSAKCgppZiAoODE5MSA8PCAxOCAhPT0gMjE0NzIyMTUwNCkgeyAKICAkRVJST1IoJyM1OTA6IDgxOTEgPDwgMTggPT09IDIxNDcyMjE1MDQuIEFjdHVhbDogJyArICg4MTkxIDw8IDE4KSk7IAp9IAoKCmlmICgxNjM4MyA8PCAxOCAhPT0gLTI2MjE0NCkgeyAKICAkRVJST1IoJyM1OTE6IDE2MzgzIDw8IDE4ID09PSAtMjYyMTQ0LiBBY3R1YWw6ICcgKyAoMTYzODMgPDwgMTgpKTsgCn0gCgoKaWYgKDMyNzY3IDw8IDE4ICE9PSAtMjYyMTQ0KSB7IAogICRFUlJPUignIzU5MjogMzI3NjcgPDwgMTggPT09IC0yNjIxNDQuIEFjdHVhbDogJyArICgzMjc2NyA8PCAxOCkpOyAKfSAKCgppZiAoNjU1MzUgPDwgMTggIT09IC0yNjIxNDQpIHsgCiAgJEVSUk9SKCcjNTkzOiA2NTUzNSA8PCAxOCA9PT0gLTI2MjE0NC4gQWN0dWFsOiAnICsgKDY1NTM1IDw8IDE4KSk7IAp9IAoKCmlmICgxMzEwNzEgPDwgMTggIT09IC0yNjIxNDQpIHsgCiAgJEVSUk9SKCcjNTk0OiAxMzEwNzEgPDwgMTggPT09IC0yNjIxNDQuIEFjdHVhbDogJyArICgxMzEwNzEgPDwgMTgpKTsgCn0gCgoKaWYgKDI2MjE0MyA8PCAxOCAhPT0gLTI2MjE0NCkgeyAKICAkRVJST1IoJyM1OTU6IDI2MjE0MyA8PCAxOCA9PT0gLTI2MjE0NC4gQWN0dWFsOiAnICsgKDI2MjE0MyA8PCAxOCkpOyAKfSAKCgppZiAoNTI0Mjg3IDw8IDE4ICE9PSAtMjYyMTQ0KSB7IAogICRFUlJPUignIzU5NjogNTI0Mjg3IDw8IDE4ID09PSAtMjYyMTQ0LiBBY3R1YWw6ICcgKyAoNTI0Mjg3IDw8IDE4KSk7IAp9IAoKCmlmICgxMDQ4NTc1IDw8IDE4ICE9PSAtMjYyMTQ0KSB7IAogICRFUlJPUignIzU5NzogMTA0ODU3NSA8PCAxOCA9PT0gLTI2MjE0NC4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPDwgMTgpKTsgCn0gCgoKaWYgKDIwOTcxNTEgPDwgMTggIT09IC0yNjIxNDQpIHsgCiAgJEVSUk9SKCcjNTk4OiAyMDk3MTUxIDw8IDE4ID09PSAtMjYyMTQ0LiBBY3R1YWw6ICcgKyAoMjA5NzE1MSA8PCAxOCkpOyAKfSAKCgppZiAoNDE5NDMwMyA8PCAxOCAhPT0gLTI2MjE0NCkgeyAKICAkRVJST1IoJyM1OTk6IDQxOTQzMDMgPDwgMTggPT09IC0yNjIxNDQuIEFjdHVhbDogJyArICg0MTk0MzAzIDw8IDE4KSk7IAp9IAoKCmlmICg4Mzg4NjA3IDw8IDE4ICE9PSAtMjYyMTQ0KSB7IAogICRFUlJPUignIzYwMDogODM4ODYwNyA8PCAxOCA9PT0gLTI2MjE0NC4gQWN0dWFsOiAnICsgKDgzODg2MDcgPDwgMTgpKTsgCn0gCgoKaWYgKDE2Nzc3MjE1IDw8IDE4ICE9PSAtMjYyMTQ0KSB7IAogICRFUlJPUignIzYwMTogMTY3NzcyMTUgPDwgMTggPT09IC0yNjIxNDQuIEFjdHVhbDogJyArICgxNjc3NzIxNSA8PCAxOCkpOyAKfSAKCgppZiAoMzM1NTQ0MzEgPDwgMTggIT09IC0yNjIxNDQpIHsgCiAgJEVSUk9SKCcjNjAyOiAzMzU1NDQzMSA8PCAxOCA9PT0gLTI2MjE0NC4gQWN0dWFsOiAnICsgKDMzNTU0NDMxIDw8IDE4KSk7IAp9IAoKCmlmICg2NzEwODg2MyA8PCAxOCAhPT0gLTI2MjE0NCkgeyAKICAkRVJST1IoJyM2MDM6IDY3MTA4ODYzIDw8IDE4ID09PSAtMjYyMTQ0LiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPDwgMTgpKTsgCn0gCgoKaWYgKDEzNDIxNzcyNyA8PCAxOCAhPT0gLTI2MjE0NCkgeyAKICAkRVJST1IoJyM2MDQ6IDEzNDIxNzcyNyA8PCAxOCA9PT0gLTI2MjE0NC4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA8PCAxOCkpOyAKfSAKCgppZiAoMjY4NDM1NDU1IDw8IDE4ICE9PSAtMjYyMTQ0KSB7IAogICRFUlJPUignIzYwNTogMjY4NDM1NDU1IDw8IDE4ID09PSAtMjYyMTQ0LiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU1IDw8IDE4KSk7IAp9IAoKCmlmICg1MzY4NzA5MTEgPDwgMTggIT09IC0yNjIxNDQpIHsgCiAgJEVSUk9SKCcjNjA2OiA1MzY4NzA5MTEgPDwgMTggPT09IC0yNjIxNDQuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPDwgMTgpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjMgPDwgMTggIT09IC0yNjIxNDQpIHsgCiAgJEVSUk9SKCcjNjA3OiAxMDczNzQxODIzIDw8IDE4ID09PSAtMjYyMTQ0LiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA8PCAxOCkpOyAKfSAKCgppZiAoMjE0NzQ4MzY0NyA8PCAxOCAhPT0gLTI2MjE0NCkgeyAKICAkRVJST1IoJyM2MDg6IDIxNDc0ODM2NDcgPDwgMTggPT09IC0yNjIxNDQuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3IDw8IDE4KSk7IAp9IAoKCmlmICgwIDw8IDE5ICE9PSAwKSB7IAogICRFUlJPUignIzYwOTogMCA8PCAxOSA9PT0gMC4gQWN0dWFsOiAnICsgKDAgPDwgMTkpKTsgCn0gCgoKaWYgKDEgPDwgMTkgIT09IDUyNDI4OCkgeyAKICAkRVJST1IoJyM2MTA6IDEgPDwgMTkgPT09IDUyNDI4OC4gQWN0dWFsOiAnICsgKDEgPDwgMTkpKTsgCn0gCgoKaWYgKDMgPDwgMTkgIT09IDE1NzI4NjQpIHsgCiAgJEVSUk9SKCcjNjExOiAzIDw8IDE5ID09PSAxNTcyODY0LiBBY3R1YWw6ICcgKyAoMyA8PCAxOSkpOyAKfSAKCgppZiAoNyA8PCAxOSAhPT0gMzY3MDAxNikgeyAKICAkRVJST1IoJyM2MTI6IDcgPDwgMTkgPT09IDM2NzAwMTYuIEFjdHVhbDogJyArICg3IDw8IDE5KSk7IAp9IAoKCmlmICgxNSA8PCAxOSAhPT0gNzg2NDMyMCkgeyAKICAkRVJST1IoJyM2MTM6IDE1IDw8IDE5ID09PSA3ODY0MzIwLiBBY3R1YWw6ICcgKyAoMTUgPDwgMTkpKTsgCn0gCgoKaWYgKDMxIDw8IDE5ICE9PSAxNjI1MjkyOCkgeyAKICAkRVJST1IoJyM2MTQ6IDMxIDw8IDE5ID09PSAxNjI1MjkyOC4gQWN0dWFsOiAnICsgKDMxIDw8IDE5KSk7IAp9IAoKCmlmICg2MyA8PCAxOSAhPT0gMzMwMzAxNDQpIHsgCiAgJEVSUk9SKCcjNjE1OiA2MyA8PCAxOSA9PT0gMzMwMzAxNDQuIEFjdHVhbDogJyArICg2MyA8PCAxOSkpOyAKfSAKCgppZiAoMTI3IDw8IDE5ICE9PSA2NjU4NDU3NikgeyAKICAkRVJST1IoJyM2MTY6IDEyNyA8PCAxOSA9PT0gNjY1ODQ1NzYuIEFjdHVhbDogJyArICgxMjcgPDwgMTkpKTsgCn0gCgoKaWYgKDI1NSA8PCAxOSAhPT0gMTMzNjkzNDQwKSB7IAogICRFUlJPUignIzYxNzogMjU1IDw8IDE5ID09PSAxMzM2OTM0NDAuIEFjdHVhbDogJyArICgyNTUgPDwgMTkpKTsgCn0gCgoKaWYgKDUxMSA8PCAxOSAhPT0gMjY3OTExMTY4KSB7IAogICRFUlJPUignIzYxODogNTExIDw8IDE5ID09PSAyNjc5MTExNjguIEFjdHVhbDogJyArICg1MTEgPDwgMTkpKTsgCn0gCgoKaWYgKDEwMjMgPDwgMTkgIT09IDUzNjM0NjYyNCkgeyAKICAkRVJST1IoJyM2MTk6IDEwMjMgPDwgMTkgPT09IDUzNjM0NjYyNC4gQWN0dWFsOiAnICsgKDEwMjMgPDwgMTkpKTsgCn0gCgoKaWYgKDIwNDcgPDwgMTkgIT09IDEwNzMyMTc1MzYpIHsgCiAgJEVSUk9SKCcjNjIwOiAyMDQ3IDw8IDE5ID09PSAxMDczMjE3NTM2LiBBY3R1YWw6ICcgKyAoMjA0NyA8PCAxOSkpOyAKfSAKCgppZiAoNDA5NSA8PCAxOSAhPT0gMjE0Njk1OTM2MCkgeyAKICAkRVJST1IoJyM2MjE6IDQwOTUgPDwgMTkgPT09IDIxNDY5NTkzNjAuIEFjdHVhbDogJyArICg0MDk1IDw8IDE5KSk7IAp9IAoKCmlmICg4MTkxIDw8IDE5ICE9PSAtNTI0Mjg4KSB7IAogICRFUlJPUignIzYyMjogODE5MSA8PCAxOSA9PT0gLTUyNDI4OC4gQWN0dWFsOiAnICsgKDgxOTEgPDwgMTkpKTsgCn0gCgoKaWYgKDE2MzgzIDw8IDE5ICE9PSAtNTI0Mjg4KSB7IAogICRFUlJPUignIzYyMzogMTYzODMgPDwgMTkgPT09IC01MjQyODguIEFjdHVhbDogJyArICgxNjM4MyA8PCAxOSkpOyAKfSAKCgppZiAoMzI3NjcgPDwgMTkgIT09IC01MjQyODgpIHsgCiAgJEVSUk9SKCcjNjI0OiAzMjc2NyA8PCAxOSA9PT0gLTUyNDI4OC4gQWN0dWFsOiAnICsgKDMyNzY3IDw8IDE5KSk7IAp9IAoKCmlmICg2NTUzNSA8PCAxOSAhPT0gLTUyNDI4OCkgeyAKICAkRVJST1IoJyM2MjU6IDY1NTM1IDw8IDE5ID09PSAtNTI0Mjg4LiBBY3R1YWw6ICcgKyAoNjU1MzUgPDwgMTkpKTsgCn0gCgoKaWYgKDEzMTA3MSA8PCAxOSAhPT0gLTUyNDI4OCkgeyAKICAkRVJST1IoJyM2MjY6IDEzMTA3MSA8PCAxOSA9PT0gLTUyNDI4OC4gQWN0dWFsOiAnICsgKDEzMTA3MSA8PCAxOSkpOyAKfSAKCgppZiAoMjYyMTQzIDw8IDE5ICE9PSAtNTI0Mjg4KSB7IAogICRFUlJPUignIzYyNzogMjYyMTQzIDw8IDE5ID09PSAtNTI0Mjg4LiBBY3R1YWw6ICcgKyAoMjYyMTQzIDw8IDE5KSk7IAp9IAoKCmlmICg1MjQyODcgPDwgMTkgIT09IC01MjQyODgpIHsgCiAgJEVSUk9SKCcjNjI4OiA1MjQyODcgPDwgMTkgPT09IC01MjQyODguIEFjdHVhbDogJyArICg1MjQyODcgPDwgMTkpKTsgCn0gCgoKaWYgKDEwNDg1NzUgPDwgMTkgIT09IC01MjQyODgpIHsgCiAgJEVSUk9SKCcjNjI5OiAxMDQ4NTc1IDw8IDE5ID09PSAtNTI0Mjg4LiBBY3R1YWw6ICcgKyAoMTA0ODU3NSA8PCAxOSkpOyAKfSAKCgppZiAoMjA5NzE1MSA8PCAxOSAhPT0gLTUyNDI4OCkgeyAKICAkRVJST1IoJyM2MzA6IDIwOTcxNTEgPDwgMTkgPT09IC01MjQyODguIEFjdHVhbDogJyArICgyMDk3MTUxIDw8IDE5KSk7IAp9IAoKCmlmICg0MTk0MzAzIDw8IDE5ICE9PSAtNTI0Mjg4KSB7IAogICRFUlJPUignIzYzMTogNDE5NDMwMyA8PCAxOSA9PT0gLTUyNDI4OC4gQWN0dWFsOiAnICsgKDQxOTQzMDMgPDwgMTkpKTsgCn0gCgoKaWYgKDgzODg2MDcgPDwgMTkgIT09IC01MjQyODgpIHsgCiAgJEVSUk9SKCcjNjMyOiA4Mzg4NjA3IDw8IDE5ID09PSAtNTI0Mjg4LiBBY3R1YWw6ICcgKyAoODM4ODYwNyA8PCAxOSkpOyAKfSAKCgppZiAoMTY3NzcyMTUgPDwgMTkgIT09IC01MjQyODgpIHsgCiAgJEVSUk9SKCcjNjMzOiAxNjc3NzIxNSA8PCAxOSA9PT0gLTUyNDI4OC4gQWN0dWFsOiAnICsgKDE2Nzc3MjE1IDw8IDE5KSk7IAp9IAoKCmlmICgzMzU1NDQzMSA8PCAxOSAhPT0gLTUyNDI4OCkgeyAKICAkRVJST1IoJyM2MzQ6IDMzNTU0NDMxIDw8IDE5ID09PSAtNTI0Mjg4LiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPDwgMTkpKTsgCn0gCgoKaWYgKDY3MTA4ODYzIDw8IDE5ICE9PSAtNTI0Mjg4KSB7IAogICRFUlJPUignIzYzNTogNjcxMDg4NjMgPDwgMTkgPT09IC01MjQyODguIEFjdHVhbDogJyArICg2NzEwODg2MyA8PCAxOSkpOyAKfSAKCgppZiAoMTM0MjE3NzI3IDw8IDE5ICE9PSAtNTI0Mjg4KSB7IAogICRFUlJPUignIzYzNjogMTM0MjE3NzI3IDw8IDE5ID09PSAtNTI0Mjg4LiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI3IDw8IDE5KSk7IAp9IAoKCmlmICgyNjg0MzU0NTUgPDwgMTkgIT09IC01MjQyODgpIHsgCiAgJEVSUk9SKCcjNjM3OiAyNjg0MzU0NTUgPDwgMTkgPT09IC01MjQyODguIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPDwgMTkpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMSA8PCAxOSAhPT0gLTUyNDI4OCkgeyAKICAkRVJST1IoJyM2Mzg6IDUzNjg3MDkxMSA8PCAxOSA9PT0gLTUyNDI4OC4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMSA8PCAxOSkpOyAKfSAKCgppZiAoMTA3Mzc0MTgyMyA8PCAxOSAhPT0gLTUyNDI4OCkgeyAKICAkRVJST1IoJyM2Mzk6IDEwNzM3NDE4MjMgPDwgMTkgPT09IC01MjQyODguIEFjdHVhbDogJyArICgxMDczNzQxODIzIDw8IDE5KSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ3IDw8IDE5ICE9PSAtNTI0Mjg4KSB7IAogICRFUlJPUignIzY0MDogMjE0NzQ4MzY0NyA8PCAxOSA9PT0gLTUyNDI4OC4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPDwgMTkpKTsgCn0gCgoKaWYgKDAgPDwgMjAgIT09IDApIHsgCiAgJEVSUk9SKCcjNjQxOiAwIDw8IDIwID09PSAwLiBBY3R1YWw6ICcgKyAoMCA8PCAyMCkpOyAKfSAKCgppZiAoMSA8PCAyMCAhPT0gMTA0ODU3NikgeyAKICAkRVJST1IoJyM2NDI6IDEgPDwgMjAgPT09IDEwNDg1NzYuIEFjdHVhbDogJyArICgxIDw8IDIwKSk7IAp9IAoKCmlmICgzIDw8IDIwICE9PSAzMTQ1NzI4KSB7IAogICRFUlJPUignIzY0MzogMyA8PCAyMCA9PT0gMzE0NTcyOC4gQWN0dWFsOiAnICsgKDMgPDwgMjApKTsgCn0gCgoKaWYgKDcgPDwgMjAgIT09IDczNDAwMzIpIHsgCiAgJEVSUk9SKCcjNjQ0OiA3IDw8IDIwID09PSA3MzQwMDMyLiBBY3R1YWw6ICcgKyAoNyA8PCAyMCkpOyAKfSAKCgppZiAoMTUgPDwgMjAgIT09IDE1NzI4NjQwKSB7IAogICRFUlJPUignIzY0NTogMTUgPDwgMjAgPT09IDE1NzI4NjQwLiBBY3R1YWw6ICcgKyAoMTUgPDwgMjApKTsgCn0gCgoKaWYgKDMxIDw8IDIwICE9PSAzMjUwNTg1NikgeyAKICAkRVJST1IoJyM2NDY6IDMxIDw8IDIwID09PSAzMjUwNTg1Ni4gQWN0dWFsOiAnICsgKDMxIDw8IDIwKSk7IAp9IAoKCmlmICg2MyA8PCAyMCAhPT0gNjYwNjAyODgpIHsgCiAgJEVSUk9SKCcjNjQ3OiA2MyA8PCAyMCA9PT0gNjYwNjAyODguIEFjdHVhbDogJyArICg2MyA8PCAyMCkpOyAKfSAKCgppZiAoMTI3IDw8IDIwICE9PSAxMzMxNjkxNTIpIHsgCiAgJEVSUk9SKCcjNjQ4OiAxMjcgPDwgMjAgPT09IDEzMzE2OTE1Mi4gQWN0dWFsOiAnICsgKDEyNyA8PCAyMCkpOyAKfSAKCgppZiAoMjU1IDw8IDIwICE9PSAyNjczODY4ODApIHsgCiAgJEVSUk9SKCcjNjQ5OiAyNTUgPDwgMjAgPT09IDI2NzM4Njg4MC4gQWN0dWFsOiAnICsgKDI1NSA8PCAyMCkpOyAKfSAKCgppZiAoNTExIDw8IDIwICE9PSA1MzU4MjIzMzYpIHsgCiAgJEVSUk9SKCcjNjUwOiA1MTEgPDwgMjAgPT09IDUzNTgyMjMzNi4gQWN0dWFsOiAnICsgKDUxMSA8PCAyMCkpOyAKfSAKCgppZiAoMTAyMyA8PCAyMCAhPT0gMTA3MjY5MzI0OCkgeyAKICAkRVJST1IoJyM2NTE6IDEwMjMgPDwgMjAgPT09IDEwNzI2OTMyNDguIEFjdHVhbDogJyArICgxMDIzIDw8IDIwKSk7IAp9IAoKCmlmICgyMDQ3IDw8IDIwICE9PSAyMTQ2NDM1MDcyKSB7IAogICRFUlJPUignIzY1MjogMjA0NyA8PCAyMCA9PT0gMjE0NjQzNTA3Mi4gQWN0dWFsOiAnICsgKDIwNDcgPDwgMjApKTsgCn0gCgoKaWYgKDQwOTUgPDwgMjAgIT09IC0xMDQ4NTc2KSB7IAogICRFUlJPUignIzY1MzogNDA5NSA8PCAyMCA9PT0gLTEwNDg1NzYuIEFjdHVhbDogJyArICg0MDk1IDw8IDIwKSk7IAp9IAoKCmlmICg4MTkxIDw8IDIwICE9PSAtMTA0ODU3NikgeyAKICAkRVJST1IoJyM2NTQ6IDgxOTEgPDwgMjAgPT09IC0xMDQ4NTc2LiBBY3R1YWw6ICcgKyAoODE5MSA8PCAyMCkpOyAKfSAKCgppZiAoMTYzODMgPDwgMjAgIT09IC0xMDQ4NTc2KSB7IAogICRFUlJPUignIzY1NTogMTYzODMgPDwgMjAgPT09IC0xMDQ4NTc2LiBBY3R1YWw6ICcgKyAoMTYzODMgPDwgMjApKTsgCn0gCgoKaWYgKDMyNzY3IDw8IDIwICE9PSAtMTA0ODU3NikgeyAKICAkRVJST1IoJyM2NTY6IDMyNzY3IDw8IDIwID09PSAtMTA0ODU3Ni4gQWN0dWFsOiAnICsgKDMyNzY3IDw8IDIwKSk7IAp9IAoKCmlmICg2NTUzNSA8PCAyMCAhPT0gLTEwNDg1NzYpIHsgCiAgJEVSUk9SKCcjNjU3OiA2NTUzNSA8PCAyMCA9PT0gLTEwNDg1NzYuIEFjdHVhbDogJyArICg2NTUzNSA8PCAyMCkpOyAKfSAKCgppZiAoMTMxMDcxIDw8IDIwICE9PSAtMTA0ODU3NikgeyAKICAkRVJST1IoJyM2NTg6IDEzMTA3MSA8PCAyMCA9PT0gLTEwNDg1NzYuIEFjdHVhbDogJyArICgxMzEwNzEgPDwgMjApKTsgCn0gCgoKaWYgKDI2MjE0MyA8PCAyMCAhPT0gLTEwNDg1NzYpIHsgCiAgJEVSUk9SKCcjNjU5OiAyNjIxNDMgPDwgMjAgPT09IC0xMDQ4NTc2LiBBY3R1YWw6ICcgKyAoMjYyMTQzIDw8IDIwKSk7IAp9IAoKCmlmICg1MjQyODcgPDwgMjAgIT09IC0xMDQ4NTc2KSB7IAogICRFUlJPUignIzY2MDogNTI0Mjg3IDw8IDIwID09PSAtMTA0ODU3Ni4gQWN0dWFsOiAnICsgKDUyNDI4NyA8PCAyMCkpOyAKfSAKCgppZiAoMTA0ODU3NSA8PCAyMCAhPT0gLTEwNDg1NzYpIHsgCiAgJEVSUk9SKCcjNjYxOiAxMDQ4NTc1IDw8IDIwID09PSAtMTA0ODU3Ni4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPDwgMjApKTsgCn0gCgoKaWYgKDIwOTcxNTEgPDwgMjAgIT09IC0xMDQ4NTc2KSB7IAogICRFUlJPUignIzY2MjogMjA5NzE1MSA8PCAyMCA9PT0gLTEwNDg1NzYuIEFjdHVhbDogJyArICgyMDk3MTUxIDw8IDIwKSk7IAp9IAoKCmlmICg0MTk0MzAzIDw8IDIwICE9PSAtMTA0ODU3NikgeyAKICAkRVJST1IoJyM2NjM6IDQxOTQzMDMgPDwgMjAgPT09IC0xMDQ4NTc2LiBBY3R1YWw6ICcgKyAoNDE5NDMwMyA8PCAyMCkpOyAKfSAKCgppZiAoODM4ODYwNyA8PCAyMCAhPT0gLTEwNDg1NzYpIHsgCiAgJEVSUk9SKCcjNjY0OiA4Mzg4NjA3IDw8IDIwID09PSAtMTA0ODU3Ni4gQWN0dWFsOiAnICsgKDgzODg2MDcgPDwgMjApKTsgCn0gCgoKaWYgKDE2Nzc3MjE1IDw8IDIwICE9PSAtMTA0ODU3NikgeyAKICAkRVJST1IoJyM2NjU6IDE2Nzc3MjE1IDw8IDIwID09PSAtMTA0ODU3Ni4gQWN0dWFsOiAnICsgKDE2Nzc3MjE1IDw8IDIwKSk7IAp9IAoKCmlmICgzMzU1NDQzMSA8PCAyMCAhPT0gLTEwNDg1NzYpIHsgCiAgJEVSUk9SKCcjNjY2OiAzMzU1NDQzMSA8PCAyMCA9PT0gLTEwNDg1NzYuIEFjdHVhbDogJyArICgzMzU1NDQzMSA8PCAyMCkpOyAKfSAKCgppZiAoNjcxMDg4NjMgPDwgMjAgIT09IC0xMDQ4NTc2KSB7IAogICRFUlJPUignIzY2NzogNjcxMDg4NjMgPDwgMjAgPT09IC0xMDQ4NTc2LiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPDwgMjApKTsgCn0gCgoKaWYgKDEzNDIxNzcyNyA8PCAyMCAhPT0gLTEwNDg1NzYpIHsgCiAgJEVSUk9SKCcjNjY4OiAxMzQyMTc3MjcgPDwgMjAgPT09IC0xMDQ4NTc2LiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI3IDw8IDIwKSk7IAp9IAoKCmlmICgyNjg0MzU0NTUgPDwgMjAgIT09IC0xMDQ4NTc2KSB7IAogICRFUlJPUignIzY2OTogMjY4NDM1NDU1IDw8IDIwID09PSAtMTA0ODU3Ni4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NSA8PCAyMCkpOyAKfSAKCgppZiAoNTM2ODcwOTExIDw8IDIwICE9PSAtMTA0ODU3NikgeyAKICAkRVJST1IoJyM2NzA6IDUzNjg3MDkxMSA8PCAyMCA9PT0gLTEwNDg1NzYuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPDwgMjApKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjMgPDwgMjAgIT09IC0xMDQ4NTc2KSB7IAogICRFUlJPUignIzY3MTogMTA3Mzc0MTgyMyA8PCAyMCA9PT0gLTEwNDg1NzYuIEFjdHVhbDogJyArICgxMDczNzQxODIzIDw8IDIwKSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ3IDw8IDIwICE9PSAtMTA0ODU3NikgeyAKICAkRVJST1IoJyM2NzI6IDIxNDc0ODM2NDcgPDwgMjAgPT09IC0xMDQ4NTc2LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA8PCAyMCkpOyAKfSAKCgppZiAoMCA8PCAyMSAhPT0gMCkgeyAKICAkRVJST1IoJyM2NzM6IDAgPDwgMjEgPT09IDAuIEFjdHVhbDogJyArICgwIDw8IDIxKSk7IAp9IAoKCmlmICgxIDw8IDIxICE9PSAyMDk3MTUyKSB7IAogICRFUlJPUignIzY3NDogMSA8PCAyMSA9PT0gMjA5NzE1Mi4gQWN0dWFsOiAnICsgKDEgPDwgMjEpKTsgCn0gCgoKaWYgKDMgPDwgMjEgIT09IDYyOTE0NTYpIHsgCiAgJEVSUk9SKCcjNjc1OiAzIDw8IDIxID09PSA2MjkxNDU2LiBBY3R1YWw6ICcgKyAoMyA8PCAyMSkpOyAKfSAKCgppZiAoNyA8PCAyMSAhPT0gMTQ2ODAwNjQpIHsgCiAgJEVSUk9SKCcjNjc2OiA3IDw8IDIxID09PSAxNDY4MDA2NC4gQWN0dWFsOiAnICsgKDcgPDwgMjEpKTsgCn0gCgoKaWYgKDE1IDw8IDIxICE9PSAzMTQ1NzI4MCkgeyAKICAkRVJST1IoJyM2Nzc6IDE1IDw8IDIxID09PSAzMTQ1NzI4MC4gQWN0dWFsOiAnICsgKDE1IDw8IDIxKSk7IAp9IAoKCmlmICgzMSA8PCAyMSAhPT0gNjUwMTE3MTIpIHsgCiAgJEVSUk9SKCcjNjc4OiAzMSA8PCAyMSA9PT0gNjUwMTE3MTIuIEFjdHVhbDogJyArICgzMSA8PCAyMSkpOyAKfSAKCgppZiAoNjMgPDwgMjEgIT09IDEzMjEyMDU3NikgeyAKICAkRVJST1IoJyM2Nzk6IDYzIDw8IDIxID09PSAxMzIxMjA1NzYuIEFjdHVhbDogJyArICg2MyA8PCAyMSkpOyAKfSAKCgppZiAoMTI3IDw8IDIxICE9PSAyNjYzMzgzMDQpIHsgCiAgJEVSUk9SKCcjNjgwOiAxMjcgPDwgMjEgPT09IDI2NjMzODMwNC4gQWN0dWFsOiAnICsgKDEyNyA8PCAyMSkpOyAKfSAKCgppZiAoMjU1IDw8IDIxICE9PSA1MzQ3NzM3NjApIHsgCiAgJEVSUk9SKCcjNjgxOiAyNTUgPDwgMjEgPT09IDUzNDc3Mzc2MC4gQWN0dWFsOiAnICsgKDI1NSA8PCAyMSkpOyAKfSAKCgppZiAoNTExIDw8IDIxICE9PSAxMDcxNjQ0NjcyKSB7IAogICRFUlJPUignIzY4MjogNTExIDw8IDIxID09PSAxMDcxNjQ0NjcyLiBBY3R1YWw6ICcgKyAoNTExIDw8IDIxKSk7IAp9IAoKCmlmICgxMDIzIDw8IDIxICE9PSAyMTQ1Mzg2NDk2KSB7IAogICRFUlJPUignIzY4MzogMTAyMyA8PCAyMSA9PT0gMjE0NTM4NjQ5Ni4gQWN0dWFsOiAnICsgKDEwMjMgPDwgMjEpKTsgCn0gCgoKaWYgKDIwNDcgPDwgMjEgIT09IC0yMDk3MTUyKSB7IAogICRFUlJPUignIzY4NDogMjA0NyA8PCAyMSA9PT0gLTIwOTcxNTIuIEFjdHVhbDogJyArICgyMDQ3IDw8IDIxKSk7IAp9IAoKCmlmICg0MDk1IDw8IDIxICE9PSAtMjA5NzE1MikgeyAKICAkRVJST1IoJyM2ODU6IDQwOTUgPDwgMjEgPT09IC0yMDk3MTUyLiBBY3R1YWw6ICcgKyAoNDA5NSA8PCAyMSkpOyAKfSAKCgppZiAoODE5MSA8PCAyMSAhPT0gLTIwOTcxNTIpIHsgCiAgJEVSUk9SKCcjNjg2OiA4MTkxIDw8IDIxID09PSAtMjA5NzE1Mi4gQWN0dWFsOiAnICsgKDgxOTEgPDwgMjEpKTsgCn0gCgoKaWYgKDE2MzgzIDw8IDIxICE9PSAtMjA5NzE1MikgeyAKICAkRVJST1IoJyM2ODc6IDE2MzgzIDw8IDIxID09PSAtMjA5NzE1Mi4gQWN0dWFsOiAnICsgKDE2MzgzIDw8IDIxKSk7IAp9IAoKCmlmICgzMjc2NyA8PCAyMSAhPT0gLTIwOTcxNTIpIHsgCiAgJEVSUk9SKCcjNjg4OiAzMjc2NyA8PCAyMSA9PT0gLTIwOTcxNTIuIEFjdHVhbDogJyArICgzMjc2NyA8PCAyMSkpOyAKfSAKCgppZiAoNjU1MzUgPDwgMjEgIT09IC0yMDk3MTUyKSB7IAogICRFUlJPUignIzY4OTogNjU1MzUgPDwgMjEgPT09IC0yMDk3MTUyLiBBY3R1YWw6ICcgKyAoNjU1MzUgPDwgMjEpKTsgCn0gCgoKaWYgKDEzMTA3MSA8PCAyMSAhPT0gLTIwOTcxNTIpIHsgCiAgJEVSUk9SKCcjNjkwOiAxMzEwNzEgPDwgMjEgPT09IC0yMDk3MTUyLiBBY3R1YWw6ICcgKyAoMTMxMDcxIDw8IDIxKSk7IAp9IAoKCmlmICgyNjIxNDMgPDwgMjEgIT09IC0yMDk3MTUyKSB7IAogICRFUlJPUignIzY5MTogMjYyMTQzIDw8IDIxID09PSAtMjA5NzE1Mi4gQWN0dWFsOiAnICsgKDI2MjE0MyA8PCAyMSkpOyAKfSAKCgppZiAoNTI0Mjg3IDw8IDIxICE9PSAtMjA5NzE1MikgeyAKICAkRVJST1IoJyM2OTI6IDUyNDI4NyA8PCAyMSA9PT0gLTIwOTcxNTIuIEFjdHVhbDogJyArICg1MjQyODcgPDwgMjEpKTsgCn0gCgoKaWYgKDEwNDg1NzUgPDwgMjEgIT09IC0yMDk3MTUyKSB7IAogICRFUlJPUignIzY5MzogMTA0ODU3NSA8PCAyMSA9PT0gLTIwOTcxNTIuIEFjdHVhbDogJyArICgxMDQ4NTc1IDw8IDIxKSk7IAp9IAoKCmlmICgyMDk3MTUxIDw8IDIxICE9PSAtMjA5NzE1MikgeyAKICAkRVJST1IoJyM2OTQ6IDIwOTcxNTEgPDwgMjEgPT09IC0yMDk3MTUyLiBBY3R1YWw6ICcgKyAoMjA5NzE1MSA8PCAyMSkpOyAKfSAKCgppZiAoNDE5NDMwMyA8PCAyMSAhPT0gLTIwOTcxNTIpIHsgCiAgJEVSUk9SKCcjNjk1OiA0MTk0MzAzIDw8IDIxID09PSAtMjA5NzE1Mi4gQWN0dWFsOiAnICsgKDQxOTQzMDMgPDwgMjEpKTsgCn0gCgoKaWYgKDgzODg2MDcgPDwgMjEgIT09IC0yMDk3MTUyKSB7IAogICRFUlJPUignIzY5NjogODM4ODYwNyA8PCAyMSA9PT0gLTIwOTcxNTIuIEFjdHVhbDogJyArICg4Mzg4NjA3IDw8IDIxKSk7IAp9IAoKCmlmICgxNjc3NzIxNSA8PCAyMSAhPT0gLTIwOTcxNTIpIHsgCiAgJEVSUk9SKCcjNjk3OiAxNjc3NzIxNSA8PCAyMSA9PT0gLTIwOTcxNTIuIEFjdHVhbDogJyArICgxNjc3NzIxNSA8PCAyMSkpOyAKfSAKCgppZiAoMzM1NTQ0MzEgPDwgMjEgIT09IC0yMDk3MTUyKSB7IAogICRFUlJPUignIzY5ODogMzM1NTQ0MzEgPDwgMjEgPT09IC0yMDk3MTUyLiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPDwgMjEpKTsgCn0gCgoKaWYgKDY3MTA4ODYzIDw8IDIxICE9PSAtMjA5NzE1MikgeyAKICAkRVJST1IoJyM2OTk6IDY3MTA4ODYzIDw8IDIxID09PSAtMjA5NzE1Mi4gQWN0dWFsOiAnICsgKDY3MTA4ODYzIDw8IDIxKSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPDwgMjEgIT09IC0yMDk3MTUyKSB7IAogICRFUlJPUignIzcwMDogMTM0MjE3NzI3IDw8IDIxID09PSAtMjA5NzE1Mi4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA8PCAyMSkpOyAKfSAKCgppZiAoMjY4NDM1NDU1IDw8IDIxICE9PSAtMjA5NzE1MikgeyAKICAkRVJST1IoJyM3MDE6IDI2ODQzNTQ1NSA8PCAyMSA9PT0gLTIwOTcxNTIuIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPDwgMjEpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMSA8PCAyMSAhPT0gLTIwOTcxNTIpIHsgCiAgJEVSUk9SKCcjNzAyOiA1MzY4NzA5MTEgPDwgMjEgPT09IC0yMDk3MTUyLiBBY3R1YWw6ICcgKyAoNTM2ODcwOTExIDw8IDIxKSk7IAp9IAoKCmlmICgxMDczNzQxODIzIDw8IDIxICE9PSAtMjA5NzE1MikgeyAKICAkRVJST1IoJyM3MDM6IDEwNzM3NDE4MjMgPDwgMjEgPT09IC0yMDk3MTUyLiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA8PCAyMSkpOyAKfSAKCgppZiAoMjE0NzQ4MzY0NyA8PCAyMSAhPT0gLTIwOTcxNTIpIHsgCiAgJEVSUk9SKCcjNzA0OiAyMTQ3NDgzNjQ3IDw8IDIxID09PSAtMjA5NzE1Mi4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPDwgMjEpKTsgCn0gCgoKaWYgKDAgPDwgMjIgIT09IDApIHsgCiAgJEVSUk9SKCcjNzA1OiAwIDw8IDIyID09PSAwLiBBY3R1YWw6ICcgKyAoMCA8PCAyMikpOyAKfSAKCgppZiAoMSA8PCAyMiAhPT0gNDE5NDMwNCkgeyAKICAkRVJST1IoJyM3MDY6IDEgPDwgMjIgPT09IDQxOTQzMDQuIEFjdHVhbDogJyArICgxIDw8IDIyKSk7IAp9IAoKCmlmICgzIDw8IDIyICE9PSAxMjU4MjkxMikgeyAKICAkRVJST1IoJyM3MDc6IDMgPDwgMjIgPT09IDEyNTgyOTEyLiBBY3R1YWw6ICcgKyAoMyA8PCAyMikpOyAKfSAKCgppZiAoNyA8PCAyMiAhPT0gMjkzNjAxMjgpIHsgCiAgJEVSUk9SKCcjNzA4OiA3IDw8IDIyID09PSAyOTM2MDEyOC4gQWN0dWFsOiAnICsgKDcgPDwgMjIpKTsgCn0gCgoKaWYgKDE1IDw8IDIyICE9PSA2MjkxNDU2MCkgeyAKICAkRVJST1IoJyM3MDk6IDE1IDw8IDIyID09PSA2MjkxNDU2MC4gQWN0dWFsOiAnICsgKDE1IDw8IDIyKSk7IAp9IAoKCmlmICgzMSA8PCAyMiAhPT0gMTMwMDIzNDI0KSB7IAogICRFUlJPUignIzcxMDogMzEgPDwgMjIgPT09IDEzMDAyMzQyNC4gQWN0dWFsOiAnICsgKDMxIDw8IDIyKSk7IAp9IAoKCmlmICg2MyA8PCAyMiAhPT0gMjY0MjQxMTUyKSB7IAogICRFUlJPUignIzcxMTogNjMgPDwgMjIgPT09IDI2NDI0MTE1Mi4gQWN0dWFsOiAnICsgKDYzIDw8IDIyKSk7IAp9IAoKCmlmICgxMjcgPDwgMjIgIT09IDUzMjY3NjYwOCkgeyAKICAkRVJST1IoJyM3MTI6IDEyNyA8PCAyMiA9PT0gNTMyNjc2NjA4LiBBY3R1YWw6ICcgKyAoMTI3IDw8IDIyKSk7IAp9IAoKCmlmICgyNTUgPDwgMjIgIT09IDEwNjk1NDc1MjApIHsgCiAgJEVSUk9SKCcjNzEzOiAyNTUgPDwgMjIgPT09IDEwNjk1NDc1MjAuIEFjdHVhbDogJyArICgyNTUgPDwgMjIpKTsgCn0gCgoKaWYgKDUxMSA8PCAyMiAhPT0gMjE0MzI4OTM0NCkgeyAKICAkRVJST1IoJyM3MTQ6IDUxMSA8PCAyMiA9PT0gMjE0MzI4OTM0NC4gQWN0dWFsOiAnICsgKDUxMSA8PCAyMikpOyAKfSAKCgppZiAoMTAyMyA8PCAyMiAhPT0gLTQxOTQzMDQpIHsgCiAgJEVSUk9SKCcjNzE1OiAxMDIzIDw8IDIyID09PSAtNDE5NDMwNC4gQWN0dWFsOiAnICsgKDEwMjMgPDwgMjIpKTsgCn0gCgoKaWYgKDIwNDcgPDwgMjIgIT09IC00MTk0MzA0KSB7IAogICRFUlJPUignIzcxNjogMjA0NyA8PCAyMiA9PT0gLTQxOTQzMDQuIEFjdHVhbDogJyArICgyMDQ3IDw8IDIyKSk7IAp9IAoKCmlmICg0MDk1IDw8IDIyICE9PSAtNDE5NDMwNCkgeyAKICAkRVJST1IoJyM3MTc6IDQwOTUgPDwgMjIgPT09IC00MTk0MzA0LiBBY3R1YWw6ICcgKyAoNDA5NSA8PCAyMikpOyAKfSAKCgppZiAoODE5MSA8PCAyMiAhPT0gLTQxOTQzMDQpIHsgCiAgJEVSUk9SKCcjNzE4OiA4MTkxIDw8IDIyID09PSAtNDE5NDMwNC4gQWN0dWFsOiAnICsgKDgxOTEgPDwgMjIpKTsgCn0gCgoKaWYgKDE2MzgzIDw8IDIyICE9PSAtNDE5NDMwNCkgeyAKICAkRVJST1IoJyM3MTk6IDE2MzgzIDw8IDIyID09PSAtNDE5NDMwNC4gQWN0dWFsOiAnICsgKDE2MzgzIDw8IDIyKSk7IAp9IAoKCmlmICgzMjc2NyA8PCAyMiAhPT0gLTQxOTQzMDQpIHsgCiAgJEVSUk9SKCcjNzIwOiAzMjc2NyA8PCAyMiA9PT0gLTQxOTQzMDQuIEFjdHVhbDogJyArICgzMjc2NyA8PCAyMikpOyAKfSAKCgppZiAoNjU1MzUgPDwgMjIgIT09IC00MTk0MzA0KSB7IAogICRFUlJPUignIzcyMTogNjU1MzUgPDwgMjIgPT09IC00MTk0MzA0LiBBY3R1YWw6ICcgKyAoNjU1MzUgPDwgMjIpKTsgCn0gCgoKaWYgKDEzMTA3MSA8PCAyMiAhPT0gLTQxOTQzMDQpIHsgCiAgJEVSUk9SKCcjNzIyOiAxMzEwNzEgPDwgMjIgPT09IC00MTk0MzA0LiBBY3R1YWw6ICcgKyAoMTMxMDcxIDw8IDIyKSk7IAp9IAoKCmlmICgyNjIxNDMgPDwgMjIgIT09IC00MTk0MzA0KSB7IAogICRFUlJPUignIzcyMzogMjYyMTQzIDw8IDIyID09PSAtNDE5NDMwNC4gQWN0dWFsOiAnICsgKDI2MjE0MyA8PCAyMikpOyAKfSAKCgppZiAoNTI0Mjg3IDw8IDIyICE9PSAtNDE5NDMwNCkgeyAKICAkRVJST1IoJyM3MjQ6IDUyNDI4NyA8PCAyMiA9PT0gLTQxOTQzMDQuIEFjdHVhbDogJyArICg1MjQyODcgPDwgMjIpKTsgCn0gCgoKaWYgKDEwNDg1NzUgPDwgMjIgIT09IC00MTk0MzA0KSB7IAogICRFUlJPUignIzcyNTogMTA0ODU3NSA8PCAyMiA9PT0gLTQxOTQzMDQuIEFjdHVhbDogJyArICgxMDQ4NTc1IDw8IDIyKSk7IAp9IAoKCmlmICgyMDk3MTUxIDw8IDIyICE9PSAtNDE5NDMwNCkgeyAKICAkRVJST1IoJyM3MjY6IDIwOTcxNTEgPDwgMjIgPT09IC00MTk0MzA0LiBBY3R1YWw6ICcgKyAoMjA5NzE1MSA8PCAyMikpOyAKfSAKCgppZiAoNDE5NDMwMyA8PCAyMiAhPT0gLTQxOTQzMDQpIHsgCiAgJEVSUk9SKCcjNzI3OiA0MTk0MzAzIDw8IDIyID09PSAtNDE5NDMwNC4gQWN0dWFsOiAnICsgKDQxOTQzMDMgPDwgMjIpKTsgCn0gCgoKaWYgKDgzODg2MDcgPDwgMjIgIT09IC00MTk0MzA0KSB7IAogICRFUlJPUignIzcyODogODM4ODYwNyA8PCAyMiA9PT0gLTQxOTQzMDQuIEFjdHVhbDogJyArICg4Mzg4NjA3IDw8IDIyKSk7IAp9IAoKCmlmICgxNjc3NzIxNSA8PCAyMiAhPT0gLTQxOTQzMDQpIHsgCiAgJEVSUk9SKCcjNzI5OiAxNjc3NzIxNSA8PCAyMiA9PT0gLTQxOTQzMDQuIEFjdHVhbDogJyArICgxNjc3NzIxNSA8PCAyMikpOyAKfSAKCgppZiAoMzM1NTQ0MzEgPDwgMjIgIT09IC00MTk0MzA0KSB7IAogICRFUlJPUignIzczMDogMzM1NTQ0MzEgPDwgMjIgPT09IC00MTk0MzA0LiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPDwgMjIpKTsgCn0gCgoKaWYgKDY3MTA4ODYzIDw8IDIyICE9PSAtNDE5NDMwNCkgeyAKICAkRVJST1IoJyM3MzE6IDY3MTA4ODYzIDw8IDIyID09PSAtNDE5NDMwNC4gQWN0dWFsOiAnICsgKDY3MTA4ODYzIDw8IDIyKSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPDwgMjIgIT09IC00MTk0MzA0KSB7IAogICRFUlJPUignIzczMjogMTM0MjE3NzI3IDw8IDIyID09PSAtNDE5NDMwNC4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA8PCAyMikpOyAKfSAKCgppZiAoMjY4NDM1NDU1IDw8IDIyICE9PSAtNDE5NDMwNCkgeyAKICAkRVJST1IoJyM3MzM6IDI2ODQzNTQ1NSA8PCAyMiA9PT0gLTQxOTQzMDQuIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPDwgMjIpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMSA8PCAyMiAhPT0gLTQxOTQzMDQpIHsgCiAgJEVSUk9SKCcjNzM0OiA1MzY4NzA5MTEgPDwgMjIgPT09IC00MTk0MzA0LiBBY3R1YWw6ICcgKyAoNTM2ODcwOTExIDw8IDIyKSk7IAp9IAoKCmlmICgxMDczNzQxODIzIDw8IDIyICE9PSAtNDE5NDMwNCkgeyAKICAkRVJST1IoJyM3MzU6IDEwNzM3NDE4MjMgPDwgMjIgPT09IC00MTk0MzA0LiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA8PCAyMikpOyAKfSAKCgppZiAoMjE0NzQ4MzY0NyA8PCAyMiAhPT0gLTQxOTQzMDQpIHsgCiAgJEVSUk9SKCcjNzM2OiAyMTQ3NDgzNjQ3IDw8IDIyID09PSAtNDE5NDMwNC4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPDwgMjIpKTsgCn0gCgoKaWYgKDAgPDwgMjMgIT09IDApIHsgCiAgJEVSUk9SKCcjNzM3OiAwIDw8IDIzID09PSAwLiBBY3R1YWw6ICcgKyAoMCA8PCAyMykpOyAKfSAKCgppZiAoMSA8PCAyMyAhPT0gODM4ODYwOCkgeyAKICAkRVJST1IoJyM3Mzg6IDEgPDwgMjMgPT09IDgzODg2MDguIEFjdHVhbDogJyArICgxIDw8IDIzKSk7IAp9IAoKCmlmICgzIDw8IDIzICE9PSAyNTE2NTgyNCkgeyAKICAkRVJST1IoJyM3Mzk6IDMgPDwgMjMgPT09IDI1MTY1ODI0LiBBY3R1YWw6ICcgKyAoMyA8PCAyMykpOyAKfSAKCgppZiAoNyA8PCAyMyAhPT0gNTg3MjAyNTYpIHsgCiAgJEVSUk9SKCcjNzQwOiA3IDw8IDIzID09PSA1ODcyMDI1Ni4gQWN0dWFsOiAnICsgKDcgPDwgMjMpKTsgCn0gCgoKaWYgKDE1IDw8IDIzICE9PSAxMjU4MjkxMjApIHsgCiAgJEVSUk9SKCcjNzQxOiAxNSA8PCAyMyA9PT0gMTI1ODI5MTIwLiBBY3R1YWw6ICcgKyAoMTUgPDwgMjMpKTsgCn0gCgoKaWYgKDMxIDw8IDIzICE9PSAyNjAwNDY4NDgpIHsgCiAgJEVSUk9SKCcjNzQyOiAzMSA8PCAyMyA9PT0gMjYwMDQ2ODQ4LiBBY3R1YWw6ICcgKyAoMzEgPDwgMjMpKTsgCn0gCgoKaWYgKDYzIDw8IDIzICE9PSA1Mjg0ODIzMDQpIHsgCiAgJEVSUk9SKCcjNzQzOiA2MyA8PCAyMyA9PT0gNTI4NDgyMzA0LiBBY3R1YWw6ICcgKyAoNjMgPDwgMjMpKTsgCn0gCgoKaWYgKDEyNyA8PCAyMyAhPT0gMTA2NTM1MzIxNikgeyAKICAkRVJST1IoJyM3NDQ6IDEyNyA8PCAyMyA9PT0gMTA2NTM1MzIxNi4gQWN0dWFsOiAnICsgKDEyNyA8PCAyMykpOyAKfSAKCgppZiAoMjU1IDw8IDIzICE9PSAyMTM5MDk1MDQwKSB7IAogICRFUlJPUignIzc0NTogMjU1IDw8IDIzID09PSAyMTM5MDk1MDQwLiBBY3R1YWw6ICcgKyAoMjU1IDw8IDIzKSk7IAp9IAoKCmlmICg1MTEgPDwgMjMgIT09IC04Mzg4NjA4KSB7IAogICRFUlJPUignIzc0NjogNTExIDw8IDIzID09PSAtODM4ODYwOC4gQWN0dWFsOiAnICsgKDUxMSA8PCAyMykpOyAKfSAKCgppZiAoMTAyMyA8PCAyMyAhPT0gLTgzODg2MDgpIHsgCiAgJEVSUk9SKCcjNzQ3OiAxMDIzIDw8IDIzID09PSAtODM4ODYwOC4gQWN0dWFsOiAnICsgKDEwMjMgPDwgMjMpKTsgCn0gCgoKaWYgKDIwNDcgPDwgMjMgIT09IC04Mzg4NjA4KSB7IAogICRFUlJPUignIzc0ODogMjA0NyA8PCAyMyA9PT0gLTgzODg2MDguIEFjdHVhbDogJyArICgyMDQ3IDw8IDIzKSk7IAp9IAoKCmlmICg0MDk1IDw8IDIzICE9PSAtODM4ODYwOCkgeyAKICAkRVJST1IoJyM3NDk6IDQwOTUgPDwgMjMgPT09IC04Mzg4NjA4LiBBY3R1YWw6ICcgKyAoNDA5NSA8PCAyMykpOyAKfSAKCgppZiAoODE5MSA8PCAyMyAhPT0gLTgzODg2MDgpIHsgCiAgJEVSUk9SKCcjNzUwOiA4MTkxIDw8IDIzID09PSAtODM4ODYwOC4gQWN0dWFsOiAnICsgKDgxOTEgPDwgMjMpKTsgCn0gCgoKaWYgKDE2MzgzIDw8IDIzICE9PSAtODM4ODYwOCkgeyAKICAkRVJST1IoJyM3NTE6IDE2MzgzIDw8IDIzID09PSAtODM4ODYwOC4gQWN0dWFsOiAnICsgKDE2MzgzIDw8IDIzKSk7IAp9IAoKCmlmICgzMjc2NyA8PCAyMyAhPT0gLTgzODg2MDgpIHsgCiAgJEVSUk9SKCcjNzUyOiAzMjc2NyA8PCAyMyA9PT0gLTgzODg2MDguIEFjdHVhbDogJyArICgzMjc2NyA8PCAyMykpOyAKfSAKCgppZiAoNjU1MzUgPDwgMjMgIT09IC04Mzg4NjA4KSB7IAogICRFUlJPUignIzc1MzogNjU1MzUgPDwgMjMgPT09IC04Mzg4NjA4LiBBY3R1YWw6ICcgKyAoNjU1MzUgPDwgMjMpKTsgCn0gCgoKaWYgKDEzMTA3MSA8PCAyMyAhPT0gLTgzODg2MDgpIHsgCiAgJEVSUk9SKCcjNzU0OiAxMzEwNzEgPDwgMjMgPT09IC04Mzg4NjA4LiBBY3R1YWw6ICcgKyAoMTMxMDcxIDw8IDIzKSk7IAp9IAoKCmlmICgyNjIxNDMgPDwgMjMgIT09IC04Mzg4NjA4KSB7IAogICRFUlJPUignIzc1NTogMjYyMTQzIDw8IDIzID09PSAtODM4ODYwOC4gQWN0dWFsOiAnICsgKDI2MjE0MyA8PCAyMykpOyAKfSAKCgppZiAoNTI0Mjg3IDw8IDIzICE9PSAtODM4ODYwOCkgeyAKICAkRVJST1IoJyM3NTY6IDUyNDI4NyA8PCAyMyA9PT0gLTgzODg2MDguIEFjdHVhbDogJyArICg1MjQyODcgPDwgMjMpKTsgCn0gCgoKaWYgKDEwNDg1NzUgPDwgMjMgIT09IC04Mzg4NjA4KSB7IAogICRFUlJPUignIzc1NzogMTA0ODU3NSA8PCAyMyA9PT0gLTgzODg2MDguIEFjdHVhbDogJyArICgxMDQ4NTc1IDw8IDIzKSk7IAp9IAoKCmlmICgyMDk3MTUxIDw8IDIzICE9PSAtODM4ODYwOCkgeyAKICAkRVJST1IoJyM3NTg6IDIwOTcxNTEgPDwgMjMgPT09IC04Mzg4NjA4LiBBY3R1YWw6ICcgKyAoMjA5NzE1MSA8PCAyMykpOyAKfSAKCgppZiAoNDE5NDMwMyA8PCAyMyAhPT0gLTgzODg2MDgpIHsgCiAgJEVSUk9SKCcjNzU5OiA0MTk0MzAzIDw8IDIzID09PSAtODM4ODYwOC4gQWN0dWFsOiAnICsgKDQxOTQzMDMgPDwgMjMpKTsgCn0gCgoKaWYgKDgzODg2MDcgPDwgMjMgIT09IC04Mzg4NjA4KSB7IAogICRFUlJPUignIzc2MDogODM4ODYwNyA8PCAyMyA9PT0gLTgzODg2MDguIEFjdHVhbDogJyArICg4Mzg4NjA3IDw8IDIzKSk7IAp9IAoKCmlmICgxNjc3NzIxNSA8PCAyMyAhPT0gLTgzODg2MDgpIHsgCiAgJEVSUk9SKCcjNzYxOiAxNjc3NzIxNSA8PCAyMyA9PT0gLTgzODg2MDguIEFjdHVhbDogJyArICgxNjc3NzIxNSA8PCAyMykpOyAKfSAKCgppZiAoMzM1NTQ0MzEgPDwgMjMgIT09IC04Mzg4NjA4KSB7IAogICRFUlJPUignIzc2MjogMzM1NTQ0MzEgPDwgMjMgPT09IC04Mzg4NjA4LiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPDwgMjMpKTsgCn0gCgoKaWYgKDY3MTA4ODYzIDw8IDIzICE9PSAtODM4ODYwOCkgeyAKICAkRVJST1IoJyM3NjM6IDY3MTA4ODYzIDw8IDIzID09PSAtODM4ODYwOC4gQWN0dWFsOiAnICsgKDY3MTA4ODYzIDw8IDIzKSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPDwgMjMgIT09IC04Mzg4NjA4KSB7IAogICRFUlJPUignIzc2NDogMTM0MjE3NzI3IDw8IDIzID09PSAtODM4ODYwOC4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA8PCAyMykpOyAKfSAKCgppZiAoMjY4NDM1NDU1IDw8IDIzICE9PSAtODM4ODYwOCkgeyAKICAkRVJST1IoJyM3NjU6IDI2ODQzNTQ1NSA8PCAyMyA9PT0gLTgzODg2MDguIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPDwgMjMpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMSA8PCAyMyAhPT0gLTgzODg2MDgpIHsgCiAgJEVSUk9SKCcjNzY2OiA1MzY4NzA5MTEgPDwgMjMgPT09IC04Mzg4NjA4LiBBY3R1YWw6ICcgKyAoNTM2ODcwOTExIDw8IDIzKSk7IAp9IAoKCmlmICgxMDczNzQxODIzIDw8IDIzICE9PSAtODM4ODYwOCkgeyAKICAkRVJST1IoJyM3Njc6IDEwNzM3NDE4MjMgPDwgMjMgPT09IC04Mzg4NjA4LiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA8PCAyMykpOyAKfSAKCgppZiAoMjE0NzQ4MzY0NyA8PCAyMyAhPT0gLTgzODg2MDgpIHsgCiAgJEVSUk9SKCcjNzY4OiAyMTQ3NDgzNjQ3IDw8IDIzID09PSAtODM4ODYwOC4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPDwgMjMpKTsgCn0gCgoKaWYgKDAgPDwgMjQgIT09IDApIHsgCiAgJEVSUk9SKCcjNzY5OiAwIDw8IDI0ID09PSAwLiBBY3R1YWw6ICcgKyAoMCA8PCAyNCkpOyAKfSAKCgppZiAoMSA8PCAyNCAhPT0gMTY3NzcyMTYpIHsgCiAgJEVSUk9SKCcjNzcwOiAxIDw8IDI0ID09PSAxNjc3NzIxNi4gQWN0dWFsOiAnICsgKDEgPDwgMjQpKTsgCn0gCgoKaWYgKDMgPDwgMjQgIT09IDUwMzMxNjQ4KSB7IAogICRFUlJPUignIzc3MTogMyA8PCAyNCA9PT0gNTAzMzE2NDguIEFjdHVhbDogJyArICgzIDw8IDI0KSk7IAp9IAoKCmlmICg3IDw8IDI0ICE9PSAxMTc0NDA1MTIpIHsgCiAgJEVSUk9SKCcjNzcyOiA3IDw8IDI0ID09PSAxMTc0NDA1MTIuIEFjdHVhbDogJyArICg3IDw8IDI0KSk7IAp9IAoKCmlmICgxNSA8PCAyNCAhPT0gMjUxNjU4MjQwKSB7IAogICRFUlJPUignIzc3MzogMTUgPDwgMjQgPT09IDI1MTY1ODI0MC4gQWN0dWFsOiAnICsgKDE1IDw8IDI0KSk7IAp9IAoKCmlmICgzMSA8PCAyNCAhPT0gNTIwMDkzNjk2KSB7IAogICRFUlJPUignIzc3NDogMzEgPDwgMjQgPT09IDUyMDA5MzY5Ni4gQWN0dWFsOiAnICsgKDMxIDw8IDI0KSk7IAp9IAoKCmlmICg2MyA8PCAyNCAhPT0gMTA1Njk2NDYwOCkgeyAKICAkRVJST1IoJyM3NzU6IDYzIDw8IDI0ID09PSAxMDU2OTY0NjA4LiBBY3R1YWw6ICcgKyAoNjMgPDwgMjQpKTsgCn0gCgoKaWYgKDEyNyA8PCAyNCAhPT0gMjEzMDcwNjQzMikgeyAKICAkRVJST1IoJyM3NzY6IDEyNyA8PCAyNCA9PT0gMjEzMDcwNjQzMi4gQWN0dWFsOiAnICsgKDEyNyA8PCAyNCkpOyAKfSAKCgppZiAoMjU1IDw8IDI0ICE9PSAtMTY3NzcyMTYpIHsgCiAgJEVSUk9SKCcjNzc3OiAyNTUgPDwgMjQgPT09IC0xNjc3NzIxNi4gQWN0dWFsOiAnICsgKDI1NSA8PCAyNCkpOyAKfSAKCgppZiAoNTExIDw8IDI0ICE9PSAtMTY3NzcyMTYpIHsgCiAgJEVSUk9SKCcjNzc4OiA1MTEgPDwgMjQgPT09IC0xNjc3NzIxNi4gQWN0dWFsOiAnICsgKDUxMSA8PCAyNCkpOyAKfSAKCgppZiAoMTAyMyA8PCAyNCAhPT0gLTE2Nzc3MjE2KSB7IAogICRFUlJPUignIzc3OTogMTAyMyA8PCAyNCA9PT0gLTE2Nzc3MjE2LiBBY3R1YWw6ICcgKyAoMTAyMyA8PCAyNCkpOyAKfSAKCgppZiAoMjA0NyA8PCAyNCAhPT0gLTE2Nzc3MjE2KSB7IAogICRFUlJPUignIzc4MDogMjA0NyA8PCAyNCA9PT0gLTE2Nzc3MjE2LiBBY3R1YWw6ICcgKyAoMjA0NyA8PCAyNCkpOyAKfSAKCgppZiAoNDA5NSA8PCAyNCAhPT0gLTE2Nzc3MjE2KSB7IAogICRFUlJPUignIzc4MTogNDA5NSA8PCAyNCA9PT0gLTE2Nzc3MjE2LiBBY3R1YWw6ICcgKyAoNDA5NSA8PCAyNCkpOyAKfSAKCgppZiAoODE5MSA8PCAyNCAhPT0gLTE2Nzc3MjE2KSB7IAogICRFUlJPUignIzc4MjogODE5MSA8PCAyNCA9PT0gLTE2Nzc3MjE2LiBBY3R1YWw6ICcgKyAoODE5MSA8PCAyNCkpOyAKfSAKCgppZiAoMTYzODMgPDwgMjQgIT09IC0xNjc3NzIxNikgeyAKICAkRVJST1IoJyM3ODM6IDE2MzgzIDw8IDI0ID09PSAtMTY3NzcyMTYuIEFjdHVhbDogJyArICgxNjM4MyA8PCAyNCkpOyAKfSAKCgppZiAoMzI3NjcgPDwgMjQgIT09IC0xNjc3NzIxNikgeyAKICAkRVJST1IoJyM3ODQ6IDMyNzY3IDw8IDI0ID09PSAtMTY3NzcyMTYuIEFjdHVhbDogJyArICgzMjc2NyA8PCAyNCkpOyAKfSAKCgppZiAoNjU1MzUgPDwgMjQgIT09IC0xNjc3NzIxNikgeyAKICAkRVJST1IoJyM3ODU6IDY1NTM1IDw8IDI0ID09PSAtMTY3NzcyMTYuIEFjdHVhbDogJyArICg2NTUzNSA8PCAyNCkpOyAKfSAKCgppZiAoMTMxMDcxIDw8IDI0ICE9PSAtMTY3NzcyMTYpIHsgCiAgJEVSUk9SKCcjNzg2OiAxMzEwNzEgPDwgMjQgPT09IC0xNjc3NzIxNi4gQWN0dWFsOiAnICsgKDEzMTA3MSA8PCAyNCkpOyAKfSAKCgppZiAoMjYyMTQzIDw8IDI0ICE9PSAtMTY3NzcyMTYpIHsgCiAgJEVSUk9SKCcjNzg3OiAyNjIxNDMgPDwgMjQgPT09IC0xNjc3NzIxNi4gQWN0dWFsOiAnICsgKDI2MjE0MyA8PCAyNCkpOyAKfSAKCgppZiAoNTI0Mjg3IDw8IDI0ICE9PSAtMTY3NzcyMTYpIHsgCiAgJEVSUk9SKCcjNzg4OiA1MjQyODcgPDwgMjQgPT09IC0xNjc3NzIxNi4gQWN0dWFsOiAnICsgKDUyNDI4NyA8PCAyNCkpOyAKfSAKCgppZiAoMTA0ODU3NSA8PCAyNCAhPT0gLTE2Nzc3MjE2KSB7IAogICRFUlJPUignIzc4OTogMTA0ODU3NSA8PCAyNCA9PT0gLTE2Nzc3MjE2LiBBY3R1YWw6ICcgKyAoMTA0ODU3NSA8PCAyNCkpOyAKfSAKCgppZiAoMjA5NzE1MSA8PCAyNCAhPT0gLTE2Nzc3MjE2KSB7IAogICRFUlJPUignIzc5MDogMjA5NzE1MSA8PCAyNCA9PT0gLTE2Nzc3MjE2LiBBY3R1YWw6ICcgKyAoMjA5NzE1MSA8PCAyNCkpOyAKfSAKCgppZiAoNDE5NDMwMyA8PCAyNCAhPT0gLTE2Nzc3MjE2KSB7IAogICRFUlJPUignIzc5MTogNDE5NDMwMyA8PCAyNCA9PT0gLTE2Nzc3MjE2LiBBY3R1YWw6ICcgKyAoNDE5NDMwMyA8PCAyNCkpOyAKfSAKCgppZiAoODM4ODYwNyA8PCAyNCAhPT0gLTE2Nzc3MjE2KSB7IAogICRFUlJPUignIzc5MjogODM4ODYwNyA8PCAyNCA9PT0gLTE2Nzc3MjE2LiBBY3R1YWw6ICcgKyAoODM4ODYwNyA8PCAyNCkpOyAKfSAKCgppZiAoMTY3NzcyMTUgPDwgMjQgIT09IC0xNjc3NzIxNikgeyAKICAkRVJST1IoJyM3OTM6IDE2Nzc3MjE1IDw8IDI0ID09PSAtMTY3NzcyMTYuIEFjdHVhbDogJyArICgxNjc3NzIxNSA8PCAyNCkpOyAKfSAKCgppZiAoMzM1NTQ0MzEgPDwgMjQgIT09IC0xNjc3NzIxNikgeyAKICAkRVJST1IoJyM3OTQ6IDMzNTU0NDMxIDw8IDI0ID09PSAtMTY3NzcyMTYuIEFjdHVhbDogJyArICgzMzU1NDQzMSA8PCAyNCkpOyAKfSAKCgppZiAoNjcxMDg4NjMgPDwgMjQgIT09IC0xNjc3NzIxNikgeyAKICAkRVJST1IoJyM3OTU6IDY3MTA4ODYzIDw8IDI0ID09PSAtMTY3NzcyMTYuIEFjdHVhbDogJyArICg2NzEwODg2MyA8PCAyNCkpOyAKfSAKCgppZiAoMTM0MjE3NzI3IDw8IDI0ICE9PSAtMTY3NzcyMTYpIHsgCiAgJEVSUk9SKCcjNzk2OiAxMzQyMTc3MjcgPDwgMjQgPT09IC0xNjc3NzIxNi4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA8PCAyNCkpOyAKfSAKCgppZiAoMjY4NDM1NDU1IDw8IDI0ICE9PSAtMTY3NzcyMTYpIHsgCiAgJEVSUk9SKCcjNzk3OiAyNjg0MzU0NTUgPDwgMjQgPT09IC0xNjc3NzIxNi4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NSA8PCAyNCkpOyAKfSAKCgppZiAoNTM2ODcwOTExIDw8IDI0ICE9PSAtMTY3NzcyMTYpIHsgCiAgJEVSUk9SKCcjNzk4OiA1MzY4NzA5MTEgPDwgMjQgPT09IC0xNjc3NzIxNi4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMSA8PCAyNCkpOyAKfSAKCgppZiAoMTA3Mzc0MTgyMyA8PCAyNCAhPT0gLTE2Nzc3MjE2KSB7IAogICRFUlJPUignIzc5OTogMTA3Mzc0MTgyMyA8PCAyNCA9PT0gLTE2Nzc3MjE2LiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA8PCAyNCkpOyAKfSAKCgppZiAoMjE0NzQ4MzY0NyA8PCAyNCAhPT0gLTE2Nzc3MjE2KSB7IAogICRFUlJPUignIzgwMDogMjE0NzQ4MzY0NyA8PCAyNCA9PT0gLTE2Nzc3MjE2LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA8PCAyNCkpOyAKfSAKCgppZiAoMCA8PCAyNSAhPT0gMCkgeyAKICAkRVJST1IoJyM4MDE6IDAgPDwgMjUgPT09IDAuIEFjdHVhbDogJyArICgwIDw8IDI1KSk7IAp9IAoKCmlmICgxIDw8IDI1ICE9PSAzMzU1NDQzMikgeyAKICAkRVJST1IoJyM4MDI6IDEgPDwgMjUgPT09IDMzNTU0NDMyLiBBY3R1YWw6ICcgKyAoMSA8PCAyNSkpOyAKfSAKCgppZiAoMyA8PCAyNSAhPT0gMTAwNjYzMjk2KSB7IAogICRFUlJPUignIzgwMzogMyA8PCAyNSA9PT0gMTAwNjYzMjk2LiBBY3R1YWw6ICcgKyAoMyA8PCAyNSkpOyAKfSAKCgppZiAoNyA8PCAyNSAhPT0gMjM0ODgxMDI0KSB7IAogICRFUlJPUignIzgwNDogNyA8PCAyNSA9PT0gMjM0ODgxMDI0LiBBY3R1YWw6ICcgKyAoNyA8PCAyNSkpOyAKfSAKCgppZiAoMTUgPDwgMjUgIT09IDUwMzMxNjQ4MCkgeyAKICAkRVJST1IoJyM4MDU6IDE1IDw8IDI1ID09PSA1MDMzMTY0ODAuIEFjdHVhbDogJyArICgxNSA8PCAyNSkpOyAKfSAKCgppZiAoMzEgPDwgMjUgIT09IDEwNDAxODczOTIpIHsgCiAgJEVSUk9SKCcjODA2OiAzMSA8PCAyNSA9PT0gMTA0MDE4NzM5Mi4gQWN0dWFsOiAnICsgKDMxIDw8IDI1KSk7IAp9IAoKCmlmICg2MyA8PCAyNSAhPT0gMjExMzkyOTIxNikgeyAKICAkRVJST1IoJyM4MDc6IDYzIDw8IDI1ID09PSAyMTEzOTI5MjE2LiBBY3R1YWw6ICcgKyAoNjMgPDwgMjUpKTsgCn0gCgoKaWYgKDEyNyA8PCAyNSAhPT0gLTMzNTU0NDMyKSB7IAogICRFUlJPUignIzgwODogMTI3IDw8IDI1ID09PSAtMzM1NTQ0MzIuIEFjdHVhbDogJyArICgxMjcgPDwgMjUpKTsgCn0gCgoKaWYgKDI1NSA8PCAyNSAhPT0gLTMzNTU0NDMyKSB7IAogICRFUlJPUignIzgwOTogMjU1IDw8IDI1ID09PSAtMzM1NTQ0MzIuIEFjdHVhbDogJyArICgyNTUgPDwgMjUpKTsgCn0gCgoKaWYgKDUxMSA8PCAyNSAhPT0gLTMzNTU0NDMyKSB7IAogICRFUlJPUignIzgxMDogNTExIDw8IDI1ID09PSAtMzM1NTQ0MzIuIEFjdHVhbDogJyArICg1MTEgPDwgMjUpKTsgCn0gCgoKaWYgKDEwMjMgPDwgMjUgIT09IC0zMzU1NDQzMikgeyAKICAkRVJST1IoJyM4MTE6IDEwMjMgPDwgMjUgPT09IC0zMzU1NDQzMi4gQWN0dWFsOiAnICsgKDEwMjMgPDwgMjUpKTsgCn0gCgoKaWYgKDIwNDcgPDwgMjUgIT09IC0zMzU1NDQzMikgeyAKICAkRVJST1IoJyM4MTI6IDIwNDcgPDwgMjUgPT09IC0zMzU1NDQzMi4gQWN0dWFsOiAnICsgKDIwNDcgPDwgMjUpKTsgCn0gCgoKaWYgKDQwOTUgPDwgMjUgIT09IC0zMzU1NDQzMikgeyAKICAkRVJST1IoJyM4MTM6IDQwOTUgPDwgMjUgPT09IC0zMzU1NDQzMi4gQWN0dWFsOiAnICsgKDQwOTUgPDwgMjUpKTsgCn0gCgoKaWYgKDgxOTEgPDwgMjUgIT09IC0zMzU1NDQzMikgeyAKICAkRVJST1IoJyM4MTQ6IDgxOTEgPDwgMjUgPT09IC0zMzU1NDQzMi4gQWN0dWFsOiAnICsgKDgxOTEgPDwgMjUpKTsgCn0gCgoKaWYgKDE2MzgzIDw8IDI1ICE9PSAtMzM1NTQ0MzIpIHsgCiAgJEVSUk9SKCcjODE1OiAxNjM4MyA8PCAyNSA9PT0gLTMzNTU0NDMyLiBBY3R1YWw6ICcgKyAoMTYzODMgPDwgMjUpKTsgCn0gCgoKaWYgKDMyNzY3IDw8IDI1ICE9PSAtMzM1NTQ0MzIpIHsgCiAgJEVSUk9SKCcjODE2OiAzMjc2NyA8PCAyNSA9PT0gLTMzNTU0NDMyLiBBY3R1YWw6ICcgKyAoMzI3NjcgPDwgMjUpKTsgCn0gCgoKaWYgKDY1NTM1IDw8IDI1ICE9PSAtMzM1NTQ0MzIpIHsgCiAgJEVSUk9SKCcjODE3OiA2NTUzNSA8PCAyNSA9PT0gLTMzNTU0NDMyLiBBY3R1YWw6ICcgKyAoNjU1MzUgPDwgMjUpKTsgCn0gCgoKaWYgKDEzMTA3MSA8PCAyNSAhPT0gLTMzNTU0NDMyKSB7IAogICRFUlJPUignIzgxODogMTMxMDcxIDw8IDI1ID09PSAtMzM1NTQ0MzIuIEFjdHVhbDogJyArICgxMzEwNzEgPDwgMjUpKTsgCn0gCgoKaWYgKDI2MjE0MyA8PCAyNSAhPT0gLTMzNTU0NDMyKSB7IAogICRFUlJPUignIzgxOTogMjYyMTQzIDw8IDI1ID09PSAtMzM1NTQ0MzIuIEFjdHVhbDogJyArICgyNjIxNDMgPDwgMjUpKTsgCn0gCgoKaWYgKDUyNDI4NyA8PCAyNSAhPT0gLTMzNTU0NDMyKSB7IAogICRFUlJPUignIzgyMDogNTI0Mjg3IDw8IDI1ID09PSAtMzM1NTQ0MzIuIEFjdHVhbDogJyArICg1MjQyODcgPDwgMjUpKTsgCn0gCgoKaWYgKDEwNDg1NzUgPDwgMjUgIT09IC0zMzU1NDQzMikgeyAKICAkRVJST1IoJyM4MjE6IDEwNDg1NzUgPDwgMjUgPT09IC0zMzU1NDQzMi4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPDwgMjUpKTsgCn0gCgoKaWYgKDIwOTcxNTEgPDwgMjUgIT09IC0zMzU1NDQzMikgeyAKICAkRVJST1IoJyM4MjI6IDIwOTcxNTEgPDwgMjUgPT09IC0zMzU1NDQzMi4gQWN0dWFsOiAnICsgKDIwOTcxNTEgPDwgMjUpKTsgCn0gCgoKaWYgKDQxOTQzMDMgPDwgMjUgIT09IC0zMzU1NDQzMikgeyAKICAkRVJST1IoJyM4MjM6IDQxOTQzMDMgPDwgMjUgPT09IC0zMzU1NDQzMi4gQWN0dWFsOiAnICsgKDQxOTQzMDMgPDwgMjUpKTsgCn0gCgoKaWYgKDgzODg2MDcgPDwgMjUgIT09IC0zMzU1NDQzMikgeyAKICAkRVJST1IoJyM4MjQ6IDgzODg2MDcgPDwgMjUgPT09IC0zMzU1NDQzMi4gQWN0dWFsOiAnICsgKDgzODg2MDcgPDwgMjUpKTsgCn0gCgoKaWYgKDE2Nzc3MjE1IDw8IDI1ICE9PSAtMzM1NTQ0MzIpIHsgCiAgJEVSUk9SKCcjODI1OiAxNjc3NzIxNSA8PCAyNSA9PT0gLTMzNTU0NDMyLiBBY3R1YWw6ICcgKyAoMTY3NzcyMTUgPDwgMjUpKTsgCn0gCgoKaWYgKDMzNTU0NDMxIDw8IDI1ICE9PSAtMzM1NTQ0MzIpIHsgCiAgJEVSUk9SKCcjODI2OiAzMzU1NDQzMSA8PCAyNSA9PT0gLTMzNTU0NDMyLiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPDwgMjUpKTsgCn0gCgoKaWYgKDY3MTA4ODYzIDw8IDI1ICE9PSAtMzM1NTQ0MzIpIHsgCiAgJEVSUk9SKCcjODI3OiA2NzEwODg2MyA8PCAyNSA9PT0gLTMzNTU0NDMyLiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPDwgMjUpKTsgCn0gCgoKaWYgKDEzNDIxNzcyNyA8PCAyNSAhPT0gLTMzNTU0NDMyKSB7IAogICRFUlJPUignIzgyODogMTM0MjE3NzI3IDw8IDI1ID09PSAtMzM1NTQ0MzIuIEFjdHVhbDogJyArICgxMzQyMTc3MjcgPDwgMjUpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NSA8PCAyNSAhPT0gLTMzNTU0NDMyKSB7IAogICRFUlJPUignIzgyOTogMjY4NDM1NDU1IDw8IDI1ID09PSAtMzM1NTQ0MzIuIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPDwgMjUpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMSA8PCAyNSAhPT0gLTMzNTU0NDMyKSB7IAogICRFUlJPUignIzgzMDogNTM2ODcwOTExIDw8IDI1ID09PSAtMzM1NTQ0MzIuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPDwgMjUpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjMgPDwgMjUgIT09IC0zMzU1NDQzMikgeyAKICAkRVJST1IoJyM4MzE6IDEwNzM3NDE4MjMgPDwgMjUgPT09IC0zMzU1NDQzMi4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjMgPDwgMjUpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDcgPDwgMjUgIT09IC0zMzU1NDQzMikgeyAKICAkRVJST1IoJyM4MzI6IDIxNDc0ODM2NDcgPDwgMjUgPT09IC0zMzU1NDQzMi4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPDwgMjUpKTsgCn0gCgoKaWYgKDAgPDwgMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODMzOiAwIDw8IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoMCA8PCAyNikpOyAKfSAKCgppZiAoMSA8PCAyNiAhPT0gNjcxMDg4NjQpIHsgCiAgJEVSUk9SKCcjODM0OiAxIDw8IDI2ID09PSA2NzEwODg2NC4gQWN0dWFsOiAnICsgKDEgPDwgMjYpKTsgCn0gCgoKaWYgKDMgPDwgMjYgIT09IDIwMTMyNjU5MikgeyAKICAkRVJST1IoJyM4MzU6IDMgPDwgMjYgPT09IDIwMTMyNjU5Mi4gQWN0dWFsOiAnICsgKDMgPDwgMjYpKTsgCn0gCgoKaWYgKDcgPDwgMjYgIT09IDQ2OTc2MjA0OCkgeyAKICAkRVJST1IoJyM4MzY6IDcgPDwgMjYgPT09IDQ2OTc2MjA0OC4gQWN0dWFsOiAnICsgKDcgPDwgMjYpKTsgCn0gCgoKaWYgKDE1IDw8IDI2ICE9PSAxMDA2NjMyOTYwKSB7IAogICRFUlJPUignIzgzNzogMTUgPDwgMjYgPT09IDEwMDY2MzI5NjAuIEFjdHVhbDogJyArICgxNSA8PCAyNikpOyAKfSAKCgppZiAoMzEgPDwgMjYgIT09IDIwODAzNzQ3ODQpIHsgCiAgJEVSUk9SKCcjODM4OiAzMSA8PCAyNiA9PT0gMjA4MDM3NDc4NC4gQWN0dWFsOiAnICsgKDMxIDw8IDI2KSk7IAp9IAoKCmlmICg2MyA8PCAyNiAhPT0gLTY3MTA4ODY0KSB7IAogICRFUlJPUignIzgzOTogNjMgPDwgMjYgPT09IC02NzEwODg2NC4gQWN0dWFsOiAnICsgKDYzIDw8IDI2KSk7IAp9IAoKCmlmICgxMjcgPDwgMjYgIT09IC02NzEwODg2NCkgeyAKICAkRVJST1IoJyM4NDA6IDEyNyA8PCAyNiA9PT0gLTY3MTA4ODY0LiBBY3R1YWw6ICcgKyAoMTI3IDw8IDI2KSk7IAp9IAoKCmlmICgyNTUgPDwgMjYgIT09IC02NzEwODg2NCkgeyAKICAkRVJST1IoJyM4NDE6IDI1NSA8PCAyNiA9PT0gLTY3MTA4ODY0LiBBY3R1YWw6ICcgKyAoMjU1IDw8IDI2KSk7IAp9IAoKCmlmICg1MTEgPDwgMjYgIT09IC02NzEwODg2NCkgeyAKICAkRVJST1IoJyM4NDI6IDUxMSA8PCAyNiA9PT0gLTY3MTA4ODY0LiBBY3R1YWw6ICcgKyAoNTExIDw8IDI2KSk7IAp9IAoKCmlmICgxMDIzIDw8IDI2ICE9PSAtNjcxMDg4NjQpIHsgCiAgJEVSUk9SKCcjODQzOiAxMDIzIDw8IDI2ID09PSAtNjcxMDg4NjQuIEFjdHVhbDogJyArICgxMDIzIDw8IDI2KSk7IAp9IAoKCmlmICgyMDQ3IDw8IDI2ICE9PSAtNjcxMDg4NjQpIHsgCiAgJEVSUk9SKCcjODQ0OiAyMDQ3IDw8IDI2ID09PSAtNjcxMDg4NjQuIEFjdHVhbDogJyArICgyMDQ3IDw8IDI2KSk7IAp9IAoKCmlmICg0MDk1IDw8IDI2ICE9PSAtNjcxMDg4NjQpIHsgCiAgJEVSUk9SKCcjODQ1OiA0MDk1IDw8IDI2ID09PSAtNjcxMDg4NjQuIEFjdHVhbDogJyArICg0MDk1IDw8IDI2KSk7IAp9IAoKCmlmICg4MTkxIDw8IDI2ICE9PSAtNjcxMDg4NjQpIHsgCiAgJEVSUk9SKCcjODQ2OiA4MTkxIDw8IDI2ID09PSAtNjcxMDg4NjQuIEFjdHVhbDogJyArICg4MTkxIDw8IDI2KSk7IAp9IAoKCmlmICgxNjM4MyA8PCAyNiAhPT0gLTY3MTA4ODY0KSB7IAogICRFUlJPUignIzg0NzogMTYzODMgPDwgMjYgPT09IC02NzEwODg2NC4gQWN0dWFsOiAnICsgKDE2MzgzIDw8IDI2KSk7IAp9IAoKCmlmICgzMjc2NyA8PCAyNiAhPT0gLTY3MTA4ODY0KSB7IAogICRFUlJPUignIzg0ODogMzI3NjcgPDwgMjYgPT09IC02NzEwODg2NC4gQWN0dWFsOiAnICsgKDMyNzY3IDw8IDI2KSk7IAp9IAoKCmlmICg2NTUzNSA8PCAyNiAhPT0gLTY3MTA4ODY0KSB7IAogICRFUlJPUignIzg0OTogNjU1MzUgPDwgMjYgPT09IC02NzEwODg2NC4gQWN0dWFsOiAnICsgKDY1NTM1IDw8IDI2KSk7IAp9IAoKCmlmICgxMzEwNzEgPDwgMjYgIT09IC02NzEwODg2NCkgeyAKICAkRVJST1IoJyM4NTA6IDEzMTA3MSA8PCAyNiA9PT0gLTY3MTA4ODY0LiBBY3R1YWw6ICcgKyAoMTMxMDcxIDw8IDI2KSk7IAp9IAoKCmlmICgyNjIxNDMgPDwgMjYgIT09IC02NzEwODg2NCkgeyAKICAkRVJST1IoJyM4NTE6IDI2MjE0MyA8PCAyNiA9PT0gLTY3MTA4ODY0LiBBY3R1YWw6ICcgKyAoMjYyMTQzIDw8IDI2KSk7IAp9IAoKCmlmICg1MjQyODcgPDwgMjYgIT09IC02NzEwODg2NCkgeyAKICAkRVJST1IoJyM4NTI6IDUyNDI4NyA8PCAyNiA9PT0gLTY3MTA4ODY0LiBBY3R1YWw6ICcgKyAoNTI0Mjg3IDw8IDI2KSk7IAp9IAoKCmlmICgxMDQ4NTc1IDw8IDI2ICE9PSAtNjcxMDg4NjQpIHsgCiAgJEVSUk9SKCcjODUzOiAxMDQ4NTc1IDw8IDI2ID09PSAtNjcxMDg4NjQuIEFjdHVhbDogJyArICgxMDQ4NTc1IDw8IDI2KSk7IAp9IAoKCmlmICgyMDk3MTUxIDw8IDI2ICE9PSAtNjcxMDg4NjQpIHsgCiAgJEVSUk9SKCcjODU0OiAyMDk3MTUxIDw8IDI2ID09PSAtNjcxMDg4NjQuIEFjdHVhbDogJyArICgyMDk3MTUxIDw8IDI2KSk7IAp9IAoKCmlmICg0MTk0MzAzIDw8IDI2ICE9PSAtNjcxMDg4NjQpIHsgCiAgJEVSUk9SKCcjODU1OiA0MTk0MzAzIDw8IDI2ID09PSAtNjcxMDg4NjQuIEFjdHVhbDogJyArICg0MTk0MzAzIDw8IDI2KSk7IAp9IAoKCmlmICg4Mzg4NjA3IDw8IDI2ICE9PSAtNjcxMDg4NjQpIHsgCiAgJEVSUk9SKCcjODU2OiA4Mzg4NjA3IDw8IDI2ID09PSAtNjcxMDg4NjQuIEFjdHVhbDogJyArICg4Mzg4NjA3IDw8IDI2KSk7IAp9IAoKCmlmICgxNjc3NzIxNSA8PCAyNiAhPT0gLTY3MTA4ODY0KSB7IAogICRFUlJPUignIzg1NzogMTY3NzcyMTUgPDwgMjYgPT09IC02NzEwODg2NC4gQWN0dWFsOiAnICsgKDE2Nzc3MjE1IDw8IDI2KSk7IAp9IAoKCmlmICgzMzU1NDQzMSA8PCAyNiAhPT0gLTY3MTA4ODY0KSB7IAogICRFUlJPUignIzg1ODogMzM1NTQ0MzEgPDwgMjYgPT09IC02NzEwODg2NC4gQWN0dWFsOiAnICsgKDMzNTU0NDMxIDw8IDI2KSk7IAp9IAoKCmlmICg2NzEwODg2MyA8PCAyNiAhPT0gLTY3MTA4ODY0KSB7IAogICRFUlJPUignIzg1OTogNjcxMDg4NjMgPDwgMjYgPT09IC02NzEwODg2NC4gQWN0dWFsOiAnICsgKDY3MTA4ODYzIDw8IDI2KSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPDwgMjYgIT09IC02NzEwODg2NCkgeyAKICAkRVJST1IoJyM4NjA6IDEzNDIxNzcyNyA8PCAyNiA9PT0gLTY3MTA4ODY0LiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI3IDw8IDI2KSk7IAp9IAoKCmlmICgyNjg0MzU0NTUgPDwgMjYgIT09IC02NzEwODg2NCkgeyAKICAkRVJST1IoJyM4NjE6IDI2ODQzNTQ1NSA8PCAyNiA9PT0gLTY3MTA4ODY0LiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU1IDw8IDI2KSk7IAp9IAoKCmlmICg1MzY4NzA5MTEgPDwgMjYgIT09IC02NzEwODg2NCkgeyAKICAkRVJST1IoJyM4NjI6IDUzNjg3MDkxMSA8PCAyNiA9PT0gLTY3MTA4ODY0LiBBY3R1YWw6ICcgKyAoNTM2ODcwOTExIDw8IDI2KSk7IAp9IAoKCmlmICgxMDczNzQxODIzIDw8IDI2ICE9PSAtNjcxMDg4NjQpIHsgCiAgJEVSUk9SKCcjODYzOiAxMDczNzQxODIzIDw8IDI2ID09PSAtNjcxMDg4NjQuIEFjdHVhbDogJyArICgxMDczNzQxODIzIDw8IDI2KSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ3IDw8IDI2ICE9PSAtNjcxMDg4NjQpIHsgCiAgJEVSUk9SKCcjODY0OiAyMTQ3NDgzNjQ3IDw8IDI2ID09PSAtNjcxMDg4NjQuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3IDw8IDI2KSk7IAp9IAoKCmlmICgwIDw8IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzg2NTogMCA8PCAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKDAgPDwgMjcpKTsgCn0gCgoKaWYgKDEgPDwgMjcgIT09IDEzNDIxNzcyOCkgeyAKICAkRVJST1IoJyM4NjY6IDEgPDwgMjcgPT09IDEzNDIxNzcyOC4gQWN0dWFsOiAnICsgKDEgPDwgMjcpKTsgCn0gCgoKaWYgKDMgPDwgMjcgIT09IDQwMjY1MzE4NCkgeyAKICAkRVJST1IoJyM4Njc6IDMgPDwgMjcgPT09IDQwMjY1MzE4NC4gQWN0dWFsOiAnICsgKDMgPDwgMjcpKTsgCn0gCgoKaWYgKDcgPDwgMjcgIT09IDkzOTUyNDA5NikgeyAKICAkRVJST1IoJyM4Njg6IDcgPDwgMjcgPT09IDkzOTUyNDA5Ni4gQWN0dWFsOiAnICsgKDcgPDwgMjcpKTsgCn0gCgoKaWYgKDE1IDw8IDI3ICE9PSAyMDEzMjY1OTIwKSB7IAogICRFUlJPUignIzg2OTogMTUgPDwgMjcgPT09IDIwMTMyNjU5MjAuIEFjdHVhbDogJyArICgxNSA8PCAyNykpOyAKfSAKCgppZiAoMzEgPDwgMjcgIT09IC0xMzQyMTc3MjgpIHsgCiAgJEVSUk9SKCcjODcwOiAzMSA8PCAyNyA9PT0gLTEzNDIxNzcyOC4gQWN0dWFsOiAnICsgKDMxIDw8IDI3KSk7IAp9IAoKCmlmICg2MyA8PCAyNyAhPT0gLTEzNDIxNzcyOCkgeyAKICAkRVJST1IoJyM4NzE6IDYzIDw8IDI3ID09PSAtMTM0MjE3NzI4LiBBY3R1YWw6ICcgKyAoNjMgPDwgMjcpKTsgCn0gCgoKaWYgKDEyNyA8PCAyNyAhPT0gLTEzNDIxNzcyOCkgeyAKICAkRVJST1IoJyM4NzI6IDEyNyA8PCAyNyA9PT0gLTEzNDIxNzcyOC4gQWN0dWFsOiAnICsgKDEyNyA8PCAyNykpOyAKfSAKCgppZiAoMjU1IDw8IDI3ICE9PSAtMTM0MjE3NzI4KSB7IAogICRFUlJPUignIzg3MzogMjU1IDw8IDI3ID09PSAtMTM0MjE3NzI4LiBBY3R1YWw6ICcgKyAoMjU1IDw8IDI3KSk7IAp9IAoKCmlmICg1MTEgPDwgMjcgIT09IC0xMzQyMTc3MjgpIHsgCiAgJEVSUk9SKCcjODc0OiA1MTEgPDwgMjcgPT09IC0xMzQyMTc3MjguIEFjdHVhbDogJyArICg1MTEgPDwgMjcpKTsgCn0gCgoKaWYgKDEwMjMgPDwgMjcgIT09IC0xMzQyMTc3MjgpIHsgCiAgJEVSUk9SKCcjODc1OiAxMDIzIDw8IDI3ID09PSAtMTM0MjE3NzI4LiBBY3R1YWw6ICcgKyAoMTAyMyA8PCAyNykpOyAKfSAKCgppZiAoMjA0NyA8PCAyNyAhPT0gLTEzNDIxNzcyOCkgeyAKICAkRVJST1IoJyM4NzY6IDIwNDcgPDwgMjcgPT09IC0xMzQyMTc3MjguIEFjdHVhbDogJyArICgyMDQ3IDw8IDI3KSk7IAp9IAoKCmlmICg0MDk1IDw8IDI3ICE9PSAtMTM0MjE3NzI4KSB7IAogICRFUlJPUignIzg3NzogNDA5NSA8PCAyNyA9PT0gLTEzNDIxNzcyOC4gQWN0dWFsOiAnICsgKDQwOTUgPDwgMjcpKTsgCn0gCgoKaWYgKDgxOTEgPDwgMjcgIT09IC0xMzQyMTc3MjgpIHsgCiAgJEVSUk9SKCcjODc4OiA4MTkxIDw8IDI3ID09PSAtMTM0MjE3NzI4LiBBY3R1YWw6ICcgKyAoODE5MSA8PCAyNykpOyAKfSAKCgppZiAoMTYzODMgPDwgMjcgIT09IC0xMzQyMTc3MjgpIHsgCiAgJEVSUk9SKCcjODc5OiAxNjM4MyA8PCAyNyA9PT0gLTEzNDIxNzcyOC4gQWN0dWFsOiAnICsgKDE2MzgzIDw8IDI3KSk7IAp9IAoKCmlmICgzMjc2NyA8PCAyNyAhPT0gLTEzNDIxNzcyOCkgeyAKICAkRVJST1IoJyM4ODA6IDMyNzY3IDw8IDI3ID09PSAtMTM0MjE3NzI4LiBBY3R1YWw6ICcgKyAoMzI3NjcgPDwgMjcpKTsgCn0gCgoKaWYgKDY1NTM1IDw8IDI3ICE9PSAtMTM0MjE3NzI4KSB7IAogICRFUlJPUignIzg4MTogNjU1MzUgPDwgMjcgPT09IC0xMzQyMTc3MjguIEFjdHVhbDogJyArICg2NTUzNSA8PCAyNykpOyAKfSAKCgppZiAoMTMxMDcxIDw8IDI3ICE9PSAtMTM0MjE3NzI4KSB7IAogICRFUlJPUignIzg4MjogMTMxMDcxIDw8IDI3ID09PSAtMTM0MjE3NzI4LiBBY3R1YWw6ICcgKyAoMTMxMDcxIDw8IDI3KSk7IAp9IAoKCmlmICgyNjIxNDMgPDwgMjcgIT09IC0xMzQyMTc3MjgpIHsgCiAgJEVSUk9SKCcjODgzOiAyNjIxNDMgPDwgMjcgPT09IC0xMzQyMTc3MjguIEFjdHVhbDogJyArICgyNjIxNDMgPDwgMjcpKTsgCn0gCgoKaWYgKDUyNDI4NyA8PCAyNyAhPT0gLTEzNDIxNzcyOCkgeyAKICAkRVJST1IoJyM4ODQ6IDUyNDI4NyA8PCAyNyA9PT0gLTEzNDIxNzcyOC4gQWN0dWFsOiAnICsgKDUyNDI4NyA8PCAyNykpOyAKfSAKCgppZiAoMTA0ODU3NSA8PCAyNyAhPT0gLTEzNDIxNzcyOCkgeyAKICAkRVJST1IoJyM4ODU6IDEwNDg1NzUgPDwgMjcgPT09IC0xMzQyMTc3MjguIEFjdHVhbDogJyArICgxMDQ4NTc1IDw8IDI3KSk7IAp9IAoKCmlmICgyMDk3MTUxIDw8IDI3ICE9PSAtMTM0MjE3NzI4KSB7IAogICRFUlJPUignIzg4NjogMjA5NzE1MSA8PCAyNyA9PT0gLTEzNDIxNzcyOC4gQWN0dWFsOiAnICsgKDIwOTcxNTEgPDwgMjcpKTsgCn0gCgoKaWYgKDQxOTQzMDMgPDwgMjcgIT09IC0xMzQyMTc3MjgpIHsgCiAgJEVSUk9SKCcjODg3OiA0MTk0MzAzIDw8IDI3ID09PSAtMTM0MjE3NzI4LiBBY3R1YWw6ICcgKyAoNDE5NDMwMyA8PCAyNykpOyAKfSAKCgppZiAoODM4ODYwNyA8PCAyNyAhPT0gLTEzNDIxNzcyOCkgeyAKICAkRVJST1IoJyM4ODg6IDgzODg2MDcgPDwgMjcgPT09IC0xMzQyMTc3MjguIEFjdHVhbDogJyArICg4Mzg4NjA3IDw8IDI3KSk7IAp9IAoKCmlmICgxNjc3NzIxNSA8PCAyNyAhPT0gLTEzNDIxNzcyOCkgeyAKICAkRVJST1IoJyM4ODk6IDE2Nzc3MjE1IDw8IDI3ID09PSAtMTM0MjE3NzI4LiBBY3R1YWw6ICcgKyAoMTY3NzcyMTUgPDwgMjcpKTsgCn0gCgoKaWYgKDMzNTU0NDMxIDw8IDI3ICE9PSAtMTM0MjE3NzI4KSB7IAogICRFUlJPUignIzg5MDogMzM1NTQ0MzEgPDwgMjcgPT09IC0xMzQyMTc3MjguIEFjdHVhbDogJyArICgzMzU1NDQzMSA8PCAyNykpOyAKfSAKCgppZiAoNjcxMDg4NjMgPDwgMjcgIT09IC0xMzQyMTc3MjgpIHsgCiAgJEVSUk9SKCcjODkxOiA2NzEwODg2MyA8PCAyNyA9PT0gLTEzNDIxNzcyOC4gQWN0dWFsOiAnICsgKDY3MTA4ODYzIDw8IDI3KSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPDwgMjcgIT09IC0xMzQyMTc3MjgpIHsgCiAgJEVSUk9SKCcjODkyOiAxMzQyMTc3MjcgPDwgMjcgPT09IC0xMzQyMTc3MjguIEFjdHVhbDogJyArICgxMzQyMTc3MjcgPDwgMjcpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NSA8PCAyNyAhPT0gLTEzNDIxNzcyOCkgeyAKICAkRVJST1IoJyM4OTM6IDI2ODQzNTQ1NSA8PCAyNyA9PT0gLTEzNDIxNzcyOC4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NSA8PCAyNykpOyAKfSAKCgppZiAoNTM2ODcwOTExIDw8IDI3ICE9PSAtMTM0MjE3NzI4KSB7IAogICRFUlJPUignIzg5NDogNTM2ODcwOTExIDw8IDI3ID09PSAtMTM0MjE3NzI4LiBBY3R1YWw6ICcgKyAoNTM2ODcwOTExIDw8IDI3KSk7IAp9IAoKCmlmICgxMDczNzQxODIzIDw8IDI3ICE9PSAtMTM0MjE3NzI4KSB7IAogICRFUlJPUignIzg5NTogMTA3Mzc0MTgyMyA8PCAyNyA9PT0gLTEzNDIxNzcyOC4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjMgPDwgMjcpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDcgPDwgMjcgIT09IC0xMzQyMTc3MjgpIHsgCiAgJEVSUk9SKCcjODk2OiAyMTQ3NDgzNjQ3IDw8IDI3ID09PSAtMTM0MjE3NzI4LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA8PCAyNykpOyAKfSAKCgppZiAoMCA8PCAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM4OTc6IDAgPDwgMjggPT09IDAuIEFjdHVhbDogJyArICgwIDw8IDI4KSk7IAp9IAoKCmlmICgxIDw8IDI4ICE9PSAyNjg0MzU0NTYpIHsgCiAgJEVSUk9SKCcjODk4OiAxIDw8IDI4ID09PSAyNjg0MzU0NTYuIEFjdHVhbDogJyArICgxIDw8IDI4KSk7IAp9IAoKCmlmICgzIDw8IDI4ICE9PSA4MDUzMDYzNjgpIHsgCiAgJEVSUk9SKCcjODk5OiAzIDw8IDI4ID09PSA4MDUzMDYzNjguIEFjdHVhbDogJyArICgzIDw8IDI4KSk7IAp9IAoKCmlmICg3IDw8IDI4ICE9PSAxODc5MDQ4MTkyKSB7IAogICRFUlJPUignIzkwMDogNyA8PCAyOCA9PT0gMTg3OTA0ODE5Mi4gQWN0dWFsOiAnICsgKDcgPDwgMjgpKTsgCn0gCgoKaWYgKDE1IDw8IDI4ICE9PSAtMjY4NDM1NDU2KSB7IAogICRFUlJPUignIzkwMTogMTUgPDwgMjggPT09IC0yNjg0MzU0NTYuIEFjdHVhbDogJyArICgxNSA8PCAyOCkpOyAKfSAKCgppZiAoMzEgPDwgMjggIT09IC0yNjg0MzU0NTYpIHsgCiAgJEVSUk9SKCcjOTAyOiAzMSA8PCAyOCA9PT0gLTI2ODQzNTQ1Ni4gQWN0dWFsOiAnICsgKDMxIDw8IDI4KSk7IAp9IAoKCmlmICg2MyA8PCAyOCAhPT0gLTI2ODQzNTQ1NikgeyAKICAkRVJST1IoJyM5MDM6IDYzIDw8IDI4ID09PSAtMjY4NDM1NDU2LiBBY3R1YWw6ICcgKyAoNjMgPDwgMjgpKTsgCn0gCgoKaWYgKDEyNyA8PCAyOCAhPT0gLTI2ODQzNTQ1NikgeyAKICAkRVJST1IoJyM5MDQ6IDEyNyA8PCAyOCA9PT0gLTI2ODQzNTQ1Ni4gQWN0dWFsOiAnICsgKDEyNyA8PCAyOCkpOyAKfSAKCgppZiAoMjU1IDw8IDI4ICE9PSAtMjY4NDM1NDU2KSB7IAogICRFUlJPUignIzkwNTogMjU1IDw8IDI4ID09PSAtMjY4NDM1NDU2LiBBY3R1YWw6ICcgKyAoMjU1IDw8IDI4KSk7IAp9IAoKCmlmICg1MTEgPDwgMjggIT09IC0yNjg0MzU0NTYpIHsgCiAgJEVSUk9SKCcjOTA2OiA1MTEgPDwgMjggPT09IC0yNjg0MzU0NTYuIEFjdHVhbDogJyArICg1MTEgPDwgMjgpKTsgCn0gCgoKaWYgKDEwMjMgPDwgMjggIT09IC0yNjg0MzU0NTYpIHsgCiAgJEVSUk9SKCcjOTA3OiAxMDIzIDw8IDI4ID09PSAtMjY4NDM1NDU2LiBBY3R1YWw6ICcgKyAoMTAyMyA8PCAyOCkpOyAKfSAKCgppZiAoMjA0NyA8PCAyOCAhPT0gLTI2ODQzNTQ1NikgeyAKICAkRVJST1IoJyM5MDg6IDIwNDcgPDwgMjggPT09IC0yNjg0MzU0NTYuIEFjdHVhbDogJyArICgyMDQ3IDw8IDI4KSk7IAp9IAoKCmlmICg0MDk1IDw8IDI4ICE9PSAtMjY4NDM1NDU2KSB7IAogICRFUlJPUignIzkwOTogNDA5NSA8PCAyOCA9PT0gLTI2ODQzNTQ1Ni4gQWN0dWFsOiAnICsgKDQwOTUgPDwgMjgpKTsgCn0gCgoKaWYgKDgxOTEgPDwgMjggIT09IC0yNjg0MzU0NTYpIHsgCiAgJEVSUk9SKCcjOTEwOiA4MTkxIDw8IDI4ID09PSAtMjY4NDM1NDU2LiBBY3R1YWw6ICcgKyAoODE5MSA8PCAyOCkpOyAKfSAKCgppZiAoMTYzODMgPDwgMjggIT09IC0yNjg0MzU0NTYpIHsgCiAgJEVSUk9SKCcjOTExOiAxNjM4MyA8PCAyOCA9PT0gLTI2ODQzNTQ1Ni4gQWN0dWFsOiAnICsgKDE2MzgzIDw8IDI4KSk7IAp9IAoKCmlmICgzMjc2NyA8PCAyOCAhPT0gLTI2ODQzNTQ1NikgeyAKICAkRVJST1IoJyM5MTI6IDMyNzY3IDw8IDI4ID09PSAtMjY4NDM1NDU2LiBBY3R1YWw6ICcgKyAoMzI3NjcgPDwgMjgpKTsgCn0gCgoKaWYgKDY1NTM1IDw8IDI4ICE9PSAtMjY4NDM1NDU2KSB7IAogICRFUlJPUignIzkxMzogNjU1MzUgPDwgMjggPT09IC0yNjg0MzU0NTYuIEFjdHVhbDogJyArICg2NTUzNSA8PCAyOCkpOyAKfSAKCgppZiAoMTMxMDcxIDw8IDI4ICE9PSAtMjY4NDM1NDU2KSB7IAogICRFUlJPUignIzkxNDogMTMxMDcxIDw8IDI4ID09PSAtMjY4NDM1NDU2LiBBY3R1YWw6ICcgKyAoMTMxMDcxIDw8IDI4KSk7IAp9IAoKCmlmICgyNjIxNDMgPDwgMjggIT09IC0yNjg0MzU0NTYpIHsgCiAgJEVSUk9SKCcjOTE1OiAyNjIxNDMgPDwgMjggPT09IC0yNjg0MzU0NTYuIEFjdHVhbDogJyArICgyNjIxNDMgPDwgMjgpKTsgCn0gCgoKaWYgKDUyNDI4NyA8PCAyOCAhPT0gLTI2ODQzNTQ1NikgeyAKICAkRVJST1IoJyM5MTY6IDUyNDI4NyA8PCAyOCA9PT0gLTI2ODQzNTQ1Ni4gQWN0dWFsOiAnICsgKDUyNDI4NyA8PCAyOCkpOyAKfSAKCgppZiAoMTA0ODU3NSA8PCAyOCAhPT0gLTI2ODQzNTQ1NikgeyAKICAkRVJST1IoJyM5MTc6IDEwNDg1NzUgPDwgMjggPT09IC0yNjg0MzU0NTYuIEFjdHVhbDogJyArICgxMDQ4NTc1IDw8IDI4KSk7IAp9IAoKCmlmICgyMDk3MTUxIDw8IDI4ICE9PSAtMjY4NDM1NDU2KSB7IAogICRFUlJPUignIzkxODogMjA5NzE1MSA8PCAyOCA9PT0gLTI2ODQzNTQ1Ni4gQWN0dWFsOiAnICsgKDIwOTcxNTEgPDwgMjgpKTsgCn0gCgoKaWYgKDQxOTQzMDMgPDwgMjggIT09IC0yNjg0MzU0NTYpIHsgCiAgJEVSUk9SKCcjOTE5OiA0MTk0MzAzIDw8IDI4ID09PSAtMjY4NDM1NDU2LiBBY3R1YWw6ICcgKyAoNDE5NDMwMyA8PCAyOCkpOyAKfSAKCgppZiAoODM4ODYwNyA8PCAyOCAhPT0gLTI2ODQzNTQ1NikgeyAKICAkRVJST1IoJyM5MjA6IDgzODg2MDcgPDwgMjggPT09IC0yNjg0MzU0NTYuIEFjdHVhbDogJyArICg4Mzg4NjA3IDw8IDI4KSk7IAp9IAoKCmlmICgxNjc3NzIxNSA8PCAyOCAhPT0gLTI2ODQzNTQ1NikgeyAKICAkRVJST1IoJyM5MjE6IDE2Nzc3MjE1IDw8IDI4ID09PSAtMjY4NDM1NDU2LiBBY3R1YWw6ICcgKyAoMTY3NzcyMTUgPDwgMjgpKTsgCn0gCgoKaWYgKDMzNTU0NDMxIDw8IDI4ICE9PSAtMjY4NDM1NDU2KSB7IAogICRFUlJPUignIzkyMjogMzM1NTQ0MzEgPDwgMjggPT09IC0yNjg0MzU0NTYuIEFjdHVhbDogJyArICgzMzU1NDQzMSA8PCAyOCkpOyAKfSAKCgppZiAoNjcxMDg4NjMgPDwgMjggIT09IC0yNjg0MzU0NTYpIHsgCiAgJEVSUk9SKCcjOTIzOiA2NzEwODg2MyA8PCAyOCA9PT0gLTI2ODQzNTQ1Ni4gQWN0dWFsOiAnICsgKDY3MTA4ODYzIDw8IDI4KSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPDwgMjggIT09IC0yNjg0MzU0NTYpIHsgCiAgJEVSUk9SKCcjOTI0OiAxMzQyMTc3MjcgPDwgMjggPT09IC0yNjg0MzU0NTYuIEFjdHVhbDogJyArICgxMzQyMTc3MjcgPDwgMjgpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NSA8PCAyOCAhPT0gLTI2ODQzNTQ1NikgeyAKICAkRVJST1IoJyM5MjU6IDI2ODQzNTQ1NSA8PCAyOCA9PT0gLTI2ODQzNTQ1Ni4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NSA8PCAyOCkpOyAKfSAKCgppZiAoNTM2ODcwOTExIDw8IDI4ICE9PSAtMjY4NDM1NDU2KSB7IAogICRFUlJPUignIzkyNjogNTM2ODcwOTExIDw8IDI4ID09PSAtMjY4NDM1NDU2LiBBY3R1YWw6ICcgKyAoNTM2ODcwOTExIDw8IDI4KSk7IAp9IAoKCmlmICgxMDczNzQxODIzIDw8IDI4ICE9PSAtMjY4NDM1NDU2KSB7IAogICRFUlJPUignIzkyNzogMTA3Mzc0MTgyMyA8PCAyOCA9PT0gLTI2ODQzNTQ1Ni4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjMgPDwgMjgpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDcgPDwgMjggIT09IC0yNjg0MzU0NTYpIHsgCiAgJEVSUk9SKCcjOTI4OiAyMTQ3NDgzNjQ3IDw8IDI4ID09PSAtMjY4NDM1NDU2LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA8PCAyOCkpOyAKfSAKCgppZiAoMCA8PCAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5Mjk6IDAgPDwgMjkgPT09IDAuIEFjdHVhbDogJyArICgwIDw8IDI5KSk7IAp9IAoKCmlmICgxIDw8IDI5ICE9PSA1MzY4NzA5MTIpIHsgCiAgJEVSUk9SKCcjOTMwOiAxIDw8IDI5ID09PSA1MzY4NzA5MTIuIEFjdHVhbDogJyArICgxIDw8IDI5KSk7IAp9IAoKCmlmICgzIDw8IDI5ICE9PSAxNjEwNjEyNzM2KSB7IAogICRFUlJPUignIzkzMTogMyA8PCAyOSA9PT0gMTYxMDYxMjczNi4gQWN0dWFsOiAnICsgKDMgPDwgMjkpKTsgCn0gCgoKaWYgKDcgPDwgMjkgIT09IC01MzY4NzA5MTIpIHsgCiAgJEVSUk9SKCcjOTMyOiA3IDw8IDI5ID09PSAtNTM2ODcwOTEyLiBBY3R1YWw6ICcgKyAoNyA8PCAyOSkpOyAKfSAKCgppZiAoMTUgPDwgMjkgIT09IC01MzY4NzA5MTIpIHsgCiAgJEVSUk9SKCcjOTMzOiAxNSA8PCAyOSA9PT0gLTUzNjg3MDkxMi4gQWN0dWFsOiAnICsgKDE1IDw8IDI5KSk7IAp9IAoKCmlmICgzMSA8PCAyOSAhPT0gLTUzNjg3MDkxMikgeyAKICAkRVJST1IoJyM5MzQ6IDMxIDw8IDI5ID09PSAtNTM2ODcwOTEyLiBBY3R1YWw6ICcgKyAoMzEgPDwgMjkpKTsgCn0gCgoKaWYgKDYzIDw8IDI5ICE9PSAtNTM2ODcwOTEyKSB7IAogICRFUlJPUignIzkzNTogNjMgPDwgMjkgPT09IC01MzY4NzA5MTIuIEFjdHVhbDogJyArICg2MyA8PCAyOSkpOyAKfSAKCgppZiAoMTI3IDw8IDI5ICE9PSAtNTM2ODcwOTEyKSB7IAogICRFUlJPUignIzkzNjogMTI3IDw8IDI5ID09PSAtNTM2ODcwOTEyLiBBY3R1YWw6ICcgKyAoMTI3IDw8IDI5KSk7IAp9IAoKCmlmICgyNTUgPDwgMjkgIT09IC01MzY4NzA5MTIpIHsgCiAgJEVSUk9SKCcjOTM3OiAyNTUgPDwgMjkgPT09IC01MzY4NzA5MTIuIEFjdHVhbDogJyArICgyNTUgPDwgMjkpKTsgCn0gCgoKaWYgKDUxMSA8PCAyOSAhPT0gLTUzNjg3MDkxMikgeyAKICAkRVJST1IoJyM5Mzg6IDUxMSA8PCAyOSA9PT0gLTUzNjg3MDkxMi4gQWN0dWFsOiAnICsgKDUxMSA8PCAyOSkpOyAKfSAKCgppZiAoMTAyMyA8PCAyOSAhPT0gLTUzNjg3MDkxMikgeyAKICAkRVJST1IoJyM5Mzk6IDEwMjMgPDwgMjkgPT09IC01MzY4NzA5MTIuIEFjdHVhbDogJyArICgxMDIzIDw8IDI5KSk7IAp9IAoKCmlmICgyMDQ3IDw8IDI5ICE9PSAtNTM2ODcwOTEyKSB7IAogICRFUlJPUignIzk0MDogMjA0NyA8PCAyOSA9PT0gLTUzNjg3MDkxMi4gQWN0dWFsOiAnICsgKDIwNDcgPDwgMjkpKTsgCn0gCgoKaWYgKDQwOTUgPDwgMjkgIT09IC01MzY4NzA5MTIpIHsgCiAgJEVSUk9SKCcjOTQxOiA0MDk1IDw8IDI5ID09PSAtNTM2ODcwOTEyLiBBY3R1YWw6ICcgKyAoNDA5NSA8PCAyOSkpOyAKfSAKCgppZiAoODE5MSA8PCAyOSAhPT0gLTUzNjg3MDkxMikgeyAKICAkRVJST1IoJyM5NDI6IDgxOTEgPDwgMjkgPT09IC01MzY4NzA5MTIuIEFjdHVhbDogJyArICg4MTkxIDw8IDI5KSk7IAp9IAoKCmlmICgxNjM4MyA8PCAyOSAhPT0gLTUzNjg3MDkxMikgeyAKICAkRVJST1IoJyM5NDM6IDE2MzgzIDw8IDI5ID09PSAtNTM2ODcwOTEyLiBBY3R1YWw6ICcgKyAoMTYzODMgPDwgMjkpKTsgCn0gCgoKaWYgKDMyNzY3IDw8IDI5ICE9PSAtNTM2ODcwOTEyKSB7IAogICRFUlJPUignIzk0NDogMzI3NjcgPDwgMjkgPT09IC01MzY4NzA5MTIuIEFjdHVhbDogJyArICgzMjc2NyA8PCAyOSkpOyAKfSAKCgppZiAoNjU1MzUgPDwgMjkgIT09IC01MzY4NzA5MTIpIHsgCiAgJEVSUk9SKCcjOTQ1OiA2NTUzNSA8PCAyOSA9PT0gLTUzNjg3MDkxMi4gQWN0dWFsOiAnICsgKDY1NTM1IDw8IDI5KSk7IAp9IAoKCmlmICgxMzEwNzEgPDwgMjkgIT09IC01MzY4NzA5MTIpIHsgCiAgJEVSUk9SKCcjOTQ2OiAxMzEwNzEgPDwgMjkgPT09IC01MzY4NzA5MTIuIEFjdHVhbDogJyArICgxMzEwNzEgPDwgMjkpKTsgCn0gCgoKaWYgKDI2MjE0MyA8PCAyOSAhPT0gLTUzNjg3MDkxMikgeyAKICAkRVJST1IoJyM5NDc6IDI2MjE0MyA8PCAyOSA9PT0gLTUzNjg3MDkxMi4gQWN0dWFsOiAnICsgKDI2MjE0MyA8PCAyOSkpOyAKfSAKCgppZiAoNTI0Mjg3IDw8IDI5ICE9PSAtNTM2ODcwOTEyKSB7IAogICRFUlJPUignIzk0ODogNTI0Mjg3IDw8IDI5ID09PSAtNTM2ODcwOTEyLiBBY3R1YWw6ICcgKyAoNTI0Mjg3IDw8IDI5KSk7IAp9IAoKCmlmICgxMDQ4NTc1IDw8IDI5ICE9PSAtNTM2ODcwOTEyKSB7IAogICRFUlJPUignIzk0OTogMTA0ODU3NSA8PCAyOSA9PT0gLTUzNjg3MDkxMi4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPDwgMjkpKTsgCn0gCgoKaWYgKDIwOTcxNTEgPDwgMjkgIT09IC01MzY4NzA5MTIpIHsgCiAgJEVSUk9SKCcjOTUwOiAyMDk3MTUxIDw8IDI5ID09PSAtNTM2ODcwOTEyLiBBY3R1YWw6ICcgKyAoMjA5NzE1MSA8PCAyOSkpOyAKfSAKCgppZiAoNDE5NDMwMyA8PCAyOSAhPT0gLTUzNjg3MDkxMikgeyAKICAkRVJST1IoJyM5NTE6IDQxOTQzMDMgPDwgMjkgPT09IC01MzY4NzA5MTIuIEFjdHVhbDogJyArICg0MTk0MzAzIDw8IDI5KSk7IAp9IAoKCmlmICg4Mzg4NjA3IDw8IDI5ICE9PSAtNTM2ODcwOTEyKSB7IAogICRFUlJPUignIzk1MjogODM4ODYwNyA8PCAyOSA9PT0gLTUzNjg3MDkxMi4gQWN0dWFsOiAnICsgKDgzODg2MDcgPDwgMjkpKTsgCn0gCgoKaWYgKDE2Nzc3MjE1IDw8IDI5ICE9PSAtNTM2ODcwOTEyKSB7IAogICRFUlJPUignIzk1MzogMTY3NzcyMTUgPDwgMjkgPT09IC01MzY4NzA5MTIuIEFjdHVhbDogJyArICgxNjc3NzIxNSA8PCAyOSkpOyAKfSAKCgppZiAoMzM1NTQ0MzEgPDwgMjkgIT09IC01MzY4NzA5MTIpIHsgCiAgJEVSUk9SKCcjOTU0OiAzMzU1NDQzMSA8PCAyOSA9PT0gLTUzNjg3MDkxMi4gQWN0dWFsOiAnICsgKDMzNTU0NDMxIDw8IDI5KSk7IAp9IAoKCmlmICg2NzEwODg2MyA8PCAyOSAhPT0gLTUzNjg3MDkxMikgeyAKICAkRVJST1IoJyM5NTU6IDY3MTA4ODYzIDw8IDI5ID09PSAtNTM2ODcwOTEyLiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPDwgMjkpKTsgCn0gCgoKaWYgKDEzNDIxNzcyNyA8PCAyOSAhPT0gLTUzNjg3MDkxMikgeyAKICAkRVJST1IoJyM5NTY6IDEzNDIxNzcyNyA8PCAyOSA9PT0gLTUzNjg3MDkxMi4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA8PCAyOSkpOyAKfSAKCgppZiAoMjY4NDM1NDU1IDw8IDI5ICE9PSAtNTM2ODcwOTEyKSB7IAogICRFUlJPUignIzk1NzogMjY4NDM1NDU1IDw8IDI5ID09PSAtNTM2ODcwOTEyLiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU1IDw8IDI5KSk7IAp9IAoKCmlmICg1MzY4NzA5MTEgPDwgMjkgIT09IC01MzY4NzA5MTIpIHsgCiAgJEVSUk9SKCcjOTU4OiA1MzY4NzA5MTEgPDwgMjkgPT09IC01MzY4NzA5MTIuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPDwgMjkpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjMgPDwgMjkgIT09IC01MzY4NzA5MTIpIHsgCiAgJEVSUk9SKCcjOTU5OiAxMDczNzQxODIzIDw8IDI5ID09PSAtNTM2ODcwOTEyLiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA8PCAyOSkpOyAKfSAKCgppZiAoMjE0NzQ4MzY0NyA8PCAyOSAhPT0gLTUzNjg3MDkxMikgeyAKICAkRVJST1IoJyM5NjA6IDIxNDc0ODM2NDcgPDwgMjkgPT09IC01MzY4NzA5MTIuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3IDw8IDI5KSk7IAp9IAoKCmlmICgwIDw8IDMwICE9PSAwKSB7IAogICRFUlJPUignIzk2MTogMCA8PCAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKDAgPDwgMzApKTsgCn0gCgoKaWYgKDEgPDwgMzAgIT09IDEwNzM3NDE4MjQpIHsgCiAgJEVSUk9SKCcjOTYyOiAxIDw8IDMwID09PSAxMDczNzQxODI0LiBBY3R1YWw6ICcgKyAoMSA8PCAzMCkpOyAKfSAKCgppZiAoMyA8PCAzMCAhPT0gLTEwNzM3NDE4MjQpIHsgCiAgJEVSUk9SKCcjOTYzOiAzIDw8IDMwID09PSAtMTA3Mzc0MTgyNC4gQWN0dWFsOiAnICsgKDMgPDwgMzApKTsgCn0gCgoKaWYgKDcgPDwgMzAgIT09IC0xMDczNzQxODI0KSB7IAogICRFUlJPUignIzk2NDogNyA8PCAzMCA9PT0gLTEwNzM3NDE4MjQuIEFjdHVhbDogJyArICg3IDw8IDMwKSk7IAp9IAoKCmlmICgxNSA8PCAzMCAhPT0gLTEwNzM3NDE4MjQpIHsgCiAgJEVSUk9SKCcjOTY1OiAxNSA8PCAzMCA9PT0gLTEwNzM3NDE4MjQuIEFjdHVhbDogJyArICgxNSA8PCAzMCkpOyAKfSAKCgppZiAoMzEgPDwgMzAgIT09IC0xMDczNzQxODI0KSB7IAogICRFUlJPUignIzk2NjogMzEgPDwgMzAgPT09IC0xMDczNzQxODI0LiBBY3R1YWw6ICcgKyAoMzEgPDwgMzApKTsgCn0gCgoKaWYgKDYzIDw8IDMwICE9PSAtMTA3Mzc0MTgyNCkgeyAKICAkRVJST1IoJyM5Njc6IDYzIDw8IDMwID09PSAtMTA3Mzc0MTgyNC4gQWN0dWFsOiAnICsgKDYzIDw8IDMwKSk7IAp9IAoKCmlmICgxMjcgPDwgMzAgIT09IC0xMDczNzQxODI0KSB7IAogICRFUlJPUignIzk2ODogMTI3IDw8IDMwID09PSAtMTA3Mzc0MTgyNC4gQWN0dWFsOiAnICsgKDEyNyA8PCAzMCkpOyAKfSAKCgppZiAoMjU1IDw8IDMwICE9PSAtMTA3Mzc0MTgyNCkgeyAKICAkRVJST1IoJyM5Njk6IDI1NSA8PCAzMCA9PT0gLTEwNzM3NDE4MjQuIEFjdHVhbDogJyArICgyNTUgPDwgMzApKTsgCn0gCgoKaWYgKDUxMSA8PCAzMCAhPT0gLTEwNzM3NDE4MjQpIHsgCiAgJEVSUk9SKCcjOTcwOiA1MTEgPDwgMzAgPT09IC0xMDczNzQxODI0LiBBY3R1YWw6ICcgKyAoNTExIDw8IDMwKSk7IAp9IAoKCmlmICgxMDIzIDw8IDMwICE9PSAtMTA3Mzc0MTgyNCkgeyAKICAkRVJST1IoJyM5NzE6IDEwMjMgPDwgMzAgPT09IC0xMDczNzQxODI0LiBBY3R1YWw6ICcgKyAoMTAyMyA8PCAzMCkpOyAKfSAKCgppZiAoMjA0NyA8PCAzMCAhPT0gLTEwNzM3NDE4MjQpIHsgCiAgJEVSUk9SKCcjOTcyOiAyMDQ3IDw8IDMwID09PSAtMTA3Mzc0MTgyNC4gQWN0dWFsOiAnICsgKDIwNDcgPDwgMzApKTsgCn0gCgoKaWYgKDQwOTUgPDwgMzAgIT09IC0xMDczNzQxODI0KSB7IAogICRFUlJPUignIzk3MzogNDA5NSA8PCAzMCA9PT0gLTEwNzM3NDE4MjQuIEFjdHVhbDogJyArICg0MDk1IDw8IDMwKSk7IAp9IAoKCmlmICg4MTkxIDw8IDMwICE9PSAtMTA3Mzc0MTgyNCkgeyAKICAkRVJST1IoJyM5NzQ6IDgxOTEgPDwgMzAgPT09IC0xMDczNzQxODI0LiBBY3R1YWw6ICcgKyAoODE5MSA8PCAzMCkpOyAKfSAKCgppZiAoMTYzODMgPDwgMzAgIT09IC0xMDczNzQxODI0KSB7IAogICRFUlJPUignIzk3NTogMTYzODMgPDwgMzAgPT09IC0xMDczNzQxODI0LiBBY3R1YWw6ICcgKyAoMTYzODMgPDwgMzApKTsgCn0gCgoKaWYgKDMyNzY3IDw8IDMwICE9PSAtMTA3Mzc0MTgyNCkgeyAKICAkRVJST1IoJyM5NzY6IDMyNzY3IDw8IDMwID09PSAtMTA3Mzc0MTgyNC4gQWN0dWFsOiAnICsgKDMyNzY3IDw8IDMwKSk7IAp9IAoKCmlmICg2NTUzNSA8PCAzMCAhPT0gLTEwNzM3NDE4MjQpIHsgCiAgJEVSUk9SKCcjOTc3OiA2NTUzNSA8PCAzMCA9PT0gLTEwNzM3NDE4MjQuIEFjdHVhbDogJyArICg2NTUzNSA8PCAzMCkpOyAKfSAKCgppZiAoMTMxMDcxIDw8IDMwICE9PSAtMTA3Mzc0MTgyNCkgeyAKICAkRVJST1IoJyM5Nzg6IDEzMTA3MSA8PCAzMCA9PT0gLTEwNzM3NDE4MjQuIEFjdHVhbDogJyArICgxMzEwNzEgPDwgMzApKTsgCn0gCgoKaWYgKDI2MjE0MyA8PCAzMCAhPT0gLTEwNzM3NDE4MjQpIHsgCiAgJEVSUk9SKCcjOTc5OiAyNjIxNDMgPDwgMzAgPT09IC0xMDczNzQxODI0LiBBY3R1YWw6ICcgKyAoMjYyMTQzIDw8IDMwKSk7IAp9IAoKCmlmICg1MjQyODcgPDwgMzAgIT09IC0xMDczNzQxODI0KSB7IAogICRFUlJPUignIzk4MDogNTI0Mjg3IDw8IDMwID09PSAtMTA3Mzc0MTgyNC4gQWN0dWFsOiAnICsgKDUyNDI4NyA8PCAzMCkpOyAKfSAKCgppZiAoMTA0ODU3NSA8PCAzMCAhPT0gLTEwNzM3NDE4MjQpIHsgCiAgJEVSUk9SKCcjOTgxOiAxMDQ4NTc1IDw8IDMwID09PSAtMTA3Mzc0MTgyNC4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPDwgMzApKTsgCn0gCgoKaWYgKDIwOTcxNTEgPDwgMzAgIT09IC0xMDczNzQxODI0KSB7IAogICRFUlJPUignIzk4MjogMjA5NzE1MSA8PCAzMCA9PT0gLTEwNzM3NDE4MjQuIEFjdHVhbDogJyArICgyMDk3MTUxIDw8IDMwKSk7IAp9IAoKCmlmICg0MTk0MzAzIDw8IDMwICE9PSAtMTA3Mzc0MTgyNCkgeyAKICAkRVJST1IoJyM5ODM6IDQxOTQzMDMgPDwgMzAgPT09IC0xMDczNzQxODI0LiBBY3R1YWw6ICcgKyAoNDE5NDMwMyA8PCAzMCkpOyAKfSAKCgppZiAoODM4ODYwNyA8PCAzMCAhPT0gLTEwNzM3NDE4MjQpIHsgCiAgJEVSUk9SKCcjOTg0OiA4Mzg4NjA3IDw8IDMwID09PSAtMTA3Mzc0MTgyNC4gQWN0dWFsOiAnICsgKDgzODg2MDcgPDwgMzApKTsgCn0gCgoKaWYgKDE2Nzc3MjE1IDw8IDMwICE9PSAtMTA3Mzc0MTgyNCkgeyAKICAkRVJST1IoJyM5ODU6IDE2Nzc3MjE1IDw8IDMwID09PSAtMTA3Mzc0MTgyNC4gQWN0dWFsOiAnICsgKDE2Nzc3MjE1IDw8IDMwKSk7IAp9IAoKCmlmICgzMzU1NDQzMSA8PCAzMCAhPT0gLTEwNzM3NDE4MjQpIHsgCiAgJEVSUk9SKCcjOTg2OiAzMzU1NDQzMSA8PCAzMCA9PT0gLTEwNzM3NDE4MjQuIEFjdHVhbDogJyArICgzMzU1NDQzMSA8PCAzMCkpOyAKfSAKCgppZiAoNjcxMDg4NjMgPDwgMzAgIT09IC0xMDczNzQxODI0KSB7IAogICRFUlJPUignIzk4NzogNjcxMDg4NjMgPDwgMzAgPT09IC0xMDczNzQxODI0LiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPDwgMzApKTsgCn0gCgoKaWYgKDEzNDIxNzcyNyA8PCAzMCAhPT0gLTEwNzM3NDE4MjQpIHsgCiAgJEVSUk9SKCcjOTg4OiAxMzQyMTc3MjcgPDwgMzAgPT09IC0xMDczNzQxODI0LiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI3IDw8IDMwKSk7IAp9IAoKCmlmICgyNjg0MzU0NTUgPDwgMzAgIT09IC0xMDczNzQxODI0KSB7IAogICRFUlJPUignIzk4OTogMjY4NDM1NDU1IDw8IDMwID09PSAtMTA3Mzc0MTgyNC4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NSA8PCAzMCkpOyAKfSAKCgppZiAoNTM2ODcwOTExIDw8IDMwICE9PSAtMTA3Mzc0MTgyNCkgeyAKICAkRVJST1IoJyM5OTA6IDUzNjg3MDkxMSA8PCAzMCA9PT0gLTEwNzM3NDE4MjQuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPDwgMzApKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjMgPDwgMzAgIT09IC0xMDczNzQxODI0KSB7IAogICRFUlJPUignIzk5MTogMTA3Mzc0MTgyMyA8PCAzMCA9PT0gLTEwNzM3NDE4MjQuIEFjdHVhbDogJyArICgxMDczNzQxODIzIDw8IDMwKSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ3IDw8IDMwICE9PSAtMTA3Mzc0MTgyNCkgeyAKICAkRVJST1IoJyM5OTI6IDIxNDc0ODM2NDcgPDwgMzAgPT09IC0xMDczNzQxODI0LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA8PCAzMCkpOyAKfSAKCgppZiAoMCA8PCAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyM5OTM6IDAgPDwgMzEgPT09IDAuIEFjdHVhbDogJyArICgwIDw8IDMxKSk7IAp9IAoKCmlmICgxIDw8IDMxICE9PSAtMjE0NzQ4MzY0OCkgeyAKICAkRVJST1IoJyM5OTQ6IDEgPDwgMzEgPT09IC0yMTQ3NDgzNjQ4LiBBY3R1YWw6ICcgKyAoMSA8PCAzMSkpOyAKfSAKCgppZiAoMyA8PCAzMSAhPT0gLTIxNDc0ODM2NDgpIHsgCiAgJEVSUk9SKCcjOTk1OiAzIDw8IDMxID09PSAtMjE0NzQ4MzY0OC4gQWN0dWFsOiAnICsgKDMgPDwgMzEpKTsgCn0gCgoKaWYgKDcgPDwgMzEgIT09IC0yMTQ3NDgzNjQ4KSB7IAogICRFUlJPUignIzk5NjogNyA8PCAzMSA9PT0gLTIxNDc0ODM2NDguIEFjdHVhbDogJyArICg3IDw8IDMxKSk7IAp9IAoKCmlmICgxNSA8PCAzMSAhPT0gLTIxNDc0ODM2NDgpIHsgCiAgJEVSUk9SKCcjOTk3OiAxNSA8PCAzMSA9PT0gLTIxNDc0ODM2NDguIEFjdHVhbDogJyArICgxNSA8PCAzMSkpOyAKfSAKCgppZiAoMzEgPDwgMzEgIT09IC0yMTQ3NDgzNjQ4KSB7IAogICRFUlJPUignIzk5ODogMzEgPDwgMzEgPT09IC0yMTQ3NDgzNjQ4LiBBY3R1YWw6ICcgKyAoMzEgPDwgMzEpKTsgCn0gCgoKaWYgKDYzIDw8IDMxICE9PSAtMjE0NzQ4MzY0OCkgeyAKICAkRVJST1IoJyM5OTk6IDYzIDw8IDMxID09PSAtMjE0NzQ4MzY0OC4gQWN0dWFsOiAnICsgKDYzIDw8IDMxKSk7IAp9IAoKCmlmICgxMjcgPDwgMzEgIT09IC0yMTQ3NDgzNjQ4KSB7IAogICRFUlJPUignIzEwMDA6IDEyNyA8PCAzMSA9PT0gLTIxNDc0ODM2NDguIEFjdHVhbDogJyArICgxMjcgPDwgMzEpKTsgCn0gCgoKaWYgKDI1NSA8PCAzMSAhPT0gLTIxNDc0ODM2NDgpIHsgCiAgJEVSUk9SKCcjMTAwMTogMjU1IDw8IDMxID09PSAtMjE0NzQ4MzY0OC4gQWN0dWFsOiAnICsgKDI1NSA8PCAzMSkpOyAKfSAKCgppZiAoNTExIDw8IDMxICE9PSAtMjE0NzQ4MzY0OCkgeyAKICAkRVJST1IoJyMxMDAyOiA1MTEgPDwgMzEgPT09IC0yMTQ3NDgzNjQ4LiBBY3R1YWw6ICcgKyAoNTExIDw8IDMxKSk7IAp9IAoKCmlmICgxMDIzIDw8IDMxICE9PSAtMjE0NzQ4MzY0OCkgeyAKICAkRVJST1IoJyMxMDAzOiAxMDIzIDw8IDMxID09PSAtMjE0NzQ4MzY0OC4gQWN0dWFsOiAnICsgKDEwMjMgPDwgMzEpKTsgCn0gCgoKaWYgKDIwNDcgPDwgMzEgIT09IC0yMTQ3NDgzNjQ4KSB7IAogICRFUlJPUignIzEwMDQ6IDIwNDcgPDwgMzEgPT09IC0yMTQ3NDgzNjQ4LiBBY3R1YWw6ICcgKyAoMjA0NyA8PCAzMSkpOyAKfSAKCgppZiAoNDA5NSA8PCAzMSAhPT0gLTIxNDc0ODM2NDgpIHsgCiAgJEVSUk9SKCcjMTAwNTogNDA5NSA8PCAzMSA9PT0gLTIxNDc0ODM2NDguIEFjdHVhbDogJyArICg0MDk1IDw8IDMxKSk7IAp9IAoKCmlmICg4MTkxIDw8IDMxICE9PSAtMjE0NzQ4MzY0OCkgeyAKICAkRVJST1IoJyMxMDA2OiA4MTkxIDw8IDMxID09PSAtMjE0NzQ4MzY0OC4gQWN0dWFsOiAnICsgKDgxOTEgPDwgMzEpKTsgCn0gCgoKaWYgKDE2MzgzIDw8IDMxICE9PSAtMjE0NzQ4MzY0OCkgeyAKICAkRVJST1IoJyMxMDA3OiAxNjM4MyA8PCAzMSA9PT0gLTIxNDc0ODM2NDguIEFjdHVhbDogJyArICgxNjM4MyA8PCAzMSkpOyAKfSAKCgppZiAoMzI3NjcgPDwgMzEgIT09IC0yMTQ3NDgzNjQ4KSB7IAogICRFUlJPUignIzEwMDg6IDMyNzY3IDw8IDMxID09PSAtMjE0NzQ4MzY0OC4gQWN0dWFsOiAnICsgKDMyNzY3IDw8IDMxKSk7IAp9IAoKCmlmICg2NTUzNSA8PCAzMSAhPT0gLTIxNDc0ODM2NDgpIHsgCiAgJEVSUk9SKCcjMTAwOTogNjU1MzUgPDwgMzEgPT09IC0yMTQ3NDgzNjQ4LiBBY3R1YWw6ICcgKyAoNjU1MzUgPDwgMzEpKTsgCn0gCgoKaWYgKDEzMTA3MSA8PCAzMSAhPT0gLTIxNDc0ODM2NDgpIHsgCiAgJEVSUk9SKCcjMTAxMDogMTMxMDcxIDw8IDMxID09PSAtMjE0NzQ4MzY0OC4gQWN0dWFsOiAnICsgKDEzMTA3MSA8PCAzMSkpOyAKfSAKCgppZiAoMjYyMTQzIDw8IDMxICE9PSAtMjE0NzQ4MzY0OCkgeyAKICAkRVJST1IoJyMxMDExOiAyNjIxNDMgPDwgMzEgPT09IC0yMTQ3NDgzNjQ4LiBBY3R1YWw6ICcgKyAoMjYyMTQzIDw8IDMxKSk7IAp9IAoKCmlmICg1MjQyODcgPDwgMzEgIT09IC0yMTQ3NDgzNjQ4KSB7IAogICRFUlJPUignIzEwMTI6IDUyNDI4NyA8PCAzMSA9PT0gLTIxNDc0ODM2NDguIEFjdHVhbDogJyArICg1MjQyODcgPDwgMzEpKTsgCn0gCgoKaWYgKDEwNDg1NzUgPDwgMzEgIT09IC0yMTQ3NDgzNjQ4KSB7IAogICRFUlJPUignIzEwMTM6IDEwNDg1NzUgPDwgMzEgPT09IC0yMTQ3NDgzNjQ4LiBBY3R1YWw6ICcgKyAoMTA0ODU3NSA8PCAzMSkpOyAKfSAKCgppZiAoMjA5NzE1MSA8PCAzMSAhPT0gLTIxNDc0ODM2NDgpIHsgCiAgJEVSUk9SKCcjMTAxNDogMjA5NzE1MSA8PCAzMSA9PT0gLTIxNDc0ODM2NDguIEFjdHVhbDogJyArICgyMDk3MTUxIDw8IDMxKSk7IAp9IAoKCmlmICg0MTk0MzAzIDw8IDMxICE9PSAtMjE0NzQ4MzY0OCkgeyAKICAkRVJST1IoJyMxMDE1OiA0MTk0MzAzIDw8IDMxID09PSAtMjE0NzQ4MzY0OC4gQWN0dWFsOiAnICsgKDQxOTQzMDMgPDwgMzEpKTsgCn0gCgoKaWYgKDgzODg2MDcgPDwgMzEgIT09IC0yMTQ3NDgzNjQ4KSB7IAogICRFUlJPUignIzEwMTY6IDgzODg2MDcgPDwgMzEgPT09IC0yMTQ3NDgzNjQ4LiBBY3R1YWw6ICcgKyAoODM4ODYwNyA8PCAzMSkpOyAKfSAKCgppZiAoMTY3NzcyMTUgPDwgMzEgIT09IC0yMTQ3NDgzNjQ4KSB7IAogICRFUlJPUignIzEwMTc6IDE2Nzc3MjE1IDw8IDMxID09PSAtMjE0NzQ4MzY0OC4gQWN0dWFsOiAnICsgKDE2Nzc3MjE1IDw8IDMxKSk7IAp9IAoKCmlmICgzMzU1NDQzMSA8PCAzMSAhPT0gLTIxNDc0ODM2NDgpIHsgCiAgJEVSUk9SKCcjMTAxODogMzM1NTQ0MzEgPDwgMzEgPT09IC0yMTQ3NDgzNjQ4LiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPDwgMzEpKTsgCn0gCgoKaWYgKDY3MTA4ODYzIDw8IDMxICE9PSAtMjE0NzQ4MzY0OCkgeyAKICAkRVJST1IoJyMxMDE5OiA2NzEwODg2MyA8PCAzMSA9PT0gLTIxNDc0ODM2NDguIEFjdHVhbDogJyArICg2NzEwODg2MyA8PCAzMSkpOyAKfSAKCgppZiAoMTM0MjE3NzI3IDw8IDMxICE9PSAtMjE0NzQ4MzY0OCkgeyAKICAkRVJST1IoJyMxMDIwOiAxMzQyMTc3MjcgPDwgMzEgPT09IC0yMTQ3NDgzNjQ4LiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI3IDw8IDMxKSk7IAp9IAoKCmlmICgyNjg0MzU0NTUgPDwgMzEgIT09IC0yMTQ3NDgzNjQ4KSB7IAogICRFUlJPUignIzEwMjE6IDI2ODQzNTQ1NSA8PCAzMSA9PT0gLTIxNDc0ODM2NDguIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPDwgMzEpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMSA8PCAzMSAhPT0gLTIxNDc0ODM2NDgpIHsgCiAgJEVSUk9SKCcjMTAyMjogNTM2ODcwOTExIDw8IDMxID09PSAtMjE0NzQ4MzY0OC4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMSA8PCAzMSkpOyAKfSAKCgppZiAoMTA3Mzc0MTgyMyA8PCAzMSAhPT0gLTIxNDc0ODM2NDgpIHsgCiAgJEVSUk9SKCcjMTAyMzogMTA3Mzc0MTgyMyA8PCAzMSA9PT0gLTIxNDc0ODM2NDguIEFjdHVhbDogJyArICgxMDczNzQxODIzIDw8IDMxKSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ3IDw8IDMxICE9PSAtMjE0NzQ4MzY0OCkgeyAKICAkRVJST1IoJyMxMDI0OiAyMTQ3NDgzNjQ3IDw8IDMxID09PSAtMjE0NzQ4MzY0OC4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPDwgMzEpKTsgCn0gCgo=",
"commentary":"Check operator x << y in distinct points",
"description":"ShiftExpression = 2^n - 1, n = 16...31",
"path":"TestCases/ch11/11.7/11.7.1/S11.7.1_A4_T4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw8IHkgdXNlcyBUb0ludDMyKFNoaWZ0RXhwcmVzc2lvbikKICoKICogQHBhdGggY2gxMS8xMS43LzExLjcuMS9TMTEuNy4xX0E1LjFfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGJvdW5kYXJ5IHBvaW50cwogKi8KCi8vQ0hFQ0sjMQppZiAoMjE0NzQ4MzY0OC4xIDw8IDAgIT09IC0yMTQ3NDgzNjQ4KSB7IAogICRFUlJPUignIzE6IDIxNDc0ODM2NDguMSA8PCAwID09PSAtMjE0NzQ4MzY0OC4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDguMSA8PCAwKSk7IAp9IAoKLy9DSEVDSyMyCmlmICg0Mjk0OTY3Mjk2LjEgPDwgMCAhPT0gMCkgeyAKICAkRVJST1IoJyMyOiA0Mjk0OTY3Mjk2LjEgPDwgMCA9PT0gMC4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTYuMSA8PCAwKSk7IAp9IAoKLy9DSEVDSyMzCmlmICg2NDQyNDUwOTQ0LjEgPDwgMCAhPT0gLTIxNDc0ODM2NDgpIHsgCiAgJEVSUk9SKCcjMzogNjQ0MjQ1MDk0NC4xIDw8IDAgPT09IC0yMTQ3NDgzNjQ4LiBBY3R1YWw6ICcgKyAoNjQ0MjQ1MDk0NC4xIDw8IDApKTsgCn0gCgovL0NIRUNLIzQKaWYgKDQyOTQ5NjcyOTUuMSA8PCAwICE9PSAtMSkgeyAKICAkRVJST1IoJyM0OiA0Mjk0OTY3Mjk1LjEgPDwgMCA9PT0gLTEuIEFjdHVhbDogJyArICg0Mjk0OTY3Mjk1LjEgPDwgMCkpOyAKfSAKCi8vQ0hFQ0sjNQppZiAoNjQ0MjQ1MDk0My4xIDw8IDAgIT09IDIxNDc0ODM2NDcpIHsgCiAgJEVSUk9SKCcjNTogNjQ0MjQ1MDk0My4xIDw8IDAgPT09IDIxNDc0ODM2NDcuIEFjdHVhbDogJyArICg2NDQyNDUwOTQzLjEgPDwgMCkpOyAKfSAKCi8vQ0hFQ0sjNgppZiAoLTIxNDc0ODM2NDkuMSA8PCAwICE9PSAyMTQ3NDgzNjQ3KSB7IAogICRFUlJPUignIzY6IC0yMTQ3NDgzNjQ5LjEgPDwgMCA9PT0gMjE0NzQ4MzY0Ny4gQWN0dWFsOiAnICsgKC0yMTQ3NDgzNjQ5LjEgPDwgMCkpOyAKfSAKCi8vQ0hFQ0sjNwppZiAoLTQyOTQ5NjcyOTcuMSA8PCAwICE9PSAtMSkgeyAKICAkRVJST1IoJyM3OiAtNDI5NDk2NzI5Ny4xIDw8IDAgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTQyOTQ5NjcyOTcuMSA8PCAwKSk7IAp9IAoKLy9DSEVDSyM4CmlmICgtNjQ0MjQ1MDk0NS4xIDw8IDAgIT09IDIxNDc0ODM2NDcpIHsgCiAgJEVSUk9SKCcjODogLTY0NDI0NTA5NDUuMSA8PCAwID09PSAyMTQ3NDgzNjQ3LiBBY3R1YWw6ICcgKyAoLTY0NDI0NTA5NDUuMSA8PCAwKSk7IAp9IAoKLy9DSEVDSyM5CmlmICgtNDI5NDk2NzI5Ni4xIDw8IDAgIT09IDApIHsgCiAgJEVSUk9SKCcjOTogLTQyOTQ5NjcyOTYuMSA8PCAwID09PSAwIC4gQWN0dWFsOiAnICsgKC00Mjk0OTY3Mjk2LjEgPDwgMCkpOyAKfSAKCi8vQ0hFQ0sjMTAKaWYgKC02NDQyNDUwOTQ0LjEgPDwgMCAhPT0gLTIxNDc0ODM2NDgpIHsgCiAgJEVSUk9SKCcjMTA6IC02NDQyNDUwOTQ0LjEgPDwgMCA9PT0gLTIxNDc0ODM2NDguIEFjdHVhbDogJyArICgtNjQ0MjQ1MDk0NC4xIDw8IDApKTsgCn0gCgo=",
"commentary":"Operator x << y uses ToInt32(ShiftExpression)",
"description":"Checking boundary points",
"path":"TestCases/ch11/11.7/11.7.1/S11.7.1_A5.1_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw8IHkgdXNlcyBUb1VpbnQzMihBZGRpdGl2ZUV4cHJlc3Npb24pICYgMzEKICoKICogQHBhdGggY2gxMS8xMS43LzExLjcuMS9TMTEuNy4xX0E1LjJfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGRpc3RpbmN0IHBvaW50cwogKi8KCi8vQ0hFQ0sjMQppZiAoMSA8PCAtMzIuMSAhPT0gMSkgeyAKICAkRVJST1IoJyMxOiAxIDw8IC0zMi4xID09PSAxLiBBY3R1YWw6ICcgKyAoMSA8PCAtMzIuMSkpOyAKfSAKCi8vQ0hFQ0sjMgppZiAoMSA8PCAtMzEuMSAhPT0gMikgeyAKICAkRVJST1IoJyMyOiAxIDw8IC0zMS4xID09PSAyLiBBY3R1YWw6ICcgKyAoMSA8PCAtMzEuMSkpOyAKfSAKCi8vQ0hFQ0sjMwppZiAoMSA8PCAtMzAuMSAhPT0gNCkgeyAKICAkRVJST1IoJyMzOiAxIDw8IC0zMC4xID09PSA0LiBBY3R1YWw6ICcgKyAoMSA8PCAtMzAuMSkpOyAKfSAKCi8vQ0hFQ0sjNAppZiAoMSA8PCAtMjkuMSAhPT0gOCkgeyAKICAkRVJST1IoJyM0OiAxIDw8IC0yOS4xID09PSA4LiBBY3R1YWw6ICcgKyAoMSA8PCAtMjkuMSkpOyAKfSAKCi8vQ0hFQ0sjNQppZiAoMSA8PCAtMjguMSAhPT0gMTYpIHsgCiAgJEVSUk9SKCcjNTogMSA8PCAtMjguMSA9PT0gMTYuIEFjdHVhbDogJyArICgxIDw8IC0yOC4xKSk7IAp9IAoKLy9DSEVDSyM2CmlmICgxIDw8IC0yNy4xICE9PSAzMikgeyAKICAkRVJST1IoJyM2OiAxIDw8IC0yNy4xID09PSAzMi4gQWN0dWFsOiAnICsgKDEgPDwgLTI3LjEpKTsgCn0gCgovL0NIRUNLIzcKaWYgKDEgPDwgLTI2LjEgIT09IDY0KSB7IAogICRFUlJPUignIzc6IDEgPDwgLTI2LjEgPT09IDY0LiBBY3R1YWw6ICcgKyAoMSA8PCAtMjYuMSkpOyAKfSAKCi8vQ0hFQ0sjOAppZiAoMSA8PCAtMjUuMSAhPT0gMTI4KSB7IAogICRFUlJPUignIzg6IDEgPDwgLTI1LjEgPT09IDEyOC4gQWN0dWFsOiAnICsgKDEgPDwgLTI1LjEpKTsgCn0gCgovL0NIRUNLIzkKaWYgKDEgPDwgLTI0LjEgIT09IDI1NikgeyAKICAkRVJST1IoJyM5OiAxIDw8IC0yNC4xID09PSAyNTYuIEFjdHVhbDogJyArICgxIDw8IC0yNC4xKSk7IAp9IAoKLy9DSEVDSyMxMAppZiAoMSA8PCAtMjMuMSAhPT0gNTEyKSB7IAogICRFUlJPUignIzEwOiAxIDw8IC0yMy4xID09PSA1MTIuIEFjdHVhbDogJyArICgxIDw8IC0yMy4xKSk7IAp9IAoKLy9DSEVDSyMxMQppZiAoMSA8PCAtMjIuMSAhPT0gMTAyNCkgeyAKICAkRVJST1IoJyMxMTogMSA8PCAtMjIuMSA9PT0gMTAyNC4gQWN0dWFsOiAnICsgKDEgPDwgLTIyLjEpKTsgCn0gCgovL0NIRUNLIzEyCmlmICgxIDw8IC0yMS4xICE9PSAyMDQ4KSB7IAogICRFUlJPUignIzEyOiAxIDw8IC0yMS4xID09PSAyMDQ4LiBBY3R1YWw6ICcgKyAoMSA8PCAtMjEuMSkpOyAKfSAKCi8vQ0hFQ0sjMTMKaWYgKDEgPDwgLTIwLjEgIT09IDQwOTYpIHsgCiAgJEVSUk9SKCcjMTM6IDEgPDwgLTIwLjEgPT09IDQwOTYuIEFjdHVhbDogJyArICgxIDw8IC0yMC4xKSk7IAp9IAoKLy9DSEVDSyMxNAppZiAoMSA8PCAtMTkuMSAhPT0gODE5MikgeyAKICAkRVJST1IoJyMxNDogMSA8PCAtMTkuMSA9PT0gODE5Mi4gQWN0dWFsOiAnICsgKDEgPDwgLTE5LjEpKTsgCn0gCgovL0NIRUNLIzE1CmlmICgxIDw8IC0xOC4xICE9PSAxNjM4NCkgeyAKICAkRVJST1IoJyMxNTogMSA8PCAtMTguMSA9PT0gMTYzODQuIEFjdHVhbDogJyArICgxIDw8IC0xOC4xKSk7IAp9IAoKLy9DSEVDSyMxNgppZiAoMSA8PCAtMTcuMSAhPT0gMzI3NjgpIHsgCiAgJEVSUk9SKCcjMTY6IDEgPDwgLTE3LjEgPT09IDMyNzY4LiBBY3R1YWw6ICcgKyAoMSA8PCAtMTcuMSkpOyAKfSAKCi8vQ0hFQ0sjMTcKaWYgKDEgPDwgLTE2LjEgIT09IDY1NTM2KSB7IAogICRFUlJPUignIzE3OiAxIDw8IC0xNi4xID09PSA2NTUzNi4gQWN0dWFsOiAnICsgKDEgPDwgLTE2LjEpKTsgCn0gCgovL0NIRUNLIzE4CmlmICgxIDw8IC0xNS4xICE9PSAxMzEwNzIpIHsgCiAgJEVSUk9SKCcjMTg6IDEgPDwgLTE1LjEgPT09IDEzMTA3Mi4gQWN0dWFsOiAnICsgKDEgPDwgLTE1LjEpKTsgCn0gCgovL0NIRUNLIzE5CmlmICgxIDw8IC0xNC4xICE9PSAyNjIxNDQpIHsgCiAgJEVSUk9SKCcjMTk6IDEgPDwgLTE0LjEgPT09IDI2MjE0NC4gQWN0dWFsOiAnICsgKDEgPDwgLTE0LjEpKTsgCn0gCgovL0NIRUNLIzIwCmlmICgxIDw8IC0xMy4xICE9PSA1MjQyODgpIHsgCiAgJEVSUk9SKCcjMjA6IDEgPDwgLTEzLjEgPT09IDUyNDI4OC4gQWN0dWFsOiAnICsgKDEgPDwgLTEzLjEpKTsgCn0gCgovL0NIRUNLIzIxCmlmICgxIDw8IC0xMi4xICE9PSAxMDQ4NTc2KSB7IAogICRFUlJPUignIzIxOiAxIDw8IC0xMi4xID09PSAxMDQ4NTc2LiBBY3R1YWw6ICcgKyAoMSA8PCAtMTIuMSkpOyAKfSAKCi8vQ0hFQ0sjMjIKaWYgKDEgPDwgLTExLjEgIT09IDIwOTcxNTIpIHsgCiAgJEVSUk9SKCcjMjI6IDEgPDwgLTExLjEgPT09IDIwOTcxNTIuIEFjdHVhbDogJyArICgxIDw8IC0xMS4xKSk7IAp9IAoKLy9DSEVDSyMyMwppZiAoMSA8PCAtMTAuMSAhPT0gNDE5NDMwNCkgeyAKICAkRVJST1IoJyMyMzogMSA8PCAtMTAuMSA9PT0gNDE5NDMwNC4gQWN0dWFsOiAnICsgKDEgPDwgLTEwLjEpKTsgCn0gCgovL0NIRUNLIzI0CmlmICgxIDw8IC05LjEgIT09IDgzODg2MDgpIHsgCiAgJEVSUk9SKCcjMjQ6IDEgPDwgLTkuMSA9PT0gODM4ODYwOC4gQWN0dWFsOiAnICsgKDEgPDwgLTkuMSkpOyAKfSAKCi8vQ0hFQ0sjMjUKaWYgKDEgPDwgLTguMSAhPT0gMTY3NzcyMTYpIHsgCiAgJEVSUk9SKCcjMjU6IDEgPDwgLTguMSA9PT0gMTY3NzcyMTYuIEFjdHVhbDogJyArICgxIDw8IC04LjEpKTsgCn0gCgovL0NIRUNLIzI2CmlmICgxIDw8IC03LjEgIT09IDMzNTU0NDMyKSB7IAogICRFUlJPUignIzI2OiAxIDw8IC03LjEgPT09IDMzNTU0NDMyLiBBY3R1YWw6ICcgKyAoMSA8PCAtNy4xKSk7IAp9IAoKLy9DSEVDSyMyNwppZiAoMSA8PCAtNi4xICE9PSA2NzEwODg2NCkgeyAKICAkRVJST1IoJyMyNzogMSA8PCAtNi4xID09PSA2NzEwODg2NC4gQWN0dWFsOiAnICsgKDEgPDwgLTYuMSkpOyAKfSAKCi8vQ0hFQ0sjMjgKaWYgKDEgPDwgLTUuMSAhPT0gMTM0MjE3NzI4KSB7IAogICRFUlJPUignIzI4OiAxIDw8IC01LjEgPT09IDEzNDIxNzcyOC4gQWN0dWFsOiAnICsgKDEgPDwgLTUuMSkpOyAKfSAKCi8vQ0hFQ0sjMjkKaWYgKDEgPDwgLTQuMSAhPT0gMjY4NDM1NDU2KSB7IAogICRFUlJPUignIzI5OiAxIDw8IC00LjEgPT09IDI2ODQzNTQ1Ni4gQWN0dWFsOiAnICsgKDEgPDwgLTQuMSkpOyAKfSAKCi8vQ0hFQ0sjMzAKaWYgKDEgPDwgLTMuMSAhPT0gNTM2ODcwOTEyKSB7IAogICRFUlJPUignIzMwOiAxIDw8IC0zLjEgPT09IDUzNjg3MDkxMi4gQWN0dWFsOiAnICsgKDEgPDwgLTMuMSkpOyAKfSAKCi8vQ0hFQ0sjMzEKaWYgKDEgPDwgLTIuMSAhPT0gMTA3Mzc0MTgyNCkgeyAKICAkRVJST1IoJyMzMTogMSA8PCAtMi4xID09PSAxMDczNzQxODI0LiBBY3R1YWw6ICcgKyAoMSA8PCAtMi4xKSk7IAp9IAoKLy9DSEVDSyMzMgppZiAoMSA8PCAtMS4xICE9PSAtMjE0NzQ4MzY0OCkgeyAKICAkRVJST1IoJyMzMjogMSA8PCAtMS4xID09PSAtMjE0NzQ4MzY0OC4gQWN0dWFsOiAnICsgKDEgPDwgLTEuMSkpOyAKfSAKCi8vQ0hFQ0sjMzMKaWYgKDEgPDwgMzIuMSAhPT0gMSkgeyAKICAkRVJST1IoJyMzMzogMSA8PCAzMi4xID09PSAxLiBBY3R1YWw6ICcgKyAoMSA8PCAzMi4xKSk7IAp9IAoKLy9DSEVDSyMzNAppZiAoMSA8PCAzMy4xICE9PSAyKSB7IAogICRFUlJPUignIzM0OiAxIDw8IDMzLjEgPT09IDIuIEFjdHVhbDogJyArICgxIDw8IDMzLjEpKTsgCn0gCgovL0NIRUNLIzM1CmlmICgxIDw8IDM0LjEgIT09IDQpIHsgCiAgJEVSUk9SKCcjMzU6IDEgPDwgMzQuMSA9PT0gNC4gQWN0dWFsOiAnICsgKDEgPDwgMzQuMSkpOyAKfSAKCi8vQ0hFQ0sjMzYKaWYgKDEgPDwgMzUuMSAhPT0gOCkgeyAKICAkRVJST1IoJyMzNjogMSA8PCAzNS4xID09PSA4LiBBY3R1YWw6ICcgKyAoMSA8PCAzNS4xKSk7IAp9IAoKLy9DSEVDSyMzNwppZiAoMSA8PCAzNi4xICE9PSAxNikgeyAKICAkRVJST1IoJyMzNzogMSA8PCAzNi4xID09PSAxNi4gQWN0dWFsOiAnICsgKDEgPDwgMzYuMSkpOyAKfSAKCi8vQ0hFQ0sjMzgKaWYgKDEgPDwgMzcuMSAhPT0gMzIpIHsgCiAgJEVSUk9SKCcjMzg6IDEgPDwgMzcuMSA9PT0gMzIuIEFjdHVhbDogJyArICgxIDw8IDM3LjEpKTsgCn0gCgovL0NIRUNLIzM5CmlmICgxIDw8IDM4LjEgIT09IDY0KSB7IAogICRFUlJPUignIzM5OiAxIDw8IDM4LjEgPT09IDY0LiBBY3R1YWw6ICcgKyAoMSA8PCAzOC4xKSk7IAp9IAoKLy9DSEVDSyM0MAppZiAoMSA8PCAzOS4xICE9PSAxMjgpIHsgCiAgJEVSUk9SKCcjNDA6IDEgPDwgMzkuMSA9PT0gMTI4LiBBY3R1YWw6ICcgKyAoMSA8PCAzOS4xKSk7IAp9IAoKLy9DSEVDSyM0MQppZiAoMSA8PCA0MC4xICE9PSAyNTYpIHsgCiAgJEVSUk9SKCcjNDE6IDEgPDwgNDAuMSA9PT0gMjU2LiBBY3R1YWw6ICcgKyAoMSA8PCA0MC4xKSk7IAp9IAoKLy9DSEVDSyM0MgppZiAoMSA8PCA0MS4xICE9PSA1MTIpIHsgCiAgJEVSUk9SKCcjNDI6IDEgPDwgNDEuMSA9PT0gNTEyLiBBY3R1YWw6ICcgKyAoMSA8PCA0MS4xKSk7IAp9IAoKLy9DSEVDSyM0MwppZiAoMSA8PCA0Mi4xICE9PSAxMDI0KSB7IAogICRFUlJPUignIzQzOiAxIDw8IDQyLjEgPT09IDEwMjQuIEFjdHVhbDogJyArICgxIDw8IDQyLjEpKTsgCn0gCgovL0NIRUNLIzQ0CmlmICgxIDw8IDQzLjEgIT09IDIwNDgpIHsgCiAgJEVSUk9SKCcjNDQ6IDEgPDwgNDMuMSA9PT0gMjA0OC4gQWN0dWFsOiAnICsgKDEgPDwgNDMuMSkpOyAKfSAKCi8vQ0hFQ0sjNDUKaWYgKDEgPDwgNDQuMSAhPT0gNDA5NikgeyAKICAkRVJST1IoJyM0NTogMSA8PCA0NC4xID09PSA0MDk2LiBBY3R1YWw6ICcgKyAoMSA8PCA0NC4xKSk7IAp9IAoKLy9DSEVDSyM0NgppZiAoMSA8PCA0NS4xICE9PSA4MTkyKSB7IAogICRFUlJPUignIzQ2OiAxIDw8IDQ1LjEgPT09IDgxOTIuIEFjdHVhbDogJyArICgxIDw8IDQ1LjEpKTsgCn0gCgovL0NIRUNLIzQ3CmlmICgxIDw8IDQ2LjEgIT09IDE2Mzg0KSB7IAogICRFUlJPUignIzQ3OiAxIDw8IDQ2LjEgPT09IDE2Mzg0LiBBY3R1YWw6ICcgKyAoMSA8PCA0Ni4xKSk7IAp9IAoKLy9DSEVDSyM0OAppZiAoMSA8PCA0Ny4xICE9PSAzMjc2OCkgeyAKICAkRVJST1IoJyM0ODogMSA8PCA0Ny4xID09PSAzMjc2OC4gQWN0dWFsOiAnICsgKDEgPDwgNDcuMSkpOyAKfSAKCi8vQ0hFQ0sjNDkKaWYgKDEgPDwgNDguMSAhPT0gNjU1MzYpIHsgCiAgJEVSUk9SKCcjNDk6IDEgPDwgNDguMSA9PT0gNjU1MzYuIEFjdHVhbDogJyArICgxIDw8IDQ4LjEpKTsgCn0gCgovL0NIRUNLIzUwCmlmICgxIDw8IDQ5LjEgIT09IDEzMTA3MikgeyAKICAkRVJST1IoJyM1MDogMSA8PCA0OS4xID09PSAxMzEwNzIuIEFjdHVhbDogJyArICgxIDw8IDQ5LjEpKTsgCn0gCgovL0NIRUNLIzUxCmlmICgxIDw8IDUwLjEgIT09IDI2MjE0NCkgeyAKICAkRVJST1IoJyM1MTogMSA8PCA1MC4xID09PSAyNjIxNDQuIEFjdHVhbDogJyArICgxIDw8IDUwLjEpKTsgCn0gCgovL0NIRUNLIzUyCmlmICgxIDw8IDUxLjEgIT09IDUyNDI4OCkgeyAKICAkRVJST1IoJyM1MjogMSA8PCA1MS4xID09PSA1MjQyODguIEFjdHVhbDogJyArICgxIDw8IDUxLjEpKTsgCn0gCgovL0NIRUNLIzUzCmlmICgxIDw8IDUyLjEgIT09IDEwNDg1NzYpIHsgCiAgJEVSUk9SKCcjNTM6IDEgPDwgNTIuMSA9PT0gMTA0ODU3Ni4gQWN0dWFsOiAnICsgKDEgPDwgNTIuMSkpOyAKfSAKCi8vQ0hFQ0sjNTQKaWYgKDEgPDwgNTMuMSAhPT0gMjA5NzE1MikgeyAKICAkRVJST1IoJyM1NDogMSA8PCA1My4xID09PSAyMDk3MTUyLiBBY3R1YWw6ICcgKyAoMSA8PCA1My4xKSk7IAp9IAoKLy9DSEVDSyM1NQppZiAoMSA8PCA1NC4xICE9PSA0MTk0MzA0KSB7IAogICRFUlJPUignIzU1OiAxIDw8IDU0LjEgPT09IDQxOTQzMDQuIEFjdHVhbDogJyArICgxIDw8IDU0LjEpKTsgCn0gCgovL0NIRUNLIzU2CmlmICgxIDw8IDU1LjEgIT09IDgzODg2MDgpIHsgCiAgJEVSUk9SKCcjNTY6IDEgPDwgNTUuMSA9PT0gODM4ODYwOC4gQWN0dWFsOiAnICsgKDEgPDwgNTUuMSkpOyAKfSAKCi8vQ0hFQ0sjNTcKaWYgKDEgPDwgNTYuMSAhPT0gMTY3NzcyMTYpIHsgCiAgJEVSUk9SKCcjNTc6IDEgPDwgNTYuMSA9PT0gMTY3NzcyMTYuIEFjdHVhbDogJyArICgxIDw8IDU2LjEpKTsgCn0gCgovL0NIRUNLIzU4CmlmICgxIDw8IDU3LjEgIT09IDMzNTU0NDMyKSB7IAogICRFUlJPUignIzU4OiAxIDw8IDU3LjEgPT09IDMzNTU0NDMyLiBBY3R1YWw6ICcgKyAoMSA8PCA1Ny4xKSk7IAp9IAoKLy9DSEVDSyM1OQppZiAoMSA8PCA1OC4xICE9PSA2NzEwODg2NCkgeyAKICAkRVJST1IoJyM1OTogMSA8PCA1OC4xID09PSA2NzEwODg2NC4gQWN0dWFsOiAnICsgKDEgPDwgNTguMSkpOyAKfSAKCi8vQ0hFQ0sjNjAKaWYgKDEgPDwgNTkuMSAhPT0gMTM0MjE3NzI4KSB7IAogICRFUlJPUignIzYwOiAxIDw8IDU5LjEgPT09IDEzNDIxNzcyOC4gQWN0dWFsOiAnICsgKDEgPDwgNTkuMSkpOyAKfSAKCi8vQ0hFQ0sjNjEKaWYgKDEgPDwgNjAuMSAhPT0gMjY4NDM1NDU2KSB7IAogICRFUlJPUignIzYxOiAxIDw8IDYwLjEgPT09IDI2ODQzNTQ1Ni4gQWN0dWFsOiAnICsgKDEgPDwgNjAuMSkpOyAKfSAKCi8vQ0hFQ0sjNjIKaWYgKDEgPDwgNjEuMSAhPT0gNTM2ODcwOTEyKSB7IAogICRFUlJPUignIzYyOiAxIDw8IDYxLjEgPT09IDUzNjg3MDkxMi4gQWN0dWFsOiAnICsgKDEgPDwgNjEuMSkpOyAKfSAKCi8vQ0hFQ0sjNjMKaWYgKDEgPDwgNjIuMSAhPT0gMTA3Mzc0MTgyNCkgeyAKICAkRVJST1IoJyM2MzogMSA8PCA2Mi4xID09PSAxMDczNzQxODI0LiBBY3R1YWw6ICcgKyAoMSA8PCA2Mi4xKSk7IAp9IAoKLy9DSEVDSyM2NAppZiAoMSA8PCA2My4xICE9PSAtMjE0NzQ4MzY0OCkgeyAKICAkRVJST1IoJyM2NDogMSA8PCA2My4xID09PSAtMjE0NzQ4MzY0OC4gQWN0dWFsOiAnICsgKDEgPDwgNjMuMSkpOyAKfSAKCg==",
"commentary":"Operator x << y uses ToUint32(AdditiveExpression) & 31",
"description":"Checking distinct points",
"path":"TestCases/ch11/11.7/11.7.1/S11.7.1_A5.2_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gU2hpZnRFeHByZXNzaW9uIGFuZCAiPj4iIG9yIGJldHdlZW4gIj4+IiBhbmQgQWRkaXRpdmVFeHByZXNzaW9uIGFyZSBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTEvMTEuNy8xMS43LjIvUzExLjcuMl9BMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYnkgdXNpbmcgZXZhbAogKi8KCi8vQ0hFQ0sjMQppZiAoZXZhbCgiLTRcdTAwMDk+Plx1MDAwOTEiKSAhPT0gLTIpIHsKICAkRVJST1IoJyMxOiAtNFxcdTAwMDk+PlxcdTAwMDkxID09PSAtMicpOwp9CgovL0NIRUNLIzIKaWYgKGV2YWwoIi00XHUwMDBCPj5cdTAwMEIxIikgIT09IC0yKSB7CiAgJEVSUk9SKCcjMjogLTRcXHUwMDBCPj5cXHUwMDBCMSA9PT0gLTInKTsgIAp9CgovL0NIRUNLIzMKaWYgKGV2YWwoIi00XHUwMDBDPj5cdTAwMEMxIikgIT09IC0yKSB7CiAgJEVSUk9SKCcjMzogLTRcXHUwMDBDPj5cXHUwMDBDMSA9PT0gLTInKTsKfQoKLy9DSEVDSyM0CmlmIChldmFsKCItNFx1MDAyMD4+XHUwMDIwMSIpICE9PSAtMikgewogICRFUlJPUignIzQ6IC00XFx1MDAyMD4+XFx1MDAyMDEgPT09IC0yJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoZXZhbCgiLTRcdTAwQTA+Plx1MDBBMDEiKSAhPT0gLTIpIHsKICAkRVJST1IoJyM1OiAtNFxcdTAwQTA+PlxcdTAwQTAxID09PSAtMicpOwp9CgovL0NIRUNLIzYKaWYgKGV2YWwoIi00XHUwMDBBPj5cdTAwMEExIikgIT09IC0yKSB7CiAgJEVSUk9SKCcjNjogLTRcXHUwMDBBPj5cXHUwMDBBMSA9PT0gLTInKTsgIAp9CgovL0NIRUNLIzcKaWYgKGV2YWwoIi00XHUwMDBEPj5cdTAwMEQxIikgIT09IC0yKSB7CiAgJEVSUk9SKCcjNzogLTRcXHUwMDBEPj5cXHUwMDBEMSA9PT0gLTInKTsKfQoKLy9DSEVDSyM4CmlmIChldmFsKCItNFx1MjAyOD4+XHUyMDI4MSIpICE9PSAtMikgewogICRFUlJPUignIzg6IC00XFx1MjAyOD4+XFx1MjAyODEgPT09IC0yJyk7Cn0KCi8vQ0hFQ0sjOQppZiAoZXZhbCgiLTRcdTIwMjk+Plx1MjAyOTEiKSAhPT0gLTIpIHsKICAkRVJST1IoJyM5OiAtNFxcdTIwMjk+PlxcdTIwMjkxID09PSAtMicpOwp9CgovL0NIRUNLIzEwCmlmIChldmFsKCItNFx1MDAwOVx1MDAwQlx1MDAwQ1x1MDAyMFx1MDBBMFx1MDAwQVx1MDAwRFx1MjAyOFx1MjAyOT4+XHUwMDA5XHUwMDBCXHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5MSIpICE9PSAtMikgewogICRFUlJPUignIzEwOiAtNFxcdTAwMDlcXHUwMDBCXFx1MDAwQ1xcdTAwMjBcXHUwMEEwXFx1MDAwQVxcdTAwMERcXHUyMDI4XFx1MjAyOT4+XFx1MDAwOVxcdTAwMEJcXHUwMDBDXFx1MDAyMFxcdTAwQTBcXHUwMDBBXFx1MDAwRFxcdTIwMjhcXHUyMDI5MSA9PT0gLTInKTsKfQoK",
"commentary":"White Space and Line Terminator between ShiftExpression and \">>\" or between \">>\" and AdditiveExpression are allowed",
"description":"Checking by using eval",
"path":"TestCases/ch11/11.7/11.7.2/S11.7.2_A1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+IHkgdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4yL1MxMS43LjJfQTIuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gRWl0aGVyIFR5cGUgaXMgbm90IFJlZmVyZW5jZSBvciBHZXRCYXNlIGlzIG5vdCBudWxsCiAqLwoKLy9DSEVDSyMxCmlmICgtNCA+PiAxICE9PSAtMikgewogICRFUlJPUignIzE6IC00ID4+IDEgPT09IC0yLiBBY3R1YWw6ICcgKyAoLTQgPj4gMSkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAtNDsKaWYgKHggPj4gMSAhPT0gLTIpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IC00OyB4ID4+IDEgPT09IC0yLiBBY3R1YWw6ICcgKyAoeCA+PiAxKSk7Cn0KCi8vQ0hFQ0sjMwp2YXIgeSA9IDE7CmlmICgtNCA+PiB5ICE9PSAtMikgewogICRFUlJPUignIzM6IHZhciB5ID0gMTsgLTQgPj4geSA9PT0gLTIuIEFjdHVhbDogJyArICgtNCA+PiB5KSk7Cn0KCi8vQ0hFQ0sjNAp2YXIgeCA9IC00Owp2YXIgeSA9IDE7CmlmICh4ID4+IHkgIT09IC0yKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSAtNDsgdmFyIHkgPSAxOyB4ID4+IHkgPT09IC0yLiBBY3R1YWw6ICcgKyAoeCA+PiB5KSk7Cn0KCi8vQ0hFQ0sjNQp2YXIgb2JqZWN0eCA9IG5ldyBPYmplY3QoKTsKdmFyIG9iamVjdHkgPSBuZXcgT2JqZWN0KCk7Cm9iamVjdHgucHJvcCA9IC00OwpvYmplY3R5LnByb3AgPSAxOwppZiAob2JqZWN0eC5wcm9wID4+IG9iamVjdHkucHJvcCAhPT0gLTIpIHsKICAkRVJST1IoJyM1OiB2YXIgb2JqZWN0eCA9IG5ldyBPYmplY3QoKTsgdmFyIG9iamVjdHkgPSBuZXcgT2JqZWN0KCk7IG9iamVjdHgucHJvcCA9IC00OyBvYmplY3R5LnByb3AgPSAxOyBvYmplY3R4LnByb3AgPj4gb2JqZWN0eS5wcm9wID09PSAtMi4gQWN0dWFsOiAnICsgKG9iamVjdHgucHJvcCA+PiBvYmplY3R5LnByb3ApKTsKfQoK",
"commentary":"Operator x >> y uses GetValue",
"description":"Either Type is not Reference or GetBase is not null",
"path":"TestCases/ch11/11.7/11.7.2/S11.7.2_A2.1_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+IHkgdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4yL1MxMS43LjJfQTIuMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gSWYgR2V0QmFzZSh4KSBpcyBudWxsLCB0aHJvdyBSZWZlcmVuY2VFcnJvcgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHggPj4gMTsKICAkRVJST1IoJyMxLjE6IHggPj4gMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHggPj4gMSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogeCA+PiAxIHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9CgoK",
"commentary":"Operator x >> y uses GetValue",
"description":"If GetBase(x) is null, throw ReferenceError",
"path":"TestCases/ch11/11.7/11.7.2/S11.7.2_A2.1_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+IHkgdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4yL1MxMS43LjJfQTIuMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gSWYgR2V0QmFzZSh5KSBpcyBudWxsLCB0aHJvdyBSZWZlcmVuY2VFcnJvcgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIDEgPj4geTsKICAkRVJST1IoJyMxLjE6IDEgPj4geSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKDEgPj4geSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogMSA+PiB5IHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9CgoK",
"commentary":"Operator x >> y uses GetValue",
"description":"If GetBase(y) is null, throw ReferenceError",
"path":"TestCases/ch11/11.7/11.7.2/S11.7.2_A2.1_T3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+IHkgdXNlcyBbW0RlZmF1bHQgVmFsdWVdXQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4yL1MxMS43LjJfQTIuMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gSWYgVHlwZSh2YWx1ZSkgaXMgT2JqZWN0LCBldmFsdWF0ZSBUb1ByaW1pdGl2ZSh2YWx1ZSwgTnVtYmVyKQogKi8KCi8vQ0hFQ0sjMQppZiAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAtNH19ID4+IDEgIT09IC0yKSB7CiAgJEVSUk9SKCcjMToge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAtNH19ID4+IDEgPT09IC0yLiBBY3R1YWw6ICcgKyAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAtNH19ID4+IDEpKTsKfQoKLy9DSEVDSyMyCmlmICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIC00fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX0gPj4gMSAhPT0gLTIpIHsKICAkRVJST1IoJyMyOiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIC00fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX0gPj4gMSA9PT0gLTIuIEFjdHVhbDogJyArICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIC00fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX0gPj4gMSkpOwp9CgovL0NIRUNLIzMKaWYgKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gLTR9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0gPj4gMSAhPT0gLTIpIHsKICAkRVJST1IoJyMzOiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIC00fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19ID4+IDEgPT09IC0yLiBBY3R1YWw6ICcgKyAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAtNH0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSA+PiAxKSk7Cn0KCi8vQ0hFQ0sjNAp0cnkgewogIGlmICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIC00fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fSA+PiAxICE9PSAtMikgewogICAgJEVSUk9SKCcjNC4xOiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIC00fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fSA+PiAxID09PSAtMi4gQWN0dWFsOiAnICsgKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gLTR9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19ID4+IDEpKTsKICB9Cn0KY2F0Y2ggKGUpIHsKICBpZiAoZSA9PT0gImVycm9yIikgewogICAgJEVSUk9SKCcjNC4yOiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIC00fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fSA+PiAxIG5vdCB0aHJvdyAiZXJyb3IiJyk7CiAgfSBlbHNlIHsKICAgICRFUlJPUignIzQuMzoge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAtNH0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gPj4gMSBub3QgdGhyb3cgRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9CgovL0NIRUNLIzUKaWYgKC00ID4+IHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSAhPT0gLTIpIHsKICAkRVJST1IoJyM1OiAtNCA+PiB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0gPT09IC0yLiBBY3R1YWw6ICcgKyAoLTQgPj4ge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSk7Cn0KCi8vQ0hFQ0sjNgppZiAoLTQgPj4ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19ICE9PSAtMikgewogICRFUlJPUignIzY6IC00ID4+IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSA9PT0gLTIuIEFjdHVhbDogJyArICgtNCA+PiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0pKTsKfQoKLy9DSEVDSyM3CnRyeSB7CiAgLTQgPj4ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsKICAkRVJST1IoJyM3LjE6IC00ID4+IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0gdGhyb3cgImVycm9yIi4gQWN0dWFsOiAnICsgKC00ID4+IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0pKTsKfSAgCmNhdGNoIChlKSB7CiAgaWYgKGUgIT09ICJlcnJvciIpIHsKICAgICRFUlJPUignIzcuMjogLTQgPj4ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSB0aHJvdyAiZXJyb3IiLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gCn0KCi8vQ0hFQ0sjOAp0cnkgewogIC00ID4+IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07CiAgJEVSUk9SKCcjOC4xOiAtNCA+PiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19IHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKC00ID4+IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0pKTsKfSAgCmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjOC4yOiAtNCA+PiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19IHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9IAp9Cgo=",
"commentary":"Operator x >> y uses [[Default Value]]",
"description":"If Type(value) is Object, evaluate ToPrimitive(value, Number)",
"path":"TestCases/ch11/11.7/11.7.2/S11.7.2_A2.2_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUb051bWJlcihmaXJzdCBleHByZXNzaW9uKSBpcyBjYWxsZWQgZmlyc3QsIGFuZCB0aGVuIFRvTnVtYmVyKHNlY29uZCBleHByZXNzaW9uKQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4yL1MxMS43LjJfQTIuM19UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgd2l0aCAidGhyb3ciCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0geyB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfSB9Owp2YXIgeSA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieSI7IH0gfTsKdHJ5IHsKICAgeCA+PiB5OwogICAkRVJST1IoJyMxLjE6IHZhciB4ID0geyB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfSB9OyB2YXIgeSA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieSI7IH0gfTsgeCA+PiB5IHRocm93ICJ4Ii4gQWN0dWFsOiAnICsgKHggPj4geSkpOwp9IGNhdGNoIChlKSB7CiAgIGlmIChlID09PSAieSIpIHsKICAgICAkRVJST1IoJyMxLjI6IFRvTnVtYmVyKGZpcnN0IGV4cHJlc3Npb24pIGlzIGNhbGxlZCBmaXJzdCwgYW5kIHRoZW4gVG9OdW1iZXIoc2Vjb25kIGV4cHJlc3Npb24pJyk7CiAgIH0gZWxzZSB7CiAgICAgaWYgKGUgIT09ICJ4IikgewogICAgICAgJEVSUk9SKCcjMS4zOiB2YXIgeCA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieCI7IH0gfTsgdmFyIHkgPSB7IHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9IH07IHggPj4geSB0aHJvdyAieCIuIEFjdHVhbDogJyArIChlKSk7CiAgICAgfQogICB9Cn0KCg==",
"commentary":"ToNumber(first expression) is called first, and then ToNumber(second expression)",
"description":"Checking with \"throw\"",
"path":"TestCases/ch11/11.7/11.7.2/S11.7.2_A2.3_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS43LzExLjcuMi9TMTEuNy4yX0EyLjRfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggIj0iCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gMDsgCmlmICgoeCA9IDEpID4+IHggIT09IDApIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IDA7ICh4ID0gMSkgPj4geCA9PT0gMC4gQWN0dWFsOiAnICsgKCh4ID0gMSkgPj4geCkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAtNDsgCmlmICh4ID4+ICh4ID0gMSkgIT09IC0yKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSAtNDsgeCA+PiAoeCA9IDEpID09PSAtMi4gQWN0dWFsOiAnICsgKHggPj4gKHggPSAxKSkpOwp9CgoK",
"commentary":"First expression is evaluated first, and then second expression",
"description":"Checking with \"=\"",
"path":"TestCases/ch11/11.7/11.7.2/S11.7.2_A2.4_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS43LzExLjcuMi9TMTEuNy4yX0EyLjRfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggInRocm93IgogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9Owp2YXIgeSA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9Owp0cnkgewogICB4KCkgPj4geSgpOwogICAkRVJST1IoJyMxLjE6IHZhciB4ID0gZnVuY3Rpb24gKCkgeyB0aHJvdyAieCI7IH07IHZhciB5ID0gZnVuY3Rpb24gKCkgeyB0aHJvdyAieSI7IH07IHgoKSA+PiB5KCkgdGhyb3cgIngiLiBBY3R1YWw6ICcgKyAoeCgpID4+IHkoKSkpOwp9IGNhdGNoIChlKSB7CiAgIGlmIChlID09PSAieSIpIHsKICAgICAkRVJST1IoJyMxLjI6IEZpcnN0IGV4cHJlc3Npb24gaXMgZXZhbHVhdGVkIGZpcnN0LCBhbmQgdGhlbiBzZWNvbmQgZXhwcmVzc2lvbicpOwogICB9IGVsc2UgewogICAgIGlmIChlICE9PSAieCIpIHsKICAgICAgICRFUlJPUignIzEuMzogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpID4+IHkoKSB0aHJvdyAieCIuIEFjdHVhbDogJyArIChlKSk7CiAgICAgfQogICB9Cn0KCg==",
"commentary":"First expression is evaluated first, and then second expression",
"description":"Checking with \"throw\"",
"path":"TestCases/ch11/11.7/11.7.2/S11.7.2_A2.4_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS43LzExLjcuMi9TMTEuNy4yX0EyLjRfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggdW5kZWNsYXJhdGVkIHZhcmlhYmxlcwogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHggPj4gKHggPSAxKTsKICAkRVJST1IoJyMxLjE6IHggPj4gKHggPSAxKSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHggPj4gKHggPSAxKSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogeCA+PiAoeCA9IDEpIHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9CgovL0NIRUNLIzIKaWYgKCh5ID0gMSkgPj4geSAhPT0gMCkgewogICRFUlJPUignIzI6ICh5ID0gMSkgPj4geSA9PT0gMC4gQWN0dWFsOiAnICsgKCh5ID0gMSkgPj4geSkpOwp9CgoK",
"commentary":"First expression is evaluated first, and then second expression",
"description":"Checking with undeclarated variables",
"path":"TestCases/ch11/11.7/11.7.2/S11.7.2_A2.4_T3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+IHkgcmV0dXJucyBUb051bWJlcih4KSA+PiBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4yL1MxMS43LjJfQTNfVDEuMS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBhbmQgVHlwZSh5KSB2YXJ5IGJldHdlZW4gcHJpbWl0aXZlIGJvb2xlYW4gYW5kIEJvb2xlYW4gb2JqZWN0CiAqLwoKLy9DSEVDSyMxCmlmICh0cnVlID4+IHRydWUgIT09IDApIHsKICAkRVJST1IoJyMxOiB0cnVlID4+IHRydWUgPT09IDAuIEFjdHVhbDogJyArICh0cnVlID4+IHRydWUpKTsKfQoKLy9DSEVDSyMyCmlmIChuZXcgQm9vbGVhbih0cnVlKSA+PiB0cnVlICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogbmV3IEJvb2xlYW4odHJ1ZSkgPj4gdHJ1ZSA9PT0gMC4gQWN0dWFsOiAnICsgKG5ldyBCb29sZWFuKHRydWUpID4+IHRydWUpKTsKfQoKLy9DSEVDSyMzCmlmICh0cnVlID4+IG5ldyBCb29sZWFuKHRydWUpICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogdHJ1ZSA+PiBuZXcgQm9vbGVhbih0cnVlKSA9PT0gMC4gQWN0dWFsOiAnICsgKHRydWUgPj4gbmV3IEJvb2xlYW4odHJ1ZSkpKTsKfQoKLy9DSEVDSyM0CmlmIChuZXcgQm9vbGVhbih0cnVlKSA+PiBuZXcgQm9vbGVhbih0cnVlKSAhPT0gMCkgewogICRFUlJPUignIzQ6IG5ldyBCb29sZWFuKHRydWUpID4+IG5ldyBCb29sZWFuKHRydWUpID09PSAwLiBBY3R1YWw6ICcgKyAobmV3IEJvb2xlYW4odHJ1ZSkgPj4gbmV3IEJvb2xlYW4odHJ1ZSkpKTsKfQoK",
"commentary":"Operator x >> y returns ToNumber(x) >> ToNumber(y)",
"description":"Type(x) and Type(y) vary between primitive boolean and Boolean object",
"path":"TestCases/ch11/11.7/11.7.2/S11.7.2_A3_T1.1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+IHkgcmV0dXJucyBUb051bWJlcih4KSA+PiBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4yL1MxMS43LjJfQTNfVDEuMi5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBhbmQgVHlwZSh5KSB2YXJ5IGJldHdlZW4gcHJpbWl0aXZlIG51bWJlciBhbmQgTnVtYmVyIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAoMSA+PiAxICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogMSA+PiAxID09PSAwLiBBY3R1YWw6ICcgKyAoMSA+PiAxKSk7Cn0KCi8vQ0hFQ0sjMgppZiAobmV3IE51bWJlcigxKSA+PiAxICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogbmV3IE51bWJlcigxKSA+PiAxID09PSAwLiBBY3R1YWw6ICcgKyAobmV3IE51bWJlcigxKSA+PiAxKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoMSA+PiBuZXcgTnVtYmVyKDEpICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogMSA+PiBuZXcgTnVtYmVyKDEpID09PSAwLiBBY3R1YWw6ICcgKyAoMSA+PiBuZXcgTnVtYmVyKDEpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAobmV3IE51bWJlcigxKSA+PiBuZXcgTnVtYmVyKDEpICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogbmV3IE51bWJlcigxKSA+PiBuZXcgTnVtYmVyKDEpID09PSAwLiBBY3R1YWw6ICcgKyAobmV3IE51bWJlcigxKSA+PiBuZXcgTnVtYmVyKDEpKSk7Cn0KCgo=",
"commentary":"Operator x >> y returns ToNumber(x) >> ToNumber(y)",
"description":"Type(x) and Type(y) vary between primitive number and Number object",
"path":"TestCases/ch11/11.7/11.7.2/S11.7.2_A3_T1.2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+IHkgcmV0dXJucyBUb051bWJlcih4KSA+PiBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4yL1MxMS43LjJfQTNfVDEuMy5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBhbmQgVHlwZSh5KSB2YXJ5IGJldHdlZW4gcHJpbWl0aXZlIHN0cmluZyBhbmQgU3RyaW5nIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAoIjEiID4+ICIxIiAhPT0gMCkgewogICRFUlJPUignIzE6ICIxIiA+PiAiMSIgPT09IDAuIEFjdHVhbDogJyArICgiMSIgPj4gIjEiKSk7Cn0KCi8vQ0hFQ0sjMgppZiAobmV3IFN0cmluZygiMSIpID4+ICIxIiAhPT0gMCkgewogICRFUlJPUignIzI6IG5ldyBTdHJpbmcoIjEiKSA+PiAiMSIgPT09IDAuIEFjdHVhbDogJyArIChuZXcgU3RyaW5nKCIxIikgPj4gIjEiKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoIjEiID4+IG5ldyBTdHJpbmcoIjEiKSAhPT0gMCkgewogICRFUlJPUignIzM6ICIxIiA+PiBuZXcgU3RyaW5nKCIxIikgPT09IDAuIEFjdHVhbDogJyArICgiMSIgPj4gbmV3IFN0cmluZygiMSIpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAobmV3IFN0cmluZygiMSIpID4+IG5ldyBTdHJpbmcoIjEiKSAhPT0gMCkgewogICRFUlJPUignIzQ6IG5ldyBTdHJpbmcoIjEiKSA+PiBuZXcgU3RyaW5nKCIxIikgPT09IDAuIEFjdHVhbDogJyArIChuZXcgU3RyaW5nKCIxIikgPj4gbmV3IFN0cmluZygiMSIpKSk7Cn0KCi8vQ0hFQ0sjNQppZiAoIngiID4+ICIxIiAhPT0gMCkgewogICRFUlJPUignIzU6ICJ4IiA+PiAiMSIgPT09IDAuIEFjdHVhbDogJyArICgieCIgPj4gIjEiKSk7Cn0KCi8vQ0hFQ0sjNgppZiAoIjEiID4+ICJ4IiAhPT0gMSkgewogICRFUlJPUignIzY6ICIxIiA+PiAieCIgPT09IDEuIEFjdHVhbDogJyArICgiMSIgPj4gIngiKSk7Cn0KCg==",
"commentary":"Operator x >> y returns ToNumber(x) >> ToNumber(y)",
"description":"Type(x) and Type(y) vary between primitive string and String object",
"path":"TestCases/ch11/11.7/11.7.2/S11.7.2_A3_T1.3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+IHkgcmV0dXJucyBUb051bWJlcih4KSA+PiBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4yL1MxMS43LjJfQTNfVDEuNC5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBhbmQgVHlwZSh5KSB2YXJ5IGJldHdlZW4gTnVsbCBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCmlmIChudWxsID4+IHVuZGVmaW5lZCAhPT0gMCkgewogICRFUlJPUignIzE6IG51bGwgPj4gdW5kZWZpbmVkID09PSAwLiBBY3R1YWw6ICcgKyAobnVsbCA+PiB1bmRlZmluZWQpKTsKfQoKLy9DSEVDSyMyCmlmICh1bmRlZmluZWQgPj4gbnVsbCAhPT0gMCkgewogICRFUlJPUignIzI6IHVuZGVmaW5lZCA+PiBudWxsID09PSAwLiBBY3R1YWw6ICcgKyAodW5kZWZpbmVkID4+IG51bGwpKTsKfQoKLy9DSEVDSyMzCmlmICh1bmRlZmluZWQgPj4gdW5kZWZpbmVkICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogdW5kZWZpbmVkID4+IHVuZGVmaW5lZCA9PT0gMC4gQWN0dWFsOiAnICsgKHVuZGVmaW5lZCA+PiB1bmRlZmluZWQpKTsKfQoKLy9DSEVDSyM0CmlmIChudWxsID4+IG51bGwgIT09IDApIHsKICAkRVJST1IoJyM0OiBudWxsID4+IG51bGwgPT09IDAuIEFjdHVhbDogJyArIChudWxsID4+IG51bGwpKTsKfQoK",
"commentary":"Operator x >> y returns ToNumber(x) >> ToNumber(y)",
"description":"Type(x) and Type(y) vary between Null and Undefined",
"path":"TestCases/ch11/11.7/11.7.2/S11.7.2_A3_T1.4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+IHkgcmV0dXJucyBUb051bWJlcih4KSA+PiBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4yL1MxMS43LjJfQTNfVDEuNS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBhbmQgVHlwZSh5KSB2YXJ5IGJldHdlZW4gT2JqZWN0IG9iamVjdCBhbmQgRnVuY3Rpb24gb2JqZWN0CiAqLwoKLy9DSEVDSyMxCmlmICgoe30gPj4gZnVuY3Rpb24oKXtyZXR1cm4gMX0pICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogKHt9ID4+IGZ1bmN0aW9uKCl7cmV0dXJuIDF9KSA9PT0gMC4gQWN0dWFsOiAnICsgKCh7fSA+PiBmdW5jdGlvbigpe3JldHVybiAxfSkpKTsKfQoKLy9DSEVDSyMyCmlmICgoZnVuY3Rpb24oKXtyZXR1cm4gMX0gPj4ge30pICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogKGZ1bmN0aW9uKCl7cmV0dXJuIDF9ID4+IHt9KSA9PT0gMC4gQWN0dWFsOiAnICsgKChmdW5jdGlvbigpe3JldHVybiAxfSA+PiB7fSkpKTsKfQoKLy9DSEVDSyMzCmlmICgoZnVuY3Rpb24oKXtyZXR1cm4gMX0gPj4gZnVuY3Rpb24oKXtyZXR1cm4gMX0pICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogKGZ1bmN0aW9uKCl7cmV0dXJuIDF9ID4+IGZ1bmN0aW9uKCl7cmV0dXJuIDF9KSA9PT0gMC4gQWN0dWFsOiAnICsgKChmdW5jdGlvbigpe3JldHVybiAxfSA+PiBmdW5jdGlvbigpe3JldHVybiAxfSkpKTsKfQoKLy9DSEVDSyM0CmlmICgoe30gPj4ge30pICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogKHt9ID4+IHt9KSA9PT0gMC4gQWN0dWFsOiAnICsgKCh7fSA+PiB7fSkpKTsKfQoKCg==",
"commentary":"Operator x >> y returns ToNumber(x) >> ToNumber(y)",
"description":"Type(x) and Type(y) vary between Object object and Function object",
"path":"TestCases/ch11/11.7/11.7.2/S11.7.2_A3_T1.5.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+IHkgcmV0dXJucyBUb051bWJlcih4KSA+PiBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4yL1MxMS43LjJfQTNfVDIuMS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBOdW1iZXIgKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBCb29sZWFuIChwcmltaXRpdmUgYW5kIG9iamVjdCkKICovCgovL0NIRUNLIzEKaWYgKHRydWUgPj4gMSAhPT0gMCkgewogICRFUlJPUignIzE6IHRydWUgPj4gMSA9PT0gMC4gQWN0dWFsOiAnICsgKHRydWUgPj4gMSkpOwp9CgovL0NIRUNLIzIKaWYgKDEgPj4gdHJ1ZSAhPT0gMCkgewogICRFUlJPUignIzI6IDEgPj4gdHJ1ZSA9PT0gMC4gQWN0dWFsOiAnICsgKDEgPj4gdHJ1ZSkpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBCb29sZWFuKHRydWUpID4+IDEgIT09IDApIHsKICAkRVJST1IoJyMzOiBuZXcgQm9vbGVhbih0cnVlKSA+PiAxID09PSAwLiBBY3R1YWw6ICcgKyAobmV3IEJvb2xlYW4odHJ1ZSkgPj4gMSkpOwp9CgovL0NIRUNLIzQKaWYgKDEgPj4gbmV3IEJvb2xlYW4odHJ1ZSkgIT09IDApIHsKICAkRVJST1IoJyM0OiAxID4+IG5ldyBCb29sZWFuKHRydWUpID09PSAwLiBBY3R1YWw6ICcgKyAoMSA+PiBuZXcgQm9vbGVhbih0cnVlKSkpOwp9CgovL0NIRUNLIzUKaWYgKHRydWUgPj4gbmV3IE51bWJlcigxKSAhPT0gMCkgewogICRFUlJPUignIzU6IHRydWUgPj4gbmV3IE51bWJlcigxKSA9PT0gMC4gQWN0dWFsOiAnICsgKHRydWUgPj4gbmV3IE51bWJlcigxKSkpOwp9CgovL0NIRUNLIzYKaWYgKG5ldyBOdW1iZXIoMSkgPj4gdHJ1ZSAhPT0gMCkgewogICRFUlJPUignIzY6IG5ldyBOdW1iZXIoMSkgPj4gdHJ1ZSA9PT0gMC4gQWN0dWFsOiAnICsgKG5ldyBOdW1iZXIoMSkgPj4gdHJ1ZSkpOwp9CgovL0NIRUNLIzcKaWYgKG5ldyBCb29sZWFuKHRydWUpID4+IG5ldyBOdW1iZXIoMSkgIT09IDApIHsKICAkRVJST1IoJyM3OiBuZXcgQm9vbGVhbih0cnVlKSA+PiBuZXcgTnVtYmVyKDEpID09PSAwLiBBY3R1YWw6ICcgKyAobmV3IEJvb2xlYW4odHJ1ZSkgPj4gbmV3IE51bWJlcigxKSkpOwp9CgovL0NIRUNLIzgKaWYgKG5ldyBOdW1iZXIoMSkgPj4gbmV3IEJvb2xlYW4odHJ1ZSkgIT09IDApIHsKICAkRVJST1IoJyM4OiBuZXcgTnVtYmVyKDEpID4+IG5ldyBCb29sZWFuKHRydWUpID09PSAwLiBBY3R1YWw6ICcgKyAobmV3IE51bWJlcigxKSA+PiBuZXcgQm9vbGVhbih0cnVlKSkpOwp9Cgo=",
"commentary":"Operator x >> y returns ToNumber(x) >> ToNumber(y)",
"description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Boolean (primitive and object)",
"path":"TestCases/ch11/11.7/11.7.2/S11.7.2_A3_T2.1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+IHkgcmV0dXJucyBUb051bWJlcih4KSA+PiBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4yL1MxMS43LjJfQTNfVDIuMi5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBOdW1iZXIgKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBTdHJpbmcgKHByaW1pdGl2ZSBhbmQgb2JqZWN0KQogKi8KCi8vQ0hFQ0sjMQppZiAoIjEiID4+IDEgIT09IDApIHsKICAkRVJST1IoJyMxOiAiMSIgPj4gMSA9PT0gMC4gQWN0dWFsOiAnICsgKCIxIiA+PiAxKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoMSA+PiAiMSIgIT09IDApIHsKICAkRVJST1IoJyMyOiAxID4+ICIxIiA9PT0gMC4gQWN0dWFsOiAnICsgKDEgPj4gIjEiKSk7Cn0KCi8vQ0hFQ0sjMwppZiAobmV3IFN0cmluZygiMSIpID4+IDEgIT09IDApIHsKICAkRVJST1IoJyMzOiBuZXcgU3RyaW5nKCIxIikgPj4gMSA9PT0gMC4gQWN0dWFsOiAnICsgKG5ldyBTdHJpbmcoIjEiKSA+PiAxKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoMSA+PiBuZXcgU3RyaW5nKCIxIikgIT09IDApIHsKICAkRVJST1IoJyM0OiAxID4+IG5ldyBTdHJpbmcoIjEiKSA9PT0gMC4gQWN0dWFsOiAnICsgKDEgPj4gbmV3IFN0cmluZygiMSIpKSk7Cn0KCi8vQ0hFQ0sjNQppZiAoIjEiID4+IG5ldyBOdW1iZXIoMSkgIT09IDApIHsKICAkRVJST1IoJyM1OiAiMSIgPj4gbmV3IE51bWJlcigxKSA9PT0gMC4gQWN0dWFsOiAnICsgKCIxIiA+PiBuZXcgTnVtYmVyKDEpKSk7Cn0KCi8vQ0hFQ0sjNgppZiAobmV3IE51bWJlcigxKSA+PiAiMSIgIT09IDApIHsKICAkRVJST1IoJyM2OiBuZXcgTnVtYmVyKDEpID4+ICIxIiA9PT0gMC4gQWN0dWFsOiAnICsgKG5ldyBOdW1iZXIoMSkgPj4gIjEiKSk7Cn0KCi8vQ0hFQ0sjNwppZiAobmV3IFN0cmluZygiMSIpID4+IG5ldyBOdW1iZXIoMSkgIT09IDApIHsKICAkRVJST1IoJyM3OiBuZXcgU3RyaW5nKCIxIikgPj4gbmV3IE51bWJlcigxKSA9PT0gMC4gQWN0dWFsOiAnICsgKG5ldyBTdHJpbmcoIjEiKSA+PiBuZXcgTnVtYmVyKDEpKSk7Cn0KCi8vQ0hFQ0sjOAppZiAobmV3IE51bWJlcigxKSA+PiBuZXcgU3RyaW5nKCIxIikgIT09IDApIHsKICAkRVJST1IoJyM4OiBuZXcgTnVtYmVyKDEpID4+IG5ldyBTdHJpbmcoIjEiKSA9PT0gMC4gQWN0dWFsOiAnICsgKG5ldyBOdW1iZXIoMSkgPj4gbmV3IFN0cmluZygiMSIpKSk7Cn0KCi8vQ0hFQ0sjOQppZiAoIngiID4+IDEgIT09IDApIHsKICAkRVJST1IoJyM5OiAieCIgPj4gMSA9PT0gMC4gQWN0dWFsOiAnICsgKCJ4IiA+PiAxKSk7Cn0KCi8vQ0hFQ0sjMTAKaWYgKDEgPj4gIngiICE9PSAxKSB7CiAgJEVSUk9SKCcjMTA6IDEgPj4gIngiID09PSAxLiBBY3R1YWw6ICcgKyAoMSA+PiAieCIpKTsKfQoK",
"commentary":"Operator x >> y returns ToNumber(x) >> ToNumber(y)",
"description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object)",
"path":"TestCases/ch11/11.7/11.7.2/S11.7.2_A3_T2.2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+IHkgcmV0dXJucyBUb051bWJlcih4KSA+PiBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4yL1MxMS43LjJfQTNfVDIuMy5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBOdW1iZXIgKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBOdWxsCiAqLwoKLy9DSEVDSyMxCmlmICgxID4+IG51bGwgIT09IDEpIHsKICAkRVJST1IoJyMxOiAxID4+IG51bGwgPT09IDEuIEFjdHVhbDogJyArICgxID4+IG51bGwpKTsKfQoKLy9DSEVDSyMyCmlmIChudWxsID4+IDEgIT09IDApIHsKICAkRVJST1IoJyMyOiBudWxsID4+IDEgPT09IDAuIEFjdHVhbDogJyArIChudWxsID4+IDEpKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgTnVtYmVyKDEpID4+IG51bGwgIT09IDEpIHsKICAkRVJST1IoJyMzOiBuZXcgTnVtYmVyKDEpID4+IG51bGwgPT09IDEuIEFjdHVhbDogJyArIChuZXcgTnVtYmVyKDEpID4+IG51bGwpKTsKfQoKLy9DSEVDSyM0CmlmIChudWxsID4+IG5ldyBOdW1iZXIoMSkgIT09IDApIHsKICAkRVJST1IoJyM0OiBudWxsID4+IG5ldyBOdW1iZXIoMSkgPT09IDAuIEFjdHVhbDogJyArIChudWxsID4+IG5ldyBOdW1iZXIoMSkpKTsKfQoK",
"commentary":"Operator x >> y returns ToNumber(x) >> ToNumber(y)",
"description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null",
"path":"TestCases/ch11/11.7/11.7.2/S11.7.2_A3_T2.3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+IHkgcmV0dXJucyBUb051bWJlcih4KSA+PiBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4yL1MxMS43LjJfQTNfVDIuNC5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBOdW1iZXIgKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBVbmRlZmluZWQKICovCgovL0NIRUNLIzEKaWYgKDEgPj4gdW5kZWZpbmVkICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogMSA+PiB1bmRlZmluZWQgPT09IDEuIEFjdHVhbDogJyArICgxID4+IHVuZGVmaW5lZCkpOwp9CgovL0NIRUNLIzIKaWYgKHVuZGVmaW5lZCA+PiAxICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogdW5kZWZpbmVkID4+IDEgPT09IDAuIEFjdHVhbDogJyArICh1bmRlZmluZWQgPj4gMSkpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBOdW1iZXIoMSkgPj4gdW5kZWZpbmVkICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogbmV3IE51bWJlcigxKSA+PiB1bmRlZmluZWQgPT09IDEuIEFjdHVhbDogJyArIChuZXcgTnVtYmVyKDEpID4+IHVuZGVmaW5lZCkpOwp9CgovL0NIRUNLIzQKaWYgKHVuZGVmaW5lZCA+PiBuZXcgTnVtYmVyKDEpICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogdW5kZWZpbmVkID4+IG5ldyBOdW1iZXIoMSkgPT09IDAuIEFjdHVhbDogJyArICh1bmRlZmluZWQgPj4gbmV3IE51bWJlcigxKSkpOwp9Cgo=",
"commentary":"Operator x >> y returns ToNumber(x) >> ToNumber(y)",
"description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined",
"path":"TestCases/ch11/11.7/11.7.2/S11.7.2_A3_T2.4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+IHkgcmV0dXJucyBUb051bWJlcih4KSA+PiBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4yL1MxMS43LjJfQTNfVDIuNS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBTdHJpbmcgKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBCb29sZWFuIChwcmltaXRpdmUgYW5kIG9iamVjdCkKICovCgovL0NIRUNLIzEKaWYgKHRydWUgPj4gIjEiICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogdHJ1ZSA+PiAiMSIgPT09IDAuIEFjdHVhbDogJyArICh0cnVlID4+ICIxIikpOwp9CgovL0NIRUNLIzIKaWYgKCIxIiA+PiB0cnVlICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogIjEiID4+IHRydWUgPT09IDAuIEFjdHVhbDogJyArICgiMSIgPj4gdHJ1ZSkpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBCb29sZWFuKHRydWUpID4+ICIxIiAhPT0gMCkgewogICRFUlJPUignIzM6IG5ldyBCb29sZWFuKHRydWUpID4+ICIxIiA9PT0gMC4gQWN0dWFsOiAnICsgKG5ldyBCb29sZWFuKHRydWUpID4+ICIxIikpOwp9CgovL0NIRUNLIzQKaWYgKCIxIiA+PiBuZXcgQm9vbGVhbih0cnVlKSAhPT0gMCkgewogICRFUlJPUignIzQ6ICIxIiA+PiBuZXcgQm9vbGVhbih0cnVlKSA9PT0gMC4gQWN0dWFsOiAnICsgKCIxIiA+PiBuZXcgQm9vbGVhbih0cnVlKSkpOwp9CgovL0NIRUNLIzUKaWYgKHRydWUgPj4gbmV3IFN0cmluZygiMSIpICE9PSAwKSB7CiAgJEVSUk9SKCcjNTogdHJ1ZSA+PiBuZXcgU3RyaW5nKCIxIikgPT09IDAuIEFjdHVhbDogJyArICh0cnVlID4+IG5ldyBTdHJpbmcoIjEiKSkpOwp9CgovL0NIRUNLIzYKaWYgKG5ldyBTdHJpbmcoIjEiKSA+PiB0cnVlICE9PSAwKSB7CiAgJEVSUk9SKCcjNjogbmV3IFN0cmluZygiMSIpID4+IHRydWUgPT09IDAuIEFjdHVhbDogJyArIChuZXcgU3RyaW5nKCIxIikgPj4gdHJ1ZSkpOwp9CgovL0NIRUNLIzcKaWYgKG5ldyBCb29sZWFuKHRydWUpID4+IG5ldyBTdHJpbmcoIjEiKSAhPT0gMCkgewogICRFUlJPUignIzc6IG5ldyBCb29sZWFuKHRydWUpID4+IG5ldyBTdHJpbmcoIjEiKSA9PT0gMC4gQWN0dWFsOiAnICsgKG5ldyBCb29sZWFuKHRydWUpID4+IG5ldyBTdHJpbmcoIjEiKSkpOwp9CgovL0NIRUNLIzgKaWYgKG5ldyBTdHJpbmcoIjEiKSA+PiBuZXcgQm9vbGVhbih0cnVlKSAhPT0gMCkgewogICRFUlJPUignIzg6IG5ldyBTdHJpbmcoIjEiKSA+PiBuZXcgQm9vbGVhbih0cnVlKSA9PT0gMC4gQWN0dWFsOiAnICsgKG5ldyBTdHJpbmcoIjEiKSA+PiBuZXcgQm9vbGVhbih0cnVlKSkpOwp9Cgo=",
"commentary":"Operator x >> y returns ToNumber(x) >> ToNumber(y)",
"description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Boolean (primitive and object)",
"path":"TestCases/ch11/11.7/11.7.2/S11.7.2_A3_T2.5.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+IHkgcmV0dXJucyBUb051bWJlcih4KSA+PiBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4yL1MxMS43LjJfQTNfVDIuNi5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBTdHJpbmcgKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBVbmRlZmluZWQKICovCgovL0NIRUNLIzEKaWYgKCIxIiA+PiB1bmRlZmluZWQgIT09IDEpIHsKICAkRVJST1IoJyMxOiAiMSIgPj4gdW5kZWZpbmVkID09PSAxLiBBY3R1YWw6ICcgKyAoIjEiID4+IHVuZGVmaW5lZCkpOwp9CgovL0NIRUNLIzIKaWYgKHVuZGVmaW5lZCA+PiAiMSIgIT09IDApIHsKICAkRVJST1IoJyMyOiB1bmRlZmluZWQgPj4gIjEiID09PSAwLiBBY3R1YWw6ICcgKyAodW5kZWZpbmVkID4+ICIxIikpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBTdHJpbmcoIjEiKSA+PiB1bmRlZmluZWQgIT09IDEpIHsKICAkRVJST1IoJyMzOiBuZXcgU3RyaW5nKCIxIikgPj4gdW5kZWZpbmVkID09PSAxLiBBY3R1YWw6ICcgKyAobmV3IFN0cmluZygiMSIpID4+IHVuZGVmaW5lZCkpOwp9CgovL0NIRUNLIzQKaWYgKHVuZGVmaW5lZCA+PiBuZXcgU3RyaW5nKCIxIikgIT09IDApIHsKICAkRVJST1IoJyM0OiB1bmRlZmluZWQgPj4gbmV3IFN0cmluZygiMSIpID09PSAwLiBBY3R1YWw6ICcgKyAodW5kZWZpbmVkID4+IG5ldyBTdHJpbmcoIjEiKSkpOwp9Cgo=",
"commentary":"Operator x >> y returns ToNumber(x) >> ToNumber(y)",
"description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Undefined",
"path":"TestCases/ch11/11.7/11.7.2/S11.7.2_A3_T2.6.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+IHkgcmV0dXJucyBUb051bWJlcih4KSA+PiBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4yL1MxMS43LjJfQTNfVDIuNy5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBTdHJpbmcgKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBOdWxsCiAqLwoKLy9DSEVDSyMxCmlmICgiMSIgPj4gbnVsbCAhPT0gMSkgewogICRFUlJPUignIzE6ICIxIiA+PiBudWxsID09PSAxLiBBY3R1YWw6ICcgKyAoIjEiID4+IG51bGwpKTsKfQoKLy9DSEVDSyMyCmlmIChudWxsID4+ICIxIiAhPT0gMCkgewogICRFUlJPUignIzI6IG51bGwgPj4gIjEiID09PSAwLiBBY3R1YWw6ICcgKyAobnVsbCA+PiAiMSIpKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgU3RyaW5nKCIxIikgPj4gbnVsbCAhPT0gMSkgewogICRFUlJPUignIzM6IG5ldyBTdHJpbmcoIjEiKSA+PiBudWxsID09PSAxLiBBY3R1YWw6ICcgKyAobmV3IFN0cmluZygiMSIpID4+IG51bGwpKTsKfQoKLy9DSEVDSyM0CmlmIChudWxsID4+IG5ldyBTdHJpbmcoIjEiKSAhPT0gMCkgewogICRFUlJPUignIzQ6IG51bGwgPj4gbmV3IFN0cmluZygiMSIpID09PSAwLiBBY3R1YWw6ICcgKyAobnVsbCA+PiBuZXcgU3RyaW5nKCIxIikpKTsKfQoK",
"commentary":"Operator x >> y returns ToNumber(x) >> ToNumber(y)",
"description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null",
"path":"TestCases/ch11/11.7/11.7.2/S11.7.2_A3_T2.7.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+IHkgcmV0dXJucyBUb051bWJlcih4KSA+PiBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4yL1MxMS43LjJfQTNfVDIuOC5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBCb29sZWFuIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCmlmICh0cnVlID4+IHVuZGVmaW5lZCAhPT0gMSkgewogICRFUlJPUignIzE6IHRydWUgPj4gdW5kZWZpbmVkID09PSAxLiBBY3R1YWw6ICcgKyAodHJ1ZSA+PiB1bmRlZmluZWQpKTsKfQoKLy9DSEVDSyMyCmlmICh1bmRlZmluZWQgPj4gdHJ1ZSAhPT0gMCkgewogICRFUlJPUignIzI6IHVuZGVmaW5lZCA+PiB0cnVlID09PSAwLiBBY3R1YWw6ICcgKyAodW5kZWZpbmVkID4+IHRydWUpKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgQm9vbGVhbih0cnVlKSA+PiB1bmRlZmluZWQgIT09IDEpIHsKICAkRVJST1IoJyMzOiBuZXcgQm9vbGVhbih0cnVlKSA+PiB1bmRlZmluZWQgPT09IDEuIEFjdHVhbDogJyArIChuZXcgQm9vbGVhbih0cnVlKSA+PiB1bmRlZmluZWQpKTsKfQoKLy9DSEVDSyM0CmlmICh1bmRlZmluZWQgPj4gbmV3IEJvb2xlYW4odHJ1ZSkgIT09IDApIHsKICAkRVJST1IoJyM0OiB1bmRlZmluZWQgPj4gbmV3IEJvb2xlYW4odHJ1ZSkgPT09IDAuIEFjdHVhbDogJyArICh1bmRlZmluZWQgPj4gbmV3IEJvb2xlYW4odHJ1ZSkpKTsKfQoK",
"commentary":"Operator x >> y returns ToNumber(x) >> ToNumber(y)",
"description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined",
"path":"TestCases/ch11/11.7/11.7.2/S11.7.2_A3_T2.8.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+IHkgcmV0dXJucyBUb051bWJlcih4KSA+PiBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4yL1MxMS43LjJfQTNfVDIuOS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBCb29sZWFuIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQppZiAodHJ1ZSA+PiBudWxsICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogdHJ1ZSA+PiBudWxsID09PSAxLiBBY3R1YWw6ICcgKyAodHJ1ZSA+PiBudWxsKSk7Cn0KCi8vQ0hFQ0sjMgppZiAobnVsbCA+PiB0cnVlICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogbnVsbCA+PiB0cnVlID09PSAwLiBBY3R1YWw6ICcgKyAobnVsbCA+PiB0cnVlKSk7Cn0KCi8vQ0hFQ0sjMwppZiAobmV3IEJvb2xlYW4odHJ1ZSkgPj4gbnVsbCAhPT0gMSkgewogICRFUlJPUignIzM6IG5ldyBCb29sZWFuKHRydWUpID4+IG51bGwgPT09IDEuIEFjdHVhbDogJyArIChuZXcgQm9vbGVhbih0cnVlKSA+PiBudWxsKSk7Cn0KCi8vQ0hFQ0sjNAppZiAobnVsbCA+PiBuZXcgQm9vbGVhbih0cnVlKSAhPT0gMCkgewogICRFUlJPUignIzQ6IG51bGwgPj4gbmV3IEJvb2xlYW4odHJ1ZSkgPT09IDAuIEFjdHVhbDogJyArIChudWxsID4+IG5ldyBCb29sZWFuKHRydWUpKSk7Cn0KCg==",
"commentary":"Operator x >> y returns ToNumber(x) >> ToNumber(y)",
"description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null",
"path":"TestCases/ch11/11.7/11.7.2/S11.7.2_A3_T2.9.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayB4ID4+IHkgb3BlcmF0b3IgaW4gZGlzdGluY3QgcG9pbnRzCiAqCiAqIEBwYXRoIGNoMTEvMTEuNy8xMS43LjIvUzExLjcuMl9BNF9UMS5qcwogKiBAZGVzY3JpcHRpb24gU2hpZnRFeHByZXNzaW9uID0gLTJebiwgbiA9IDAuLi4xNQogKi8KCi8vQ0hFQ0sKCmlmICgtMSA+PiAwICE9PSAtMSkgeyAKICAkRVJST1IoJyMxOiAtMSA+PiAwID09PSAtMS4gQWN0dWFsOiAnICsgKC0xID4+IDApKTsgCn0gCgoKaWYgKC0yID4+IDAgIT09IC0yKSB7IAogICRFUlJPUignIzI6IC0yID4+IDAgPT09IC0yLiBBY3R1YWw6ICcgKyAoLTIgPj4gMCkpOyAKfSAKCgppZiAoLTQgPj4gMCAhPT0gLTQpIHsgCiAgJEVSUk9SKCcjMzogLTQgPj4gMCA9PT0gLTQuIEFjdHVhbDogJyArICgtNCA+PiAwKSk7IAp9IAoKCmlmICgtOCA+PiAwICE9PSAtOCkgeyAKICAkRVJST1IoJyM0OiAtOCA+PiAwID09PSAtOC4gQWN0dWFsOiAnICsgKC04ID4+IDApKTsgCn0gCgoKaWYgKC0xNiA+PiAwICE9PSAtMTYpIHsgCiAgJEVSUk9SKCcjNTogLTE2ID4+IDAgPT09IC0xNi4gQWN0dWFsOiAnICsgKC0xNiA+PiAwKSk7IAp9IAoKCmlmICgtMzIgPj4gMCAhPT0gLTMyKSB7IAogICRFUlJPUignIzY6IC0zMiA+PiAwID09PSAtMzIuIEFjdHVhbDogJyArICgtMzIgPj4gMCkpOyAKfSAKCgppZiAoLTY0ID4+IDAgIT09IC02NCkgeyAKICAkRVJST1IoJyM3OiAtNjQgPj4gMCA9PT0gLTY0LiBBY3R1YWw6ICcgKyAoLTY0ID4+IDApKTsgCn0gCgoKaWYgKC0xMjggPj4gMCAhPT0gLTEyOCkgeyAKICAkRVJST1IoJyM4OiAtMTI4ID4+IDAgPT09IC0xMjguIEFjdHVhbDogJyArICgtMTI4ID4+IDApKTsgCn0gCgoKaWYgKC0yNTYgPj4gMCAhPT0gLTI1NikgeyAKICAkRVJST1IoJyM5OiAtMjU2ID4+IDAgPT09IC0yNTYuIEFjdHVhbDogJyArICgtMjU2ID4+IDApKTsgCn0gCgoKaWYgKC01MTIgPj4gMCAhPT0gLTUxMikgeyAKICAkRVJST1IoJyMxMDogLTUxMiA+PiAwID09PSAtNTEyLiBBY3R1YWw6ICcgKyAoLTUxMiA+PiAwKSk7IAp9IAoKCmlmICgtMTAyNCA+PiAwICE9PSAtMTAyNCkgeyAKICAkRVJST1IoJyMxMTogLTEwMjQgPj4gMCA9PT0gLTEwMjQuIEFjdHVhbDogJyArICgtMTAyNCA+PiAwKSk7IAp9IAoKCmlmICgtMjA0OCA+PiAwICE9PSAtMjA0OCkgeyAKICAkRVJST1IoJyMxMjogLTIwNDggPj4gMCA9PT0gLTIwNDguIEFjdHVhbDogJyArICgtMjA0OCA+PiAwKSk7IAp9IAoKCmlmICgtNDA5NiA+PiAwICE9PSAtNDA5NikgeyAKICAkRVJST1IoJyMxMzogLTQwOTYgPj4gMCA9PT0gLTQwOTYuIEFjdHVhbDogJyArICgtNDA5NiA+PiAwKSk7IAp9IAoKCmlmICgtODE5MiA+PiAwICE9PSAtODE5MikgeyAKICAkRVJST1IoJyMxNDogLTgxOTIgPj4gMCA9PT0gLTgxOTIuIEFjdHVhbDogJyArICgtODE5MiA+PiAwKSk7IAp9IAoKCmlmICgtMTYzODQgPj4gMCAhPT0gLTE2Mzg0KSB7IAogICRFUlJPUignIzE1OiAtMTYzODQgPj4gMCA9PT0gLTE2Mzg0LiBBY3R1YWw6ICcgKyAoLTE2Mzg0ID4+IDApKTsgCn0gCgoKaWYgKC0zMjc2OCA+PiAwICE9PSAtMzI3NjgpIHsgCiAgJEVSUk9SKCcjMTY6IC0zMjc2OCA+PiAwID09PSAtMzI3NjguIEFjdHVhbDogJyArICgtMzI3NjggPj4gMCkpOyAKfSAKCgppZiAoLTY1NTM2ID4+IDAgIT09IC02NTUzNikgeyAKICAkRVJST1IoJyMxNzogLTY1NTM2ID4+IDAgPT09IC02NTUzNi4gQWN0dWFsOiAnICsgKC02NTUzNiA+PiAwKSk7IAp9IAoKCmlmICgtMTMxMDcyID4+IDAgIT09IC0xMzEwNzIpIHsgCiAgJEVSUk9SKCcjMTg6IC0xMzEwNzIgPj4gMCA9PT0gLTEzMTA3Mi4gQWN0dWFsOiAnICsgKC0xMzEwNzIgPj4gMCkpOyAKfSAKCgppZiAoLTI2MjE0NCA+PiAwICE9PSAtMjYyMTQ0KSB7IAogICRFUlJPUignIzE5OiAtMjYyMTQ0ID4+IDAgPT09IC0yNjIxNDQuIEFjdHVhbDogJyArICgtMjYyMTQ0ID4+IDApKTsgCn0gCgoKaWYgKC01MjQyODggPj4gMCAhPT0gLTUyNDI4OCkgeyAKICAkRVJST1IoJyMyMDogLTUyNDI4OCA+PiAwID09PSAtNTI0Mjg4LiBBY3R1YWw6ICcgKyAoLTUyNDI4OCA+PiAwKSk7IAp9IAoKCmlmICgtMTA0ODU3NiA+PiAwICE9PSAtMTA0ODU3NikgeyAKICAkRVJST1IoJyMyMTogLTEwNDg1NzYgPj4gMCA9PT0gLTEwNDg1NzYuIEFjdHVhbDogJyArICgtMTA0ODU3NiA+PiAwKSk7IAp9IAoKCmlmICgtMjA5NzE1MiA+PiAwICE9PSAtMjA5NzE1MikgeyAKICAkRVJST1IoJyMyMjogLTIwOTcxNTIgPj4gMCA9PT0gLTIwOTcxNTIuIEFjdHVhbDogJyArICgtMjA5NzE1MiA+PiAwKSk7IAp9IAoKCmlmICgtNDE5NDMwNCA+PiAwICE9PSAtNDE5NDMwNCkgeyAKICAkRVJST1IoJyMyMzogLTQxOTQzMDQgPj4gMCA9PT0gLTQxOTQzMDQuIEFjdHVhbDogJyArICgtNDE5NDMwNCA+PiAwKSk7IAp9IAoKCmlmICgtODM4ODYwOCA+PiAwICE9PSAtODM4ODYwOCkgeyAKICAkRVJST1IoJyMyNDogLTgzODg2MDggPj4gMCA9PT0gLTgzODg2MDguIEFjdHVhbDogJyArICgtODM4ODYwOCA+PiAwKSk7IAp9IAoKCmlmICgtMTY3NzcyMTYgPj4gMCAhPT0gLTE2Nzc3MjE2KSB7IAogICRFUlJPUignIzI1OiAtMTY3NzcyMTYgPj4gMCA9PT0gLTE2Nzc3MjE2LiBBY3R1YWw6ICcgKyAoLTE2Nzc3MjE2ID4+IDApKTsgCn0gCgoKaWYgKC0zMzU1NDQzMiA+PiAwICE9PSAtMzM1NTQ0MzIpIHsgCiAgJEVSUk9SKCcjMjY6IC0zMzU1NDQzMiA+PiAwID09PSAtMzM1NTQ0MzIuIEFjdHVhbDogJyArICgtMzM1NTQ0MzIgPj4gMCkpOyAKfSAKCgppZiAoLTY3MTA4ODY0ID4+IDAgIT09IC02NzEwODg2NCkgeyAKICAkRVJST1IoJyMyNzogLTY3MTA4ODY0ID4+IDAgPT09IC02NzEwODg2NC4gQWN0dWFsOiAnICsgKC02NzEwODg2NCA+PiAwKSk7IAp9IAoKCmlmICgtMTM0MjE3NzI4ID4+IDAgIT09IC0xMzQyMTc3MjgpIHsgCiAgJEVSUk9SKCcjMjg6IC0xMzQyMTc3MjggPj4gMCA9PT0gLTEzNDIxNzcyOC4gQWN0dWFsOiAnICsgKC0xMzQyMTc3MjggPj4gMCkpOyAKfSAKCgppZiAoLTI2ODQzNTQ1NiA+PiAwICE9PSAtMjY4NDM1NDU2KSB7IAogICRFUlJPUignIzI5OiAtMjY4NDM1NDU2ID4+IDAgPT09IC0yNjg0MzU0NTYuIEFjdHVhbDogJyArICgtMjY4NDM1NDU2ID4+IDApKTsgCn0gCgoKaWYgKC01MzY4NzA5MTIgPj4gMCAhPT0gLTUzNjg3MDkxMikgeyAKICAkRVJST1IoJyMzMDogLTUzNjg3MDkxMiA+PiAwID09PSAtNTM2ODcwOTEyLiBBY3R1YWw6ICcgKyAoLTUzNjg3MDkxMiA+PiAwKSk7IAp9IAoKCmlmICgtMTA3Mzc0MTgyNCA+PiAwICE9PSAtMTA3Mzc0MTgyNCkgeyAKICAkRVJST1IoJyMzMTogLTEwNzM3NDE4MjQgPj4gMCA9PT0gLTEwNzM3NDE4MjQuIEFjdHVhbDogJyArICgtMTA3Mzc0MTgyNCA+PiAwKSk7IAp9IAoKCmlmICgtMjE0NzQ4MzY0OCA+PiAwICE9PSAtMjE0NzQ4MzY0OCkgeyAKICAkRVJST1IoJyMzMjogLTIxNDc0ODM2NDggPj4gMCA9PT0gLTIxNDc0ODM2NDguIEFjdHVhbDogJyArICgtMjE0NzQ4MzY0OCA+PiAwKSk7IAp9IAoKCmlmICgtMSA+PiAxICE9PSAtMSkgeyAKICAkRVJST1IoJyMzMzogLTEgPj4gMSA9PT0gLTEuIEFjdHVhbDogJyArICgtMSA+PiAxKSk7IAp9IAoKCmlmICgtMiA+PiAxICE9PSAtMSkgeyAKICAkRVJST1IoJyMzNDogLTIgPj4gMSA9PT0gLTEuIEFjdHVhbDogJyArICgtMiA+PiAxKSk7IAp9IAoKCmlmICgtNCA+PiAxICE9PSAtMikgeyAKICAkRVJST1IoJyMzNTogLTQgPj4gMSA9PT0gLTIuIEFjdHVhbDogJyArICgtNCA+PiAxKSk7IAp9IAoKCmlmICgtOCA+PiAxICE9PSAtNCkgeyAKICAkRVJST1IoJyMzNjogLTggPj4gMSA9PT0gLTQuIEFjdHVhbDogJyArICgtOCA+PiAxKSk7IAp9IAoKCmlmICgtMTYgPj4gMSAhPT0gLTgpIHsgCiAgJEVSUk9SKCcjMzc6IC0xNiA+PiAxID09PSAtOC4gQWN0dWFsOiAnICsgKC0xNiA+PiAxKSk7IAp9IAoKCmlmICgtMzIgPj4gMSAhPT0gLTE2KSB7IAogICRFUlJPUignIzM4OiAtMzIgPj4gMSA9PT0gLTE2LiBBY3R1YWw6ICcgKyAoLTMyID4+IDEpKTsgCn0gCgoKaWYgKC02NCA+PiAxICE9PSAtMzIpIHsgCiAgJEVSUk9SKCcjMzk6IC02NCA+PiAxID09PSAtMzIuIEFjdHVhbDogJyArICgtNjQgPj4gMSkpOyAKfSAKCgppZiAoLTEyOCA+PiAxICE9PSAtNjQpIHsgCiAgJEVSUk9SKCcjNDA6IC0xMjggPj4gMSA9PT0gLTY0LiBBY3R1YWw6ICcgKyAoLTEyOCA+PiAxKSk7IAp9IAoKCmlmICgtMjU2ID4+IDEgIT09IC0xMjgpIHsgCiAgJEVSUk9SKCcjNDE6IC0yNTYgPj4gMSA9PT0gLTEyOC4gQWN0dWFsOiAnICsgKC0yNTYgPj4gMSkpOyAKfSAKCgppZiAoLTUxMiA+PiAxICE9PSAtMjU2KSB7IAogICRFUlJPUignIzQyOiAtNTEyID4+IDEgPT09IC0yNTYuIEFjdHVhbDogJyArICgtNTEyID4+IDEpKTsgCn0gCgoKaWYgKC0xMDI0ID4+IDEgIT09IC01MTIpIHsgCiAgJEVSUk9SKCcjNDM6IC0xMDI0ID4+IDEgPT09IC01MTIuIEFjdHVhbDogJyArICgtMTAyNCA+PiAxKSk7IAp9IAoKCmlmICgtMjA0OCA+PiAxICE9PSAtMTAyNCkgeyAKICAkRVJST1IoJyM0NDogLTIwNDggPj4gMSA9PT0gLTEwMjQuIEFjdHVhbDogJyArICgtMjA0OCA+PiAxKSk7IAp9IAoKCmlmICgtNDA5NiA+PiAxICE9PSAtMjA0OCkgeyAKICAkRVJST1IoJyM0NTogLTQwOTYgPj4gMSA9PT0gLTIwNDguIEFjdHVhbDogJyArICgtNDA5NiA+PiAxKSk7IAp9IAoKCmlmICgtODE5MiA+PiAxICE9PSAtNDA5NikgeyAKICAkRVJST1IoJyM0NjogLTgxOTIgPj4gMSA9PT0gLTQwOTYuIEFjdHVhbDogJyArICgtODE5MiA+PiAxKSk7IAp9IAoKCmlmICgtMTYzODQgPj4gMSAhPT0gLTgxOTIpIHsgCiAgJEVSUk9SKCcjNDc6IC0xNjM4NCA+PiAxID09PSAtODE5Mi4gQWN0dWFsOiAnICsgKC0xNjM4NCA+PiAxKSk7IAp9IAoKCmlmICgtMzI3NjggPj4gMSAhPT0gLTE2Mzg0KSB7IAogICRFUlJPUignIzQ4OiAtMzI3NjggPj4gMSA9PT0gLTE2Mzg0LiBBY3R1YWw6ICcgKyAoLTMyNzY4ID4+IDEpKTsgCn0gCgoKaWYgKC02NTUzNiA+PiAxICE9PSAtMzI3NjgpIHsgCiAgJEVSUk9SKCcjNDk6IC02NTUzNiA+PiAxID09PSAtMzI3NjguIEFjdHVhbDogJyArICgtNjU1MzYgPj4gMSkpOyAKfSAKCgppZiAoLTEzMTA3MiA+PiAxICE9PSAtNjU1MzYpIHsgCiAgJEVSUk9SKCcjNTA6IC0xMzEwNzIgPj4gMSA9PT0gLTY1NTM2LiBBY3R1YWw6ICcgKyAoLTEzMTA3MiA+PiAxKSk7IAp9IAoKCmlmICgtMjYyMTQ0ID4+IDEgIT09IC0xMzEwNzIpIHsgCiAgJEVSUk9SKCcjNTE6IC0yNjIxNDQgPj4gMSA9PT0gLTEzMTA3Mi4gQWN0dWFsOiAnICsgKC0yNjIxNDQgPj4gMSkpOyAKfSAKCgppZiAoLTUyNDI4OCA+PiAxICE9PSAtMjYyMTQ0KSB7IAogICRFUlJPUignIzUyOiAtNTI0Mjg4ID4+IDEgPT09IC0yNjIxNDQuIEFjdHVhbDogJyArICgtNTI0Mjg4ID4+IDEpKTsgCn0gCgoKaWYgKC0xMDQ4NTc2ID4+IDEgIT09IC01MjQyODgpIHsgCiAgJEVSUk9SKCcjNTM6IC0xMDQ4NTc2ID4+IDEgPT09IC01MjQyODguIEFjdHVhbDogJyArICgtMTA0ODU3NiA+PiAxKSk7IAp9IAoKCmlmICgtMjA5NzE1MiA+PiAxICE9PSAtMTA0ODU3NikgeyAKICAkRVJST1IoJyM1NDogLTIwOTcxNTIgPj4gMSA9PT0gLTEwNDg1NzYuIEFjdHVhbDogJyArICgtMjA5NzE1MiA+PiAxKSk7IAp9IAoKCmlmICgtNDE5NDMwNCA+PiAxICE9PSAtMjA5NzE1MikgeyAKICAkRVJST1IoJyM1NTogLTQxOTQzMDQgPj4gMSA9PT0gLTIwOTcxNTIuIEFjdHVhbDogJyArICgtNDE5NDMwNCA+PiAxKSk7IAp9IAoKCmlmICgtODM4ODYwOCA+PiAxICE9PSAtNDE5NDMwNCkgeyAKICAkRVJST1IoJyM1NjogLTgzODg2MDggPj4gMSA9PT0gLTQxOTQzMDQuIEFjdHVhbDogJyArICgtODM4ODYwOCA+PiAxKSk7IAp9IAoKCmlmICgtMTY3NzcyMTYgPj4gMSAhPT0gLTgzODg2MDgpIHsgCiAgJEVSUk9SKCcjNTc6IC0xNjc3NzIxNiA+PiAxID09PSAtODM4ODYwOC4gQWN0dWFsOiAnICsgKC0xNjc3NzIxNiA+PiAxKSk7IAp9IAoKCmlmICgtMzM1NTQ0MzIgPj4gMSAhPT0gLTE2Nzc3MjE2KSB7IAogICRFUlJPUignIzU4OiAtMzM1NTQ0MzIgPj4gMSA9PT0gLTE2Nzc3MjE2LiBBY3R1YWw6ICcgKyAoLTMzNTU0NDMyID4+IDEpKTsgCn0gCgoKaWYgKC02NzEwODg2NCA+PiAxICE9PSAtMzM1NTQ0MzIpIHsgCiAgJEVSUk9SKCcjNTk6IC02NzEwODg2NCA+PiAxID09PSAtMzM1NTQ0MzIuIEFjdHVhbDogJyArICgtNjcxMDg4NjQgPj4gMSkpOyAKfSAKCgppZiAoLTEzNDIxNzcyOCA+PiAxICE9PSAtNjcxMDg4NjQpIHsgCiAgJEVSUk9SKCcjNjA6IC0xMzQyMTc3MjggPj4gMSA9PT0gLTY3MTA4ODY0LiBBY3R1YWw6ICcgKyAoLTEzNDIxNzcyOCA+PiAxKSk7IAp9IAoKCmlmICgtMjY4NDM1NDU2ID4+IDEgIT09IC0xMzQyMTc3MjgpIHsgCiAgJEVSUk9SKCcjNjE6IC0yNjg0MzU0NTYgPj4gMSA9PT0gLTEzNDIxNzcyOC4gQWN0dWFsOiAnICsgKC0yNjg0MzU0NTYgPj4gMSkpOyAKfSAKCgppZiAoLTUzNjg3MDkxMiA+PiAxICE9PSAtMjY4NDM1NDU2KSB7IAogICRFUlJPUignIzYyOiAtNTM2ODcwOTEyID4+IDEgPT09IC0yNjg0MzU0NTYuIEFjdHVhbDogJyArICgtNTM2ODcwOTEyID4+IDEpKTsgCn0gCgoKaWYgKC0xMDczNzQxODI0ID4+IDEgIT09IC01MzY4NzA5MTIpIHsgCiAgJEVSUk9SKCcjNjM6IC0xMDczNzQxODI0ID4+IDEgPT09IC01MzY4NzA5MTIuIEFjdHVhbDogJyArICgtMTA3Mzc0MTgyNCA+PiAxKSk7IAp9IAoKCmlmICgtMjE0NzQ4MzY0OCA+PiAxICE9PSAtMTA3Mzc0MTgyNCkgeyAKICAkRVJST1IoJyM2NDogLTIxNDc0ODM2NDggPj4gMSA9PT0gLTEwNzM3NDE4MjQuIEFjdHVhbDogJyArICgtMjE0NzQ4MzY0OCA+PiAxKSk7IAp9IAoKCmlmICgtMSA+PiAyICE9PSAtMSkgeyAKICAkRVJST1IoJyM2NTogLTEgPj4gMiA9PT0gLTEuIEFjdHVhbDogJyArICgtMSA+PiAyKSk7IAp9IAoKCmlmICgtMiA+PiAyICE9PSAtMSkgeyAKICAkRVJST1IoJyM2NjogLTIgPj4gMiA9PT0gLTEuIEFjdHVhbDogJyArICgtMiA+PiAyKSk7IAp9IAoKCmlmICgtNCA+PiAyICE9PSAtMSkgeyAKICAkRVJST1IoJyM2NzogLTQgPj4gMiA9PT0gLTEuIEFjdHVhbDogJyArICgtNCA+PiAyKSk7IAp9IAoKCmlmICgtOCA+PiAyICE9PSAtMikgeyAKICAkRVJST1IoJyM2ODogLTggPj4gMiA9PT0gLTIuIEFjdHVhbDogJyArICgtOCA+PiAyKSk7IAp9IAoKCmlmICgtMTYgPj4gMiAhPT0gLTQpIHsgCiAgJEVSUk9SKCcjNjk6IC0xNiA+PiAyID09PSAtNC4gQWN0dWFsOiAnICsgKC0xNiA+PiAyKSk7IAp9IAoKCmlmICgtMzIgPj4gMiAhPT0gLTgpIHsgCiAgJEVSUk9SKCcjNzA6IC0zMiA+PiAyID09PSAtOC4gQWN0dWFsOiAnICsgKC0zMiA+PiAyKSk7IAp9IAoKCmlmICgtNjQgPj4gMiAhPT0gLTE2KSB7IAogICRFUlJPUignIzcxOiAtNjQgPj4gMiA9PT0gLTE2LiBBY3R1YWw6ICcgKyAoLTY0ID4+IDIpKTsgCn0gCgoKaWYgKC0xMjggPj4gMiAhPT0gLTMyKSB7IAogICRFUlJPUignIzcyOiAtMTI4ID4+IDIgPT09IC0zMi4gQWN0dWFsOiAnICsgKC0xMjggPj4gMikpOyAKfSAKCgppZiAoLTI1NiA+PiAyICE9PSAtNjQpIHsgCiAgJEVSUk9SKCcjNzM6IC0yNTYgPj4gMiA9PT0gLTY0LiBBY3R1YWw6ICcgKyAoLTI1NiA+PiAyKSk7IAp9IAoKCmlmICgtNTEyID4+IDIgIT09IC0xMjgpIHsgCiAgJEVSUk9SKCcjNzQ6IC01MTIgPj4gMiA9PT0gLTEyOC4gQWN0dWFsOiAnICsgKC01MTIgPj4gMikpOyAKfSAKCgppZiAoLTEwMjQgPj4gMiAhPT0gLTI1NikgeyAKICAkRVJST1IoJyM3NTogLTEwMjQgPj4gMiA9PT0gLTI1Ni4gQWN0dWFsOiAnICsgKC0xMDI0ID4+IDIpKTsgCn0gCgoKaWYgKC0yMDQ4ID4+IDIgIT09IC01MTIpIHsgCiAgJEVSUk9SKCcjNzY6IC0yMDQ4ID4+IDIgPT09IC01MTIuIEFjdHVhbDogJyArICgtMjA0OCA+PiAyKSk7IAp9IAoKCmlmICgtNDA5NiA+PiAyICE9PSAtMTAyNCkgeyAKICAkRVJST1IoJyM3NzogLTQwOTYgPj4gMiA9PT0gLTEwMjQuIEFjdHVhbDogJyArICgtNDA5NiA+PiAyKSk7IAp9IAoKCmlmICgtODE5MiA+PiAyICE9PSAtMjA0OCkgeyAKICAkRVJST1IoJyM3ODogLTgxOTIgPj4gMiA9PT0gLTIwNDguIEFjdHVhbDogJyArICgtODE5MiA+PiAyKSk7IAp9IAoKCmlmICgtMTYzODQgPj4gMiAhPT0gLTQwOTYpIHsgCiAgJEVSUk9SKCcjNzk6IC0xNjM4NCA+PiAyID09PSAtNDA5Ni4gQWN0dWFsOiAnICsgKC0xNjM4NCA+PiAyKSk7IAp9IAoKCmlmICgtMzI3NjggPj4gMiAhPT0gLTgxOTIpIHsgCiAgJEVSUk9SKCcjODA6IC0zMjc2OCA+PiAyID09PSAtODE5Mi4gQWN0dWFsOiAnICsgKC0zMjc2OCA+PiAyKSk7IAp9IAoKCmlmICgtNjU1MzYgPj4gMiAhPT0gLTE2Mzg0KSB7IAogICRFUlJPUignIzgxOiAtNjU1MzYgPj4gMiA9PT0gLTE2Mzg0LiBBY3R1YWw6ICcgKyAoLTY1NTM2ID4+IDIpKTsgCn0gCgoKaWYgKC0xMzEwNzIgPj4gMiAhPT0gLTMyNzY4KSB7IAogICRFUlJPUignIzgyOiAtMTMxMDcyID4+IDIgPT09IC0zMjc2OC4gQWN0dWFsOiAnICsgKC0xMzEwNzIgPj4gMikpOyAKfSAKCgppZiAoLTI2MjE0NCA+PiAyICE9PSAtNjU1MzYpIHsgCiAgJEVSUk9SKCcjODM6IC0yNjIxNDQgPj4gMiA9PT0gLTY1NTM2LiBBY3R1YWw6ICcgKyAoLTI2MjE0NCA+PiAyKSk7IAp9IAoKCmlmICgtNTI0Mjg4ID4+IDIgIT09IC0xMzEwNzIpIHsgCiAgJEVSUk9SKCcjODQ6IC01MjQyODggPj4gMiA9PT0gLTEzMTA3Mi4gQWN0dWFsOiAnICsgKC01MjQyODggPj4gMikpOyAKfSAKCgppZiAoLTEwNDg1NzYgPj4gMiAhPT0gLTI2MjE0NCkgeyAKICAkRVJST1IoJyM4NTogLTEwNDg1NzYgPj4gMiA9PT0gLTI2MjE0NC4gQWN0dWFsOiAnICsgKC0xMDQ4NTc2ID4+IDIpKTsgCn0gCgoKaWYgKC0yMDk3MTUyID4+IDIgIT09IC01MjQyODgpIHsgCiAgJEVSUk9SKCcjODY6IC0yMDk3MTUyID4+IDIgPT09IC01MjQyODguIEFjdHVhbDogJyArICgtMjA5NzE1MiA+PiAyKSk7IAp9IAoKCmlmICgtNDE5NDMwNCA+PiAyICE9PSAtMTA0ODU3NikgeyAKICAkRVJST1IoJyM4NzogLTQxOTQzMDQgPj4gMiA9PT0gLTEwNDg1NzYuIEFjdHVhbDogJyArICgtNDE5NDMwNCA+PiAyKSk7IAp9IAoKCmlmICgtODM4ODYwOCA+PiAyICE9PSAtMjA5NzE1MikgeyAKICAkRVJST1IoJyM4ODogLTgzODg2MDggPj4gMiA9PT0gLTIwOTcxNTIuIEFjdHVhbDogJyArICgtODM4ODYwOCA+PiAyKSk7IAp9IAoKCmlmICgtMTY3NzcyMTYgPj4gMiAhPT0gLTQxOTQzMDQpIHsgCiAgJEVSUk9SKCcjODk6IC0xNjc3NzIxNiA+PiAyID09PSAtNDE5NDMwNC4gQWN0dWFsOiAnICsgKC0xNjc3NzIxNiA+PiAyKSk7IAp9IAoKCmlmICgtMzM1NTQ0MzIgPj4gMiAhPT0gLTgzODg2MDgpIHsgCiAgJEVSUk9SKCcjOTA6IC0zMzU1NDQzMiA+PiAyID09PSAtODM4ODYwOC4gQWN0dWFsOiAnICsgKC0zMzU1NDQzMiA+PiAyKSk7IAp9IAoKCmlmICgtNjcxMDg4NjQgPj4gMiAhPT0gLTE2Nzc3MjE2KSB7IAogICRFUlJPUignIzkxOiAtNjcxMDg4NjQgPj4gMiA9PT0gLTE2Nzc3MjE2LiBBY3R1YWw6ICcgKyAoLTY3MTA4ODY0ID4+IDIpKTsgCn0gCgoKaWYgKC0xMzQyMTc3MjggPj4gMiAhPT0gLTMzNTU0NDMyKSB7IAogICRFUlJPUignIzkyOiAtMTM0MjE3NzI4ID4+IDIgPT09IC0zMzU1NDQzMi4gQWN0dWFsOiAnICsgKC0xMzQyMTc3MjggPj4gMikpOyAKfSAKCgppZiAoLTI2ODQzNTQ1NiA+PiAyICE9PSAtNjcxMDg4NjQpIHsgCiAgJEVSUk9SKCcjOTM6IC0yNjg0MzU0NTYgPj4gMiA9PT0gLTY3MTA4ODY0LiBBY3R1YWw6ICcgKyAoLTI2ODQzNTQ1NiA+PiAyKSk7IAp9IAoKCmlmICgtNTM2ODcwOTEyID4+IDIgIT09IC0xMzQyMTc3MjgpIHsgCiAgJEVSUk9SKCcjOTQ6IC01MzY4NzA5MTIgPj4gMiA9PT0gLTEzNDIxNzcyOC4gQWN0dWFsOiAnICsgKC01MzY4NzA5MTIgPj4gMikpOyAKfSAKCgppZiAoLTEwNzM3NDE4MjQgPj4gMiAhPT0gLTI2ODQzNTQ1NikgeyAKICAkRVJST1IoJyM5NTogLTEwNzM3NDE4MjQgPj4gMiA9PT0gLTI2ODQzNTQ1Ni4gQWN0dWFsOiAnICsgKC0xMDczNzQxODI0ID4+IDIpKTsgCn0gCgoKaWYgKC0yMTQ3NDgzNjQ4ID4+IDIgIT09IC01MzY4NzA5MTIpIHsgCiAgJEVSUk9SKCcjOTY6IC0yMTQ3NDgzNjQ4ID4+IDIgPT09IC01MzY4NzA5MTIuIEFjdHVhbDogJyArICgtMjE0NzQ4MzY0OCA+PiAyKSk7IAp9IAoKCmlmICgtMSA+PiAzICE9PSAtMSkgeyAKICAkRVJST1IoJyM5NzogLTEgPj4gMyA9PT0gLTEuIEFjdHVhbDogJyArICgtMSA+PiAzKSk7IAp9IAoKCmlmICgtMiA+PiAzICE9PSAtMSkgeyAKICAkRVJST1IoJyM5ODogLTIgPj4gMyA9PT0gLTEuIEFjdHVhbDogJyArICgtMiA+PiAzKSk7IAp9IAoKCmlmICgtNCA+PiAzICE9PSAtMSkgeyAKICAkRVJST1IoJyM5OTogLTQgPj4gMyA9PT0gLTEuIEFjdHVhbDogJyArICgtNCA+PiAzKSk7IAp9IAoKCmlmICgtOCA+PiAzICE9PSAtMSkgeyAKICAkRVJST1IoJyMxMDA6IC04ID4+IDMgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTggPj4gMykpOyAKfSAKCgppZiAoLTE2ID4+IDMgIT09IC0yKSB7IAogICRFUlJPUignIzEwMTogLTE2ID4+IDMgPT09IC0yLiBBY3R1YWw6ICcgKyAoLTE2ID4+IDMpKTsgCn0gCgoKaWYgKC0zMiA+PiAzICE9PSAtNCkgeyAKICAkRVJST1IoJyMxMDI6IC0zMiA+PiAzID09PSAtNC4gQWN0dWFsOiAnICsgKC0zMiA+PiAzKSk7IAp9IAoKCmlmICgtNjQgPj4gMyAhPT0gLTgpIHsgCiAgJEVSUk9SKCcjMTAzOiAtNjQgPj4gMyA9PT0gLTguIEFjdHVhbDogJyArICgtNjQgPj4gMykpOyAKfSAKCgppZiAoLTEyOCA+PiAzICE9PSAtMTYpIHsgCiAgJEVSUk9SKCcjMTA0OiAtMTI4ID4+IDMgPT09IC0xNi4gQWN0dWFsOiAnICsgKC0xMjggPj4gMykpOyAKfSAKCgppZiAoLTI1NiA+PiAzICE9PSAtMzIpIHsgCiAgJEVSUk9SKCcjMTA1OiAtMjU2ID4+IDMgPT09IC0zMi4gQWN0dWFsOiAnICsgKC0yNTYgPj4gMykpOyAKfSAKCgppZiAoLTUxMiA+PiAzICE9PSAtNjQpIHsgCiAgJEVSUk9SKCcjMTA2OiAtNTEyID4+IDMgPT09IC02NC4gQWN0dWFsOiAnICsgKC01MTIgPj4gMykpOyAKfSAKCgppZiAoLTEwMjQgPj4gMyAhPT0gLTEyOCkgeyAKICAkRVJST1IoJyMxMDc6IC0xMDI0ID4+IDMgPT09IC0xMjguIEFjdHVhbDogJyArICgtMTAyNCA+PiAzKSk7IAp9IAoKCmlmICgtMjA0OCA+PiAzICE9PSAtMjU2KSB7IAogICRFUlJPUignIzEwODogLTIwNDggPj4gMyA9PT0gLTI1Ni4gQWN0dWFsOiAnICsgKC0yMDQ4ID4+IDMpKTsgCn0gCgoKaWYgKC00MDk2ID4+IDMgIT09IC01MTIpIHsgCiAgJEVSUk9SKCcjMTA5OiAtNDA5NiA+PiAzID09PSAtNTEyLiBBY3R1YWw6ICcgKyAoLTQwOTYgPj4gMykpOyAKfSAKCgppZiAoLTgxOTIgPj4gMyAhPT0gLTEwMjQpIHsgCiAgJEVSUk9SKCcjMTEwOiAtODE5MiA+PiAzID09PSAtMTAyNC4gQWN0dWFsOiAnICsgKC04MTkyID4+IDMpKTsgCn0gCgoKaWYgKC0xNjM4NCA+PiAzICE9PSAtMjA0OCkgeyAKICAkRVJST1IoJyMxMTE6IC0xNjM4NCA+PiAzID09PSAtMjA0OC4gQWN0dWFsOiAnICsgKC0xNjM4NCA+PiAzKSk7IAp9IAoKCmlmICgtMzI3NjggPj4gMyAhPT0gLTQwOTYpIHsgCiAgJEVSUk9SKCcjMTEyOiAtMzI3NjggPj4gMyA9PT0gLTQwOTYuIEFjdHVhbDogJyArICgtMzI3NjggPj4gMykpOyAKfSAKCgppZiAoLTY1NTM2ID4+IDMgIT09IC04MTkyKSB7IAogICRFUlJPUignIzExMzogLTY1NTM2ID4+IDMgPT09IC04MTkyLiBBY3R1YWw6ICcgKyAoLTY1NTM2ID4+IDMpKTsgCn0gCgoKaWYgKC0xMzEwNzIgPj4gMyAhPT0gLTE2Mzg0KSB7IAogICRFUlJPUignIzExNDogLTEzMTA3MiA+PiAzID09PSAtMTYzODQuIEFjdHVhbDogJyArICgtMTMxMDcyID4+IDMpKTsgCn0gCgoKaWYgKC0yNjIxNDQgPj4gMyAhPT0gLTMyNzY4KSB7IAogICRFUlJPUignIzExNTogLTI2MjE0NCA+PiAzID09PSAtMzI3NjguIEFjdHVhbDogJyArICgtMjYyMTQ0ID4+IDMpKTsgCn0gCgoKaWYgKC01MjQyODggPj4gMyAhPT0gLTY1NTM2KSB7IAogICRFUlJPUignIzExNjogLTUyNDI4OCA+PiAzID09PSAtNjU1MzYuIEFjdHVhbDogJyArICgtNTI0Mjg4ID4+IDMpKTsgCn0gCgoKaWYgKC0xMDQ4NTc2ID4+IDMgIT09IC0xMzEwNzIpIHsgCiAgJEVSUk9SKCcjMTE3OiAtMTA0ODU3NiA+PiAzID09PSAtMTMxMDcyLiBBY3R1YWw6ICcgKyAoLTEwNDg1NzYgPj4gMykpOyAKfSAKCgppZiAoLTIwOTcxNTIgPj4gMyAhPT0gLTI2MjE0NCkgeyAKICAkRVJST1IoJyMxMTg6IC0yMDk3MTUyID4+IDMgPT09IC0yNjIxNDQuIEFjdHVhbDogJyArICgtMjA5NzE1MiA+PiAzKSk7IAp9IAoKCmlmICgtNDE5NDMwNCA+PiAzICE9PSAtNTI0Mjg4KSB7IAogICRFUlJPUignIzExOTogLTQxOTQzMDQgPj4gMyA9PT0gLTUyNDI4OC4gQWN0dWFsOiAnICsgKC00MTk0MzA0ID4+IDMpKTsgCn0gCgoKaWYgKC04Mzg4NjA4ID4+IDMgIT09IC0xMDQ4NTc2KSB7IAogICRFUlJPUignIzEyMDogLTgzODg2MDggPj4gMyA9PT0gLTEwNDg1NzYuIEFjdHVhbDogJyArICgtODM4ODYwOCA+PiAzKSk7IAp9IAoKCmlmICgtMTY3NzcyMTYgPj4gMyAhPT0gLTIwOTcxNTIpIHsgCiAgJEVSUk9SKCcjMTIxOiAtMTY3NzcyMTYgPj4gMyA9PT0gLTIwOTcxNTIuIEFjdHVhbDogJyArICgtMTY3NzcyMTYgPj4gMykpOyAKfSAKCgppZiAoLTMzNTU0NDMyID4+IDMgIT09IC00MTk0MzA0KSB7IAogICRFUlJPUignIzEyMjogLTMzNTU0NDMyID4+IDMgPT09IC00MTk0MzA0LiBBY3R1YWw6ICcgKyAoLTMzNTU0NDMyID4+IDMpKTsgCn0gCgoKaWYgKC02NzEwODg2NCA+PiAzICE9PSAtODM4ODYwOCkgeyAKICAkRVJST1IoJyMxMjM6IC02NzEwODg2NCA+PiAzID09PSAtODM4ODYwOC4gQWN0dWFsOiAnICsgKC02NzEwODg2NCA+PiAzKSk7IAp9IAoKCmlmICgtMTM0MjE3NzI4ID4+IDMgIT09IC0xNjc3NzIxNikgeyAKICAkRVJST1IoJyMxMjQ6IC0xMzQyMTc3MjggPj4gMyA9PT0gLTE2Nzc3MjE2LiBBY3R1YWw6ICcgKyAoLTEzNDIxNzcyOCA+PiAzKSk7IAp9IAoKCmlmICgtMjY4NDM1NDU2ID4+IDMgIT09IC0zMzU1NDQzMikgeyAKICAkRVJST1IoJyMxMjU6IC0yNjg0MzU0NTYgPj4gMyA9PT0gLTMzNTU0NDMyLiBBY3R1YWw6ICcgKyAoLTI2ODQzNTQ1NiA+PiAzKSk7IAp9IAoKCmlmICgtNTM2ODcwOTEyID4+IDMgIT09IC02NzEwODg2NCkgeyAKICAkRVJST1IoJyMxMjY6IC01MzY4NzA5MTIgPj4gMyA9PT0gLTY3MTA4ODY0LiBBY3R1YWw6ICcgKyAoLTUzNjg3MDkxMiA+PiAzKSk7IAp9IAoKCmlmICgtMTA3Mzc0MTgyNCA+PiAzICE9PSAtMTM0MjE3NzI4KSB7IAogICRFUlJPUignIzEyNzogLTEwNzM3NDE4MjQgPj4gMyA9PT0gLTEzNDIxNzcyOC4gQWN0dWFsOiAnICsgKC0xMDczNzQxODI0ID4+IDMpKTsgCn0gCgoKaWYgKC0yMTQ3NDgzNjQ4ID4+IDMgIT09IC0yNjg0MzU0NTYpIHsgCiAgJEVSUk9SKCcjMTI4OiAtMjE0NzQ4MzY0OCA+PiAzID09PSAtMjY4NDM1NDU2LiBBY3R1YWw6ICcgKyAoLTIxNDc0ODM2NDggPj4gMykpOyAKfSAKCgppZiAoLTEgPj4gNCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMTI5OiAtMSA+PiA0ID09PSAtMS4gQWN0dWFsOiAnICsgKC0xID4+IDQpKTsgCn0gCgoKaWYgKC0yID4+IDQgIT09IC0xKSB7IAogICRFUlJPUignIzEzMDogLTIgPj4gNCA9PT0gLTEuIEFjdHVhbDogJyArICgtMiA+PiA0KSk7IAp9IAoKCmlmICgtNCA+PiA0ICE9PSAtMSkgeyAKICAkRVJST1IoJyMxMzE6IC00ID4+IDQgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTQgPj4gNCkpOyAKfSAKCgppZiAoLTggPj4gNCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMTMyOiAtOCA+PiA0ID09PSAtMS4gQWN0dWFsOiAnICsgKC04ID4+IDQpKTsgCn0gCgoKaWYgKC0xNiA+PiA0ICE9PSAtMSkgeyAKICAkRVJST1IoJyMxMzM6IC0xNiA+PiA0ID09PSAtMS4gQWN0dWFsOiAnICsgKC0xNiA+PiA0KSk7IAp9IAoKCmlmICgtMzIgPj4gNCAhPT0gLTIpIHsgCiAgJEVSUk9SKCcjMTM0OiAtMzIgPj4gNCA9PT0gLTIuIEFjdHVhbDogJyArICgtMzIgPj4gNCkpOyAKfSAKCgppZiAoLTY0ID4+IDQgIT09IC00KSB7IAogICRFUlJPUignIzEzNTogLTY0ID4+IDQgPT09IC00LiBBY3R1YWw6ICcgKyAoLTY0ID4+IDQpKTsgCn0gCgoKaWYgKC0xMjggPj4gNCAhPT0gLTgpIHsgCiAgJEVSUk9SKCcjMTM2OiAtMTI4ID4+IDQgPT09IC04LiBBY3R1YWw6ICcgKyAoLTEyOCA+PiA0KSk7IAp9IAoKCmlmICgtMjU2ID4+IDQgIT09IC0xNikgeyAKICAkRVJST1IoJyMxMzc6IC0yNTYgPj4gNCA9PT0gLTE2LiBBY3R1YWw6ICcgKyAoLTI1NiA+PiA0KSk7IAp9IAoKCmlmICgtNTEyID4+IDQgIT09IC0zMikgeyAKICAkRVJST1IoJyMxMzg6IC01MTIgPj4gNCA9PT0gLTMyLiBBY3R1YWw6ICcgKyAoLTUxMiA+PiA0KSk7IAp9IAoKCmlmICgtMTAyNCA+PiA0ICE9PSAtNjQpIHsgCiAgJEVSUk9SKCcjMTM5OiAtMTAyNCA+PiA0ID09PSAtNjQuIEFjdHVhbDogJyArICgtMTAyNCA+PiA0KSk7IAp9IAoKCmlmICgtMjA0OCA+PiA0ICE9PSAtMTI4KSB7IAogICRFUlJPUignIzE0MDogLTIwNDggPj4gNCA9PT0gLTEyOC4gQWN0dWFsOiAnICsgKC0yMDQ4ID4+IDQpKTsgCn0gCgoKaWYgKC00MDk2ID4+IDQgIT09IC0yNTYpIHsgCiAgJEVSUk9SKCcjMTQxOiAtNDA5NiA+PiA0ID09PSAtMjU2LiBBY3R1YWw6ICcgKyAoLTQwOTYgPj4gNCkpOyAKfSAKCgppZiAoLTgxOTIgPj4gNCAhPT0gLTUxMikgeyAKICAkRVJST1IoJyMxNDI6IC04MTkyID4+IDQgPT09IC01MTIuIEFjdHVhbDogJyArICgtODE5MiA+PiA0KSk7IAp9IAoKCmlmICgtMTYzODQgPj4gNCAhPT0gLTEwMjQpIHsgCiAgJEVSUk9SKCcjMTQzOiAtMTYzODQgPj4gNCA9PT0gLTEwMjQuIEFjdHVhbDogJyArICgtMTYzODQgPj4gNCkpOyAKfSAKCgppZiAoLTMyNzY4ID4+IDQgIT09IC0yMDQ4KSB7IAogICRFUlJPUignIzE0NDogLTMyNzY4ID4+IDQgPT09IC0yMDQ4LiBBY3R1YWw6ICcgKyAoLTMyNzY4ID4+IDQpKTsgCn0gCgoKaWYgKC02NTUzNiA+PiA0ICE9PSAtNDA5NikgeyAKICAkRVJST1IoJyMxNDU6IC02NTUzNiA+PiA0ID09PSAtNDA5Ni4gQWN0dWFsOiAnICsgKC02NTUzNiA+PiA0KSk7IAp9IAoKCmlmICgtMTMxMDcyID4+IDQgIT09IC04MTkyKSB7IAogICRFUlJPUignIzE0NjogLTEzMTA3MiA+PiA0ID09PSAtODE5Mi4gQWN0dWFsOiAnICsgKC0xMzEwNzIgPj4gNCkpOyAKfSAKCgppZiAoLTI2MjE0NCA+PiA0ICE9PSAtMTYzODQpIHsgCiAgJEVSUk9SKCcjMTQ3OiAtMjYyMTQ0ID4+IDQgPT09IC0xNjM4NC4gQWN0dWFsOiAnICsgKC0yNjIxNDQgPj4gNCkpOyAKfSAKCgppZiAoLTUyNDI4OCA+PiA0ICE9PSAtMzI3NjgpIHsgCiAgJEVSUk9SKCcjMTQ4OiAtNTI0Mjg4ID4+IDQgPT09IC0zMjc2OC4gQWN0dWFsOiAnICsgKC01MjQyODggPj4gNCkpOyAKfSAKCgppZiAoLTEwNDg1NzYgPj4gNCAhPT0gLTY1NTM2KSB7IAogICRFUlJPUignIzE0OTogLTEwNDg1NzYgPj4gNCA9PT0gLTY1NTM2LiBBY3R1YWw6ICcgKyAoLTEwNDg1NzYgPj4gNCkpOyAKfSAKCgppZiAoLTIwOTcxNTIgPj4gNCAhPT0gLTEzMTA3MikgeyAKICAkRVJST1IoJyMxNTA6IC0yMDk3MTUyID4+IDQgPT09IC0xMzEwNzIuIEFjdHVhbDogJyArICgtMjA5NzE1MiA+PiA0KSk7IAp9IAoKCmlmICgtNDE5NDMwNCA+PiA0ICE9PSAtMjYyMTQ0KSB7IAogICRFUlJPUignIzE1MTogLTQxOTQzMDQgPj4gNCA9PT0gLTI2MjE0NC4gQWN0dWFsOiAnICsgKC00MTk0MzA0ID4+IDQpKTsgCn0gCgoKaWYgKC04Mzg4NjA4ID4+IDQgIT09IC01MjQyODgpIHsgCiAgJEVSUk9SKCcjMTUyOiAtODM4ODYwOCA+PiA0ID09PSAtNTI0Mjg4LiBBY3R1YWw6ICcgKyAoLTgzODg2MDggPj4gNCkpOyAKfSAKCgppZiAoLTE2Nzc3MjE2ID4+IDQgIT09IC0xMDQ4NTc2KSB7IAogICRFUlJPUignIzE1MzogLTE2Nzc3MjE2ID4+IDQgPT09IC0xMDQ4NTc2LiBBY3R1YWw6ICcgKyAoLTE2Nzc3MjE2ID4+IDQpKTsgCn0gCgoKaWYgKC0zMzU1NDQzMiA+PiA0ICE9PSAtMjA5NzE1MikgeyAKICAkRVJST1IoJyMxNTQ6IC0zMzU1NDQzMiA+PiA0ID09PSAtMjA5NzE1Mi4gQWN0dWFsOiAnICsgKC0zMzU1NDQzMiA+PiA0KSk7IAp9IAoKCmlmICgtNjcxMDg4NjQgPj4gNCAhPT0gLTQxOTQzMDQpIHsgCiAgJEVSUk9SKCcjMTU1OiAtNjcxMDg4NjQgPj4gNCA9PT0gLTQxOTQzMDQuIEFjdHVhbDogJyArICgtNjcxMDg4NjQgPj4gNCkpOyAKfSAKCgppZiAoLTEzNDIxNzcyOCA+PiA0ICE9PSAtODM4ODYwOCkgeyAKICAkRVJST1IoJyMxNTY6IC0xMzQyMTc3MjggPj4gNCA9PT0gLTgzODg2MDguIEFjdHVhbDogJyArICgtMTM0MjE3NzI4ID4+IDQpKTsgCn0gCgoKaWYgKC0yNjg0MzU0NTYgPj4gNCAhPT0gLTE2Nzc3MjE2KSB7IAogICRFUlJPUignIzE1NzogLTI2ODQzNTQ1NiA+PiA0ID09PSAtMTY3NzcyMTYuIEFjdHVhbDogJyArICgtMjY4NDM1NDU2ID4+IDQpKTsgCn0gCgoKaWYgKC01MzY4NzA5MTIgPj4gNCAhPT0gLTMzNTU0NDMyKSB7IAogICRFUlJPUignIzE1ODogLTUzNjg3MDkxMiA+PiA0ID09PSAtMzM1NTQ0MzIuIEFjdHVhbDogJyArICgtNTM2ODcwOTEyID4+IDQpKTsgCn0gCgoKaWYgKC0xMDczNzQxODI0ID4+IDQgIT09IC02NzEwODg2NCkgeyAKICAkRVJST1IoJyMxNTk6IC0xMDczNzQxODI0ID4+IDQgPT09IC02NzEwODg2NC4gQWN0dWFsOiAnICsgKC0xMDczNzQxODI0ID4+IDQpKTsgCn0gCgoKaWYgKC0yMTQ3NDgzNjQ4ID4+IDQgIT09IC0xMzQyMTc3MjgpIHsgCiAgJEVSUk9SKCcjMTYwOiAtMjE0NzQ4MzY0OCA+PiA0ID09PSAtMTM0MjE3NzI4LiBBY3R1YWw6ICcgKyAoLTIxNDc0ODM2NDggPj4gNCkpOyAKfSAKCgppZiAoLTEgPj4gNSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMTYxOiAtMSA+PiA1ID09PSAtMS4gQWN0dWFsOiAnICsgKC0xID4+IDUpKTsgCn0gCgoKaWYgKC0yID4+IDUgIT09IC0xKSB7IAogICRFUlJPUignIzE2MjogLTIgPj4gNSA9PT0gLTEuIEFjdHVhbDogJyArICgtMiA+PiA1KSk7IAp9IAoKCmlmICgtNCA+PiA1ICE9PSAtMSkgeyAKICAkRVJST1IoJyMxNjM6IC00ID4+IDUgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTQgPj4gNSkpOyAKfSAKCgppZiAoLTggPj4gNSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMTY0OiAtOCA+PiA1ID09PSAtMS4gQWN0dWFsOiAnICsgKC04ID4+IDUpKTsgCn0gCgoKaWYgKC0xNiA+PiA1ICE9PSAtMSkgeyAKICAkRVJST1IoJyMxNjU6IC0xNiA+PiA1ID09PSAtMS4gQWN0dWFsOiAnICsgKC0xNiA+PiA1KSk7IAp9IAoKCmlmICgtMzIgPj4gNSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMTY2OiAtMzIgPj4gNSA9PT0gLTEuIEFjdHVhbDogJyArICgtMzIgPj4gNSkpOyAKfSAKCgppZiAoLTY0ID4+IDUgIT09IC0yKSB7IAogICRFUlJPUignIzE2NzogLTY0ID4+IDUgPT09IC0yLiBBY3R1YWw6ICcgKyAoLTY0ID4+IDUpKTsgCn0gCgoKaWYgKC0xMjggPj4gNSAhPT0gLTQpIHsgCiAgJEVSUk9SKCcjMTY4OiAtMTI4ID4+IDUgPT09IC00LiBBY3R1YWw6ICcgKyAoLTEyOCA+PiA1KSk7IAp9IAoKCmlmICgtMjU2ID4+IDUgIT09IC04KSB7IAogICRFUlJPUignIzE2OTogLTI1NiA+PiA1ID09PSAtOC4gQWN0dWFsOiAnICsgKC0yNTYgPj4gNSkpOyAKfSAKCgppZiAoLTUxMiA+PiA1ICE9PSAtMTYpIHsgCiAgJEVSUk9SKCcjMTcwOiAtNTEyID4+IDUgPT09IC0xNi4gQWN0dWFsOiAnICsgKC01MTIgPj4gNSkpOyAKfSAKCgppZiAoLTEwMjQgPj4gNSAhPT0gLTMyKSB7IAogICRFUlJPUignIzE3MTogLTEwMjQgPj4gNSA9PT0gLTMyLiBBY3R1YWw6ICcgKyAoLTEwMjQgPj4gNSkpOyAKfSAKCgppZiAoLTIwNDggPj4gNSAhPT0gLTY0KSB7IAogICRFUlJPUignIzE3MjogLTIwNDggPj4gNSA9PT0gLTY0LiBBY3R1YWw6ICcgKyAoLTIwNDggPj4gNSkpOyAKfSAKCgppZiAoLTQwOTYgPj4gNSAhPT0gLTEyOCkgeyAKICAkRVJST1IoJyMxNzM6IC00MDk2ID4+IDUgPT09IC0xMjguIEFjdHVhbDogJyArICgtNDA5NiA+PiA1KSk7IAp9IAoKCmlmICgtODE5MiA+PiA1ICE9PSAtMjU2KSB7IAogICRFUlJPUignIzE3NDogLTgxOTIgPj4gNSA9PT0gLTI1Ni4gQWN0dWFsOiAnICsgKC04MTkyID4+IDUpKTsgCn0gCgoKaWYgKC0xNjM4NCA+PiA1ICE9PSAtNTEyKSB7IAogICRFUlJPUignIzE3NTogLTE2Mzg0ID4+IDUgPT09IC01MTIuIEFjdHVhbDogJyArICgtMTYzODQgPj4gNSkpOyAKfSAKCgppZiAoLTMyNzY4ID4+IDUgIT09IC0xMDI0KSB7IAogICRFUlJPUignIzE3NjogLTMyNzY4ID4+IDUgPT09IC0xMDI0LiBBY3R1YWw6ICcgKyAoLTMyNzY4ID4+IDUpKTsgCn0gCgoKaWYgKC02NTUzNiA+PiA1ICE9PSAtMjA0OCkgeyAKICAkRVJST1IoJyMxNzc6IC02NTUzNiA+PiA1ID09PSAtMjA0OC4gQWN0dWFsOiAnICsgKC02NTUzNiA+PiA1KSk7IAp9IAoKCmlmICgtMTMxMDcyID4+IDUgIT09IC00MDk2KSB7IAogICRFUlJPUignIzE3ODogLTEzMTA3MiA+PiA1ID09PSAtNDA5Ni4gQWN0dWFsOiAnICsgKC0xMzEwNzIgPj4gNSkpOyAKfSAKCgppZiAoLTI2MjE0NCA+PiA1ICE9PSAtODE5MikgeyAKICAkRVJST1IoJyMxNzk6IC0yNjIxNDQgPj4gNSA9PT0gLTgxOTIuIEFjdHVhbDogJyArICgtMjYyMTQ0ID4+IDUpKTsgCn0gCgoKaWYgKC01MjQyODggPj4gNSAhPT0gLTE2Mzg0KSB7IAogICRFUlJPUignIzE4MDogLTUyNDI4OCA+PiA1ID09PSAtMTYzODQuIEFjdHVhbDogJyArICgtNTI0Mjg4ID4+IDUpKTsgCn0gCgoKaWYgKC0xMDQ4NTc2ID4+IDUgIT09IC0zMjc2OCkgeyAKICAkRVJST1IoJyMxODE6IC0xMDQ4NTc2ID4+IDUgPT09IC0zMjc2OC4gQWN0dWFsOiAnICsgKC0xMDQ4NTc2ID4+IDUpKTsgCn0gCgoKaWYgKC0yMDk3MTUyID4+IDUgIT09IC02NTUzNikgeyAKICAkRVJST1IoJyMxODI6IC0yMDk3MTUyID4+IDUgPT09IC02NTUzNi4gQWN0dWFsOiAnICsgKC0yMDk3MTUyID4+IDUpKTsgCn0gCgoKaWYgKC00MTk0MzA0ID4+IDUgIT09IC0xMzEwNzIpIHsgCiAgJEVSUk9SKCcjMTgzOiAtNDE5NDMwNCA+PiA1ID09PSAtMTMxMDcyLiBBY3R1YWw6ICcgKyAoLTQxOTQzMDQgPj4gNSkpOyAKfSAKCgppZiAoLTgzODg2MDggPj4gNSAhPT0gLTI2MjE0NCkgeyAKICAkRVJST1IoJyMxODQ6IC04Mzg4NjA4ID4+IDUgPT09IC0yNjIxNDQuIEFjdHVhbDogJyArICgtODM4ODYwOCA+PiA1KSk7IAp9IAoKCmlmICgtMTY3NzcyMTYgPj4gNSAhPT0gLTUyNDI4OCkgeyAKICAkRVJST1IoJyMxODU6IC0xNjc3NzIxNiA+PiA1ID09PSAtNTI0Mjg4LiBBY3R1YWw6ICcgKyAoLTE2Nzc3MjE2ID4+IDUpKTsgCn0gCgoKaWYgKC0zMzU1NDQzMiA+PiA1ICE9PSAtMTA0ODU3NikgeyAKICAkRVJST1IoJyMxODY6IC0zMzU1NDQzMiA+PiA1ID09PSAtMTA0ODU3Ni4gQWN0dWFsOiAnICsgKC0zMzU1NDQzMiA+PiA1KSk7IAp9IAoKCmlmICgtNjcxMDg4NjQgPj4gNSAhPT0gLTIwOTcxNTIpIHsgCiAgJEVSUk9SKCcjMTg3OiAtNjcxMDg4NjQgPj4gNSA9PT0gLTIwOTcxNTIuIEFjdHVhbDogJyArICgtNjcxMDg4NjQgPj4gNSkpOyAKfSAKCgppZiAoLTEzNDIxNzcyOCA+PiA1ICE9PSAtNDE5NDMwNCkgeyAKICAkRVJST1IoJyMxODg6IC0xMzQyMTc3MjggPj4gNSA9PT0gLTQxOTQzMDQuIEFjdHVhbDogJyArICgtMTM0MjE3NzI4ID4+IDUpKTsgCn0gCgoKaWYgKC0yNjg0MzU0NTYgPj4gNSAhPT0gLTgzODg2MDgpIHsgCiAgJEVSUk9SKCcjMTg5OiAtMjY4NDM1NDU2ID4+IDUgPT09IC04Mzg4NjA4LiBBY3R1YWw6ICcgKyAoLTI2ODQzNTQ1NiA+PiA1KSk7IAp9IAoKCmlmICgtNTM2ODcwOTEyID4+IDUgIT09IC0xNjc3NzIxNikgeyAKICAkRVJST1IoJyMxOTA6IC01MzY4NzA5MTIgPj4gNSA9PT0gLTE2Nzc3MjE2LiBBY3R1YWw6ICcgKyAoLTUzNjg3MDkxMiA+PiA1KSk7IAp9IAoKCmlmICgtMTA3Mzc0MTgyNCA+PiA1ICE9PSAtMzM1NTQ0MzIpIHsgCiAgJEVSUk9SKCcjMTkxOiAtMTA3Mzc0MTgyNCA+PiA1ID09PSAtMzM1NTQ0MzIuIEFjdHVhbDogJyArICgtMTA3Mzc0MTgyNCA+PiA1KSk7IAp9IAoKCmlmICgtMjE0NzQ4MzY0OCA+PiA1ICE9PSAtNjcxMDg4NjQpIHsgCiAgJEVSUk9SKCcjMTkyOiAtMjE0NzQ4MzY0OCA+PiA1ID09PSAtNjcxMDg4NjQuIEFjdHVhbDogJyArICgtMjE0NzQ4MzY0OCA+PiA1KSk7IAp9IAoKCmlmICgtMSA+PiA2ICE9PSAtMSkgeyAKICAkRVJST1IoJyMxOTM6IC0xID4+IDYgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEgPj4gNikpOyAKfSAKCgppZiAoLTIgPj4gNiAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMTk0OiAtMiA+PiA2ID09PSAtMS4gQWN0dWFsOiAnICsgKC0yID4+IDYpKTsgCn0gCgoKaWYgKC00ID4+IDYgIT09IC0xKSB7IAogICRFUlJPUignIzE5NTogLTQgPj4gNiA9PT0gLTEuIEFjdHVhbDogJyArICgtNCA+PiA2KSk7IAp9IAoKCmlmICgtOCA+PiA2ICE9PSAtMSkgeyAKICAkRVJST1IoJyMxOTY6IC04ID4+IDYgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTggPj4gNikpOyAKfSAKCgppZiAoLTE2ID4+IDYgIT09IC0xKSB7IAogICRFUlJPUignIzE5NzogLTE2ID4+IDYgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTE2ID4+IDYpKTsgCn0gCgoKaWYgKC0zMiA+PiA2ICE9PSAtMSkgeyAKICAkRVJST1IoJyMxOTg6IC0zMiA+PiA2ID09PSAtMS4gQWN0dWFsOiAnICsgKC0zMiA+PiA2KSk7IAp9IAoKCmlmICgtNjQgPj4gNiAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMTk5OiAtNjQgPj4gNiA9PT0gLTEuIEFjdHVhbDogJyArICgtNjQgPj4gNikpOyAKfSAKCgppZiAoLTEyOCA+PiA2ICE9PSAtMikgeyAKICAkRVJST1IoJyMyMDA6IC0xMjggPj4gNiA9PT0gLTIuIEFjdHVhbDogJyArICgtMTI4ID4+IDYpKTsgCn0gCgoKaWYgKC0yNTYgPj4gNiAhPT0gLTQpIHsgCiAgJEVSUk9SKCcjMjAxOiAtMjU2ID4+IDYgPT09IC00LiBBY3R1YWw6ICcgKyAoLTI1NiA+PiA2KSk7IAp9IAoKCmlmICgtNTEyID4+IDYgIT09IC04KSB7IAogICRFUlJPUignIzIwMjogLTUxMiA+PiA2ID09PSAtOC4gQWN0dWFsOiAnICsgKC01MTIgPj4gNikpOyAKfSAKCgppZiAoLTEwMjQgPj4gNiAhPT0gLTE2KSB7IAogICRFUlJPUignIzIwMzogLTEwMjQgPj4gNiA9PT0gLTE2LiBBY3R1YWw6ICcgKyAoLTEwMjQgPj4gNikpOyAKfSAKCgppZiAoLTIwNDggPj4gNiAhPT0gLTMyKSB7IAogICRFUlJPUignIzIwNDogLTIwNDggPj4gNiA9PT0gLTMyLiBBY3R1YWw6ICcgKyAoLTIwNDggPj4gNikpOyAKfSAKCgppZiAoLTQwOTYgPj4gNiAhPT0gLTY0KSB7IAogICRFUlJPUignIzIwNTogLTQwOTYgPj4gNiA9PT0gLTY0LiBBY3R1YWw6ICcgKyAoLTQwOTYgPj4gNikpOyAKfSAKCgppZiAoLTgxOTIgPj4gNiAhPT0gLTEyOCkgeyAKICAkRVJST1IoJyMyMDY6IC04MTkyID4+IDYgPT09IC0xMjguIEFjdHVhbDogJyArICgtODE5MiA+PiA2KSk7IAp9IAoKCmlmICgtMTYzODQgPj4gNiAhPT0gLTI1NikgeyAKICAkRVJST1IoJyMyMDc6IC0xNjM4NCA+PiA2ID09PSAtMjU2LiBBY3R1YWw6ICcgKyAoLTE2Mzg0ID4+IDYpKTsgCn0gCgoKaWYgKC0zMjc2OCA+PiA2ICE9PSAtNTEyKSB7IAogICRFUlJPUignIzIwODogLTMyNzY4ID4+IDYgPT09IC01MTIuIEFjdHVhbDogJyArICgtMzI3NjggPj4gNikpOyAKfSAKCgppZiAoLTY1NTM2ID4+IDYgIT09IC0xMDI0KSB7IAogICRFUlJPUignIzIwOTogLTY1NTM2ID4+IDYgPT09IC0xMDI0LiBBY3R1YWw6ICcgKyAoLTY1NTM2ID4+IDYpKTsgCn0gCgoKaWYgKC0xMzEwNzIgPj4gNiAhPT0gLTIwNDgpIHsgCiAgJEVSUk9SKCcjMjEwOiAtMTMxMDcyID4+IDYgPT09IC0yMDQ4LiBBY3R1YWw6ICcgKyAoLTEzMTA3MiA+PiA2KSk7IAp9IAoKCmlmICgtMjYyMTQ0ID4+IDYgIT09IC00MDk2KSB7IAogICRFUlJPUignIzIxMTogLTI2MjE0NCA+PiA2ID09PSAtNDA5Ni4gQWN0dWFsOiAnICsgKC0yNjIxNDQgPj4gNikpOyAKfSAKCgppZiAoLTUyNDI4OCA+PiA2ICE9PSAtODE5MikgeyAKICAkRVJST1IoJyMyMTI6IC01MjQyODggPj4gNiA9PT0gLTgxOTIuIEFjdHVhbDogJyArICgtNTI0Mjg4ID4+IDYpKTsgCn0gCgoKaWYgKC0xMDQ4NTc2ID4+IDYgIT09IC0xNjM4NCkgeyAKICAkRVJST1IoJyMyMTM6IC0xMDQ4NTc2ID4+IDYgPT09IC0xNjM4NC4gQWN0dWFsOiAnICsgKC0xMDQ4NTc2ID4+IDYpKTsgCn0gCgoKaWYgKC0yMDk3MTUyID4+IDYgIT09IC0zMjc2OCkgeyAKICAkRVJST1IoJyMyMTQ6IC0yMDk3MTUyID4+IDYgPT09IC0zMjc2OC4gQWN0dWFsOiAnICsgKC0yMDk3MTUyID4+IDYpKTsgCn0gCgoKaWYgKC00MTk0MzA0ID4+IDYgIT09IC02NTUzNikgeyAKICAkRVJST1IoJyMyMTU6IC00MTk0MzA0ID4+IDYgPT09IC02NTUzNi4gQWN0dWFsOiAnICsgKC00MTk0MzA0ID4+IDYpKTsgCn0gCgoKaWYgKC04Mzg4NjA4ID4+IDYgIT09IC0xMzEwNzIpIHsgCiAgJEVSUk9SKCcjMjE2OiAtODM4ODYwOCA+PiA2ID09PSAtMTMxMDcyLiBBY3R1YWw6ICcgKyAoLTgzODg2MDggPj4gNikpOyAKfSAKCgppZiAoLTE2Nzc3MjE2ID4+IDYgIT09IC0yNjIxNDQpIHsgCiAgJEVSUk9SKCcjMjE3OiAtMTY3NzcyMTYgPj4gNiA9PT0gLTI2MjE0NC4gQWN0dWFsOiAnICsgKC0xNjc3NzIxNiA+PiA2KSk7IAp9IAoKCmlmICgtMzM1NTQ0MzIgPj4gNiAhPT0gLTUyNDI4OCkgeyAKICAkRVJST1IoJyMyMTg6IC0zMzU1NDQzMiA+PiA2ID09PSAtNTI0Mjg4LiBBY3R1YWw6ICcgKyAoLTMzNTU0NDMyID4+IDYpKTsgCn0gCgoKaWYgKC02NzEwODg2NCA+PiA2ICE9PSAtMTA0ODU3NikgeyAKICAkRVJST1IoJyMyMTk6IC02NzEwODg2NCA+PiA2ID09PSAtMTA0ODU3Ni4gQWN0dWFsOiAnICsgKC02NzEwODg2NCA+PiA2KSk7IAp9IAoKCmlmICgtMTM0MjE3NzI4ID4+IDYgIT09IC0yMDk3MTUyKSB7IAogICRFUlJPUignIzIyMDogLTEzNDIxNzcyOCA+PiA2ID09PSAtMjA5NzE1Mi4gQWN0dWFsOiAnICsgKC0xMzQyMTc3MjggPj4gNikpOyAKfSAKCgppZiAoLTI2ODQzNTQ1NiA+PiA2ICE9PSAtNDE5NDMwNCkgeyAKICAkRVJST1IoJyMyMjE6IC0yNjg0MzU0NTYgPj4gNiA9PT0gLTQxOTQzMDQuIEFjdHVhbDogJyArICgtMjY4NDM1NDU2ID4+IDYpKTsgCn0gCgoKaWYgKC01MzY4NzA5MTIgPj4gNiAhPT0gLTgzODg2MDgpIHsgCiAgJEVSUk9SKCcjMjIyOiAtNTM2ODcwOTEyID4+IDYgPT09IC04Mzg4NjA4LiBBY3R1YWw6ICcgKyAoLTUzNjg3MDkxMiA+PiA2KSk7IAp9IAoKCmlmICgtMTA3Mzc0MTgyNCA+PiA2ICE9PSAtMTY3NzcyMTYpIHsgCiAgJEVSUk9SKCcjMjIzOiAtMTA3Mzc0MTgyNCA+PiA2ID09PSAtMTY3NzcyMTYuIEFjdHVhbDogJyArICgtMTA3Mzc0MTgyNCA+PiA2KSk7IAp9IAoKCmlmICgtMjE0NzQ4MzY0OCA+PiA2ICE9PSAtMzM1NTQ0MzIpIHsgCiAgJEVSUk9SKCcjMjI0OiAtMjE0NzQ4MzY0OCA+PiA2ID09PSAtMzM1NTQ0MzIuIEFjdHVhbDogJyArICgtMjE0NzQ4MzY0OCA+PiA2KSk7IAp9IAoKCmlmICgtMSA+PiA3ICE9PSAtMSkgeyAKICAkRVJST1IoJyMyMjU6IC0xID4+IDcgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEgPj4gNykpOyAKfSAKCgppZiAoLTIgPj4gNyAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMjI2OiAtMiA+PiA3ID09PSAtMS4gQWN0dWFsOiAnICsgKC0yID4+IDcpKTsgCn0gCgoKaWYgKC00ID4+IDcgIT09IC0xKSB7IAogICRFUlJPUignIzIyNzogLTQgPj4gNyA9PT0gLTEuIEFjdHVhbDogJyArICgtNCA+PiA3KSk7IAp9IAoKCmlmICgtOCA+PiA3ICE9PSAtMSkgeyAKICAkRVJST1IoJyMyMjg6IC04ID4+IDcgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTggPj4gNykpOyAKfSAKCgppZiAoLTE2ID4+IDcgIT09IC0xKSB7IAogICRFUlJPUignIzIyOTogLTE2ID4+IDcgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTE2ID4+IDcpKTsgCn0gCgoKaWYgKC0zMiA+PiA3ICE9PSAtMSkgeyAKICAkRVJST1IoJyMyMzA6IC0zMiA+PiA3ID09PSAtMS4gQWN0dWFsOiAnICsgKC0zMiA+PiA3KSk7IAp9IAoKCmlmICgtNjQgPj4gNyAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMjMxOiAtNjQgPj4gNyA9PT0gLTEuIEFjdHVhbDogJyArICgtNjQgPj4gNykpOyAKfSAKCgppZiAoLTEyOCA+PiA3ICE9PSAtMSkgeyAKICAkRVJST1IoJyMyMzI6IC0xMjggPj4gNyA9PT0gLTEuIEFjdHVhbDogJyArICgtMTI4ID4+IDcpKTsgCn0gCgoKaWYgKC0yNTYgPj4gNyAhPT0gLTIpIHsgCiAgJEVSUk9SKCcjMjMzOiAtMjU2ID4+IDcgPT09IC0yLiBBY3R1YWw6ICcgKyAoLTI1NiA+PiA3KSk7IAp9IAoKCmlmICgtNTEyID4+IDcgIT09IC00KSB7IAogICRFUlJPUignIzIzNDogLTUxMiA+PiA3ID09PSAtNC4gQWN0dWFsOiAnICsgKC01MTIgPj4gNykpOyAKfSAKCgppZiAoLTEwMjQgPj4gNyAhPT0gLTgpIHsgCiAgJEVSUk9SKCcjMjM1OiAtMTAyNCA+PiA3ID09PSAtOC4gQWN0dWFsOiAnICsgKC0xMDI0ID4+IDcpKTsgCn0gCgoKaWYgKC0yMDQ4ID4+IDcgIT09IC0xNikgeyAKICAkRVJST1IoJyMyMzY6IC0yMDQ4ID4+IDcgPT09IC0xNi4gQWN0dWFsOiAnICsgKC0yMDQ4ID4+IDcpKTsgCn0gCgoKaWYgKC00MDk2ID4+IDcgIT09IC0zMikgeyAKICAkRVJST1IoJyMyMzc6IC00MDk2ID4+IDcgPT09IC0zMi4gQWN0dWFsOiAnICsgKC00MDk2ID4+IDcpKTsgCn0gCgoKaWYgKC04MTkyID4+IDcgIT09IC02NCkgeyAKICAkRVJST1IoJyMyMzg6IC04MTkyID4+IDcgPT09IC02NC4gQWN0dWFsOiAnICsgKC04MTkyID4+IDcpKTsgCn0gCgoKaWYgKC0xNjM4NCA+PiA3ICE9PSAtMTI4KSB7IAogICRFUlJPUignIzIzOTogLTE2Mzg0ID4+IDcgPT09IC0xMjguIEFjdHVhbDogJyArICgtMTYzODQgPj4gNykpOyAKfSAKCgppZiAoLTMyNzY4ID4+IDcgIT09IC0yNTYpIHsgCiAgJEVSUk9SKCcjMjQwOiAtMzI3NjggPj4gNyA9PT0gLTI1Ni4gQWN0dWFsOiAnICsgKC0zMjc2OCA+PiA3KSk7IAp9IAoKCmlmICgtNjU1MzYgPj4gNyAhPT0gLTUxMikgeyAKICAkRVJST1IoJyMyNDE6IC02NTUzNiA+PiA3ID09PSAtNTEyLiBBY3R1YWw6ICcgKyAoLTY1NTM2ID4+IDcpKTsgCn0gCgoKaWYgKC0xMzEwNzIgPj4gNyAhPT0gLTEwMjQpIHsgCiAgJEVSUk9SKCcjMjQyOiAtMTMxMDcyID4+IDcgPT09IC0xMDI0LiBBY3R1YWw6ICcgKyAoLTEzMTA3MiA+PiA3KSk7IAp9IAoKCmlmICgtMjYyMTQ0ID4+IDcgIT09IC0yMDQ4KSB7IAogICRFUlJPUignIzI0MzogLTI2MjE0NCA+PiA3ID09PSAtMjA0OC4gQWN0dWFsOiAnICsgKC0yNjIxNDQgPj4gNykpOyAKfSAKCgppZiAoLTUyNDI4OCA+PiA3ICE9PSAtNDA5NikgeyAKICAkRVJST1IoJyMyNDQ6IC01MjQyODggPj4gNyA9PT0gLTQwOTYuIEFjdHVhbDogJyArICgtNTI0Mjg4ID4+IDcpKTsgCn0gCgoKaWYgKC0xMDQ4NTc2ID4+IDcgIT09IC04MTkyKSB7IAogICRFUlJPUignIzI0NTogLTEwNDg1NzYgPj4gNyA9PT0gLTgxOTIuIEFjdHVhbDogJyArICgtMTA0ODU3NiA+PiA3KSk7IAp9IAoKCmlmICgtMjA5NzE1MiA+PiA3ICE9PSAtMTYzODQpIHsgCiAgJEVSUk9SKCcjMjQ2OiAtMjA5NzE1MiA+PiA3ID09PSAtMTYzODQuIEFjdHVhbDogJyArICgtMjA5NzE1MiA+PiA3KSk7IAp9IAoKCmlmICgtNDE5NDMwNCA+PiA3ICE9PSAtMzI3NjgpIHsgCiAgJEVSUk9SKCcjMjQ3OiAtNDE5NDMwNCA+PiA3ID09PSAtMzI3NjguIEFjdHVhbDogJyArICgtNDE5NDMwNCA+PiA3KSk7IAp9IAoKCmlmICgtODM4ODYwOCA+PiA3ICE9PSAtNjU1MzYpIHsgCiAgJEVSUk9SKCcjMjQ4OiAtODM4ODYwOCA+PiA3ID09PSAtNjU1MzYuIEFjdHVhbDogJyArICgtODM4ODYwOCA+PiA3KSk7IAp9IAoKCmlmICgtMTY3NzcyMTYgPj4gNyAhPT0gLTEzMTA3MikgeyAKICAkRVJST1IoJyMyNDk6IC0xNjc3NzIxNiA+PiA3ID09PSAtMTMxMDcyLiBBY3R1YWw6ICcgKyAoLTE2Nzc3MjE2ID4+IDcpKTsgCn0gCgoKaWYgKC0zMzU1NDQzMiA+PiA3ICE9PSAtMjYyMTQ0KSB7IAogICRFUlJPUignIzI1MDogLTMzNTU0NDMyID4+IDcgPT09IC0yNjIxNDQuIEFjdHVhbDogJyArICgtMzM1NTQ0MzIgPj4gNykpOyAKfSAKCgppZiAoLTY3MTA4ODY0ID4+IDcgIT09IC01MjQyODgpIHsgCiAgJEVSUk9SKCcjMjUxOiAtNjcxMDg4NjQgPj4gNyA9PT0gLTUyNDI4OC4gQWN0dWFsOiAnICsgKC02NzEwODg2NCA+PiA3KSk7IAp9IAoKCmlmICgtMTM0MjE3NzI4ID4+IDcgIT09IC0xMDQ4NTc2KSB7IAogICRFUlJPUignIzI1MjogLTEzNDIxNzcyOCA+PiA3ID09PSAtMTA0ODU3Ni4gQWN0dWFsOiAnICsgKC0xMzQyMTc3MjggPj4gNykpOyAKfSAKCgppZiAoLTI2ODQzNTQ1NiA+PiA3ICE9PSAtMjA5NzE1MikgeyAKICAkRVJST1IoJyMyNTM6IC0yNjg0MzU0NTYgPj4gNyA9PT0gLTIwOTcxNTIuIEFjdHVhbDogJyArICgtMjY4NDM1NDU2ID4+IDcpKTsgCn0gCgoKaWYgKC01MzY4NzA5MTIgPj4gNyAhPT0gLTQxOTQzMDQpIHsgCiAgJEVSUk9SKCcjMjU0OiAtNTM2ODcwOTEyID4+IDcgPT09IC00MTk0MzA0LiBBY3R1YWw6ICcgKyAoLTUzNjg3MDkxMiA+PiA3KSk7IAp9IAoKCmlmICgtMTA3Mzc0MTgyNCA+PiA3ICE9PSAtODM4ODYwOCkgeyAKICAkRVJST1IoJyMyNTU6IC0xMDczNzQxODI0ID4+IDcgPT09IC04Mzg4NjA4LiBBY3R1YWw6ICcgKyAoLTEwNzM3NDE4MjQgPj4gNykpOyAKfSAKCgppZiAoLTIxNDc0ODM2NDggPj4gNyAhPT0gLTE2Nzc3MjE2KSB7IAogICRFUlJPUignIzI1NjogLTIxNDc0ODM2NDggPj4gNyA9PT0gLTE2Nzc3MjE2LiBBY3R1YWw6ICcgKyAoLTIxNDc0ODM2NDggPj4gNykpOyAKfSAKCgppZiAoLTEgPj4gOCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMjU3OiAtMSA+PiA4ID09PSAtMS4gQWN0dWFsOiAnICsgKC0xID4+IDgpKTsgCn0gCgoKaWYgKC0yID4+IDggIT09IC0xKSB7IAogICRFUlJPUignIzI1ODogLTIgPj4gOCA9PT0gLTEuIEFjdHVhbDogJyArICgtMiA+PiA4KSk7IAp9IAoKCmlmICgtNCA+PiA4ICE9PSAtMSkgeyAKICAkRVJST1IoJyMyNTk6IC00ID4+IDggPT09IC0xLiBBY3R1YWw6ICcgKyAoLTQgPj4gOCkpOyAKfSAKCgppZiAoLTggPj4gOCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMjYwOiAtOCA+PiA4ID09PSAtMS4gQWN0dWFsOiAnICsgKC04ID4+IDgpKTsgCn0gCgoKaWYgKC0xNiA+PiA4ICE9PSAtMSkgeyAKICAkRVJST1IoJyMyNjE6IC0xNiA+PiA4ID09PSAtMS4gQWN0dWFsOiAnICsgKC0xNiA+PiA4KSk7IAp9IAoKCmlmICgtMzIgPj4gOCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMjYyOiAtMzIgPj4gOCA9PT0gLTEuIEFjdHVhbDogJyArICgtMzIgPj4gOCkpOyAKfSAKCgppZiAoLTY0ID4+IDggIT09IC0xKSB7IAogICRFUlJPUignIzI2MzogLTY0ID4+IDggPT09IC0xLiBBY3R1YWw6ICcgKyAoLTY0ID4+IDgpKTsgCn0gCgoKaWYgKC0xMjggPj4gOCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMjY0OiAtMTI4ID4+IDggPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEyOCA+PiA4KSk7IAp9IAoKCmlmICgtMjU2ID4+IDggIT09IC0xKSB7IAogICRFUlJPUignIzI2NTogLTI1NiA+PiA4ID09PSAtMS4gQWN0dWFsOiAnICsgKC0yNTYgPj4gOCkpOyAKfSAKCgppZiAoLTUxMiA+PiA4ICE9PSAtMikgeyAKICAkRVJST1IoJyMyNjY6IC01MTIgPj4gOCA9PT0gLTIuIEFjdHVhbDogJyArICgtNTEyID4+IDgpKTsgCn0gCgoKaWYgKC0xMDI0ID4+IDggIT09IC00KSB7IAogICRFUlJPUignIzI2NzogLTEwMjQgPj4gOCA9PT0gLTQuIEFjdHVhbDogJyArICgtMTAyNCA+PiA4KSk7IAp9IAoKCmlmICgtMjA0OCA+PiA4ICE9PSAtOCkgeyAKICAkRVJST1IoJyMyNjg6IC0yMDQ4ID4+IDggPT09IC04LiBBY3R1YWw6ICcgKyAoLTIwNDggPj4gOCkpOyAKfSAKCgppZiAoLTQwOTYgPj4gOCAhPT0gLTE2KSB7IAogICRFUlJPUignIzI2OTogLTQwOTYgPj4gOCA9PT0gLTE2LiBBY3R1YWw6ICcgKyAoLTQwOTYgPj4gOCkpOyAKfSAKCgppZiAoLTgxOTIgPj4gOCAhPT0gLTMyKSB7IAogICRFUlJPUignIzI3MDogLTgxOTIgPj4gOCA9PT0gLTMyLiBBY3R1YWw6ICcgKyAoLTgxOTIgPj4gOCkpOyAKfSAKCgppZiAoLTE2Mzg0ID4+IDggIT09IC02NCkgeyAKICAkRVJST1IoJyMyNzE6IC0xNjM4NCA+PiA4ID09PSAtNjQuIEFjdHVhbDogJyArICgtMTYzODQgPj4gOCkpOyAKfSAKCgppZiAoLTMyNzY4ID4+IDggIT09IC0xMjgpIHsgCiAgJEVSUk9SKCcjMjcyOiAtMzI3NjggPj4gOCA9PT0gLTEyOC4gQWN0dWFsOiAnICsgKC0zMjc2OCA+PiA4KSk7IAp9IAoKCmlmICgtNjU1MzYgPj4gOCAhPT0gLTI1NikgeyAKICAkRVJST1IoJyMyNzM6IC02NTUzNiA+PiA4ID09PSAtMjU2LiBBY3R1YWw6ICcgKyAoLTY1NTM2ID4+IDgpKTsgCn0gCgoKaWYgKC0xMzEwNzIgPj4gOCAhPT0gLTUxMikgeyAKICAkRVJST1IoJyMyNzQ6IC0xMzEwNzIgPj4gOCA9PT0gLTUxMi4gQWN0dWFsOiAnICsgKC0xMzEwNzIgPj4gOCkpOyAKfSAKCgppZiAoLTI2MjE0NCA+PiA4ICE9PSAtMTAyNCkgeyAKICAkRVJST1IoJyMyNzU6IC0yNjIxNDQgPj4gOCA9PT0gLTEwMjQuIEFjdHVhbDogJyArICgtMjYyMTQ0ID4+IDgpKTsgCn0gCgoKaWYgKC01MjQyODggPj4gOCAhPT0gLTIwNDgpIHsgCiAgJEVSUk9SKCcjMjc2OiAtNTI0Mjg4ID4+IDggPT09IC0yMDQ4LiBBY3R1YWw6ICcgKyAoLTUyNDI4OCA+PiA4KSk7IAp9IAoKCmlmICgtMTA0ODU3NiA+PiA4ICE9PSAtNDA5NikgeyAKICAkRVJST1IoJyMyNzc6IC0xMDQ4NTc2ID4+IDggPT09IC00MDk2LiBBY3R1YWw6ICcgKyAoLTEwNDg1NzYgPj4gOCkpOyAKfSAKCgppZiAoLTIwOTcxNTIgPj4gOCAhPT0gLTgxOTIpIHsgCiAgJEVSUk9SKCcjMjc4OiAtMjA5NzE1MiA+PiA4ID09PSAtODE5Mi4gQWN0dWFsOiAnICsgKC0yMDk3MTUyID4+IDgpKTsgCn0gCgoKaWYgKC00MTk0MzA0ID4+IDggIT09IC0xNjM4NCkgeyAKICAkRVJST1IoJyMyNzk6IC00MTk0MzA0ID4+IDggPT09IC0xNjM4NC4gQWN0dWFsOiAnICsgKC00MTk0MzA0ID4+IDgpKTsgCn0gCgoKaWYgKC04Mzg4NjA4ID4+IDggIT09IC0zMjc2OCkgeyAKICAkRVJST1IoJyMyODA6IC04Mzg4NjA4ID4+IDggPT09IC0zMjc2OC4gQWN0dWFsOiAnICsgKC04Mzg4NjA4ID4+IDgpKTsgCn0gCgoKaWYgKC0xNjc3NzIxNiA+PiA4ICE9PSAtNjU1MzYpIHsgCiAgJEVSUk9SKCcjMjgxOiAtMTY3NzcyMTYgPj4gOCA9PT0gLTY1NTM2LiBBY3R1YWw6ICcgKyAoLTE2Nzc3MjE2ID4+IDgpKTsgCn0gCgoKaWYgKC0zMzU1NDQzMiA+PiA4ICE9PSAtMTMxMDcyKSB7IAogICRFUlJPUignIzI4MjogLTMzNTU0NDMyID4+IDggPT09IC0xMzEwNzIuIEFjdHVhbDogJyArICgtMzM1NTQ0MzIgPj4gOCkpOyAKfSAKCgppZiAoLTY3MTA4ODY0ID4+IDggIT09IC0yNjIxNDQpIHsgCiAgJEVSUk9SKCcjMjgzOiAtNjcxMDg4NjQgPj4gOCA9PT0gLTI2MjE0NC4gQWN0dWFsOiAnICsgKC02NzEwODg2NCA+PiA4KSk7IAp9IAoKCmlmICgtMTM0MjE3NzI4ID4+IDggIT09IC01MjQyODgpIHsgCiAgJEVSUk9SKCcjMjg0OiAtMTM0MjE3NzI4ID4+IDggPT09IC01MjQyODguIEFjdHVhbDogJyArICgtMTM0MjE3NzI4ID4+IDgpKTsgCn0gCgoKaWYgKC0yNjg0MzU0NTYgPj4gOCAhPT0gLTEwNDg1NzYpIHsgCiAgJEVSUk9SKCcjMjg1OiAtMjY4NDM1NDU2ID4+IDggPT09IC0xMDQ4NTc2LiBBY3R1YWw6ICcgKyAoLTI2ODQzNTQ1NiA+PiA4KSk7IAp9IAoKCmlmICgtNTM2ODcwOTEyID4+IDggIT09IC0yMDk3MTUyKSB7IAogICRFUlJPUignIzI4NjogLTUzNjg3MDkxMiA+PiA4ID09PSAtMjA5NzE1Mi4gQWN0dWFsOiAnICsgKC01MzY4NzA5MTIgPj4gOCkpOyAKfSAKCgppZiAoLTEwNzM3NDE4MjQgPj4gOCAhPT0gLTQxOTQzMDQpIHsgCiAgJEVSUk9SKCcjMjg3OiAtMTA3Mzc0MTgyNCA+PiA4ID09PSAtNDE5NDMwNC4gQWN0dWFsOiAnICsgKC0xMDczNzQxODI0ID4+IDgpKTsgCn0gCgoKaWYgKC0yMTQ3NDgzNjQ4ID4+IDggIT09IC04Mzg4NjA4KSB7IAogICRFUlJPUignIzI4ODogLTIxNDc0ODM2NDggPj4gOCA9PT0gLTgzODg2MDguIEFjdHVhbDogJyArICgtMjE0NzQ4MzY0OCA+PiA4KSk7IAp9IAoKCmlmICgtMSA+PiA5ICE9PSAtMSkgeyAKICAkRVJST1IoJyMyODk6IC0xID4+IDkgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEgPj4gOSkpOyAKfSAKCgppZiAoLTIgPj4gOSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMjkwOiAtMiA+PiA5ID09PSAtMS4gQWN0dWFsOiAnICsgKC0yID4+IDkpKTsgCn0gCgoKaWYgKC00ID4+IDkgIT09IC0xKSB7IAogICRFUlJPUignIzI5MTogLTQgPj4gOSA9PT0gLTEuIEFjdHVhbDogJyArICgtNCA+PiA5KSk7IAp9IAoKCmlmICgtOCA+PiA5ICE9PSAtMSkgeyAKICAkRVJST1IoJyMyOTI6IC04ID4+IDkgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTggPj4gOSkpOyAKfSAKCgppZiAoLTE2ID4+IDkgIT09IC0xKSB7IAogICRFUlJPUignIzI5MzogLTE2ID4+IDkgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTE2ID4+IDkpKTsgCn0gCgoKaWYgKC0zMiA+PiA5ICE9PSAtMSkgeyAKICAkRVJST1IoJyMyOTQ6IC0zMiA+PiA5ID09PSAtMS4gQWN0dWFsOiAnICsgKC0zMiA+PiA5KSk7IAp9IAoKCmlmICgtNjQgPj4gOSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMjk1OiAtNjQgPj4gOSA9PT0gLTEuIEFjdHVhbDogJyArICgtNjQgPj4gOSkpOyAKfSAKCgppZiAoLTEyOCA+PiA5ICE9PSAtMSkgeyAKICAkRVJST1IoJyMyOTY6IC0xMjggPj4gOSA9PT0gLTEuIEFjdHVhbDogJyArICgtMTI4ID4+IDkpKTsgCn0gCgoKaWYgKC0yNTYgPj4gOSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMjk3OiAtMjU2ID4+IDkgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTI1NiA+PiA5KSk7IAp9IAoKCmlmICgtNTEyID4+IDkgIT09IC0xKSB7IAogICRFUlJPUignIzI5ODogLTUxMiA+PiA5ID09PSAtMS4gQWN0dWFsOiAnICsgKC01MTIgPj4gOSkpOyAKfSAKCgppZiAoLTEwMjQgPj4gOSAhPT0gLTIpIHsgCiAgJEVSUk9SKCcjMjk5OiAtMTAyNCA+PiA5ID09PSAtMi4gQWN0dWFsOiAnICsgKC0xMDI0ID4+IDkpKTsgCn0gCgoKaWYgKC0yMDQ4ID4+IDkgIT09IC00KSB7IAogICRFUlJPUignIzMwMDogLTIwNDggPj4gOSA9PT0gLTQuIEFjdHVhbDogJyArICgtMjA0OCA+PiA5KSk7IAp9IAoKCmlmICgtNDA5NiA+PiA5ICE9PSAtOCkgeyAKICAkRVJST1IoJyMzMDE6IC00MDk2ID4+IDkgPT09IC04LiBBY3R1YWw6ICcgKyAoLTQwOTYgPj4gOSkpOyAKfSAKCgppZiAoLTgxOTIgPj4gOSAhPT0gLTE2KSB7IAogICRFUlJPUignIzMwMjogLTgxOTIgPj4gOSA9PT0gLTE2LiBBY3R1YWw6ICcgKyAoLTgxOTIgPj4gOSkpOyAKfSAKCgppZiAoLTE2Mzg0ID4+IDkgIT09IC0zMikgeyAKICAkRVJST1IoJyMzMDM6IC0xNjM4NCA+PiA5ID09PSAtMzIuIEFjdHVhbDogJyArICgtMTYzODQgPj4gOSkpOyAKfSAKCgppZiAoLTMyNzY4ID4+IDkgIT09IC02NCkgeyAKICAkRVJST1IoJyMzMDQ6IC0zMjc2OCA+PiA5ID09PSAtNjQuIEFjdHVhbDogJyArICgtMzI3NjggPj4gOSkpOyAKfSAKCgppZiAoLTY1NTM2ID4+IDkgIT09IC0xMjgpIHsgCiAgJEVSUk9SKCcjMzA1OiAtNjU1MzYgPj4gOSA9PT0gLTEyOC4gQWN0dWFsOiAnICsgKC02NTUzNiA+PiA5KSk7IAp9IAoKCmlmICgtMTMxMDcyID4+IDkgIT09IC0yNTYpIHsgCiAgJEVSUk9SKCcjMzA2OiAtMTMxMDcyID4+IDkgPT09IC0yNTYuIEFjdHVhbDogJyArICgtMTMxMDcyID4+IDkpKTsgCn0gCgoKaWYgKC0yNjIxNDQgPj4gOSAhPT0gLTUxMikgeyAKICAkRVJST1IoJyMzMDc6IC0yNjIxNDQgPj4gOSA9PT0gLTUxMi4gQWN0dWFsOiAnICsgKC0yNjIxNDQgPj4gOSkpOyAKfSAKCgppZiAoLTUyNDI4OCA+PiA5ICE9PSAtMTAyNCkgeyAKICAkRVJST1IoJyMzMDg6IC01MjQyODggPj4gOSA9PT0gLTEwMjQuIEFjdHVhbDogJyArICgtNTI0Mjg4ID4+IDkpKTsgCn0gCgoKaWYgKC0xMDQ4NTc2ID4+IDkgIT09IC0yMDQ4KSB7IAogICRFUlJPUignIzMwOTogLTEwNDg1NzYgPj4gOSA9PT0gLTIwNDguIEFjdHVhbDogJyArICgtMTA0ODU3NiA+PiA5KSk7IAp9IAoKCmlmICgtMjA5NzE1MiA+PiA5ICE9PSAtNDA5NikgeyAKICAkRVJST1IoJyMzMTA6IC0yMDk3MTUyID4+IDkgPT09IC00MDk2LiBBY3R1YWw6ICcgKyAoLTIwOTcxNTIgPj4gOSkpOyAKfSAKCgppZiAoLTQxOTQzMDQgPj4gOSAhPT0gLTgxOTIpIHsgCiAgJEVSUk9SKCcjMzExOiAtNDE5NDMwNCA+PiA5ID09PSAtODE5Mi4gQWN0dWFsOiAnICsgKC00MTk0MzA0ID4+IDkpKTsgCn0gCgoKaWYgKC04Mzg4NjA4ID4+IDkgIT09IC0xNjM4NCkgeyAKICAkRVJST1IoJyMzMTI6IC04Mzg4NjA4ID4+IDkgPT09IC0xNjM4NC4gQWN0dWFsOiAnICsgKC04Mzg4NjA4ID4+IDkpKTsgCn0gCgoKaWYgKC0xNjc3NzIxNiA+PiA5ICE9PSAtMzI3NjgpIHsgCiAgJEVSUk9SKCcjMzEzOiAtMTY3NzcyMTYgPj4gOSA9PT0gLTMyNzY4LiBBY3R1YWw6ICcgKyAoLTE2Nzc3MjE2ID4+IDkpKTsgCn0gCgoKaWYgKC0zMzU1NDQzMiA+PiA5ICE9PSAtNjU1MzYpIHsgCiAgJEVSUk9SKCcjMzE0OiAtMzM1NTQ0MzIgPj4gOSA9PT0gLTY1NTM2LiBBY3R1YWw6ICcgKyAoLTMzNTU0NDMyID4+IDkpKTsgCn0gCgoKaWYgKC02NzEwODg2NCA+PiA5ICE9PSAtMTMxMDcyKSB7IAogICRFUlJPUignIzMxNTogLTY3MTA4ODY0ID4+IDkgPT09IC0xMzEwNzIuIEFjdHVhbDogJyArICgtNjcxMDg4NjQgPj4gOSkpOyAKfSAKCgppZiAoLTEzNDIxNzcyOCA+PiA5ICE9PSAtMjYyMTQ0KSB7IAogICRFUlJPUignIzMxNjogLTEzNDIxNzcyOCA+PiA5ID09PSAtMjYyMTQ0LiBBY3R1YWw6ICcgKyAoLTEzNDIxNzcyOCA+PiA5KSk7IAp9IAoKCmlmICgtMjY4NDM1NDU2ID4+IDkgIT09IC01MjQyODgpIHsgCiAgJEVSUk9SKCcjMzE3OiAtMjY4NDM1NDU2ID4+IDkgPT09IC01MjQyODguIEFjdHVhbDogJyArICgtMjY4NDM1NDU2ID4+IDkpKTsgCn0gCgoKaWYgKC01MzY4NzA5MTIgPj4gOSAhPT0gLTEwNDg1NzYpIHsgCiAgJEVSUk9SKCcjMzE4OiAtNTM2ODcwOTEyID4+IDkgPT09IC0xMDQ4NTc2LiBBY3R1YWw6ICcgKyAoLTUzNjg3MDkxMiA+PiA5KSk7IAp9IAoKCmlmICgtMTA3Mzc0MTgyNCA+PiA5ICE9PSAtMjA5NzE1MikgeyAKICAkRVJST1IoJyMzMTk6IC0xMDczNzQxODI0ID4+IDkgPT09IC0yMDk3MTUyLiBBY3R1YWw6ICcgKyAoLTEwNzM3NDE4MjQgPj4gOSkpOyAKfSAKCgppZiAoLTIxNDc0ODM2NDggPj4gOSAhPT0gLTQxOTQzMDQpIHsgCiAgJEVSUk9SKCcjMzIwOiAtMjE0NzQ4MzY0OCA+PiA5ID09PSAtNDE5NDMwNC4gQWN0dWFsOiAnICsgKC0yMTQ3NDgzNjQ4ID4+IDkpKTsgCn0gCgoKaWYgKC0xID4+IDEwICE9PSAtMSkgeyAKICAkRVJST1IoJyMzMjE6IC0xID4+IDEwID09PSAtMS4gQWN0dWFsOiAnICsgKC0xID4+IDEwKSk7IAp9IAoKCmlmICgtMiA+PiAxMCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMzIyOiAtMiA+PiAxMCA9PT0gLTEuIEFjdHVhbDogJyArICgtMiA+PiAxMCkpOyAKfSAKCgppZiAoLTQgPj4gMTAgIT09IC0xKSB7IAogICRFUlJPUignIzMyMzogLTQgPj4gMTAgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTQgPj4gMTApKTsgCn0gCgoKaWYgKC04ID4+IDEwICE9PSAtMSkgeyAKICAkRVJST1IoJyMzMjQ6IC04ID4+IDEwID09PSAtMS4gQWN0dWFsOiAnICsgKC04ID4+IDEwKSk7IAp9IAoKCmlmICgtMTYgPj4gMTAgIT09IC0xKSB7IAogICRFUlJPUignIzMyNTogLTE2ID4+IDEwID09PSAtMS4gQWN0dWFsOiAnICsgKC0xNiA+PiAxMCkpOyAKfSAKCgppZiAoLTMyID4+IDEwICE9PSAtMSkgeyAKICAkRVJST1IoJyMzMjY6IC0zMiA+PiAxMCA9PT0gLTEuIEFjdHVhbDogJyArICgtMzIgPj4gMTApKTsgCn0gCgoKaWYgKC02NCA+PiAxMCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMzI3OiAtNjQgPj4gMTAgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTY0ID4+IDEwKSk7IAp9IAoKCmlmICgtMTI4ID4+IDEwICE9PSAtMSkgeyAKICAkRVJST1IoJyMzMjg6IC0xMjggPj4gMTAgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEyOCA+PiAxMCkpOyAKfSAKCgppZiAoLTI1NiA+PiAxMCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMzI5OiAtMjU2ID4+IDEwID09PSAtMS4gQWN0dWFsOiAnICsgKC0yNTYgPj4gMTApKTsgCn0gCgoKaWYgKC01MTIgPj4gMTAgIT09IC0xKSB7IAogICRFUlJPUignIzMzMDogLTUxMiA+PiAxMCA9PT0gLTEuIEFjdHVhbDogJyArICgtNTEyID4+IDEwKSk7IAp9IAoKCmlmICgtMTAyNCA+PiAxMCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMzMxOiAtMTAyNCA+PiAxMCA9PT0gLTEuIEFjdHVhbDogJyArICgtMTAyNCA+PiAxMCkpOyAKfSAKCgppZiAoLTIwNDggPj4gMTAgIT09IC0yKSB7IAogICRFUlJPUignIzMzMjogLTIwNDggPj4gMTAgPT09IC0yLiBBY3R1YWw6ICcgKyAoLTIwNDggPj4gMTApKTsgCn0gCgoKaWYgKC00MDk2ID4+IDEwICE9PSAtNCkgeyAKICAkRVJST1IoJyMzMzM6IC00MDk2ID4+IDEwID09PSAtNC4gQWN0dWFsOiAnICsgKC00MDk2ID4+IDEwKSk7IAp9IAoKCmlmICgtODE5MiA+PiAxMCAhPT0gLTgpIHsgCiAgJEVSUk9SKCcjMzM0OiAtODE5MiA+PiAxMCA9PT0gLTguIEFjdHVhbDogJyArICgtODE5MiA+PiAxMCkpOyAKfSAKCgppZiAoLTE2Mzg0ID4+IDEwICE9PSAtMTYpIHsgCiAgJEVSUk9SKCcjMzM1OiAtMTYzODQgPj4gMTAgPT09IC0xNi4gQWN0dWFsOiAnICsgKC0xNjM4NCA+PiAxMCkpOyAKfSAKCgppZiAoLTMyNzY4ID4+IDEwICE9PSAtMzIpIHsgCiAgJEVSUk9SKCcjMzM2OiAtMzI3NjggPj4gMTAgPT09IC0zMi4gQWN0dWFsOiAnICsgKC0zMjc2OCA+PiAxMCkpOyAKfSAKCgppZiAoLTY1NTM2ID4+IDEwICE9PSAtNjQpIHsgCiAgJEVSUk9SKCcjMzM3OiAtNjU1MzYgPj4gMTAgPT09IC02NC4gQWN0dWFsOiAnICsgKC02NTUzNiA+PiAxMCkpOyAKfSAKCgppZiAoLTEzMTA3MiA+PiAxMCAhPT0gLTEyOCkgeyAKICAkRVJST1IoJyMzMzg6IC0xMzEwNzIgPj4gMTAgPT09IC0xMjguIEFjdHVhbDogJyArICgtMTMxMDcyID4+IDEwKSk7IAp9IAoKCmlmICgtMjYyMTQ0ID4+IDEwICE9PSAtMjU2KSB7IAogICRFUlJPUignIzMzOTogLTI2MjE0NCA+PiAxMCA9PT0gLTI1Ni4gQWN0dWFsOiAnICsgKC0yNjIxNDQgPj4gMTApKTsgCn0gCgoKaWYgKC01MjQyODggPj4gMTAgIT09IC01MTIpIHsgCiAgJEVSUk9SKCcjMzQwOiAtNTI0Mjg4ID4+IDEwID09PSAtNTEyLiBBY3R1YWw6ICcgKyAoLTUyNDI4OCA+PiAxMCkpOyAKfSAKCgppZiAoLTEwNDg1NzYgPj4gMTAgIT09IC0xMDI0KSB7IAogICRFUlJPUignIzM0MTogLTEwNDg1NzYgPj4gMTAgPT09IC0xMDI0LiBBY3R1YWw6ICcgKyAoLTEwNDg1NzYgPj4gMTApKTsgCn0gCgoKaWYgKC0yMDk3MTUyID4+IDEwICE9PSAtMjA0OCkgeyAKICAkRVJST1IoJyMzNDI6IC0yMDk3MTUyID4+IDEwID09PSAtMjA0OC4gQWN0dWFsOiAnICsgKC0yMDk3MTUyID4+IDEwKSk7IAp9IAoKCmlmICgtNDE5NDMwNCA+PiAxMCAhPT0gLTQwOTYpIHsgCiAgJEVSUk9SKCcjMzQzOiAtNDE5NDMwNCA+PiAxMCA9PT0gLTQwOTYuIEFjdHVhbDogJyArICgtNDE5NDMwNCA+PiAxMCkpOyAKfSAKCgppZiAoLTgzODg2MDggPj4gMTAgIT09IC04MTkyKSB7IAogICRFUlJPUignIzM0NDogLTgzODg2MDggPj4gMTAgPT09IC04MTkyLiBBY3R1YWw6ICcgKyAoLTgzODg2MDggPj4gMTApKTsgCn0gCgoKaWYgKC0xNjc3NzIxNiA+PiAxMCAhPT0gLTE2Mzg0KSB7IAogICRFUlJPUignIzM0NTogLTE2Nzc3MjE2ID4+IDEwID09PSAtMTYzODQuIEFjdHVhbDogJyArICgtMTY3NzcyMTYgPj4gMTApKTsgCn0gCgoKaWYgKC0zMzU1NDQzMiA+PiAxMCAhPT0gLTMyNzY4KSB7IAogICRFUlJPUignIzM0NjogLTMzNTU0NDMyID4+IDEwID09PSAtMzI3NjguIEFjdHVhbDogJyArICgtMzM1NTQ0MzIgPj4gMTApKTsgCn0gCgoKaWYgKC02NzEwODg2NCA+PiAxMCAhPT0gLTY1NTM2KSB7IAogICRFUlJPUignIzM0NzogLTY3MTA4ODY0ID4+IDEwID09PSAtNjU1MzYuIEFjdHVhbDogJyArICgtNjcxMDg4NjQgPj4gMTApKTsgCn0gCgoKaWYgKC0xMzQyMTc3MjggPj4gMTAgIT09IC0xMzEwNzIpIHsgCiAgJEVSUk9SKCcjMzQ4OiAtMTM0MjE3NzI4ID4+IDEwID09PSAtMTMxMDcyLiBBY3R1YWw6ICcgKyAoLTEzNDIxNzcyOCA+PiAxMCkpOyAKfSAKCgppZiAoLTI2ODQzNTQ1NiA+PiAxMCAhPT0gLTI2MjE0NCkgeyAKICAkRVJST1IoJyMzNDk6IC0yNjg0MzU0NTYgPj4gMTAgPT09IC0yNjIxNDQuIEFjdHVhbDogJyArICgtMjY4NDM1NDU2ID4+IDEwKSk7IAp9IAoKCmlmICgtNTM2ODcwOTEyID4+IDEwICE9PSAtNTI0Mjg4KSB7IAogICRFUlJPUignIzM1MDogLTUzNjg3MDkxMiA+PiAxMCA9PT0gLTUyNDI4OC4gQWN0dWFsOiAnICsgKC01MzY4NzA5MTIgPj4gMTApKTsgCn0gCgoKaWYgKC0xMDczNzQxODI0ID4+IDEwICE9PSAtMTA0ODU3NikgeyAKICAkRVJST1IoJyMzNTE6IC0xMDczNzQxODI0ID4+IDEwID09PSAtMTA0ODU3Ni4gQWN0dWFsOiAnICsgKC0xMDczNzQxODI0ID4+IDEwKSk7IAp9IAoKCmlmICgtMjE0NzQ4MzY0OCA+PiAxMCAhPT0gLTIwOTcxNTIpIHsgCiAgJEVSUk9SKCcjMzUyOiAtMjE0NzQ4MzY0OCA+PiAxMCA9PT0gLTIwOTcxNTIuIEFjdHVhbDogJyArICgtMjE0NzQ4MzY0OCA+PiAxMCkpOyAKfSAKCgppZiAoLTEgPj4gMTEgIT09IC0xKSB7IAogICRFUlJPUignIzM1MzogLTEgPj4gMTEgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEgPj4gMTEpKTsgCn0gCgoKaWYgKC0yID4+IDExICE9PSAtMSkgeyAKICAkRVJST1IoJyMzNTQ6IC0yID4+IDExID09PSAtMS4gQWN0dWFsOiAnICsgKC0yID4+IDExKSk7IAp9IAoKCmlmICgtNCA+PiAxMSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMzU1OiAtNCA+PiAxMSA9PT0gLTEuIEFjdHVhbDogJyArICgtNCA+PiAxMSkpOyAKfSAKCgppZiAoLTggPj4gMTEgIT09IC0xKSB7IAogICRFUlJPUignIzM1NjogLTggPj4gMTEgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTggPj4gMTEpKTsgCn0gCgoKaWYgKC0xNiA+PiAxMSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMzU3OiAtMTYgPj4gMTEgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTE2ID4+IDExKSk7IAp9IAoKCmlmICgtMzIgPj4gMTEgIT09IC0xKSB7IAogICRFUlJPUignIzM1ODogLTMyID4+IDExID09PSAtMS4gQWN0dWFsOiAnICsgKC0zMiA+PiAxMSkpOyAKfSAKCgppZiAoLTY0ID4+IDExICE9PSAtMSkgeyAKICAkRVJST1IoJyMzNTk6IC02NCA+PiAxMSA9PT0gLTEuIEFjdHVhbDogJyArICgtNjQgPj4gMTEpKTsgCn0gCgoKaWYgKC0xMjggPj4gMTEgIT09IC0xKSB7IAogICRFUlJPUignIzM2MDogLTEyOCA+PiAxMSA9PT0gLTEuIEFjdHVhbDogJyArICgtMTI4ID4+IDExKSk7IAp9IAoKCmlmICgtMjU2ID4+IDExICE9PSAtMSkgeyAKICAkRVJST1IoJyMzNjE6IC0yNTYgPj4gMTEgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTI1NiA+PiAxMSkpOyAKfSAKCgppZiAoLTUxMiA+PiAxMSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMzYyOiAtNTEyID4+IDExID09PSAtMS4gQWN0dWFsOiAnICsgKC01MTIgPj4gMTEpKTsgCn0gCgoKaWYgKC0xMDI0ID4+IDExICE9PSAtMSkgeyAKICAkRVJST1IoJyMzNjM6IC0xMDI0ID4+IDExID09PSAtMS4gQWN0dWFsOiAnICsgKC0xMDI0ID4+IDExKSk7IAp9IAoKCmlmICgtMjA0OCA+PiAxMSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMzY0OiAtMjA0OCA+PiAxMSA9PT0gLTEuIEFjdHVhbDogJyArICgtMjA0OCA+PiAxMSkpOyAKfSAKCgppZiAoLTQwOTYgPj4gMTEgIT09IC0yKSB7IAogICRFUlJPUignIzM2NTogLTQwOTYgPj4gMTEgPT09IC0yLiBBY3R1YWw6ICcgKyAoLTQwOTYgPj4gMTEpKTsgCn0gCgoKaWYgKC04MTkyID4+IDExICE9PSAtNCkgeyAKICAkRVJST1IoJyMzNjY6IC04MTkyID4+IDExID09PSAtNC4gQWN0dWFsOiAnICsgKC04MTkyID4+IDExKSk7IAp9IAoKCmlmICgtMTYzODQgPj4gMTEgIT09IC04KSB7IAogICRFUlJPUignIzM2NzogLTE2Mzg0ID4+IDExID09PSAtOC4gQWN0dWFsOiAnICsgKC0xNjM4NCA+PiAxMSkpOyAKfSAKCgppZiAoLTMyNzY4ID4+IDExICE9PSAtMTYpIHsgCiAgJEVSUk9SKCcjMzY4OiAtMzI3NjggPj4gMTEgPT09IC0xNi4gQWN0dWFsOiAnICsgKC0zMjc2OCA+PiAxMSkpOyAKfSAKCgppZiAoLTY1NTM2ID4+IDExICE9PSAtMzIpIHsgCiAgJEVSUk9SKCcjMzY5OiAtNjU1MzYgPj4gMTEgPT09IC0zMi4gQWN0dWFsOiAnICsgKC02NTUzNiA+PiAxMSkpOyAKfSAKCgppZiAoLTEzMTA3MiA+PiAxMSAhPT0gLTY0KSB7IAogICRFUlJPUignIzM3MDogLTEzMTA3MiA+PiAxMSA9PT0gLTY0LiBBY3R1YWw6ICcgKyAoLTEzMTA3MiA+PiAxMSkpOyAKfSAKCgppZiAoLTI2MjE0NCA+PiAxMSAhPT0gLTEyOCkgeyAKICAkRVJST1IoJyMzNzE6IC0yNjIxNDQgPj4gMTEgPT09IC0xMjguIEFjdHVhbDogJyArICgtMjYyMTQ0ID4+IDExKSk7IAp9IAoKCmlmICgtNTI0Mjg4ID4+IDExICE9PSAtMjU2KSB7IAogICRFUlJPUignIzM3MjogLTUyNDI4OCA+PiAxMSA9PT0gLTI1Ni4gQWN0dWFsOiAnICsgKC01MjQyODggPj4gMTEpKTsgCn0gCgoKaWYgKC0xMDQ4NTc2ID4+IDExICE9PSAtNTEyKSB7IAogICRFUlJPUignIzM3MzogLTEwNDg1NzYgPj4gMTEgPT09IC01MTIuIEFjdHVhbDogJyArICgtMTA0ODU3NiA+PiAxMSkpOyAKfSAKCgppZiAoLTIwOTcxNTIgPj4gMTEgIT09IC0xMDI0KSB7IAogICRFUlJPUignIzM3NDogLTIwOTcxNTIgPj4gMTEgPT09IC0xMDI0LiBBY3R1YWw6ICcgKyAoLTIwOTcxNTIgPj4gMTEpKTsgCn0gCgoKaWYgKC00MTk0MzA0ID4+IDExICE9PSAtMjA0OCkgeyAKICAkRVJST1IoJyMzNzU6IC00MTk0MzA0ID4+IDExID09PSAtMjA0OC4gQWN0dWFsOiAnICsgKC00MTk0MzA0ID4+IDExKSk7IAp9IAoKCmlmICgtODM4ODYwOCA+PiAxMSAhPT0gLTQwOTYpIHsgCiAgJEVSUk9SKCcjMzc2OiAtODM4ODYwOCA+PiAxMSA9PT0gLTQwOTYuIEFjdHVhbDogJyArICgtODM4ODYwOCA+PiAxMSkpOyAKfSAKCgppZiAoLTE2Nzc3MjE2ID4+IDExICE9PSAtODE5MikgeyAKICAkRVJST1IoJyMzNzc6IC0xNjc3NzIxNiA+PiAxMSA9PT0gLTgxOTIuIEFjdHVhbDogJyArICgtMTY3NzcyMTYgPj4gMTEpKTsgCn0gCgoKaWYgKC0zMzU1NDQzMiA+PiAxMSAhPT0gLTE2Mzg0KSB7IAogICRFUlJPUignIzM3ODogLTMzNTU0NDMyID4+IDExID09PSAtMTYzODQuIEFjdHVhbDogJyArICgtMzM1NTQ0MzIgPj4gMTEpKTsgCn0gCgoKaWYgKC02NzEwODg2NCA+PiAxMSAhPT0gLTMyNzY4KSB7IAogICRFUlJPUignIzM3OTogLTY3MTA4ODY0ID4+IDExID09PSAtMzI3NjguIEFjdHVhbDogJyArICgtNjcxMDg4NjQgPj4gMTEpKTsgCn0gCgoKaWYgKC0xMzQyMTc3MjggPj4gMTEgIT09IC02NTUzNikgeyAKICAkRVJST1IoJyMzODA6IC0xMzQyMTc3MjggPj4gMTEgPT09IC02NTUzNi4gQWN0dWFsOiAnICsgKC0xMzQyMTc3MjggPj4gMTEpKTsgCn0gCgoKaWYgKC0yNjg0MzU0NTYgPj4gMTEgIT09IC0xMzEwNzIpIHsgCiAgJEVSUk9SKCcjMzgxOiAtMjY4NDM1NDU2ID4+IDExID09PSAtMTMxMDcyLiBBY3R1YWw6ICcgKyAoLTI2ODQzNTQ1NiA+PiAxMSkpOyAKfSAKCgppZiAoLTUzNjg3MDkxMiA+PiAxMSAhPT0gLTI2MjE0NCkgeyAKICAkRVJST1IoJyMzODI6IC01MzY4NzA5MTIgPj4gMTEgPT09IC0yNjIxNDQuIEFjdHVhbDogJyArICgtNTM2ODcwOTEyID4+IDExKSk7IAp9IAoKCmlmICgtMTA3Mzc0MTgyNCA+PiAxMSAhPT0gLTUyNDI4OCkgeyAKICAkRVJST1IoJyMzODM6IC0xMDczNzQxODI0ID4+IDExID09PSAtNTI0Mjg4LiBBY3R1YWw6ICcgKyAoLTEwNzM3NDE4MjQgPj4gMTEpKTsgCn0gCgoKaWYgKC0yMTQ3NDgzNjQ4ID4+IDExICE9PSAtMTA0ODU3NikgeyAKICAkRVJST1IoJyMzODQ6IC0yMTQ3NDgzNjQ4ID4+IDExID09PSAtMTA0ODU3Ni4gQWN0dWFsOiAnICsgKC0yMTQ3NDgzNjQ4ID4+IDExKSk7IAp9IAoKCmlmICgtMSA+PiAxMiAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMzg1OiAtMSA+PiAxMiA9PT0gLTEuIEFjdHVhbDogJyArICgtMSA+PiAxMikpOyAKfSAKCgppZiAoLTIgPj4gMTIgIT09IC0xKSB7IAogICRFUlJPUignIzM4NjogLTIgPj4gMTIgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTIgPj4gMTIpKTsgCn0gCgoKaWYgKC00ID4+IDEyICE9PSAtMSkgeyAKICAkRVJST1IoJyMzODc6IC00ID4+IDEyID09PSAtMS4gQWN0dWFsOiAnICsgKC00ID4+IDEyKSk7IAp9IAoKCmlmICgtOCA+PiAxMiAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMzg4OiAtOCA+PiAxMiA9PT0gLTEuIEFjdHVhbDogJyArICgtOCA+PiAxMikpOyAKfSAKCgppZiAoLTE2ID4+IDEyICE9PSAtMSkgeyAKICAkRVJST1IoJyMzODk6IC0xNiA+PiAxMiA9PT0gLTEuIEFjdHVhbDogJyArICgtMTYgPj4gMTIpKTsgCn0gCgoKaWYgKC0zMiA+PiAxMiAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMzkwOiAtMzIgPj4gMTIgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTMyID4+IDEyKSk7IAp9IAoKCmlmICgtNjQgPj4gMTIgIT09IC0xKSB7IAogICRFUlJPUignIzM5MTogLTY0ID4+IDEyID09PSAtMS4gQWN0dWFsOiAnICsgKC02NCA+PiAxMikpOyAKfSAKCgppZiAoLTEyOCA+PiAxMiAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMzkyOiAtMTI4ID4+IDEyID09PSAtMS4gQWN0dWFsOiAnICsgKC0xMjggPj4gMTIpKTsgCn0gCgoKaWYgKC0yNTYgPj4gMTIgIT09IC0xKSB7IAogICRFUlJPUignIzM5MzogLTI1NiA+PiAxMiA9PT0gLTEuIEFjdHVhbDogJyArICgtMjU2ID4+IDEyKSk7IAp9IAoKCmlmICgtNTEyID4+IDEyICE9PSAtMSkgeyAKICAkRVJST1IoJyMzOTQ6IC01MTIgPj4gMTIgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTUxMiA+PiAxMikpOyAKfSAKCgppZiAoLTEwMjQgPj4gMTIgIT09IC0xKSB7IAogICRFUlJPUignIzM5NTogLTEwMjQgPj4gMTIgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEwMjQgPj4gMTIpKTsgCn0gCgoKaWYgKC0yMDQ4ID4+IDEyICE9PSAtMSkgeyAKICAkRVJST1IoJyMzOTY6IC0yMDQ4ID4+IDEyID09PSAtMS4gQWN0dWFsOiAnICsgKC0yMDQ4ID4+IDEyKSk7IAp9IAoKCmlmICgtNDA5NiA+PiAxMiAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMzk3OiAtNDA5NiA+PiAxMiA9PT0gLTEuIEFjdHVhbDogJyArICgtNDA5NiA+PiAxMikpOyAKfSAKCgppZiAoLTgxOTIgPj4gMTIgIT09IC0yKSB7IAogICRFUlJPUignIzM5ODogLTgxOTIgPj4gMTIgPT09IC0yLiBBY3R1YWw6ICcgKyAoLTgxOTIgPj4gMTIpKTsgCn0gCgoKaWYgKC0xNjM4NCA+PiAxMiAhPT0gLTQpIHsgCiAgJEVSUk9SKCcjMzk5OiAtMTYzODQgPj4gMTIgPT09IC00LiBBY3R1YWw6ICcgKyAoLTE2Mzg0ID4+IDEyKSk7IAp9IAoKCmlmICgtMzI3NjggPj4gMTIgIT09IC04KSB7IAogICRFUlJPUignIzQwMDogLTMyNzY4ID4+IDEyID09PSAtOC4gQWN0dWFsOiAnICsgKC0zMjc2OCA+PiAxMikpOyAKfSAKCgppZiAoLTY1NTM2ID4+IDEyICE9PSAtMTYpIHsgCiAgJEVSUk9SKCcjNDAxOiAtNjU1MzYgPj4gMTIgPT09IC0xNi4gQWN0dWFsOiAnICsgKC02NTUzNiA+PiAxMikpOyAKfSAKCgppZiAoLTEzMTA3MiA+PiAxMiAhPT0gLTMyKSB7IAogICRFUlJPUignIzQwMjogLTEzMTA3MiA+PiAxMiA9PT0gLTMyLiBBY3R1YWw6ICcgKyAoLTEzMTA3MiA+PiAxMikpOyAKfSAKCgppZiAoLTI2MjE0NCA+PiAxMiAhPT0gLTY0KSB7IAogICRFUlJPUignIzQwMzogLTI2MjE0NCA+PiAxMiA9PT0gLTY0LiBBY3R1YWw6ICcgKyAoLTI2MjE0NCA+PiAxMikpOyAKfSAKCgppZiAoLTUyNDI4OCA+PiAxMiAhPT0gLTEyOCkgeyAKICAkRVJST1IoJyM0MDQ6IC01MjQyODggPj4gMTIgPT09IC0xMjguIEFjdHVhbDogJyArICgtNTI0Mjg4ID4+IDEyKSk7IAp9IAoKCmlmICgtMTA0ODU3NiA+PiAxMiAhPT0gLTI1NikgeyAKICAkRVJST1IoJyM0MDU6IC0xMDQ4NTc2ID4+IDEyID09PSAtMjU2LiBBY3R1YWw6ICcgKyAoLTEwNDg1NzYgPj4gMTIpKTsgCn0gCgoKaWYgKC0yMDk3MTUyID4+IDEyICE9PSAtNTEyKSB7IAogICRFUlJPUignIzQwNjogLTIwOTcxNTIgPj4gMTIgPT09IC01MTIuIEFjdHVhbDogJyArICgtMjA5NzE1MiA+PiAxMikpOyAKfSAKCgppZiAoLTQxOTQzMDQgPj4gMTIgIT09IC0xMDI0KSB7IAogICRFUlJPUignIzQwNzogLTQxOTQzMDQgPj4gMTIgPT09IC0xMDI0LiBBY3R1YWw6ICcgKyAoLTQxOTQzMDQgPj4gMTIpKTsgCn0gCgoKaWYgKC04Mzg4NjA4ID4+IDEyICE9PSAtMjA0OCkgeyAKICAkRVJST1IoJyM0MDg6IC04Mzg4NjA4ID4+IDEyID09PSAtMjA0OC4gQWN0dWFsOiAnICsgKC04Mzg4NjA4ID4+IDEyKSk7IAp9IAoKCmlmICgtMTY3NzcyMTYgPj4gMTIgIT09IC00MDk2KSB7IAogICRFUlJPUignIzQwOTogLTE2Nzc3MjE2ID4+IDEyID09PSAtNDA5Ni4gQWN0dWFsOiAnICsgKC0xNjc3NzIxNiA+PiAxMikpOyAKfSAKCgppZiAoLTMzNTU0NDMyID4+IDEyICE9PSAtODE5MikgeyAKICAkRVJST1IoJyM0MTA6IC0zMzU1NDQzMiA+PiAxMiA9PT0gLTgxOTIuIEFjdHVhbDogJyArICgtMzM1NTQ0MzIgPj4gMTIpKTsgCn0gCgoKaWYgKC02NzEwODg2NCA+PiAxMiAhPT0gLTE2Mzg0KSB7IAogICRFUlJPUignIzQxMTogLTY3MTA4ODY0ID4+IDEyID09PSAtMTYzODQuIEFjdHVhbDogJyArICgtNjcxMDg4NjQgPj4gMTIpKTsgCn0gCgoKaWYgKC0xMzQyMTc3MjggPj4gMTIgIT09IC0zMjc2OCkgeyAKICAkRVJST1IoJyM0MTI6IC0xMzQyMTc3MjggPj4gMTIgPT09IC0zMjc2OC4gQWN0dWFsOiAnICsgKC0xMzQyMTc3MjggPj4gMTIpKTsgCn0gCgoKaWYgKC0yNjg0MzU0NTYgPj4gMTIgIT09IC02NTUzNikgeyAKICAkRVJST1IoJyM0MTM6IC0yNjg0MzU0NTYgPj4gMTIgPT09IC02NTUzNi4gQWN0dWFsOiAnICsgKC0yNjg0MzU0NTYgPj4gMTIpKTsgCn0gCgoKaWYgKC01MzY4NzA5MTIgPj4gMTIgIT09IC0xMzEwNzIpIHsgCiAgJEVSUk9SKCcjNDE0OiAtNTM2ODcwOTEyID4+IDEyID09PSAtMTMxMDcyLiBBY3R1YWw6ICcgKyAoLTUzNjg3MDkxMiA+PiAxMikpOyAKfSAKCgppZiAoLTEwNzM3NDE4MjQgPj4gMTIgIT09IC0yNjIxNDQpIHsgCiAgJEVSUk9SKCcjNDE1OiAtMTA3Mzc0MTgyNCA+PiAxMiA9PT0gLTI2MjE0NC4gQWN0dWFsOiAnICsgKC0xMDczNzQxODI0ID4+IDEyKSk7IAp9IAoKCmlmICgtMjE0NzQ4MzY0OCA+PiAxMiAhPT0gLTUyNDI4OCkgeyAKICAkRVJST1IoJyM0MTY6IC0yMTQ3NDgzNjQ4ID4+IDEyID09PSAtNTI0Mjg4LiBBY3R1YWw6ICcgKyAoLTIxNDc0ODM2NDggPj4gMTIpKTsgCn0gCgoKaWYgKC0xID4+IDEzICE9PSAtMSkgeyAKICAkRVJST1IoJyM0MTc6IC0xID4+IDEzID09PSAtMS4gQWN0dWFsOiAnICsgKC0xID4+IDEzKSk7IAp9IAoKCmlmICgtMiA+PiAxMyAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNDE4OiAtMiA+PiAxMyA9PT0gLTEuIEFjdHVhbDogJyArICgtMiA+PiAxMykpOyAKfSAKCgppZiAoLTQgPj4gMTMgIT09IC0xKSB7IAogICRFUlJPUignIzQxOTogLTQgPj4gMTMgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTQgPj4gMTMpKTsgCn0gCgoKaWYgKC04ID4+IDEzICE9PSAtMSkgeyAKICAkRVJST1IoJyM0MjA6IC04ID4+IDEzID09PSAtMS4gQWN0dWFsOiAnICsgKC04ID4+IDEzKSk7IAp9IAoKCmlmICgtMTYgPj4gMTMgIT09IC0xKSB7IAogICRFUlJPUignIzQyMTogLTE2ID4+IDEzID09PSAtMS4gQWN0dWFsOiAnICsgKC0xNiA+PiAxMykpOyAKfSAKCgppZiAoLTMyID4+IDEzICE9PSAtMSkgeyAKICAkRVJST1IoJyM0MjI6IC0zMiA+PiAxMyA9PT0gLTEuIEFjdHVhbDogJyArICgtMzIgPj4gMTMpKTsgCn0gCgoKaWYgKC02NCA+PiAxMyAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNDIzOiAtNjQgPj4gMTMgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTY0ID4+IDEzKSk7IAp9IAoKCmlmICgtMTI4ID4+IDEzICE9PSAtMSkgeyAKICAkRVJST1IoJyM0MjQ6IC0xMjggPj4gMTMgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEyOCA+PiAxMykpOyAKfSAKCgppZiAoLTI1NiA+PiAxMyAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNDI1OiAtMjU2ID4+IDEzID09PSAtMS4gQWN0dWFsOiAnICsgKC0yNTYgPj4gMTMpKTsgCn0gCgoKaWYgKC01MTIgPj4gMTMgIT09IC0xKSB7IAogICRFUlJPUignIzQyNjogLTUxMiA+PiAxMyA9PT0gLTEuIEFjdHVhbDogJyArICgtNTEyID4+IDEzKSk7IAp9IAoKCmlmICgtMTAyNCA+PiAxMyAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNDI3OiAtMTAyNCA+PiAxMyA9PT0gLTEuIEFjdHVhbDogJyArICgtMTAyNCA+PiAxMykpOyAKfSAKCgppZiAoLTIwNDggPj4gMTMgIT09IC0xKSB7IAogICRFUlJPUignIzQyODogLTIwNDggPj4gMTMgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTIwNDggPj4gMTMpKTsgCn0gCgoKaWYgKC00MDk2ID4+IDEzICE9PSAtMSkgeyAKICAkRVJST1IoJyM0Mjk6IC00MDk2ID4+IDEzID09PSAtMS4gQWN0dWFsOiAnICsgKC00MDk2ID4+IDEzKSk7IAp9IAoKCmlmICgtODE5MiA+PiAxMyAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNDMwOiAtODE5MiA+PiAxMyA9PT0gLTEuIEFjdHVhbDogJyArICgtODE5MiA+PiAxMykpOyAKfSAKCgppZiAoLTE2Mzg0ID4+IDEzICE9PSAtMikgeyAKICAkRVJST1IoJyM0MzE6IC0xNjM4NCA+PiAxMyA9PT0gLTIuIEFjdHVhbDogJyArICgtMTYzODQgPj4gMTMpKTsgCn0gCgoKaWYgKC0zMjc2OCA+PiAxMyAhPT0gLTQpIHsgCiAgJEVSUk9SKCcjNDMyOiAtMzI3NjggPj4gMTMgPT09IC00LiBBY3R1YWw6ICcgKyAoLTMyNzY4ID4+IDEzKSk7IAp9IAoKCmlmICgtNjU1MzYgPj4gMTMgIT09IC04KSB7IAogICRFUlJPUignIzQzMzogLTY1NTM2ID4+IDEzID09PSAtOC4gQWN0dWFsOiAnICsgKC02NTUzNiA+PiAxMykpOyAKfSAKCgppZiAoLTEzMTA3MiA+PiAxMyAhPT0gLTE2KSB7IAogICRFUlJPUignIzQzNDogLTEzMTA3MiA+PiAxMyA9PT0gLTE2LiBBY3R1YWw6ICcgKyAoLTEzMTA3MiA+PiAxMykpOyAKfSAKCgppZiAoLTI2MjE0NCA+PiAxMyAhPT0gLTMyKSB7IAogICRFUlJPUignIzQzNTogLTI2MjE0NCA+PiAxMyA9PT0gLTMyLiBBY3R1YWw6ICcgKyAoLTI2MjE0NCA+PiAxMykpOyAKfSAKCgppZiAoLTUyNDI4OCA+PiAxMyAhPT0gLTY0KSB7IAogICRFUlJPUignIzQzNjogLTUyNDI4OCA+PiAxMyA9PT0gLTY0LiBBY3R1YWw6ICcgKyAoLTUyNDI4OCA+PiAxMykpOyAKfSAKCgppZiAoLTEwNDg1NzYgPj4gMTMgIT09IC0xMjgpIHsgCiAgJEVSUk9SKCcjNDM3OiAtMTA0ODU3NiA+PiAxMyA9PT0gLTEyOC4gQWN0dWFsOiAnICsgKC0xMDQ4NTc2ID4+IDEzKSk7IAp9IAoKCmlmICgtMjA5NzE1MiA+PiAxMyAhPT0gLTI1NikgeyAKICAkRVJST1IoJyM0Mzg6IC0yMDk3MTUyID4+IDEzID09PSAtMjU2LiBBY3R1YWw6ICcgKyAoLTIwOTcxNTIgPj4gMTMpKTsgCn0gCgoKaWYgKC00MTk0MzA0ID4+IDEzICE9PSAtNTEyKSB7IAogICRFUlJPUignIzQzOTogLTQxOTQzMDQgPj4gMTMgPT09IC01MTIuIEFjdHVhbDogJyArICgtNDE5NDMwNCA+PiAxMykpOyAKfSAKCgppZiAoLTgzODg2MDggPj4gMTMgIT09IC0xMDI0KSB7IAogICRFUlJPUignIzQ0MDogLTgzODg2MDggPj4gMTMgPT09IC0xMDI0LiBBY3R1YWw6ICcgKyAoLTgzODg2MDggPj4gMTMpKTsgCn0gCgoKaWYgKC0xNjc3NzIxNiA+PiAxMyAhPT0gLTIwNDgpIHsgCiAgJEVSUk9SKCcjNDQxOiAtMTY3NzcyMTYgPj4gMTMgPT09IC0yMDQ4LiBBY3R1YWw6ICcgKyAoLTE2Nzc3MjE2ID4+IDEzKSk7IAp9IAoKCmlmICgtMzM1NTQ0MzIgPj4gMTMgIT09IC00MDk2KSB7IAogICRFUlJPUignIzQ0MjogLTMzNTU0NDMyID4+IDEzID09PSAtNDA5Ni4gQWN0dWFsOiAnICsgKC0zMzU1NDQzMiA+PiAxMykpOyAKfSAKCgppZiAoLTY3MTA4ODY0ID4+IDEzICE9PSAtODE5MikgeyAKICAkRVJST1IoJyM0NDM6IC02NzEwODg2NCA+PiAxMyA9PT0gLTgxOTIuIEFjdHVhbDogJyArICgtNjcxMDg4NjQgPj4gMTMpKTsgCn0gCgoKaWYgKC0xMzQyMTc3MjggPj4gMTMgIT09IC0xNjM4NCkgeyAKICAkRVJST1IoJyM0NDQ6IC0xMzQyMTc3MjggPj4gMTMgPT09IC0xNjM4NC4gQWN0dWFsOiAnICsgKC0xMzQyMTc3MjggPj4gMTMpKTsgCn0gCgoKaWYgKC0yNjg0MzU0NTYgPj4gMTMgIT09IC0zMjc2OCkgeyAKICAkRVJST1IoJyM0NDU6IC0yNjg0MzU0NTYgPj4gMTMgPT09IC0zMjc2OC4gQWN0dWFsOiAnICsgKC0yNjg0MzU0NTYgPj4gMTMpKTsgCn0gCgoKaWYgKC01MzY4NzA5MTIgPj4gMTMgIT09IC02NTUzNikgeyAKICAkRVJST1IoJyM0NDY6IC01MzY4NzA5MTIgPj4gMTMgPT09IC02NTUzNi4gQWN0dWFsOiAnICsgKC01MzY4NzA5MTIgPj4gMTMpKTsgCn0gCgoKaWYgKC0xMDczNzQxODI0ID4+IDEzICE9PSAtMTMxMDcyKSB7IAogICRFUlJPUignIzQ0NzogLTEwNzM3NDE4MjQgPj4gMTMgPT09IC0xMzEwNzIuIEFjdHVhbDogJyArICgtMTA3Mzc0MTgyNCA+PiAxMykpOyAKfSAKCgppZiAoLTIxNDc0ODM2NDggPj4gMTMgIT09IC0yNjIxNDQpIHsgCiAgJEVSUk9SKCcjNDQ4OiAtMjE0NzQ4MzY0OCA+PiAxMyA9PT0gLTI2MjE0NC4gQWN0dWFsOiAnICsgKC0yMTQ3NDgzNjQ4ID4+IDEzKSk7IAp9IAoKCmlmICgtMSA+PiAxNCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNDQ5OiAtMSA+PiAxNCA9PT0gLTEuIEFjdHVhbDogJyArICgtMSA+PiAxNCkpOyAKfSAKCgppZiAoLTIgPj4gMTQgIT09IC0xKSB7IAogICRFUlJPUignIzQ1MDogLTIgPj4gMTQgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTIgPj4gMTQpKTsgCn0gCgoKaWYgKC00ID4+IDE0ICE9PSAtMSkgeyAKICAkRVJST1IoJyM0NTE6IC00ID4+IDE0ID09PSAtMS4gQWN0dWFsOiAnICsgKC00ID4+IDE0KSk7IAp9IAoKCmlmICgtOCA+PiAxNCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNDUyOiAtOCA+PiAxNCA9PT0gLTEuIEFjdHVhbDogJyArICgtOCA+PiAxNCkpOyAKfSAKCgppZiAoLTE2ID4+IDE0ICE9PSAtMSkgeyAKICAkRVJST1IoJyM0NTM6IC0xNiA+PiAxNCA9PT0gLTEuIEFjdHVhbDogJyArICgtMTYgPj4gMTQpKTsgCn0gCgoKaWYgKC0zMiA+PiAxNCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNDU0OiAtMzIgPj4gMTQgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTMyID4+IDE0KSk7IAp9IAoKCmlmICgtNjQgPj4gMTQgIT09IC0xKSB7IAogICRFUlJPUignIzQ1NTogLTY0ID4+IDE0ID09PSAtMS4gQWN0dWFsOiAnICsgKC02NCA+PiAxNCkpOyAKfSAKCgppZiAoLTEyOCA+PiAxNCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNDU2OiAtMTI4ID4+IDE0ID09PSAtMS4gQWN0dWFsOiAnICsgKC0xMjggPj4gMTQpKTsgCn0gCgoKaWYgKC0yNTYgPj4gMTQgIT09IC0xKSB7IAogICRFUlJPUignIzQ1NzogLTI1NiA+PiAxNCA9PT0gLTEuIEFjdHVhbDogJyArICgtMjU2ID4+IDE0KSk7IAp9IAoKCmlmICgtNTEyID4+IDE0ICE9PSAtMSkgeyAKICAkRVJST1IoJyM0NTg6IC01MTIgPj4gMTQgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTUxMiA+PiAxNCkpOyAKfSAKCgppZiAoLTEwMjQgPj4gMTQgIT09IC0xKSB7IAogICRFUlJPUignIzQ1OTogLTEwMjQgPj4gMTQgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEwMjQgPj4gMTQpKTsgCn0gCgoKaWYgKC0yMDQ4ID4+IDE0ICE9PSAtMSkgeyAKICAkRVJST1IoJyM0NjA6IC0yMDQ4ID4+IDE0ID09PSAtMS4gQWN0dWFsOiAnICsgKC0yMDQ4ID4+IDE0KSk7IAp9IAoKCmlmICgtNDA5NiA+PiAxNCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNDYxOiAtNDA5NiA+PiAxNCA9PT0gLTEuIEFjdHVhbDogJyArICgtNDA5NiA+PiAxNCkpOyAKfSAKCgppZiAoLTgxOTIgPj4gMTQgIT09IC0xKSB7IAogICRFUlJPUignIzQ2MjogLTgxOTIgPj4gMTQgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTgxOTIgPj4gMTQpKTsgCn0gCgoKaWYgKC0xNjM4NCA+PiAxNCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNDYzOiAtMTYzODQgPj4gMTQgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTE2Mzg0ID4+IDE0KSk7IAp9IAoKCmlmICgtMzI3NjggPj4gMTQgIT09IC0yKSB7IAogICRFUlJPUignIzQ2NDogLTMyNzY4ID4+IDE0ID09PSAtMi4gQWN0dWFsOiAnICsgKC0zMjc2OCA+PiAxNCkpOyAKfSAKCgppZiAoLTY1NTM2ID4+IDE0ICE9PSAtNCkgeyAKICAkRVJST1IoJyM0NjU6IC02NTUzNiA+PiAxNCA9PT0gLTQuIEFjdHVhbDogJyArICgtNjU1MzYgPj4gMTQpKTsgCn0gCgoKaWYgKC0xMzEwNzIgPj4gMTQgIT09IC04KSB7IAogICRFUlJPUignIzQ2NjogLTEzMTA3MiA+PiAxNCA9PT0gLTguIEFjdHVhbDogJyArICgtMTMxMDcyID4+IDE0KSk7IAp9IAoKCmlmICgtMjYyMTQ0ID4+IDE0ICE9PSAtMTYpIHsgCiAgJEVSUk9SKCcjNDY3OiAtMjYyMTQ0ID4+IDE0ID09PSAtMTYuIEFjdHVhbDogJyArICgtMjYyMTQ0ID4+IDE0KSk7IAp9IAoKCmlmICgtNTI0Mjg4ID4+IDE0ICE9PSAtMzIpIHsgCiAgJEVSUk9SKCcjNDY4OiAtNTI0Mjg4ID4+IDE0ID09PSAtMzIuIEFjdHVhbDogJyArICgtNTI0Mjg4ID4+IDE0KSk7IAp9IAoKCmlmICgtMTA0ODU3NiA+PiAxNCAhPT0gLTY0KSB7IAogICRFUlJPUignIzQ2OTogLTEwNDg1NzYgPj4gMTQgPT09IC02NC4gQWN0dWFsOiAnICsgKC0xMDQ4NTc2ID4+IDE0KSk7IAp9IAoKCmlmICgtMjA5NzE1MiA+PiAxNCAhPT0gLTEyOCkgeyAKICAkRVJST1IoJyM0NzA6IC0yMDk3MTUyID4+IDE0ID09PSAtMTI4LiBBY3R1YWw6ICcgKyAoLTIwOTcxNTIgPj4gMTQpKTsgCn0gCgoKaWYgKC00MTk0MzA0ID4+IDE0ICE9PSAtMjU2KSB7IAogICRFUlJPUignIzQ3MTogLTQxOTQzMDQgPj4gMTQgPT09IC0yNTYuIEFjdHVhbDogJyArICgtNDE5NDMwNCA+PiAxNCkpOyAKfSAKCgppZiAoLTgzODg2MDggPj4gMTQgIT09IC01MTIpIHsgCiAgJEVSUk9SKCcjNDcyOiAtODM4ODYwOCA+PiAxNCA9PT0gLTUxMi4gQWN0dWFsOiAnICsgKC04Mzg4NjA4ID4+IDE0KSk7IAp9IAoKCmlmICgtMTY3NzcyMTYgPj4gMTQgIT09IC0xMDI0KSB7IAogICRFUlJPUignIzQ3MzogLTE2Nzc3MjE2ID4+IDE0ID09PSAtMTAyNC4gQWN0dWFsOiAnICsgKC0xNjc3NzIxNiA+PiAxNCkpOyAKfSAKCgppZiAoLTMzNTU0NDMyID4+IDE0ICE9PSAtMjA0OCkgeyAKICAkRVJST1IoJyM0NzQ6IC0zMzU1NDQzMiA+PiAxNCA9PT0gLTIwNDguIEFjdHVhbDogJyArICgtMzM1NTQ0MzIgPj4gMTQpKTsgCn0gCgoKaWYgKC02NzEwODg2NCA+PiAxNCAhPT0gLTQwOTYpIHsgCiAgJEVSUk9SKCcjNDc1OiAtNjcxMDg4NjQgPj4gMTQgPT09IC00MDk2LiBBY3R1YWw6ICcgKyAoLTY3MTA4ODY0ID4+IDE0KSk7IAp9IAoKCmlmICgtMTM0MjE3NzI4ID4+IDE0ICE9PSAtODE5MikgeyAKICAkRVJST1IoJyM0NzY6IC0xMzQyMTc3MjggPj4gMTQgPT09IC04MTkyLiBBY3R1YWw6ICcgKyAoLTEzNDIxNzcyOCA+PiAxNCkpOyAKfSAKCgppZiAoLTI2ODQzNTQ1NiA+PiAxNCAhPT0gLTE2Mzg0KSB7IAogICRFUlJPUignIzQ3NzogLTI2ODQzNTQ1NiA+PiAxNCA9PT0gLTE2Mzg0LiBBY3R1YWw6ICcgKyAoLTI2ODQzNTQ1NiA+PiAxNCkpOyAKfSAKCgppZiAoLTUzNjg3MDkxMiA+PiAxNCAhPT0gLTMyNzY4KSB7IAogICRFUlJPUignIzQ3ODogLTUzNjg3MDkxMiA+PiAxNCA9PT0gLTMyNzY4LiBBY3R1YWw6ICcgKyAoLTUzNjg3MDkxMiA+PiAxNCkpOyAKfSAKCgppZiAoLTEwNzM3NDE4MjQgPj4gMTQgIT09IC02NTUzNikgeyAKICAkRVJST1IoJyM0Nzk6IC0xMDczNzQxODI0ID4+IDE0ID09PSAtNjU1MzYuIEFjdHVhbDogJyArICgtMTA3Mzc0MTgyNCA+PiAxNCkpOyAKfSAKCgppZiAoLTIxNDc0ODM2NDggPj4gMTQgIT09IC0xMzEwNzIpIHsgCiAgJEVSUk9SKCcjNDgwOiAtMjE0NzQ4MzY0OCA+PiAxNCA9PT0gLTEzMTA3Mi4gQWN0dWFsOiAnICsgKC0yMTQ3NDgzNjQ4ID4+IDE0KSk7IAp9IAoKCmlmICgtMSA+PiAxNSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNDgxOiAtMSA+PiAxNSA9PT0gLTEuIEFjdHVhbDogJyArICgtMSA+PiAxNSkpOyAKfSAKCgppZiAoLTIgPj4gMTUgIT09IC0xKSB7IAogICRFUlJPUignIzQ4MjogLTIgPj4gMTUgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTIgPj4gMTUpKTsgCn0gCgoKaWYgKC00ID4+IDE1ICE9PSAtMSkgeyAKICAkRVJST1IoJyM0ODM6IC00ID4+IDE1ID09PSAtMS4gQWN0dWFsOiAnICsgKC00ID4+IDE1KSk7IAp9IAoKCmlmICgtOCA+PiAxNSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNDg0OiAtOCA+PiAxNSA9PT0gLTEuIEFjdHVhbDogJyArICgtOCA+PiAxNSkpOyAKfSAKCgppZiAoLTE2ID4+IDE1ICE9PSAtMSkgeyAKICAkRVJST1IoJyM0ODU6IC0xNiA+PiAxNSA9PT0gLTEuIEFjdHVhbDogJyArICgtMTYgPj4gMTUpKTsgCn0gCgoKaWYgKC0zMiA+PiAxNSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNDg2OiAtMzIgPj4gMTUgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTMyID4+IDE1KSk7IAp9IAoKCmlmICgtNjQgPj4gMTUgIT09IC0xKSB7IAogICRFUlJPUignIzQ4NzogLTY0ID4+IDE1ID09PSAtMS4gQWN0dWFsOiAnICsgKC02NCA+PiAxNSkpOyAKfSAKCgppZiAoLTEyOCA+PiAxNSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNDg4OiAtMTI4ID4+IDE1ID09PSAtMS4gQWN0dWFsOiAnICsgKC0xMjggPj4gMTUpKTsgCn0gCgoKaWYgKC0yNTYgPj4gMTUgIT09IC0xKSB7IAogICRFUlJPUignIzQ4OTogLTI1NiA+PiAxNSA9PT0gLTEuIEFjdHVhbDogJyArICgtMjU2ID4+IDE1KSk7IAp9IAoKCmlmICgtNTEyID4+IDE1ICE9PSAtMSkgeyAKICAkRVJST1IoJyM0OTA6IC01MTIgPj4gMTUgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTUxMiA+PiAxNSkpOyAKfSAKCgppZiAoLTEwMjQgPj4gMTUgIT09IC0xKSB7IAogICRFUlJPUignIzQ5MTogLTEwMjQgPj4gMTUgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEwMjQgPj4gMTUpKTsgCn0gCgoKaWYgKC0yMDQ4ID4+IDE1ICE9PSAtMSkgeyAKICAkRVJST1IoJyM0OTI6IC0yMDQ4ID4+IDE1ID09PSAtMS4gQWN0dWFsOiAnICsgKC0yMDQ4ID4+IDE1KSk7IAp9IAoKCmlmICgtNDA5NiA+PiAxNSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNDkzOiAtNDA5NiA+PiAxNSA9PT0gLTEuIEFjdHVhbDogJyArICgtNDA5NiA+PiAxNSkpOyAKfSAKCgppZiAoLTgxOTIgPj4gMTUgIT09IC0xKSB7IAogICRFUlJPUignIzQ5NDogLTgxOTIgPj4gMTUgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTgxOTIgPj4gMTUpKTsgCn0gCgoKaWYgKC0xNjM4NCA+PiAxNSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNDk1OiAtMTYzODQgPj4gMTUgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTE2Mzg0ID4+IDE1KSk7IAp9IAoKCmlmICgtMzI3NjggPj4gMTUgIT09IC0xKSB7IAogICRFUlJPUignIzQ5NjogLTMyNzY4ID4+IDE1ID09PSAtMS4gQWN0dWFsOiAnICsgKC0zMjc2OCA+PiAxNSkpOyAKfSAKCgppZiAoLTY1NTM2ID4+IDE1ICE9PSAtMikgeyAKICAkRVJST1IoJyM0OTc6IC02NTUzNiA+PiAxNSA9PT0gLTIuIEFjdHVhbDogJyArICgtNjU1MzYgPj4gMTUpKTsgCn0gCgoKaWYgKC0xMzEwNzIgPj4gMTUgIT09IC00KSB7IAogICRFUlJPUignIzQ5ODogLTEzMTA3MiA+PiAxNSA9PT0gLTQuIEFjdHVhbDogJyArICgtMTMxMDcyID4+IDE1KSk7IAp9IAoKCmlmICgtMjYyMTQ0ID4+IDE1ICE9PSAtOCkgeyAKICAkRVJST1IoJyM0OTk6IC0yNjIxNDQgPj4gMTUgPT09IC04LiBBY3R1YWw6ICcgKyAoLTI2MjE0NCA+PiAxNSkpOyAKfSAKCgppZiAoLTUyNDI4OCA+PiAxNSAhPT0gLTE2KSB7IAogICRFUlJPUignIzUwMDogLTUyNDI4OCA+PiAxNSA9PT0gLTE2LiBBY3R1YWw6ICcgKyAoLTUyNDI4OCA+PiAxNSkpOyAKfSAKCgppZiAoLTEwNDg1NzYgPj4gMTUgIT09IC0zMikgeyAKICAkRVJST1IoJyM1MDE6IC0xMDQ4NTc2ID4+IDE1ID09PSAtMzIuIEFjdHVhbDogJyArICgtMTA0ODU3NiA+PiAxNSkpOyAKfSAKCgppZiAoLTIwOTcxNTIgPj4gMTUgIT09IC02NCkgeyAKICAkRVJST1IoJyM1MDI6IC0yMDk3MTUyID4+IDE1ID09PSAtNjQuIEFjdHVhbDogJyArICgtMjA5NzE1MiA+PiAxNSkpOyAKfSAKCgppZiAoLTQxOTQzMDQgPj4gMTUgIT09IC0xMjgpIHsgCiAgJEVSUk9SKCcjNTAzOiAtNDE5NDMwNCA+PiAxNSA9PT0gLTEyOC4gQWN0dWFsOiAnICsgKC00MTk0MzA0ID4+IDE1KSk7IAp9IAoKCmlmICgtODM4ODYwOCA+PiAxNSAhPT0gLTI1NikgeyAKICAkRVJST1IoJyM1MDQ6IC04Mzg4NjA4ID4+IDE1ID09PSAtMjU2LiBBY3R1YWw6ICcgKyAoLTgzODg2MDggPj4gMTUpKTsgCn0gCgoKaWYgKC0xNjc3NzIxNiA+PiAxNSAhPT0gLTUxMikgeyAKICAkRVJST1IoJyM1MDU6IC0xNjc3NzIxNiA+PiAxNSA9PT0gLTUxMi4gQWN0dWFsOiAnICsgKC0xNjc3NzIxNiA+PiAxNSkpOyAKfSAKCgppZiAoLTMzNTU0NDMyID4+IDE1ICE9PSAtMTAyNCkgeyAKICAkRVJST1IoJyM1MDY6IC0zMzU1NDQzMiA+PiAxNSA9PT0gLTEwMjQuIEFjdHVhbDogJyArICgtMzM1NTQ0MzIgPj4gMTUpKTsgCn0gCgoKaWYgKC02NzEwODg2NCA+PiAxNSAhPT0gLTIwNDgpIHsgCiAgJEVSUk9SKCcjNTA3OiAtNjcxMDg4NjQgPj4gMTUgPT09IC0yMDQ4LiBBY3R1YWw6ICcgKyAoLTY3MTA4ODY0ID4+IDE1KSk7IAp9IAoKCmlmICgtMTM0MjE3NzI4ID4+IDE1ICE9PSAtNDA5NikgeyAKICAkRVJST1IoJyM1MDg6IC0xMzQyMTc3MjggPj4gMTUgPT09IC00MDk2LiBBY3R1YWw6ICcgKyAoLTEzNDIxNzcyOCA+PiAxNSkpOyAKfSAKCgppZiAoLTI2ODQzNTQ1NiA+PiAxNSAhPT0gLTgxOTIpIHsgCiAgJEVSUk9SKCcjNTA5OiAtMjY4NDM1NDU2ID4+IDE1ID09PSAtODE5Mi4gQWN0dWFsOiAnICsgKC0yNjg0MzU0NTYgPj4gMTUpKTsgCn0gCgoKaWYgKC01MzY4NzA5MTIgPj4gMTUgIT09IC0xNjM4NCkgeyAKICAkRVJST1IoJyM1MTA6IC01MzY4NzA5MTIgPj4gMTUgPT09IC0xNjM4NC4gQWN0dWFsOiAnICsgKC01MzY4NzA5MTIgPj4gMTUpKTsgCn0gCgoKaWYgKC0xMDczNzQxODI0ID4+IDE1ICE9PSAtMzI3NjgpIHsgCiAgJEVSUk9SKCcjNTExOiAtMTA3Mzc0MTgyNCA+PiAxNSA9PT0gLTMyNzY4LiBBY3R1YWw6ICcgKyAoLTEwNzM3NDE4MjQgPj4gMTUpKTsgCn0gCgoKaWYgKC0yMTQ3NDgzNjQ4ID4+IDE1ICE9PSAtNjU1MzYpIHsgCiAgJEVSUk9SKCcjNTEyOiAtMjE0NzQ4MzY0OCA+PiAxNSA9PT0gLTY1NTM2LiBBY3R1YWw6ICcgKyAoLTIxNDc0ODM2NDggPj4gMTUpKTsgCn0gIAoK",
"commentary":"Check x >> y operator in distinct points",
"description":"ShiftExpression = -2^n, n = 0...15",
"path":"TestCases/ch11/11.7/11.7.2/S11.7.2_A4_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayB4ID4+IHkgb3BlcmF0b3IgaW4gZGlzdGluY3QgcG9pbnRzCiAqCiAqIEBwYXRoIGNoMTEvMTEuNy8xMS43LjIvUzExLjcuMl9BNF9UMi5qcwogKiBAZGVzY3JpcHRpb24gU2hpZnRFeHByZXNzaW9uID0gMl5uIC0gMSwgbiA9IDE2Li4uMzEKICovCgovL0NIRUNLCiAKaWYgKC0xID4+IDE2ICE9PSAtMSkgeyAKICAkRVJST1IoJyM1MTM6IC0xID4+IDE2ID09PSAtMS4gQWN0dWFsOiAnICsgKC0xID4+IDE2KSk7IAp9IAoKCmlmICgtMiA+PiAxNiAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNTE0OiAtMiA+PiAxNiA9PT0gLTEuIEFjdHVhbDogJyArICgtMiA+PiAxNikpOyAKfSAKCgppZiAoLTQgPj4gMTYgIT09IC0xKSB7IAogICRFUlJPUignIzUxNTogLTQgPj4gMTYgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTQgPj4gMTYpKTsgCn0gCgoKaWYgKC04ID4+IDE2ICE9PSAtMSkgeyAKICAkRVJST1IoJyM1MTY6IC04ID4+IDE2ID09PSAtMS4gQWN0dWFsOiAnICsgKC04ID4+IDE2KSk7IAp9IAoKCmlmICgtMTYgPj4gMTYgIT09IC0xKSB7IAogICRFUlJPUignIzUxNzogLTE2ID4+IDE2ID09PSAtMS4gQWN0dWFsOiAnICsgKC0xNiA+PiAxNikpOyAKfSAKCgppZiAoLTMyID4+IDE2ICE9PSAtMSkgeyAKICAkRVJST1IoJyM1MTg6IC0zMiA+PiAxNiA9PT0gLTEuIEFjdHVhbDogJyArICgtMzIgPj4gMTYpKTsgCn0gCgoKaWYgKC02NCA+PiAxNiAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNTE5OiAtNjQgPj4gMTYgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTY0ID4+IDE2KSk7IAp9IAoKCmlmICgtMTI4ID4+IDE2ICE9PSAtMSkgeyAKICAkRVJST1IoJyM1MjA6IC0xMjggPj4gMTYgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEyOCA+PiAxNikpOyAKfSAKCgppZiAoLTI1NiA+PiAxNiAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNTIxOiAtMjU2ID4+IDE2ID09PSAtMS4gQWN0dWFsOiAnICsgKC0yNTYgPj4gMTYpKTsgCn0gCgoKaWYgKC01MTIgPj4gMTYgIT09IC0xKSB7IAogICRFUlJPUignIzUyMjogLTUxMiA+PiAxNiA9PT0gLTEuIEFjdHVhbDogJyArICgtNTEyID4+IDE2KSk7IAp9IAoKCmlmICgtMTAyNCA+PiAxNiAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNTIzOiAtMTAyNCA+PiAxNiA9PT0gLTEuIEFjdHVhbDogJyArICgtMTAyNCA+PiAxNikpOyAKfSAKCgppZiAoLTIwNDggPj4gMTYgIT09IC0xKSB7IAogICRFUlJPUignIzUyNDogLTIwNDggPj4gMTYgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTIwNDggPj4gMTYpKTsgCn0gCgoKaWYgKC00MDk2ID4+IDE2ICE9PSAtMSkgeyAKICAkRVJST1IoJyM1MjU6IC00MDk2ID4+IDE2ID09PSAtMS4gQWN0dWFsOiAnICsgKC00MDk2ID4+IDE2KSk7IAp9IAoKCmlmICgtODE5MiA+PiAxNiAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNTI2OiAtODE5MiA+PiAxNiA9PT0gLTEuIEFjdHVhbDogJyArICgtODE5MiA+PiAxNikpOyAKfSAKCgppZiAoLTE2Mzg0ID4+IDE2ICE9PSAtMSkgeyAKICAkRVJST1IoJyM1Mjc6IC0xNjM4NCA+PiAxNiA9PT0gLTEuIEFjdHVhbDogJyArICgtMTYzODQgPj4gMTYpKTsgCn0gCgoKaWYgKC0zMjc2OCA+PiAxNiAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNTI4OiAtMzI3NjggPj4gMTYgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTMyNzY4ID4+IDE2KSk7IAp9IAoKCmlmICgtNjU1MzYgPj4gMTYgIT09IC0xKSB7IAogICRFUlJPUignIzUyOTogLTY1NTM2ID4+IDE2ID09PSAtMS4gQWN0dWFsOiAnICsgKC02NTUzNiA+PiAxNikpOyAKfSAKCgppZiAoLTEzMTA3MiA+PiAxNiAhPT0gLTIpIHsgCiAgJEVSUk9SKCcjNTMwOiAtMTMxMDcyID4+IDE2ID09PSAtMi4gQWN0dWFsOiAnICsgKC0xMzEwNzIgPj4gMTYpKTsgCn0gCgoKaWYgKC0yNjIxNDQgPj4gMTYgIT09IC00KSB7IAogICRFUlJPUignIzUzMTogLTI2MjE0NCA+PiAxNiA9PT0gLTQuIEFjdHVhbDogJyArICgtMjYyMTQ0ID4+IDE2KSk7IAp9IAoKCmlmICgtNTI0Mjg4ID4+IDE2ICE9PSAtOCkgeyAKICAkRVJST1IoJyM1MzI6IC01MjQyODggPj4gMTYgPT09IC04LiBBY3R1YWw6ICcgKyAoLTUyNDI4OCA+PiAxNikpOyAKfSAKCgppZiAoLTEwNDg1NzYgPj4gMTYgIT09IC0xNikgeyAKICAkRVJST1IoJyM1MzM6IC0xMDQ4NTc2ID4+IDE2ID09PSAtMTYuIEFjdHVhbDogJyArICgtMTA0ODU3NiA+PiAxNikpOyAKfSAKCgppZiAoLTIwOTcxNTIgPj4gMTYgIT09IC0zMikgeyAKICAkRVJST1IoJyM1MzQ6IC0yMDk3MTUyID4+IDE2ID09PSAtMzIuIEFjdHVhbDogJyArICgtMjA5NzE1MiA+PiAxNikpOyAKfSAKCgppZiAoLTQxOTQzMDQgPj4gMTYgIT09IC02NCkgeyAKICAkRVJST1IoJyM1MzU6IC00MTk0MzA0ID4+IDE2ID09PSAtNjQuIEFjdHVhbDogJyArICgtNDE5NDMwNCA+PiAxNikpOyAKfSAKCgppZiAoLTgzODg2MDggPj4gMTYgIT09IC0xMjgpIHsgCiAgJEVSUk9SKCcjNTM2OiAtODM4ODYwOCA+PiAxNiA9PT0gLTEyOC4gQWN0dWFsOiAnICsgKC04Mzg4NjA4ID4+IDE2KSk7IAp9IAoKCmlmICgtMTY3NzcyMTYgPj4gMTYgIT09IC0yNTYpIHsgCiAgJEVSUk9SKCcjNTM3OiAtMTY3NzcyMTYgPj4gMTYgPT09IC0yNTYuIEFjdHVhbDogJyArICgtMTY3NzcyMTYgPj4gMTYpKTsgCn0gCgoKaWYgKC0zMzU1NDQzMiA+PiAxNiAhPT0gLTUxMikgeyAKICAkRVJST1IoJyM1Mzg6IC0zMzU1NDQzMiA+PiAxNiA9PT0gLTUxMi4gQWN0dWFsOiAnICsgKC0zMzU1NDQzMiA+PiAxNikpOyAKfSAKCgppZiAoLTY3MTA4ODY0ID4+IDE2ICE9PSAtMTAyNCkgeyAKICAkRVJST1IoJyM1Mzk6IC02NzEwODg2NCA+PiAxNiA9PT0gLTEwMjQuIEFjdHVhbDogJyArICgtNjcxMDg4NjQgPj4gMTYpKTsgCn0gCgoKaWYgKC0xMzQyMTc3MjggPj4gMTYgIT09IC0yMDQ4KSB7IAogICRFUlJPUignIzU0MDogLTEzNDIxNzcyOCA+PiAxNiA9PT0gLTIwNDguIEFjdHVhbDogJyArICgtMTM0MjE3NzI4ID4+IDE2KSk7IAp9IAoKCmlmICgtMjY4NDM1NDU2ID4+IDE2ICE9PSAtNDA5NikgeyAKICAkRVJST1IoJyM1NDE6IC0yNjg0MzU0NTYgPj4gMTYgPT09IC00MDk2LiBBY3R1YWw6ICcgKyAoLTI2ODQzNTQ1NiA+PiAxNikpOyAKfSAKCgppZiAoLTUzNjg3MDkxMiA+PiAxNiAhPT0gLTgxOTIpIHsgCiAgJEVSUk9SKCcjNTQyOiAtNTM2ODcwOTEyID4+IDE2ID09PSAtODE5Mi4gQWN0dWFsOiAnICsgKC01MzY4NzA5MTIgPj4gMTYpKTsgCn0gCgoKaWYgKC0xMDczNzQxODI0ID4+IDE2ICE9PSAtMTYzODQpIHsgCiAgJEVSUk9SKCcjNTQzOiAtMTA3Mzc0MTgyNCA+PiAxNiA9PT0gLTE2Mzg0LiBBY3R1YWw6ICcgKyAoLTEwNzM3NDE4MjQgPj4gMTYpKTsgCn0gCgoKaWYgKC0yMTQ3NDgzNjQ4ID4+IDE2ICE9PSAtMzI3NjgpIHsgCiAgJEVSUk9SKCcjNTQ0OiAtMjE0NzQ4MzY0OCA+PiAxNiA9PT0gLTMyNzY4LiBBY3R1YWw6ICcgKyAoLTIxNDc0ODM2NDggPj4gMTYpKTsgCn0gCgoKaWYgKC0xID4+IDE3ICE9PSAtMSkgeyAKICAkRVJST1IoJyM1NDU6IC0xID4+IDE3ID09PSAtMS4gQWN0dWFsOiAnICsgKC0xID4+IDE3KSk7IAp9IAoKCmlmICgtMiA+PiAxNyAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNTQ2OiAtMiA+PiAxNyA9PT0gLTEuIEFjdHVhbDogJyArICgtMiA+PiAxNykpOyAKfSAKCgppZiAoLTQgPj4gMTcgIT09IC0xKSB7IAogICRFUlJPUignIzU0NzogLTQgPj4gMTcgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTQgPj4gMTcpKTsgCn0gCgoKaWYgKC04ID4+IDE3ICE9PSAtMSkgeyAKICAkRVJST1IoJyM1NDg6IC04ID4+IDE3ID09PSAtMS4gQWN0dWFsOiAnICsgKC04ID4+IDE3KSk7IAp9IAoKCmlmICgtMTYgPj4gMTcgIT09IC0xKSB7IAogICRFUlJPUignIzU0OTogLTE2ID4+IDE3ID09PSAtMS4gQWN0dWFsOiAnICsgKC0xNiA+PiAxNykpOyAKfSAKCgppZiAoLTMyID4+IDE3ICE9PSAtMSkgeyAKICAkRVJST1IoJyM1NTA6IC0zMiA+PiAxNyA9PT0gLTEuIEFjdHVhbDogJyArICgtMzIgPj4gMTcpKTsgCn0gCgoKaWYgKC02NCA+PiAxNyAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNTUxOiAtNjQgPj4gMTcgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTY0ID4+IDE3KSk7IAp9IAoKCmlmICgtMTI4ID4+IDE3ICE9PSAtMSkgeyAKICAkRVJST1IoJyM1NTI6IC0xMjggPj4gMTcgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEyOCA+PiAxNykpOyAKfSAKCgppZiAoLTI1NiA+PiAxNyAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNTUzOiAtMjU2ID4+IDE3ID09PSAtMS4gQWN0dWFsOiAnICsgKC0yNTYgPj4gMTcpKTsgCn0gCgoKaWYgKC01MTIgPj4gMTcgIT09IC0xKSB7IAogICRFUlJPUignIzU1NDogLTUxMiA+PiAxNyA9PT0gLTEuIEFjdHVhbDogJyArICgtNTEyID4+IDE3KSk7IAp9IAoKCmlmICgtMTAyNCA+PiAxNyAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNTU1OiAtMTAyNCA+PiAxNyA9PT0gLTEuIEFjdHVhbDogJyArICgtMTAyNCA+PiAxNykpOyAKfSAKCgppZiAoLTIwNDggPj4gMTcgIT09IC0xKSB7IAogICRFUlJPUignIzU1NjogLTIwNDggPj4gMTcgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTIwNDggPj4gMTcpKTsgCn0gCgoKaWYgKC00MDk2ID4+IDE3ICE9PSAtMSkgeyAKICAkRVJST1IoJyM1NTc6IC00MDk2ID4+IDE3ID09PSAtMS4gQWN0dWFsOiAnICsgKC00MDk2ID4+IDE3KSk7IAp9IAoKCmlmICgtODE5MiA+PiAxNyAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNTU4OiAtODE5MiA+PiAxNyA9PT0gLTEuIEFjdHVhbDogJyArICgtODE5MiA+PiAxNykpOyAKfSAKCgppZiAoLTE2Mzg0ID4+IDE3ICE9PSAtMSkgeyAKICAkRVJST1IoJyM1NTk6IC0xNjM4NCA+PiAxNyA9PT0gLTEuIEFjdHVhbDogJyArICgtMTYzODQgPj4gMTcpKTsgCn0gCgoKaWYgKC0zMjc2OCA+PiAxNyAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNTYwOiAtMzI3NjggPj4gMTcgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTMyNzY4ID4+IDE3KSk7IAp9IAoKCmlmICgtNjU1MzYgPj4gMTcgIT09IC0xKSB7IAogICRFUlJPUignIzU2MTogLTY1NTM2ID4+IDE3ID09PSAtMS4gQWN0dWFsOiAnICsgKC02NTUzNiA+PiAxNykpOyAKfSAKCgppZiAoLTEzMTA3MiA+PiAxNyAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNTYyOiAtMTMxMDcyID4+IDE3ID09PSAtMS4gQWN0dWFsOiAnICsgKC0xMzEwNzIgPj4gMTcpKTsgCn0gCgoKaWYgKC0yNjIxNDQgPj4gMTcgIT09IC0yKSB7IAogICRFUlJPUignIzU2MzogLTI2MjE0NCA+PiAxNyA9PT0gLTIuIEFjdHVhbDogJyArICgtMjYyMTQ0ID4+IDE3KSk7IAp9IAoKCmlmICgtNTI0Mjg4ID4+IDE3ICE9PSAtNCkgeyAKICAkRVJST1IoJyM1NjQ6IC01MjQyODggPj4gMTcgPT09IC00LiBBY3R1YWw6ICcgKyAoLTUyNDI4OCA+PiAxNykpOyAKfSAKCgppZiAoLTEwNDg1NzYgPj4gMTcgIT09IC04KSB7IAogICRFUlJPUignIzU2NTogLTEwNDg1NzYgPj4gMTcgPT09IC04LiBBY3R1YWw6ICcgKyAoLTEwNDg1NzYgPj4gMTcpKTsgCn0gCgoKaWYgKC0yMDk3MTUyID4+IDE3ICE9PSAtMTYpIHsgCiAgJEVSUk9SKCcjNTY2OiAtMjA5NzE1MiA+PiAxNyA9PT0gLTE2LiBBY3R1YWw6ICcgKyAoLTIwOTcxNTIgPj4gMTcpKTsgCn0gCgoKaWYgKC00MTk0MzA0ID4+IDE3ICE9PSAtMzIpIHsgCiAgJEVSUk9SKCcjNTY3OiAtNDE5NDMwNCA+PiAxNyA9PT0gLTMyLiBBY3R1YWw6ICcgKyAoLTQxOTQzMDQgPj4gMTcpKTsgCn0gCgoKaWYgKC04Mzg4NjA4ID4+IDE3ICE9PSAtNjQpIHsgCiAgJEVSUk9SKCcjNTY4OiAtODM4ODYwOCA+PiAxNyA9PT0gLTY0LiBBY3R1YWw6ICcgKyAoLTgzODg2MDggPj4gMTcpKTsgCn0gCgoKaWYgKC0xNjc3NzIxNiA+PiAxNyAhPT0gLTEyOCkgeyAKICAkRVJST1IoJyM1Njk6IC0xNjc3NzIxNiA+PiAxNyA9PT0gLTEyOC4gQWN0dWFsOiAnICsgKC0xNjc3NzIxNiA+PiAxNykpOyAKfSAKCgppZiAoLTMzNTU0NDMyID4+IDE3ICE9PSAtMjU2KSB7IAogICRFUlJPUignIzU3MDogLTMzNTU0NDMyID4+IDE3ID09PSAtMjU2LiBBY3R1YWw6ICcgKyAoLTMzNTU0NDMyID4+IDE3KSk7IAp9IAoKCmlmICgtNjcxMDg4NjQgPj4gMTcgIT09IC01MTIpIHsgCiAgJEVSUk9SKCcjNTcxOiAtNjcxMDg4NjQgPj4gMTcgPT09IC01MTIuIEFjdHVhbDogJyArICgtNjcxMDg4NjQgPj4gMTcpKTsgCn0gCgoKaWYgKC0xMzQyMTc3MjggPj4gMTcgIT09IC0xMDI0KSB7IAogICRFUlJPUignIzU3MjogLTEzNDIxNzcyOCA+PiAxNyA9PT0gLTEwMjQuIEFjdHVhbDogJyArICgtMTM0MjE3NzI4ID4+IDE3KSk7IAp9IAoKCmlmICgtMjY4NDM1NDU2ID4+IDE3ICE9PSAtMjA0OCkgeyAKICAkRVJST1IoJyM1NzM6IC0yNjg0MzU0NTYgPj4gMTcgPT09IC0yMDQ4LiBBY3R1YWw6ICcgKyAoLTI2ODQzNTQ1NiA+PiAxNykpOyAKfSAKCgppZiAoLTUzNjg3MDkxMiA+PiAxNyAhPT0gLTQwOTYpIHsgCiAgJEVSUk9SKCcjNTc0OiAtNTM2ODcwOTEyID4+IDE3ID09PSAtNDA5Ni4gQWN0dWFsOiAnICsgKC01MzY4NzA5MTIgPj4gMTcpKTsgCn0gCgoKaWYgKC0xMDczNzQxODI0ID4+IDE3ICE9PSAtODE5MikgeyAKICAkRVJST1IoJyM1NzU6IC0xMDczNzQxODI0ID4+IDE3ID09PSAtODE5Mi4gQWN0dWFsOiAnICsgKC0xMDczNzQxODI0ID4+IDE3KSk7IAp9IAoKCmlmICgtMjE0NzQ4MzY0OCA+PiAxNyAhPT0gLTE2Mzg0KSB7IAogICRFUlJPUignIzU3NjogLTIxNDc0ODM2NDggPj4gMTcgPT09IC0xNjM4NC4gQWN0dWFsOiAnICsgKC0yMTQ3NDgzNjQ4ID4+IDE3KSk7IAp9IAoKCmlmICgtMSA+PiAxOCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNTc3OiAtMSA+PiAxOCA9PT0gLTEuIEFjdHVhbDogJyArICgtMSA+PiAxOCkpOyAKfSAKCgppZiAoLTIgPj4gMTggIT09IC0xKSB7IAogICRFUlJPUignIzU3ODogLTIgPj4gMTggPT09IC0xLiBBY3R1YWw6ICcgKyAoLTIgPj4gMTgpKTsgCn0gCgoKaWYgKC00ID4+IDE4ICE9PSAtMSkgeyAKICAkRVJST1IoJyM1Nzk6IC00ID4+IDE4ID09PSAtMS4gQWN0dWFsOiAnICsgKC00ID4+IDE4KSk7IAp9IAoKCmlmICgtOCA+PiAxOCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNTgwOiAtOCA+PiAxOCA9PT0gLTEuIEFjdHVhbDogJyArICgtOCA+PiAxOCkpOyAKfSAKCgppZiAoLTE2ID4+IDE4ICE9PSAtMSkgeyAKICAkRVJST1IoJyM1ODE6IC0xNiA+PiAxOCA9PT0gLTEuIEFjdHVhbDogJyArICgtMTYgPj4gMTgpKTsgCn0gCgoKaWYgKC0zMiA+PiAxOCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNTgyOiAtMzIgPj4gMTggPT09IC0xLiBBY3R1YWw6ICcgKyAoLTMyID4+IDE4KSk7IAp9IAoKCmlmICgtNjQgPj4gMTggIT09IC0xKSB7IAogICRFUlJPUignIzU4MzogLTY0ID4+IDE4ID09PSAtMS4gQWN0dWFsOiAnICsgKC02NCA+PiAxOCkpOyAKfSAKCgppZiAoLTEyOCA+PiAxOCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNTg0OiAtMTI4ID4+IDE4ID09PSAtMS4gQWN0dWFsOiAnICsgKC0xMjggPj4gMTgpKTsgCn0gCgoKaWYgKC0yNTYgPj4gMTggIT09IC0xKSB7IAogICRFUlJPUignIzU4NTogLTI1NiA+PiAxOCA9PT0gLTEuIEFjdHVhbDogJyArICgtMjU2ID4+IDE4KSk7IAp9IAoKCmlmICgtNTEyID4+IDE4ICE9PSAtMSkgeyAKICAkRVJST1IoJyM1ODY6IC01MTIgPj4gMTggPT09IC0xLiBBY3R1YWw6ICcgKyAoLTUxMiA+PiAxOCkpOyAKfSAKCgppZiAoLTEwMjQgPj4gMTggIT09IC0xKSB7IAogICRFUlJPUignIzU4NzogLTEwMjQgPj4gMTggPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEwMjQgPj4gMTgpKTsgCn0gCgoKaWYgKC0yMDQ4ID4+IDE4ICE9PSAtMSkgeyAKICAkRVJST1IoJyM1ODg6IC0yMDQ4ID4+IDE4ID09PSAtMS4gQWN0dWFsOiAnICsgKC0yMDQ4ID4+IDE4KSk7IAp9IAoKCmlmICgtNDA5NiA+PiAxOCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNTg5OiAtNDA5NiA+PiAxOCA9PT0gLTEuIEFjdHVhbDogJyArICgtNDA5NiA+PiAxOCkpOyAKfSAKCgppZiAoLTgxOTIgPj4gMTggIT09IC0xKSB7IAogICRFUlJPUignIzU5MDogLTgxOTIgPj4gMTggPT09IC0xLiBBY3R1YWw6ICcgKyAoLTgxOTIgPj4gMTgpKTsgCn0gCgoKaWYgKC0xNjM4NCA+PiAxOCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNTkxOiAtMTYzODQgPj4gMTggPT09IC0xLiBBY3R1YWw6ICcgKyAoLTE2Mzg0ID4+IDE4KSk7IAp9IAoKCmlmICgtMzI3NjggPj4gMTggIT09IC0xKSB7IAogICRFUlJPUignIzU5MjogLTMyNzY4ID4+IDE4ID09PSAtMS4gQWN0dWFsOiAnICsgKC0zMjc2OCA+PiAxOCkpOyAKfSAKCgppZiAoLTY1NTM2ID4+IDE4ICE9PSAtMSkgeyAKICAkRVJST1IoJyM1OTM6IC02NTUzNiA+PiAxOCA9PT0gLTEuIEFjdHVhbDogJyArICgtNjU1MzYgPj4gMTgpKTsgCn0gCgoKaWYgKC0xMzEwNzIgPj4gMTggIT09IC0xKSB7IAogICRFUlJPUignIzU5NDogLTEzMTA3MiA+PiAxOCA9PT0gLTEuIEFjdHVhbDogJyArICgtMTMxMDcyID4+IDE4KSk7IAp9IAoKCmlmICgtMjYyMTQ0ID4+IDE4ICE9PSAtMSkgeyAKICAkRVJST1IoJyM1OTU6IC0yNjIxNDQgPj4gMTggPT09IC0xLiBBY3R1YWw6ICcgKyAoLTI2MjE0NCA+PiAxOCkpOyAKfSAKCgppZiAoLTUyNDI4OCA+PiAxOCAhPT0gLTIpIHsgCiAgJEVSUk9SKCcjNTk2OiAtNTI0Mjg4ID4+IDE4ID09PSAtMi4gQWN0dWFsOiAnICsgKC01MjQyODggPj4gMTgpKTsgCn0gCgoKaWYgKC0xMDQ4NTc2ID4+IDE4ICE9PSAtNCkgeyAKICAkRVJST1IoJyM1OTc6IC0xMDQ4NTc2ID4+IDE4ID09PSAtNC4gQWN0dWFsOiAnICsgKC0xMDQ4NTc2ID4+IDE4KSk7IAp9IAoKCmlmICgtMjA5NzE1MiA+PiAxOCAhPT0gLTgpIHsgCiAgJEVSUk9SKCcjNTk4OiAtMjA5NzE1MiA+PiAxOCA9PT0gLTguIEFjdHVhbDogJyArICgtMjA5NzE1MiA+PiAxOCkpOyAKfSAKCgppZiAoLTQxOTQzMDQgPj4gMTggIT09IC0xNikgeyAKICAkRVJST1IoJyM1OTk6IC00MTk0MzA0ID4+IDE4ID09PSAtMTYuIEFjdHVhbDogJyArICgtNDE5NDMwNCA+PiAxOCkpOyAKfSAKCgppZiAoLTgzODg2MDggPj4gMTggIT09IC0zMikgeyAKICAkRVJST1IoJyM2MDA6IC04Mzg4NjA4ID4+IDE4ID09PSAtMzIuIEFjdHVhbDogJyArICgtODM4ODYwOCA+PiAxOCkpOyAKfSAKCgppZiAoLTE2Nzc3MjE2ID4+IDE4ICE9PSAtNjQpIHsgCiAgJEVSUk9SKCcjNjAxOiAtMTY3NzcyMTYgPj4gMTggPT09IC02NC4gQWN0dWFsOiAnICsgKC0xNjc3NzIxNiA+PiAxOCkpOyAKfSAKCgppZiAoLTMzNTU0NDMyID4+IDE4ICE9PSAtMTI4KSB7IAogICRFUlJPUignIzYwMjogLTMzNTU0NDMyID4+IDE4ID09PSAtMTI4LiBBY3R1YWw6ICcgKyAoLTMzNTU0NDMyID4+IDE4KSk7IAp9IAoKCmlmICgtNjcxMDg4NjQgPj4gMTggIT09IC0yNTYpIHsgCiAgJEVSUk9SKCcjNjAzOiAtNjcxMDg4NjQgPj4gMTggPT09IC0yNTYuIEFjdHVhbDogJyArICgtNjcxMDg4NjQgPj4gMTgpKTsgCn0gCgoKaWYgKC0xMzQyMTc3MjggPj4gMTggIT09IC01MTIpIHsgCiAgJEVSUk9SKCcjNjA0OiAtMTM0MjE3NzI4ID4+IDE4ID09PSAtNTEyLiBBY3R1YWw6ICcgKyAoLTEzNDIxNzcyOCA+PiAxOCkpOyAKfSAKCgppZiAoLTI2ODQzNTQ1NiA+PiAxOCAhPT0gLTEwMjQpIHsgCiAgJEVSUk9SKCcjNjA1OiAtMjY4NDM1NDU2ID4+IDE4ID09PSAtMTAyNC4gQWN0dWFsOiAnICsgKC0yNjg0MzU0NTYgPj4gMTgpKTsgCn0gCgoKaWYgKC01MzY4NzA5MTIgPj4gMTggIT09IC0yMDQ4KSB7IAogICRFUlJPUignIzYwNjogLTUzNjg3MDkxMiA+PiAxOCA9PT0gLTIwNDguIEFjdHVhbDogJyArICgtNTM2ODcwOTEyID4+IDE4KSk7IAp9IAoKCmlmICgtMTA3Mzc0MTgyNCA+PiAxOCAhPT0gLTQwOTYpIHsgCiAgJEVSUk9SKCcjNjA3OiAtMTA3Mzc0MTgyNCA+PiAxOCA9PT0gLTQwOTYuIEFjdHVhbDogJyArICgtMTA3Mzc0MTgyNCA+PiAxOCkpOyAKfSAKCgppZiAoLTIxNDc0ODM2NDggPj4gMTggIT09IC04MTkyKSB7IAogICRFUlJPUignIzYwODogLTIxNDc0ODM2NDggPj4gMTggPT09IC04MTkyLiBBY3R1YWw6ICcgKyAoLTIxNDc0ODM2NDggPj4gMTgpKTsgCn0gCgoKaWYgKC0xID4+IDE5ICE9PSAtMSkgeyAKICAkRVJST1IoJyM2MDk6IC0xID4+IDE5ID09PSAtMS4gQWN0dWFsOiAnICsgKC0xID4+IDE5KSk7IAp9IAoKCmlmICgtMiA+PiAxOSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNjEwOiAtMiA+PiAxOSA9PT0gLTEuIEFjdHVhbDogJyArICgtMiA+PiAxOSkpOyAKfSAKCgppZiAoLTQgPj4gMTkgIT09IC0xKSB7IAogICRFUlJPUignIzYxMTogLTQgPj4gMTkgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTQgPj4gMTkpKTsgCn0gCgoKaWYgKC04ID4+IDE5ICE9PSAtMSkgeyAKICAkRVJST1IoJyM2MTI6IC04ID4+IDE5ID09PSAtMS4gQWN0dWFsOiAnICsgKC04ID4+IDE5KSk7IAp9IAoKCmlmICgtMTYgPj4gMTkgIT09IC0xKSB7IAogICRFUlJPUignIzYxMzogLTE2ID4+IDE5ID09PSAtMS4gQWN0dWFsOiAnICsgKC0xNiA+PiAxOSkpOyAKfSAKCgppZiAoLTMyID4+IDE5ICE9PSAtMSkgeyAKICAkRVJST1IoJyM2MTQ6IC0zMiA+PiAxOSA9PT0gLTEuIEFjdHVhbDogJyArICgtMzIgPj4gMTkpKTsgCn0gCgoKaWYgKC02NCA+PiAxOSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNjE1OiAtNjQgPj4gMTkgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTY0ID4+IDE5KSk7IAp9IAoKCmlmICgtMTI4ID4+IDE5ICE9PSAtMSkgeyAKICAkRVJST1IoJyM2MTY6IC0xMjggPj4gMTkgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEyOCA+PiAxOSkpOyAKfSAKCgppZiAoLTI1NiA+PiAxOSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNjE3OiAtMjU2ID4+IDE5ID09PSAtMS4gQWN0dWFsOiAnICsgKC0yNTYgPj4gMTkpKTsgCn0gCgoKaWYgKC01MTIgPj4gMTkgIT09IC0xKSB7IAogICRFUlJPUignIzYxODogLTUxMiA+PiAxOSA9PT0gLTEuIEFjdHVhbDogJyArICgtNTEyID4+IDE5KSk7IAp9IAoKCmlmICgtMTAyNCA+PiAxOSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNjE5OiAtMTAyNCA+PiAxOSA9PT0gLTEuIEFjdHVhbDogJyArICgtMTAyNCA+PiAxOSkpOyAKfSAKCgppZiAoLTIwNDggPj4gMTkgIT09IC0xKSB7IAogICRFUlJPUignIzYyMDogLTIwNDggPj4gMTkgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTIwNDggPj4gMTkpKTsgCn0gCgoKaWYgKC00MDk2ID4+IDE5ICE9PSAtMSkgeyAKICAkRVJST1IoJyM2MjE6IC00MDk2ID4+IDE5ID09PSAtMS4gQWN0dWFsOiAnICsgKC00MDk2ID4+IDE5KSk7IAp9IAoKCmlmICgtODE5MiA+PiAxOSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNjIyOiAtODE5MiA+PiAxOSA9PT0gLTEuIEFjdHVhbDogJyArICgtODE5MiA+PiAxOSkpOyAKfSAKCgppZiAoLTE2Mzg0ID4+IDE5ICE9PSAtMSkgeyAKICAkRVJST1IoJyM2MjM6IC0xNjM4NCA+PiAxOSA9PT0gLTEuIEFjdHVhbDogJyArICgtMTYzODQgPj4gMTkpKTsgCn0gCgoKaWYgKC0zMjc2OCA+PiAxOSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNjI0OiAtMzI3NjggPj4gMTkgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTMyNzY4ID4+IDE5KSk7IAp9IAoKCmlmICgtNjU1MzYgPj4gMTkgIT09IC0xKSB7IAogICRFUlJPUignIzYyNTogLTY1NTM2ID4+IDE5ID09PSAtMS4gQWN0dWFsOiAnICsgKC02NTUzNiA+PiAxOSkpOyAKfSAKCgppZiAoLTEzMTA3MiA+PiAxOSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNjI2OiAtMTMxMDcyID4+IDE5ID09PSAtMS4gQWN0dWFsOiAnICsgKC0xMzEwNzIgPj4gMTkpKTsgCn0gCgoKaWYgKC0yNjIxNDQgPj4gMTkgIT09IC0xKSB7IAogICRFUlJPUignIzYyNzogLTI2MjE0NCA+PiAxOSA9PT0gLTEuIEFjdHVhbDogJyArICgtMjYyMTQ0ID4+IDE5KSk7IAp9IAoKCmlmICgtNTI0Mjg4ID4+IDE5ICE9PSAtMSkgeyAKICAkRVJST1IoJyM2Mjg6IC01MjQyODggPj4gMTkgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTUyNDI4OCA+PiAxOSkpOyAKfSAKCgppZiAoLTEwNDg1NzYgPj4gMTkgIT09IC0yKSB7IAogICRFUlJPUignIzYyOTogLTEwNDg1NzYgPj4gMTkgPT09IC0yLiBBY3R1YWw6ICcgKyAoLTEwNDg1NzYgPj4gMTkpKTsgCn0gCgoKaWYgKC0yMDk3MTUyID4+IDE5ICE9PSAtNCkgeyAKICAkRVJST1IoJyM2MzA6IC0yMDk3MTUyID4+IDE5ID09PSAtNC4gQWN0dWFsOiAnICsgKC0yMDk3MTUyID4+IDE5KSk7IAp9IAoKCmlmICgtNDE5NDMwNCA+PiAxOSAhPT0gLTgpIHsgCiAgJEVSUk9SKCcjNjMxOiAtNDE5NDMwNCA+PiAxOSA9PT0gLTguIEFjdHVhbDogJyArICgtNDE5NDMwNCA+PiAxOSkpOyAKfSAKCgppZiAoLTgzODg2MDggPj4gMTkgIT09IC0xNikgeyAKICAkRVJST1IoJyM2MzI6IC04Mzg4NjA4ID4+IDE5ID09PSAtMTYuIEFjdHVhbDogJyArICgtODM4ODYwOCA+PiAxOSkpOyAKfSAKCgppZiAoLTE2Nzc3MjE2ID4+IDE5ICE9PSAtMzIpIHsgCiAgJEVSUk9SKCcjNjMzOiAtMTY3NzcyMTYgPj4gMTkgPT09IC0zMi4gQWN0dWFsOiAnICsgKC0xNjc3NzIxNiA+PiAxOSkpOyAKfSAKCgppZiAoLTMzNTU0NDMyID4+IDE5ICE9PSAtNjQpIHsgCiAgJEVSUk9SKCcjNjM0OiAtMzM1NTQ0MzIgPj4gMTkgPT09IC02NC4gQWN0dWFsOiAnICsgKC0zMzU1NDQzMiA+PiAxOSkpOyAKfSAKCgppZiAoLTY3MTA4ODY0ID4+IDE5ICE9PSAtMTI4KSB7IAogICRFUlJPUignIzYzNTogLTY3MTA4ODY0ID4+IDE5ID09PSAtMTI4LiBBY3R1YWw6ICcgKyAoLTY3MTA4ODY0ID4+IDE5KSk7IAp9IAoKCmlmICgtMTM0MjE3NzI4ID4+IDE5ICE9PSAtMjU2KSB7IAogICRFUlJPUignIzYzNjogLTEzNDIxNzcyOCA+PiAxOSA9PT0gLTI1Ni4gQWN0dWFsOiAnICsgKC0xMzQyMTc3MjggPj4gMTkpKTsgCn0gCgoKaWYgKC0yNjg0MzU0NTYgPj4gMTkgIT09IC01MTIpIHsgCiAgJEVSUk9SKCcjNjM3OiAtMjY4NDM1NDU2ID4+IDE5ID09PSAtNTEyLiBBY3R1YWw6ICcgKyAoLTI2ODQzNTQ1NiA+PiAxOSkpOyAKfSAKCgppZiAoLTUzNjg3MDkxMiA+PiAxOSAhPT0gLTEwMjQpIHsgCiAgJEVSUk9SKCcjNjM4OiAtNTM2ODcwOTEyID4+IDE5ID09PSAtMTAyNC4gQWN0dWFsOiAnICsgKC01MzY4NzA5MTIgPj4gMTkpKTsgCn0gCgoKaWYgKC0xMDczNzQxODI0ID4+IDE5ICE9PSAtMjA0OCkgeyAKICAkRVJST1IoJyM2Mzk6IC0xMDczNzQxODI0ID4+IDE5ID09PSAtMjA0OC4gQWN0dWFsOiAnICsgKC0xMDczNzQxODI0ID4+IDE5KSk7IAp9IAoKCmlmICgtMjE0NzQ4MzY0OCA+PiAxOSAhPT0gLTQwOTYpIHsgCiAgJEVSUk9SKCcjNjQwOiAtMjE0NzQ4MzY0OCA+PiAxOSA9PT0gLTQwOTYuIEFjdHVhbDogJyArICgtMjE0NzQ4MzY0OCA+PiAxOSkpOyAKfSAKCgppZiAoLTEgPj4gMjAgIT09IC0xKSB7IAogICRFUlJPUignIzY0MTogLTEgPj4gMjAgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEgPj4gMjApKTsgCn0gCgoKaWYgKC0yID4+IDIwICE9PSAtMSkgeyAKICAkRVJST1IoJyM2NDI6IC0yID4+IDIwID09PSAtMS4gQWN0dWFsOiAnICsgKC0yID4+IDIwKSk7IAp9IAoKCmlmICgtNCA+PiAyMCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNjQzOiAtNCA+PiAyMCA9PT0gLTEuIEFjdHVhbDogJyArICgtNCA+PiAyMCkpOyAKfSAKCgppZiAoLTggPj4gMjAgIT09IC0xKSB7IAogICRFUlJPUignIzY0NDogLTggPj4gMjAgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTggPj4gMjApKTsgCn0gCgoKaWYgKC0xNiA+PiAyMCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNjQ1OiAtMTYgPj4gMjAgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTE2ID4+IDIwKSk7IAp9IAoKCmlmICgtMzIgPj4gMjAgIT09IC0xKSB7IAogICRFUlJPUignIzY0NjogLTMyID4+IDIwID09PSAtMS4gQWN0dWFsOiAnICsgKC0zMiA+PiAyMCkpOyAKfSAKCgppZiAoLTY0ID4+IDIwICE9PSAtMSkgeyAKICAkRVJST1IoJyM2NDc6IC02NCA+PiAyMCA9PT0gLTEuIEFjdHVhbDogJyArICgtNjQgPj4gMjApKTsgCn0gCgoKaWYgKC0xMjggPj4gMjAgIT09IC0xKSB7IAogICRFUlJPUignIzY0ODogLTEyOCA+PiAyMCA9PT0gLTEuIEFjdHVhbDogJyArICgtMTI4ID4+IDIwKSk7IAp9IAoKCmlmICgtMjU2ID4+IDIwICE9PSAtMSkgeyAKICAkRVJST1IoJyM2NDk6IC0yNTYgPj4gMjAgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTI1NiA+PiAyMCkpOyAKfSAKCgppZiAoLTUxMiA+PiAyMCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNjUwOiAtNTEyID4+IDIwID09PSAtMS4gQWN0dWFsOiAnICsgKC01MTIgPj4gMjApKTsgCn0gCgoKaWYgKC0xMDI0ID4+IDIwICE9PSAtMSkgeyAKICAkRVJST1IoJyM2NTE6IC0xMDI0ID4+IDIwID09PSAtMS4gQWN0dWFsOiAnICsgKC0xMDI0ID4+IDIwKSk7IAp9IAoKCmlmICgtMjA0OCA+PiAyMCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNjUyOiAtMjA0OCA+PiAyMCA9PT0gLTEuIEFjdHVhbDogJyArICgtMjA0OCA+PiAyMCkpOyAKfSAKCgppZiAoLTQwOTYgPj4gMjAgIT09IC0xKSB7IAogICRFUlJPUignIzY1MzogLTQwOTYgPj4gMjAgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTQwOTYgPj4gMjApKTsgCn0gCgoKaWYgKC04MTkyID4+IDIwICE9PSAtMSkgeyAKICAkRVJST1IoJyM2NTQ6IC04MTkyID4+IDIwID09PSAtMS4gQWN0dWFsOiAnICsgKC04MTkyID4+IDIwKSk7IAp9IAoKCmlmICgtMTYzODQgPj4gMjAgIT09IC0xKSB7IAogICRFUlJPUignIzY1NTogLTE2Mzg0ID4+IDIwID09PSAtMS4gQWN0dWFsOiAnICsgKC0xNjM4NCA+PiAyMCkpOyAKfSAKCgppZiAoLTMyNzY4ID4+IDIwICE9PSAtMSkgeyAKICAkRVJST1IoJyM2NTY6IC0zMjc2OCA+PiAyMCA9PT0gLTEuIEFjdHVhbDogJyArICgtMzI3NjggPj4gMjApKTsgCn0gCgoKaWYgKC02NTUzNiA+PiAyMCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNjU3OiAtNjU1MzYgPj4gMjAgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTY1NTM2ID4+IDIwKSk7IAp9IAoKCmlmICgtMTMxMDcyID4+IDIwICE9PSAtMSkgeyAKICAkRVJST1IoJyM2NTg6IC0xMzEwNzIgPj4gMjAgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEzMTA3MiA+PiAyMCkpOyAKfSAKCgppZiAoLTI2MjE0NCA+PiAyMCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNjU5OiAtMjYyMTQ0ID4+IDIwID09PSAtMS4gQWN0dWFsOiAnICsgKC0yNjIxNDQgPj4gMjApKTsgCn0gCgoKaWYgKC01MjQyODggPj4gMjAgIT09IC0xKSB7IAogICRFUlJPUignIzY2MDogLTUyNDI4OCA+PiAyMCA9PT0gLTEuIEFjdHVhbDogJyArICgtNTI0Mjg4ID4+IDIwKSk7IAp9IAoKCmlmICgtMTA0ODU3NiA+PiAyMCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNjYxOiAtMTA0ODU3NiA+PiAyMCA9PT0gLTEuIEFjdHVhbDogJyArICgtMTA0ODU3NiA+PiAyMCkpOyAKfSAKCgppZiAoLTIwOTcxNTIgPj4gMjAgIT09IC0yKSB7IAogICRFUlJPUignIzY2MjogLTIwOTcxNTIgPj4gMjAgPT09IC0yLiBBY3R1YWw6ICcgKyAoLTIwOTcxNTIgPj4gMjApKTsgCn0gCgoKaWYgKC00MTk0MzA0ID4+IDIwICE9PSAtNCkgeyAKICAkRVJST1IoJyM2NjM6IC00MTk0MzA0ID4+IDIwID09PSAtNC4gQWN0dWFsOiAnICsgKC00MTk0MzA0ID4+IDIwKSk7IAp9IAoKCmlmICgtODM4ODYwOCA+PiAyMCAhPT0gLTgpIHsgCiAgJEVSUk9SKCcjNjY0OiAtODM4ODYwOCA+PiAyMCA9PT0gLTguIEFjdHVhbDogJyArICgtODM4ODYwOCA+PiAyMCkpOyAKfSAKCgppZiAoLTE2Nzc3MjE2ID4+IDIwICE9PSAtMTYpIHsgCiAgJEVSUk9SKCcjNjY1OiAtMTY3NzcyMTYgPj4gMjAgPT09IC0xNi4gQWN0dWFsOiAnICsgKC0xNjc3NzIxNiA+PiAyMCkpOyAKfSAKCgppZiAoLTMzNTU0NDMyID4+IDIwICE9PSAtMzIpIHsgCiAgJEVSUk9SKCcjNjY2OiAtMzM1NTQ0MzIgPj4gMjAgPT09IC0zMi4gQWN0dWFsOiAnICsgKC0zMzU1NDQzMiA+PiAyMCkpOyAKfSAKCgppZiAoLTY3MTA4ODY0ID4+IDIwICE9PSAtNjQpIHsgCiAgJEVSUk9SKCcjNjY3OiAtNjcxMDg4NjQgPj4gMjAgPT09IC02NC4gQWN0dWFsOiAnICsgKC02NzEwODg2NCA+PiAyMCkpOyAKfSAKCgppZiAoLTEzNDIxNzcyOCA+PiAyMCAhPT0gLTEyOCkgeyAKICAkRVJST1IoJyM2Njg6IC0xMzQyMTc3MjggPj4gMjAgPT09IC0xMjguIEFjdHVhbDogJyArICgtMTM0MjE3NzI4ID4+IDIwKSk7IAp9IAoKCmlmICgtMjY4NDM1NDU2ID4+IDIwICE9PSAtMjU2KSB7IAogICRFUlJPUignIzY2OTogLTI2ODQzNTQ1NiA+PiAyMCA9PT0gLTI1Ni4gQWN0dWFsOiAnICsgKC0yNjg0MzU0NTYgPj4gMjApKTsgCn0gCgoKaWYgKC01MzY4NzA5MTIgPj4gMjAgIT09IC01MTIpIHsgCiAgJEVSUk9SKCcjNjcwOiAtNTM2ODcwOTEyID4+IDIwID09PSAtNTEyLiBBY3R1YWw6ICcgKyAoLTUzNjg3MDkxMiA+PiAyMCkpOyAKfSAKCgppZiAoLTEwNzM3NDE4MjQgPj4gMjAgIT09IC0xMDI0KSB7IAogICRFUlJPUignIzY3MTogLTEwNzM3NDE4MjQgPj4gMjAgPT09IC0xMDI0LiBBY3R1YWw6ICcgKyAoLTEwNzM3NDE4MjQgPj4gMjApKTsgCn0gCgoKaWYgKC0yMTQ3NDgzNjQ4ID4+IDIwICE9PSAtMjA0OCkgeyAKICAkRVJST1IoJyM2NzI6IC0yMTQ3NDgzNjQ4ID4+IDIwID09PSAtMjA0OC4gQWN0dWFsOiAnICsgKC0yMTQ3NDgzNjQ4ID4+IDIwKSk7IAp9IAoKCmlmICgtMSA+PiAyMSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNjczOiAtMSA+PiAyMSA9PT0gLTEuIEFjdHVhbDogJyArICgtMSA+PiAyMSkpOyAKfSAKCgppZiAoLTIgPj4gMjEgIT09IC0xKSB7IAogICRFUlJPUignIzY3NDogLTIgPj4gMjEgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTIgPj4gMjEpKTsgCn0gCgoKaWYgKC00ID4+IDIxICE9PSAtMSkgeyAKICAkRVJST1IoJyM2NzU6IC00ID4+IDIxID09PSAtMS4gQWN0dWFsOiAnICsgKC00ID4+IDIxKSk7IAp9IAoKCmlmICgtOCA+PiAyMSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNjc2OiAtOCA+PiAyMSA9PT0gLTEuIEFjdHVhbDogJyArICgtOCA+PiAyMSkpOyAKfSAKCgppZiAoLTE2ID4+IDIxICE9PSAtMSkgeyAKICAkRVJST1IoJyM2Nzc6IC0xNiA+PiAyMSA9PT0gLTEuIEFjdHVhbDogJyArICgtMTYgPj4gMjEpKTsgCn0gCgoKaWYgKC0zMiA+PiAyMSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNjc4OiAtMzIgPj4gMjEgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTMyID4+IDIxKSk7IAp9IAoKCmlmICgtNjQgPj4gMjEgIT09IC0xKSB7IAogICRFUlJPUignIzY3OTogLTY0ID4+IDIxID09PSAtMS4gQWN0dWFsOiAnICsgKC02NCA+PiAyMSkpOyAKfSAKCgppZiAoLTEyOCA+PiAyMSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNjgwOiAtMTI4ID4+IDIxID09PSAtMS4gQWN0dWFsOiAnICsgKC0xMjggPj4gMjEpKTsgCn0gCgoKaWYgKC0yNTYgPj4gMjEgIT09IC0xKSB7IAogICRFUlJPUignIzY4MTogLTI1NiA+PiAyMSA9PT0gLTEuIEFjdHVhbDogJyArICgtMjU2ID4+IDIxKSk7IAp9IAoKCmlmICgtNTEyID4+IDIxICE9PSAtMSkgeyAKICAkRVJST1IoJyM2ODI6IC01MTIgPj4gMjEgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTUxMiA+PiAyMSkpOyAKfSAKCgppZiAoLTEwMjQgPj4gMjEgIT09IC0xKSB7IAogICRFUlJPUignIzY4MzogLTEwMjQgPj4gMjEgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEwMjQgPj4gMjEpKTsgCn0gCgoKaWYgKC0yMDQ4ID4+IDIxICE9PSAtMSkgeyAKICAkRVJST1IoJyM2ODQ6IC0yMDQ4ID4+IDIxID09PSAtMS4gQWN0dWFsOiAnICsgKC0yMDQ4ID4+IDIxKSk7IAp9IAoKCmlmICgtNDA5NiA+PiAyMSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNjg1OiAtNDA5NiA+PiAyMSA9PT0gLTEuIEFjdHVhbDogJyArICgtNDA5NiA+PiAyMSkpOyAKfSAKCgppZiAoLTgxOTIgPj4gMjEgIT09IC0xKSB7IAogICRFUlJPUignIzY4NjogLTgxOTIgPj4gMjEgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTgxOTIgPj4gMjEpKTsgCn0gCgoKaWYgKC0xNjM4NCA+PiAyMSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNjg3OiAtMTYzODQgPj4gMjEgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTE2Mzg0ID4+IDIxKSk7IAp9IAoKCmlmICgtMzI3NjggPj4gMjEgIT09IC0xKSB7IAogICRFUlJPUignIzY4ODogLTMyNzY4ID4+IDIxID09PSAtMS4gQWN0dWFsOiAnICsgKC0zMjc2OCA+PiAyMSkpOyAKfSAKCgppZiAoLTY1NTM2ID4+IDIxICE9PSAtMSkgeyAKICAkRVJST1IoJyM2ODk6IC02NTUzNiA+PiAyMSA9PT0gLTEuIEFjdHVhbDogJyArICgtNjU1MzYgPj4gMjEpKTsgCn0gCgoKaWYgKC0xMzEwNzIgPj4gMjEgIT09IC0xKSB7IAogICRFUlJPUignIzY5MDogLTEzMTA3MiA+PiAyMSA9PT0gLTEuIEFjdHVhbDogJyArICgtMTMxMDcyID4+IDIxKSk7IAp9IAoKCmlmICgtMjYyMTQ0ID4+IDIxICE9PSAtMSkgeyAKICAkRVJST1IoJyM2OTE6IC0yNjIxNDQgPj4gMjEgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTI2MjE0NCA+PiAyMSkpOyAKfSAKCgppZiAoLTUyNDI4OCA+PiAyMSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNjkyOiAtNTI0Mjg4ID4+IDIxID09PSAtMS4gQWN0dWFsOiAnICsgKC01MjQyODggPj4gMjEpKTsgCn0gCgoKaWYgKC0xMDQ4NTc2ID4+IDIxICE9PSAtMSkgeyAKICAkRVJST1IoJyM2OTM6IC0xMDQ4NTc2ID4+IDIxID09PSAtMS4gQWN0dWFsOiAnICsgKC0xMDQ4NTc2ID4+IDIxKSk7IAp9IAoKCmlmICgtMjA5NzE1MiA+PiAyMSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNjk0OiAtMjA5NzE1MiA+PiAyMSA9PT0gLTEuIEFjdHVhbDogJyArICgtMjA5NzE1MiA+PiAyMSkpOyAKfSAKCgppZiAoLTQxOTQzMDQgPj4gMjEgIT09IC0yKSB7IAogICRFUlJPUignIzY5NTogLTQxOTQzMDQgPj4gMjEgPT09IC0yLiBBY3R1YWw6ICcgKyAoLTQxOTQzMDQgPj4gMjEpKTsgCn0gCgoKaWYgKC04Mzg4NjA4ID4+IDIxICE9PSAtNCkgeyAKICAkRVJST1IoJyM2OTY6IC04Mzg4NjA4ID4+IDIxID09PSAtNC4gQWN0dWFsOiAnICsgKC04Mzg4NjA4ID4+IDIxKSk7IAp9IAoKCmlmICgtMTY3NzcyMTYgPj4gMjEgIT09IC04KSB7IAogICRFUlJPUignIzY5NzogLTE2Nzc3MjE2ID4+IDIxID09PSAtOC4gQWN0dWFsOiAnICsgKC0xNjc3NzIxNiA+PiAyMSkpOyAKfSAKCgppZiAoLTMzNTU0NDMyID4+IDIxICE9PSAtMTYpIHsgCiAgJEVSUk9SKCcjNjk4OiAtMzM1NTQ0MzIgPj4gMjEgPT09IC0xNi4gQWN0dWFsOiAnICsgKC0zMzU1NDQzMiA+PiAyMSkpOyAKfSAKCgppZiAoLTY3MTA4ODY0ID4+IDIxICE9PSAtMzIpIHsgCiAgJEVSUk9SKCcjNjk5OiAtNjcxMDg4NjQgPj4gMjEgPT09IC0zMi4gQWN0dWFsOiAnICsgKC02NzEwODg2NCA+PiAyMSkpOyAKfSAKCgppZiAoLTEzNDIxNzcyOCA+PiAyMSAhPT0gLTY0KSB7IAogICRFUlJPUignIzcwMDogLTEzNDIxNzcyOCA+PiAyMSA9PT0gLTY0LiBBY3R1YWw6ICcgKyAoLTEzNDIxNzcyOCA+PiAyMSkpOyAKfSAKCgppZiAoLTI2ODQzNTQ1NiA+PiAyMSAhPT0gLTEyOCkgeyAKICAkRVJST1IoJyM3MDE6IC0yNjg0MzU0NTYgPj4gMjEgPT09IC0xMjguIEFjdHVhbDogJyArICgtMjY4NDM1NDU2ID4+IDIxKSk7IAp9IAoKCmlmICgtNTM2ODcwOTEyID4+IDIxICE9PSAtMjU2KSB7IAogICRFUlJPUignIzcwMjogLTUzNjg3MDkxMiA+PiAyMSA9PT0gLTI1Ni4gQWN0dWFsOiAnICsgKC01MzY4NzA5MTIgPj4gMjEpKTsgCn0gCgoKaWYgKC0xMDczNzQxODI0ID4+IDIxICE9PSAtNTEyKSB7IAogICRFUlJPUignIzcwMzogLTEwNzM3NDE4MjQgPj4gMjEgPT09IC01MTIuIEFjdHVhbDogJyArICgtMTA3Mzc0MTgyNCA+PiAyMSkpOyAKfSAKCgppZiAoLTIxNDc0ODM2NDggPj4gMjEgIT09IC0xMDI0KSB7IAogICRFUlJPUignIzcwNDogLTIxNDc0ODM2NDggPj4gMjEgPT09IC0xMDI0LiBBY3R1YWw6ICcgKyAoLTIxNDc0ODM2NDggPj4gMjEpKTsgCn0gCgoKaWYgKC0xID4+IDIyICE9PSAtMSkgeyAKICAkRVJST1IoJyM3MDU6IC0xID4+IDIyID09PSAtMS4gQWN0dWFsOiAnICsgKC0xID4+IDIyKSk7IAp9IAoKCmlmICgtMiA+PiAyMiAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNzA2OiAtMiA+PiAyMiA9PT0gLTEuIEFjdHVhbDogJyArICgtMiA+PiAyMikpOyAKfSAKCgppZiAoLTQgPj4gMjIgIT09IC0xKSB7IAogICRFUlJPUignIzcwNzogLTQgPj4gMjIgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTQgPj4gMjIpKTsgCn0gCgoKaWYgKC04ID4+IDIyICE9PSAtMSkgeyAKICAkRVJST1IoJyM3MDg6IC04ID4+IDIyID09PSAtMS4gQWN0dWFsOiAnICsgKC04ID4+IDIyKSk7IAp9IAoKCmlmICgtMTYgPj4gMjIgIT09IC0xKSB7IAogICRFUlJPUignIzcwOTogLTE2ID4+IDIyID09PSAtMS4gQWN0dWFsOiAnICsgKC0xNiA+PiAyMikpOyAKfSAKCgppZiAoLTMyID4+IDIyICE9PSAtMSkgeyAKICAkRVJST1IoJyM3MTA6IC0zMiA+PiAyMiA9PT0gLTEuIEFjdHVhbDogJyArICgtMzIgPj4gMjIpKTsgCn0gCgoKaWYgKC02NCA+PiAyMiAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNzExOiAtNjQgPj4gMjIgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTY0ID4+IDIyKSk7IAp9IAoKCmlmICgtMTI4ID4+IDIyICE9PSAtMSkgeyAKICAkRVJST1IoJyM3MTI6IC0xMjggPj4gMjIgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEyOCA+PiAyMikpOyAKfSAKCgppZiAoLTI1NiA+PiAyMiAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNzEzOiAtMjU2ID4+IDIyID09PSAtMS4gQWN0dWFsOiAnICsgKC0yNTYgPj4gMjIpKTsgCn0gCgoKaWYgKC01MTIgPj4gMjIgIT09IC0xKSB7IAogICRFUlJPUignIzcxNDogLTUxMiA+PiAyMiA9PT0gLTEuIEFjdHVhbDogJyArICgtNTEyID4+IDIyKSk7IAp9IAoKCmlmICgtMTAyNCA+PiAyMiAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNzE1OiAtMTAyNCA+PiAyMiA9PT0gLTEuIEFjdHVhbDogJyArICgtMTAyNCA+PiAyMikpOyAKfSAKCgppZiAoLTIwNDggPj4gMjIgIT09IC0xKSB7IAogICRFUlJPUignIzcxNjogLTIwNDggPj4gMjIgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTIwNDggPj4gMjIpKTsgCn0gCgoKaWYgKC00MDk2ID4+IDIyICE9PSAtMSkgeyAKICAkRVJST1IoJyM3MTc6IC00MDk2ID4+IDIyID09PSAtMS4gQWN0dWFsOiAnICsgKC00MDk2ID4+IDIyKSk7IAp9IAoKCmlmICgtODE5MiA+PiAyMiAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNzE4OiAtODE5MiA+PiAyMiA9PT0gLTEuIEFjdHVhbDogJyArICgtODE5MiA+PiAyMikpOyAKfSAKCgppZiAoLTE2Mzg0ID4+IDIyICE9PSAtMSkgeyAKICAkRVJST1IoJyM3MTk6IC0xNjM4NCA+PiAyMiA9PT0gLTEuIEFjdHVhbDogJyArICgtMTYzODQgPj4gMjIpKTsgCn0gCgoKaWYgKC0zMjc2OCA+PiAyMiAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNzIwOiAtMzI3NjggPj4gMjIgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTMyNzY4ID4+IDIyKSk7IAp9IAoKCmlmICgtNjU1MzYgPj4gMjIgIT09IC0xKSB7IAogICRFUlJPUignIzcyMTogLTY1NTM2ID4+IDIyID09PSAtMS4gQWN0dWFsOiAnICsgKC02NTUzNiA+PiAyMikpOyAKfSAKCgppZiAoLTEzMTA3MiA+PiAyMiAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNzIyOiAtMTMxMDcyID4+IDIyID09PSAtMS4gQWN0dWFsOiAnICsgKC0xMzEwNzIgPj4gMjIpKTsgCn0gCgoKaWYgKC0yNjIxNDQgPj4gMjIgIT09IC0xKSB7IAogICRFUlJPUignIzcyMzogLTI2MjE0NCA+PiAyMiA9PT0gLTEuIEFjdHVhbDogJyArICgtMjYyMTQ0ID4+IDIyKSk7IAp9IAoKCmlmICgtNTI0Mjg4ID4+IDIyICE9PSAtMSkgeyAKICAkRVJST1IoJyM3MjQ6IC01MjQyODggPj4gMjIgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTUyNDI4OCA+PiAyMikpOyAKfSAKCgppZiAoLTEwNDg1NzYgPj4gMjIgIT09IC0xKSB7IAogICRFUlJPUignIzcyNTogLTEwNDg1NzYgPj4gMjIgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEwNDg1NzYgPj4gMjIpKTsgCn0gCgoKaWYgKC0yMDk3MTUyID4+IDIyICE9PSAtMSkgeyAKICAkRVJST1IoJyM3MjY6IC0yMDk3MTUyID4+IDIyID09PSAtMS4gQWN0dWFsOiAnICsgKC0yMDk3MTUyID4+IDIyKSk7IAp9IAoKCmlmICgtNDE5NDMwNCA+PiAyMiAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNzI3OiAtNDE5NDMwNCA+PiAyMiA9PT0gLTEuIEFjdHVhbDogJyArICgtNDE5NDMwNCA+PiAyMikpOyAKfSAKCgppZiAoLTgzODg2MDggPj4gMjIgIT09IC0yKSB7IAogICRFUlJPUignIzcyODogLTgzODg2MDggPj4gMjIgPT09IC0yLiBBY3R1YWw6ICcgKyAoLTgzODg2MDggPj4gMjIpKTsgCn0gCgoKaWYgKC0xNjc3NzIxNiA+PiAyMiAhPT0gLTQpIHsgCiAgJEVSUk9SKCcjNzI5OiAtMTY3NzcyMTYgPj4gMjIgPT09IC00LiBBY3R1YWw6ICcgKyAoLTE2Nzc3MjE2ID4+IDIyKSk7IAp9IAoKCmlmICgtMzM1NTQ0MzIgPj4gMjIgIT09IC04KSB7IAogICRFUlJPUignIzczMDogLTMzNTU0NDMyID4+IDIyID09PSAtOC4gQWN0dWFsOiAnICsgKC0zMzU1NDQzMiA+PiAyMikpOyAKfSAKCgppZiAoLTY3MTA4ODY0ID4+IDIyICE9PSAtMTYpIHsgCiAgJEVSUk9SKCcjNzMxOiAtNjcxMDg4NjQgPj4gMjIgPT09IC0xNi4gQWN0dWFsOiAnICsgKC02NzEwODg2NCA+PiAyMikpOyAKfSAKCgppZiAoLTEzNDIxNzcyOCA+PiAyMiAhPT0gLTMyKSB7IAogICRFUlJPUignIzczMjogLTEzNDIxNzcyOCA+PiAyMiA9PT0gLTMyLiBBY3R1YWw6ICcgKyAoLTEzNDIxNzcyOCA+PiAyMikpOyAKfSAKCgppZiAoLTI2ODQzNTQ1NiA+PiAyMiAhPT0gLTY0KSB7IAogICRFUlJPUignIzczMzogLTI2ODQzNTQ1NiA+PiAyMiA9PT0gLTY0LiBBY3R1YWw6ICcgKyAoLTI2ODQzNTQ1NiA+PiAyMikpOyAKfSAKCgppZiAoLTUzNjg3MDkxMiA+PiAyMiAhPT0gLTEyOCkgeyAKICAkRVJST1IoJyM3MzQ6IC01MzY4NzA5MTIgPj4gMjIgPT09IC0xMjguIEFjdHVhbDogJyArICgtNTM2ODcwOTEyID4+IDIyKSk7IAp9IAoKCmlmICgtMTA3Mzc0MTgyNCA+PiAyMiAhPT0gLTI1NikgeyAKICAkRVJST1IoJyM3MzU6IC0xMDczNzQxODI0ID4+IDIyID09PSAtMjU2LiBBY3R1YWw6ICcgKyAoLTEwNzM3NDE4MjQgPj4gMjIpKTsgCn0gCgoKaWYgKC0yMTQ3NDgzNjQ4ID4+IDIyICE9PSAtNTEyKSB7IAogICRFUlJPUignIzczNjogLTIxNDc0ODM2NDggPj4gMjIgPT09IC01MTIuIEFjdHVhbDogJyArICgtMjE0NzQ4MzY0OCA+PiAyMikpOyAKfSAKCgppZiAoLTEgPj4gMjMgIT09IC0xKSB7IAogICRFUlJPUignIzczNzogLTEgPj4gMjMgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEgPj4gMjMpKTsgCn0gCgoKaWYgKC0yID4+IDIzICE9PSAtMSkgeyAKICAkRVJST1IoJyM3Mzg6IC0yID4+IDIzID09PSAtMS4gQWN0dWFsOiAnICsgKC0yID4+IDIzKSk7IAp9IAoKCmlmICgtNCA+PiAyMyAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNzM5OiAtNCA+PiAyMyA9PT0gLTEuIEFjdHVhbDogJyArICgtNCA+PiAyMykpOyAKfSAKCgppZiAoLTggPj4gMjMgIT09IC0xKSB7IAogICRFUlJPUignIzc0MDogLTggPj4gMjMgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTggPj4gMjMpKTsgCn0gCgoKaWYgKC0xNiA+PiAyMyAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNzQxOiAtMTYgPj4gMjMgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTE2ID4+IDIzKSk7IAp9IAoKCmlmICgtMzIgPj4gMjMgIT09IC0xKSB7IAogICRFUlJPUignIzc0MjogLTMyID4+IDIzID09PSAtMS4gQWN0dWFsOiAnICsgKC0zMiA+PiAyMykpOyAKfSAKCgppZiAoLTY0ID4+IDIzICE9PSAtMSkgeyAKICAkRVJST1IoJyM3NDM6IC02NCA+PiAyMyA9PT0gLTEuIEFjdHVhbDogJyArICgtNjQgPj4gMjMpKTsgCn0gCgoKaWYgKC0xMjggPj4gMjMgIT09IC0xKSB7IAogICRFUlJPUignIzc0NDogLTEyOCA+PiAyMyA9PT0gLTEuIEFjdHVhbDogJyArICgtMTI4ID4+IDIzKSk7IAp9IAoKCmlmICgtMjU2ID4+IDIzICE9PSAtMSkgeyAKICAkRVJST1IoJyM3NDU6IC0yNTYgPj4gMjMgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTI1NiA+PiAyMykpOyAKfSAKCgppZiAoLTUxMiA+PiAyMyAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNzQ2OiAtNTEyID4+IDIzID09PSAtMS4gQWN0dWFsOiAnICsgKC01MTIgPj4gMjMpKTsgCn0gCgoKaWYgKC0xMDI0ID4+IDIzICE9PSAtMSkgeyAKICAkRVJST1IoJyM3NDc6IC0xMDI0ID4+IDIzID09PSAtMS4gQWN0dWFsOiAnICsgKC0xMDI0ID4+IDIzKSk7IAp9IAoKCmlmICgtMjA0OCA+PiAyMyAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNzQ4OiAtMjA0OCA+PiAyMyA9PT0gLTEuIEFjdHVhbDogJyArICgtMjA0OCA+PiAyMykpOyAKfSAKCgppZiAoLTQwOTYgPj4gMjMgIT09IC0xKSB7IAogICRFUlJPUignIzc0OTogLTQwOTYgPj4gMjMgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTQwOTYgPj4gMjMpKTsgCn0gCgoKaWYgKC04MTkyID4+IDIzICE9PSAtMSkgeyAKICAkRVJST1IoJyM3NTA6IC04MTkyID4+IDIzID09PSAtMS4gQWN0dWFsOiAnICsgKC04MTkyID4+IDIzKSk7IAp9IAoKCmlmICgtMTYzODQgPj4gMjMgIT09IC0xKSB7IAogICRFUlJPUignIzc1MTogLTE2Mzg0ID4+IDIzID09PSAtMS4gQWN0dWFsOiAnICsgKC0xNjM4NCA+PiAyMykpOyAKfSAKCgppZiAoLTMyNzY4ID4+IDIzICE9PSAtMSkgeyAKICAkRVJST1IoJyM3NTI6IC0zMjc2OCA+PiAyMyA9PT0gLTEuIEFjdHVhbDogJyArICgtMzI3NjggPj4gMjMpKTsgCn0gCgoKaWYgKC02NTUzNiA+PiAyMyAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNzUzOiAtNjU1MzYgPj4gMjMgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTY1NTM2ID4+IDIzKSk7IAp9IAoKCmlmICgtMTMxMDcyID4+IDIzICE9PSAtMSkgeyAKICAkRVJST1IoJyM3NTQ6IC0xMzEwNzIgPj4gMjMgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEzMTA3MiA+PiAyMykpOyAKfSAKCgppZiAoLTI2MjE0NCA+PiAyMyAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNzU1OiAtMjYyMTQ0ID4+IDIzID09PSAtMS4gQWN0dWFsOiAnICsgKC0yNjIxNDQgPj4gMjMpKTsgCn0gCgoKaWYgKC01MjQyODggPj4gMjMgIT09IC0xKSB7IAogICRFUlJPUignIzc1NjogLTUyNDI4OCA+PiAyMyA9PT0gLTEuIEFjdHVhbDogJyArICgtNTI0Mjg4ID4+IDIzKSk7IAp9IAoKCmlmICgtMTA0ODU3NiA+PiAyMyAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNzU3OiAtMTA0ODU3NiA+PiAyMyA9PT0gLTEuIEFjdHVhbDogJyArICgtMTA0ODU3NiA+PiAyMykpOyAKfSAKCgppZiAoLTIwOTcxNTIgPj4gMjMgIT09IC0xKSB7IAogICRFUlJPUignIzc1ODogLTIwOTcxNTIgPj4gMjMgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTIwOTcxNTIgPj4gMjMpKTsgCn0gCgoKaWYgKC00MTk0MzA0ID4+IDIzICE9PSAtMSkgeyAKICAkRVJST1IoJyM3NTk6IC00MTk0MzA0ID4+IDIzID09PSAtMS4gQWN0dWFsOiAnICsgKC00MTk0MzA0ID4+IDIzKSk7IAp9IAoKCmlmICgtODM4ODYwOCA+PiAyMyAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNzYwOiAtODM4ODYwOCA+PiAyMyA9PT0gLTEuIEFjdHVhbDogJyArICgtODM4ODYwOCA+PiAyMykpOyAKfSAKCgppZiAoLTE2Nzc3MjE2ID4+IDIzICE9PSAtMikgeyAKICAkRVJST1IoJyM3NjE6IC0xNjc3NzIxNiA+PiAyMyA9PT0gLTIuIEFjdHVhbDogJyArICgtMTY3NzcyMTYgPj4gMjMpKTsgCn0gCgoKaWYgKC0zMzU1NDQzMiA+PiAyMyAhPT0gLTQpIHsgCiAgJEVSUk9SKCcjNzYyOiAtMzM1NTQ0MzIgPj4gMjMgPT09IC00LiBBY3R1YWw6ICcgKyAoLTMzNTU0NDMyID4+IDIzKSk7IAp9IAoKCmlmICgtNjcxMDg4NjQgPj4gMjMgIT09IC04KSB7IAogICRFUlJPUignIzc2MzogLTY3MTA4ODY0ID4+IDIzID09PSAtOC4gQWN0dWFsOiAnICsgKC02NzEwODg2NCA+PiAyMykpOyAKfSAKCgppZiAoLTEzNDIxNzcyOCA+PiAyMyAhPT0gLTE2KSB7IAogICRFUlJPUignIzc2NDogLTEzNDIxNzcyOCA+PiAyMyA9PT0gLTE2LiBBY3R1YWw6ICcgKyAoLTEzNDIxNzcyOCA+PiAyMykpOyAKfSAKCgppZiAoLTI2ODQzNTQ1NiA+PiAyMyAhPT0gLTMyKSB7IAogICRFUlJPUignIzc2NTogLTI2ODQzNTQ1NiA+PiAyMyA9PT0gLTMyLiBBY3R1YWw6ICcgKyAoLTI2ODQzNTQ1NiA+PiAyMykpOyAKfSAKCgppZiAoLTUzNjg3MDkxMiA+PiAyMyAhPT0gLTY0KSB7IAogICRFUlJPUignIzc2NjogLTUzNjg3MDkxMiA+PiAyMyA9PT0gLTY0LiBBY3R1YWw6ICcgKyAoLTUzNjg3MDkxMiA+PiAyMykpOyAKfSAKCgppZiAoLTEwNzM3NDE4MjQgPj4gMjMgIT09IC0xMjgpIHsgCiAgJEVSUk9SKCcjNzY3OiAtMTA3Mzc0MTgyNCA+PiAyMyA9PT0gLTEyOC4gQWN0dWFsOiAnICsgKC0xMDczNzQxODI0ID4+IDIzKSk7IAp9IAoKCmlmICgtMjE0NzQ4MzY0OCA+PiAyMyAhPT0gLTI1NikgeyAKICAkRVJST1IoJyM3Njg6IC0yMTQ3NDgzNjQ4ID4+IDIzID09PSAtMjU2LiBBY3R1YWw6ICcgKyAoLTIxNDc0ODM2NDggPj4gMjMpKTsgCn0gCgoKaWYgKC0xID4+IDI0ICE9PSAtMSkgeyAKICAkRVJST1IoJyM3Njk6IC0xID4+IDI0ID09PSAtMS4gQWN0dWFsOiAnICsgKC0xID4+IDI0KSk7IAp9IAoKCmlmICgtMiA+PiAyNCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNzcwOiAtMiA+PiAyNCA9PT0gLTEuIEFjdHVhbDogJyArICgtMiA+PiAyNCkpOyAKfSAKCgppZiAoLTQgPj4gMjQgIT09IC0xKSB7IAogICRFUlJPUignIzc3MTogLTQgPj4gMjQgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTQgPj4gMjQpKTsgCn0gCgoKaWYgKC04ID4+IDI0ICE9PSAtMSkgeyAKICAkRVJST1IoJyM3NzI6IC04ID4+IDI0ID09PSAtMS4gQWN0dWFsOiAnICsgKC04ID4+IDI0KSk7IAp9IAoKCmlmICgtMTYgPj4gMjQgIT09IC0xKSB7IAogICRFUlJPUignIzc3MzogLTE2ID4+IDI0ID09PSAtMS4gQWN0dWFsOiAnICsgKC0xNiA+PiAyNCkpOyAKfSAKCgppZiAoLTMyID4+IDI0ICE9PSAtMSkgeyAKICAkRVJST1IoJyM3NzQ6IC0zMiA+PiAyNCA9PT0gLTEuIEFjdHVhbDogJyArICgtMzIgPj4gMjQpKTsgCn0gCgoKaWYgKC02NCA+PiAyNCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNzc1OiAtNjQgPj4gMjQgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTY0ID4+IDI0KSk7IAp9IAoKCmlmICgtMTI4ID4+IDI0ICE9PSAtMSkgeyAKICAkRVJST1IoJyM3NzY6IC0xMjggPj4gMjQgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEyOCA+PiAyNCkpOyAKfSAKCgppZiAoLTI1NiA+PiAyNCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNzc3OiAtMjU2ID4+IDI0ID09PSAtMS4gQWN0dWFsOiAnICsgKC0yNTYgPj4gMjQpKTsgCn0gCgoKaWYgKC01MTIgPj4gMjQgIT09IC0xKSB7IAogICRFUlJPUignIzc3ODogLTUxMiA+PiAyNCA9PT0gLTEuIEFjdHVhbDogJyArICgtNTEyID4+IDI0KSk7IAp9IAoKCmlmICgtMTAyNCA+PiAyNCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNzc5OiAtMTAyNCA+PiAyNCA9PT0gLTEuIEFjdHVhbDogJyArICgtMTAyNCA+PiAyNCkpOyAKfSAKCgppZiAoLTIwNDggPj4gMjQgIT09IC0xKSB7IAogICRFUlJPUignIzc4MDogLTIwNDggPj4gMjQgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTIwNDggPj4gMjQpKTsgCn0gCgoKaWYgKC00MDk2ID4+IDI0ICE9PSAtMSkgeyAKICAkRVJST1IoJyM3ODE6IC00MDk2ID4+IDI0ID09PSAtMS4gQWN0dWFsOiAnICsgKC00MDk2ID4+IDI0KSk7IAp9IAoKCmlmICgtODE5MiA+PiAyNCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNzgyOiAtODE5MiA+PiAyNCA9PT0gLTEuIEFjdHVhbDogJyArICgtODE5MiA+PiAyNCkpOyAKfSAKCgppZiAoLTE2Mzg0ID4+IDI0ICE9PSAtMSkgeyAKICAkRVJST1IoJyM3ODM6IC0xNjM4NCA+PiAyNCA9PT0gLTEuIEFjdHVhbDogJyArICgtMTYzODQgPj4gMjQpKTsgCn0gCgoKaWYgKC0zMjc2OCA+PiAyNCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNzg0OiAtMzI3NjggPj4gMjQgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTMyNzY4ID4+IDI0KSk7IAp9IAoKCmlmICgtNjU1MzYgPj4gMjQgIT09IC0xKSB7IAogICRFUlJPUignIzc4NTogLTY1NTM2ID4+IDI0ID09PSAtMS4gQWN0dWFsOiAnICsgKC02NTUzNiA+PiAyNCkpOyAKfSAKCgppZiAoLTEzMTA3MiA+PiAyNCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNzg2OiAtMTMxMDcyID4+IDI0ID09PSAtMS4gQWN0dWFsOiAnICsgKC0xMzEwNzIgPj4gMjQpKTsgCn0gCgoKaWYgKC0yNjIxNDQgPj4gMjQgIT09IC0xKSB7IAogICRFUlJPUignIzc4NzogLTI2MjE0NCA+PiAyNCA9PT0gLTEuIEFjdHVhbDogJyArICgtMjYyMTQ0ID4+IDI0KSk7IAp9IAoKCmlmICgtNTI0Mjg4ID4+IDI0ICE9PSAtMSkgeyAKICAkRVJST1IoJyM3ODg6IC01MjQyODggPj4gMjQgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTUyNDI4OCA+PiAyNCkpOyAKfSAKCgppZiAoLTEwNDg1NzYgPj4gMjQgIT09IC0xKSB7IAogICRFUlJPUignIzc4OTogLTEwNDg1NzYgPj4gMjQgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEwNDg1NzYgPj4gMjQpKTsgCn0gCgoKaWYgKC0yMDk3MTUyID4+IDI0ICE9PSAtMSkgeyAKICAkRVJST1IoJyM3OTA6IC0yMDk3MTUyID4+IDI0ID09PSAtMS4gQWN0dWFsOiAnICsgKC0yMDk3MTUyID4+IDI0KSk7IAp9IAoKCmlmICgtNDE5NDMwNCA+PiAyNCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNzkxOiAtNDE5NDMwNCA+PiAyNCA9PT0gLTEuIEFjdHVhbDogJyArICgtNDE5NDMwNCA+PiAyNCkpOyAKfSAKCgppZiAoLTgzODg2MDggPj4gMjQgIT09IC0xKSB7IAogICRFUlJPUignIzc5MjogLTgzODg2MDggPj4gMjQgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTgzODg2MDggPj4gMjQpKTsgCn0gCgoKaWYgKC0xNjc3NzIxNiA+PiAyNCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNzkzOiAtMTY3NzcyMTYgPj4gMjQgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTE2Nzc3MjE2ID4+IDI0KSk7IAp9IAoKCmlmICgtMzM1NTQ0MzIgPj4gMjQgIT09IC0yKSB7IAogICRFUlJPUignIzc5NDogLTMzNTU0NDMyID4+IDI0ID09PSAtMi4gQWN0dWFsOiAnICsgKC0zMzU1NDQzMiA+PiAyNCkpOyAKfSAKCgppZiAoLTY3MTA4ODY0ID4+IDI0ICE9PSAtNCkgeyAKICAkRVJST1IoJyM3OTU6IC02NzEwODg2NCA+PiAyNCA9PT0gLTQuIEFjdHVhbDogJyArICgtNjcxMDg4NjQgPj4gMjQpKTsgCn0gCgoKaWYgKC0xMzQyMTc3MjggPj4gMjQgIT09IC04KSB7IAogICRFUlJPUignIzc5NjogLTEzNDIxNzcyOCA+PiAyNCA9PT0gLTguIEFjdHVhbDogJyArICgtMTM0MjE3NzI4ID4+IDI0KSk7IAp9IAoKCmlmICgtMjY4NDM1NDU2ID4+IDI0ICE9PSAtMTYpIHsgCiAgJEVSUk9SKCcjNzk3OiAtMjY4NDM1NDU2ID4+IDI0ID09PSAtMTYuIEFjdHVhbDogJyArICgtMjY4NDM1NDU2ID4+IDI0KSk7IAp9IAoKCmlmICgtNTM2ODcwOTEyID4+IDI0ICE9PSAtMzIpIHsgCiAgJEVSUk9SKCcjNzk4OiAtNTM2ODcwOTEyID4+IDI0ID09PSAtMzIuIEFjdHVhbDogJyArICgtNTM2ODcwOTEyID4+IDI0KSk7IAp9IAoKCmlmICgtMTA3Mzc0MTgyNCA+PiAyNCAhPT0gLTY0KSB7IAogICRFUlJPUignIzc5OTogLTEwNzM3NDE4MjQgPj4gMjQgPT09IC02NC4gQWN0dWFsOiAnICsgKC0xMDczNzQxODI0ID4+IDI0KSk7IAp9IAoKCmlmICgtMjE0NzQ4MzY0OCA+PiAyNCAhPT0gLTEyOCkgeyAKICAkRVJST1IoJyM4MDA6IC0yMTQ3NDgzNjQ4ID4+IDI0ID09PSAtMTI4LiBBY3R1YWw6ICcgKyAoLTIxNDc0ODM2NDggPj4gMjQpKTsgCn0gCgoKaWYgKC0xID4+IDI1ICE9PSAtMSkgeyAKICAkRVJST1IoJyM4MDE6IC0xID4+IDI1ID09PSAtMS4gQWN0dWFsOiAnICsgKC0xID4+IDI1KSk7IAp9IAoKCmlmICgtMiA+PiAyNSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjODAyOiAtMiA+PiAyNSA9PT0gLTEuIEFjdHVhbDogJyArICgtMiA+PiAyNSkpOyAKfSAKCgppZiAoLTQgPj4gMjUgIT09IC0xKSB7IAogICRFUlJPUignIzgwMzogLTQgPj4gMjUgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTQgPj4gMjUpKTsgCn0gCgoKaWYgKC04ID4+IDI1ICE9PSAtMSkgeyAKICAkRVJST1IoJyM4MDQ6IC04ID4+IDI1ID09PSAtMS4gQWN0dWFsOiAnICsgKC04ID4+IDI1KSk7IAp9IAoKCmlmICgtMTYgPj4gMjUgIT09IC0xKSB7IAogICRFUlJPUignIzgwNTogLTE2ID4+IDI1ID09PSAtMS4gQWN0dWFsOiAnICsgKC0xNiA+PiAyNSkpOyAKfSAKCgppZiAoLTMyID4+IDI1ICE9PSAtMSkgeyAKICAkRVJST1IoJyM4MDY6IC0zMiA+PiAyNSA9PT0gLTEuIEFjdHVhbDogJyArICgtMzIgPj4gMjUpKTsgCn0gCgoKaWYgKC02NCA+PiAyNSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjODA3OiAtNjQgPj4gMjUgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTY0ID4+IDI1KSk7IAp9IAoKCmlmICgtMTI4ID4+IDI1ICE9PSAtMSkgeyAKICAkRVJST1IoJyM4MDg6IC0xMjggPj4gMjUgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEyOCA+PiAyNSkpOyAKfSAKCgppZiAoLTI1NiA+PiAyNSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjODA5OiAtMjU2ID4+IDI1ID09PSAtMS4gQWN0dWFsOiAnICsgKC0yNTYgPj4gMjUpKTsgCn0gCgoKaWYgKC01MTIgPj4gMjUgIT09IC0xKSB7IAogICRFUlJPUignIzgxMDogLTUxMiA+PiAyNSA9PT0gLTEuIEFjdHVhbDogJyArICgtNTEyID4+IDI1KSk7IAp9IAoKCmlmICgtMTAyNCA+PiAyNSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjODExOiAtMTAyNCA+PiAyNSA9PT0gLTEuIEFjdHVhbDogJyArICgtMTAyNCA+PiAyNSkpOyAKfSAKCgppZiAoLTIwNDggPj4gMjUgIT09IC0xKSB7IAogICRFUlJPUignIzgxMjogLTIwNDggPj4gMjUgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTIwNDggPj4gMjUpKTsgCn0gCgoKaWYgKC00MDk2ID4+IDI1ICE9PSAtMSkgeyAKICAkRVJST1IoJyM4MTM6IC00MDk2ID4+IDI1ID09PSAtMS4gQWN0dWFsOiAnICsgKC00MDk2ID4+IDI1KSk7IAp9IAoKCmlmICgtODE5MiA+PiAyNSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjODE0OiAtODE5MiA+PiAyNSA9PT0gLTEuIEFjdHVhbDogJyArICgtODE5MiA+PiAyNSkpOyAKfSAKCgppZiAoLTE2Mzg0ID4+IDI1ICE9PSAtMSkgeyAKICAkRVJST1IoJyM4MTU6IC0xNjM4NCA+PiAyNSA9PT0gLTEuIEFjdHVhbDogJyArICgtMTYzODQgPj4gMjUpKTsgCn0gCgoKaWYgKC0zMjc2OCA+PiAyNSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjODE2OiAtMzI3NjggPj4gMjUgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTMyNzY4ID4+IDI1KSk7IAp9IAoKCmlmICgtNjU1MzYgPj4gMjUgIT09IC0xKSB7IAogICRFUlJPUignIzgxNzogLTY1NTM2ID4+IDI1ID09PSAtMS4gQWN0dWFsOiAnICsgKC02NTUzNiA+PiAyNSkpOyAKfSAKCgppZiAoLTEzMTA3MiA+PiAyNSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjODE4OiAtMTMxMDcyID4+IDI1ID09PSAtMS4gQWN0dWFsOiAnICsgKC0xMzEwNzIgPj4gMjUpKTsgCn0gCgoKaWYgKC0yNjIxNDQgPj4gMjUgIT09IC0xKSB7IAogICRFUlJPUignIzgxOTogLTI2MjE0NCA+PiAyNSA9PT0gLTEuIEFjdHVhbDogJyArICgtMjYyMTQ0ID4+IDI1KSk7IAp9IAoKCmlmICgtNTI0Mjg4ID4+IDI1ICE9PSAtMSkgeyAKICAkRVJST1IoJyM4MjA6IC01MjQyODggPj4gMjUgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTUyNDI4OCA+PiAyNSkpOyAKfSAKCgppZiAoLTEwNDg1NzYgPj4gMjUgIT09IC0xKSB7IAogICRFUlJPUignIzgyMTogLTEwNDg1NzYgPj4gMjUgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEwNDg1NzYgPj4gMjUpKTsgCn0gCgoKaWYgKC0yMDk3MTUyID4+IDI1ICE9PSAtMSkgeyAKICAkRVJST1IoJyM4MjI6IC0yMDk3MTUyID4+IDI1ID09PSAtMS4gQWN0dWFsOiAnICsgKC0yMDk3MTUyID4+IDI1KSk7IAp9IAoKCmlmICgtNDE5NDMwNCA+PiAyNSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjODIzOiAtNDE5NDMwNCA+PiAyNSA9PT0gLTEuIEFjdHVhbDogJyArICgtNDE5NDMwNCA+PiAyNSkpOyAKfSAKCgppZiAoLTgzODg2MDggPj4gMjUgIT09IC0xKSB7IAogICRFUlJPUignIzgyNDogLTgzODg2MDggPj4gMjUgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTgzODg2MDggPj4gMjUpKTsgCn0gCgoKaWYgKC0xNjc3NzIxNiA+PiAyNSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjODI1OiAtMTY3NzcyMTYgPj4gMjUgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTE2Nzc3MjE2ID4+IDI1KSk7IAp9IAoKCmlmICgtMzM1NTQ0MzIgPj4gMjUgIT09IC0xKSB7IAogICRFUlJPUignIzgyNjogLTMzNTU0NDMyID4+IDI1ID09PSAtMS4gQWN0dWFsOiAnICsgKC0zMzU1NDQzMiA+PiAyNSkpOyAKfSAKCgppZiAoLTY3MTA4ODY0ID4+IDI1ICE9PSAtMikgeyAKICAkRVJST1IoJyM4Mjc6IC02NzEwODg2NCA+PiAyNSA9PT0gLTIuIEFjdHVhbDogJyArICgtNjcxMDg4NjQgPj4gMjUpKTsgCn0gCgoKaWYgKC0xMzQyMTc3MjggPj4gMjUgIT09IC00KSB7IAogICRFUlJPUignIzgyODogLTEzNDIxNzcyOCA+PiAyNSA9PT0gLTQuIEFjdHVhbDogJyArICgtMTM0MjE3NzI4ID4+IDI1KSk7IAp9IAoKCmlmICgtMjY4NDM1NDU2ID4+IDI1ICE9PSAtOCkgeyAKICAkRVJST1IoJyM4Mjk6IC0yNjg0MzU0NTYgPj4gMjUgPT09IC04LiBBY3R1YWw6ICcgKyAoLTI2ODQzNTQ1NiA+PiAyNSkpOyAKfSAKCgppZiAoLTUzNjg3MDkxMiA+PiAyNSAhPT0gLTE2KSB7IAogICRFUlJPUignIzgzMDogLTUzNjg3MDkxMiA+PiAyNSA9PT0gLTE2LiBBY3R1YWw6ICcgKyAoLTUzNjg3MDkxMiA+PiAyNSkpOyAKfSAKCgppZiAoLTEwNzM3NDE4MjQgPj4gMjUgIT09IC0zMikgeyAKICAkRVJST1IoJyM4MzE6IC0xMDczNzQxODI0ID4+IDI1ID09PSAtMzIuIEFjdHVhbDogJyArICgtMTA3Mzc0MTgyNCA+PiAyNSkpOyAKfSAKCgppZiAoLTIxNDc0ODM2NDggPj4gMjUgIT09IC02NCkgeyAKICAkRVJST1IoJyM4MzI6IC0yMTQ3NDgzNjQ4ID4+IDI1ID09PSAtNjQuIEFjdHVhbDogJyArICgtMjE0NzQ4MzY0OCA+PiAyNSkpOyAKfSAKCgppZiAoLTEgPj4gMjYgIT09IC0xKSB7IAogICRFUlJPUignIzgzMzogLTEgPj4gMjYgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEgPj4gMjYpKTsgCn0gCgoKaWYgKC0yID4+IDI2ICE9PSAtMSkgeyAKICAkRVJST1IoJyM4MzQ6IC0yID4+IDI2ID09PSAtMS4gQWN0dWFsOiAnICsgKC0yID4+IDI2KSk7IAp9IAoKCmlmICgtNCA+PiAyNiAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjODM1OiAtNCA+PiAyNiA9PT0gLTEuIEFjdHVhbDogJyArICgtNCA+PiAyNikpOyAKfSAKCgppZiAoLTggPj4gMjYgIT09IC0xKSB7IAogICRFUlJPUignIzgzNjogLTggPj4gMjYgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTggPj4gMjYpKTsgCn0gCgoKaWYgKC0xNiA+PiAyNiAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjODM3OiAtMTYgPj4gMjYgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTE2ID4+IDI2KSk7IAp9IAoKCmlmICgtMzIgPj4gMjYgIT09IC0xKSB7IAogICRFUlJPUignIzgzODogLTMyID4+IDI2ID09PSAtMS4gQWN0dWFsOiAnICsgKC0zMiA+PiAyNikpOyAKfSAKCgppZiAoLTY0ID4+IDI2ICE9PSAtMSkgeyAKICAkRVJST1IoJyM4Mzk6IC02NCA+PiAyNiA9PT0gLTEuIEFjdHVhbDogJyArICgtNjQgPj4gMjYpKTsgCn0gCgoKaWYgKC0xMjggPj4gMjYgIT09IC0xKSB7IAogICRFUlJPUignIzg0MDogLTEyOCA+PiAyNiA9PT0gLTEuIEFjdHVhbDogJyArICgtMTI4ID4+IDI2KSk7IAp9IAoKCmlmICgtMjU2ID4+IDI2ICE9PSAtMSkgeyAKICAkRVJST1IoJyM4NDE6IC0yNTYgPj4gMjYgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTI1NiA+PiAyNikpOyAKfSAKCgppZiAoLTUxMiA+PiAyNiAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjODQyOiAtNTEyID4+IDI2ID09PSAtMS4gQWN0dWFsOiAnICsgKC01MTIgPj4gMjYpKTsgCn0gCgoKaWYgKC0xMDI0ID4+IDI2ICE9PSAtMSkgeyAKICAkRVJST1IoJyM4NDM6IC0xMDI0ID4+IDI2ID09PSAtMS4gQWN0dWFsOiAnICsgKC0xMDI0ID4+IDI2KSk7IAp9IAoKCmlmICgtMjA0OCA+PiAyNiAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjODQ0OiAtMjA0OCA+PiAyNiA9PT0gLTEuIEFjdHVhbDogJyArICgtMjA0OCA+PiAyNikpOyAKfSAKCgppZiAoLTQwOTYgPj4gMjYgIT09IC0xKSB7IAogICRFUlJPUignIzg0NTogLTQwOTYgPj4gMjYgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTQwOTYgPj4gMjYpKTsgCn0gCgoKaWYgKC04MTkyID4+IDI2ICE9PSAtMSkgeyAKICAkRVJST1IoJyM4NDY6IC04MTkyID4+IDI2ID09PSAtMS4gQWN0dWFsOiAnICsgKC04MTkyID4+IDI2KSk7IAp9IAoKCmlmICgtMTYzODQgPj4gMjYgIT09IC0xKSB7IAogICRFUlJPUignIzg0NzogLTE2Mzg0ID4+IDI2ID09PSAtMS4gQWN0dWFsOiAnICsgKC0xNjM4NCA+PiAyNikpOyAKfSAKCgppZiAoLTMyNzY4ID4+IDI2ICE9PSAtMSkgeyAKICAkRVJST1IoJyM4NDg6IC0zMjc2OCA+PiAyNiA9PT0gLTEuIEFjdHVhbDogJyArICgtMzI3NjggPj4gMjYpKTsgCn0gCgoKaWYgKC02NTUzNiA+PiAyNiAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjODQ5OiAtNjU1MzYgPj4gMjYgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTY1NTM2ID4+IDI2KSk7IAp9IAoKCmlmICgtMTMxMDcyID4+IDI2ICE9PSAtMSkgeyAKICAkRVJST1IoJyM4NTA6IC0xMzEwNzIgPj4gMjYgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEzMTA3MiA+PiAyNikpOyAKfSAKCgppZiAoLTI2MjE0NCA+PiAyNiAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjODUxOiAtMjYyMTQ0ID4+IDI2ID09PSAtMS4gQWN0dWFsOiAnICsgKC0yNjIxNDQgPj4gMjYpKTsgCn0gCgoKaWYgKC01MjQyODggPj4gMjYgIT09IC0xKSB7IAogICRFUlJPUignIzg1MjogLTUyNDI4OCA+PiAyNiA9PT0gLTEuIEFjdHVhbDogJyArICgtNTI0Mjg4ID4+IDI2KSk7IAp9IAoKCmlmICgtMTA0ODU3NiA+PiAyNiAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjODUzOiAtMTA0ODU3NiA+PiAyNiA9PT0gLTEuIEFjdHVhbDogJyArICgtMTA0ODU3NiA+PiAyNikpOyAKfSAKCgppZiAoLTIwOTcxNTIgPj4gMjYgIT09IC0xKSB7IAogICRFUlJPUignIzg1NDogLTIwOTcxNTIgPj4gMjYgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTIwOTcxNTIgPj4gMjYpKTsgCn0gCgoKaWYgKC00MTk0MzA0ID4+IDI2ICE9PSAtMSkgeyAKICAkRVJST1IoJyM4NTU6IC00MTk0MzA0ID4+IDI2ID09PSAtMS4gQWN0dWFsOiAnICsgKC00MTk0MzA0ID4+IDI2KSk7IAp9IAoKCmlmICgtODM4ODYwOCA+PiAyNiAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjODU2OiAtODM4ODYwOCA+PiAyNiA9PT0gLTEuIEFjdHVhbDogJyArICgtODM4ODYwOCA+PiAyNikpOyAKfSAKCgppZiAoLTE2Nzc3MjE2ID4+IDI2ICE9PSAtMSkgeyAKICAkRVJST1IoJyM4NTc6IC0xNjc3NzIxNiA+PiAyNiA9PT0gLTEuIEFjdHVhbDogJyArICgtMTY3NzcyMTYgPj4gMjYpKTsgCn0gCgoKaWYgKC0zMzU1NDQzMiA+PiAyNiAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjODU4OiAtMzM1NTQ0MzIgPj4gMjYgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTMzNTU0NDMyID4+IDI2KSk7IAp9IAoKCmlmICgtNjcxMDg4NjQgPj4gMjYgIT09IC0xKSB7IAogICRFUlJPUignIzg1OTogLTY3MTA4ODY0ID4+IDI2ID09PSAtMS4gQWN0dWFsOiAnICsgKC02NzEwODg2NCA+PiAyNikpOyAKfSAKCgppZiAoLTEzNDIxNzcyOCA+PiAyNiAhPT0gLTIpIHsgCiAgJEVSUk9SKCcjODYwOiAtMTM0MjE3NzI4ID4+IDI2ID09PSAtMi4gQWN0dWFsOiAnICsgKC0xMzQyMTc3MjggPj4gMjYpKTsgCn0gCgoKaWYgKC0yNjg0MzU0NTYgPj4gMjYgIT09IC00KSB7IAogICRFUlJPUignIzg2MTogLTI2ODQzNTQ1NiA+PiAyNiA9PT0gLTQuIEFjdHVhbDogJyArICgtMjY4NDM1NDU2ID4+IDI2KSk7IAp9IAoKCmlmICgtNTM2ODcwOTEyID4+IDI2ICE9PSAtOCkgeyAKICAkRVJST1IoJyM4NjI6IC01MzY4NzA5MTIgPj4gMjYgPT09IC04LiBBY3R1YWw6ICcgKyAoLTUzNjg3MDkxMiA+PiAyNikpOyAKfSAKCgppZiAoLTEwNzM3NDE4MjQgPj4gMjYgIT09IC0xNikgeyAKICAkRVJST1IoJyM4NjM6IC0xMDczNzQxODI0ID4+IDI2ID09PSAtMTYuIEFjdHVhbDogJyArICgtMTA3Mzc0MTgyNCA+PiAyNikpOyAKfSAKCgppZiAoLTIxNDc0ODM2NDggPj4gMjYgIT09IC0zMikgeyAKICAkRVJST1IoJyM4NjQ6IC0yMTQ3NDgzNjQ4ID4+IDI2ID09PSAtMzIuIEFjdHVhbDogJyArICgtMjE0NzQ4MzY0OCA+PiAyNikpOyAKfSAKCgppZiAoLTEgPj4gMjcgIT09IC0xKSB7IAogICRFUlJPUignIzg2NTogLTEgPj4gMjcgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEgPj4gMjcpKTsgCn0gCgoKaWYgKC0yID4+IDI3ICE9PSAtMSkgeyAKICAkRVJST1IoJyM4NjY6IC0yID4+IDI3ID09PSAtMS4gQWN0dWFsOiAnICsgKC0yID4+IDI3KSk7IAp9IAoKCmlmICgtNCA+PiAyNyAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjODY3OiAtNCA+PiAyNyA9PT0gLTEuIEFjdHVhbDogJyArICgtNCA+PiAyNykpOyAKfSAKCgppZiAoLTggPj4gMjcgIT09IC0xKSB7IAogICRFUlJPUignIzg2ODogLTggPj4gMjcgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTggPj4gMjcpKTsgCn0gCgoKaWYgKC0xNiA+PiAyNyAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjODY5OiAtMTYgPj4gMjcgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTE2ID4+IDI3KSk7IAp9IAoKCmlmICgtMzIgPj4gMjcgIT09IC0xKSB7IAogICRFUlJPUignIzg3MDogLTMyID4+IDI3ID09PSAtMS4gQWN0dWFsOiAnICsgKC0zMiA+PiAyNykpOyAKfSAKCgppZiAoLTY0ID4+IDI3ICE9PSAtMSkgeyAKICAkRVJST1IoJyM4NzE6IC02NCA+PiAyNyA9PT0gLTEuIEFjdHVhbDogJyArICgtNjQgPj4gMjcpKTsgCn0gCgoKaWYgKC0xMjggPj4gMjcgIT09IC0xKSB7IAogICRFUlJPUignIzg3MjogLTEyOCA+PiAyNyA9PT0gLTEuIEFjdHVhbDogJyArICgtMTI4ID4+IDI3KSk7IAp9IAoKCmlmICgtMjU2ID4+IDI3ICE9PSAtMSkgeyAKICAkRVJST1IoJyM4NzM6IC0yNTYgPj4gMjcgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTI1NiA+PiAyNykpOyAKfSAKCgppZiAoLTUxMiA+PiAyNyAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjODc0OiAtNTEyID4+IDI3ID09PSAtMS4gQWN0dWFsOiAnICsgKC01MTIgPj4gMjcpKTsgCn0gCgoKaWYgKC0xMDI0ID4+IDI3ICE9PSAtMSkgeyAKICAkRVJST1IoJyM4NzU6IC0xMDI0ID4+IDI3ID09PSAtMS4gQWN0dWFsOiAnICsgKC0xMDI0ID4+IDI3KSk7IAp9IAoKCmlmICgtMjA0OCA+PiAyNyAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjODc2OiAtMjA0OCA+PiAyNyA9PT0gLTEuIEFjdHVhbDogJyArICgtMjA0OCA+PiAyNykpOyAKfSAKCgppZiAoLTQwOTYgPj4gMjcgIT09IC0xKSB7IAogICRFUlJPUignIzg3NzogLTQwOTYgPj4gMjcgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTQwOTYgPj4gMjcpKTsgCn0gCgoKaWYgKC04MTkyID4+IDI3ICE9PSAtMSkgeyAKICAkRVJST1IoJyM4Nzg6IC04MTkyID4+IDI3ID09PSAtMS4gQWN0dWFsOiAnICsgKC04MTkyID4+IDI3KSk7IAp9IAoKCmlmICgtMTYzODQgPj4gMjcgIT09IC0xKSB7IAogICRFUlJPUignIzg3OTogLTE2Mzg0ID4+IDI3ID09PSAtMS4gQWN0dWFsOiAnICsgKC0xNjM4NCA+PiAyNykpOyAKfSAKCgppZiAoLTMyNzY4ID4+IDI3ICE9PSAtMSkgeyAKICAkRVJST1IoJyM4ODA6IC0zMjc2OCA+PiAyNyA9PT0gLTEuIEFjdHVhbDogJyArICgtMzI3NjggPj4gMjcpKTsgCn0gCgoKaWYgKC02NTUzNiA+PiAyNyAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjODgxOiAtNjU1MzYgPj4gMjcgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTY1NTM2ID4+IDI3KSk7IAp9IAoKCmlmICgtMTMxMDcyID4+IDI3ICE9PSAtMSkgeyAKICAkRVJST1IoJyM4ODI6IC0xMzEwNzIgPj4gMjcgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEzMTA3MiA+PiAyNykpOyAKfSAKCgppZiAoLTI2MjE0NCA+PiAyNyAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjODgzOiAtMjYyMTQ0ID4+IDI3ID09PSAtMS4gQWN0dWFsOiAnICsgKC0yNjIxNDQgPj4gMjcpKTsgCn0gCgoKaWYgKC01MjQyODggPj4gMjcgIT09IC0xKSB7IAogICRFUlJPUignIzg4NDogLTUyNDI4OCA+PiAyNyA9PT0gLTEuIEFjdHVhbDogJyArICgtNTI0Mjg4ID4+IDI3KSk7IAp9IAoKCmlmICgtMTA0ODU3NiA+PiAyNyAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjODg1OiAtMTA0ODU3NiA+PiAyNyA9PT0gLTEuIEFjdHVhbDogJyArICgtMTA0ODU3NiA+PiAyNykpOyAKfSAKCgppZiAoLTIwOTcxNTIgPj4gMjcgIT09IC0xKSB7IAogICRFUlJPUignIzg4NjogLTIwOTcxNTIgPj4gMjcgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTIwOTcxNTIgPj4gMjcpKTsgCn0gCgoKaWYgKC00MTk0MzA0ID4+IDI3ICE9PSAtMSkgeyAKICAkRVJST1IoJyM4ODc6IC00MTk0MzA0ID4+IDI3ID09PSAtMS4gQWN0dWFsOiAnICsgKC00MTk0MzA0ID4+IDI3KSk7IAp9IAoKCmlmICgtODM4ODYwOCA+PiAyNyAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjODg4OiAtODM4ODYwOCA+PiAyNyA9PT0gLTEuIEFjdHVhbDogJyArICgtODM4ODYwOCA+PiAyNykpOyAKfSAKCgppZiAoLTE2Nzc3MjE2ID4+IDI3ICE9PSAtMSkgeyAKICAkRVJST1IoJyM4ODk6IC0xNjc3NzIxNiA+PiAyNyA9PT0gLTEuIEFjdHVhbDogJyArICgtMTY3NzcyMTYgPj4gMjcpKTsgCn0gCgoKaWYgKC0zMzU1NDQzMiA+PiAyNyAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjODkwOiAtMzM1NTQ0MzIgPj4gMjcgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTMzNTU0NDMyID4+IDI3KSk7IAp9IAoKCmlmICgtNjcxMDg4NjQgPj4gMjcgIT09IC0xKSB7IAogICRFUlJPUignIzg5MTogLTY3MTA4ODY0ID4+IDI3ID09PSAtMS4gQWN0dWFsOiAnICsgKC02NzEwODg2NCA+PiAyNykpOyAKfSAKCgppZiAoLTEzNDIxNzcyOCA+PiAyNyAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjODkyOiAtMTM0MjE3NzI4ID4+IDI3ID09PSAtMS4gQWN0dWFsOiAnICsgKC0xMzQyMTc3MjggPj4gMjcpKTsgCn0gCgoKaWYgKC0yNjg0MzU0NTYgPj4gMjcgIT09IC0yKSB7IAogICRFUlJPUignIzg5MzogLTI2ODQzNTQ1NiA+PiAyNyA9PT0gLTIuIEFjdHVhbDogJyArICgtMjY4NDM1NDU2ID4+IDI3KSk7IAp9IAoKCmlmICgtNTM2ODcwOTEyID4+IDI3ICE9PSAtNCkgeyAKICAkRVJST1IoJyM4OTQ6IC01MzY4NzA5MTIgPj4gMjcgPT09IC00LiBBY3R1YWw6ICcgKyAoLTUzNjg3MDkxMiA+PiAyNykpOyAKfSAKCgppZiAoLTEwNzM3NDE4MjQgPj4gMjcgIT09IC04KSB7IAogICRFUlJPUignIzg5NTogLTEwNzM3NDE4MjQgPj4gMjcgPT09IC04LiBBY3R1YWw6ICcgKyAoLTEwNzM3NDE4MjQgPj4gMjcpKTsgCn0gCgoKaWYgKC0yMTQ3NDgzNjQ4ID4+IDI3ICE9PSAtMTYpIHsgCiAgJEVSUk9SKCcjODk2OiAtMjE0NzQ4MzY0OCA+PiAyNyA9PT0gLTE2LiBBY3R1YWw6ICcgKyAoLTIxNDc0ODM2NDggPj4gMjcpKTsgCn0gCgoKaWYgKC0xID4+IDI4ICE9PSAtMSkgeyAKICAkRVJST1IoJyM4OTc6IC0xID4+IDI4ID09PSAtMS4gQWN0dWFsOiAnICsgKC0xID4+IDI4KSk7IAp9IAoKCmlmICgtMiA+PiAyOCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjODk4OiAtMiA+PiAyOCA9PT0gLTEuIEFjdHVhbDogJyArICgtMiA+PiAyOCkpOyAKfSAKCgppZiAoLTQgPj4gMjggIT09IC0xKSB7IAogICRFUlJPUignIzg5OTogLTQgPj4gMjggPT09IC0xLiBBY3R1YWw6ICcgKyAoLTQgPj4gMjgpKTsgCn0gCgoKaWYgKC04ID4+IDI4ICE9PSAtMSkgeyAKICAkRVJST1IoJyM5MDA6IC04ID4+IDI4ID09PSAtMS4gQWN0dWFsOiAnICsgKC04ID4+IDI4KSk7IAp9IAoKCmlmICgtMTYgPj4gMjggIT09IC0xKSB7IAogICRFUlJPUignIzkwMTogLTE2ID4+IDI4ID09PSAtMS4gQWN0dWFsOiAnICsgKC0xNiA+PiAyOCkpOyAKfSAKCgppZiAoLTMyID4+IDI4ICE9PSAtMSkgeyAKICAkRVJST1IoJyM5MDI6IC0zMiA+PiAyOCA9PT0gLTEuIEFjdHVhbDogJyArICgtMzIgPj4gMjgpKTsgCn0gCgoKaWYgKC02NCA+PiAyOCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjOTAzOiAtNjQgPj4gMjggPT09IC0xLiBBY3R1YWw6ICcgKyAoLTY0ID4+IDI4KSk7IAp9IAoKCmlmICgtMTI4ID4+IDI4ICE9PSAtMSkgeyAKICAkRVJST1IoJyM5MDQ6IC0xMjggPj4gMjggPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEyOCA+PiAyOCkpOyAKfSAKCgppZiAoLTI1NiA+PiAyOCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjOTA1OiAtMjU2ID4+IDI4ID09PSAtMS4gQWN0dWFsOiAnICsgKC0yNTYgPj4gMjgpKTsgCn0gCgoKaWYgKC01MTIgPj4gMjggIT09IC0xKSB7IAogICRFUlJPUignIzkwNjogLTUxMiA+PiAyOCA9PT0gLTEuIEFjdHVhbDogJyArICgtNTEyID4+IDI4KSk7IAp9IAoKCmlmICgtMTAyNCA+PiAyOCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjOTA3OiAtMTAyNCA+PiAyOCA9PT0gLTEuIEFjdHVhbDogJyArICgtMTAyNCA+PiAyOCkpOyAKfSAKCgppZiAoLTIwNDggPj4gMjggIT09IC0xKSB7IAogICRFUlJPUignIzkwODogLTIwNDggPj4gMjggPT09IC0xLiBBY3R1YWw6ICcgKyAoLTIwNDggPj4gMjgpKTsgCn0gCgoKaWYgKC00MDk2ID4+IDI4ICE9PSAtMSkgeyAKICAkRVJST1IoJyM5MDk6IC00MDk2ID4+IDI4ID09PSAtMS4gQWN0dWFsOiAnICsgKC00MDk2ID4+IDI4KSk7IAp9IAoKCmlmICgtODE5MiA+PiAyOCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjOTEwOiAtODE5MiA+PiAyOCA9PT0gLTEuIEFjdHVhbDogJyArICgtODE5MiA+PiAyOCkpOyAKfSAKCgppZiAoLTE2Mzg0ID4+IDI4ICE9PSAtMSkgeyAKICAkRVJST1IoJyM5MTE6IC0xNjM4NCA+PiAyOCA9PT0gLTEuIEFjdHVhbDogJyArICgtMTYzODQgPj4gMjgpKTsgCn0gCgoKaWYgKC0zMjc2OCA+PiAyOCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjOTEyOiAtMzI3NjggPj4gMjggPT09IC0xLiBBY3R1YWw6ICcgKyAoLTMyNzY4ID4+IDI4KSk7IAp9IAoKCmlmICgtNjU1MzYgPj4gMjggIT09IC0xKSB7IAogICRFUlJPUignIzkxMzogLTY1NTM2ID4+IDI4ID09PSAtMS4gQWN0dWFsOiAnICsgKC02NTUzNiA+PiAyOCkpOyAKfSAKCgppZiAoLTEzMTA3MiA+PiAyOCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjOTE0OiAtMTMxMDcyID4+IDI4ID09PSAtMS4gQWN0dWFsOiAnICsgKC0xMzEwNzIgPj4gMjgpKTsgCn0gCgoKaWYgKC0yNjIxNDQgPj4gMjggIT09IC0xKSB7IAogICRFUlJPUignIzkxNTogLTI2MjE0NCA+PiAyOCA9PT0gLTEuIEFjdHVhbDogJyArICgtMjYyMTQ0ID4+IDI4KSk7IAp9IAoKCmlmICgtNTI0Mjg4ID4+IDI4ICE9PSAtMSkgeyAKICAkRVJST1IoJyM5MTY6IC01MjQyODggPj4gMjggPT09IC0xLiBBY3R1YWw6ICcgKyAoLTUyNDI4OCA+PiAyOCkpOyAKfSAKCgppZiAoLTEwNDg1NzYgPj4gMjggIT09IC0xKSB7IAogICRFUlJPUignIzkxNzogLTEwNDg1NzYgPj4gMjggPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEwNDg1NzYgPj4gMjgpKTsgCn0gCgoKaWYgKC0yMDk3MTUyID4+IDI4ICE9PSAtMSkgeyAKICAkRVJST1IoJyM5MTg6IC0yMDk3MTUyID4+IDI4ID09PSAtMS4gQWN0dWFsOiAnICsgKC0yMDk3MTUyID4+IDI4KSk7IAp9IAoKCmlmICgtNDE5NDMwNCA+PiAyOCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjOTE5OiAtNDE5NDMwNCA+PiAyOCA9PT0gLTEuIEFjdHVhbDogJyArICgtNDE5NDMwNCA+PiAyOCkpOyAKfSAKCgppZiAoLTgzODg2MDggPj4gMjggIT09IC0xKSB7IAogICRFUlJPUignIzkyMDogLTgzODg2MDggPj4gMjggPT09IC0xLiBBY3R1YWw6ICcgKyAoLTgzODg2MDggPj4gMjgpKTsgCn0gCgoKaWYgKC0xNjc3NzIxNiA+PiAyOCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjOTIxOiAtMTY3NzcyMTYgPj4gMjggPT09IC0xLiBBY3R1YWw6ICcgKyAoLTE2Nzc3MjE2ID4+IDI4KSk7IAp9IAoKCmlmICgtMzM1NTQ0MzIgPj4gMjggIT09IC0xKSB7IAogICRFUlJPUignIzkyMjogLTMzNTU0NDMyID4+IDI4ID09PSAtMS4gQWN0dWFsOiAnICsgKC0zMzU1NDQzMiA+PiAyOCkpOyAKfSAKCgppZiAoLTY3MTA4ODY0ID4+IDI4ICE9PSAtMSkgeyAKICAkRVJST1IoJyM5MjM6IC02NzEwODg2NCA+PiAyOCA9PT0gLTEuIEFjdHVhbDogJyArICgtNjcxMDg4NjQgPj4gMjgpKTsgCn0gCgoKaWYgKC0xMzQyMTc3MjggPj4gMjggIT09IC0xKSB7IAogICRFUlJPUignIzkyNDogLTEzNDIxNzcyOCA+PiAyOCA9PT0gLTEuIEFjdHVhbDogJyArICgtMTM0MjE3NzI4ID4+IDI4KSk7IAp9IAoKCmlmICgtMjY4NDM1NDU2ID4+IDI4ICE9PSAtMSkgeyAKICAkRVJST1IoJyM5MjU6IC0yNjg0MzU0NTYgPj4gMjggPT09IC0xLiBBY3R1YWw6ICcgKyAoLTI2ODQzNTQ1NiA+PiAyOCkpOyAKfSAKCgppZiAoLTUzNjg3MDkxMiA+PiAyOCAhPT0gLTIpIHsgCiAgJEVSUk9SKCcjOTI2OiAtNTM2ODcwOTEyID4+IDI4ID09PSAtMi4gQWN0dWFsOiAnICsgKC01MzY4NzA5MTIgPj4gMjgpKTsgCn0gCgoKaWYgKC0xMDczNzQxODI0ID4+IDI4ICE9PSAtNCkgeyAKICAkRVJST1IoJyM5Mjc6IC0xMDczNzQxODI0ID4+IDI4ID09PSAtNC4gQWN0dWFsOiAnICsgKC0xMDczNzQxODI0ID4+IDI4KSk7IAp9IAoKCmlmICgtMjE0NzQ4MzY0OCA+PiAyOCAhPT0gLTgpIHsgCiAgJEVSUk9SKCcjOTI4OiAtMjE0NzQ4MzY0OCA+PiAyOCA9PT0gLTguIEFjdHVhbDogJyArICgtMjE0NzQ4MzY0OCA+PiAyOCkpOyAKfSAKCgppZiAoLTEgPj4gMjkgIT09IC0xKSB7IAogICRFUlJPUignIzkyOTogLTEgPj4gMjkgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEgPj4gMjkpKTsgCn0gCgoKaWYgKC0yID4+IDI5ICE9PSAtMSkgeyAKICAkRVJST1IoJyM5MzA6IC0yID4+IDI5ID09PSAtMS4gQWN0dWFsOiAnICsgKC0yID4+IDI5KSk7IAp9IAoKCmlmICgtNCA+PiAyOSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjOTMxOiAtNCA+PiAyOSA9PT0gLTEuIEFjdHVhbDogJyArICgtNCA+PiAyOSkpOyAKfSAKCgppZiAoLTggPj4gMjkgIT09IC0xKSB7IAogICRFUlJPUignIzkzMjogLTggPj4gMjkgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTggPj4gMjkpKTsgCn0gCgoKaWYgKC0xNiA+PiAyOSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjOTMzOiAtMTYgPj4gMjkgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTE2ID4+IDI5KSk7IAp9IAoKCmlmICgtMzIgPj4gMjkgIT09IC0xKSB7IAogICRFUlJPUignIzkzNDogLTMyID4+IDI5ID09PSAtMS4gQWN0dWFsOiAnICsgKC0zMiA+PiAyOSkpOyAKfSAKCgppZiAoLTY0ID4+IDI5ICE9PSAtMSkgeyAKICAkRVJST1IoJyM5MzU6IC02NCA+PiAyOSA9PT0gLTEuIEFjdHVhbDogJyArICgtNjQgPj4gMjkpKTsgCn0gCgoKaWYgKC0xMjggPj4gMjkgIT09IC0xKSB7IAogICRFUlJPUignIzkzNjogLTEyOCA+PiAyOSA9PT0gLTEuIEFjdHVhbDogJyArICgtMTI4ID4+IDI5KSk7IAp9IAoKCmlmICgtMjU2ID4+IDI5ICE9PSAtMSkgeyAKICAkRVJST1IoJyM5Mzc6IC0yNTYgPj4gMjkgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTI1NiA+PiAyOSkpOyAKfSAKCgppZiAoLTUxMiA+PiAyOSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjOTM4OiAtNTEyID4+IDI5ID09PSAtMS4gQWN0dWFsOiAnICsgKC01MTIgPj4gMjkpKTsgCn0gCgoKaWYgKC0xMDI0ID4+IDI5ICE9PSAtMSkgeyAKICAkRVJST1IoJyM5Mzk6IC0xMDI0ID4+IDI5ID09PSAtMS4gQWN0dWFsOiAnICsgKC0xMDI0ID4+IDI5KSk7IAp9IAoKCmlmICgtMjA0OCA+PiAyOSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjOTQwOiAtMjA0OCA+PiAyOSA9PT0gLTEuIEFjdHVhbDogJyArICgtMjA0OCA+PiAyOSkpOyAKfSAKCgppZiAoLTQwOTYgPj4gMjkgIT09IC0xKSB7IAogICRFUlJPUignIzk0MTogLTQwOTYgPj4gMjkgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTQwOTYgPj4gMjkpKTsgCn0gCgoKaWYgKC04MTkyID4+IDI5ICE9PSAtMSkgeyAKICAkRVJST1IoJyM5NDI6IC04MTkyID4+IDI5ID09PSAtMS4gQWN0dWFsOiAnICsgKC04MTkyID4+IDI5KSk7IAp9IAoKCmlmICgtMTYzODQgPj4gMjkgIT09IC0xKSB7IAogICRFUlJPUignIzk0MzogLTE2Mzg0ID4+IDI5ID09PSAtMS4gQWN0dWFsOiAnICsgKC0xNjM4NCA+PiAyOSkpOyAKfSAKCgppZiAoLTMyNzY4ID4+IDI5ICE9PSAtMSkgeyAKICAkRVJST1IoJyM5NDQ6IC0zMjc2OCA+PiAyOSA9PT0gLTEuIEFjdHVhbDogJyArICgtMzI3NjggPj4gMjkpKTsgCn0gCgoKaWYgKC02NTUzNiA+PiAyOSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjOTQ1OiAtNjU1MzYgPj4gMjkgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTY1NTM2ID4+IDI5KSk7IAp9IAoKCmlmICgtMTMxMDcyID4+IDI5ICE9PSAtMSkgeyAKICAkRVJST1IoJyM5NDY6IC0xMzEwNzIgPj4gMjkgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEzMTA3MiA+PiAyOSkpOyAKfSAKCgppZiAoLTI2MjE0NCA+PiAyOSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjOTQ3OiAtMjYyMTQ0ID4+IDI5ID09PSAtMS4gQWN0dWFsOiAnICsgKC0yNjIxNDQgPj4gMjkpKTsgCn0gCgoKaWYgKC01MjQyODggPj4gMjkgIT09IC0xKSB7IAogICRFUlJPUignIzk0ODogLTUyNDI4OCA+PiAyOSA9PT0gLTEuIEFjdHVhbDogJyArICgtNTI0Mjg4ID4+IDI5KSk7IAp9IAoKCmlmICgtMTA0ODU3NiA+PiAyOSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjOTQ5OiAtMTA0ODU3NiA+PiAyOSA9PT0gLTEuIEFjdHVhbDogJyArICgtMTA0ODU3NiA+PiAyOSkpOyAKfSAKCgppZiAoLTIwOTcxNTIgPj4gMjkgIT09IC0xKSB7IAogICRFUlJPUignIzk1MDogLTIwOTcxNTIgPj4gMjkgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTIwOTcxNTIgPj4gMjkpKTsgCn0gCgoKaWYgKC00MTk0MzA0ID4+IDI5ICE9PSAtMSkgeyAKICAkRVJST1IoJyM5NTE6IC00MTk0MzA0ID4+IDI5ID09PSAtMS4gQWN0dWFsOiAnICsgKC00MTk0MzA0ID4+IDI5KSk7IAp9IAoKCmlmICgtODM4ODYwOCA+PiAyOSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjOTUyOiAtODM4ODYwOCA+PiAyOSA9PT0gLTEuIEFjdHVhbDogJyArICgtODM4ODYwOCA+PiAyOSkpOyAKfSAKCgppZiAoLTE2Nzc3MjE2ID4+IDI5ICE9PSAtMSkgeyAKICAkRVJST1IoJyM5NTM6IC0xNjc3NzIxNiA+PiAyOSA9PT0gLTEuIEFjdHVhbDogJyArICgtMTY3NzcyMTYgPj4gMjkpKTsgCn0gCgoKaWYgKC0zMzU1NDQzMiA+PiAyOSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjOTU0OiAtMzM1NTQ0MzIgPj4gMjkgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTMzNTU0NDMyID4+IDI5KSk7IAp9IAoKCmlmICgtNjcxMDg4NjQgPj4gMjkgIT09IC0xKSB7IAogICRFUlJPUignIzk1NTogLTY3MTA4ODY0ID4+IDI5ID09PSAtMS4gQWN0dWFsOiAnICsgKC02NzEwODg2NCA+PiAyOSkpOyAKfSAKCgppZiAoLTEzNDIxNzcyOCA+PiAyOSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjOTU2OiAtMTM0MjE3NzI4ID4+IDI5ID09PSAtMS4gQWN0dWFsOiAnICsgKC0xMzQyMTc3MjggPj4gMjkpKTsgCn0gCgoKaWYgKC0yNjg0MzU0NTYgPj4gMjkgIT09IC0xKSB7IAogICRFUlJPUignIzk1NzogLTI2ODQzNTQ1NiA+PiAyOSA9PT0gLTEuIEFjdHVhbDogJyArICgtMjY4NDM1NDU2ID4+IDI5KSk7IAp9IAoKCmlmICgtNTM2ODcwOTEyID4+IDI5ICE9PSAtMSkgeyAKICAkRVJST1IoJyM5NTg6IC01MzY4NzA5MTIgPj4gMjkgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTUzNjg3MDkxMiA+PiAyOSkpOyAKfSAKCgppZiAoLTEwNzM3NDE4MjQgPj4gMjkgIT09IC0yKSB7IAogICRFUlJPUignIzk1OTogLTEwNzM3NDE4MjQgPj4gMjkgPT09IC0yLiBBY3R1YWw6ICcgKyAoLTEwNzM3NDE4MjQgPj4gMjkpKTsgCn0gCgoKaWYgKC0yMTQ3NDgzNjQ4ID4+IDI5ICE9PSAtNCkgeyAKICAkRVJST1IoJyM5NjA6IC0yMTQ3NDgzNjQ4ID4+IDI5ID09PSAtNC4gQWN0dWFsOiAnICsgKC0yMTQ3NDgzNjQ4ID4+IDI5KSk7IAp9IAoKCmlmICgtMSA+PiAzMCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjOTYxOiAtMSA+PiAzMCA9PT0gLTEuIEFjdHVhbDogJyArICgtMSA+PiAzMCkpOyAKfSAKCgppZiAoLTIgPj4gMzAgIT09IC0xKSB7IAogICRFUlJPUignIzk2MjogLTIgPj4gMzAgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTIgPj4gMzApKTsgCn0gCgoKaWYgKC00ID4+IDMwICE9PSAtMSkgeyAKICAkRVJST1IoJyM5NjM6IC00ID4+IDMwID09PSAtMS4gQWN0dWFsOiAnICsgKC00ID4+IDMwKSk7IAp9IAoKCmlmICgtOCA+PiAzMCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjOTY0OiAtOCA+PiAzMCA9PT0gLTEuIEFjdHVhbDogJyArICgtOCA+PiAzMCkpOyAKfSAKCgppZiAoLTE2ID4+IDMwICE9PSAtMSkgeyAKICAkRVJST1IoJyM5NjU6IC0xNiA+PiAzMCA9PT0gLTEuIEFjdHVhbDogJyArICgtMTYgPj4gMzApKTsgCn0gCgoKaWYgKC0zMiA+PiAzMCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjOTY2OiAtMzIgPj4gMzAgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTMyID4+IDMwKSk7IAp9IAoKCmlmICgtNjQgPj4gMzAgIT09IC0xKSB7IAogICRFUlJPUignIzk2NzogLTY0ID4+IDMwID09PSAtMS4gQWN0dWFsOiAnICsgKC02NCA+PiAzMCkpOyAKfSAKCgppZiAoLTEyOCA+PiAzMCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjOTY4OiAtMTI4ID4+IDMwID09PSAtMS4gQWN0dWFsOiAnICsgKC0xMjggPj4gMzApKTsgCn0gCgoKaWYgKC0yNTYgPj4gMzAgIT09IC0xKSB7IAogICRFUlJPUignIzk2OTogLTI1NiA+PiAzMCA9PT0gLTEuIEFjdHVhbDogJyArICgtMjU2ID4+IDMwKSk7IAp9IAoKCmlmICgtNTEyID4+IDMwICE9PSAtMSkgeyAKICAkRVJST1IoJyM5NzA6IC01MTIgPj4gMzAgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTUxMiA+PiAzMCkpOyAKfSAKCgppZiAoLTEwMjQgPj4gMzAgIT09IC0xKSB7IAogICRFUlJPUignIzk3MTogLTEwMjQgPj4gMzAgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEwMjQgPj4gMzApKTsgCn0gCgoKaWYgKC0yMDQ4ID4+IDMwICE9PSAtMSkgeyAKICAkRVJST1IoJyM5NzI6IC0yMDQ4ID4+IDMwID09PSAtMS4gQWN0dWFsOiAnICsgKC0yMDQ4ID4+IDMwKSk7IAp9IAoKCmlmICgtNDA5NiA+PiAzMCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjOTczOiAtNDA5NiA+PiAzMCA9PT0gLTEuIEFjdHVhbDogJyArICgtNDA5NiA+PiAzMCkpOyAKfSAKCgppZiAoLTgxOTIgPj4gMzAgIT09IC0xKSB7IAogICRFUlJPUignIzk3NDogLTgxOTIgPj4gMzAgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTgxOTIgPj4gMzApKTsgCn0gCgoKaWYgKC0xNjM4NCA+PiAzMCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjOTc1OiAtMTYzODQgPj4gMzAgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTE2Mzg0ID4+IDMwKSk7IAp9IAoKCmlmICgtMzI3NjggPj4gMzAgIT09IC0xKSB7IAogICRFUlJPUignIzk3NjogLTMyNzY4ID4+IDMwID09PSAtMS4gQWN0dWFsOiAnICsgKC0zMjc2OCA+PiAzMCkpOyAKfSAKCgppZiAoLTY1NTM2ID4+IDMwICE9PSAtMSkgeyAKICAkRVJST1IoJyM5Nzc6IC02NTUzNiA+PiAzMCA9PT0gLTEuIEFjdHVhbDogJyArICgtNjU1MzYgPj4gMzApKTsgCn0gCgoKaWYgKC0xMzEwNzIgPj4gMzAgIT09IC0xKSB7IAogICRFUlJPUignIzk3ODogLTEzMTA3MiA+PiAzMCA9PT0gLTEuIEFjdHVhbDogJyArICgtMTMxMDcyID4+IDMwKSk7IAp9IAoKCmlmICgtMjYyMTQ0ID4+IDMwICE9PSAtMSkgeyAKICAkRVJST1IoJyM5Nzk6IC0yNjIxNDQgPj4gMzAgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTI2MjE0NCA+PiAzMCkpOyAKfSAKCgppZiAoLTUyNDI4OCA+PiAzMCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjOTgwOiAtNTI0Mjg4ID4+IDMwID09PSAtMS4gQWN0dWFsOiAnICsgKC01MjQyODggPj4gMzApKTsgCn0gCgoKaWYgKC0xMDQ4NTc2ID4+IDMwICE9PSAtMSkgeyAKICAkRVJST1IoJyM5ODE6IC0xMDQ4NTc2ID4+IDMwID09PSAtMS4gQWN0dWFsOiAnICsgKC0xMDQ4NTc2ID4+IDMwKSk7IAp9IAoKCmlmICgtMjA5NzE1MiA+PiAzMCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjOTgyOiAtMjA5NzE1MiA+PiAzMCA9PT0gLTEuIEFjdHVhbDogJyArICgtMjA5NzE1MiA+PiAzMCkpOyAKfSAKCgppZiAoLTQxOTQzMDQgPj4gMzAgIT09IC0xKSB7IAogICRFUlJPUignIzk4MzogLTQxOTQzMDQgPj4gMzAgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTQxOTQzMDQgPj4gMzApKTsgCn0gCgoKaWYgKC04Mzg4NjA4ID4+IDMwICE9PSAtMSkgeyAKICAkRVJST1IoJyM5ODQ6IC04Mzg4NjA4ID4+IDMwID09PSAtMS4gQWN0dWFsOiAnICsgKC04Mzg4NjA4ID4+IDMwKSk7IAp9IAoKCmlmICgtMTY3NzcyMTYgPj4gMzAgIT09IC0xKSB7IAogICRFUlJPUignIzk4NTogLTE2Nzc3MjE2ID4+IDMwID09PSAtMS4gQWN0dWFsOiAnICsgKC0xNjc3NzIxNiA+PiAzMCkpOyAKfSAKCgppZiAoLTMzNTU0NDMyID4+IDMwICE9PSAtMSkgeyAKICAkRVJST1IoJyM5ODY6IC0zMzU1NDQzMiA+PiAzMCA9PT0gLTEuIEFjdHVhbDogJyArICgtMzM1NTQ0MzIgPj4gMzApKTsgCn0gCgoKaWYgKC02NzEwODg2NCA+PiAzMCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjOTg3OiAtNjcxMDg4NjQgPj4gMzAgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTY3MTA4ODY0ID4+IDMwKSk7IAp9IAoKCmlmICgtMTM0MjE3NzI4ID4+IDMwICE9PSAtMSkgeyAKICAkRVJST1IoJyM5ODg6IC0xMzQyMTc3MjggPj4gMzAgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEzNDIxNzcyOCA+PiAzMCkpOyAKfSAKCgppZiAoLTI2ODQzNTQ1NiA+PiAzMCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjOTg5OiAtMjY4NDM1NDU2ID4+IDMwID09PSAtMS4gQWN0dWFsOiAnICsgKC0yNjg0MzU0NTYgPj4gMzApKTsgCn0gCgoKaWYgKC01MzY4NzA5MTIgPj4gMzAgIT09IC0xKSB7IAogICRFUlJPUignIzk5MDogLTUzNjg3MDkxMiA+PiAzMCA9PT0gLTEuIEFjdHVhbDogJyArICgtNTM2ODcwOTEyID4+IDMwKSk7IAp9IAoKCmlmICgtMTA3Mzc0MTgyNCA+PiAzMCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjOTkxOiAtMTA3Mzc0MTgyNCA+PiAzMCA9PT0gLTEuIEFjdHVhbDogJyArICgtMTA3Mzc0MTgyNCA+PiAzMCkpOyAKfSAKCgppZiAoLTIxNDc0ODM2NDggPj4gMzAgIT09IC0yKSB7IAogICRFUlJPUignIzk5MjogLTIxNDc0ODM2NDggPj4gMzAgPT09IC0yLiBBY3R1YWw6ICcgKyAoLTIxNDc0ODM2NDggPj4gMzApKTsgCn0gCgoKaWYgKC0xID4+IDMxICE9PSAtMSkgeyAKICAkRVJST1IoJyM5OTM6IC0xID4+IDMxID09PSAtMS4gQWN0dWFsOiAnICsgKC0xID4+IDMxKSk7IAp9IAoKCmlmICgtMiA+PiAzMSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjOTk0OiAtMiA+PiAzMSA9PT0gLTEuIEFjdHVhbDogJyArICgtMiA+PiAzMSkpOyAKfSAKCgppZiAoLTQgPj4gMzEgIT09IC0xKSB7IAogICRFUlJPUignIzk5NTogLTQgPj4gMzEgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTQgPj4gMzEpKTsgCn0gCgoKaWYgKC04ID4+IDMxICE9PSAtMSkgeyAKICAkRVJST1IoJyM5OTY6IC04ID4+IDMxID09PSAtMS4gQWN0dWFsOiAnICsgKC04ID4+IDMxKSk7IAp9IAoKCmlmICgtMTYgPj4gMzEgIT09IC0xKSB7IAogICRFUlJPUignIzk5NzogLTE2ID4+IDMxID09PSAtMS4gQWN0dWFsOiAnICsgKC0xNiA+PiAzMSkpOyAKfSAKCgppZiAoLTMyID4+IDMxICE9PSAtMSkgeyAKICAkRVJST1IoJyM5OTg6IC0zMiA+PiAzMSA9PT0gLTEuIEFjdHVhbDogJyArICgtMzIgPj4gMzEpKTsgCn0gCgoKaWYgKC02NCA+PiAzMSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjOTk5OiAtNjQgPj4gMzEgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTY0ID4+IDMxKSk7IAp9IAoKCmlmICgtMTI4ID4+IDMxICE9PSAtMSkgeyAKICAkRVJST1IoJyMxMDAwOiAtMTI4ID4+IDMxID09PSAtMS4gQWN0dWFsOiAnICsgKC0xMjggPj4gMzEpKTsgCn0gCgoKaWYgKC0yNTYgPj4gMzEgIT09IC0xKSB7IAogICRFUlJPUignIzEwMDE6IC0yNTYgPj4gMzEgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTI1NiA+PiAzMSkpOyAKfSAKCgppZiAoLTUxMiA+PiAzMSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMTAwMjogLTUxMiA+PiAzMSA9PT0gLTEuIEFjdHVhbDogJyArICgtNTEyID4+IDMxKSk7IAp9IAoKCmlmICgtMTAyNCA+PiAzMSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMTAwMzogLTEwMjQgPj4gMzEgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEwMjQgPj4gMzEpKTsgCn0gCgoKaWYgKC0yMDQ4ID4+IDMxICE9PSAtMSkgeyAKICAkRVJST1IoJyMxMDA0OiAtMjA0OCA+PiAzMSA9PT0gLTEuIEFjdHVhbDogJyArICgtMjA0OCA+PiAzMSkpOyAKfSAKCgppZiAoLTQwOTYgPj4gMzEgIT09IC0xKSB7IAogICRFUlJPUignIzEwMDU6IC00MDk2ID4+IDMxID09PSAtMS4gQWN0dWFsOiAnICsgKC00MDk2ID4+IDMxKSk7IAp9IAoKCmlmICgtODE5MiA+PiAzMSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMTAwNjogLTgxOTIgPj4gMzEgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTgxOTIgPj4gMzEpKTsgCn0gCgoKaWYgKC0xNjM4NCA+PiAzMSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMTAwNzogLTE2Mzg0ID4+IDMxID09PSAtMS4gQWN0dWFsOiAnICsgKC0xNjM4NCA+PiAzMSkpOyAKfSAKCgppZiAoLTMyNzY4ID4+IDMxICE9PSAtMSkgeyAKICAkRVJST1IoJyMxMDA4OiAtMzI3NjggPj4gMzEgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTMyNzY4ID4+IDMxKSk7IAp9IAoKCmlmICgtNjU1MzYgPj4gMzEgIT09IC0xKSB7IAogICRFUlJPUignIzEwMDk6IC02NTUzNiA+PiAzMSA9PT0gLTEuIEFjdHVhbDogJyArICgtNjU1MzYgPj4gMzEpKTsgCn0gCgoKaWYgKC0xMzEwNzIgPj4gMzEgIT09IC0xKSB7IAogICRFUlJPUignIzEwMTA6IC0xMzEwNzIgPj4gMzEgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEzMTA3MiA+PiAzMSkpOyAKfSAKCgppZiAoLTI2MjE0NCA+PiAzMSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMTAxMTogLTI2MjE0NCA+PiAzMSA9PT0gLTEuIEFjdHVhbDogJyArICgtMjYyMTQ0ID4+IDMxKSk7IAp9IAoKCmlmICgtNTI0Mjg4ID4+IDMxICE9PSAtMSkgeyAKICAkRVJST1IoJyMxMDEyOiAtNTI0Mjg4ID4+IDMxID09PSAtMS4gQWN0dWFsOiAnICsgKC01MjQyODggPj4gMzEpKTsgCn0gCgoKaWYgKC0xMDQ4NTc2ID4+IDMxICE9PSAtMSkgeyAKICAkRVJST1IoJyMxMDEzOiAtMTA0ODU3NiA+PiAzMSA9PT0gLTEuIEFjdHVhbDogJyArICgtMTA0ODU3NiA+PiAzMSkpOyAKfSAKCgppZiAoLTIwOTcxNTIgPj4gMzEgIT09IC0xKSB7IAogICRFUlJPUignIzEwMTQ6IC0yMDk3MTUyID4+IDMxID09PSAtMS4gQWN0dWFsOiAnICsgKC0yMDk3MTUyID4+IDMxKSk7IAp9IAoKCmlmICgtNDE5NDMwNCA+PiAzMSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMTAxNTogLTQxOTQzMDQgPj4gMzEgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTQxOTQzMDQgPj4gMzEpKTsgCn0gCgoKaWYgKC04Mzg4NjA4ID4+IDMxICE9PSAtMSkgeyAKICAkRVJST1IoJyMxMDE2OiAtODM4ODYwOCA+PiAzMSA9PT0gLTEuIEFjdHVhbDogJyArICgtODM4ODYwOCA+PiAzMSkpOyAKfSAKCgppZiAoLTE2Nzc3MjE2ID4+IDMxICE9PSAtMSkgeyAKICAkRVJST1IoJyMxMDE3OiAtMTY3NzcyMTYgPj4gMzEgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTE2Nzc3MjE2ID4+IDMxKSk7IAp9IAoKCmlmICgtMzM1NTQ0MzIgPj4gMzEgIT09IC0xKSB7IAogICRFUlJPUignIzEwMTg6IC0zMzU1NDQzMiA+PiAzMSA9PT0gLTEuIEFjdHVhbDogJyArICgtMzM1NTQ0MzIgPj4gMzEpKTsgCn0gCgoKaWYgKC02NzEwODg2NCA+PiAzMSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMTAxOTogLTY3MTA4ODY0ID4+IDMxID09PSAtMS4gQWN0dWFsOiAnICsgKC02NzEwODg2NCA+PiAzMSkpOyAKfSAKCgppZiAoLTEzNDIxNzcyOCA+PiAzMSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMTAyMDogLTEzNDIxNzcyOCA+PiAzMSA9PT0gLTEuIEFjdHVhbDogJyArICgtMTM0MjE3NzI4ID4+IDMxKSk7IAp9IAoKCmlmICgtMjY4NDM1NDU2ID4+IDMxICE9PSAtMSkgeyAKICAkRVJST1IoJyMxMDIxOiAtMjY4NDM1NDU2ID4+IDMxID09PSAtMS4gQWN0dWFsOiAnICsgKC0yNjg0MzU0NTYgPj4gMzEpKTsgCn0gCgoKaWYgKC01MzY4NzA5MTIgPj4gMzEgIT09IC0xKSB7IAogICRFUlJPUignIzEwMjI6IC01MzY4NzA5MTIgPj4gMzEgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTUzNjg3MDkxMiA+PiAzMSkpOyAKfSAKCgppZiAoLTEwNzM3NDE4MjQgPj4gMzEgIT09IC0xKSB7IAogICRFUlJPUignIzEwMjM6IC0xMDczNzQxODI0ID4+IDMxID09PSAtMS4gQWN0dWFsOiAnICsgKC0xMDczNzQxODI0ID4+IDMxKSk7IAp9IAoKCmlmICgtMjE0NzQ4MzY0OCA+PiAzMSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMTAyNDogLTIxNDc0ODM2NDggPj4gMzEgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTIxNDc0ODM2NDggPj4gMzEpKTsgCn0KCg==",
"commentary":"Check x >> y operator in distinct points",
"description":"ShiftExpression = 2^n - 1, n = 16...31",
"path":"TestCases/ch11/11.7/11.7.2/S11.7.2_A4_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayB4ID4+IHkgb3BlcmF0b3IgaW4gZGlzdGluY3QgcG9pbnRzCiAqCiAqIEBwYXRoIGNoMTEvMTEuNy8xMS43LjIvUzExLjcuMl9BNF9UMy5qcwogKiBAZGVzY3JpcHRpb24gU2hpZnRFeHByZXNzaW9uID0gMl5uIC0gMSwgbiA9IDAuLi4xNQogKi8KCi8vQ0hFQ0sKIAppZiAoMCA+PiAwICE9PSAwKSB7IAogICRFUlJPUignIzE6IDAgPj4gMCA9PT0gMC4gQWN0dWFsOiAnICsgKDAgPj4gMCkpOyAKfSAKCgppZiAoMSA+PiAwICE9PSAxKSB7IAogICRFUlJPUignIzI6IDEgPj4gMCA9PT0gMS4gQWN0dWFsOiAnICsgKDEgPj4gMCkpOyAKfSAKCgppZiAoMyA+PiAwICE9PSAzKSB7IAogICRFUlJPUignIzM6IDMgPj4gMCA9PT0gMy4gQWN0dWFsOiAnICsgKDMgPj4gMCkpOyAKfSAKCgppZiAoNyA+PiAwICE9PSA3KSB7IAogICRFUlJPUignIzQ6IDcgPj4gMCA9PT0gNy4gQWN0dWFsOiAnICsgKDcgPj4gMCkpOyAKfSAKCgppZiAoMTUgPj4gMCAhPT0gMTUpIHsgCiAgJEVSUk9SKCcjNTogMTUgPj4gMCA9PT0gMTUuIEFjdHVhbDogJyArICgxNSA+PiAwKSk7IAp9IAoKCmlmICgzMSA+PiAwICE9PSAzMSkgeyAKICAkRVJST1IoJyM2OiAzMSA+PiAwID09PSAzMS4gQWN0dWFsOiAnICsgKDMxID4+IDApKTsgCn0gCgoKaWYgKDYzID4+IDAgIT09IDYzKSB7IAogICRFUlJPUignIzc6IDYzID4+IDAgPT09IDYzLiBBY3R1YWw6ICcgKyAoNjMgPj4gMCkpOyAKfSAKCgppZiAoMTI3ID4+IDAgIT09IDEyNykgeyAKICAkRVJST1IoJyM4OiAxMjcgPj4gMCA9PT0gMTI3LiBBY3R1YWw6ICcgKyAoMTI3ID4+IDApKTsgCn0gCgoKaWYgKDI1NSA+PiAwICE9PSAyNTUpIHsgCiAgJEVSUk9SKCcjOTogMjU1ID4+IDAgPT09IDI1NS4gQWN0dWFsOiAnICsgKDI1NSA+PiAwKSk7IAp9IAoKCmlmICg1MTEgPj4gMCAhPT0gNTExKSB7IAogICRFUlJPUignIzEwOiA1MTEgPj4gMCA9PT0gNTExLiBBY3R1YWw6ICcgKyAoNTExID4+IDApKTsgCn0gCgoKaWYgKDEwMjMgPj4gMCAhPT0gMTAyMykgeyAKICAkRVJST1IoJyMxMTogMTAyMyA+PiAwID09PSAxMDIzLiBBY3R1YWw6ICcgKyAoMTAyMyA+PiAwKSk7IAp9IAoKCmlmICgyMDQ3ID4+IDAgIT09IDIwNDcpIHsgCiAgJEVSUk9SKCcjMTI6IDIwNDcgPj4gMCA9PT0gMjA0Ny4gQWN0dWFsOiAnICsgKDIwNDcgPj4gMCkpOyAKfSAKCgppZiAoNDA5NSA+PiAwICE9PSA0MDk1KSB7IAogICRFUlJPUignIzEzOiA0MDk1ID4+IDAgPT09IDQwOTUuIEFjdHVhbDogJyArICg0MDk1ID4+IDApKTsgCn0gCgoKaWYgKDgxOTEgPj4gMCAhPT0gODE5MSkgeyAKICAkRVJST1IoJyMxNDogODE5MSA+PiAwID09PSA4MTkxLiBBY3R1YWw6ICcgKyAoODE5MSA+PiAwKSk7IAp9IAoKCmlmICgxNjM4MyA+PiAwICE9PSAxNjM4MykgeyAKICAkRVJST1IoJyMxNTogMTYzODMgPj4gMCA9PT0gMTYzODMuIEFjdHVhbDogJyArICgxNjM4MyA+PiAwKSk7IAp9IAoKCmlmICgzMjc2NyA+PiAwICE9PSAzMjc2NykgeyAKICAkRVJST1IoJyMxNjogMzI3NjcgPj4gMCA9PT0gMzI3NjcuIEFjdHVhbDogJyArICgzMjc2NyA+PiAwKSk7IAp9IAoKCmlmICg2NTUzNSA+PiAwICE9PSA2NTUzNSkgeyAKICAkRVJST1IoJyMxNzogNjU1MzUgPj4gMCA9PT0gNjU1MzUuIEFjdHVhbDogJyArICg2NTUzNSA+PiAwKSk7IAp9IAoKCmlmICgxMzEwNzEgPj4gMCAhPT0gMTMxMDcxKSB7IAogICRFUlJPUignIzE4OiAxMzEwNzEgPj4gMCA9PT0gMTMxMDcxLiBBY3R1YWw6ICcgKyAoMTMxMDcxID4+IDApKTsgCn0gCgoKaWYgKDI2MjE0MyA+PiAwICE9PSAyNjIxNDMpIHsgCiAgJEVSUk9SKCcjMTk6IDI2MjE0MyA+PiAwID09PSAyNjIxNDMuIEFjdHVhbDogJyArICgyNjIxNDMgPj4gMCkpOyAKfSAKCgppZiAoNTI0Mjg3ID4+IDAgIT09IDUyNDI4NykgeyAKICAkRVJST1IoJyMyMDogNTI0Mjg3ID4+IDAgPT09IDUyNDI4Ny4gQWN0dWFsOiAnICsgKDUyNDI4NyA+PiAwKSk7IAp9IAoKCmlmICgxMDQ4NTc1ID4+IDAgIT09IDEwNDg1NzUpIHsgCiAgJEVSUk9SKCcjMjE6IDEwNDg1NzUgPj4gMCA9PT0gMTA0ODU3NS4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPj4gMCkpOyAKfSAKCgppZiAoMjA5NzE1MSA+PiAwICE9PSAyMDk3MTUxKSB7IAogICRFUlJPUignIzIyOiAyMDk3MTUxID4+IDAgPT09IDIwOTcxNTEuIEFjdHVhbDogJyArICgyMDk3MTUxID4+IDApKTsgCn0gCgoKaWYgKDQxOTQzMDMgPj4gMCAhPT0gNDE5NDMwMykgeyAKICAkRVJST1IoJyMyMzogNDE5NDMwMyA+PiAwID09PSA0MTk0MzAzLiBBY3R1YWw6ICcgKyAoNDE5NDMwMyA+PiAwKSk7IAp9IAoKCmlmICg4Mzg4NjA3ID4+IDAgIT09IDgzODg2MDcpIHsgCiAgJEVSUk9SKCcjMjQ6IDgzODg2MDcgPj4gMCA9PT0gODM4ODYwNy4gQWN0dWFsOiAnICsgKDgzODg2MDcgPj4gMCkpOyAKfSAKCgppZiAoMTY3NzcyMTUgPj4gMCAhPT0gMTY3NzcyMTUpIHsgCiAgJEVSUk9SKCcjMjU6IDE2Nzc3MjE1ID4+IDAgPT09IDE2Nzc3MjE1LiBBY3R1YWw6ICcgKyAoMTY3NzcyMTUgPj4gMCkpOyAKfSAKCgppZiAoMzM1NTQ0MzEgPj4gMCAhPT0gMzM1NTQ0MzEpIHsgCiAgJEVSUk9SKCcjMjY6IDMzNTU0NDMxID4+IDAgPT09IDMzNTU0NDMxLiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPj4gMCkpOyAKfSAKCgppZiAoNjcxMDg4NjMgPj4gMCAhPT0gNjcxMDg4NjMpIHsgCiAgJEVSUk9SKCcjMjc6IDY3MTA4ODYzID4+IDAgPT09IDY3MTA4ODYzLiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPj4gMCkpOyAKfSAKCgppZiAoMTM0MjE3NzI3ID4+IDAgIT09IDEzNDIxNzcyNykgeyAKICAkRVJST1IoJyMyODogMTM0MjE3NzI3ID4+IDAgPT09IDEzNDIxNzcyNy4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA+PiAwKSk7IAp9IAoKCmlmICgyNjg0MzU0NTUgPj4gMCAhPT0gMjY4NDM1NDU1KSB7IAogICRFUlJPUignIzI5OiAyNjg0MzU0NTUgPj4gMCA9PT0gMjY4NDM1NDU1LiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU1ID4+IDApKTsgCn0gCgoKaWYgKDUzNjg3MDkxMSA+PiAwICE9PSA1MzY4NzA5MTEpIHsgCiAgJEVSUk9SKCcjMzA6IDUzNjg3MDkxMSA+PiAwID09PSA1MzY4NzA5MTEuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPj4gMCkpOyAKfSAKCgppZiAoMTA3Mzc0MTgyMyA+PiAwICE9PSAxMDczNzQxODIzKSB7IAogICRFUlJPUignIzMxOiAxMDczNzQxODIzID4+IDAgPT09IDEwNzM3NDE4MjMuIEFjdHVhbDogJyArICgxMDczNzQxODIzID4+IDApKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDcgPj4gMCAhPT0gMjE0NzQ4MzY0NykgeyAKICAkRVJST1IoJyMzMjogMjE0NzQ4MzY0NyA+PiAwID09PSAyMTQ3NDgzNjQ3LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiAwKSk7IAp9IAoKCmlmICgwID4+IDEgIT09IDApIHsgCiAgJEVSUk9SKCcjMzM6IDAgPj4gMSA9PT0gMC4gQWN0dWFsOiAnICsgKDAgPj4gMSkpOyAKfSAKCgppZiAoMSA+PiAxICE9PSAwKSB7IAogICRFUlJPUignIzM0OiAxID4+IDEgPT09IDAuIEFjdHVhbDogJyArICgxID4+IDEpKTsgCn0gCgoKaWYgKDMgPj4gMSAhPT0gMSkgeyAKICAkRVJST1IoJyMzNTogMyA+PiAxID09PSAxLiBBY3R1YWw6ICcgKyAoMyA+PiAxKSk7IAp9IAoKCmlmICg3ID4+IDEgIT09IDMpIHsgCiAgJEVSUk9SKCcjMzY6IDcgPj4gMSA9PT0gMy4gQWN0dWFsOiAnICsgKDcgPj4gMSkpOyAKfSAKCgppZiAoMTUgPj4gMSAhPT0gNykgeyAKICAkRVJST1IoJyMzNzogMTUgPj4gMSA9PT0gNy4gQWN0dWFsOiAnICsgKDE1ID4+IDEpKTsgCn0gCgoKaWYgKDMxID4+IDEgIT09IDE1KSB7IAogICRFUlJPUignIzM4OiAzMSA+PiAxID09PSAxNS4gQWN0dWFsOiAnICsgKDMxID4+IDEpKTsgCn0gCgoKaWYgKDYzID4+IDEgIT09IDMxKSB7IAogICRFUlJPUignIzM5OiA2MyA+PiAxID09PSAzMS4gQWN0dWFsOiAnICsgKDYzID4+IDEpKTsgCn0gCgoKaWYgKDEyNyA+PiAxICE9PSA2MykgeyAKICAkRVJST1IoJyM0MDogMTI3ID4+IDEgPT09IDYzLiBBY3R1YWw6ICcgKyAoMTI3ID4+IDEpKTsgCn0gCgoKaWYgKDI1NSA+PiAxICE9PSAxMjcpIHsgCiAgJEVSUk9SKCcjNDE6IDI1NSA+PiAxID09PSAxMjcuIEFjdHVhbDogJyArICgyNTUgPj4gMSkpOyAKfSAKCgppZiAoNTExID4+IDEgIT09IDI1NSkgeyAKICAkRVJST1IoJyM0MjogNTExID4+IDEgPT09IDI1NS4gQWN0dWFsOiAnICsgKDUxMSA+PiAxKSk7IAp9IAoKCmlmICgxMDIzID4+IDEgIT09IDUxMSkgeyAKICAkRVJST1IoJyM0MzogMTAyMyA+PiAxID09PSA1MTEuIEFjdHVhbDogJyArICgxMDIzID4+IDEpKTsgCn0gCgoKaWYgKDIwNDcgPj4gMSAhPT0gMTAyMykgeyAKICAkRVJST1IoJyM0NDogMjA0NyA+PiAxID09PSAxMDIzLiBBY3R1YWw6ICcgKyAoMjA0NyA+PiAxKSk7IAp9IAoKCmlmICg0MDk1ID4+IDEgIT09IDIwNDcpIHsgCiAgJEVSUk9SKCcjNDU6IDQwOTUgPj4gMSA9PT0gMjA0Ny4gQWN0dWFsOiAnICsgKDQwOTUgPj4gMSkpOyAKfSAKCgppZiAoODE5MSA+PiAxICE9PSA0MDk1KSB7IAogICRFUlJPUignIzQ2OiA4MTkxID4+IDEgPT09IDQwOTUuIEFjdHVhbDogJyArICg4MTkxID4+IDEpKTsgCn0gCgoKaWYgKDE2MzgzID4+IDEgIT09IDgxOTEpIHsgCiAgJEVSUk9SKCcjNDc6IDE2MzgzID4+IDEgPT09IDgxOTEuIEFjdHVhbDogJyArICgxNjM4MyA+PiAxKSk7IAp9IAoKCmlmICgzMjc2NyA+PiAxICE9PSAxNjM4MykgeyAKICAkRVJST1IoJyM0ODogMzI3NjcgPj4gMSA9PT0gMTYzODMuIEFjdHVhbDogJyArICgzMjc2NyA+PiAxKSk7IAp9IAoKCmlmICg2NTUzNSA+PiAxICE9PSAzMjc2NykgeyAKICAkRVJST1IoJyM0OTogNjU1MzUgPj4gMSA9PT0gMzI3NjcuIEFjdHVhbDogJyArICg2NTUzNSA+PiAxKSk7IAp9IAoKCmlmICgxMzEwNzEgPj4gMSAhPT0gNjU1MzUpIHsgCiAgJEVSUk9SKCcjNTA6IDEzMTA3MSA+PiAxID09PSA2NTUzNS4gQWN0dWFsOiAnICsgKDEzMTA3MSA+PiAxKSk7IAp9IAoKCmlmICgyNjIxNDMgPj4gMSAhPT0gMTMxMDcxKSB7IAogICRFUlJPUignIzUxOiAyNjIxNDMgPj4gMSA9PT0gMTMxMDcxLiBBY3R1YWw6ICcgKyAoMjYyMTQzID4+IDEpKTsgCn0gCgoKaWYgKDUyNDI4NyA+PiAxICE9PSAyNjIxNDMpIHsgCiAgJEVSUk9SKCcjNTI6IDUyNDI4NyA+PiAxID09PSAyNjIxNDMuIEFjdHVhbDogJyArICg1MjQyODcgPj4gMSkpOyAKfSAKCgppZiAoMTA0ODU3NSA+PiAxICE9PSA1MjQyODcpIHsgCiAgJEVSUk9SKCcjNTM6IDEwNDg1NzUgPj4gMSA9PT0gNTI0Mjg3LiBBY3R1YWw6ICcgKyAoMTA0ODU3NSA+PiAxKSk7IAp9IAoKCmlmICgyMDk3MTUxID4+IDEgIT09IDEwNDg1NzUpIHsgCiAgJEVSUk9SKCcjNTQ6IDIwOTcxNTEgPj4gMSA9PT0gMTA0ODU3NS4gQWN0dWFsOiAnICsgKDIwOTcxNTEgPj4gMSkpOyAKfSAKCgppZiAoNDE5NDMwMyA+PiAxICE9PSAyMDk3MTUxKSB7IAogICRFUlJPUignIzU1OiA0MTk0MzAzID4+IDEgPT09IDIwOTcxNTEuIEFjdHVhbDogJyArICg0MTk0MzAzID4+IDEpKTsgCn0gCgoKaWYgKDgzODg2MDcgPj4gMSAhPT0gNDE5NDMwMykgeyAKICAkRVJST1IoJyM1NjogODM4ODYwNyA+PiAxID09PSA0MTk0MzAzLiBBY3R1YWw6ICcgKyAoODM4ODYwNyA+PiAxKSk7IAp9IAoKCmlmICgxNjc3NzIxNSA+PiAxICE9PSA4Mzg4NjA3KSB7IAogICRFUlJPUignIzU3OiAxNjc3NzIxNSA+PiAxID09PSA4Mzg4NjA3LiBBY3R1YWw6ICcgKyAoMTY3NzcyMTUgPj4gMSkpOyAKfSAKCgppZiAoMzM1NTQ0MzEgPj4gMSAhPT0gMTY3NzcyMTUpIHsgCiAgJEVSUk9SKCcjNTg6IDMzNTU0NDMxID4+IDEgPT09IDE2Nzc3MjE1LiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPj4gMSkpOyAKfSAKCgppZiAoNjcxMDg4NjMgPj4gMSAhPT0gMzM1NTQ0MzEpIHsgCiAgJEVSUk9SKCcjNTk6IDY3MTA4ODYzID4+IDEgPT09IDMzNTU0NDMxLiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPj4gMSkpOyAKfSAKCgppZiAoMTM0MjE3NzI3ID4+IDEgIT09IDY3MTA4ODYzKSB7IAogICRFUlJPUignIzYwOiAxMzQyMTc3MjcgPj4gMSA9PT0gNjcxMDg4NjMuIEFjdHVhbDogJyArICgxMzQyMTc3MjcgPj4gMSkpOyAKfSAKCgppZiAoMjY4NDM1NDU1ID4+IDEgIT09IDEzNDIxNzcyNykgeyAKICAkRVJST1IoJyM2MTogMjY4NDM1NDU1ID4+IDEgPT09IDEzNDIxNzcyNy4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NSA+PiAxKSk7IAp9IAoKCmlmICg1MzY4NzA5MTEgPj4gMSAhPT0gMjY4NDM1NDU1KSB7IAogICRFUlJPUignIzYyOiA1MzY4NzA5MTEgPj4gMSA9PT0gMjY4NDM1NDU1LiBBY3R1YWw6ICcgKyAoNTM2ODcwOTExID4+IDEpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjMgPj4gMSAhPT0gNTM2ODcwOTExKSB7IAogICRFUlJPUignIzYzOiAxMDczNzQxODIzID4+IDEgPT09IDUzNjg3MDkxMS4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjMgPj4gMSkpOyAKfSAKCgppZiAoMjE0NzQ4MzY0NyA+PiAxICE9PSAxMDczNzQxODIzKSB7IAogICRFUlJPUignIzY0OiAyMTQ3NDgzNjQ3ID4+IDEgPT09IDEwNzM3NDE4MjMuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3ID4+IDEpKTsgCn0gCgoKaWYgKDAgPj4gMiAhPT0gMCkgeyAKICAkRVJST1IoJyM2NTogMCA+PiAyID09PSAwLiBBY3R1YWw6ICcgKyAoMCA+PiAyKSk7IAp9IAoKCmlmICgxID4+IDIgIT09IDApIHsgCiAgJEVSUk9SKCcjNjY6IDEgPj4gMiA9PT0gMC4gQWN0dWFsOiAnICsgKDEgPj4gMikpOyAKfSAKCgppZiAoMyA+PiAyICE9PSAwKSB7IAogICRFUlJPUignIzY3OiAzID4+IDIgPT09IDAuIEFjdHVhbDogJyArICgzID4+IDIpKTsgCn0gCgoKaWYgKDcgPj4gMiAhPT0gMSkgeyAKICAkRVJST1IoJyM2ODogNyA+PiAyID09PSAxLiBBY3R1YWw6ICcgKyAoNyA+PiAyKSk7IAp9IAoKCmlmICgxNSA+PiAyICE9PSAzKSB7IAogICRFUlJPUignIzY5OiAxNSA+PiAyID09PSAzLiBBY3R1YWw6ICcgKyAoMTUgPj4gMikpOyAKfSAKCgppZiAoMzEgPj4gMiAhPT0gNykgeyAKICAkRVJST1IoJyM3MDogMzEgPj4gMiA9PT0gNy4gQWN0dWFsOiAnICsgKDMxID4+IDIpKTsgCn0gCgoKaWYgKDYzID4+IDIgIT09IDE1KSB7IAogICRFUlJPUignIzcxOiA2MyA+PiAyID09PSAxNS4gQWN0dWFsOiAnICsgKDYzID4+IDIpKTsgCn0gCgoKaWYgKDEyNyA+PiAyICE9PSAzMSkgeyAKICAkRVJST1IoJyM3MjogMTI3ID4+IDIgPT09IDMxLiBBY3R1YWw6ICcgKyAoMTI3ID4+IDIpKTsgCn0gCgoKaWYgKDI1NSA+PiAyICE9PSA2MykgeyAKICAkRVJST1IoJyM3MzogMjU1ID4+IDIgPT09IDYzLiBBY3R1YWw6ICcgKyAoMjU1ID4+IDIpKTsgCn0gCgoKaWYgKDUxMSA+PiAyICE9PSAxMjcpIHsgCiAgJEVSUk9SKCcjNzQ6IDUxMSA+PiAyID09PSAxMjcuIEFjdHVhbDogJyArICg1MTEgPj4gMikpOyAKfSAKCgppZiAoMTAyMyA+PiAyICE9PSAyNTUpIHsgCiAgJEVSUk9SKCcjNzU6IDEwMjMgPj4gMiA9PT0gMjU1LiBBY3R1YWw6ICcgKyAoMTAyMyA+PiAyKSk7IAp9IAoKCmlmICgyMDQ3ID4+IDIgIT09IDUxMSkgeyAKICAkRVJST1IoJyM3NjogMjA0NyA+PiAyID09PSA1MTEuIEFjdHVhbDogJyArICgyMDQ3ID4+IDIpKTsgCn0gCgoKaWYgKDQwOTUgPj4gMiAhPT0gMTAyMykgeyAKICAkRVJST1IoJyM3NzogNDA5NSA+PiAyID09PSAxMDIzLiBBY3R1YWw6ICcgKyAoNDA5NSA+PiAyKSk7IAp9IAoKCmlmICg4MTkxID4+IDIgIT09IDIwNDcpIHsgCiAgJEVSUk9SKCcjNzg6IDgxOTEgPj4gMiA9PT0gMjA0Ny4gQWN0dWFsOiAnICsgKDgxOTEgPj4gMikpOyAKfSAKCgppZiAoMTYzODMgPj4gMiAhPT0gNDA5NSkgeyAKICAkRVJST1IoJyM3OTogMTYzODMgPj4gMiA9PT0gNDA5NS4gQWN0dWFsOiAnICsgKDE2MzgzID4+IDIpKTsgCn0gCgoKaWYgKDMyNzY3ID4+IDIgIT09IDgxOTEpIHsgCiAgJEVSUk9SKCcjODA6IDMyNzY3ID4+IDIgPT09IDgxOTEuIEFjdHVhbDogJyArICgzMjc2NyA+PiAyKSk7IAp9IAoKCmlmICg2NTUzNSA+PiAyICE9PSAxNjM4MykgeyAKICAkRVJST1IoJyM4MTogNjU1MzUgPj4gMiA9PT0gMTYzODMuIEFjdHVhbDogJyArICg2NTUzNSA+PiAyKSk7IAp9IAoKCmlmICgxMzEwNzEgPj4gMiAhPT0gMzI3NjcpIHsgCiAgJEVSUk9SKCcjODI6IDEzMTA3MSA+PiAyID09PSAzMjc2Ny4gQWN0dWFsOiAnICsgKDEzMTA3MSA+PiAyKSk7IAp9IAoKCmlmICgyNjIxNDMgPj4gMiAhPT0gNjU1MzUpIHsgCiAgJEVSUk9SKCcjODM6IDI2MjE0MyA+PiAyID09PSA2NTUzNS4gQWN0dWFsOiAnICsgKDI2MjE0MyA+PiAyKSk7IAp9IAoKCmlmICg1MjQyODcgPj4gMiAhPT0gMTMxMDcxKSB7IAogICRFUlJPUignIzg0OiA1MjQyODcgPj4gMiA9PT0gMTMxMDcxLiBBY3R1YWw6ICcgKyAoNTI0Mjg3ID4+IDIpKTsgCn0gCgoKaWYgKDEwNDg1NzUgPj4gMiAhPT0gMjYyMTQzKSB7IAogICRFUlJPUignIzg1OiAxMDQ4NTc1ID4+IDIgPT09IDI2MjE0My4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPj4gMikpOyAKfSAKCgppZiAoMjA5NzE1MSA+PiAyICE9PSA1MjQyODcpIHsgCiAgJEVSUk9SKCcjODY6IDIwOTcxNTEgPj4gMiA9PT0gNTI0Mjg3LiBBY3R1YWw6ICcgKyAoMjA5NzE1MSA+PiAyKSk7IAp9IAoKCmlmICg0MTk0MzAzID4+IDIgIT09IDEwNDg1NzUpIHsgCiAgJEVSUk9SKCcjODc6IDQxOTQzMDMgPj4gMiA9PT0gMTA0ODU3NS4gQWN0dWFsOiAnICsgKDQxOTQzMDMgPj4gMikpOyAKfSAKCgppZiAoODM4ODYwNyA+PiAyICE9PSAyMDk3MTUxKSB7IAogICRFUlJPUignIzg4OiA4Mzg4NjA3ID4+IDIgPT09IDIwOTcxNTEuIEFjdHVhbDogJyArICg4Mzg4NjA3ID4+IDIpKTsgCn0gCgoKaWYgKDE2Nzc3MjE1ID4+IDIgIT09IDQxOTQzMDMpIHsgCiAgJEVSUk9SKCcjODk6IDE2Nzc3MjE1ID4+IDIgPT09IDQxOTQzMDMuIEFjdHVhbDogJyArICgxNjc3NzIxNSA+PiAyKSk7IAp9IAoKCmlmICgzMzU1NDQzMSA+PiAyICE9PSA4Mzg4NjA3KSB7IAogICRFUlJPUignIzkwOiAzMzU1NDQzMSA+PiAyID09PSA4Mzg4NjA3LiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPj4gMikpOyAKfSAKCgppZiAoNjcxMDg4NjMgPj4gMiAhPT0gMTY3NzcyMTUpIHsgCiAgJEVSUk9SKCcjOTE6IDY3MTA4ODYzID4+IDIgPT09IDE2Nzc3MjE1LiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPj4gMikpOyAKfSAKCgppZiAoMTM0MjE3NzI3ID4+IDIgIT09IDMzNTU0NDMxKSB7IAogICRFUlJPUignIzkyOiAxMzQyMTc3MjcgPj4gMiA9PT0gMzM1NTQ0MzEuIEFjdHVhbDogJyArICgxMzQyMTc3MjcgPj4gMikpOyAKfSAKCgppZiAoMjY4NDM1NDU1ID4+IDIgIT09IDY3MTA4ODYzKSB7IAogICRFUlJPUignIzkzOiAyNjg0MzU0NTUgPj4gMiA9PT0gNjcxMDg4NjMuIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPj4gMikpOyAKfSAKCgppZiAoNTM2ODcwOTExID4+IDIgIT09IDEzNDIxNzcyNykgeyAKICAkRVJST1IoJyM5NDogNTM2ODcwOTExID4+IDIgPT09IDEzNDIxNzcyNy4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMSA+PiAyKSk7IAp9IAoKCmlmICgxMDczNzQxODIzID4+IDIgIT09IDI2ODQzNTQ1NSkgeyAKICAkRVJST1IoJyM5NTogMTA3Mzc0MTgyMyA+PiAyID09PSAyNjg0MzU0NTUuIEFjdHVhbDogJyArICgxMDczNzQxODIzID4+IDIpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDcgPj4gMiAhPT0gNTM2ODcwOTExKSB7IAogICRFUlJPUignIzk2OiAyMTQ3NDgzNjQ3ID4+IDIgPT09IDUzNjg3MDkxMS4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4gMikpOyAKfSAKCgppZiAoMCA+PiAzICE9PSAwKSB7IAogICRFUlJPUignIzk3OiAwID4+IDMgPT09IDAuIEFjdHVhbDogJyArICgwID4+IDMpKTsgCn0gCgoKaWYgKDEgPj4gMyAhPT0gMCkgeyAKICAkRVJST1IoJyM5ODogMSA+PiAzID09PSAwLiBBY3R1YWw6ICcgKyAoMSA+PiAzKSk7IAp9IAoKCmlmICgzID4+IDMgIT09IDApIHsgCiAgJEVSUk9SKCcjOTk6IDMgPj4gMyA9PT0gMC4gQWN0dWFsOiAnICsgKDMgPj4gMykpOyAKfSAKCgppZiAoNyA+PiAzICE9PSAwKSB7IAogICRFUlJPUignIzEwMDogNyA+PiAzID09PSAwLiBBY3R1YWw6ICcgKyAoNyA+PiAzKSk7IAp9IAoKCmlmICgxNSA+PiAzICE9PSAxKSB7IAogICRFUlJPUignIzEwMTogMTUgPj4gMyA9PT0gMS4gQWN0dWFsOiAnICsgKDE1ID4+IDMpKTsgCn0gCgoKaWYgKDMxID4+IDMgIT09IDMpIHsgCiAgJEVSUk9SKCcjMTAyOiAzMSA+PiAzID09PSAzLiBBY3R1YWw6ICcgKyAoMzEgPj4gMykpOyAKfSAKCgppZiAoNjMgPj4gMyAhPT0gNykgeyAKICAkRVJST1IoJyMxMDM6IDYzID4+IDMgPT09IDcuIEFjdHVhbDogJyArICg2MyA+PiAzKSk7IAp9IAoKCmlmICgxMjcgPj4gMyAhPT0gMTUpIHsgCiAgJEVSUk9SKCcjMTA0OiAxMjcgPj4gMyA9PT0gMTUuIEFjdHVhbDogJyArICgxMjcgPj4gMykpOyAKfSAKCgppZiAoMjU1ID4+IDMgIT09IDMxKSB7IAogICRFUlJPUignIzEwNTogMjU1ID4+IDMgPT09IDMxLiBBY3R1YWw6ICcgKyAoMjU1ID4+IDMpKTsgCn0gCgoKaWYgKDUxMSA+PiAzICE9PSA2MykgeyAKICAkRVJST1IoJyMxMDY6IDUxMSA+PiAzID09PSA2My4gQWN0dWFsOiAnICsgKDUxMSA+PiAzKSk7IAp9IAoKCmlmICgxMDIzID4+IDMgIT09IDEyNykgeyAKICAkRVJST1IoJyMxMDc6IDEwMjMgPj4gMyA9PT0gMTI3LiBBY3R1YWw6ICcgKyAoMTAyMyA+PiAzKSk7IAp9IAoKCmlmICgyMDQ3ID4+IDMgIT09IDI1NSkgeyAKICAkRVJST1IoJyMxMDg6IDIwNDcgPj4gMyA9PT0gMjU1LiBBY3R1YWw6ICcgKyAoMjA0NyA+PiAzKSk7IAp9IAoKCmlmICg0MDk1ID4+IDMgIT09IDUxMSkgeyAKICAkRVJST1IoJyMxMDk6IDQwOTUgPj4gMyA9PT0gNTExLiBBY3R1YWw6ICcgKyAoNDA5NSA+PiAzKSk7IAp9IAoKCmlmICg4MTkxID4+IDMgIT09IDEwMjMpIHsgCiAgJEVSUk9SKCcjMTEwOiA4MTkxID4+IDMgPT09IDEwMjMuIEFjdHVhbDogJyArICg4MTkxID4+IDMpKTsgCn0gCgoKaWYgKDE2MzgzID4+IDMgIT09IDIwNDcpIHsgCiAgJEVSUk9SKCcjMTExOiAxNjM4MyA+PiAzID09PSAyMDQ3LiBBY3R1YWw6ICcgKyAoMTYzODMgPj4gMykpOyAKfSAKCgppZiAoMzI3NjcgPj4gMyAhPT0gNDA5NSkgeyAKICAkRVJST1IoJyMxMTI6IDMyNzY3ID4+IDMgPT09IDQwOTUuIEFjdHVhbDogJyArICgzMjc2NyA+PiAzKSk7IAp9IAoKCmlmICg2NTUzNSA+PiAzICE9PSA4MTkxKSB7IAogICRFUlJPUignIzExMzogNjU1MzUgPj4gMyA9PT0gODE5MS4gQWN0dWFsOiAnICsgKDY1NTM1ID4+IDMpKTsgCn0gCgoKaWYgKDEzMTA3MSA+PiAzICE9PSAxNjM4MykgeyAKICAkRVJST1IoJyMxMTQ6IDEzMTA3MSA+PiAzID09PSAxNjM4My4gQWN0dWFsOiAnICsgKDEzMTA3MSA+PiAzKSk7IAp9IAoKCmlmICgyNjIxNDMgPj4gMyAhPT0gMzI3NjcpIHsgCiAgJEVSUk9SKCcjMTE1OiAyNjIxNDMgPj4gMyA9PT0gMzI3NjcuIEFjdHVhbDogJyArICgyNjIxNDMgPj4gMykpOyAKfSAKCgppZiAoNTI0Mjg3ID4+IDMgIT09IDY1NTM1KSB7IAogICRFUlJPUignIzExNjogNTI0Mjg3ID4+IDMgPT09IDY1NTM1LiBBY3R1YWw6ICcgKyAoNTI0Mjg3ID4+IDMpKTsgCn0gCgoKaWYgKDEwNDg1NzUgPj4gMyAhPT0gMTMxMDcxKSB7IAogICRFUlJPUignIzExNzogMTA0ODU3NSA+PiAzID09PSAxMzEwNzEuIEFjdHVhbDogJyArICgxMDQ4NTc1ID4+IDMpKTsgCn0gCgoKaWYgKDIwOTcxNTEgPj4gMyAhPT0gMjYyMTQzKSB7IAogICRFUlJPUignIzExODogMjA5NzE1MSA+PiAzID09PSAyNjIxNDMuIEFjdHVhbDogJyArICgyMDk3MTUxID4+IDMpKTsgCn0gCgoKaWYgKDQxOTQzMDMgPj4gMyAhPT0gNTI0Mjg3KSB7IAogICRFUlJPUignIzExOTogNDE5NDMwMyA+PiAzID09PSA1MjQyODcuIEFjdHVhbDogJyArICg0MTk0MzAzID4+IDMpKTsgCn0gCgoKaWYgKDgzODg2MDcgPj4gMyAhPT0gMTA0ODU3NSkgeyAKICAkRVJST1IoJyMxMjA6IDgzODg2MDcgPj4gMyA9PT0gMTA0ODU3NS4gQWN0dWFsOiAnICsgKDgzODg2MDcgPj4gMykpOyAKfSAKCgppZiAoMTY3NzcyMTUgPj4gMyAhPT0gMjA5NzE1MSkgeyAKICAkRVJST1IoJyMxMjE6IDE2Nzc3MjE1ID4+IDMgPT09IDIwOTcxNTEuIEFjdHVhbDogJyArICgxNjc3NzIxNSA+PiAzKSk7IAp9IAoKCmlmICgzMzU1NDQzMSA+PiAzICE9PSA0MTk0MzAzKSB7IAogICRFUlJPUignIzEyMjogMzM1NTQ0MzEgPj4gMyA9PT0gNDE5NDMwMy4gQWN0dWFsOiAnICsgKDMzNTU0NDMxID4+IDMpKTsgCn0gCgoKaWYgKDY3MTA4ODYzID4+IDMgIT09IDgzODg2MDcpIHsgCiAgJEVSUk9SKCcjMTIzOiA2NzEwODg2MyA+PiAzID09PSA4Mzg4NjA3LiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPj4gMykpOyAKfSAKCgppZiAoMTM0MjE3NzI3ID4+IDMgIT09IDE2Nzc3MjE1KSB7IAogICRFUlJPUignIzEyNDogMTM0MjE3NzI3ID4+IDMgPT09IDE2Nzc3MjE1LiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI3ID4+IDMpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NSA+PiAzICE9PSAzMzU1NDQzMSkgeyAKICAkRVJST1IoJyMxMjU6IDI2ODQzNTQ1NSA+PiAzID09PSAzMzU1NDQzMS4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NSA+PiAzKSk7IAp9IAoKCmlmICg1MzY4NzA5MTEgPj4gMyAhPT0gNjcxMDg4NjMpIHsgCiAgJEVSUk9SKCcjMTI2OiA1MzY4NzA5MTEgPj4gMyA9PT0gNjcxMDg4NjMuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPj4gMykpOyAKfSAKCgppZiAoMTA3Mzc0MTgyMyA+PiAzICE9PSAxMzQyMTc3MjcpIHsgCiAgJEVSUk9SKCcjMTI3OiAxMDczNzQxODIzID4+IDMgPT09IDEzNDIxNzcyNy4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjMgPj4gMykpOyAKfSAKCgppZiAoMjE0NzQ4MzY0NyA+PiAzICE9PSAyNjg0MzU0NTUpIHsgCiAgJEVSUk9SKCcjMTI4OiAyMTQ3NDgzNjQ3ID4+IDMgPT09IDI2ODQzNTQ1NS4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4gMykpOyAKfSAKCgppZiAoMCA+PiA0ICE9PSAwKSB7IAogICRFUlJPUignIzEyOTogMCA+PiA0ID09PSAwLiBBY3R1YWw6ICcgKyAoMCA+PiA0KSk7IAp9IAoKCmlmICgxID4+IDQgIT09IDApIHsgCiAgJEVSUk9SKCcjMTMwOiAxID4+IDQgPT09IDAuIEFjdHVhbDogJyArICgxID4+IDQpKTsgCn0gCgoKaWYgKDMgPj4gNCAhPT0gMCkgeyAKICAkRVJST1IoJyMxMzE6IDMgPj4gNCA9PT0gMC4gQWN0dWFsOiAnICsgKDMgPj4gNCkpOyAKfSAKCgppZiAoNyA+PiA0ICE9PSAwKSB7IAogICRFUlJPUignIzEzMjogNyA+PiA0ID09PSAwLiBBY3R1YWw6ICcgKyAoNyA+PiA0KSk7IAp9IAoKCmlmICgxNSA+PiA0ICE9PSAwKSB7IAogICRFUlJPUignIzEzMzogMTUgPj4gNCA9PT0gMC4gQWN0dWFsOiAnICsgKDE1ID4+IDQpKTsgCn0gCgoKaWYgKDMxID4+IDQgIT09IDEpIHsgCiAgJEVSUk9SKCcjMTM0OiAzMSA+PiA0ID09PSAxLiBBY3R1YWw6ICcgKyAoMzEgPj4gNCkpOyAKfSAKCgppZiAoNjMgPj4gNCAhPT0gMykgeyAKICAkRVJST1IoJyMxMzU6IDYzID4+IDQgPT09IDMuIEFjdHVhbDogJyArICg2MyA+PiA0KSk7IAp9IAoKCmlmICgxMjcgPj4gNCAhPT0gNykgeyAKICAkRVJST1IoJyMxMzY6IDEyNyA+PiA0ID09PSA3LiBBY3R1YWw6ICcgKyAoMTI3ID4+IDQpKTsgCn0gCgoKaWYgKDI1NSA+PiA0ICE9PSAxNSkgeyAKICAkRVJST1IoJyMxMzc6IDI1NSA+PiA0ID09PSAxNS4gQWN0dWFsOiAnICsgKDI1NSA+PiA0KSk7IAp9IAoKCmlmICg1MTEgPj4gNCAhPT0gMzEpIHsgCiAgJEVSUk9SKCcjMTM4OiA1MTEgPj4gNCA9PT0gMzEuIEFjdHVhbDogJyArICg1MTEgPj4gNCkpOyAKfSAKCgppZiAoMTAyMyA+PiA0ICE9PSA2MykgeyAKICAkRVJST1IoJyMxMzk6IDEwMjMgPj4gNCA9PT0gNjMuIEFjdHVhbDogJyArICgxMDIzID4+IDQpKTsgCn0gCgoKaWYgKDIwNDcgPj4gNCAhPT0gMTI3KSB7IAogICRFUlJPUignIzE0MDogMjA0NyA+PiA0ID09PSAxMjcuIEFjdHVhbDogJyArICgyMDQ3ID4+IDQpKTsgCn0gCgoKaWYgKDQwOTUgPj4gNCAhPT0gMjU1KSB7IAogICRFUlJPUignIzE0MTogNDA5NSA+PiA0ID09PSAyNTUuIEFjdHVhbDogJyArICg0MDk1ID4+IDQpKTsgCn0gCgoKaWYgKDgxOTEgPj4gNCAhPT0gNTExKSB7IAogICRFUlJPUignIzE0MjogODE5MSA+PiA0ID09PSA1MTEuIEFjdHVhbDogJyArICg4MTkxID4+IDQpKTsgCn0gCgoKaWYgKDE2MzgzID4+IDQgIT09IDEwMjMpIHsgCiAgJEVSUk9SKCcjMTQzOiAxNjM4MyA+PiA0ID09PSAxMDIzLiBBY3R1YWw6ICcgKyAoMTYzODMgPj4gNCkpOyAKfSAKCgppZiAoMzI3NjcgPj4gNCAhPT0gMjA0NykgeyAKICAkRVJST1IoJyMxNDQ6IDMyNzY3ID4+IDQgPT09IDIwNDcuIEFjdHVhbDogJyArICgzMjc2NyA+PiA0KSk7IAp9IAoKCmlmICg2NTUzNSA+PiA0ICE9PSA0MDk1KSB7IAogICRFUlJPUignIzE0NTogNjU1MzUgPj4gNCA9PT0gNDA5NS4gQWN0dWFsOiAnICsgKDY1NTM1ID4+IDQpKTsgCn0gCgoKaWYgKDEzMTA3MSA+PiA0ICE9PSA4MTkxKSB7IAogICRFUlJPUignIzE0NjogMTMxMDcxID4+IDQgPT09IDgxOTEuIEFjdHVhbDogJyArICgxMzEwNzEgPj4gNCkpOyAKfSAKCgppZiAoMjYyMTQzID4+IDQgIT09IDE2MzgzKSB7IAogICRFUlJPUignIzE0NzogMjYyMTQzID4+IDQgPT09IDE2MzgzLiBBY3R1YWw6ICcgKyAoMjYyMTQzID4+IDQpKTsgCn0gCgoKaWYgKDUyNDI4NyA+PiA0ICE9PSAzMjc2NykgeyAKICAkRVJST1IoJyMxNDg6IDUyNDI4NyA+PiA0ID09PSAzMjc2Ny4gQWN0dWFsOiAnICsgKDUyNDI4NyA+PiA0KSk7IAp9IAoKCmlmICgxMDQ4NTc1ID4+IDQgIT09IDY1NTM1KSB7IAogICRFUlJPUignIzE0OTogMTA0ODU3NSA+PiA0ID09PSA2NTUzNS4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPj4gNCkpOyAKfSAKCgppZiAoMjA5NzE1MSA+PiA0ICE9PSAxMzEwNzEpIHsgCiAgJEVSUk9SKCcjMTUwOiAyMDk3MTUxID4+IDQgPT09IDEzMTA3MS4gQWN0dWFsOiAnICsgKDIwOTcxNTEgPj4gNCkpOyAKfSAKCgppZiAoNDE5NDMwMyA+PiA0ICE9PSAyNjIxNDMpIHsgCiAgJEVSUk9SKCcjMTUxOiA0MTk0MzAzID4+IDQgPT09IDI2MjE0My4gQWN0dWFsOiAnICsgKDQxOTQzMDMgPj4gNCkpOyAKfSAKCgppZiAoODM4ODYwNyA+PiA0ICE9PSA1MjQyODcpIHsgCiAgJEVSUk9SKCcjMTUyOiA4Mzg4NjA3ID4+IDQgPT09IDUyNDI4Ny4gQWN0dWFsOiAnICsgKDgzODg2MDcgPj4gNCkpOyAKfSAKCgppZiAoMTY3NzcyMTUgPj4gNCAhPT0gMTA0ODU3NSkgeyAKICAkRVJST1IoJyMxNTM6IDE2Nzc3MjE1ID4+IDQgPT09IDEwNDg1NzUuIEFjdHVhbDogJyArICgxNjc3NzIxNSA+PiA0KSk7IAp9IAoKCmlmICgzMzU1NDQzMSA+PiA0ICE9PSAyMDk3MTUxKSB7IAogICRFUlJPUignIzE1NDogMzM1NTQ0MzEgPj4gNCA9PT0gMjA5NzE1MS4gQWN0dWFsOiAnICsgKDMzNTU0NDMxID4+IDQpKTsgCn0gCgoKaWYgKDY3MTA4ODYzID4+IDQgIT09IDQxOTQzMDMpIHsgCiAgJEVSUk9SKCcjMTU1OiA2NzEwODg2MyA+PiA0ID09PSA0MTk0MzAzLiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPj4gNCkpOyAKfSAKCgppZiAoMTM0MjE3NzI3ID4+IDQgIT09IDgzODg2MDcpIHsgCiAgJEVSUk9SKCcjMTU2OiAxMzQyMTc3MjcgPj4gNCA9PT0gODM4ODYwNy4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA+PiA0KSk7IAp9IAoKCmlmICgyNjg0MzU0NTUgPj4gNCAhPT0gMTY3NzcyMTUpIHsgCiAgJEVSUk9SKCcjMTU3OiAyNjg0MzU0NTUgPj4gNCA9PT0gMTY3NzcyMTUuIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPj4gNCkpOyAKfSAKCgppZiAoNTM2ODcwOTExID4+IDQgIT09IDMzNTU0NDMxKSB7IAogICRFUlJPUignIzE1ODogNTM2ODcwOTExID4+IDQgPT09IDMzNTU0NDMxLiBBY3R1YWw6ICcgKyAoNTM2ODcwOTExID4+IDQpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjMgPj4gNCAhPT0gNjcxMDg4NjMpIHsgCiAgJEVSUk9SKCcjMTU5OiAxMDczNzQxODIzID4+IDQgPT09IDY3MTA4ODYzLiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA+PiA0KSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ3ID4+IDQgIT09IDEzNDIxNzcyNykgeyAKICAkRVJST1IoJyMxNjA6IDIxNDc0ODM2NDcgPj4gNCA9PT0gMTM0MjE3NzI3LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiA0KSk7IAp9IAoKCmlmICgwID4+IDUgIT09IDApIHsgCiAgJEVSUk9SKCcjMTYxOiAwID4+IDUgPT09IDAuIEFjdHVhbDogJyArICgwID4+IDUpKTsgCn0gCgoKaWYgKDEgPj4gNSAhPT0gMCkgeyAKICAkRVJST1IoJyMxNjI6IDEgPj4gNSA9PT0gMC4gQWN0dWFsOiAnICsgKDEgPj4gNSkpOyAKfSAKCgppZiAoMyA+PiA1ICE9PSAwKSB7IAogICRFUlJPUignIzE2MzogMyA+PiA1ID09PSAwLiBBY3R1YWw6ICcgKyAoMyA+PiA1KSk7IAp9IAoKCmlmICg3ID4+IDUgIT09IDApIHsgCiAgJEVSUk9SKCcjMTY0OiA3ID4+IDUgPT09IDAuIEFjdHVhbDogJyArICg3ID4+IDUpKTsgCn0gCgoKaWYgKDE1ID4+IDUgIT09IDApIHsgCiAgJEVSUk9SKCcjMTY1OiAxNSA+PiA1ID09PSAwLiBBY3R1YWw6ICcgKyAoMTUgPj4gNSkpOyAKfSAKCgppZiAoMzEgPj4gNSAhPT0gMCkgeyAKICAkRVJST1IoJyMxNjY6IDMxID4+IDUgPT09IDAuIEFjdHVhbDogJyArICgzMSA+PiA1KSk7IAp9IAoKCmlmICg2MyA+PiA1ICE9PSAxKSB7IAogICRFUlJPUignIzE2NzogNjMgPj4gNSA9PT0gMS4gQWN0dWFsOiAnICsgKDYzID4+IDUpKTsgCn0gCgoKaWYgKDEyNyA+PiA1ICE9PSAzKSB7IAogICRFUlJPUignIzE2ODogMTI3ID4+IDUgPT09IDMuIEFjdHVhbDogJyArICgxMjcgPj4gNSkpOyAKfSAKCgppZiAoMjU1ID4+IDUgIT09IDcpIHsgCiAgJEVSUk9SKCcjMTY5OiAyNTUgPj4gNSA9PT0gNy4gQWN0dWFsOiAnICsgKDI1NSA+PiA1KSk7IAp9IAoKCmlmICg1MTEgPj4gNSAhPT0gMTUpIHsgCiAgJEVSUk9SKCcjMTcwOiA1MTEgPj4gNSA9PT0gMTUuIEFjdHVhbDogJyArICg1MTEgPj4gNSkpOyAKfSAKCgppZiAoMTAyMyA+PiA1ICE9PSAzMSkgeyAKICAkRVJST1IoJyMxNzE6IDEwMjMgPj4gNSA9PT0gMzEuIEFjdHVhbDogJyArICgxMDIzID4+IDUpKTsgCn0gCgoKaWYgKDIwNDcgPj4gNSAhPT0gNjMpIHsgCiAgJEVSUk9SKCcjMTcyOiAyMDQ3ID4+IDUgPT09IDYzLiBBY3R1YWw6ICcgKyAoMjA0NyA+PiA1KSk7IAp9IAoKCmlmICg0MDk1ID4+IDUgIT09IDEyNykgeyAKICAkRVJST1IoJyMxNzM6IDQwOTUgPj4gNSA9PT0gMTI3LiBBY3R1YWw6ICcgKyAoNDA5NSA+PiA1KSk7IAp9IAoKCmlmICg4MTkxID4+IDUgIT09IDI1NSkgeyAKICAkRVJST1IoJyMxNzQ6IDgxOTEgPj4gNSA9PT0gMjU1LiBBY3R1YWw6ICcgKyAoODE5MSA+PiA1KSk7IAp9IAoKCmlmICgxNjM4MyA+PiA1ICE9PSA1MTEpIHsgCiAgJEVSUk9SKCcjMTc1OiAxNjM4MyA+PiA1ID09PSA1MTEuIEFjdHVhbDogJyArICgxNjM4MyA+PiA1KSk7IAp9IAoKCmlmICgzMjc2NyA+PiA1ICE9PSAxMDIzKSB7IAogICRFUlJPUignIzE3NjogMzI3NjcgPj4gNSA9PT0gMTAyMy4gQWN0dWFsOiAnICsgKDMyNzY3ID4+IDUpKTsgCn0gCgoKaWYgKDY1NTM1ID4+IDUgIT09IDIwNDcpIHsgCiAgJEVSUk9SKCcjMTc3OiA2NTUzNSA+PiA1ID09PSAyMDQ3LiBBY3R1YWw6ICcgKyAoNjU1MzUgPj4gNSkpOyAKfSAKCgppZiAoMTMxMDcxID4+IDUgIT09IDQwOTUpIHsgCiAgJEVSUk9SKCcjMTc4OiAxMzEwNzEgPj4gNSA9PT0gNDA5NS4gQWN0dWFsOiAnICsgKDEzMTA3MSA+PiA1KSk7IAp9IAoKCmlmICgyNjIxNDMgPj4gNSAhPT0gODE5MSkgeyAKICAkRVJST1IoJyMxNzk6IDI2MjE0MyA+PiA1ID09PSA4MTkxLiBBY3R1YWw6ICcgKyAoMjYyMTQzID4+IDUpKTsgCn0gCgoKaWYgKDUyNDI4NyA+PiA1ICE9PSAxNjM4MykgeyAKICAkRVJST1IoJyMxODA6IDUyNDI4NyA+PiA1ID09PSAxNjM4My4gQWN0dWFsOiAnICsgKDUyNDI4NyA+PiA1KSk7IAp9IAoKCmlmICgxMDQ4NTc1ID4+IDUgIT09IDMyNzY3KSB7IAogICRFUlJPUignIzE4MTogMTA0ODU3NSA+PiA1ID09PSAzMjc2Ny4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPj4gNSkpOyAKfSAKCgppZiAoMjA5NzE1MSA+PiA1ICE9PSA2NTUzNSkgeyAKICAkRVJST1IoJyMxODI6IDIwOTcxNTEgPj4gNSA9PT0gNjU1MzUuIEFjdHVhbDogJyArICgyMDk3MTUxID4+IDUpKTsgCn0gCgoKaWYgKDQxOTQzMDMgPj4gNSAhPT0gMTMxMDcxKSB7IAogICRFUlJPUignIzE4MzogNDE5NDMwMyA+PiA1ID09PSAxMzEwNzEuIEFjdHVhbDogJyArICg0MTk0MzAzID4+IDUpKTsgCn0gCgoKaWYgKDgzODg2MDcgPj4gNSAhPT0gMjYyMTQzKSB7IAogICRFUlJPUignIzE4NDogODM4ODYwNyA+PiA1ID09PSAyNjIxNDMuIEFjdHVhbDogJyArICg4Mzg4NjA3ID4+IDUpKTsgCn0gCgoKaWYgKDE2Nzc3MjE1ID4+IDUgIT09IDUyNDI4NykgeyAKICAkRVJST1IoJyMxODU6IDE2Nzc3MjE1ID4+IDUgPT09IDUyNDI4Ny4gQWN0dWFsOiAnICsgKDE2Nzc3MjE1ID4+IDUpKTsgCn0gCgoKaWYgKDMzNTU0NDMxID4+IDUgIT09IDEwNDg1NzUpIHsgCiAgJEVSUk9SKCcjMTg2OiAzMzU1NDQzMSA+PiA1ID09PSAxMDQ4NTc1LiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPj4gNSkpOyAKfSAKCgppZiAoNjcxMDg4NjMgPj4gNSAhPT0gMjA5NzE1MSkgeyAKICAkRVJST1IoJyMxODc6IDY3MTA4ODYzID4+IDUgPT09IDIwOTcxNTEuIEFjdHVhbDogJyArICg2NzEwODg2MyA+PiA1KSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPj4gNSAhPT0gNDE5NDMwMykgeyAKICAkRVJST1IoJyMxODg6IDEzNDIxNzcyNyA+PiA1ID09PSA0MTk0MzAzLiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI3ID4+IDUpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NSA+PiA1ICE9PSA4Mzg4NjA3KSB7IAogICRFUlJPUignIzE4OTogMjY4NDM1NDU1ID4+IDUgPT09IDgzODg2MDcuIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPj4gNSkpOyAKfSAKCgppZiAoNTM2ODcwOTExID4+IDUgIT09IDE2Nzc3MjE1KSB7IAogICRFUlJPUignIzE5MDogNTM2ODcwOTExID4+IDUgPT09IDE2Nzc3MjE1LiBBY3R1YWw6ICcgKyAoNTM2ODcwOTExID4+IDUpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjMgPj4gNSAhPT0gMzM1NTQ0MzEpIHsgCiAgJEVSUk9SKCcjMTkxOiAxMDczNzQxODIzID4+IDUgPT09IDMzNTU0NDMxLiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA+PiA1KSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ3ID4+IDUgIT09IDY3MTA4ODYzKSB7IAogICRFUlJPUignIzE5MjogMjE0NzQ4MzY0NyA+PiA1ID09PSA2NzEwODg2My4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4gNSkpOyAKfSAKCgppZiAoMCA+PiA2ICE9PSAwKSB7IAogICRFUlJPUignIzE5MzogMCA+PiA2ID09PSAwLiBBY3R1YWw6ICcgKyAoMCA+PiA2KSk7IAp9IAoKCmlmICgxID4+IDYgIT09IDApIHsgCiAgJEVSUk9SKCcjMTk0OiAxID4+IDYgPT09IDAuIEFjdHVhbDogJyArICgxID4+IDYpKTsgCn0gCgoKaWYgKDMgPj4gNiAhPT0gMCkgeyAKICAkRVJST1IoJyMxOTU6IDMgPj4gNiA9PT0gMC4gQWN0dWFsOiAnICsgKDMgPj4gNikpOyAKfSAKCgppZiAoNyA+PiA2ICE9PSAwKSB7IAogICRFUlJPUignIzE5NjogNyA+PiA2ID09PSAwLiBBY3R1YWw6ICcgKyAoNyA+PiA2KSk7IAp9IAoKCmlmICgxNSA+PiA2ICE9PSAwKSB7IAogICRFUlJPUignIzE5NzogMTUgPj4gNiA9PT0gMC4gQWN0dWFsOiAnICsgKDE1ID4+IDYpKTsgCn0gCgoKaWYgKDMxID4+IDYgIT09IDApIHsgCiAgJEVSUk9SKCcjMTk4OiAzMSA+PiA2ID09PSAwLiBBY3R1YWw6ICcgKyAoMzEgPj4gNikpOyAKfSAKCgppZiAoNjMgPj4gNiAhPT0gMCkgeyAKICAkRVJST1IoJyMxOTk6IDYzID4+IDYgPT09IDAuIEFjdHVhbDogJyArICg2MyA+PiA2KSk7IAp9IAoKCmlmICgxMjcgPj4gNiAhPT0gMSkgeyAKICAkRVJST1IoJyMyMDA6IDEyNyA+PiA2ID09PSAxLiBBY3R1YWw6ICcgKyAoMTI3ID4+IDYpKTsgCn0gCgoKaWYgKDI1NSA+PiA2ICE9PSAzKSB7IAogICRFUlJPUignIzIwMTogMjU1ID4+IDYgPT09IDMuIEFjdHVhbDogJyArICgyNTUgPj4gNikpOyAKfSAKCgppZiAoNTExID4+IDYgIT09IDcpIHsgCiAgJEVSUk9SKCcjMjAyOiA1MTEgPj4gNiA9PT0gNy4gQWN0dWFsOiAnICsgKDUxMSA+PiA2KSk7IAp9IAoKCmlmICgxMDIzID4+IDYgIT09IDE1KSB7IAogICRFUlJPUignIzIwMzogMTAyMyA+PiA2ID09PSAxNS4gQWN0dWFsOiAnICsgKDEwMjMgPj4gNikpOyAKfSAKCgppZiAoMjA0NyA+PiA2ICE9PSAzMSkgeyAKICAkRVJST1IoJyMyMDQ6IDIwNDcgPj4gNiA9PT0gMzEuIEFjdHVhbDogJyArICgyMDQ3ID4+IDYpKTsgCn0gCgoKaWYgKDQwOTUgPj4gNiAhPT0gNjMpIHsgCiAgJEVSUk9SKCcjMjA1OiA0MDk1ID4+IDYgPT09IDYzLiBBY3R1YWw6ICcgKyAoNDA5NSA+PiA2KSk7IAp9IAoKCmlmICg4MTkxID4+IDYgIT09IDEyNykgeyAKICAkRVJST1IoJyMyMDY6IDgxOTEgPj4gNiA9PT0gMTI3LiBBY3R1YWw6ICcgKyAoODE5MSA+PiA2KSk7IAp9IAoKCmlmICgxNjM4MyA+PiA2ICE9PSAyNTUpIHsgCiAgJEVSUk9SKCcjMjA3OiAxNjM4MyA+PiA2ID09PSAyNTUuIEFjdHVhbDogJyArICgxNjM4MyA+PiA2KSk7IAp9IAoKCmlmICgzMjc2NyA+PiA2ICE9PSA1MTEpIHsgCiAgJEVSUk9SKCcjMjA4OiAzMjc2NyA+PiA2ID09PSA1MTEuIEFjdHVhbDogJyArICgzMjc2NyA+PiA2KSk7IAp9IAoKCmlmICg2NTUzNSA+PiA2ICE9PSAxMDIzKSB7IAogICRFUlJPUignIzIwOTogNjU1MzUgPj4gNiA9PT0gMTAyMy4gQWN0dWFsOiAnICsgKDY1NTM1ID4+IDYpKTsgCn0gCgoKaWYgKDEzMTA3MSA+PiA2ICE9PSAyMDQ3KSB7IAogICRFUlJPUignIzIxMDogMTMxMDcxID4+IDYgPT09IDIwNDcuIEFjdHVhbDogJyArICgxMzEwNzEgPj4gNikpOyAKfSAKCgppZiAoMjYyMTQzID4+IDYgIT09IDQwOTUpIHsgCiAgJEVSUk9SKCcjMjExOiAyNjIxNDMgPj4gNiA9PT0gNDA5NS4gQWN0dWFsOiAnICsgKDI2MjE0MyA+PiA2KSk7IAp9IAoKCmlmICg1MjQyODcgPj4gNiAhPT0gODE5MSkgeyAKICAkRVJST1IoJyMyMTI6IDUyNDI4NyA+PiA2ID09PSA4MTkxLiBBY3R1YWw6ICcgKyAoNTI0Mjg3ID4+IDYpKTsgCn0gCgoKaWYgKDEwNDg1NzUgPj4gNiAhPT0gMTYzODMpIHsgCiAgJEVSUk9SKCcjMjEzOiAxMDQ4NTc1ID4+IDYgPT09IDE2MzgzLiBBY3R1YWw6ICcgKyAoMTA0ODU3NSA+PiA2KSk7IAp9IAoKCmlmICgyMDk3MTUxID4+IDYgIT09IDMyNzY3KSB7IAogICRFUlJPUignIzIxNDogMjA5NzE1MSA+PiA2ID09PSAzMjc2Ny4gQWN0dWFsOiAnICsgKDIwOTcxNTEgPj4gNikpOyAKfSAKCgppZiAoNDE5NDMwMyA+PiA2ICE9PSA2NTUzNSkgeyAKICAkRVJST1IoJyMyMTU6IDQxOTQzMDMgPj4gNiA9PT0gNjU1MzUuIEFjdHVhbDogJyArICg0MTk0MzAzID4+IDYpKTsgCn0gCgoKaWYgKDgzODg2MDcgPj4gNiAhPT0gMTMxMDcxKSB7IAogICRFUlJPUignIzIxNjogODM4ODYwNyA+PiA2ID09PSAxMzEwNzEuIEFjdHVhbDogJyArICg4Mzg4NjA3ID4+IDYpKTsgCn0gCgoKaWYgKDE2Nzc3MjE1ID4+IDYgIT09IDI2MjE0MykgeyAKICAkRVJST1IoJyMyMTc6IDE2Nzc3MjE1ID4+IDYgPT09IDI2MjE0My4gQWN0dWFsOiAnICsgKDE2Nzc3MjE1ID4+IDYpKTsgCn0gCgoKaWYgKDMzNTU0NDMxID4+IDYgIT09IDUyNDI4NykgeyAKICAkRVJST1IoJyMyMTg6IDMzNTU0NDMxID4+IDYgPT09IDUyNDI4Ny4gQWN0dWFsOiAnICsgKDMzNTU0NDMxID4+IDYpKTsgCn0gCgoKaWYgKDY3MTA4ODYzID4+IDYgIT09IDEwNDg1NzUpIHsgCiAgJEVSUk9SKCcjMjE5OiA2NzEwODg2MyA+PiA2ID09PSAxMDQ4NTc1LiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPj4gNikpOyAKfSAKCgppZiAoMTM0MjE3NzI3ID4+IDYgIT09IDIwOTcxNTEpIHsgCiAgJEVSUk9SKCcjMjIwOiAxMzQyMTc3MjcgPj4gNiA9PT0gMjA5NzE1MS4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA+PiA2KSk7IAp9IAoKCmlmICgyNjg0MzU0NTUgPj4gNiAhPT0gNDE5NDMwMykgeyAKICAkRVJST1IoJyMyMjE6IDI2ODQzNTQ1NSA+PiA2ID09PSA0MTk0MzAzLiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU1ID4+IDYpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMSA+PiA2ICE9PSA4Mzg4NjA3KSB7IAogICRFUlJPUignIzIyMjogNTM2ODcwOTExID4+IDYgPT09IDgzODg2MDcuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPj4gNikpOyAKfSAKCgppZiAoMTA3Mzc0MTgyMyA+PiA2ICE9PSAxNjc3NzIxNSkgeyAKICAkRVJST1IoJyMyMjM6IDEwNzM3NDE4MjMgPj4gNiA9PT0gMTY3NzcyMTUuIEFjdHVhbDogJyArICgxMDczNzQxODIzID4+IDYpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDcgPj4gNiAhPT0gMzM1NTQ0MzEpIHsgCiAgJEVSUk9SKCcjMjI0OiAyMTQ3NDgzNjQ3ID4+IDYgPT09IDMzNTU0NDMxLiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiA2KSk7IAp9IAoKCmlmICgwID4+IDcgIT09IDApIHsgCiAgJEVSUk9SKCcjMjI1OiAwID4+IDcgPT09IDAuIEFjdHVhbDogJyArICgwID4+IDcpKTsgCn0gCgoKaWYgKDEgPj4gNyAhPT0gMCkgeyAKICAkRVJST1IoJyMyMjY6IDEgPj4gNyA9PT0gMC4gQWN0dWFsOiAnICsgKDEgPj4gNykpOyAKfSAKCgppZiAoMyA+PiA3ICE9PSAwKSB7IAogICRFUlJPUignIzIyNzogMyA+PiA3ID09PSAwLiBBY3R1YWw6ICcgKyAoMyA+PiA3KSk7IAp9IAoKCmlmICg3ID4+IDcgIT09IDApIHsgCiAgJEVSUk9SKCcjMjI4OiA3ID4+IDcgPT09IDAuIEFjdHVhbDogJyArICg3ID4+IDcpKTsgCn0gCgoKaWYgKDE1ID4+IDcgIT09IDApIHsgCiAgJEVSUk9SKCcjMjI5OiAxNSA+PiA3ID09PSAwLiBBY3R1YWw6ICcgKyAoMTUgPj4gNykpOyAKfSAKCgppZiAoMzEgPj4gNyAhPT0gMCkgeyAKICAkRVJST1IoJyMyMzA6IDMxID4+IDcgPT09IDAuIEFjdHVhbDogJyArICgzMSA+PiA3KSk7IAp9IAoKCmlmICg2MyA+PiA3ICE9PSAwKSB7IAogICRFUlJPUignIzIzMTogNjMgPj4gNyA9PT0gMC4gQWN0dWFsOiAnICsgKDYzID4+IDcpKTsgCn0gCgoKaWYgKDEyNyA+PiA3ICE9PSAwKSB7IAogICRFUlJPUignIzIzMjogMTI3ID4+IDcgPT09IDAuIEFjdHVhbDogJyArICgxMjcgPj4gNykpOyAKfSAKCgppZiAoMjU1ID4+IDcgIT09IDEpIHsgCiAgJEVSUk9SKCcjMjMzOiAyNTUgPj4gNyA9PT0gMS4gQWN0dWFsOiAnICsgKDI1NSA+PiA3KSk7IAp9IAoKCmlmICg1MTEgPj4gNyAhPT0gMykgeyAKICAkRVJST1IoJyMyMzQ6IDUxMSA+PiA3ID09PSAzLiBBY3R1YWw6ICcgKyAoNTExID4+IDcpKTsgCn0gCgoKaWYgKDEwMjMgPj4gNyAhPT0gNykgeyAKICAkRVJST1IoJyMyMzU6IDEwMjMgPj4gNyA9PT0gNy4gQWN0dWFsOiAnICsgKDEwMjMgPj4gNykpOyAKfSAKCgppZiAoMjA0NyA+PiA3ICE9PSAxNSkgeyAKICAkRVJST1IoJyMyMzY6IDIwNDcgPj4gNyA9PT0gMTUuIEFjdHVhbDogJyArICgyMDQ3ID4+IDcpKTsgCn0gCgoKaWYgKDQwOTUgPj4gNyAhPT0gMzEpIHsgCiAgJEVSUk9SKCcjMjM3OiA0MDk1ID4+IDcgPT09IDMxLiBBY3R1YWw6ICcgKyAoNDA5NSA+PiA3KSk7IAp9IAoKCmlmICg4MTkxID4+IDcgIT09IDYzKSB7IAogICRFUlJPUignIzIzODogODE5MSA+PiA3ID09PSA2My4gQWN0dWFsOiAnICsgKDgxOTEgPj4gNykpOyAKfSAKCgppZiAoMTYzODMgPj4gNyAhPT0gMTI3KSB7IAogICRFUlJPUignIzIzOTogMTYzODMgPj4gNyA9PT0gMTI3LiBBY3R1YWw6ICcgKyAoMTYzODMgPj4gNykpOyAKfSAKCgppZiAoMzI3NjcgPj4gNyAhPT0gMjU1KSB7IAogICRFUlJPUignIzI0MDogMzI3NjcgPj4gNyA9PT0gMjU1LiBBY3R1YWw6ICcgKyAoMzI3NjcgPj4gNykpOyAKfSAKCgppZiAoNjU1MzUgPj4gNyAhPT0gNTExKSB7IAogICRFUlJPUignIzI0MTogNjU1MzUgPj4gNyA9PT0gNTExLiBBY3R1YWw6ICcgKyAoNjU1MzUgPj4gNykpOyAKfSAKCgppZiAoMTMxMDcxID4+IDcgIT09IDEwMjMpIHsgCiAgJEVSUk9SKCcjMjQyOiAxMzEwNzEgPj4gNyA9PT0gMTAyMy4gQWN0dWFsOiAnICsgKDEzMTA3MSA+PiA3KSk7IAp9IAoKCmlmICgyNjIxNDMgPj4gNyAhPT0gMjA0NykgeyAKICAkRVJST1IoJyMyNDM6IDI2MjE0MyA+PiA3ID09PSAyMDQ3LiBBY3R1YWw6ICcgKyAoMjYyMTQzID4+IDcpKTsgCn0gCgoKaWYgKDUyNDI4NyA+PiA3ICE9PSA0MDk1KSB7IAogICRFUlJPUignIzI0NDogNTI0Mjg3ID4+IDcgPT09IDQwOTUuIEFjdHVhbDogJyArICg1MjQyODcgPj4gNykpOyAKfSAKCgppZiAoMTA0ODU3NSA+PiA3ICE9PSA4MTkxKSB7IAogICRFUlJPUignIzI0NTogMTA0ODU3NSA+PiA3ID09PSA4MTkxLiBBY3R1YWw6ICcgKyAoMTA0ODU3NSA+PiA3KSk7IAp9IAoKCmlmICgyMDk3MTUxID4+IDcgIT09IDE2MzgzKSB7IAogICRFUlJPUignIzI0NjogMjA5NzE1MSA+PiA3ID09PSAxNjM4My4gQWN0dWFsOiAnICsgKDIwOTcxNTEgPj4gNykpOyAKfSAKCgppZiAoNDE5NDMwMyA+PiA3ICE9PSAzMjc2NykgeyAKICAkRVJST1IoJyMyNDc6IDQxOTQzMDMgPj4gNyA9PT0gMzI3NjcuIEFjdHVhbDogJyArICg0MTk0MzAzID4+IDcpKTsgCn0gCgoKaWYgKDgzODg2MDcgPj4gNyAhPT0gNjU1MzUpIHsgCiAgJEVSUk9SKCcjMjQ4OiA4Mzg4NjA3ID4+IDcgPT09IDY1NTM1LiBBY3R1YWw6ICcgKyAoODM4ODYwNyA+PiA3KSk7IAp9IAoKCmlmICgxNjc3NzIxNSA+PiA3ICE9PSAxMzEwNzEpIHsgCiAgJEVSUk9SKCcjMjQ5OiAxNjc3NzIxNSA+PiA3ID09PSAxMzEwNzEuIEFjdHVhbDogJyArICgxNjc3NzIxNSA+PiA3KSk7IAp9IAoKCmlmICgzMzU1NDQzMSA+PiA3ICE9PSAyNjIxNDMpIHsgCiAgJEVSUk9SKCcjMjUwOiAzMzU1NDQzMSA+PiA3ID09PSAyNjIxNDMuIEFjdHVhbDogJyArICgzMzU1NDQzMSA+PiA3KSk7IAp9IAoKCmlmICg2NzEwODg2MyA+PiA3ICE9PSA1MjQyODcpIHsgCiAgJEVSUk9SKCcjMjUxOiA2NzEwODg2MyA+PiA3ID09PSA1MjQyODcuIEFjdHVhbDogJyArICg2NzEwODg2MyA+PiA3KSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPj4gNyAhPT0gMTA0ODU3NSkgeyAKICAkRVJST1IoJyMyNTI6IDEzNDIxNzcyNyA+PiA3ID09PSAxMDQ4NTc1LiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI3ID4+IDcpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NSA+PiA3ICE9PSAyMDk3MTUxKSB7IAogICRFUlJPUignIzI1MzogMjY4NDM1NDU1ID4+IDcgPT09IDIwOTcxNTEuIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPj4gNykpOyAKfSAKCgppZiAoNTM2ODcwOTExID4+IDcgIT09IDQxOTQzMDMpIHsgCiAgJEVSUk9SKCcjMjU0OiA1MzY4NzA5MTEgPj4gNyA9PT0gNDE5NDMwMy4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMSA+PiA3KSk7IAp9IAoKCmlmICgxMDczNzQxODIzID4+IDcgIT09IDgzODg2MDcpIHsgCiAgJEVSUk9SKCcjMjU1OiAxMDczNzQxODIzID4+IDcgPT09IDgzODg2MDcuIEFjdHVhbDogJyArICgxMDczNzQxODIzID4+IDcpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDcgPj4gNyAhPT0gMTY3NzcyMTUpIHsgCiAgJEVSUk9SKCcjMjU2OiAyMTQ3NDgzNjQ3ID4+IDcgPT09IDE2Nzc3MjE1LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiA3KSk7IAp9IAoKCmlmICgwID4+IDggIT09IDApIHsgCiAgJEVSUk9SKCcjMjU3OiAwID4+IDggPT09IDAuIEFjdHVhbDogJyArICgwID4+IDgpKTsgCn0gCgoKaWYgKDEgPj4gOCAhPT0gMCkgeyAKICAkRVJST1IoJyMyNTg6IDEgPj4gOCA9PT0gMC4gQWN0dWFsOiAnICsgKDEgPj4gOCkpOyAKfSAKCgppZiAoMyA+PiA4ICE9PSAwKSB7IAogICRFUlJPUignIzI1OTogMyA+PiA4ID09PSAwLiBBY3R1YWw6ICcgKyAoMyA+PiA4KSk7IAp9IAoKCmlmICg3ID4+IDggIT09IDApIHsgCiAgJEVSUk9SKCcjMjYwOiA3ID4+IDggPT09IDAuIEFjdHVhbDogJyArICg3ID4+IDgpKTsgCn0gCgoKaWYgKDE1ID4+IDggIT09IDApIHsgCiAgJEVSUk9SKCcjMjYxOiAxNSA+PiA4ID09PSAwLiBBY3R1YWw6ICcgKyAoMTUgPj4gOCkpOyAKfSAKCgppZiAoMzEgPj4gOCAhPT0gMCkgeyAKICAkRVJST1IoJyMyNjI6IDMxID4+IDggPT09IDAuIEFjdHVhbDogJyArICgzMSA+PiA4KSk7IAp9IAoKCmlmICg2MyA+PiA4ICE9PSAwKSB7IAogICRFUlJPUignIzI2MzogNjMgPj4gOCA9PT0gMC4gQWN0dWFsOiAnICsgKDYzID4+IDgpKTsgCn0gCgoKaWYgKDEyNyA+PiA4ICE9PSAwKSB7IAogICRFUlJPUignIzI2NDogMTI3ID4+IDggPT09IDAuIEFjdHVhbDogJyArICgxMjcgPj4gOCkpOyAKfSAKCgppZiAoMjU1ID4+IDggIT09IDApIHsgCiAgJEVSUk9SKCcjMjY1OiAyNTUgPj4gOCA9PT0gMC4gQWN0dWFsOiAnICsgKDI1NSA+PiA4KSk7IAp9IAoKCmlmICg1MTEgPj4gOCAhPT0gMSkgeyAKICAkRVJST1IoJyMyNjY6IDUxMSA+PiA4ID09PSAxLiBBY3R1YWw6ICcgKyAoNTExID4+IDgpKTsgCn0gCgoKaWYgKDEwMjMgPj4gOCAhPT0gMykgeyAKICAkRVJST1IoJyMyNjc6IDEwMjMgPj4gOCA9PT0gMy4gQWN0dWFsOiAnICsgKDEwMjMgPj4gOCkpOyAKfSAKCgppZiAoMjA0NyA+PiA4ICE9PSA3KSB7IAogICRFUlJPUignIzI2ODogMjA0NyA+PiA4ID09PSA3LiBBY3R1YWw6ICcgKyAoMjA0NyA+PiA4KSk7IAp9IAoKCmlmICg0MDk1ID4+IDggIT09IDE1KSB7IAogICRFUlJPUignIzI2OTogNDA5NSA+PiA4ID09PSAxNS4gQWN0dWFsOiAnICsgKDQwOTUgPj4gOCkpOyAKfSAKCgppZiAoODE5MSA+PiA4ICE9PSAzMSkgeyAKICAkRVJST1IoJyMyNzA6IDgxOTEgPj4gOCA9PT0gMzEuIEFjdHVhbDogJyArICg4MTkxID4+IDgpKTsgCn0gCgoKaWYgKDE2MzgzID4+IDggIT09IDYzKSB7IAogICRFUlJPUignIzI3MTogMTYzODMgPj4gOCA9PT0gNjMuIEFjdHVhbDogJyArICgxNjM4MyA+PiA4KSk7IAp9IAoKCmlmICgzMjc2NyA+PiA4ICE9PSAxMjcpIHsgCiAgJEVSUk9SKCcjMjcyOiAzMjc2NyA+PiA4ID09PSAxMjcuIEFjdHVhbDogJyArICgzMjc2NyA+PiA4KSk7IAp9IAoKCmlmICg2NTUzNSA+PiA4ICE9PSAyNTUpIHsgCiAgJEVSUk9SKCcjMjczOiA2NTUzNSA+PiA4ID09PSAyNTUuIEFjdHVhbDogJyArICg2NTUzNSA+PiA4KSk7IAp9IAoKCmlmICgxMzEwNzEgPj4gOCAhPT0gNTExKSB7IAogICRFUlJPUignIzI3NDogMTMxMDcxID4+IDggPT09IDUxMS4gQWN0dWFsOiAnICsgKDEzMTA3MSA+PiA4KSk7IAp9IAoKCmlmICgyNjIxNDMgPj4gOCAhPT0gMTAyMykgeyAKICAkRVJST1IoJyMyNzU6IDI2MjE0MyA+PiA4ID09PSAxMDIzLiBBY3R1YWw6ICcgKyAoMjYyMTQzID4+IDgpKTsgCn0gCgoKaWYgKDUyNDI4NyA+PiA4ICE9PSAyMDQ3KSB7IAogICRFUlJPUignIzI3NjogNTI0Mjg3ID4+IDggPT09IDIwNDcuIEFjdHVhbDogJyArICg1MjQyODcgPj4gOCkpOyAKfSAKCgppZiAoMTA0ODU3NSA+PiA4ICE9PSA0MDk1KSB7IAogICRFUlJPUignIzI3NzogMTA0ODU3NSA+PiA4ID09PSA0MDk1LiBBY3R1YWw6ICcgKyAoMTA0ODU3NSA+PiA4KSk7IAp9IAoKCmlmICgyMDk3MTUxID4+IDggIT09IDgxOTEpIHsgCiAgJEVSUk9SKCcjMjc4OiAyMDk3MTUxID4+IDggPT09IDgxOTEuIEFjdHVhbDogJyArICgyMDk3MTUxID4+IDgpKTsgCn0gCgoKaWYgKDQxOTQzMDMgPj4gOCAhPT0gMTYzODMpIHsgCiAgJEVSUk9SKCcjMjc5OiA0MTk0MzAzID4+IDggPT09IDE2MzgzLiBBY3R1YWw6ICcgKyAoNDE5NDMwMyA+PiA4KSk7IAp9IAoKCmlmICg4Mzg4NjA3ID4+IDggIT09IDMyNzY3KSB7IAogICRFUlJPUignIzI4MDogODM4ODYwNyA+PiA4ID09PSAzMjc2Ny4gQWN0dWFsOiAnICsgKDgzODg2MDcgPj4gOCkpOyAKfSAKCgppZiAoMTY3NzcyMTUgPj4gOCAhPT0gNjU1MzUpIHsgCiAgJEVSUk9SKCcjMjgxOiAxNjc3NzIxNSA+PiA4ID09PSA2NTUzNS4gQWN0dWFsOiAnICsgKDE2Nzc3MjE1ID4+IDgpKTsgCn0gCgoKaWYgKDMzNTU0NDMxID4+IDggIT09IDEzMTA3MSkgeyAKICAkRVJST1IoJyMyODI6IDMzNTU0NDMxID4+IDggPT09IDEzMTA3MS4gQWN0dWFsOiAnICsgKDMzNTU0NDMxID4+IDgpKTsgCn0gCgoKaWYgKDY3MTA4ODYzID4+IDggIT09IDI2MjE0MykgeyAKICAkRVJST1IoJyMyODM6IDY3MTA4ODYzID4+IDggPT09IDI2MjE0My4gQWN0dWFsOiAnICsgKDY3MTA4ODYzID4+IDgpKTsgCn0gCgoKaWYgKDEzNDIxNzcyNyA+PiA4ICE9PSA1MjQyODcpIHsgCiAgJEVSUk9SKCcjMjg0OiAxMzQyMTc3MjcgPj4gOCA9PT0gNTI0Mjg3LiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI3ID4+IDgpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NSA+PiA4ICE9PSAxMDQ4NTc1KSB7IAogICRFUlJPUignIzI4NTogMjY4NDM1NDU1ID4+IDggPT09IDEwNDg1NzUuIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPj4gOCkpOyAKfSAKCgppZiAoNTM2ODcwOTExID4+IDggIT09IDIwOTcxNTEpIHsgCiAgJEVSUk9SKCcjMjg2OiA1MzY4NzA5MTEgPj4gOCA9PT0gMjA5NzE1MS4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMSA+PiA4KSk7IAp9IAoKCmlmICgxMDczNzQxODIzID4+IDggIT09IDQxOTQzMDMpIHsgCiAgJEVSUk9SKCcjMjg3OiAxMDczNzQxODIzID4+IDggPT09IDQxOTQzMDMuIEFjdHVhbDogJyArICgxMDczNzQxODIzID4+IDgpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDcgPj4gOCAhPT0gODM4ODYwNykgeyAKICAkRVJST1IoJyMyODg6IDIxNDc0ODM2NDcgPj4gOCA9PT0gODM4ODYwNy4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4gOCkpOyAKfSAKCgppZiAoMCA+PiA5ICE9PSAwKSB7IAogICRFUlJPUignIzI4OTogMCA+PiA5ID09PSAwLiBBY3R1YWw6ICcgKyAoMCA+PiA5KSk7IAp9IAoKCmlmICgxID4+IDkgIT09IDApIHsgCiAgJEVSUk9SKCcjMjkwOiAxID4+IDkgPT09IDAuIEFjdHVhbDogJyArICgxID4+IDkpKTsgCn0gCgoKaWYgKDMgPj4gOSAhPT0gMCkgeyAKICAkRVJST1IoJyMyOTE6IDMgPj4gOSA9PT0gMC4gQWN0dWFsOiAnICsgKDMgPj4gOSkpOyAKfSAKCgppZiAoNyA+PiA5ICE9PSAwKSB7IAogICRFUlJPUignIzI5MjogNyA+PiA5ID09PSAwLiBBY3R1YWw6ICcgKyAoNyA+PiA5KSk7IAp9IAoKCmlmICgxNSA+PiA5ICE9PSAwKSB7IAogICRFUlJPUignIzI5MzogMTUgPj4gOSA9PT0gMC4gQWN0dWFsOiAnICsgKDE1ID4+IDkpKTsgCn0gCgoKaWYgKDMxID4+IDkgIT09IDApIHsgCiAgJEVSUk9SKCcjMjk0OiAzMSA+PiA5ID09PSAwLiBBY3R1YWw6ICcgKyAoMzEgPj4gOSkpOyAKfSAKCgppZiAoNjMgPj4gOSAhPT0gMCkgeyAKICAkRVJST1IoJyMyOTU6IDYzID4+IDkgPT09IDAuIEFjdHVhbDogJyArICg2MyA+PiA5KSk7IAp9IAoKCmlmICgxMjcgPj4gOSAhPT0gMCkgeyAKICAkRVJST1IoJyMyOTY6IDEyNyA+PiA5ID09PSAwLiBBY3R1YWw6ICcgKyAoMTI3ID4+IDkpKTsgCn0gCgoKaWYgKDI1NSA+PiA5ICE9PSAwKSB7IAogICRFUlJPUignIzI5NzogMjU1ID4+IDkgPT09IDAuIEFjdHVhbDogJyArICgyNTUgPj4gOSkpOyAKfSAKCgppZiAoNTExID4+IDkgIT09IDApIHsgCiAgJEVSUk9SKCcjMjk4OiA1MTEgPj4gOSA9PT0gMC4gQWN0dWFsOiAnICsgKDUxMSA+PiA5KSk7IAp9IAoKCmlmICgxMDIzID4+IDkgIT09IDEpIHsgCiAgJEVSUk9SKCcjMjk5OiAxMDIzID4+IDkgPT09IDEuIEFjdHVhbDogJyArICgxMDIzID4+IDkpKTsgCn0gCgoKaWYgKDIwNDcgPj4gOSAhPT0gMykgeyAKICAkRVJST1IoJyMzMDA6IDIwNDcgPj4gOSA9PT0gMy4gQWN0dWFsOiAnICsgKDIwNDcgPj4gOSkpOyAKfSAKCgppZiAoNDA5NSA+PiA5ICE9PSA3KSB7IAogICRFUlJPUignIzMwMTogNDA5NSA+PiA5ID09PSA3LiBBY3R1YWw6ICcgKyAoNDA5NSA+PiA5KSk7IAp9IAoKCmlmICg4MTkxID4+IDkgIT09IDE1KSB7IAogICRFUlJPUignIzMwMjogODE5MSA+PiA5ID09PSAxNS4gQWN0dWFsOiAnICsgKDgxOTEgPj4gOSkpOyAKfSAKCgppZiAoMTYzODMgPj4gOSAhPT0gMzEpIHsgCiAgJEVSUk9SKCcjMzAzOiAxNjM4MyA+PiA5ID09PSAzMS4gQWN0dWFsOiAnICsgKDE2MzgzID4+IDkpKTsgCn0gCgoKaWYgKDMyNzY3ID4+IDkgIT09IDYzKSB7IAogICRFUlJPUignIzMwNDogMzI3NjcgPj4gOSA9PT0gNjMuIEFjdHVhbDogJyArICgzMjc2NyA+PiA5KSk7IAp9IAoKCmlmICg2NTUzNSA+PiA5ICE9PSAxMjcpIHsgCiAgJEVSUk9SKCcjMzA1OiA2NTUzNSA+PiA5ID09PSAxMjcuIEFjdHVhbDogJyArICg2NTUzNSA+PiA5KSk7IAp9IAoKCmlmICgxMzEwNzEgPj4gOSAhPT0gMjU1KSB7IAogICRFUlJPUignIzMwNjogMTMxMDcxID4+IDkgPT09IDI1NS4gQWN0dWFsOiAnICsgKDEzMTA3MSA+PiA5KSk7IAp9IAoKCmlmICgyNjIxNDMgPj4gOSAhPT0gNTExKSB7IAogICRFUlJPUignIzMwNzogMjYyMTQzID4+IDkgPT09IDUxMS4gQWN0dWFsOiAnICsgKDI2MjE0MyA+PiA5KSk7IAp9IAoKCmlmICg1MjQyODcgPj4gOSAhPT0gMTAyMykgeyAKICAkRVJST1IoJyMzMDg6IDUyNDI4NyA+PiA5ID09PSAxMDIzLiBBY3R1YWw6ICcgKyAoNTI0Mjg3ID4+IDkpKTsgCn0gCgoKaWYgKDEwNDg1NzUgPj4gOSAhPT0gMjA0NykgeyAKICAkRVJST1IoJyMzMDk6IDEwNDg1NzUgPj4gOSA9PT0gMjA0Ny4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPj4gOSkpOyAKfSAKCgppZiAoMjA5NzE1MSA+PiA5ICE9PSA0MDk1KSB7IAogICRFUlJPUignIzMxMDogMjA5NzE1MSA+PiA5ID09PSA0MDk1LiBBY3R1YWw6ICcgKyAoMjA5NzE1MSA+PiA5KSk7IAp9IAoKCmlmICg0MTk0MzAzID4+IDkgIT09IDgxOTEpIHsgCiAgJEVSUk9SKCcjMzExOiA0MTk0MzAzID4+IDkgPT09IDgxOTEuIEFjdHVhbDogJyArICg0MTk0MzAzID4+IDkpKTsgCn0gCgoKaWYgKDgzODg2MDcgPj4gOSAhPT0gMTYzODMpIHsgCiAgJEVSUk9SKCcjMzEyOiA4Mzg4NjA3ID4+IDkgPT09IDE2MzgzLiBBY3R1YWw6ICcgKyAoODM4ODYwNyA+PiA5KSk7IAp9IAoKCmlmICgxNjc3NzIxNSA+PiA5ICE9PSAzMjc2NykgeyAKICAkRVJST1IoJyMzMTM6IDE2Nzc3MjE1ID4+IDkgPT09IDMyNzY3LiBBY3R1YWw6ICcgKyAoMTY3NzcyMTUgPj4gOSkpOyAKfSAKCgppZiAoMzM1NTQ0MzEgPj4gOSAhPT0gNjU1MzUpIHsgCiAgJEVSUk9SKCcjMzE0OiAzMzU1NDQzMSA+PiA5ID09PSA2NTUzNS4gQWN0dWFsOiAnICsgKDMzNTU0NDMxID4+IDkpKTsgCn0gCgoKaWYgKDY3MTA4ODYzID4+IDkgIT09IDEzMTA3MSkgeyAKICAkRVJST1IoJyMzMTU6IDY3MTA4ODYzID4+IDkgPT09IDEzMTA3MS4gQWN0dWFsOiAnICsgKDY3MTA4ODYzID4+IDkpKTsgCn0gCgoKaWYgKDEzNDIxNzcyNyA+PiA5ICE9PSAyNjIxNDMpIHsgCiAgJEVSUk9SKCcjMzE2OiAxMzQyMTc3MjcgPj4gOSA9PT0gMjYyMTQzLiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI3ID4+IDkpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NSA+PiA5ICE9PSA1MjQyODcpIHsgCiAgJEVSUk9SKCcjMzE3OiAyNjg0MzU0NTUgPj4gOSA9PT0gNTI0Mjg3LiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU1ID4+IDkpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMSA+PiA5ICE9PSAxMDQ4NTc1KSB7IAogICRFUlJPUignIzMxODogNTM2ODcwOTExID4+IDkgPT09IDEwNDg1NzUuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPj4gOSkpOyAKfSAKCgppZiAoMTA3Mzc0MTgyMyA+PiA5ICE9PSAyMDk3MTUxKSB7IAogICRFUlJPUignIzMxOTogMTA3Mzc0MTgyMyA+PiA5ID09PSAyMDk3MTUxLiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA+PiA5KSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ3ID4+IDkgIT09IDQxOTQzMDMpIHsgCiAgJEVSUk9SKCcjMzIwOiAyMTQ3NDgzNjQ3ID4+IDkgPT09IDQxOTQzMDMuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3ID4+IDkpKTsgCn0gCgoKaWYgKDAgPj4gMTAgIT09IDApIHsgCiAgJEVSUk9SKCcjMzIxOiAwID4+IDEwID09PSAwLiBBY3R1YWw6ICcgKyAoMCA+PiAxMCkpOyAKfSAKCgppZiAoMSA+PiAxMCAhPT0gMCkgeyAKICAkRVJST1IoJyMzMjI6IDEgPj4gMTAgPT09IDAuIEFjdHVhbDogJyArICgxID4+IDEwKSk7IAp9IAoKCmlmICgzID4+IDEwICE9PSAwKSB7IAogICRFUlJPUignIzMyMzogMyA+PiAxMCA9PT0gMC4gQWN0dWFsOiAnICsgKDMgPj4gMTApKTsgCn0gCgoKaWYgKDcgPj4gMTAgIT09IDApIHsgCiAgJEVSUk9SKCcjMzI0OiA3ID4+IDEwID09PSAwLiBBY3R1YWw6ICcgKyAoNyA+PiAxMCkpOyAKfSAKCgppZiAoMTUgPj4gMTAgIT09IDApIHsgCiAgJEVSUk9SKCcjMzI1OiAxNSA+PiAxMCA9PT0gMC4gQWN0dWFsOiAnICsgKDE1ID4+IDEwKSk7IAp9IAoKCmlmICgzMSA+PiAxMCAhPT0gMCkgeyAKICAkRVJST1IoJyMzMjY6IDMxID4+IDEwID09PSAwLiBBY3R1YWw6ICcgKyAoMzEgPj4gMTApKTsgCn0gCgoKaWYgKDYzID4+IDEwICE9PSAwKSB7IAogICRFUlJPUignIzMyNzogNjMgPj4gMTAgPT09IDAuIEFjdHVhbDogJyArICg2MyA+PiAxMCkpOyAKfSAKCgppZiAoMTI3ID4+IDEwICE9PSAwKSB7IAogICRFUlJPUignIzMyODogMTI3ID4+IDEwID09PSAwLiBBY3R1YWw6ICcgKyAoMTI3ID4+IDEwKSk7IAp9IAoKCmlmICgyNTUgPj4gMTAgIT09IDApIHsgCiAgJEVSUk9SKCcjMzI5OiAyNTUgPj4gMTAgPT09IDAuIEFjdHVhbDogJyArICgyNTUgPj4gMTApKTsgCn0gCgoKaWYgKDUxMSA+PiAxMCAhPT0gMCkgeyAKICAkRVJST1IoJyMzMzA6IDUxMSA+PiAxMCA9PT0gMC4gQWN0dWFsOiAnICsgKDUxMSA+PiAxMCkpOyAKfSAKCgppZiAoMTAyMyA+PiAxMCAhPT0gMCkgeyAKICAkRVJST1IoJyMzMzE6IDEwMjMgPj4gMTAgPT09IDAuIEFjdHVhbDogJyArICgxMDIzID4+IDEwKSk7IAp9IAoKCmlmICgyMDQ3ID4+IDEwICE9PSAxKSB7IAogICRFUlJPUignIzMzMjogMjA0NyA+PiAxMCA9PT0gMS4gQWN0dWFsOiAnICsgKDIwNDcgPj4gMTApKTsgCn0gCgoKaWYgKDQwOTUgPj4gMTAgIT09IDMpIHsgCiAgJEVSUk9SKCcjMzMzOiA0MDk1ID4+IDEwID09PSAzLiBBY3R1YWw6ICcgKyAoNDA5NSA+PiAxMCkpOyAKfSAKCgppZiAoODE5MSA+PiAxMCAhPT0gNykgeyAKICAkRVJST1IoJyMzMzQ6IDgxOTEgPj4gMTAgPT09IDcuIEFjdHVhbDogJyArICg4MTkxID4+IDEwKSk7IAp9IAoKCmlmICgxNjM4MyA+PiAxMCAhPT0gMTUpIHsgCiAgJEVSUk9SKCcjMzM1OiAxNjM4MyA+PiAxMCA9PT0gMTUuIEFjdHVhbDogJyArICgxNjM4MyA+PiAxMCkpOyAKfSAKCgppZiAoMzI3NjcgPj4gMTAgIT09IDMxKSB7IAogICRFUlJPUignIzMzNjogMzI3NjcgPj4gMTAgPT09IDMxLiBBY3R1YWw6ICcgKyAoMzI3NjcgPj4gMTApKTsgCn0gCgoKaWYgKDY1NTM1ID4+IDEwICE9PSA2MykgeyAKICAkRVJST1IoJyMzMzc6IDY1NTM1ID4+IDEwID09PSA2My4gQWN0dWFsOiAnICsgKDY1NTM1ID4+IDEwKSk7IAp9IAoKCmlmICgxMzEwNzEgPj4gMTAgIT09IDEyNykgeyAKICAkRVJST1IoJyMzMzg6IDEzMTA3MSA+PiAxMCA9PT0gMTI3LiBBY3R1YWw6ICcgKyAoMTMxMDcxID4+IDEwKSk7IAp9IAoKCmlmICgyNjIxNDMgPj4gMTAgIT09IDI1NSkgeyAKICAkRVJST1IoJyMzMzk6IDI2MjE0MyA+PiAxMCA9PT0gMjU1LiBBY3R1YWw6ICcgKyAoMjYyMTQzID4+IDEwKSk7IAp9IAoKCmlmICg1MjQyODcgPj4gMTAgIT09IDUxMSkgeyAKICAkRVJST1IoJyMzNDA6IDUyNDI4NyA+PiAxMCA9PT0gNTExLiBBY3R1YWw6ICcgKyAoNTI0Mjg3ID4+IDEwKSk7IAp9IAoKCmlmICgxMDQ4NTc1ID4+IDEwICE9PSAxMDIzKSB7IAogICRFUlJPUignIzM0MTogMTA0ODU3NSA+PiAxMCA9PT0gMTAyMy4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPj4gMTApKTsgCn0gCgoKaWYgKDIwOTcxNTEgPj4gMTAgIT09IDIwNDcpIHsgCiAgJEVSUk9SKCcjMzQyOiAyMDk3MTUxID4+IDEwID09PSAyMDQ3LiBBY3R1YWw6ICcgKyAoMjA5NzE1MSA+PiAxMCkpOyAKfSAKCgppZiAoNDE5NDMwMyA+PiAxMCAhPT0gNDA5NSkgeyAKICAkRVJST1IoJyMzNDM6IDQxOTQzMDMgPj4gMTAgPT09IDQwOTUuIEFjdHVhbDogJyArICg0MTk0MzAzID4+IDEwKSk7IAp9IAoKCmlmICg4Mzg4NjA3ID4+IDEwICE9PSA4MTkxKSB7IAogICRFUlJPUignIzM0NDogODM4ODYwNyA+PiAxMCA9PT0gODE5MS4gQWN0dWFsOiAnICsgKDgzODg2MDcgPj4gMTApKTsgCn0gCgoKaWYgKDE2Nzc3MjE1ID4+IDEwICE9PSAxNjM4MykgeyAKICAkRVJST1IoJyMzNDU6IDE2Nzc3MjE1ID4+IDEwID09PSAxNjM4My4gQWN0dWFsOiAnICsgKDE2Nzc3MjE1ID4+IDEwKSk7IAp9IAoKCmlmICgzMzU1NDQzMSA+PiAxMCAhPT0gMzI3NjcpIHsgCiAgJEVSUk9SKCcjMzQ2OiAzMzU1NDQzMSA+PiAxMCA9PT0gMzI3NjcuIEFjdHVhbDogJyArICgzMzU1NDQzMSA+PiAxMCkpOyAKfSAKCgppZiAoNjcxMDg4NjMgPj4gMTAgIT09IDY1NTM1KSB7IAogICRFUlJPUignIzM0NzogNjcxMDg4NjMgPj4gMTAgPT09IDY1NTM1LiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPj4gMTApKTsgCn0gCgoKaWYgKDEzNDIxNzcyNyA+PiAxMCAhPT0gMTMxMDcxKSB7IAogICRFUlJPUignIzM0ODogMTM0MjE3NzI3ID4+IDEwID09PSAxMzEwNzEuIEFjdHVhbDogJyArICgxMzQyMTc3MjcgPj4gMTApKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NSA+PiAxMCAhPT0gMjYyMTQzKSB7IAogICRFUlJPUignIzM0OTogMjY4NDM1NDU1ID4+IDEwID09PSAyNjIxNDMuIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPj4gMTApKTsgCn0gCgoKaWYgKDUzNjg3MDkxMSA+PiAxMCAhPT0gNTI0Mjg3KSB7IAogICRFUlJPUignIzM1MDogNTM2ODcwOTExID4+IDEwID09PSA1MjQyODcuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPj4gMTApKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjMgPj4gMTAgIT09IDEwNDg1NzUpIHsgCiAgJEVSUk9SKCcjMzUxOiAxMDczNzQxODIzID4+IDEwID09PSAxMDQ4NTc1LiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA+PiAxMCkpOyAKfSAKCgppZiAoMjE0NzQ4MzY0NyA+PiAxMCAhPT0gMjA5NzE1MSkgeyAKICAkRVJST1IoJyMzNTI6IDIxNDc0ODM2NDcgPj4gMTAgPT09IDIwOTcxNTEuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3ID4+IDEwKSk7IAp9IAoKCmlmICgwID4+IDExICE9PSAwKSB7IAogICRFUlJPUignIzM1MzogMCA+PiAxMSA9PT0gMC4gQWN0dWFsOiAnICsgKDAgPj4gMTEpKTsgCn0gCgoKaWYgKDEgPj4gMTEgIT09IDApIHsgCiAgJEVSUk9SKCcjMzU0OiAxID4+IDExID09PSAwLiBBY3R1YWw6ICcgKyAoMSA+PiAxMSkpOyAKfSAKCgppZiAoMyA+PiAxMSAhPT0gMCkgeyAKICAkRVJST1IoJyMzNTU6IDMgPj4gMTEgPT09IDAuIEFjdHVhbDogJyArICgzID4+IDExKSk7IAp9IAoKCmlmICg3ID4+IDExICE9PSAwKSB7IAogICRFUlJPUignIzM1NjogNyA+PiAxMSA9PT0gMC4gQWN0dWFsOiAnICsgKDcgPj4gMTEpKTsgCn0gCgoKaWYgKDE1ID4+IDExICE9PSAwKSB7IAogICRFUlJPUignIzM1NzogMTUgPj4gMTEgPT09IDAuIEFjdHVhbDogJyArICgxNSA+PiAxMSkpOyAKfSAKCgppZiAoMzEgPj4gMTEgIT09IDApIHsgCiAgJEVSUk9SKCcjMzU4OiAzMSA+PiAxMSA9PT0gMC4gQWN0dWFsOiAnICsgKDMxID4+IDExKSk7IAp9IAoKCmlmICg2MyA+PiAxMSAhPT0gMCkgeyAKICAkRVJST1IoJyMzNTk6IDYzID4+IDExID09PSAwLiBBY3R1YWw6ICcgKyAoNjMgPj4gMTEpKTsgCn0gCgoKaWYgKDEyNyA+PiAxMSAhPT0gMCkgeyAKICAkRVJST1IoJyMzNjA6IDEyNyA+PiAxMSA9PT0gMC4gQWN0dWFsOiAnICsgKDEyNyA+PiAxMSkpOyAKfSAKCgppZiAoMjU1ID4+IDExICE9PSAwKSB7IAogICRFUlJPUignIzM2MTogMjU1ID4+IDExID09PSAwLiBBY3R1YWw6ICcgKyAoMjU1ID4+IDExKSk7IAp9IAoKCmlmICg1MTEgPj4gMTEgIT09IDApIHsgCiAgJEVSUk9SKCcjMzYyOiA1MTEgPj4gMTEgPT09IDAuIEFjdHVhbDogJyArICg1MTEgPj4gMTEpKTsgCn0gCgoKaWYgKDEwMjMgPj4gMTEgIT09IDApIHsgCiAgJEVSUk9SKCcjMzYzOiAxMDIzID4+IDExID09PSAwLiBBY3R1YWw6ICcgKyAoMTAyMyA+PiAxMSkpOyAKfSAKCgppZiAoMjA0NyA+PiAxMSAhPT0gMCkgeyAKICAkRVJST1IoJyMzNjQ6IDIwNDcgPj4gMTEgPT09IDAuIEFjdHVhbDogJyArICgyMDQ3ID4+IDExKSk7IAp9IAoKCmlmICg0MDk1ID4+IDExICE9PSAxKSB7IAogICRFUlJPUignIzM2NTogNDA5NSA+PiAxMSA9PT0gMS4gQWN0dWFsOiAnICsgKDQwOTUgPj4gMTEpKTsgCn0gCgoKaWYgKDgxOTEgPj4gMTEgIT09IDMpIHsgCiAgJEVSUk9SKCcjMzY2OiA4MTkxID4+IDExID09PSAzLiBBY3R1YWw6ICcgKyAoODE5MSA+PiAxMSkpOyAKfSAKCgppZiAoMTYzODMgPj4gMTEgIT09IDcpIHsgCiAgJEVSUk9SKCcjMzY3OiAxNjM4MyA+PiAxMSA9PT0gNy4gQWN0dWFsOiAnICsgKDE2MzgzID4+IDExKSk7IAp9IAoKCmlmICgzMjc2NyA+PiAxMSAhPT0gMTUpIHsgCiAgJEVSUk9SKCcjMzY4OiAzMjc2NyA+PiAxMSA9PT0gMTUuIEFjdHVhbDogJyArICgzMjc2NyA+PiAxMSkpOyAKfSAKCgppZiAoNjU1MzUgPj4gMTEgIT09IDMxKSB7IAogICRFUlJPUignIzM2OTogNjU1MzUgPj4gMTEgPT09IDMxLiBBY3R1YWw6ICcgKyAoNjU1MzUgPj4gMTEpKTsgCn0gCgoKaWYgKDEzMTA3MSA+PiAxMSAhPT0gNjMpIHsgCiAgJEVSUk9SKCcjMzcwOiAxMzEwNzEgPj4gMTEgPT09IDYzLiBBY3R1YWw6ICcgKyAoMTMxMDcxID4+IDExKSk7IAp9IAoKCmlmICgyNjIxNDMgPj4gMTEgIT09IDEyNykgeyAKICAkRVJST1IoJyMzNzE6IDI2MjE0MyA+PiAxMSA9PT0gMTI3LiBBY3R1YWw6ICcgKyAoMjYyMTQzID4+IDExKSk7IAp9IAoKCmlmICg1MjQyODcgPj4gMTEgIT09IDI1NSkgeyAKICAkRVJST1IoJyMzNzI6IDUyNDI4NyA+PiAxMSA9PT0gMjU1LiBBY3R1YWw6ICcgKyAoNTI0Mjg3ID4+IDExKSk7IAp9IAoKCmlmICgxMDQ4NTc1ID4+IDExICE9PSA1MTEpIHsgCiAgJEVSUk9SKCcjMzczOiAxMDQ4NTc1ID4+IDExID09PSA1MTEuIEFjdHVhbDogJyArICgxMDQ4NTc1ID4+IDExKSk7IAp9IAoKCmlmICgyMDk3MTUxID4+IDExICE9PSAxMDIzKSB7IAogICRFUlJPUignIzM3NDogMjA5NzE1MSA+PiAxMSA9PT0gMTAyMy4gQWN0dWFsOiAnICsgKDIwOTcxNTEgPj4gMTEpKTsgCn0gCgoKaWYgKDQxOTQzMDMgPj4gMTEgIT09IDIwNDcpIHsgCiAgJEVSUk9SKCcjMzc1OiA0MTk0MzAzID4+IDExID09PSAyMDQ3LiBBY3R1YWw6ICcgKyAoNDE5NDMwMyA+PiAxMSkpOyAKfSAKCgppZiAoODM4ODYwNyA+PiAxMSAhPT0gNDA5NSkgeyAKICAkRVJST1IoJyMzNzY6IDgzODg2MDcgPj4gMTEgPT09IDQwOTUuIEFjdHVhbDogJyArICg4Mzg4NjA3ID4+IDExKSk7IAp9IAoKCmlmICgxNjc3NzIxNSA+PiAxMSAhPT0gODE5MSkgeyAKICAkRVJST1IoJyMzNzc6IDE2Nzc3MjE1ID4+IDExID09PSA4MTkxLiBBY3R1YWw6ICcgKyAoMTY3NzcyMTUgPj4gMTEpKTsgCn0gCgoKaWYgKDMzNTU0NDMxID4+IDExICE9PSAxNjM4MykgeyAKICAkRVJST1IoJyMzNzg6IDMzNTU0NDMxID4+IDExID09PSAxNjM4My4gQWN0dWFsOiAnICsgKDMzNTU0NDMxID4+IDExKSk7IAp9IAoKCmlmICg2NzEwODg2MyA+PiAxMSAhPT0gMzI3NjcpIHsgCiAgJEVSUk9SKCcjMzc5OiA2NzEwODg2MyA+PiAxMSA9PT0gMzI3NjcuIEFjdHVhbDogJyArICg2NzEwODg2MyA+PiAxMSkpOyAKfSAKCgppZiAoMTM0MjE3NzI3ID4+IDExICE9PSA2NTUzNSkgeyAKICAkRVJST1IoJyMzODA6IDEzNDIxNzcyNyA+PiAxMSA9PT0gNjU1MzUuIEFjdHVhbDogJyArICgxMzQyMTc3MjcgPj4gMTEpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NSA+PiAxMSAhPT0gMTMxMDcxKSB7IAogICRFUlJPUignIzM4MTogMjY4NDM1NDU1ID4+IDExID09PSAxMzEwNzEuIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPj4gMTEpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMSA+PiAxMSAhPT0gMjYyMTQzKSB7IAogICRFUlJPUignIzM4MjogNTM2ODcwOTExID4+IDExID09PSAyNjIxNDMuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPj4gMTEpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjMgPj4gMTEgIT09IDUyNDI4NykgeyAKICAkRVJST1IoJyMzODM6IDEwNzM3NDE4MjMgPj4gMTEgPT09IDUyNDI4Ny4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjMgPj4gMTEpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDcgPj4gMTEgIT09IDEwNDg1NzUpIHsgCiAgJEVSUk9SKCcjMzg0OiAyMTQ3NDgzNjQ3ID4+IDExID09PSAxMDQ4NTc1LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiAxMSkpOyAKfSAKCgppZiAoMCA+PiAxMiAhPT0gMCkgeyAKICAkRVJST1IoJyMzODU6IDAgPj4gMTIgPT09IDAuIEFjdHVhbDogJyArICgwID4+IDEyKSk7IAp9IAoKCmlmICgxID4+IDEyICE9PSAwKSB7IAogICRFUlJPUignIzM4NjogMSA+PiAxMiA9PT0gMC4gQWN0dWFsOiAnICsgKDEgPj4gMTIpKTsgCn0gCgoKaWYgKDMgPj4gMTIgIT09IDApIHsgCiAgJEVSUk9SKCcjMzg3OiAzID4+IDEyID09PSAwLiBBY3R1YWw6ICcgKyAoMyA+PiAxMikpOyAKfSAKCgppZiAoNyA+PiAxMiAhPT0gMCkgeyAKICAkRVJST1IoJyMzODg6IDcgPj4gMTIgPT09IDAuIEFjdHVhbDogJyArICg3ID4+IDEyKSk7IAp9IAoKCmlmICgxNSA+PiAxMiAhPT0gMCkgeyAKICAkRVJST1IoJyMzODk6IDE1ID4+IDEyID09PSAwLiBBY3R1YWw6ICcgKyAoMTUgPj4gMTIpKTsgCn0gCgoKaWYgKDMxID4+IDEyICE9PSAwKSB7IAogICRFUlJPUignIzM5MDogMzEgPj4gMTIgPT09IDAuIEFjdHVhbDogJyArICgzMSA+PiAxMikpOyAKfSAKCgppZiAoNjMgPj4gMTIgIT09IDApIHsgCiAgJEVSUk9SKCcjMzkxOiA2MyA+PiAxMiA9PT0gMC4gQWN0dWFsOiAnICsgKDYzID4+IDEyKSk7IAp9IAoKCmlmICgxMjcgPj4gMTIgIT09IDApIHsgCiAgJEVSUk9SKCcjMzkyOiAxMjcgPj4gMTIgPT09IDAuIEFjdHVhbDogJyArICgxMjcgPj4gMTIpKTsgCn0gCgoKaWYgKDI1NSA+PiAxMiAhPT0gMCkgeyAKICAkRVJST1IoJyMzOTM6IDI1NSA+PiAxMiA9PT0gMC4gQWN0dWFsOiAnICsgKDI1NSA+PiAxMikpOyAKfSAKCgppZiAoNTExID4+IDEyICE9PSAwKSB7IAogICRFUlJPUignIzM5NDogNTExID4+IDEyID09PSAwLiBBY3R1YWw6ICcgKyAoNTExID4+IDEyKSk7IAp9IAoKCmlmICgxMDIzID4+IDEyICE9PSAwKSB7IAogICRFUlJPUignIzM5NTogMTAyMyA+PiAxMiA9PT0gMC4gQWN0dWFsOiAnICsgKDEwMjMgPj4gMTIpKTsgCn0gCgoKaWYgKDIwNDcgPj4gMTIgIT09IDApIHsgCiAgJEVSUk9SKCcjMzk2OiAyMDQ3ID4+IDEyID09PSAwLiBBY3R1YWw6ICcgKyAoMjA0NyA+PiAxMikpOyAKfSAKCgppZiAoNDA5NSA+PiAxMiAhPT0gMCkgeyAKICAkRVJST1IoJyMzOTc6IDQwOTUgPj4gMTIgPT09IDAuIEFjdHVhbDogJyArICg0MDk1ID4+IDEyKSk7IAp9IAoKCmlmICg4MTkxID4+IDEyICE9PSAxKSB7IAogICRFUlJPUignIzM5ODogODE5MSA+PiAxMiA9PT0gMS4gQWN0dWFsOiAnICsgKDgxOTEgPj4gMTIpKTsgCn0gCgoKaWYgKDE2MzgzID4+IDEyICE9PSAzKSB7IAogICRFUlJPUignIzM5OTogMTYzODMgPj4gMTIgPT09IDMuIEFjdHVhbDogJyArICgxNjM4MyA+PiAxMikpOyAKfSAKCgppZiAoMzI3NjcgPj4gMTIgIT09IDcpIHsgCiAgJEVSUk9SKCcjNDAwOiAzMjc2NyA+PiAxMiA9PT0gNy4gQWN0dWFsOiAnICsgKDMyNzY3ID4+IDEyKSk7IAp9IAoKCmlmICg2NTUzNSA+PiAxMiAhPT0gMTUpIHsgCiAgJEVSUk9SKCcjNDAxOiA2NTUzNSA+PiAxMiA9PT0gMTUuIEFjdHVhbDogJyArICg2NTUzNSA+PiAxMikpOyAKfSAKCgppZiAoMTMxMDcxID4+IDEyICE9PSAzMSkgeyAKICAkRVJST1IoJyM0MDI6IDEzMTA3MSA+PiAxMiA9PT0gMzEuIEFjdHVhbDogJyArICgxMzEwNzEgPj4gMTIpKTsgCn0gCgoKaWYgKDI2MjE0MyA+PiAxMiAhPT0gNjMpIHsgCiAgJEVSUk9SKCcjNDAzOiAyNjIxNDMgPj4gMTIgPT09IDYzLiBBY3R1YWw6ICcgKyAoMjYyMTQzID4+IDEyKSk7IAp9IAoKCmlmICg1MjQyODcgPj4gMTIgIT09IDEyNykgeyAKICAkRVJST1IoJyM0MDQ6IDUyNDI4NyA+PiAxMiA9PT0gMTI3LiBBY3R1YWw6ICcgKyAoNTI0Mjg3ID4+IDEyKSk7IAp9IAoKCmlmICgxMDQ4NTc1ID4+IDEyICE9PSAyNTUpIHsgCiAgJEVSUk9SKCcjNDA1OiAxMDQ4NTc1ID4+IDEyID09PSAyNTUuIEFjdHVhbDogJyArICgxMDQ4NTc1ID4+IDEyKSk7IAp9IAoKCmlmICgyMDk3MTUxID4+IDEyICE9PSA1MTEpIHsgCiAgJEVSUk9SKCcjNDA2OiAyMDk3MTUxID4+IDEyID09PSA1MTEuIEFjdHVhbDogJyArICgyMDk3MTUxID4+IDEyKSk7IAp9IAoKCmlmICg0MTk0MzAzID4+IDEyICE9PSAxMDIzKSB7IAogICRFUlJPUignIzQwNzogNDE5NDMwMyA+PiAxMiA9PT0gMTAyMy4gQWN0dWFsOiAnICsgKDQxOTQzMDMgPj4gMTIpKTsgCn0gCgoKaWYgKDgzODg2MDcgPj4gMTIgIT09IDIwNDcpIHsgCiAgJEVSUk9SKCcjNDA4OiA4Mzg4NjA3ID4+IDEyID09PSAyMDQ3LiBBY3R1YWw6ICcgKyAoODM4ODYwNyA+PiAxMikpOyAKfSAKCgppZiAoMTY3NzcyMTUgPj4gMTIgIT09IDQwOTUpIHsgCiAgJEVSUk9SKCcjNDA5OiAxNjc3NzIxNSA+PiAxMiA9PT0gNDA5NS4gQWN0dWFsOiAnICsgKDE2Nzc3MjE1ID4+IDEyKSk7IAp9IAoKCmlmICgzMzU1NDQzMSA+PiAxMiAhPT0gODE5MSkgeyAKICAkRVJST1IoJyM0MTA6IDMzNTU0NDMxID4+IDEyID09PSA4MTkxLiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPj4gMTIpKTsgCn0gCgoKaWYgKDY3MTA4ODYzID4+IDEyICE9PSAxNjM4MykgeyAKICAkRVJST1IoJyM0MTE6IDY3MTA4ODYzID4+IDEyID09PSAxNjM4My4gQWN0dWFsOiAnICsgKDY3MTA4ODYzID4+IDEyKSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPj4gMTIgIT09IDMyNzY3KSB7IAogICRFUlJPUignIzQxMjogMTM0MjE3NzI3ID4+IDEyID09PSAzMjc2Ny4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA+PiAxMikpOyAKfSAKCgppZiAoMjY4NDM1NDU1ID4+IDEyICE9PSA2NTUzNSkgeyAKICAkRVJST1IoJyM0MTM6IDI2ODQzNTQ1NSA+PiAxMiA9PT0gNjU1MzUuIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPj4gMTIpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMSA+PiAxMiAhPT0gMTMxMDcxKSB7IAogICRFUlJPUignIzQxNDogNTM2ODcwOTExID4+IDEyID09PSAxMzEwNzEuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPj4gMTIpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjMgPj4gMTIgIT09IDI2MjE0MykgeyAKICAkRVJST1IoJyM0MTU6IDEwNzM3NDE4MjMgPj4gMTIgPT09IDI2MjE0My4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjMgPj4gMTIpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDcgPj4gMTIgIT09IDUyNDI4NykgeyAKICAkRVJST1IoJyM0MTY6IDIxNDc0ODM2NDcgPj4gMTIgPT09IDUyNDI4Ny4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4gMTIpKTsgCn0gCgoKaWYgKDAgPj4gMTMgIT09IDApIHsgCiAgJEVSUk9SKCcjNDE3OiAwID4+IDEzID09PSAwLiBBY3R1YWw6ICcgKyAoMCA+PiAxMykpOyAKfSAKCgppZiAoMSA+PiAxMyAhPT0gMCkgeyAKICAkRVJST1IoJyM0MTg6IDEgPj4gMTMgPT09IDAuIEFjdHVhbDogJyArICgxID4+IDEzKSk7IAp9IAoKCmlmICgzID4+IDEzICE9PSAwKSB7IAogICRFUlJPUignIzQxOTogMyA+PiAxMyA9PT0gMC4gQWN0dWFsOiAnICsgKDMgPj4gMTMpKTsgCn0gCgoKaWYgKDcgPj4gMTMgIT09IDApIHsgCiAgJEVSUk9SKCcjNDIwOiA3ID4+IDEzID09PSAwLiBBY3R1YWw6ICcgKyAoNyA+PiAxMykpOyAKfSAKCgppZiAoMTUgPj4gMTMgIT09IDApIHsgCiAgJEVSUk9SKCcjNDIxOiAxNSA+PiAxMyA9PT0gMC4gQWN0dWFsOiAnICsgKDE1ID4+IDEzKSk7IAp9IAoKCmlmICgzMSA+PiAxMyAhPT0gMCkgeyAKICAkRVJST1IoJyM0MjI6IDMxID4+IDEzID09PSAwLiBBY3R1YWw6ICcgKyAoMzEgPj4gMTMpKTsgCn0gCgoKaWYgKDYzID4+IDEzICE9PSAwKSB7IAogICRFUlJPUignIzQyMzogNjMgPj4gMTMgPT09IDAuIEFjdHVhbDogJyArICg2MyA+PiAxMykpOyAKfSAKCgppZiAoMTI3ID4+IDEzICE9PSAwKSB7IAogICRFUlJPUignIzQyNDogMTI3ID4+IDEzID09PSAwLiBBY3R1YWw6ICcgKyAoMTI3ID4+IDEzKSk7IAp9IAoKCmlmICgyNTUgPj4gMTMgIT09IDApIHsgCiAgJEVSUk9SKCcjNDI1OiAyNTUgPj4gMTMgPT09IDAuIEFjdHVhbDogJyArICgyNTUgPj4gMTMpKTsgCn0gCgoKaWYgKDUxMSA+PiAxMyAhPT0gMCkgeyAKICAkRVJST1IoJyM0MjY6IDUxMSA+PiAxMyA9PT0gMC4gQWN0dWFsOiAnICsgKDUxMSA+PiAxMykpOyAKfSAKCgppZiAoMTAyMyA+PiAxMyAhPT0gMCkgeyAKICAkRVJST1IoJyM0Mjc6IDEwMjMgPj4gMTMgPT09IDAuIEFjdHVhbDogJyArICgxMDIzID4+IDEzKSk7IAp9IAoKCmlmICgyMDQ3ID4+IDEzICE9PSAwKSB7IAogICRFUlJPUignIzQyODogMjA0NyA+PiAxMyA9PT0gMC4gQWN0dWFsOiAnICsgKDIwNDcgPj4gMTMpKTsgCn0gCgoKaWYgKDQwOTUgPj4gMTMgIT09IDApIHsgCiAgJEVSUk9SKCcjNDI5OiA0MDk1ID4+IDEzID09PSAwLiBBY3R1YWw6ICcgKyAoNDA5NSA+PiAxMykpOyAKfSAKCgppZiAoODE5MSA+PiAxMyAhPT0gMCkgeyAKICAkRVJST1IoJyM0MzA6IDgxOTEgPj4gMTMgPT09IDAuIEFjdHVhbDogJyArICg4MTkxID4+IDEzKSk7IAp9IAoKCmlmICgxNjM4MyA+PiAxMyAhPT0gMSkgeyAKICAkRVJST1IoJyM0MzE6IDE2MzgzID4+IDEzID09PSAxLiBBY3R1YWw6ICcgKyAoMTYzODMgPj4gMTMpKTsgCn0gCgoKaWYgKDMyNzY3ID4+IDEzICE9PSAzKSB7IAogICRFUlJPUignIzQzMjogMzI3NjcgPj4gMTMgPT09IDMuIEFjdHVhbDogJyArICgzMjc2NyA+PiAxMykpOyAKfSAKCgppZiAoNjU1MzUgPj4gMTMgIT09IDcpIHsgCiAgJEVSUk9SKCcjNDMzOiA2NTUzNSA+PiAxMyA9PT0gNy4gQWN0dWFsOiAnICsgKDY1NTM1ID4+IDEzKSk7IAp9IAoKCmlmICgxMzEwNzEgPj4gMTMgIT09IDE1KSB7IAogICRFUlJPUignIzQzNDogMTMxMDcxID4+IDEzID09PSAxNS4gQWN0dWFsOiAnICsgKDEzMTA3MSA+PiAxMykpOyAKfSAKCgppZiAoMjYyMTQzID4+IDEzICE9PSAzMSkgeyAKICAkRVJST1IoJyM0MzU6IDI2MjE0MyA+PiAxMyA9PT0gMzEuIEFjdHVhbDogJyArICgyNjIxNDMgPj4gMTMpKTsgCn0gCgoKaWYgKDUyNDI4NyA+PiAxMyAhPT0gNjMpIHsgCiAgJEVSUk9SKCcjNDM2OiA1MjQyODcgPj4gMTMgPT09IDYzLiBBY3R1YWw6ICcgKyAoNTI0Mjg3ID4+IDEzKSk7IAp9IAoKCmlmICgxMDQ4NTc1ID4+IDEzICE9PSAxMjcpIHsgCiAgJEVSUk9SKCcjNDM3OiAxMDQ4NTc1ID4+IDEzID09PSAxMjcuIEFjdHVhbDogJyArICgxMDQ4NTc1ID4+IDEzKSk7IAp9IAoKCmlmICgyMDk3MTUxID4+IDEzICE9PSAyNTUpIHsgCiAgJEVSUk9SKCcjNDM4OiAyMDk3MTUxID4+IDEzID09PSAyNTUuIEFjdHVhbDogJyArICgyMDk3MTUxID4+IDEzKSk7IAp9IAoKCmlmICg0MTk0MzAzID4+IDEzICE9PSA1MTEpIHsgCiAgJEVSUk9SKCcjNDM5OiA0MTk0MzAzID4+IDEzID09PSA1MTEuIEFjdHVhbDogJyArICg0MTk0MzAzID4+IDEzKSk7IAp9IAoKCmlmICg4Mzg4NjA3ID4+IDEzICE9PSAxMDIzKSB7IAogICRFUlJPUignIzQ0MDogODM4ODYwNyA+PiAxMyA9PT0gMTAyMy4gQWN0dWFsOiAnICsgKDgzODg2MDcgPj4gMTMpKTsgCn0gCgoKaWYgKDE2Nzc3MjE1ID4+IDEzICE9PSAyMDQ3KSB7IAogICRFUlJPUignIzQ0MTogMTY3NzcyMTUgPj4gMTMgPT09IDIwNDcuIEFjdHVhbDogJyArICgxNjc3NzIxNSA+PiAxMykpOyAKfSAKCgppZiAoMzM1NTQ0MzEgPj4gMTMgIT09IDQwOTUpIHsgCiAgJEVSUk9SKCcjNDQyOiAzMzU1NDQzMSA+PiAxMyA9PT0gNDA5NS4gQWN0dWFsOiAnICsgKDMzNTU0NDMxID4+IDEzKSk7IAp9IAoKCmlmICg2NzEwODg2MyA+PiAxMyAhPT0gODE5MSkgeyAKICAkRVJST1IoJyM0NDM6IDY3MTA4ODYzID4+IDEzID09PSA4MTkxLiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPj4gMTMpKTsgCn0gCgoKaWYgKDEzNDIxNzcyNyA+PiAxMyAhPT0gMTYzODMpIHsgCiAgJEVSUk9SKCcjNDQ0OiAxMzQyMTc3MjcgPj4gMTMgPT09IDE2MzgzLiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI3ID4+IDEzKSk7IAp9IAoKCmlmICgyNjg0MzU0NTUgPj4gMTMgIT09IDMyNzY3KSB7IAogICRFUlJPUignIzQ0NTogMjY4NDM1NDU1ID4+IDEzID09PSAzMjc2Ny4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NSA+PiAxMykpOyAKfSAKCgppZiAoNTM2ODcwOTExID4+IDEzICE9PSA2NTUzNSkgeyAKICAkRVJST1IoJyM0NDY6IDUzNjg3MDkxMSA+PiAxMyA9PT0gNjU1MzUuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPj4gMTMpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjMgPj4gMTMgIT09IDEzMTA3MSkgeyAKICAkRVJST1IoJyM0NDc6IDEwNzM3NDE4MjMgPj4gMTMgPT09IDEzMTA3MS4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjMgPj4gMTMpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDcgPj4gMTMgIT09IDI2MjE0MykgeyAKICAkRVJST1IoJyM0NDg6IDIxNDc0ODM2NDcgPj4gMTMgPT09IDI2MjE0My4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4gMTMpKTsgCn0gCgoKaWYgKDAgPj4gMTQgIT09IDApIHsgCiAgJEVSUk9SKCcjNDQ5OiAwID4+IDE0ID09PSAwLiBBY3R1YWw6ICcgKyAoMCA+PiAxNCkpOyAKfSAKCgppZiAoMSA+PiAxNCAhPT0gMCkgeyAKICAkRVJST1IoJyM0NTA6IDEgPj4gMTQgPT09IDAuIEFjdHVhbDogJyArICgxID4+IDE0KSk7IAp9IAoKCmlmICgzID4+IDE0ICE9PSAwKSB7IAogICRFUlJPUignIzQ1MTogMyA+PiAxNCA9PT0gMC4gQWN0dWFsOiAnICsgKDMgPj4gMTQpKTsgCn0gCgoKaWYgKDcgPj4gMTQgIT09IDApIHsgCiAgJEVSUk9SKCcjNDUyOiA3ID4+IDE0ID09PSAwLiBBY3R1YWw6ICcgKyAoNyA+PiAxNCkpOyAKfSAKCgppZiAoMTUgPj4gMTQgIT09IDApIHsgCiAgJEVSUk9SKCcjNDUzOiAxNSA+PiAxNCA9PT0gMC4gQWN0dWFsOiAnICsgKDE1ID4+IDE0KSk7IAp9IAoKCmlmICgzMSA+PiAxNCAhPT0gMCkgeyAKICAkRVJST1IoJyM0NTQ6IDMxID4+IDE0ID09PSAwLiBBY3R1YWw6ICcgKyAoMzEgPj4gMTQpKTsgCn0gCgoKaWYgKDYzID4+IDE0ICE9PSAwKSB7IAogICRFUlJPUignIzQ1NTogNjMgPj4gMTQgPT09IDAuIEFjdHVhbDogJyArICg2MyA+PiAxNCkpOyAKfSAKCgppZiAoMTI3ID4+IDE0ICE9PSAwKSB7IAogICRFUlJPUignIzQ1NjogMTI3ID4+IDE0ID09PSAwLiBBY3R1YWw6ICcgKyAoMTI3ID4+IDE0KSk7IAp9IAoKCmlmICgyNTUgPj4gMTQgIT09IDApIHsgCiAgJEVSUk9SKCcjNDU3OiAyNTUgPj4gMTQgPT09IDAuIEFjdHVhbDogJyArICgyNTUgPj4gMTQpKTsgCn0gCgoKaWYgKDUxMSA+PiAxNCAhPT0gMCkgeyAKICAkRVJST1IoJyM0NTg6IDUxMSA+PiAxNCA9PT0gMC4gQWN0dWFsOiAnICsgKDUxMSA+PiAxNCkpOyAKfSAKCgppZiAoMTAyMyA+PiAxNCAhPT0gMCkgeyAKICAkRVJST1IoJyM0NTk6IDEwMjMgPj4gMTQgPT09IDAuIEFjdHVhbDogJyArICgxMDIzID4+IDE0KSk7IAp9IAoKCmlmICgyMDQ3ID4+IDE0ICE9PSAwKSB7IAogICRFUlJPUignIzQ2MDogMjA0NyA+PiAxNCA9PT0gMC4gQWN0dWFsOiAnICsgKDIwNDcgPj4gMTQpKTsgCn0gCgoKaWYgKDQwOTUgPj4gMTQgIT09IDApIHsgCiAgJEVSUk9SKCcjNDYxOiA0MDk1ID4+IDE0ID09PSAwLiBBY3R1YWw6ICcgKyAoNDA5NSA+PiAxNCkpOyAKfSAKCgppZiAoODE5MSA+PiAxNCAhPT0gMCkgeyAKICAkRVJST1IoJyM0NjI6IDgxOTEgPj4gMTQgPT09IDAuIEFjdHVhbDogJyArICg4MTkxID4+IDE0KSk7IAp9IAoKCmlmICgxNjM4MyA+PiAxNCAhPT0gMCkgeyAKICAkRVJST1IoJyM0NjM6IDE2MzgzID4+IDE0ID09PSAwLiBBY3R1YWw6ICcgKyAoMTYzODMgPj4gMTQpKTsgCn0gCgoKaWYgKDMyNzY3ID4+IDE0ICE9PSAxKSB7IAogICRFUlJPUignIzQ2NDogMzI3NjcgPj4gMTQgPT09IDEuIEFjdHVhbDogJyArICgzMjc2NyA+PiAxNCkpOyAKfSAKCgppZiAoNjU1MzUgPj4gMTQgIT09IDMpIHsgCiAgJEVSUk9SKCcjNDY1OiA2NTUzNSA+PiAxNCA9PT0gMy4gQWN0dWFsOiAnICsgKDY1NTM1ID4+IDE0KSk7IAp9IAoKCmlmICgxMzEwNzEgPj4gMTQgIT09IDcpIHsgCiAgJEVSUk9SKCcjNDY2OiAxMzEwNzEgPj4gMTQgPT09IDcuIEFjdHVhbDogJyArICgxMzEwNzEgPj4gMTQpKTsgCn0gCgoKaWYgKDI2MjE0MyA+PiAxNCAhPT0gMTUpIHsgCiAgJEVSUk9SKCcjNDY3OiAyNjIxNDMgPj4gMTQgPT09IDE1LiBBY3R1YWw6ICcgKyAoMjYyMTQzID4+IDE0KSk7IAp9IAoKCmlmICg1MjQyODcgPj4gMTQgIT09IDMxKSB7IAogICRFUlJPUignIzQ2ODogNTI0Mjg3ID4+IDE0ID09PSAzMS4gQWN0dWFsOiAnICsgKDUyNDI4NyA+PiAxNCkpOyAKfSAKCgppZiAoMTA0ODU3NSA+PiAxNCAhPT0gNjMpIHsgCiAgJEVSUk9SKCcjNDY5OiAxMDQ4NTc1ID4+IDE0ID09PSA2My4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPj4gMTQpKTsgCn0gCgoKaWYgKDIwOTcxNTEgPj4gMTQgIT09IDEyNykgeyAKICAkRVJST1IoJyM0NzA6IDIwOTcxNTEgPj4gMTQgPT09IDEyNy4gQWN0dWFsOiAnICsgKDIwOTcxNTEgPj4gMTQpKTsgCn0gCgoKaWYgKDQxOTQzMDMgPj4gMTQgIT09IDI1NSkgeyAKICAkRVJST1IoJyM0NzE6IDQxOTQzMDMgPj4gMTQgPT09IDI1NS4gQWN0dWFsOiAnICsgKDQxOTQzMDMgPj4gMTQpKTsgCn0gCgoKaWYgKDgzODg2MDcgPj4gMTQgIT09IDUxMSkgeyAKICAkRVJST1IoJyM0NzI6IDgzODg2MDcgPj4gMTQgPT09IDUxMS4gQWN0dWFsOiAnICsgKDgzODg2MDcgPj4gMTQpKTsgCn0gCgoKaWYgKDE2Nzc3MjE1ID4+IDE0ICE9PSAxMDIzKSB7IAogICRFUlJPUignIzQ3MzogMTY3NzcyMTUgPj4gMTQgPT09IDEwMjMuIEFjdHVhbDogJyArICgxNjc3NzIxNSA+PiAxNCkpOyAKfSAKCgppZiAoMzM1NTQ0MzEgPj4gMTQgIT09IDIwNDcpIHsgCiAgJEVSUk9SKCcjNDc0OiAzMzU1NDQzMSA+PiAxNCA9PT0gMjA0Ny4gQWN0dWFsOiAnICsgKDMzNTU0NDMxID4+IDE0KSk7IAp9IAoKCmlmICg2NzEwODg2MyA+PiAxNCAhPT0gNDA5NSkgeyAKICAkRVJST1IoJyM0NzU6IDY3MTA4ODYzID4+IDE0ID09PSA0MDk1LiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPj4gMTQpKTsgCn0gCgoKaWYgKDEzNDIxNzcyNyA+PiAxNCAhPT0gODE5MSkgeyAKICAkRVJST1IoJyM0NzY6IDEzNDIxNzcyNyA+PiAxNCA9PT0gODE5MS4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA+PiAxNCkpOyAKfSAKCgppZiAoMjY4NDM1NDU1ID4+IDE0ICE9PSAxNjM4MykgeyAKICAkRVJST1IoJyM0Nzc6IDI2ODQzNTQ1NSA+PiAxNCA9PT0gMTYzODMuIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPj4gMTQpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMSA+PiAxNCAhPT0gMzI3NjcpIHsgCiAgJEVSUk9SKCcjNDc4OiA1MzY4NzA5MTEgPj4gMTQgPT09IDMyNzY3LiBBY3R1YWw6ICcgKyAoNTM2ODcwOTExID4+IDE0KSk7IAp9IAoKCmlmICgxMDczNzQxODIzID4+IDE0ICE9PSA2NTUzNSkgeyAKICAkRVJST1IoJyM0Nzk6IDEwNzM3NDE4MjMgPj4gMTQgPT09IDY1NTM1LiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA+PiAxNCkpOyAKfSAKCgppZiAoMjE0NzQ4MzY0NyA+PiAxNCAhPT0gMTMxMDcxKSB7IAogICRFUlJPUignIzQ4MDogMjE0NzQ4MzY0NyA+PiAxNCA9PT0gMTMxMDcxLiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiAxNCkpOyAKfSAKCgppZiAoMCA+PiAxNSAhPT0gMCkgeyAKICAkRVJST1IoJyM0ODE6IDAgPj4gMTUgPT09IDAuIEFjdHVhbDogJyArICgwID4+IDE1KSk7IAp9IAoKCmlmICgxID4+IDE1ICE9PSAwKSB7IAogICRFUlJPUignIzQ4MjogMSA+PiAxNSA9PT0gMC4gQWN0dWFsOiAnICsgKDEgPj4gMTUpKTsgCn0gCgoKaWYgKDMgPj4gMTUgIT09IDApIHsgCiAgJEVSUk9SKCcjNDgzOiAzID4+IDE1ID09PSAwLiBBY3R1YWw6ICcgKyAoMyA+PiAxNSkpOyAKfSAKCgppZiAoNyA+PiAxNSAhPT0gMCkgeyAKICAkRVJST1IoJyM0ODQ6IDcgPj4gMTUgPT09IDAuIEFjdHVhbDogJyArICg3ID4+IDE1KSk7IAp9IAoKCmlmICgxNSA+PiAxNSAhPT0gMCkgeyAKICAkRVJST1IoJyM0ODU6IDE1ID4+IDE1ID09PSAwLiBBY3R1YWw6ICcgKyAoMTUgPj4gMTUpKTsgCn0gCgoKaWYgKDMxID4+IDE1ICE9PSAwKSB7IAogICRFUlJPUignIzQ4NjogMzEgPj4gMTUgPT09IDAuIEFjdHVhbDogJyArICgzMSA+PiAxNSkpOyAKfSAKCgppZiAoNjMgPj4gMTUgIT09IDApIHsgCiAgJEVSUk9SKCcjNDg3OiA2MyA+PiAxNSA9PT0gMC4gQWN0dWFsOiAnICsgKDYzID4+IDE1KSk7IAp9IAoKCmlmICgxMjcgPj4gMTUgIT09IDApIHsgCiAgJEVSUk9SKCcjNDg4OiAxMjcgPj4gMTUgPT09IDAuIEFjdHVhbDogJyArICgxMjcgPj4gMTUpKTsgCn0gCgoKaWYgKDI1NSA+PiAxNSAhPT0gMCkgeyAKICAkRVJST1IoJyM0ODk6IDI1NSA+PiAxNSA9PT0gMC4gQWN0dWFsOiAnICsgKDI1NSA+PiAxNSkpOyAKfSAKCgppZiAoNTExID4+IDE1ICE9PSAwKSB7IAogICRFUlJPUignIzQ5MDogNTExID4+IDE1ID09PSAwLiBBY3R1YWw6ICcgKyAoNTExID4+IDE1KSk7IAp9IAoKCmlmICgxMDIzID4+IDE1ICE9PSAwKSB7IAogICRFUlJPUignIzQ5MTogMTAyMyA+PiAxNSA9PT0gMC4gQWN0dWFsOiAnICsgKDEwMjMgPj4gMTUpKTsgCn0gCgoKaWYgKDIwNDcgPj4gMTUgIT09IDApIHsgCiAgJEVSUk9SKCcjNDkyOiAyMDQ3ID4+IDE1ID09PSAwLiBBY3R1YWw6ICcgKyAoMjA0NyA+PiAxNSkpOyAKfSAKCgppZiAoNDA5NSA+PiAxNSAhPT0gMCkgeyAKICAkRVJST1IoJyM0OTM6IDQwOTUgPj4gMTUgPT09IDAuIEFjdHVhbDogJyArICg0MDk1ID4+IDE1KSk7IAp9IAoKCmlmICg4MTkxID4+IDE1ICE9PSAwKSB7IAogICRFUlJPUignIzQ5NDogODE5MSA+PiAxNSA9PT0gMC4gQWN0dWFsOiAnICsgKDgxOTEgPj4gMTUpKTsgCn0gCgoKaWYgKDE2MzgzID4+IDE1ICE9PSAwKSB7IAogICRFUlJPUignIzQ5NTogMTYzODMgPj4gMTUgPT09IDAuIEFjdHVhbDogJyArICgxNjM4MyA+PiAxNSkpOyAKfSAKCgppZiAoMzI3NjcgPj4gMTUgIT09IDApIHsgCiAgJEVSUk9SKCcjNDk2OiAzMjc2NyA+PiAxNSA9PT0gMC4gQWN0dWFsOiAnICsgKDMyNzY3ID4+IDE1KSk7IAp9IAoKCmlmICg2NTUzNSA+PiAxNSAhPT0gMSkgeyAKICAkRVJST1IoJyM0OTc6IDY1NTM1ID4+IDE1ID09PSAxLiBBY3R1YWw6ICcgKyAoNjU1MzUgPj4gMTUpKTsgCn0gCgoKaWYgKDEzMTA3MSA+PiAxNSAhPT0gMykgeyAKICAkRVJST1IoJyM0OTg6IDEzMTA3MSA+PiAxNSA9PT0gMy4gQWN0dWFsOiAnICsgKDEzMTA3MSA+PiAxNSkpOyAKfSAKCgppZiAoMjYyMTQzID4+IDE1ICE9PSA3KSB7IAogICRFUlJPUignIzQ5OTogMjYyMTQzID4+IDE1ID09PSA3LiBBY3R1YWw6ICcgKyAoMjYyMTQzID4+IDE1KSk7IAp9IAoKCmlmICg1MjQyODcgPj4gMTUgIT09IDE1KSB7IAogICRFUlJPUignIzUwMDogNTI0Mjg3ID4+IDE1ID09PSAxNS4gQWN0dWFsOiAnICsgKDUyNDI4NyA+PiAxNSkpOyAKfSAKCgppZiAoMTA0ODU3NSA+PiAxNSAhPT0gMzEpIHsgCiAgJEVSUk9SKCcjNTAxOiAxMDQ4NTc1ID4+IDE1ID09PSAzMS4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPj4gMTUpKTsgCn0gCgoKaWYgKDIwOTcxNTEgPj4gMTUgIT09IDYzKSB7IAogICRFUlJPUignIzUwMjogMjA5NzE1MSA+PiAxNSA9PT0gNjMuIEFjdHVhbDogJyArICgyMDk3MTUxID4+IDE1KSk7IAp9IAoKCmlmICg0MTk0MzAzID4+IDE1ICE9PSAxMjcpIHsgCiAgJEVSUk9SKCcjNTAzOiA0MTk0MzAzID4+IDE1ID09PSAxMjcuIEFjdHVhbDogJyArICg0MTk0MzAzID4+IDE1KSk7IAp9IAoKCmlmICg4Mzg4NjA3ID4+IDE1ICE9PSAyNTUpIHsgCiAgJEVSUk9SKCcjNTA0OiA4Mzg4NjA3ID4+IDE1ID09PSAyNTUuIEFjdHVhbDogJyArICg4Mzg4NjA3ID4+IDE1KSk7IAp9IAoKCmlmICgxNjc3NzIxNSA+PiAxNSAhPT0gNTExKSB7IAogICRFUlJPUignIzUwNTogMTY3NzcyMTUgPj4gMTUgPT09IDUxMS4gQWN0dWFsOiAnICsgKDE2Nzc3MjE1ID4+IDE1KSk7IAp9IAoKCmlmICgzMzU1NDQzMSA+PiAxNSAhPT0gMTAyMykgeyAKICAkRVJST1IoJyM1MDY6IDMzNTU0NDMxID4+IDE1ID09PSAxMDIzLiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPj4gMTUpKTsgCn0gCgoKaWYgKDY3MTA4ODYzID4+IDE1ICE9PSAyMDQ3KSB7IAogICRFUlJPUignIzUwNzogNjcxMDg4NjMgPj4gMTUgPT09IDIwNDcuIEFjdHVhbDogJyArICg2NzEwODg2MyA+PiAxNSkpOyAKfSAKCgppZiAoMTM0MjE3NzI3ID4+IDE1ICE9PSA0MDk1KSB7IAogICRFUlJPUignIzUwODogMTM0MjE3NzI3ID4+IDE1ID09PSA0MDk1LiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI3ID4+IDE1KSk7IAp9IAoKCmlmICgyNjg0MzU0NTUgPj4gMTUgIT09IDgxOTEpIHsgCiAgJEVSUk9SKCcjNTA5OiAyNjg0MzU0NTUgPj4gMTUgPT09IDgxOTEuIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPj4gMTUpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMSA+PiAxNSAhPT0gMTYzODMpIHsgCiAgJEVSUk9SKCcjNTEwOiA1MzY4NzA5MTEgPj4gMTUgPT09IDE2MzgzLiBBY3R1YWw6ICcgKyAoNTM2ODcwOTExID4+IDE1KSk7IAp9IAoKCmlmICgxMDczNzQxODIzID4+IDE1ICE9PSAzMjc2NykgeyAKICAkRVJST1IoJyM1MTE6IDEwNzM3NDE4MjMgPj4gMTUgPT09IDMyNzY3LiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA+PiAxNSkpOyAKfSAKCgppZiAoMjE0NzQ4MzY0NyA+PiAxNSAhPT0gNjU1MzUpIHsgCiAgJEVSUk9SKCcjNTEyOiAyMTQ3NDgzNjQ3ID4+IDE1ID09PSA2NTUzNS4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4gMTUpKTsgCn0gCgo=",
"commentary":"Check x >> y operator in distinct points",
"description":"ShiftExpression = 2^n - 1, n = 0...15",
"path":"TestCases/ch11/11.7/11.7.2/S11.7.2_A4_T3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayB4ID4+IHkgb3BlcmF0b3IgaW4gZGlzdGluY3QgcG9pbnRzCiAqCiAqIEBwYXRoIGNoMTEvMTEuNy8xMS43LjIvUzExLjcuMl9BNF9UNC5qcwogKiBAZGVzY3JpcHRpb24gU2hpZnRFeHByZXNzaW9uID0gMl5uIC0gMSwgbiA9IDE2Li4uMzEKICovCgovL0NIRUNLCiAKaWYgKDAgPj4gMTYgIT09IDApIHsgCiAgJEVSUk9SKCcjNTEzOiAwID4+IDE2ID09PSAwLiBBY3R1YWw6ICcgKyAoMCA+PiAxNikpOyAKfSAKCgppZiAoMSA+PiAxNiAhPT0gMCkgeyAKICAkRVJST1IoJyM1MTQ6IDEgPj4gMTYgPT09IDAuIEFjdHVhbDogJyArICgxID4+IDE2KSk7IAp9IAoKCmlmICgzID4+IDE2ICE9PSAwKSB7IAogICRFUlJPUignIzUxNTogMyA+PiAxNiA9PT0gMC4gQWN0dWFsOiAnICsgKDMgPj4gMTYpKTsgCn0gCgoKaWYgKDcgPj4gMTYgIT09IDApIHsgCiAgJEVSUk9SKCcjNTE2OiA3ID4+IDE2ID09PSAwLiBBY3R1YWw6ICcgKyAoNyA+PiAxNikpOyAKfSAKCgppZiAoMTUgPj4gMTYgIT09IDApIHsgCiAgJEVSUk9SKCcjNTE3OiAxNSA+PiAxNiA9PT0gMC4gQWN0dWFsOiAnICsgKDE1ID4+IDE2KSk7IAp9IAoKCmlmICgzMSA+PiAxNiAhPT0gMCkgeyAKICAkRVJST1IoJyM1MTg6IDMxID4+IDE2ID09PSAwLiBBY3R1YWw6ICcgKyAoMzEgPj4gMTYpKTsgCn0gCgoKaWYgKDYzID4+IDE2ICE9PSAwKSB7IAogICRFUlJPUignIzUxOTogNjMgPj4gMTYgPT09IDAuIEFjdHVhbDogJyArICg2MyA+PiAxNikpOyAKfSAKCgppZiAoMTI3ID4+IDE2ICE9PSAwKSB7IAogICRFUlJPUignIzUyMDogMTI3ID4+IDE2ID09PSAwLiBBY3R1YWw6ICcgKyAoMTI3ID4+IDE2KSk7IAp9IAoKCmlmICgyNTUgPj4gMTYgIT09IDApIHsgCiAgJEVSUk9SKCcjNTIxOiAyNTUgPj4gMTYgPT09IDAuIEFjdHVhbDogJyArICgyNTUgPj4gMTYpKTsgCn0gCgoKaWYgKDUxMSA+PiAxNiAhPT0gMCkgeyAKICAkRVJST1IoJyM1MjI6IDUxMSA+PiAxNiA9PT0gMC4gQWN0dWFsOiAnICsgKDUxMSA+PiAxNikpOyAKfSAKCgppZiAoMTAyMyA+PiAxNiAhPT0gMCkgeyAKICAkRVJST1IoJyM1MjM6IDEwMjMgPj4gMTYgPT09IDAuIEFjdHVhbDogJyArICgxMDIzID4+IDE2KSk7IAp9IAoKCmlmICgyMDQ3ID4+IDE2ICE9PSAwKSB7IAogICRFUlJPUignIzUyNDogMjA0NyA+PiAxNiA9PT0gMC4gQWN0dWFsOiAnICsgKDIwNDcgPj4gMTYpKTsgCn0gCgoKaWYgKDQwOTUgPj4gMTYgIT09IDApIHsgCiAgJEVSUk9SKCcjNTI1OiA0MDk1ID4+IDE2ID09PSAwLiBBY3R1YWw6ICcgKyAoNDA5NSA+PiAxNikpOyAKfSAKCgppZiAoODE5MSA+PiAxNiAhPT0gMCkgeyAKICAkRVJST1IoJyM1MjY6IDgxOTEgPj4gMTYgPT09IDAuIEFjdHVhbDogJyArICg4MTkxID4+IDE2KSk7IAp9IAoKCmlmICgxNjM4MyA+PiAxNiAhPT0gMCkgeyAKICAkRVJST1IoJyM1Mjc6IDE2MzgzID4+IDE2ID09PSAwLiBBY3R1YWw6ICcgKyAoMTYzODMgPj4gMTYpKTsgCn0gCgoKaWYgKDMyNzY3ID4+IDE2ICE9PSAwKSB7IAogICRFUlJPUignIzUyODogMzI3NjcgPj4gMTYgPT09IDAuIEFjdHVhbDogJyArICgzMjc2NyA+PiAxNikpOyAKfSAKCgppZiAoNjU1MzUgPj4gMTYgIT09IDApIHsgCiAgJEVSUk9SKCcjNTI5OiA2NTUzNSA+PiAxNiA9PT0gMC4gQWN0dWFsOiAnICsgKDY1NTM1ID4+IDE2KSk7IAp9IAoKCmlmICgxMzEwNzEgPj4gMTYgIT09IDEpIHsgCiAgJEVSUk9SKCcjNTMwOiAxMzEwNzEgPj4gMTYgPT09IDEuIEFjdHVhbDogJyArICgxMzEwNzEgPj4gMTYpKTsgCn0gCgoKaWYgKDI2MjE0MyA+PiAxNiAhPT0gMykgeyAKICAkRVJST1IoJyM1MzE6IDI2MjE0MyA+PiAxNiA9PT0gMy4gQWN0dWFsOiAnICsgKDI2MjE0MyA+PiAxNikpOyAKfSAKCgppZiAoNTI0Mjg3ID4+IDE2ICE9PSA3KSB7IAogICRFUlJPUignIzUzMjogNTI0Mjg3ID4+IDE2ID09PSA3LiBBY3R1YWw6ICcgKyAoNTI0Mjg3ID4+IDE2KSk7IAp9IAoKCmlmICgxMDQ4NTc1ID4+IDE2ICE9PSAxNSkgeyAKICAkRVJST1IoJyM1MzM6IDEwNDg1NzUgPj4gMTYgPT09IDE1LiBBY3R1YWw6ICcgKyAoMTA0ODU3NSA+PiAxNikpOyAKfSAKCgppZiAoMjA5NzE1MSA+PiAxNiAhPT0gMzEpIHsgCiAgJEVSUk9SKCcjNTM0OiAyMDk3MTUxID4+IDE2ID09PSAzMS4gQWN0dWFsOiAnICsgKDIwOTcxNTEgPj4gMTYpKTsgCn0gCgoKaWYgKDQxOTQzMDMgPj4gMTYgIT09IDYzKSB7IAogICRFUlJPUignIzUzNTogNDE5NDMwMyA+PiAxNiA9PT0gNjMuIEFjdHVhbDogJyArICg0MTk0MzAzID4+IDE2KSk7IAp9IAoKCmlmICg4Mzg4NjA3ID4+IDE2ICE9PSAxMjcpIHsgCiAgJEVSUk9SKCcjNTM2OiA4Mzg4NjA3ID4+IDE2ID09PSAxMjcuIEFjdHVhbDogJyArICg4Mzg4NjA3ID4+IDE2KSk7IAp9IAoKCmlmICgxNjc3NzIxNSA+PiAxNiAhPT0gMjU1KSB7IAogICRFUlJPUignIzUzNzogMTY3NzcyMTUgPj4gMTYgPT09IDI1NS4gQWN0dWFsOiAnICsgKDE2Nzc3MjE1ID4+IDE2KSk7IAp9IAoKCmlmICgzMzU1NDQzMSA+PiAxNiAhPT0gNTExKSB7IAogICRFUlJPUignIzUzODogMzM1NTQ0MzEgPj4gMTYgPT09IDUxMS4gQWN0dWFsOiAnICsgKDMzNTU0NDMxID4+IDE2KSk7IAp9IAoKCmlmICg2NzEwODg2MyA+PiAxNiAhPT0gMTAyMykgeyAKICAkRVJST1IoJyM1Mzk6IDY3MTA4ODYzID4+IDE2ID09PSAxMDIzLiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPj4gMTYpKTsgCn0gCgoKaWYgKDEzNDIxNzcyNyA+PiAxNiAhPT0gMjA0NykgeyAKICAkRVJST1IoJyM1NDA6IDEzNDIxNzcyNyA+PiAxNiA9PT0gMjA0Ny4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA+PiAxNikpOyAKfSAKCgppZiAoMjY4NDM1NDU1ID4+IDE2ICE9PSA0MDk1KSB7IAogICRFUlJPUignIzU0MTogMjY4NDM1NDU1ID4+IDE2ID09PSA0MDk1LiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU1ID4+IDE2KSk7IAp9IAoKCmlmICg1MzY4NzA5MTEgPj4gMTYgIT09IDgxOTEpIHsgCiAgJEVSUk9SKCcjNTQyOiA1MzY4NzA5MTEgPj4gMTYgPT09IDgxOTEuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPj4gMTYpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjMgPj4gMTYgIT09IDE2MzgzKSB7IAogICRFUlJPUignIzU0MzogMTA3Mzc0MTgyMyA+PiAxNiA9PT0gMTYzODMuIEFjdHVhbDogJyArICgxMDczNzQxODIzID4+IDE2KSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ3ID4+IDE2ICE9PSAzMjc2NykgeyAKICAkRVJST1IoJyM1NDQ6IDIxNDc0ODM2NDcgPj4gMTYgPT09IDMyNzY3LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiAxNikpOyAKfSAKCgppZiAoMCA+PiAxNyAhPT0gMCkgeyAKICAkRVJST1IoJyM1NDU6IDAgPj4gMTcgPT09IDAuIEFjdHVhbDogJyArICgwID4+IDE3KSk7IAp9IAoKCmlmICgxID4+IDE3ICE9PSAwKSB7IAogICRFUlJPUignIzU0NjogMSA+PiAxNyA9PT0gMC4gQWN0dWFsOiAnICsgKDEgPj4gMTcpKTsgCn0gCgoKaWYgKDMgPj4gMTcgIT09IDApIHsgCiAgJEVSUk9SKCcjNTQ3OiAzID4+IDE3ID09PSAwLiBBY3R1YWw6ICcgKyAoMyA+PiAxNykpOyAKfSAKCgppZiAoNyA+PiAxNyAhPT0gMCkgeyAKICAkRVJST1IoJyM1NDg6IDcgPj4gMTcgPT09IDAuIEFjdHVhbDogJyArICg3ID4+IDE3KSk7IAp9IAoKCmlmICgxNSA+PiAxNyAhPT0gMCkgeyAKICAkRVJST1IoJyM1NDk6IDE1ID4+IDE3ID09PSAwLiBBY3R1YWw6ICcgKyAoMTUgPj4gMTcpKTsgCn0gCgoKaWYgKDMxID4+IDE3ICE9PSAwKSB7IAogICRFUlJPUignIzU1MDogMzEgPj4gMTcgPT09IDAuIEFjdHVhbDogJyArICgzMSA+PiAxNykpOyAKfSAKCgppZiAoNjMgPj4gMTcgIT09IDApIHsgCiAgJEVSUk9SKCcjNTUxOiA2MyA+PiAxNyA9PT0gMC4gQWN0dWFsOiAnICsgKDYzID4+IDE3KSk7IAp9IAoKCmlmICgxMjcgPj4gMTcgIT09IDApIHsgCiAgJEVSUk9SKCcjNTUyOiAxMjcgPj4gMTcgPT09IDAuIEFjdHVhbDogJyArICgxMjcgPj4gMTcpKTsgCn0gCgoKaWYgKDI1NSA+PiAxNyAhPT0gMCkgeyAKICAkRVJST1IoJyM1NTM6IDI1NSA+PiAxNyA9PT0gMC4gQWN0dWFsOiAnICsgKDI1NSA+PiAxNykpOyAKfSAKCgppZiAoNTExID4+IDE3ICE9PSAwKSB7IAogICRFUlJPUignIzU1NDogNTExID4+IDE3ID09PSAwLiBBY3R1YWw6ICcgKyAoNTExID4+IDE3KSk7IAp9IAoKCmlmICgxMDIzID4+IDE3ICE9PSAwKSB7IAogICRFUlJPUignIzU1NTogMTAyMyA+PiAxNyA9PT0gMC4gQWN0dWFsOiAnICsgKDEwMjMgPj4gMTcpKTsgCn0gCgoKaWYgKDIwNDcgPj4gMTcgIT09IDApIHsgCiAgJEVSUk9SKCcjNTU2OiAyMDQ3ID4+IDE3ID09PSAwLiBBY3R1YWw6ICcgKyAoMjA0NyA+PiAxNykpOyAKfSAKCgppZiAoNDA5NSA+PiAxNyAhPT0gMCkgeyAKICAkRVJST1IoJyM1NTc6IDQwOTUgPj4gMTcgPT09IDAuIEFjdHVhbDogJyArICg0MDk1ID4+IDE3KSk7IAp9IAoKCmlmICg4MTkxID4+IDE3ICE9PSAwKSB7IAogICRFUlJPUignIzU1ODogODE5MSA+PiAxNyA9PT0gMC4gQWN0dWFsOiAnICsgKDgxOTEgPj4gMTcpKTsgCn0gCgoKaWYgKDE2MzgzID4+IDE3ICE9PSAwKSB7IAogICRFUlJPUignIzU1OTogMTYzODMgPj4gMTcgPT09IDAuIEFjdHVhbDogJyArICgxNjM4MyA+PiAxNykpOyAKfSAKCgppZiAoMzI3NjcgPj4gMTcgIT09IDApIHsgCiAgJEVSUk9SKCcjNTYwOiAzMjc2NyA+PiAxNyA9PT0gMC4gQWN0dWFsOiAnICsgKDMyNzY3ID4+IDE3KSk7IAp9IAoKCmlmICg2NTUzNSA+PiAxNyAhPT0gMCkgeyAKICAkRVJST1IoJyM1NjE6IDY1NTM1ID4+IDE3ID09PSAwLiBBY3R1YWw6ICcgKyAoNjU1MzUgPj4gMTcpKTsgCn0gCgoKaWYgKDEzMTA3MSA+PiAxNyAhPT0gMCkgeyAKICAkRVJST1IoJyM1NjI6IDEzMTA3MSA+PiAxNyA9PT0gMC4gQWN0dWFsOiAnICsgKDEzMTA3MSA+PiAxNykpOyAKfSAKCgppZiAoMjYyMTQzID4+IDE3ICE9PSAxKSB7IAogICRFUlJPUignIzU2MzogMjYyMTQzID4+IDE3ID09PSAxLiBBY3R1YWw6ICcgKyAoMjYyMTQzID4+IDE3KSk7IAp9IAoKCmlmICg1MjQyODcgPj4gMTcgIT09IDMpIHsgCiAgJEVSUk9SKCcjNTY0OiA1MjQyODcgPj4gMTcgPT09IDMuIEFjdHVhbDogJyArICg1MjQyODcgPj4gMTcpKTsgCn0gCgoKaWYgKDEwNDg1NzUgPj4gMTcgIT09IDcpIHsgCiAgJEVSUk9SKCcjNTY1OiAxMDQ4NTc1ID4+IDE3ID09PSA3LiBBY3R1YWw6ICcgKyAoMTA0ODU3NSA+PiAxNykpOyAKfSAKCgppZiAoMjA5NzE1MSA+PiAxNyAhPT0gMTUpIHsgCiAgJEVSUk9SKCcjNTY2OiAyMDk3MTUxID4+IDE3ID09PSAxNS4gQWN0dWFsOiAnICsgKDIwOTcxNTEgPj4gMTcpKTsgCn0gCgoKaWYgKDQxOTQzMDMgPj4gMTcgIT09IDMxKSB7IAogICRFUlJPUignIzU2NzogNDE5NDMwMyA+PiAxNyA9PT0gMzEuIEFjdHVhbDogJyArICg0MTk0MzAzID4+IDE3KSk7IAp9IAoKCmlmICg4Mzg4NjA3ID4+IDE3ICE9PSA2MykgeyAKICAkRVJST1IoJyM1Njg6IDgzODg2MDcgPj4gMTcgPT09IDYzLiBBY3R1YWw6ICcgKyAoODM4ODYwNyA+PiAxNykpOyAKfSAKCgppZiAoMTY3NzcyMTUgPj4gMTcgIT09IDEyNykgeyAKICAkRVJST1IoJyM1Njk6IDE2Nzc3MjE1ID4+IDE3ID09PSAxMjcuIEFjdHVhbDogJyArICgxNjc3NzIxNSA+PiAxNykpOyAKfSAKCgppZiAoMzM1NTQ0MzEgPj4gMTcgIT09IDI1NSkgeyAKICAkRVJST1IoJyM1NzA6IDMzNTU0NDMxID4+IDE3ID09PSAyNTUuIEFjdHVhbDogJyArICgzMzU1NDQzMSA+PiAxNykpOyAKfSAKCgppZiAoNjcxMDg4NjMgPj4gMTcgIT09IDUxMSkgeyAKICAkRVJST1IoJyM1NzE6IDY3MTA4ODYzID4+IDE3ID09PSA1MTEuIEFjdHVhbDogJyArICg2NzEwODg2MyA+PiAxNykpOyAKfSAKCgppZiAoMTM0MjE3NzI3ID4+IDE3ICE9PSAxMDIzKSB7IAogICRFUlJPUignIzU3MjogMTM0MjE3NzI3ID4+IDE3ID09PSAxMDIzLiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI3ID4+IDE3KSk7IAp9IAoKCmlmICgyNjg0MzU0NTUgPj4gMTcgIT09IDIwNDcpIHsgCiAgJEVSUk9SKCcjNTczOiAyNjg0MzU0NTUgPj4gMTcgPT09IDIwNDcuIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPj4gMTcpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMSA+PiAxNyAhPT0gNDA5NSkgeyAKICAkRVJST1IoJyM1NzQ6IDUzNjg3MDkxMSA+PiAxNyA9PT0gNDA5NS4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMSA+PiAxNykpOyAKfSAKCgppZiAoMTA3Mzc0MTgyMyA+PiAxNyAhPT0gODE5MSkgeyAKICAkRVJST1IoJyM1NzU6IDEwNzM3NDE4MjMgPj4gMTcgPT09IDgxOTEuIEFjdHVhbDogJyArICgxMDczNzQxODIzID4+IDE3KSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ3ID4+IDE3ICE9PSAxNjM4MykgeyAKICAkRVJST1IoJyM1NzY6IDIxNDc0ODM2NDcgPj4gMTcgPT09IDE2MzgzLiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiAxNykpOyAKfSAKCgppZiAoMCA+PiAxOCAhPT0gMCkgeyAKICAkRVJST1IoJyM1Nzc6IDAgPj4gMTggPT09IDAuIEFjdHVhbDogJyArICgwID4+IDE4KSk7IAp9IAoKCmlmICgxID4+IDE4ICE9PSAwKSB7IAogICRFUlJPUignIzU3ODogMSA+PiAxOCA9PT0gMC4gQWN0dWFsOiAnICsgKDEgPj4gMTgpKTsgCn0gCgoKaWYgKDMgPj4gMTggIT09IDApIHsgCiAgJEVSUk9SKCcjNTc5OiAzID4+IDE4ID09PSAwLiBBY3R1YWw6ICcgKyAoMyA+PiAxOCkpOyAKfSAKCgppZiAoNyA+PiAxOCAhPT0gMCkgeyAKICAkRVJST1IoJyM1ODA6IDcgPj4gMTggPT09IDAuIEFjdHVhbDogJyArICg3ID4+IDE4KSk7IAp9IAoKCmlmICgxNSA+PiAxOCAhPT0gMCkgeyAKICAkRVJST1IoJyM1ODE6IDE1ID4+IDE4ID09PSAwLiBBY3R1YWw6ICcgKyAoMTUgPj4gMTgpKTsgCn0gCgoKaWYgKDMxID4+IDE4ICE9PSAwKSB7IAogICRFUlJPUignIzU4MjogMzEgPj4gMTggPT09IDAuIEFjdHVhbDogJyArICgzMSA+PiAxOCkpOyAKfSAKCgppZiAoNjMgPj4gMTggIT09IDApIHsgCiAgJEVSUk9SKCcjNTgzOiA2MyA+PiAxOCA9PT0gMC4gQWN0dWFsOiAnICsgKDYzID4+IDE4KSk7IAp9IAoKCmlmICgxMjcgPj4gMTggIT09IDApIHsgCiAgJEVSUk9SKCcjNTg0OiAxMjcgPj4gMTggPT09IDAuIEFjdHVhbDogJyArICgxMjcgPj4gMTgpKTsgCn0gCgoKaWYgKDI1NSA+PiAxOCAhPT0gMCkgeyAKICAkRVJST1IoJyM1ODU6IDI1NSA+PiAxOCA9PT0gMC4gQWN0dWFsOiAnICsgKDI1NSA+PiAxOCkpOyAKfSAKCgppZiAoNTExID4+IDE4ICE9PSAwKSB7IAogICRFUlJPUignIzU4NjogNTExID4+IDE4ID09PSAwLiBBY3R1YWw6ICcgKyAoNTExID4+IDE4KSk7IAp9IAoKCmlmICgxMDIzID4+IDE4ICE9PSAwKSB7IAogICRFUlJPUignIzU4NzogMTAyMyA+PiAxOCA9PT0gMC4gQWN0dWFsOiAnICsgKDEwMjMgPj4gMTgpKTsgCn0gCgoKaWYgKDIwNDcgPj4gMTggIT09IDApIHsgCiAgJEVSUk9SKCcjNTg4OiAyMDQ3ID4+IDE4ID09PSAwLiBBY3R1YWw6ICcgKyAoMjA0NyA+PiAxOCkpOyAKfSAKCgppZiAoNDA5NSA+PiAxOCAhPT0gMCkgeyAKICAkRVJST1IoJyM1ODk6IDQwOTUgPj4gMTggPT09IDAuIEFjdHVhbDogJyArICg0MDk1ID4+IDE4KSk7IAp9IAoKCmlmICg4MTkxID4+IDE4ICE9PSAwKSB7IAogICRFUlJPUignIzU5MDogODE5MSA+PiAxOCA9PT0gMC4gQWN0dWFsOiAnICsgKDgxOTEgPj4gMTgpKTsgCn0gCgoKaWYgKDE2MzgzID4+IDE4ICE9PSAwKSB7IAogICRFUlJPUignIzU5MTogMTYzODMgPj4gMTggPT09IDAuIEFjdHVhbDogJyArICgxNjM4MyA+PiAxOCkpOyAKfSAKCgppZiAoMzI3NjcgPj4gMTggIT09IDApIHsgCiAgJEVSUk9SKCcjNTkyOiAzMjc2NyA+PiAxOCA9PT0gMC4gQWN0dWFsOiAnICsgKDMyNzY3ID4+IDE4KSk7IAp9IAoKCmlmICg2NTUzNSA+PiAxOCAhPT0gMCkgeyAKICAkRVJST1IoJyM1OTM6IDY1NTM1ID4+IDE4ID09PSAwLiBBY3R1YWw6ICcgKyAoNjU1MzUgPj4gMTgpKTsgCn0gCgoKaWYgKDEzMTA3MSA+PiAxOCAhPT0gMCkgeyAKICAkRVJST1IoJyM1OTQ6IDEzMTA3MSA+PiAxOCA9PT0gMC4gQWN0dWFsOiAnICsgKDEzMTA3MSA+PiAxOCkpOyAKfSAKCgppZiAoMjYyMTQzID4+IDE4ICE9PSAwKSB7IAogICRFUlJPUignIzU5NTogMjYyMTQzID4+IDE4ID09PSAwLiBBY3R1YWw6ICcgKyAoMjYyMTQzID4+IDE4KSk7IAp9IAoKCmlmICg1MjQyODcgPj4gMTggIT09IDEpIHsgCiAgJEVSUk9SKCcjNTk2OiA1MjQyODcgPj4gMTggPT09IDEuIEFjdHVhbDogJyArICg1MjQyODcgPj4gMTgpKTsgCn0gCgoKaWYgKDEwNDg1NzUgPj4gMTggIT09IDMpIHsgCiAgJEVSUk9SKCcjNTk3OiAxMDQ4NTc1ID4+IDE4ID09PSAzLiBBY3R1YWw6ICcgKyAoMTA0ODU3NSA+PiAxOCkpOyAKfSAKCgppZiAoMjA5NzE1MSA+PiAxOCAhPT0gNykgeyAKICAkRVJST1IoJyM1OTg6IDIwOTcxNTEgPj4gMTggPT09IDcuIEFjdHVhbDogJyArICgyMDk3MTUxID4+IDE4KSk7IAp9IAoKCmlmICg0MTk0MzAzID4+IDE4ICE9PSAxNSkgeyAKICAkRVJST1IoJyM1OTk6IDQxOTQzMDMgPj4gMTggPT09IDE1LiBBY3R1YWw6ICcgKyAoNDE5NDMwMyA+PiAxOCkpOyAKfSAKCgppZiAoODM4ODYwNyA+PiAxOCAhPT0gMzEpIHsgCiAgJEVSUk9SKCcjNjAwOiA4Mzg4NjA3ID4+IDE4ID09PSAzMS4gQWN0dWFsOiAnICsgKDgzODg2MDcgPj4gMTgpKTsgCn0gCgoKaWYgKDE2Nzc3MjE1ID4+IDE4ICE9PSA2MykgeyAKICAkRVJST1IoJyM2MDE6IDE2Nzc3MjE1ID4+IDE4ID09PSA2My4gQWN0dWFsOiAnICsgKDE2Nzc3MjE1ID4+IDE4KSk7IAp9IAoKCmlmICgzMzU1NDQzMSA+PiAxOCAhPT0gMTI3KSB7IAogICRFUlJPUignIzYwMjogMzM1NTQ0MzEgPj4gMTggPT09IDEyNy4gQWN0dWFsOiAnICsgKDMzNTU0NDMxID4+IDE4KSk7IAp9IAoKCmlmICg2NzEwODg2MyA+PiAxOCAhPT0gMjU1KSB7IAogICRFUlJPUignIzYwMzogNjcxMDg4NjMgPj4gMTggPT09IDI1NS4gQWN0dWFsOiAnICsgKDY3MTA4ODYzID4+IDE4KSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPj4gMTggIT09IDUxMSkgeyAKICAkRVJST1IoJyM2MDQ6IDEzNDIxNzcyNyA+PiAxOCA9PT0gNTExLiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI3ID4+IDE4KSk7IAp9IAoKCmlmICgyNjg0MzU0NTUgPj4gMTggIT09IDEwMjMpIHsgCiAgJEVSUk9SKCcjNjA1OiAyNjg0MzU0NTUgPj4gMTggPT09IDEwMjMuIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPj4gMTgpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMSA+PiAxOCAhPT0gMjA0NykgeyAKICAkRVJST1IoJyM2MDY6IDUzNjg3MDkxMSA+PiAxOCA9PT0gMjA0Ny4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMSA+PiAxOCkpOyAKfSAKCgppZiAoMTA3Mzc0MTgyMyA+PiAxOCAhPT0gNDA5NSkgeyAKICAkRVJST1IoJyM2MDc6IDEwNzM3NDE4MjMgPj4gMTggPT09IDQwOTUuIEFjdHVhbDogJyArICgxMDczNzQxODIzID4+IDE4KSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ3ID4+IDE4ICE9PSA4MTkxKSB7IAogICRFUlJPUignIzYwODogMjE0NzQ4MzY0NyA+PiAxOCA9PT0gODE5MS4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4gMTgpKTsgCn0gCgoKaWYgKDAgPj4gMTkgIT09IDApIHsgCiAgJEVSUk9SKCcjNjA5OiAwID4+IDE5ID09PSAwLiBBY3R1YWw6ICcgKyAoMCA+PiAxOSkpOyAKfSAKCgppZiAoMSA+PiAxOSAhPT0gMCkgeyAKICAkRVJST1IoJyM2MTA6IDEgPj4gMTkgPT09IDAuIEFjdHVhbDogJyArICgxID4+IDE5KSk7IAp9IAoKCmlmICgzID4+IDE5ICE9PSAwKSB7IAogICRFUlJPUignIzYxMTogMyA+PiAxOSA9PT0gMC4gQWN0dWFsOiAnICsgKDMgPj4gMTkpKTsgCn0gCgoKaWYgKDcgPj4gMTkgIT09IDApIHsgCiAgJEVSUk9SKCcjNjEyOiA3ID4+IDE5ID09PSAwLiBBY3R1YWw6ICcgKyAoNyA+PiAxOSkpOyAKfSAKCgppZiAoMTUgPj4gMTkgIT09IDApIHsgCiAgJEVSUk9SKCcjNjEzOiAxNSA+PiAxOSA9PT0gMC4gQWN0dWFsOiAnICsgKDE1ID4+IDE5KSk7IAp9IAoKCmlmICgzMSA+PiAxOSAhPT0gMCkgeyAKICAkRVJST1IoJyM2MTQ6IDMxID4+IDE5ID09PSAwLiBBY3R1YWw6ICcgKyAoMzEgPj4gMTkpKTsgCn0gCgoKaWYgKDYzID4+IDE5ICE9PSAwKSB7IAogICRFUlJPUignIzYxNTogNjMgPj4gMTkgPT09IDAuIEFjdHVhbDogJyArICg2MyA+PiAxOSkpOyAKfSAKCgppZiAoMTI3ID4+IDE5ICE9PSAwKSB7IAogICRFUlJPUignIzYxNjogMTI3ID4+IDE5ID09PSAwLiBBY3R1YWw6ICcgKyAoMTI3ID4+IDE5KSk7IAp9IAoKCmlmICgyNTUgPj4gMTkgIT09IDApIHsgCiAgJEVSUk9SKCcjNjE3OiAyNTUgPj4gMTkgPT09IDAuIEFjdHVhbDogJyArICgyNTUgPj4gMTkpKTsgCn0gCgoKaWYgKDUxMSA+PiAxOSAhPT0gMCkgeyAKICAkRVJST1IoJyM2MTg6IDUxMSA+PiAxOSA9PT0gMC4gQWN0dWFsOiAnICsgKDUxMSA+PiAxOSkpOyAKfSAKCgppZiAoMTAyMyA+PiAxOSAhPT0gMCkgeyAKICAkRVJST1IoJyM2MTk6IDEwMjMgPj4gMTkgPT09IDAuIEFjdHVhbDogJyArICgxMDIzID4+IDE5KSk7IAp9IAoKCmlmICgyMDQ3ID4+IDE5ICE9PSAwKSB7IAogICRFUlJPUignIzYyMDogMjA0NyA+PiAxOSA9PT0gMC4gQWN0dWFsOiAnICsgKDIwNDcgPj4gMTkpKTsgCn0gCgoKaWYgKDQwOTUgPj4gMTkgIT09IDApIHsgCiAgJEVSUk9SKCcjNjIxOiA0MDk1ID4+IDE5ID09PSAwLiBBY3R1YWw6ICcgKyAoNDA5NSA+PiAxOSkpOyAKfSAKCgppZiAoODE5MSA+PiAxOSAhPT0gMCkgeyAKICAkRVJST1IoJyM2MjI6IDgxOTEgPj4gMTkgPT09IDAuIEFjdHVhbDogJyArICg4MTkxID4+IDE5KSk7IAp9IAoKCmlmICgxNjM4MyA+PiAxOSAhPT0gMCkgeyAKICAkRVJST1IoJyM2MjM6IDE2MzgzID4+IDE5ID09PSAwLiBBY3R1YWw6ICcgKyAoMTYzODMgPj4gMTkpKTsgCn0gCgoKaWYgKDMyNzY3ID4+IDE5ICE9PSAwKSB7IAogICRFUlJPUignIzYyNDogMzI3NjcgPj4gMTkgPT09IDAuIEFjdHVhbDogJyArICgzMjc2NyA+PiAxOSkpOyAKfSAKCgppZiAoNjU1MzUgPj4gMTkgIT09IDApIHsgCiAgJEVSUk9SKCcjNjI1OiA2NTUzNSA+PiAxOSA9PT0gMC4gQWN0dWFsOiAnICsgKDY1NTM1ID4+IDE5KSk7IAp9IAoKCmlmICgxMzEwNzEgPj4gMTkgIT09IDApIHsgCiAgJEVSUk9SKCcjNjI2OiAxMzEwNzEgPj4gMTkgPT09IDAuIEFjdHVhbDogJyArICgxMzEwNzEgPj4gMTkpKTsgCn0gCgoKaWYgKDI2MjE0MyA+PiAxOSAhPT0gMCkgeyAKICAkRVJST1IoJyM2Mjc6IDI2MjE0MyA+PiAxOSA9PT0gMC4gQWN0dWFsOiAnICsgKDI2MjE0MyA+PiAxOSkpOyAKfSAKCgppZiAoNTI0Mjg3ID4+IDE5ICE9PSAwKSB7IAogICRFUlJPUignIzYyODogNTI0Mjg3ID4+IDE5ID09PSAwLiBBY3R1YWw6ICcgKyAoNTI0Mjg3ID4+IDE5KSk7IAp9IAoKCmlmICgxMDQ4NTc1ID4+IDE5ICE9PSAxKSB7IAogICRFUlJPUignIzYyOTogMTA0ODU3NSA+PiAxOSA9PT0gMS4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPj4gMTkpKTsgCn0gCgoKaWYgKDIwOTcxNTEgPj4gMTkgIT09IDMpIHsgCiAgJEVSUk9SKCcjNjMwOiAyMDk3MTUxID4+IDE5ID09PSAzLiBBY3R1YWw6ICcgKyAoMjA5NzE1MSA+PiAxOSkpOyAKfSAKCgppZiAoNDE5NDMwMyA+PiAxOSAhPT0gNykgeyAKICAkRVJST1IoJyM2MzE6IDQxOTQzMDMgPj4gMTkgPT09IDcuIEFjdHVhbDogJyArICg0MTk0MzAzID4+IDE5KSk7IAp9IAoKCmlmICg4Mzg4NjA3ID4+IDE5ICE9PSAxNSkgeyAKICAkRVJST1IoJyM2MzI6IDgzODg2MDcgPj4gMTkgPT09IDE1LiBBY3R1YWw6ICcgKyAoODM4ODYwNyA+PiAxOSkpOyAKfSAKCgppZiAoMTY3NzcyMTUgPj4gMTkgIT09IDMxKSB7IAogICRFUlJPUignIzYzMzogMTY3NzcyMTUgPj4gMTkgPT09IDMxLiBBY3R1YWw6ICcgKyAoMTY3NzcyMTUgPj4gMTkpKTsgCn0gCgoKaWYgKDMzNTU0NDMxID4+IDE5ICE9PSA2MykgeyAKICAkRVJST1IoJyM2MzQ6IDMzNTU0NDMxID4+IDE5ID09PSA2My4gQWN0dWFsOiAnICsgKDMzNTU0NDMxID4+IDE5KSk7IAp9IAoKCmlmICg2NzEwODg2MyA+PiAxOSAhPT0gMTI3KSB7IAogICRFUlJPUignIzYzNTogNjcxMDg4NjMgPj4gMTkgPT09IDEyNy4gQWN0dWFsOiAnICsgKDY3MTA4ODYzID4+IDE5KSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPj4gMTkgIT09IDI1NSkgeyAKICAkRVJST1IoJyM2MzY6IDEzNDIxNzcyNyA+PiAxOSA9PT0gMjU1LiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI3ID4+IDE5KSk7IAp9IAoKCmlmICgyNjg0MzU0NTUgPj4gMTkgIT09IDUxMSkgeyAKICAkRVJST1IoJyM2Mzc6IDI2ODQzNTQ1NSA+PiAxOSA9PT0gNTExLiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU1ID4+IDE5KSk7IAp9IAoKCmlmICg1MzY4NzA5MTEgPj4gMTkgIT09IDEwMjMpIHsgCiAgJEVSUk9SKCcjNjM4OiA1MzY4NzA5MTEgPj4gMTkgPT09IDEwMjMuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPj4gMTkpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjMgPj4gMTkgIT09IDIwNDcpIHsgCiAgJEVSUk9SKCcjNjM5OiAxMDczNzQxODIzID4+IDE5ID09PSAyMDQ3LiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA+PiAxOSkpOyAKfSAKCgppZiAoMjE0NzQ4MzY0NyA+PiAxOSAhPT0gNDA5NSkgeyAKICAkRVJST1IoJyM2NDA6IDIxNDc0ODM2NDcgPj4gMTkgPT09IDQwOTUuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3ID4+IDE5KSk7IAp9IAoKCmlmICgwID4+IDIwICE9PSAwKSB7IAogICRFUlJPUignIzY0MTogMCA+PiAyMCA9PT0gMC4gQWN0dWFsOiAnICsgKDAgPj4gMjApKTsgCn0gCgoKaWYgKDEgPj4gMjAgIT09IDApIHsgCiAgJEVSUk9SKCcjNjQyOiAxID4+IDIwID09PSAwLiBBY3R1YWw6ICcgKyAoMSA+PiAyMCkpOyAKfSAKCgppZiAoMyA+PiAyMCAhPT0gMCkgeyAKICAkRVJST1IoJyM2NDM6IDMgPj4gMjAgPT09IDAuIEFjdHVhbDogJyArICgzID4+IDIwKSk7IAp9IAoKCmlmICg3ID4+IDIwICE9PSAwKSB7IAogICRFUlJPUignIzY0NDogNyA+PiAyMCA9PT0gMC4gQWN0dWFsOiAnICsgKDcgPj4gMjApKTsgCn0gCgoKaWYgKDE1ID4+IDIwICE9PSAwKSB7IAogICRFUlJPUignIzY0NTogMTUgPj4gMjAgPT09IDAuIEFjdHVhbDogJyArICgxNSA+PiAyMCkpOyAKfSAKCgppZiAoMzEgPj4gMjAgIT09IDApIHsgCiAgJEVSUk9SKCcjNjQ2OiAzMSA+PiAyMCA9PT0gMC4gQWN0dWFsOiAnICsgKDMxID4+IDIwKSk7IAp9IAoKCmlmICg2MyA+PiAyMCAhPT0gMCkgeyAKICAkRVJST1IoJyM2NDc6IDYzID4+IDIwID09PSAwLiBBY3R1YWw6ICcgKyAoNjMgPj4gMjApKTsgCn0gCgoKaWYgKDEyNyA+PiAyMCAhPT0gMCkgeyAKICAkRVJST1IoJyM2NDg6IDEyNyA+PiAyMCA9PT0gMC4gQWN0dWFsOiAnICsgKDEyNyA+PiAyMCkpOyAKfSAKCgppZiAoMjU1ID4+IDIwICE9PSAwKSB7IAogICRFUlJPUignIzY0OTogMjU1ID4+IDIwID09PSAwLiBBY3R1YWw6ICcgKyAoMjU1ID4+IDIwKSk7IAp9IAoKCmlmICg1MTEgPj4gMjAgIT09IDApIHsgCiAgJEVSUk9SKCcjNjUwOiA1MTEgPj4gMjAgPT09IDAuIEFjdHVhbDogJyArICg1MTEgPj4gMjApKTsgCn0gCgoKaWYgKDEwMjMgPj4gMjAgIT09IDApIHsgCiAgJEVSUk9SKCcjNjUxOiAxMDIzID4+IDIwID09PSAwLiBBY3R1YWw6ICcgKyAoMTAyMyA+PiAyMCkpOyAKfSAKCgppZiAoMjA0NyA+PiAyMCAhPT0gMCkgeyAKICAkRVJST1IoJyM2NTI6IDIwNDcgPj4gMjAgPT09IDAuIEFjdHVhbDogJyArICgyMDQ3ID4+IDIwKSk7IAp9IAoKCmlmICg0MDk1ID4+IDIwICE9PSAwKSB7IAogICRFUlJPUignIzY1MzogNDA5NSA+PiAyMCA9PT0gMC4gQWN0dWFsOiAnICsgKDQwOTUgPj4gMjApKTsgCn0gCgoKaWYgKDgxOTEgPj4gMjAgIT09IDApIHsgCiAgJEVSUk9SKCcjNjU0OiA4MTkxID4+IDIwID09PSAwLiBBY3R1YWw6ICcgKyAoODE5MSA+PiAyMCkpOyAKfSAKCgppZiAoMTYzODMgPj4gMjAgIT09IDApIHsgCiAgJEVSUk9SKCcjNjU1OiAxNjM4MyA+PiAyMCA9PT0gMC4gQWN0dWFsOiAnICsgKDE2MzgzID4+IDIwKSk7IAp9IAoKCmlmICgzMjc2NyA+PiAyMCAhPT0gMCkgeyAKICAkRVJST1IoJyM2NTY6IDMyNzY3ID4+IDIwID09PSAwLiBBY3R1YWw6ICcgKyAoMzI3NjcgPj4gMjApKTsgCn0gCgoKaWYgKDY1NTM1ID4+IDIwICE9PSAwKSB7IAogICRFUlJPUignIzY1NzogNjU1MzUgPj4gMjAgPT09IDAuIEFjdHVhbDogJyArICg2NTUzNSA+PiAyMCkpOyAKfSAKCgppZiAoMTMxMDcxID4+IDIwICE9PSAwKSB7IAogICRFUlJPUignIzY1ODogMTMxMDcxID4+IDIwID09PSAwLiBBY3R1YWw6ICcgKyAoMTMxMDcxID4+IDIwKSk7IAp9IAoKCmlmICgyNjIxNDMgPj4gMjAgIT09IDApIHsgCiAgJEVSUk9SKCcjNjU5OiAyNjIxNDMgPj4gMjAgPT09IDAuIEFjdHVhbDogJyArICgyNjIxNDMgPj4gMjApKTsgCn0gCgoKaWYgKDUyNDI4NyA+PiAyMCAhPT0gMCkgeyAKICAkRVJST1IoJyM2NjA6IDUyNDI4NyA+PiAyMCA9PT0gMC4gQWN0dWFsOiAnICsgKDUyNDI4NyA+PiAyMCkpOyAKfSAKCgppZiAoMTA0ODU3NSA+PiAyMCAhPT0gMCkgeyAKICAkRVJST1IoJyM2NjE6IDEwNDg1NzUgPj4gMjAgPT09IDAuIEFjdHVhbDogJyArICgxMDQ4NTc1ID4+IDIwKSk7IAp9IAoKCmlmICgyMDk3MTUxID4+IDIwICE9PSAxKSB7IAogICRFUlJPUignIzY2MjogMjA5NzE1MSA+PiAyMCA9PT0gMS4gQWN0dWFsOiAnICsgKDIwOTcxNTEgPj4gMjApKTsgCn0gCgoKaWYgKDQxOTQzMDMgPj4gMjAgIT09IDMpIHsgCiAgJEVSUk9SKCcjNjYzOiA0MTk0MzAzID4+IDIwID09PSAzLiBBY3R1YWw6ICcgKyAoNDE5NDMwMyA+PiAyMCkpOyAKfSAKCgppZiAoODM4ODYwNyA+PiAyMCAhPT0gNykgeyAKICAkRVJST1IoJyM2NjQ6IDgzODg2MDcgPj4gMjAgPT09IDcuIEFjdHVhbDogJyArICg4Mzg4NjA3ID4+IDIwKSk7IAp9IAoKCmlmICgxNjc3NzIxNSA+PiAyMCAhPT0gMTUpIHsgCiAgJEVSUk9SKCcjNjY1OiAxNjc3NzIxNSA+PiAyMCA9PT0gMTUuIEFjdHVhbDogJyArICgxNjc3NzIxNSA+PiAyMCkpOyAKfSAKCgppZiAoMzM1NTQ0MzEgPj4gMjAgIT09IDMxKSB7IAogICRFUlJPUignIzY2NjogMzM1NTQ0MzEgPj4gMjAgPT09IDMxLiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPj4gMjApKTsgCn0gCgoKaWYgKDY3MTA4ODYzID4+IDIwICE9PSA2MykgeyAKICAkRVJST1IoJyM2Njc6IDY3MTA4ODYzID4+IDIwID09PSA2My4gQWN0dWFsOiAnICsgKDY3MTA4ODYzID4+IDIwKSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPj4gMjAgIT09IDEyNykgeyAKICAkRVJST1IoJyM2Njg6IDEzNDIxNzcyNyA+PiAyMCA9PT0gMTI3LiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI3ID4+IDIwKSk7IAp9IAoKCmlmICgyNjg0MzU0NTUgPj4gMjAgIT09IDI1NSkgeyAKICAkRVJST1IoJyM2Njk6IDI2ODQzNTQ1NSA+PiAyMCA9PT0gMjU1LiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU1ID4+IDIwKSk7IAp9IAoKCmlmICg1MzY4NzA5MTEgPj4gMjAgIT09IDUxMSkgeyAKICAkRVJST1IoJyM2NzA6IDUzNjg3MDkxMSA+PiAyMCA9PT0gNTExLiBBY3R1YWw6ICcgKyAoNTM2ODcwOTExID4+IDIwKSk7IAp9IAoKCmlmICgxMDczNzQxODIzID4+IDIwICE9PSAxMDIzKSB7IAogICRFUlJPUignIzY3MTogMTA3Mzc0MTgyMyA+PiAyMCA9PT0gMTAyMy4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjMgPj4gMjApKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDcgPj4gMjAgIT09IDIwNDcpIHsgCiAgJEVSUk9SKCcjNjcyOiAyMTQ3NDgzNjQ3ID4+IDIwID09PSAyMDQ3LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiAyMCkpOyAKfSAKCgppZiAoMCA+PiAyMSAhPT0gMCkgeyAKICAkRVJST1IoJyM2NzM6IDAgPj4gMjEgPT09IDAuIEFjdHVhbDogJyArICgwID4+IDIxKSk7IAp9IAoKCmlmICgxID4+IDIxICE9PSAwKSB7IAogICRFUlJPUignIzY3NDogMSA+PiAyMSA9PT0gMC4gQWN0dWFsOiAnICsgKDEgPj4gMjEpKTsgCn0gCgoKaWYgKDMgPj4gMjEgIT09IDApIHsgCiAgJEVSUk9SKCcjNjc1OiAzID4+IDIxID09PSAwLiBBY3R1YWw6ICcgKyAoMyA+PiAyMSkpOyAKfSAKCgppZiAoNyA+PiAyMSAhPT0gMCkgeyAKICAkRVJST1IoJyM2NzY6IDcgPj4gMjEgPT09IDAuIEFjdHVhbDogJyArICg3ID4+IDIxKSk7IAp9IAoKCmlmICgxNSA+PiAyMSAhPT0gMCkgeyAKICAkRVJST1IoJyM2Nzc6IDE1ID4+IDIxID09PSAwLiBBY3R1YWw6ICcgKyAoMTUgPj4gMjEpKTsgCn0gCgoKaWYgKDMxID4+IDIxICE9PSAwKSB7IAogICRFUlJPUignIzY3ODogMzEgPj4gMjEgPT09IDAuIEFjdHVhbDogJyArICgzMSA+PiAyMSkpOyAKfSAKCgppZiAoNjMgPj4gMjEgIT09IDApIHsgCiAgJEVSUk9SKCcjNjc5OiA2MyA+PiAyMSA9PT0gMC4gQWN0dWFsOiAnICsgKDYzID4+IDIxKSk7IAp9IAoKCmlmICgxMjcgPj4gMjEgIT09IDApIHsgCiAgJEVSUk9SKCcjNjgwOiAxMjcgPj4gMjEgPT09IDAuIEFjdHVhbDogJyArICgxMjcgPj4gMjEpKTsgCn0gCgoKaWYgKDI1NSA+PiAyMSAhPT0gMCkgeyAKICAkRVJST1IoJyM2ODE6IDI1NSA+PiAyMSA9PT0gMC4gQWN0dWFsOiAnICsgKDI1NSA+PiAyMSkpOyAKfSAKCgppZiAoNTExID4+IDIxICE9PSAwKSB7IAogICRFUlJPUignIzY4MjogNTExID4+IDIxID09PSAwLiBBY3R1YWw6ICcgKyAoNTExID4+IDIxKSk7IAp9IAoKCmlmICgxMDIzID4+IDIxICE9PSAwKSB7IAogICRFUlJPUignIzY4MzogMTAyMyA+PiAyMSA9PT0gMC4gQWN0dWFsOiAnICsgKDEwMjMgPj4gMjEpKTsgCn0gCgoKaWYgKDIwNDcgPj4gMjEgIT09IDApIHsgCiAgJEVSUk9SKCcjNjg0OiAyMDQ3ID4+IDIxID09PSAwLiBBY3R1YWw6ICcgKyAoMjA0NyA+PiAyMSkpOyAKfSAKCgppZiAoNDA5NSA+PiAyMSAhPT0gMCkgeyAKICAkRVJST1IoJyM2ODU6IDQwOTUgPj4gMjEgPT09IDAuIEFjdHVhbDogJyArICg0MDk1ID4+IDIxKSk7IAp9IAoKCmlmICg4MTkxID4+IDIxICE9PSAwKSB7IAogICRFUlJPUignIzY4NjogODE5MSA+PiAyMSA9PT0gMC4gQWN0dWFsOiAnICsgKDgxOTEgPj4gMjEpKTsgCn0gCgoKaWYgKDE2MzgzID4+IDIxICE9PSAwKSB7IAogICRFUlJPUignIzY4NzogMTYzODMgPj4gMjEgPT09IDAuIEFjdHVhbDogJyArICgxNjM4MyA+PiAyMSkpOyAKfSAKCgppZiAoMzI3NjcgPj4gMjEgIT09IDApIHsgCiAgJEVSUk9SKCcjNjg4OiAzMjc2NyA+PiAyMSA9PT0gMC4gQWN0dWFsOiAnICsgKDMyNzY3ID4+IDIxKSk7IAp9IAoKCmlmICg2NTUzNSA+PiAyMSAhPT0gMCkgeyAKICAkRVJST1IoJyM2ODk6IDY1NTM1ID4+IDIxID09PSAwLiBBY3R1YWw6ICcgKyAoNjU1MzUgPj4gMjEpKTsgCn0gCgoKaWYgKDEzMTA3MSA+PiAyMSAhPT0gMCkgeyAKICAkRVJST1IoJyM2OTA6IDEzMTA3MSA+PiAyMSA9PT0gMC4gQWN0dWFsOiAnICsgKDEzMTA3MSA+PiAyMSkpOyAKfSAKCgppZiAoMjYyMTQzID4+IDIxICE9PSAwKSB7IAogICRFUlJPUignIzY5MTogMjYyMTQzID4+IDIxID09PSAwLiBBY3R1YWw6ICcgKyAoMjYyMTQzID4+IDIxKSk7IAp9IAoKCmlmICg1MjQyODcgPj4gMjEgIT09IDApIHsgCiAgJEVSUk9SKCcjNjkyOiA1MjQyODcgPj4gMjEgPT09IDAuIEFjdHVhbDogJyArICg1MjQyODcgPj4gMjEpKTsgCn0gCgoKaWYgKDEwNDg1NzUgPj4gMjEgIT09IDApIHsgCiAgJEVSUk9SKCcjNjkzOiAxMDQ4NTc1ID4+IDIxID09PSAwLiBBY3R1YWw6ICcgKyAoMTA0ODU3NSA+PiAyMSkpOyAKfSAKCgppZiAoMjA5NzE1MSA+PiAyMSAhPT0gMCkgeyAKICAkRVJST1IoJyM2OTQ6IDIwOTcxNTEgPj4gMjEgPT09IDAuIEFjdHVhbDogJyArICgyMDk3MTUxID4+IDIxKSk7IAp9IAoKCmlmICg0MTk0MzAzID4+IDIxICE9PSAxKSB7IAogICRFUlJPUignIzY5NTogNDE5NDMwMyA+PiAyMSA9PT0gMS4gQWN0dWFsOiAnICsgKDQxOTQzMDMgPj4gMjEpKTsgCn0gCgoKaWYgKDgzODg2MDcgPj4gMjEgIT09IDMpIHsgCiAgJEVSUk9SKCcjNjk2OiA4Mzg4NjA3ID4+IDIxID09PSAzLiBBY3R1YWw6ICcgKyAoODM4ODYwNyA+PiAyMSkpOyAKfSAKCgppZiAoMTY3NzcyMTUgPj4gMjEgIT09IDcpIHsgCiAgJEVSUk9SKCcjNjk3OiAxNjc3NzIxNSA+PiAyMSA9PT0gNy4gQWN0dWFsOiAnICsgKDE2Nzc3MjE1ID4+IDIxKSk7IAp9IAoKCmlmICgzMzU1NDQzMSA+PiAyMSAhPT0gMTUpIHsgCiAgJEVSUk9SKCcjNjk4OiAzMzU1NDQzMSA+PiAyMSA9PT0gMTUuIEFjdHVhbDogJyArICgzMzU1NDQzMSA+PiAyMSkpOyAKfSAKCgppZiAoNjcxMDg4NjMgPj4gMjEgIT09IDMxKSB7IAogICRFUlJPUignIzY5OTogNjcxMDg4NjMgPj4gMjEgPT09IDMxLiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPj4gMjEpKTsgCn0gCgoKaWYgKDEzNDIxNzcyNyA+PiAyMSAhPT0gNjMpIHsgCiAgJEVSUk9SKCcjNzAwOiAxMzQyMTc3MjcgPj4gMjEgPT09IDYzLiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI3ID4+IDIxKSk7IAp9IAoKCmlmICgyNjg0MzU0NTUgPj4gMjEgIT09IDEyNykgeyAKICAkRVJST1IoJyM3MDE6IDI2ODQzNTQ1NSA+PiAyMSA9PT0gMTI3LiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU1ID4+IDIxKSk7IAp9IAoKCmlmICg1MzY4NzA5MTEgPj4gMjEgIT09IDI1NSkgeyAKICAkRVJST1IoJyM3MDI6IDUzNjg3MDkxMSA+PiAyMSA9PT0gMjU1LiBBY3R1YWw6ICcgKyAoNTM2ODcwOTExID4+IDIxKSk7IAp9IAoKCmlmICgxMDczNzQxODIzID4+IDIxICE9PSA1MTEpIHsgCiAgJEVSUk9SKCcjNzAzOiAxMDczNzQxODIzID4+IDIxID09PSA1MTEuIEFjdHVhbDogJyArICgxMDczNzQxODIzID4+IDIxKSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ3ID4+IDIxICE9PSAxMDIzKSB7IAogICRFUlJPUignIzcwNDogMjE0NzQ4MzY0NyA+PiAyMSA9PT0gMTAyMy4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4gMjEpKTsgCn0gCgoKaWYgKDAgPj4gMjIgIT09IDApIHsgCiAgJEVSUk9SKCcjNzA1OiAwID4+IDIyID09PSAwLiBBY3R1YWw6ICcgKyAoMCA+PiAyMikpOyAKfSAKCgppZiAoMSA+PiAyMiAhPT0gMCkgeyAKICAkRVJST1IoJyM3MDY6IDEgPj4gMjIgPT09IDAuIEFjdHVhbDogJyArICgxID4+IDIyKSk7IAp9IAoKCmlmICgzID4+IDIyICE9PSAwKSB7IAogICRFUlJPUignIzcwNzogMyA+PiAyMiA9PT0gMC4gQWN0dWFsOiAnICsgKDMgPj4gMjIpKTsgCn0gCgoKaWYgKDcgPj4gMjIgIT09IDApIHsgCiAgJEVSUk9SKCcjNzA4OiA3ID4+IDIyID09PSAwLiBBY3R1YWw6ICcgKyAoNyA+PiAyMikpOyAKfSAKCgppZiAoMTUgPj4gMjIgIT09IDApIHsgCiAgJEVSUk9SKCcjNzA5OiAxNSA+PiAyMiA9PT0gMC4gQWN0dWFsOiAnICsgKDE1ID4+IDIyKSk7IAp9IAoKCmlmICgzMSA+PiAyMiAhPT0gMCkgeyAKICAkRVJST1IoJyM3MTA6IDMxID4+IDIyID09PSAwLiBBY3R1YWw6ICcgKyAoMzEgPj4gMjIpKTsgCn0gCgoKaWYgKDYzID4+IDIyICE9PSAwKSB7IAogICRFUlJPUignIzcxMTogNjMgPj4gMjIgPT09IDAuIEFjdHVhbDogJyArICg2MyA+PiAyMikpOyAKfSAKCgppZiAoMTI3ID4+IDIyICE9PSAwKSB7IAogICRFUlJPUignIzcxMjogMTI3ID4+IDIyID09PSAwLiBBY3R1YWw6ICcgKyAoMTI3ID4+IDIyKSk7IAp9IAoKCmlmICgyNTUgPj4gMjIgIT09IDApIHsgCiAgJEVSUk9SKCcjNzEzOiAyNTUgPj4gMjIgPT09IDAuIEFjdHVhbDogJyArICgyNTUgPj4gMjIpKTsgCn0gCgoKaWYgKDUxMSA+PiAyMiAhPT0gMCkgeyAKICAkRVJST1IoJyM3MTQ6IDUxMSA+PiAyMiA9PT0gMC4gQWN0dWFsOiAnICsgKDUxMSA+PiAyMikpOyAKfSAKCgppZiAoMTAyMyA+PiAyMiAhPT0gMCkgeyAKICAkRVJST1IoJyM3MTU6IDEwMjMgPj4gMjIgPT09IDAuIEFjdHVhbDogJyArICgxMDIzID4+IDIyKSk7IAp9IAoKCmlmICgyMDQ3ID4+IDIyICE9PSAwKSB7IAogICRFUlJPUignIzcxNjogMjA0NyA+PiAyMiA9PT0gMC4gQWN0dWFsOiAnICsgKDIwNDcgPj4gMjIpKTsgCn0gCgoKaWYgKDQwOTUgPj4gMjIgIT09IDApIHsgCiAgJEVSUk9SKCcjNzE3OiA0MDk1ID4+IDIyID09PSAwLiBBY3R1YWw6ICcgKyAoNDA5NSA+PiAyMikpOyAKfSAKCgppZiAoODE5MSA+PiAyMiAhPT0gMCkgeyAKICAkRVJST1IoJyM3MTg6IDgxOTEgPj4gMjIgPT09IDAuIEFjdHVhbDogJyArICg4MTkxID4+IDIyKSk7IAp9IAoKCmlmICgxNjM4MyA+PiAyMiAhPT0gMCkgeyAKICAkRVJST1IoJyM3MTk6IDE2MzgzID4+IDIyID09PSAwLiBBY3R1YWw6ICcgKyAoMTYzODMgPj4gMjIpKTsgCn0gCgoKaWYgKDMyNzY3ID4+IDIyICE9PSAwKSB7IAogICRFUlJPUignIzcyMDogMzI3NjcgPj4gMjIgPT09IDAuIEFjdHVhbDogJyArICgzMjc2NyA+PiAyMikpOyAKfSAKCgppZiAoNjU1MzUgPj4gMjIgIT09IDApIHsgCiAgJEVSUk9SKCcjNzIxOiA2NTUzNSA+PiAyMiA9PT0gMC4gQWN0dWFsOiAnICsgKDY1NTM1ID4+IDIyKSk7IAp9IAoKCmlmICgxMzEwNzEgPj4gMjIgIT09IDApIHsgCiAgJEVSUk9SKCcjNzIyOiAxMzEwNzEgPj4gMjIgPT09IDAuIEFjdHVhbDogJyArICgxMzEwNzEgPj4gMjIpKTsgCn0gCgoKaWYgKDI2MjE0MyA+PiAyMiAhPT0gMCkgeyAKICAkRVJST1IoJyM3MjM6IDI2MjE0MyA+PiAyMiA9PT0gMC4gQWN0dWFsOiAnICsgKDI2MjE0MyA+PiAyMikpOyAKfSAKCgppZiAoNTI0Mjg3ID4+IDIyICE9PSAwKSB7IAogICRFUlJPUignIzcyNDogNTI0Mjg3ID4+IDIyID09PSAwLiBBY3R1YWw6ICcgKyAoNTI0Mjg3ID4+IDIyKSk7IAp9IAoKCmlmICgxMDQ4NTc1ID4+IDIyICE9PSAwKSB7IAogICRFUlJPUignIzcyNTogMTA0ODU3NSA+PiAyMiA9PT0gMC4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPj4gMjIpKTsgCn0gCgoKaWYgKDIwOTcxNTEgPj4gMjIgIT09IDApIHsgCiAgJEVSUk9SKCcjNzI2OiAyMDk3MTUxID4+IDIyID09PSAwLiBBY3R1YWw6ICcgKyAoMjA5NzE1MSA+PiAyMikpOyAKfSAKCgppZiAoNDE5NDMwMyA+PiAyMiAhPT0gMCkgeyAKICAkRVJST1IoJyM3Mjc6IDQxOTQzMDMgPj4gMjIgPT09IDAuIEFjdHVhbDogJyArICg0MTk0MzAzID4+IDIyKSk7IAp9IAoKCmlmICg4Mzg4NjA3ID4+IDIyICE9PSAxKSB7IAogICRFUlJPUignIzcyODogODM4ODYwNyA+PiAyMiA9PT0gMS4gQWN0dWFsOiAnICsgKDgzODg2MDcgPj4gMjIpKTsgCn0gCgoKaWYgKDE2Nzc3MjE1ID4+IDIyICE9PSAzKSB7IAogICRFUlJPUignIzcyOTogMTY3NzcyMTUgPj4gMjIgPT09IDMuIEFjdHVhbDogJyArICgxNjc3NzIxNSA+PiAyMikpOyAKfSAKCgppZiAoMzM1NTQ0MzEgPj4gMjIgIT09IDcpIHsgCiAgJEVSUk9SKCcjNzMwOiAzMzU1NDQzMSA+PiAyMiA9PT0gNy4gQWN0dWFsOiAnICsgKDMzNTU0NDMxID4+IDIyKSk7IAp9IAoKCmlmICg2NzEwODg2MyA+PiAyMiAhPT0gMTUpIHsgCiAgJEVSUk9SKCcjNzMxOiA2NzEwODg2MyA+PiAyMiA9PT0gMTUuIEFjdHVhbDogJyArICg2NzEwODg2MyA+PiAyMikpOyAKfSAKCgppZiAoMTM0MjE3NzI3ID4+IDIyICE9PSAzMSkgeyAKICAkRVJST1IoJyM3MzI6IDEzNDIxNzcyNyA+PiAyMiA9PT0gMzEuIEFjdHVhbDogJyArICgxMzQyMTc3MjcgPj4gMjIpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NSA+PiAyMiAhPT0gNjMpIHsgCiAgJEVSUk9SKCcjNzMzOiAyNjg0MzU0NTUgPj4gMjIgPT09IDYzLiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU1ID4+IDIyKSk7IAp9IAoKCmlmICg1MzY4NzA5MTEgPj4gMjIgIT09IDEyNykgeyAKICAkRVJST1IoJyM3MzQ6IDUzNjg3MDkxMSA+PiAyMiA9PT0gMTI3LiBBY3R1YWw6ICcgKyAoNTM2ODcwOTExID4+IDIyKSk7IAp9IAoKCmlmICgxMDczNzQxODIzID4+IDIyICE9PSAyNTUpIHsgCiAgJEVSUk9SKCcjNzM1OiAxMDczNzQxODIzID4+IDIyID09PSAyNTUuIEFjdHVhbDogJyArICgxMDczNzQxODIzID4+IDIyKSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ3ID4+IDIyICE9PSA1MTEpIHsgCiAgJEVSUk9SKCcjNzM2OiAyMTQ3NDgzNjQ3ID4+IDIyID09PSA1MTEuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3ID4+IDIyKSk7IAp9IAoKCmlmICgwID4+IDIzICE9PSAwKSB7IAogICRFUlJPUignIzczNzogMCA+PiAyMyA9PT0gMC4gQWN0dWFsOiAnICsgKDAgPj4gMjMpKTsgCn0gCgoKaWYgKDEgPj4gMjMgIT09IDApIHsgCiAgJEVSUk9SKCcjNzM4OiAxID4+IDIzID09PSAwLiBBY3R1YWw6ICcgKyAoMSA+PiAyMykpOyAKfSAKCgppZiAoMyA+PiAyMyAhPT0gMCkgeyAKICAkRVJST1IoJyM3Mzk6IDMgPj4gMjMgPT09IDAuIEFjdHVhbDogJyArICgzID4+IDIzKSk7IAp9IAoKCmlmICg3ID4+IDIzICE9PSAwKSB7IAogICRFUlJPUignIzc0MDogNyA+PiAyMyA9PT0gMC4gQWN0dWFsOiAnICsgKDcgPj4gMjMpKTsgCn0gCgoKaWYgKDE1ID4+IDIzICE9PSAwKSB7IAogICRFUlJPUignIzc0MTogMTUgPj4gMjMgPT09IDAuIEFjdHVhbDogJyArICgxNSA+PiAyMykpOyAKfSAKCgppZiAoMzEgPj4gMjMgIT09IDApIHsgCiAgJEVSUk9SKCcjNzQyOiAzMSA+PiAyMyA9PT0gMC4gQWN0dWFsOiAnICsgKDMxID4+IDIzKSk7IAp9IAoKCmlmICg2MyA+PiAyMyAhPT0gMCkgeyAKICAkRVJST1IoJyM3NDM6IDYzID4+IDIzID09PSAwLiBBY3R1YWw6ICcgKyAoNjMgPj4gMjMpKTsgCn0gCgoKaWYgKDEyNyA+PiAyMyAhPT0gMCkgeyAKICAkRVJST1IoJyM3NDQ6IDEyNyA+PiAyMyA9PT0gMC4gQWN0dWFsOiAnICsgKDEyNyA+PiAyMykpOyAKfSAKCgppZiAoMjU1ID4+IDIzICE9PSAwKSB7IAogICRFUlJPUignIzc0NTogMjU1ID4+IDIzID09PSAwLiBBY3R1YWw6ICcgKyAoMjU1ID4+IDIzKSk7IAp9IAoKCmlmICg1MTEgPj4gMjMgIT09IDApIHsgCiAgJEVSUk9SKCcjNzQ2OiA1MTEgPj4gMjMgPT09IDAuIEFjdHVhbDogJyArICg1MTEgPj4gMjMpKTsgCn0gCgoKaWYgKDEwMjMgPj4gMjMgIT09IDApIHsgCiAgJEVSUk9SKCcjNzQ3OiAxMDIzID4+IDIzID09PSAwLiBBY3R1YWw6ICcgKyAoMTAyMyA+PiAyMykpOyAKfSAKCgppZiAoMjA0NyA+PiAyMyAhPT0gMCkgeyAKICAkRVJST1IoJyM3NDg6IDIwNDcgPj4gMjMgPT09IDAuIEFjdHVhbDogJyArICgyMDQ3ID4+IDIzKSk7IAp9IAoKCmlmICg0MDk1ID4+IDIzICE9PSAwKSB7IAogICRFUlJPUignIzc0OTogNDA5NSA+PiAyMyA9PT0gMC4gQWN0dWFsOiAnICsgKDQwOTUgPj4gMjMpKTsgCn0gCgoKaWYgKDgxOTEgPj4gMjMgIT09IDApIHsgCiAgJEVSUk9SKCcjNzUwOiA4MTkxID4+IDIzID09PSAwLiBBY3R1YWw6ICcgKyAoODE5MSA+PiAyMykpOyAKfSAKCgppZiAoMTYzODMgPj4gMjMgIT09IDApIHsgCiAgJEVSUk9SKCcjNzUxOiAxNjM4MyA+PiAyMyA9PT0gMC4gQWN0dWFsOiAnICsgKDE2MzgzID4+IDIzKSk7IAp9IAoKCmlmICgzMjc2NyA+PiAyMyAhPT0gMCkgeyAKICAkRVJST1IoJyM3NTI6IDMyNzY3ID4+IDIzID09PSAwLiBBY3R1YWw6ICcgKyAoMzI3NjcgPj4gMjMpKTsgCn0gCgoKaWYgKDY1NTM1ID4+IDIzICE9PSAwKSB7IAogICRFUlJPUignIzc1MzogNjU1MzUgPj4gMjMgPT09IDAuIEFjdHVhbDogJyArICg2NTUzNSA+PiAyMykpOyAKfSAKCgppZiAoMTMxMDcxID4+IDIzICE9PSAwKSB7IAogICRFUlJPUignIzc1NDogMTMxMDcxID4+IDIzID09PSAwLiBBY3R1YWw6ICcgKyAoMTMxMDcxID4+IDIzKSk7IAp9IAoKCmlmICgyNjIxNDMgPj4gMjMgIT09IDApIHsgCiAgJEVSUk9SKCcjNzU1OiAyNjIxNDMgPj4gMjMgPT09IDAuIEFjdHVhbDogJyArICgyNjIxNDMgPj4gMjMpKTsgCn0gCgoKaWYgKDUyNDI4NyA+PiAyMyAhPT0gMCkgeyAKICAkRVJST1IoJyM3NTY6IDUyNDI4NyA+PiAyMyA9PT0gMC4gQWN0dWFsOiAnICsgKDUyNDI4NyA+PiAyMykpOyAKfSAKCgppZiAoMTA0ODU3NSA+PiAyMyAhPT0gMCkgeyAKICAkRVJST1IoJyM3NTc6IDEwNDg1NzUgPj4gMjMgPT09IDAuIEFjdHVhbDogJyArICgxMDQ4NTc1ID4+IDIzKSk7IAp9IAoKCmlmICgyMDk3MTUxID4+IDIzICE9PSAwKSB7IAogICRFUlJPUignIzc1ODogMjA5NzE1MSA+PiAyMyA9PT0gMC4gQWN0dWFsOiAnICsgKDIwOTcxNTEgPj4gMjMpKTsgCn0gCgoKaWYgKDQxOTQzMDMgPj4gMjMgIT09IDApIHsgCiAgJEVSUk9SKCcjNzU5OiA0MTk0MzAzID4+IDIzID09PSAwLiBBY3R1YWw6ICcgKyAoNDE5NDMwMyA+PiAyMykpOyAKfSAKCgppZiAoODM4ODYwNyA+PiAyMyAhPT0gMCkgeyAKICAkRVJST1IoJyM3NjA6IDgzODg2MDcgPj4gMjMgPT09IDAuIEFjdHVhbDogJyArICg4Mzg4NjA3ID4+IDIzKSk7IAp9IAoKCmlmICgxNjc3NzIxNSA+PiAyMyAhPT0gMSkgeyAKICAkRVJST1IoJyM3NjE6IDE2Nzc3MjE1ID4+IDIzID09PSAxLiBBY3R1YWw6ICcgKyAoMTY3NzcyMTUgPj4gMjMpKTsgCn0gCgoKaWYgKDMzNTU0NDMxID4+IDIzICE9PSAzKSB7IAogICRFUlJPUignIzc2MjogMzM1NTQ0MzEgPj4gMjMgPT09IDMuIEFjdHVhbDogJyArICgzMzU1NDQzMSA+PiAyMykpOyAKfSAKCgppZiAoNjcxMDg4NjMgPj4gMjMgIT09IDcpIHsgCiAgJEVSUk9SKCcjNzYzOiA2NzEwODg2MyA+PiAyMyA9PT0gNy4gQWN0dWFsOiAnICsgKDY3MTA4ODYzID4+IDIzKSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPj4gMjMgIT09IDE1KSB7IAogICRFUlJPUignIzc2NDogMTM0MjE3NzI3ID4+IDIzID09PSAxNS4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA+PiAyMykpOyAKfSAKCgppZiAoMjY4NDM1NDU1ID4+IDIzICE9PSAzMSkgeyAKICAkRVJST1IoJyM3NjU6IDI2ODQzNTQ1NSA+PiAyMyA9PT0gMzEuIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPj4gMjMpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMSA+PiAyMyAhPT0gNjMpIHsgCiAgJEVSUk9SKCcjNzY2OiA1MzY4NzA5MTEgPj4gMjMgPT09IDYzLiBBY3R1YWw6ICcgKyAoNTM2ODcwOTExID4+IDIzKSk7IAp9IAoKCmlmICgxMDczNzQxODIzID4+IDIzICE9PSAxMjcpIHsgCiAgJEVSUk9SKCcjNzY3OiAxMDczNzQxODIzID4+IDIzID09PSAxMjcuIEFjdHVhbDogJyArICgxMDczNzQxODIzID4+IDIzKSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ3ID4+IDIzICE9PSAyNTUpIHsgCiAgJEVSUk9SKCcjNzY4OiAyMTQ3NDgzNjQ3ID4+IDIzID09PSAyNTUuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3ID4+IDIzKSk7IAp9IAoKCmlmICgwID4+IDI0ICE9PSAwKSB7IAogICRFUlJPUignIzc2OTogMCA+PiAyNCA9PT0gMC4gQWN0dWFsOiAnICsgKDAgPj4gMjQpKTsgCn0gCgoKaWYgKDEgPj4gMjQgIT09IDApIHsgCiAgJEVSUk9SKCcjNzcwOiAxID4+IDI0ID09PSAwLiBBY3R1YWw6ICcgKyAoMSA+PiAyNCkpOyAKfSAKCgppZiAoMyA+PiAyNCAhPT0gMCkgeyAKICAkRVJST1IoJyM3NzE6IDMgPj4gMjQgPT09IDAuIEFjdHVhbDogJyArICgzID4+IDI0KSk7IAp9IAoKCmlmICg3ID4+IDI0ICE9PSAwKSB7IAogICRFUlJPUignIzc3MjogNyA+PiAyNCA9PT0gMC4gQWN0dWFsOiAnICsgKDcgPj4gMjQpKTsgCn0gCgoKaWYgKDE1ID4+IDI0ICE9PSAwKSB7IAogICRFUlJPUignIzc3MzogMTUgPj4gMjQgPT09IDAuIEFjdHVhbDogJyArICgxNSA+PiAyNCkpOyAKfSAKCgppZiAoMzEgPj4gMjQgIT09IDApIHsgCiAgJEVSUk9SKCcjNzc0OiAzMSA+PiAyNCA9PT0gMC4gQWN0dWFsOiAnICsgKDMxID4+IDI0KSk7IAp9IAoKCmlmICg2MyA+PiAyNCAhPT0gMCkgeyAKICAkRVJST1IoJyM3NzU6IDYzID4+IDI0ID09PSAwLiBBY3R1YWw6ICcgKyAoNjMgPj4gMjQpKTsgCn0gCgoKaWYgKDEyNyA+PiAyNCAhPT0gMCkgeyAKICAkRVJST1IoJyM3NzY6IDEyNyA+PiAyNCA9PT0gMC4gQWN0dWFsOiAnICsgKDEyNyA+PiAyNCkpOyAKfSAKCgppZiAoMjU1ID4+IDI0ICE9PSAwKSB7IAogICRFUlJPUignIzc3NzogMjU1ID4+IDI0ID09PSAwLiBBY3R1YWw6ICcgKyAoMjU1ID4+IDI0KSk7IAp9IAoKCmlmICg1MTEgPj4gMjQgIT09IDApIHsgCiAgJEVSUk9SKCcjNzc4OiA1MTEgPj4gMjQgPT09IDAuIEFjdHVhbDogJyArICg1MTEgPj4gMjQpKTsgCn0gCgoKaWYgKDEwMjMgPj4gMjQgIT09IDApIHsgCiAgJEVSUk9SKCcjNzc5OiAxMDIzID4+IDI0ID09PSAwLiBBY3R1YWw6ICcgKyAoMTAyMyA+PiAyNCkpOyAKfSAKCgppZiAoMjA0NyA+PiAyNCAhPT0gMCkgeyAKICAkRVJST1IoJyM3ODA6IDIwNDcgPj4gMjQgPT09IDAuIEFjdHVhbDogJyArICgyMDQ3ID4+IDI0KSk7IAp9IAoKCmlmICg0MDk1ID4+IDI0ICE9PSAwKSB7IAogICRFUlJPUignIzc4MTogNDA5NSA+PiAyNCA9PT0gMC4gQWN0dWFsOiAnICsgKDQwOTUgPj4gMjQpKTsgCn0gCgoKaWYgKDgxOTEgPj4gMjQgIT09IDApIHsgCiAgJEVSUk9SKCcjNzgyOiA4MTkxID4+IDI0ID09PSAwLiBBY3R1YWw6ICcgKyAoODE5MSA+PiAyNCkpOyAKfSAKCgppZiAoMTYzODMgPj4gMjQgIT09IDApIHsgCiAgJEVSUk9SKCcjNzgzOiAxNjM4MyA+PiAyNCA9PT0gMC4gQWN0dWFsOiAnICsgKDE2MzgzID4+IDI0KSk7IAp9IAoKCmlmICgzMjc2NyA+PiAyNCAhPT0gMCkgeyAKICAkRVJST1IoJyM3ODQ6IDMyNzY3ID4+IDI0ID09PSAwLiBBY3R1YWw6ICcgKyAoMzI3NjcgPj4gMjQpKTsgCn0gCgoKaWYgKDY1NTM1ID4+IDI0ICE9PSAwKSB7IAogICRFUlJPUignIzc4NTogNjU1MzUgPj4gMjQgPT09IDAuIEFjdHVhbDogJyArICg2NTUzNSA+PiAyNCkpOyAKfSAKCgppZiAoMTMxMDcxID4+IDI0ICE9PSAwKSB7IAogICRFUlJPUignIzc4NjogMTMxMDcxID4+IDI0ID09PSAwLiBBY3R1YWw6ICcgKyAoMTMxMDcxID4+IDI0KSk7IAp9IAoKCmlmICgyNjIxNDMgPj4gMjQgIT09IDApIHsgCiAgJEVSUk9SKCcjNzg3OiAyNjIxNDMgPj4gMjQgPT09IDAuIEFjdHVhbDogJyArICgyNjIxNDMgPj4gMjQpKTsgCn0gCgoKaWYgKDUyNDI4NyA+PiAyNCAhPT0gMCkgeyAKICAkRVJST1IoJyM3ODg6IDUyNDI4NyA+PiAyNCA9PT0gMC4gQWN0dWFsOiAnICsgKDUyNDI4NyA+PiAyNCkpOyAKfSAKCgppZiAoMTA0ODU3NSA+PiAyNCAhPT0gMCkgeyAKICAkRVJST1IoJyM3ODk6IDEwNDg1NzUgPj4gMjQgPT09IDAuIEFjdHVhbDogJyArICgxMDQ4NTc1ID4+IDI0KSk7IAp9IAoKCmlmICgyMDk3MTUxID4+IDI0ICE9PSAwKSB7IAogICRFUlJPUignIzc5MDogMjA5NzE1MSA+PiAyNCA9PT0gMC4gQWN0dWFsOiAnICsgKDIwOTcxNTEgPj4gMjQpKTsgCn0gCgoKaWYgKDQxOTQzMDMgPj4gMjQgIT09IDApIHsgCiAgJEVSUk9SKCcjNzkxOiA0MTk0MzAzID4+IDI0ID09PSAwLiBBY3R1YWw6ICcgKyAoNDE5NDMwMyA+PiAyNCkpOyAKfSAKCgppZiAoODM4ODYwNyA+PiAyNCAhPT0gMCkgeyAKICAkRVJST1IoJyM3OTI6IDgzODg2MDcgPj4gMjQgPT09IDAuIEFjdHVhbDogJyArICg4Mzg4NjA3ID4+IDI0KSk7IAp9IAoKCmlmICgxNjc3NzIxNSA+PiAyNCAhPT0gMCkgeyAKICAkRVJST1IoJyM3OTM6IDE2Nzc3MjE1ID4+IDI0ID09PSAwLiBBY3R1YWw6ICcgKyAoMTY3NzcyMTUgPj4gMjQpKTsgCn0gCgoKaWYgKDMzNTU0NDMxID4+IDI0ICE9PSAxKSB7IAogICRFUlJPUignIzc5NDogMzM1NTQ0MzEgPj4gMjQgPT09IDEuIEFjdHVhbDogJyArICgzMzU1NDQzMSA+PiAyNCkpOyAKfSAKCgppZiAoNjcxMDg4NjMgPj4gMjQgIT09IDMpIHsgCiAgJEVSUk9SKCcjNzk1OiA2NzEwODg2MyA+PiAyNCA9PT0gMy4gQWN0dWFsOiAnICsgKDY3MTA4ODYzID4+IDI0KSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPj4gMjQgIT09IDcpIHsgCiAgJEVSUk9SKCcjNzk2OiAxMzQyMTc3MjcgPj4gMjQgPT09IDcuIEFjdHVhbDogJyArICgxMzQyMTc3MjcgPj4gMjQpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NSA+PiAyNCAhPT0gMTUpIHsgCiAgJEVSUk9SKCcjNzk3OiAyNjg0MzU0NTUgPj4gMjQgPT09IDE1LiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU1ID4+IDI0KSk7IAp9IAoKCmlmICg1MzY4NzA5MTEgPj4gMjQgIT09IDMxKSB7IAogICRFUlJPUignIzc5ODogNTM2ODcwOTExID4+IDI0ID09PSAzMS4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMSA+PiAyNCkpOyAKfSAKCgppZiAoMTA3Mzc0MTgyMyA+PiAyNCAhPT0gNjMpIHsgCiAgJEVSUk9SKCcjNzk5OiAxMDczNzQxODIzID4+IDI0ID09PSA2My4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjMgPj4gMjQpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDcgPj4gMjQgIT09IDEyNykgeyAKICAkRVJST1IoJyM4MDA6IDIxNDc0ODM2NDcgPj4gMjQgPT09IDEyNy4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4gMjQpKTsgCn0gCgoKaWYgKDAgPj4gMjUgIT09IDApIHsgCiAgJEVSUk9SKCcjODAxOiAwID4+IDI1ID09PSAwLiBBY3R1YWw6ICcgKyAoMCA+PiAyNSkpOyAKfSAKCgppZiAoMSA+PiAyNSAhPT0gMCkgeyAKICAkRVJST1IoJyM4MDI6IDEgPj4gMjUgPT09IDAuIEFjdHVhbDogJyArICgxID4+IDI1KSk7IAp9IAoKCmlmICgzID4+IDI1ICE9PSAwKSB7IAogICRFUlJPUignIzgwMzogMyA+PiAyNSA9PT0gMC4gQWN0dWFsOiAnICsgKDMgPj4gMjUpKTsgCn0gCgoKaWYgKDcgPj4gMjUgIT09IDApIHsgCiAgJEVSUk9SKCcjODA0OiA3ID4+IDI1ID09PSAwLiBBY3R1YWw6ICcgKyAoNyA+PiAyNSkpOyAKfSAKCgppZiAoMTUgPj4gMjUgIT09IDApIHsgCiAgJEVSUk9SKCcjODA1OiAxNSA+PiAyNSA9PT0gMC4gQWN0dWFsOiAnICsgKDE1ID4+IDI1KSk7IAp9IAoKCmlmICgzMSA+PiAyNSAhPT0gMCkgeyAKICAkRVJST1IoJyM4MDY6IDMxID4+IDI1ID09PSAwLiBBY3R1YWw6ICcgKyAoMzEgPj4gMjUpKTsgCn0gCgoKaWYgKDYzID4+IDI1ICE9PSAwKSB7IAogICRFUlJPUignIzgwNzogNjMgPj4gMjUgPT09IDAuIEFjdHVhbDogJyArICg2MyA+PiAyNSkpOyAKfSAKCgppZiAoMTI3ID4+IDI1ICE9PSAwKSB7IAogICRFUlJPUignIzgwODogMTI3ID4+IDI1ID09PSAwLiBBY3R1YWw6ICcgKyAoMTI3ID4+IDI1KSk7IAp9IAoKCmlmICgyNTUgPj4gMjUgIT09IDApIHsgCiAgJEVSUk9SKCcjODA5OiAyNTUgPj4gMjUgPT09IDAuIEFjdHVhbDogJyArICgyNTUgPj4gMjUpKTsgCn0gCgoKaWYgKDUxMSA+PiAyNSAhPT0gMCkgeyAKICAkRVJST1IoJyM4MTA6IDUxMSA+PiAyNSA9PT0gMC4gQWN0dWFsOiAnICsgKDUxMSA+PiAyNSkpOyAKfSAKCgppZiAoMTAyMyA+PiAyNSAhPT0gMCkgeyAKICAkRVJST1IoJyM4MTE6IDEwMjMgPj4gMjUgPT09IDAuIEFjdHVhbDogJyArICgxMDIzID4+IDI1KSk7IAp9IAoKCmlmICgyMDQ3ID4+IDI1ICE9PSAwKSB7IAogICRFUlJPUignIzgxMjogMjA0NyA+PiAyNSA9PT0gMC4gQWN0dWFsOiAnICsgKDIwNDcgPj4gMjUpKTsgCn0gCgoKaWYgKDQwOTUgPj4gMjUgIT09IDApIHsgCiAgJEVSUk9SKCcjODEzOiA0MDk1ID4+IDI1ID09PSAwLiBBY3R1YWw6ICcgKyAoNDA5NSA+PiAyNSkpOyAKfSAKCgppZiAoODE5MSA+PiAyNSAhPT0gMCkgeyAKICAkRVJST1IoJyM4MTQ6IDgxOTEgPj4gMjUgPT09IDAuIEFjdHVhbDogJyArICg4MTkxID4+IDI1KSk7IAp9IAoKCmlmICgxNjM4MyA+PiAyNSAhPT0gMCkgeyAKICAkRVJST1IoJyM4MTU6IDE2MzgzID4+IDI1ID09PSAwLiBBY3R1YWw6ICcgKyAoMTYzODMgPj4gMjUpKTsgCn0gCgoKaWYgKDMyNzY3ID4+IDI1ICE9PSAwKSB7IAogICRFUlJPUignIzgxNjogMzI3NjcgPj4gMjUgPT09IDAuIEFjdHVhbDogJyArICgzMjc2NyA+PiAyNSkpOyAKfSAKCgppZiAoNjU1MzUgPj4gMjUgIT09IDApIHsgCiAgJEVSUk9SKCcjODE3OiA2NTUzNSA+PiAyNSA9PT0gMC4gQWN0dWFsOiAnICsgKDY1NTM1ID4+IDI1KSk7IAp9IAoKCmlmICgxMzEwNzEgPj4gMjUgIT09IDApIHsgCiAgJEVSUk9SKCcjODE4OiAxMzEwNzEgPj4gMjUgPT09IDAuIEFjdHVhbDogJyArICgxMzEwNzEgPj4gMjUpKTsgCn0gCgoKaWYgKDI2MjE0MyA+PiAyNSAhPT0gMCkgeyAKICAkRVJST1IoJyM4MTk6IDI2MjE0MyA+PiAyNSA9PT0gMC4gQWN0dWFsOiAnICsgKDI2MjE0MyA+PiAyNSkpOyAKfSAKCgppZiAoNTI0Mjg3ID4+IDI1ICE9PSAwKSB7IAogICRFUlJPUignIzgyMDogNTI0Mjg3ID4+IDI1ID09PSAwLiBBY3R1YWw6ICcgKyAoNTI0Mjg3ID4+IDI1KSk7IAp9IAoKCmlmICgxMDQ4NTc1ID4+IDI1ICE9PSAwKSB7IAogICRFUlJPUignIzgyMTogMTA0ODU3NSA+PiAyNSA9PT0gMC4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPj4gMjUpKTsgCn0gCgoKaWYgKDIwOTcxNTEgPj4gMjUgIT09IDApIHsgCiAgJEVSUk9SKCcjODIyOiAyMDk3MTUxID4+IDI1ID09PSAwLiBBY3R1YWw6ICcgKyAoMjA5NzE1MSA+PiAyNSkpOyAKfSAKCgppZiAoNDE5NDMwMyA+PiAyNSAhPT0gMCkgeyAKICAkRVJST1IoJyM4MjM6IDQxOTQzMDMgPj4gMjUgPT09IDAuIEFjdHVhbDogJyArICg0MTk0MzAzID4+IDI1KSk7IAp9IAoKCmlmICg4Mzg4NjA3ID4+IDI1ICE9PSAwKSB7IAogICRFUlJPUignIzgyNDogODM4ODYwNyA+PiAyNSA9PT0gMC4gQWN0dWFsOiAnICsgKDgzODg2MDcgPj4gMjUpKTsgCn0gCgoKaWYgKDE2Nzc3MjE1ID4+IDI1ICE9PSAwKSB7IAogICRFUlJPUignIzgyNTogMTY3NzcyMTUgPj4gMjUgPT09IDAuIEFjdHVhbDogJyArICgxNjc3NzIxNSA+PiAyNSkpOyAKfSAKCgppZiAoMzM1NTQ0MzEgPj4gMjUgIT09IDApIHsgCiAgJEVSUk9SKCcjODI2OiAzMzU1NDQzMSA+PiAyNSA9PT0gMC4gQWN0dWFsOiAnICsgKDMzNTU0NDMxID4+IDI1KSk7IAp9IAoKCmlmICg2NzEwODg2MyA+PiAyNSAhPT0gMSkgeyAKICAkRVJST1IoJyM4Mjc6IDY3MTA4ODYzID4+IDI1ID09PSAxLiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPj4gMjUpKTsgCn0gCgoKaWYgKDEzNDIxNzcyNyA+PiAyNSAhPT0gMykgeyAKICAkRVJST1IoJyM4Mjg6IDEzNDIxNzcyNyA+PiAyNSA9PT0gMy4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA+PiAyNSkpOyAKfSAKCgppZiAoMjY4NDM1NDU1ID4+IDI1ICE9PSA3KSB7IAogICRFUlJPUignIzgyOTogMjY4NDM1NDU1ID4+IDI1ID09PSA3LiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU1ID4+IDI1KSk7IAp9IAoKCmlmICg1MzY4NzA5MTEgPj4gMjUgIT09IDE1KSB7IAogICRFUlJPUignIzgzMDogNTM2ODcwOTExID4+IDI1ID09PSAxNS4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMSA+PiAyNSkpOyAKfSAKCgppZiAoMTA3Mzc0MTgyMyA+PiAyNSAhPT0gMzEpIHsgCiAgJEVSUk9SKCcjODMxOiAxMDczNzQxODIzID4+IDI1ID09PSAzMS4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjMgPj4gMjUpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDcgPj4gMjUgIT09IDYzKSB7IAogICRFUlJPUignIzgzMjogMjE0NzQ4MzY0NyA+PiAyNSA9PT0gNjMuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3ID4+IDI1KSk7IAp9IAoKCmlmICgwID4+IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzgzMzogMCA+PiAyNiA9PT0gMC4gQWN0dWFsOiAnICsgKDAgPj4gMjYpKTsgCn0gCgoKaWYgKDEgPj4gMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODM0OiAxID4+IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoMSA+PiAyNikpOyAKfSAKCgppZiAoMyA+PiAyNiAhPT0gMCkgeyAKICAkRVJST1IoJyM4MzU6IDMgPj4gMjYgPT09IDAuIEFjdHVhbDogJyArICgzID4+IDI2KSk7IAp9IAoKCmlmICg3ID4+IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzgzNjogNyA+PiAyNiA9PT0gMC4gQWN0dWFsOiAnICsgKDcgPj4gMjYpKTsgCn0gCgoKaWYgKDE1ID4+IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzgzNzogMTUgPj4gMjYgPT09IDAuIEFjdHVhbDogJyArICgxNSA+PiAyNikpOyAKfSAKCgppZiAoMzEgPj4gMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODM4OiAzMSA+PiAyNiA9PT0gMC4gQWN0dWFsOiAnICsgKDMxID4+IDI2KSk7IAp9IAoKCmlmICg2MyA+PiAyNiAhPT0gMCkgeyAKICAkRVJST1IoJyM4Mzk6IDYzID4+IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoNjMgPj4gMjYpKTsgCn0gCgoKaWYgKDEyNyA+PiAyNiAhPT0gMCkgeyAKICAkRVJST1IoJyM4NDA6IDEyNyA+PiAyNiA9PT0gMC4gQWN0dWFsOiAnICsgKDEyNyA+PiAyNikpOyAKfSAKCgppZiAoMjU1ID4+IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzg0MTogMjU1ID4+IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoMjU1ID4+IDI2KSk7IAp9IAoKCmlmICg1MTEgPj4gMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODQyOiA1MTEgPj4gMjYgPT09IDAuIEFjdHVhbDogJyArICg1MTEgPj4gMjYpKTsgCn0gCgoKaWYgKDEwMjMgPj4gMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODQzOiAxMDIzID4+IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoMTAyMyA+PiAyNikpOyAKfSAKCgppZiAoMjA0NyA+PiAyNiAhPT0gMCkgeyAKICAkRVJST1IoJyM4NDQ6IDIwNDcgPj4gMjYgPT09IDAuIEFjdHVhbDogJyArICgyMDQ3ID4+IDI2KSk7IAp9IAoKCmlmICg0MDk1ID4+IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzg0NTogNDA5NSA+PiAyNiA9PT0gMC4gQWN0dWFsOiAnICsgKDQwOTUgPj4gMjYpKTsgCn0gCgoKaWYgKDgxOTEgPj4gMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODQ2OiA4MTkxID4+IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoODE5MSA+PiAyNikpOyAKfSAKCgppZiAoMTYzODMgPj4gMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODQ3OiAxNjM4MyA+PiAyNiA9PT0gMC4gQWN0dWFsOiAnICsgKDE2MzgzID4+IDI2KSk7IAp9IAoKCmlmICgzMjc2NyA+PiAyNiAhPT0gMCkgeyAKICAkRVJST1IoJyM4NDg6IDMyNzY3ID4+IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoMzI3NjcgPj4gMjYpKTsgCn0gCgoKaWYgKDY1NTM1ID4+IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzg0OTogNjU1MzUgPj4gMjYgPT09IDAuIEFjdHVhbDogJyArICg2NTUzNSA+PiAyNikpOyAKfSAKCgppZiAoMTMxMDcxID4+IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzg1MDogMTMxMDcxID4+IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoMTMxMDcxID4+IDI2KSk7IAp9IAoKCmlmICgyNjIxNDMgPj4gMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODUxOiAyNjIxNDMgPj4gMjYgPT09IDAuIEFjdHVhbDogJyArICgyNjIxNDMgPj4gMjYpKTsgCn0gCgoKaWYgKDUyNDI4NyA+PiAyNiAhPT0gMCkgeyAKICAkRVJST1IoJyM4NTI6IDUyNDI4NyA+PiAyNiA9PT0gMC4gQWN0dWFsOiAnICsgKDUyNDI4NyA+PiAyNikpOyAKfSAKCgppZiAoMTA0ODU3NSA+PiAyNiAhPT0gMCkgeyAKICAkRVJST1IoJyM4NTM6IDEwNDg1NzUgPj4gMjYgPT09IDAuIEFjdHVhbDogJyArICgxMDQ4NTc1ID4+IDI2KSk7IAp9IAoKCmlmICgyMDk3MTUxID4+IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzg1NDogMjA5NzE1MSA+PiAyNiA9PT0gMC4gQWN0dWFsOiAnICsgKDIwOTcxNTEgPj4gMjYpKTsgCn0gCgoKaWYgKDQxOTQzMDMgPj4gMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODU1OiA0MTk0MzAzID4+IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoNDE5NDMwMyA+PiAyNikpOyAKfSAKCgppZiAoODM4ODYwNyA+PiAyNiAhPT0gMCkgeyAKICAkRVJST1IoJyM4NTY6IDgzODg2MDcgPj4gMjYgPT09IDAuIEFjdHVhbDogJyArICg4Mzg4NjA3ID4+IDI2KSk7IAp9IAoKCmlmICgxNjc3NzIxNSA+PiAyNiAhPT0gMCkgeyAKICAkRVJST1IoJyM4NTc6IDE2Nzc3MjE1ID4+IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoMTY3NzcyMTUgPj4gMjYpKTsgCn0gCgoKaWYgKDMzNTU0NDMxID4+IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzg1ODogMzM1NTQ0MzEgPj4gMjYgPT09IDAuIEFjdHVhbDogJyArICgzMzU1NDQzMSA+PiAyNikpOyAKfSAKCgppZiAoNjcxMDg4NjMgPj4gMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODU5OiA2NzEwODg2MyA+PiAyNiA9PT0gMC4gQWN0dWFsOiAnICsgKDY3MTA4ODYzID4+IDI2KSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPj4gMjYgIT09IDEpIHsgCiAgJEVSUk9SKCcjODYwOiAxMzQyMTc3MjcgPj4gMjYgPT09IDEuIEFjdHVhbDogJyArICgxMzQyMTc3MjcgPj4gMjYpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NSA+PiAyNiAhPT0gMykgeyAKICAkRVJST1IoJyM4NjE6IDI2ODQzNTQ1NSA+PiAyNiA9PT0gMy4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NSA+PiAyNikpOyAKfSAKCgppZiAoNTM2ODcwOTExID4+IDI2ICE9PSA3KSB7IAogICRFUlJPUignIzg2MjogNTM2ODcwOTExID4+IDI2ID09PSA3LiBBY3R1YWw6ICcgKyAoNTM2ODcwOTExID4+IDI2KSk7IAp9IAoKCmlmICgxMDczNzQxODIzID4+IDI2ICE9PSAxNSkgeyAKICAkRVJST1IoJyM4NjM6IDEwNzM3NDE4MjMgPj4gMjYgPT09IDE1LiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA+PiAyNikpOyAKfSAKCgppZiAoMjE0NzQ4MzY0NyA+PiAyNiAhPT0gMzEpIHsgCiAgJEVSUk9SKCcjODY0OiAyMTQ3NDgzNjQ3ID4+IDI2ID09PSAzMS4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4gMjYpKTsgCn0gCgoKaWYgKDAgPj4gMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjODY1OiAwID4+IDI3ID09PSAwLiBBY3R1YWw6ICcgKyAoMCA+PiAyNykpOyAKfSAKCgppZiAoMSA+PiAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM4NjY6IDEgPj4gMjcgPT09IDAuIEFjdHVhbDogJyArICgxID4+IDI3KSk7IAp9IAoKCmlmICgzID4+IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzg2NzogMyA+PiAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKDMgPj4gMjcpKTsgCn0gCgoKaWYgKDcgPj4gMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjODY4OiA3ID4+IDI3ID09PSAwLiBBY3R1YWw6ICcgKyAoNyA+PiAyNykpOyAKfSAKCgppZiAoMTUgPj4gMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjODY5OiAxNSA+PiAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKDE1ID4+IDI3KSk7IAp9IAoKCmlmICgzMSA+PiAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM4NzA6IDMxID4+IDI3ID09PSAwLiBBY3R1YWw6ICcgKyAoMzEgPj4gMjcpKTsgCn0gCgoKaWYgKDYzID4+IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzg3MTogNjMgPj4gMjcgPT09IDAuIEFjdHVhbDogJyArICg2MyA+PiAyNykpOyAKfSAKCgppZiAoMTI3ID4+IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzg3MjogMTI3ID4+IDI3ID09PSAwLiBBY3R1YWw6ICcgKyAoMTI3ID4+IDI3KSk7IAp9IAoKCmlmICgyNTUgPj4gMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjODczOiAyNTUgPj4gMjcgPT09IDAuIEFjdHVhbDogJyArICgyNTUgPj4gMjcpKTsgCn0gCgoKaWYgKDUxMSA+PiAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM4NzQ6IDUxMSA+PiAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKDUxMSA+PiAyNykpOyAKfSAKCgppZiAoMTAyMyA+PiAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM4NzU6IDEwMjMgPj4gMjcgPT09IDAuIEFjdHVhbDogJyArICgxMDIzID4+IDI3KSk7IAp9IAoKCmlmICgyMDQ3ID4+IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzg3NjogMjA0NyA+PiAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKDIwNDcgPj4gMjcpKTsgCn0gCgoKaWYgKDQwOTUgPj4gMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjODc3OiA0MDk1ID4+IDI3ID09PSAwLiBBY3R1YWw6ICcgKyAoNDA5NSA+PiAyNykpOyAKfSAKCgppZiAoODE5MSA+PiAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM4Nzg6IDgxOTEgPj4gMjcgPT09IDAuIEFjdHVhbDogJyArICg4MTkxID4+IDI3KSk7IAp9IAoKCmlmICgxNjM4MyA+PiAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM4Nzk6IDE2MzgzID4+IDI3ID09PSAwLiBBY3R1YWw6ICcgKyAoMTYzODMgPj4gMjcpKTsgCn0gCgoKaWYgKDMyNzY3ID4+IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzg4MDogMzI3NjcgPj4gMjcgPT09IDAuIEFjdHVhbDogJyArICgzMjc2NyA+PiAyNykpOyAKfSAKCgppZiAoNjU1MzUgPj4gMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjODgxOiA2NTUzNSA+PiAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKDY1NTM1ID4+IDI3KSk7IAp9IAoKCmlmICgxMzEwNzEgPj4gMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjODgyOiAxMzEwNzEgPj4gMjcgPT09IDAuIEFjdHVhbDogJyArICgxMzEwNzEgPj4gMjcpKTsgCn0gCgoKaWYgKDI2MjE0MyA+PiAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM4ODM6IDI2MjE0MyA+PiAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKDI2MjE0MyA+PiAyNykpOyAKfSAKCgppZiAoNTI0Mjg3ID4+IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzg4NDogNTI0Mjg3ID4+IDI3ID09PSAwLiBBY3R1YWw6ICcgKyAoNTI0Mjg3ID4+IDI3KSk7IAp9IAoKCmlmICgxMDQ4NTc1ID4+IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzg4NTogMTA0ODU3NSA+PiAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPj4gMjcpKTsgCn0gCgoKaWYgKDIwOTcxNTEgPj4gMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjODg2OiAyMDk3MTUxID4+IDI3ID09PSAwLiBBY3R1YWw6ICcgKyAoMjA5NzE1MSA+PiAyNykpOyAKfSAKCgppZiAoNDE5NDMwMyA+PiAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM4ODc6IDQxOTQzMDMgPj4gMjcgPT09IDAuIEFjdHVhbDogJyArICg0MTk0MzAzID4+IDI3KSk7IAp9IAoKCmlmICg4Mzg4NjA3ID4+IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzg4ODogODM4ODYwNyA+PiAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKDgzODg2MDcgPj4gMjcpKTsgCn0gCgoKaWYgKDE2Nzc3MjE1ID4+IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzg4OTogMTY3NzcyMTUgPj4gMjcgPT09IDAuIEFjdHVhbDogJyArICgxNjc3NzIxNSA+PiAyNykpOyAKfSAKCgppZiAoMzM1NTQ0MzEgPj4gMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjODkwOiAzMzU1NDQzMSA+PiAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKDMzNTU0NDMxID4+IDI3KSk7IAp9IAoKCmlmICg2NzEwODg2MyA+PiAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM4OTE6IDY3MTA4ODYzID4+IDI3ID09PSAwLiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPj4gMjcpKTsgCn0gCgoKaWYgKDEzNDIxNzcyNyA+PiAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM4OTI6IDEzNDIxNzcyNyA+PiAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA+PiAyNykpOyAKfSAKCgppZiAoMjY4NDM1NDU1ID4+IDI3ICE9PSAxKSB7IAogICRFUlJPUignIzg5MzogMjY4NDM1NDU1ID4+IDI3ID09PSAxLiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU1ID4+IDI3KSk7IAp9IAoKCmlmICg1MzY4NzA5MTEgPj4gMjcgIT09IDMpIHsgCiAgJEVSUk9SKCcjODk0OiA1MzY4NzA5MTEgPj4gMjcgPT09IDMuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPj4gMjcpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjMgPj4gMjcgIT09IDcpIHsgCiAgJEVSUk9SKCcjODk1OiAxMDczNzQxODIzID4+IDI3ID09PSA3LiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA+PiAyNykpOyAKfSAKCgppZiAoMjE0NzQ4MzY0NyA+PiAyNyAhPT0gMTUpIHsgCiAgJEVSUk9SKCcjODk2OiAyMTQ3NDgzNjQ3ID4+IDI3ID09PSAxNS4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4gMjcpKTsgCn0gCgoKaWYgKDAgPj4gMjggIT09IDApIHsgCiAgJEVSUk9SKCcjODk3OiAwID4+IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoMCA+PiAyOCkpOyAKfSAKCgppZiAoMSA+PiAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM4OTg6IDEgPj4gMjggPT09IDAuIEFjdHVhbDogJyArICgxID4+IDI4KSk7IAp9IAoKCmlmICgzID4+IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzg5OTogMyA+PiAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKDMgPj4gMjgpKTsgCn0gCgoKaWYgKDcgPj4gMjggIT09IDApIHsgCiAgJEVSUk9SKCcjOTAwOiA3ID4+IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoNyA+PiAyOCkpOyAKfSAKCgppZiAoMTUgPj4gMjggIT09IDApIHsgCiAgJEVSUk9SKCcjOTAxOiAxNSA+PiAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKDE1ID4+IDI4KSk7IAp9IAoKCmlmICgzMSA+PiAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5MDI6IDMxID4+IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoMzEgPj4gMjgpKTsgCn0gCgoKaWYgKDYzID4+IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzkwMzogNjMgPj4gMjggPT09IDAuIEFjdHVhbDogJyArICg2MyA+PiAyOCkpOyAKfSAKCgppZiAoMTI3ID4+IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzkwNDogMTI3ID4+IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoMTI3ID4+IDI4KSk7IAp9IAoKCmlmICgyNTUgPj4gMjggIT09IDApIHsgCiAgJEVSUk9SKCcjOTA1OiAyNTUgPj4gMjggPT09IDAuIEFjdHVhbDogJyArICgyNTUgPj4gMjgpKTsgCn0gCgoKaWYgKDUxMSA+PiAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5MDY6IDUxMSA+PiAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKDUxMSA+PiAyOCkpOyAKfSAKCgppZiAoMTAyMyA+PiAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5MDc6IDEwMjMgPj4gMjggPT09IDAuIEFjdHVhbDogJyArICgxMDIzID4+IDI4KSk7IAp9IAoKCmlmICgyMDQ3ID4+IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzkwODogMjA0NyA+PiAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKDIwNDcgPj4gMjgpKTsgCn0gCgoKaWYgKDQwOTUgPj4gMjggIT09IDApIHsgCiAgJEVSUk9SKCcjOTA5OiA0MDk1ID4+IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoNDA5NSA+PiAyOCkpOyAKfSAKCgppZiAoODE5MSA+PiAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5MTA6IDgxOTEgPj4gMjggPT09IDAuIEFjdHVhbDogJyArICg4MTkxID4+IDI4KSk7IAp9IAoKCmlmICgxNjM4MyA+PiAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5MTE6IDE2MzgzID4+IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoMTYzODMgPj4gMjgpKTsgCn0gCgoKaWYgKDMyNzY3ID4+IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzkxMjogMzI3NjcgPj4gMjggPT09IDAuIEFjdHVhbDogJyArICgzMjc2NyA+PiAyOCkpOyAKfSAKCgppZiAoNjU1MzUgPj4gMjggIT09IDApIHsgCiAgJEVSUk9SKCcjOTEzOiA2NTUzNSA+PiAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKDY1NTM1ID4+IDI4KSk7IAp9IAoKCmlmICgxMzEwNzEgPj4gMjggIT09IDApIHsgCiAgJEVSUk9SKCcjOTE0OiAxMzEwNzEgPj4gMjggPT09IDAuIEFjdHVhbDogJyArICgxMzEwNzEgPj4gMjgpKTsgCn0gCgoKaWYgKDI2MjE0MyA+PiAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5MTU6IDI2MjE0MyA+PiAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKDI2MjE0MyA+PiAyOCkpOyAKfSAKCgppZiAoNTI0Mjg3ID4+IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzkxNjogNTI0Mjg3ID4+IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoNTI0Mjg3ID4+IDI4KSk7IAp9IAoKCmlmICgxMDQ4NTc1ID4+IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzkxNzogMTA0ODU3NSA+PiAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPj4gMjgpKTsgCn0gCgoKaWYgKDIwOTcxNTEgPj4gMjggIT09IDApIHsgCiAgJEVSUk9SKCcjOTE4OiAyMDk3MTUxID4+IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoMjA5NzE1MSA+PiAyOCkpOyAKfSAKCgppZiAoNDE5NDMwMyA+PiAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5MTk6IDQxOTQzMDMgPj4gMjggPT09IDAuIEFjdHVhbDogJyArICg0MTk0MzAzID4+IDI4KSk7IAp9IAoKCmlmICg4Mzg4NjA3ID4+IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzkyMDogODM4ODYwNyA+PiAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKDgzODg2MDcgPj4gMjgpKTsgCn0gCgoKaWYgKDE2Nzc3MjE1ID4+IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzkyMTogMTY3NzcyMTUgPj4gMjggPT09IDAuIEFjdHVhbDogJyArICgxNjc3NzIxNSA+PiAyOCkpOyAKfSAKCgppZiAoMzM1NTQ0MzEgPj4gMjggIT09IDApIHsgCiAgJEVSUk9SKCcjOTIyOiAzMzU1NDQzMSA+PiAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKDMzNTU0NDMxID4+IDI4KSk7IAp9IAoKCmlmICg2NzEwODg2MyA+PiAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5MjM6IDY3MTA4ODYzID4+IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPj4gMjgpKTsgCn0gCgoKaWYgKDEzNDIxNzcyNyA+PiAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5MjQ6IDEzNDIxNzcyNyA+PiAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA+PiAyOCkpOyAKfSAKCgppZiAoMjY4NDM1NDU1ID4+IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzkyNTogMjY4NDM1NDU1ID4+IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU1ID4+IDI4KSk7IAp9IAoKCmlmICg1MzY4NzA5MTEgPj4gMjggIT09IDEpIHsgCiAgJEVSUk9SKCcjOTI2OiA1MzY4NzA5MTEgPj4gMjggPT09IDEuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPj4gMjgpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjMgPj4gMjggIT09IDMpIHsgCiAgJEVSUk9SKCcjOTI3OiAxMDczNzQxODIzID4+IDI4ID09PSAzLiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA+PiAyOCkpOyAKfSAKCgppZiAoMjE0NzQ4MzY0NyA+PiAyOCAhPT0gNykgeyAKICAkRVJST1IoJyM5Mjg6IDIxNDc0ODM2NDcgPj4gMjggPT09IDcuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3ID4+IDI4KSk7IAp9IAoKCmlmICgwID4+IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzkyOTogMCA+PiAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKDAgPj4gMjkpKTsgCn0gCgoKaWYgKDEgPj4gMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTMwOiAxID4+IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoMSA+PiAyOSkpOyAKfSAKCgppZiAoMyA+PiAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5MzE6IDMgPj4gMjkgPT09IDAuIEFjdHVhbDogJyArICgzID4+IDI5KSk7IAp9IAoKCmlmICg3ID4+IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzkzMjogNyA+PiAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKDcgPj4gMjkpKTsgCn0gCgoKaWYgKDE1ID4+IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzkzMzogMTUgPj4gMjkgPT09IDAuIEFjdHVhbDogJyArICgxNSA+PiAyOSkpOyAKfSAKCgppZiAoMzEgPj4gMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTM0OiAzMSA+PiAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKDMxID4+IDI5KSk7IAp9IAoKCmlmICg2MyA+PiAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5MzU6IDYzID4+IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoNjMgPj4gMjkpKTsgCn0gCgoKaWYgKDEyNyA+PiAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5MzY6IDEyNyA+PiAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKDEyNyA+PiAyOSkpOyAKfSAKCgppZiAoMjU1ID4+IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzkzNzogMjU1ID4+IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoMjU1ID4+IDI5KSk7IAp9IAoKCmlmICg1MTEgPj4gMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTM4OiA1MTEgPj4gMjkgPT09IDAuIEFjdHVhbDogJyArICg1MTEgPj4gMjkpKTsgCn0gCgoKaWYgKDEwMjMgPj4gMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTM5OiAxMDIzID4+IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoMTAyMyA+PiAyOSkpOyAKfSAKCgppZiAoMjA0NyA+PiAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5NDA6IDIwNDcgPj4gMjkgPT09IDAuIEFjdHVhbDogJyArICgyMDQ3ID4+IDI5KSk7IAp9IAoKCmlmICg0MDk1ID4+IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzk0MTogNDA5NSA+PiAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKDQwOTUgPj4gMjkpKTsgCn0gCgoKaWYgKDgxOTEgPj4gMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTQyOiA4MTkxID4+IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoODE5MSA+PiAyOSkpOyAKfSAKCgppZiAoMTYzODMgPj4gMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTQzOiAxNjM4MyA+PiAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKDE2MzgzID4+IDI5KSk7IAp9IAoKCmlmICgzMjc2NyA+PiAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5NDQ6IDMyNzY3ID4+IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoMzI3NjcgPj4gMjkpKTsgCn0gCgoKaWYgKDY1NTM1ID4+IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzk0NTogNjU1MzUgPj4gMjkgPT09IDAuIEFjdHVhbDogJyArICg2NTUzNSA+PiAyOSkpOyAKfSAKCgppZiAoMTMxMDcxID4+IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzk0NjogMTMxMDcxID4+IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoMTMxMDcxID4+IDI5KSk7IAp9IAoKCmlmICgyNjIxNDMgPj4gMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTQ3OiAyNjIxNDMgPj4gMjkgPT09IDAuIEFjdHVhbDogJyArICgyNjIxNDMgPj4gMjkpKTsgCn0gCgoKaWYgKDUyNDI4NyA+PiAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5NDg6IDUyNDI4NyA+PiAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKDUyNDI4NyA+PiAyOSkpOyAKfSAKCgppZiAoMTA0ODU3NSA+PiAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5NDk6IDEwNDg1NzUgPj4gMjkgPT09IDAuIEFjdHVhbDogJyArICgxMDQ4NTc1ID4+IDI5KSk7IAp9IAoKCmlmICgyMDk3MTUxID4+IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzk1MDogMjA5NzE1MSA+PiAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKDIwOTcxNTEgPj4gMjkpKTsgCn0gCgoKaWYgKDQxOTQzMDMgPj4gMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTUxOiA0MTk0MzAzID4+IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoNDE5NDMwMyA+PiAyOSkpOyAKfSAKCgppZiAoODM4ODYwNyA+PiAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5NTI6IDgzODg2MDcgPj4gMjkgPT09IDAuIEFjdHVhbDogJyArICg4Mzg4NjA3ID4+IDI5KSk7IAp9IAoKCmlmICgxNjc3NzIxNSA+PiAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5NTM6IDE2Nzc3MjE1ID4+IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoMTY3NzcyMTUgPj4gMjkpKTsgCn0gCgoKaWYgKDMzNTU0NDMxID4+IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzk1NDogMzM1NTQ0MzEgPj4gMjkgPT09IDAuIEFjdHVhbDogJyArICgzMzU1NDQzMSA+PiAyOSkpOyAKfSAKCgppZiAoNjcxMDg4NjMgPj4gMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTU1OiA2NzEwODg2MyA+PiAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKDY3MTA4ODYzID4+IDI5KSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPj4gMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTU2OiAxMzQyMTc3MjcgPj4gMjkgPT09IDAuIEFjdHVhbDogJyArICgxMzQyMTc3MjcgPj4gMjkpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NSA+PiAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5NTc6IDI2ODQzNTQ1NSA+PiAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NSA+PiAyOSkpOyAKfSAKCgppZiAoNTM2ODcwOTExID4+IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzk1ODogNTM2ODcwOTExID4+IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoNTM2ODcwOTExID4+IDI5KSk7IAp9IAoKCmlmICgxMDczNzQxODIzID4+IDI5ICE9PSAxKSB7IAogICRFUlJPUignIzk1OTogMTA3Mzc0MTgyMyA+PiAyOSA9PT0gMS4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjMgPj4gMjkpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDcgPj4gMjkgIT09IDMpIHsgCiAgJEVSUk9SKCcjOTYwOiAyMTQ3NDgzNjQ3ID4+IDI5ID09PSAzLiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiAyOSkpOyAKfSAKCgppZiAoMCA+PiAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyM5NjE6IDAgPj4gMzAgPT09IDAuIEFjdHVhbDogJyArICgwID4+IDMwKSk7IAp9IAoKCmlmICgxID4+IDMwICE9PSAwKSB7IAogICRFUlJPUignIzk2MjogMSA+PiAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKDEgPj4gMzApKTsgCn0gCgoKaWYgKDMgPj4gMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjOTYzOiAzID4+IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoMyA+PiAzMCkpOyAKfSAKCgppZiAoNyA+PiAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyM5NjQ6IDcgPj4gMzAgPT09IDAuIEFjdHVhbDogJyArICg3ID4+IDMwKSk7IAp9IAoKCmlmICgxNSA+PiAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyM5NjU6IDE1ID4+IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoMTUgPj4gMzApKTsgCn0gCgoKaWYgKDMxID4+IDMwICE9PSAwKSB7IAogICRFUlJPUignIzk2NjogMzEgPj4gMzAgPT09IDAuIEFjdHVhbDogJyArICgzMSA+PiAzMCkpOyAKfSAKCgppZiAoNjMgPj4gMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjOTY3OiA2MyA+PiAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKDYzID4+IDMwKSk7IAp9IAoKCmlmICgxMjcgPj4gMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjOTY4OiAxMjcgPj4gMzAgPT09IDAuIEFjdHVhbDogJyArICgxMjcgPj4gMzApKTsgCn0gCgoKaWYgKDI1NSA+PiAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyM5Njk6IDI1NSA+PiAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKDI1NSA+PiAzMCkpOyAKfSAKCgppZiAoNTExID4+IDMwICE9PSAwKSB7IAogICRFUlJPUignIzk3MDogNTExID4+IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoNTExID4+IDMwKSk7IAp9IAoKCmlmICgxMDIzID4+IDMwICE9PSAwKSB7IAogICRFUlJPUignIzk3MTogMTAyMyA+PiAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKDEwMjMgPj4gMzApKTsgCn0gCgoKaWYgKDIwNDcgPj4gMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjOTcyOiAyMDQ3ID4+IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoMjA0NyA+PiAzMCkpOyAKfSAKCgppZiAoNDA5NSA+PiAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyM5NzM6IDQwOTUgPj4gMzAgPT09IDAuIEFjdHVhbDogJyArICg0MDk1ID4+IDMwKSk7IAp9IAoKCmlmICg4MTkxID4+IDMwICE9PSAwKSB7IAogICRFUlJPUignIzk3NDogODE5MSA+PiAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKDgxOTEgPj4gMzApKTsgCn0gCgoKaWYgKDE2MzgzID4+IDMwICE9PSAwKSB7IAogICRFUlJPUignIzk3NTogMTYzODMgPj4gMzAgPT09IDAuIEFjdHVhbDogJyArICgxNjM4MyA+PiAzMCkpOyAKfSAKCgppZiAoMzI3NjcgPj4gMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjOTc2OiAzMjc2NyA+PiAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKDMyNzY3ID4+IDMwKSk7IAp9IAoKCmlmICg2NTUzNSA+PiAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyM5Nzc6IDY1NTM1ID4+IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoNjU1MzUgPj4gMzApKTsgCn0gCgoKaWYgKDEzMTA3MSA+PiAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyM5Nzg6IDEzMTA3MSA+PiAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKDEzMTA3MSA+PiAzMCkpOyAKfSAKCgppZiAoMjYyMTQzID4+IDMwICE9PSAwKSB7IAogICRFUlJPUignIzk3OTogMjYyMTQzID4+IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoMjYyMTQzID4+IDMwKSk7IAp9IAoKCmlmICg1MjQyODcgPj4gMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjOTgwOiA1MjQyODcgPj4gMzAgPT09IDAuIEFjdHVhbDogJyArICg1MjQyODcgPj4gMzApKTsgCn0gCgoKaWYgKDEwNDg1NzUgPj4gMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjOTgxOiAxMDQ4NTc1ID4+IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoMTA0ODU3NSA+PiAzMCkpOyAKfSAKCgppZiAoMjA5NzE1MSA+PiAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyM5ODI6IDIwOTcxNTEgPj4gMzAgPT09IDAuIEFjdHVhbDogJyArICgyMDk3MTUxID4+IDMwKSk7IAp9IAoKCmlmICg0MTk0MzAzID4+IDMwICE9PSAwKSB7IAogICRFUlJPUignIzk4MzogNDE5NDMwMyA+PiAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKDQxOTQzMDMgPj4gMzApKTsgCn0gCgoKaWYgKDgzODg2MDcgPj4gMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjOTg0OiA4Mzg4NjA3ID4+IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoODM4ODYwNyA+PiAzMCkpOyAKfSAKCgppZiAoMTY3NzcyMTUgPj4gMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjOTg1OiAxNjc3NzIxNSA+PiAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKDE2Nzc3MjE1ID4+IDMwKSk7IAp9IAoKCmlmICgzMzU1NDQzMSA+PiAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyM5ODY6IDMzNTU0NDMxID4+IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPj4gMzApKTsgCn0gCgoKaWYgKDY3MTA4ODYzID4+IDMwICE9PSAwKSB7IAogICRFUlJPUignIzk4NzogNjcxMDg4NjMgPj4gMzAgPT09IDAuIEFjdHVhbDogJyArICg2NzEwODg2MyA+PiAzMCkpOyAKfSAKCgppZiAoMTM0MjE3NzI3ID4+IDMwICE9PSAwKSB7IAogICRFUlJPUignIzk4ODogMTM0MjE3NzI3ID4+IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI3ID4+IDMwKSk7IAp9IAoKCmlmICgyNjg0MzU0NTUgPj4gMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjOTg5OiAyNjg0MzU0NTUgPj4gMzAgPT09IDAuIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPj4gMzApKTsgCn0gCgoKaWYgKDUzNjg3MDkxMSA+PiAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyM5OTA6IDUzNjg3MDkxMSA+PiAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMSA+PiAzMCkpOyAKfSAKCgppZiAoMTA3Mzc0MTgyMyA+PiAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyM5OTE6IDEwNzM3NDE4MjMgPj4gMzAgPT09IDAuIEFjdHVhbDogJyArICgxMDczNzQxODIzID4+IDMwKSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ3ID4+IDMwICE9PSAxKSB7IAogICRFUlJPUignIzk5MjogMjE0NzQ4MzY0NyA+PiAzMCA9PT0gMS4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4gMzApKTsgCn0gCgoKaWYgKDAgPj4gMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjOTkzOiAwID4+IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoMCA+PiAzMSkpOyAKfSAKCgppZiAoMSA+PiAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyM5OTQ6IDEgPj4gMzEgPT09IDAuIEFjdHVhbDogJyArICgxID4+IDMxKSk7IAp9IAoKCmlmICgzID4+IDMxICE9PSAwKSB7IAogICRFUlJPUignIzk5NTogMyA+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDMgPj4gMzEpKTsgCn0gCgoKaWYgKDcgPj4gMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjOTk2OiA3ID4+IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoNyA+PiAzMSkpOyAKfSAKCgppZiAoMTUgPj4gMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjOTk3OiAxNSA+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDE1ID4+IDMxKSk7IAp9IAoKCmlmICgzMSA+PiAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyM5OTg6IDMxID4+IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoMzEgPj4gMzEpKTsgCn0gCgoKaWYgKDYzID4+IDMxICE9PSAwKSB7IAogICRFUlJPUignIzk5OTogNjMgPj4gMzEgPT09IDAuIEFjdHVhbDogJyArICg2MyA+PiAzMSkpOyAKfSAKCgppZiAoMTI3ID4+IDMxICE9PSAwKSB7IAogICRFUlJPUignIzEwMDA6IDEyNyA+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDEyNyA+PiAzMSkpOyAKfSAKCgppZiAoMjU1ID4+IDMxICE9PSAwKSB7IAogICRFUlJPUignIzEwMDE6IDI1NSA+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDI1NSA+PiAzMSkpOyAKfSAKCgppZiAoNTExID4+IDMxICE9PSAwKSB7IAogICRFUlJPUignIzEwMDI6IDUxMSA+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDUxMSA+PiAzMSkpOyAKfSAKCgppZiAoMTAyMyA+PiAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDAzOiAxMDIzID4+IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoMTAyMyA+PiAzMSkpOyAKfSAKCgppZiAoMjA0NyA+PiAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDA0OiAyMDQ3ID4+IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoMjA0NyA+PiAzMSkpOyAKfSAKCgppZiAoNDA5NSA+PiAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDA1OiA0MDk1ID4+IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoNDA5NSA+PiAzMSkpOyAKfSAKCgppZiAoODE5MSA+PiAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDA2OiA4MTkxID4+IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoODE5MSA+PiAzMSkpOyAKfSAKCgppZiAoMTYzODMgPj4gMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAwNzogMTYzODMgPj4gMzEgPT09IDAuIEFjdHVhbDogJyArICgxNjM4MyA+PiAzMSkpOyAKfSAKCgppZiAoMzI3NjcgPj4gMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAwODogMzI3NjcgPj4gMzEgPT09IDAuIEFjdHVhbDogJyArICgzMjc2NyA+PiAzMSkpOyAKfSAKCgppZiAoNjU1MzUgPj4gMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAwOTogNjU1MzUgPj4gMzEgPT09IDAuIEFjdHVhbDogJyArICg2NTUzNSA+PiAzMSkpOyAKfSAKCgppZiAoMTMxMDcxID4+IDMxICE9PSAwKSB7IAogICRFUlJPUignIzEwMTA6IDEzMTA3MSA+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDEzMTA3MSA+PiAzMSkpOyAKfSAKCgppZiAoMjYyMTQzID4+IDMxICE9PSAwKSB7IAogICRFUlJPUignIzEwMTE6IDI2MjE0MyA+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDI2MjE0MyA+PiAzMSkpOyAKfSAKCgppZiAoNTI0Mjg3ID4+IDMxICE9PSAwKSB7IAogICRFUlJPUignIzEwMTI6IDUyNDI4NyA+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDUyNDI4NyA+PiAzMSkpOyAKfSAKCgppZiAoMTA0ODU3NSA+PiAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDEzOiAxMDQ4NTc1ID4+IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoMTA0ODU3NSA+PiAzMSkpOyAKfSAKCgppZiAoMjA5NzE1MSA+PiAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDE0OiAyMDk3MTUxID4+IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoMjA5NzE1MSA+PiAzMSkpOyAKfSAKCgppZiAoNDE5NDMwMyA+PiAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDE1OiA0MTk0MzAzID4+IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoNDE5NDMwMyA+PiAzMSkpOyAKfSAKCgppZiAoODM4ODYwNyA+PiAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDE2OiA4Mzg4NjA3ID4+IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoODM4ODYwNyA+PiAzMSkpOyAKfSAKCgppZiAoMTY3NzcyMTUgPj4gMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAxNzogMTY3NzcyMTUgPj4gMzEgPT09IDAuIEFjdHVhbDogJyArICgxNjc3NzIxNSA+PiAzMSkpOyAKfSAKCgppZiAoMzM1NTQ0MzEgPj4gMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAxODogMzM1NTQ0MzEgPj4gMzEgPT09IDAuIEFjdHVhbDogJyArICgzMzU1NDQzMSA+PiAzMSkpOyAKfSAKCgppZiAoNjcxMDg4NjMgPj4gMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAxOTogNjcxMDg4NjMgPj4gMzEgPT09IDAuIEFjdHVhbDogJyArICg2NzEwODg2MyA+PiAzMSkpOyAKfSAKCgppZiAoMTM0MjE3NzI3ID4+IDMxICE9PSAwKSB7IAogICRFUlJPUignIzEwMjA6IDEzNDIxNzcyNyA+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA+PiAzMSkpOyAKfSAKCgppZiAoMjY4NDM1NDU1ID4+IDMxICE9PSAwKSB7IAogICRFUlJPUignIzEwMjE6IDI2ODQzNTQ1NSA+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NSA+PiAzMSkpOyAKfSAKCgppZiAoNTM2ODcwOTExID4+IDMxICE9PSAwKSB7IAogICRFUlJPUignIzEwMjI6IDUzNjg3MDkxMSA+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMSA+PiAzMSkpOyAKfSAKCgppZiAoMTA3Mzc0MTgyMyA+PiAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDIzOiAxMDczNzQxODIzID4+IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA+PiAzMSkpOyAKfSAKCg==",
"commentary":"Check x >> y operator in distinct points",
"description":"ShiftExpression = 2^n - 1, n = 16...31",
"path":"TestCases/ch11/11.7/11.7.2/S11.7.2_A4_T4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+IHkgdXNlcyBUb0ludDMyKFNoaWZ0RXhwcmVzc2lvbikKICoKICogQHBhdGggY2gxMS8xMS43LzExLjcuMi9TMTEuNy4yX0E1LjFfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGJvdW5kYXJ5IHBvaW50cwogKi8KCi8vQ0hFQ0sjMQppZiAoMjE0NzQ4MzY0OC4xID4+IDAgIT09IC0yMTQ3NDgzNjQ4KSB7IAogICRFUlJPUignIzE6IDIxNDc0ODM2NDguMSA+PiAwID09PSAtMjE0NzQ4MzY0OC4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDguMSA+PiAwKSk7IAp9IAoKLy9DSEVDSyMyCmlmICg0Mjk0OTY3Mjk2LjEgPj4gMCAhPT0gMCkgeyAKICAkRVJST1IoJyMyOiA0Mjk0OTY3Mjk2LjEgPj4gMCA9PT0gMC4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTYuMSA+PiAwKSk7IAp9IAoKLy9DSEVDSyMzCmlmICg2NDQyNDUwOTQ0LjEgPj4gMCAhPT0gLTIxNDc0ODM2NDgpIHsgCiAgJEVSUk9SKCcjMzogNjQ0MjQ1MDk0NC4xID4+IDAgPT09IC0yMTQ3NDgzNjQ4LiBBY3R1YWw6ICcgKyAoNjQ0MjQ1MDk0NC4xID4+IDApKTsgCn0gCgovL0NIRUNLIzQKaWYgKDQyOTQ5NjcyOTUuMSA+PiAwICE9PSAtMSkgeyAKICAkRVJST1IoJyM0OiA0Mjk0OTY3Mjk1LjEgPj4gMCA9PT0gLTEuIEFjdHVhbDogJyArICg0Mjk0OTY3Mjk1LjEgPj4gMCkpOyAKfSAKCi8vQ0hFQ0sjNQppZiAoNjQ0MjQ1MDk0My4xID4+IDAgIT09IDIxNDc0ODM2NDcpIHsgCiAgJEVSUk9SKCcjNTogNjQ0MjQ1MDk0My4xID4+IDAgPT09IDIxNDc0ODM2NDcuIEFjdHVhbDogJyArICg2NDQyNDUwOTQzLjEgPj4gMCkpOyAKfSAKCi8vQ0hFQ0sjNgppZiAoLTIxNDc0ODM2NDkuMSA+PiAwICE9PSAyMTQ3NDgzNjQ3KSB7IAogICRFUlJPUignIzY6IC0yMTQ3NDgzNjQ5LjEgPj4gMCA9PT0gMjE0NzQ4MzY0Ny4gQWN0dWFsOiAnICsgKC0yMTQ3NDgzNjQ5LjEgPj4gMCkpOyAKfSAKCi8vQ0hFQ0sjNwppZiAoLTQyOTQ5NjcyOTcuMSA+PiAwICE9PSAtMSkgeyAKICAkRVJST1IoJyM3OiAtNDI5NDk2NzI5Ny4xID4+IDAgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTQyOTQ5NjcyOTcuMSA+PiAwKSk7IAp9IAoKLy9DSEVDSyM4CmlmICgtNjQ0MjQ1MDk0NS4xID4+IDAgIT09IDIxNDc0ODM2NDcpIHsgCiAgJEVSUk9SKCcjODogLTY0NDI0NTA5NDUuMSA+PiAwID09PSAyMTQ3NDgzNjQ3LiBBY3R1YWw6ICcgKyAoLTY0NDI0NTA5NDUuMSA+PiAwKSk7IAp9IAoKLy9DSEVDSyM5CmlmICgtNDI5NDk2NzI5Ni4xID4+IDAgIT09IDApIHsgCiAgJEVSUk9SKCcjOTogLTQyOTQ5NjcyOTYuMSA+PiAwID09PSAwIC4gQWN0dWFsOiAnICsgKC00Mjk0OTY3Mjk2LjEgPj4gMCkpOyAKfSAKCi8vQ0hFQ0sjMTAKaWYgKC02NDQyNDUwOTQ0LjEgPj4gMCAhPT0gLTIxNDc0ODM2NDgpIHsgCiAgJEVSUk9SKCcjMTA6IC02NDQyNDUwOTQ0LjEgPj4gMCA9PT0gLTIxNDc0ODM2NDguIEFjdHVhbDogJyArICgtNjQ0MjQ1MDk0NC4xID4+IDApKTsgCn0gCgo=",
"commentary":"Operator x >> y uses ToInt32(ShiftExpression)",
"description":"Checking boundary points",
"path":"TestCases/ch11/11.7/11.7.2/S11.7.2_A5.1_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+IHkgdXNlcyBUb1VpbnQzMihBZGRpdGl2ZUV4cHJlc3Npb24pICYgMzEKICoKICogQHBhdGggY2gxMS8xMS43LzExLjcuMi9TMTEuNy4yX0E1LjJfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGRpc3RpbmN0IHBvaW50cwogKi8KCi8vQ0hFQ0sjMQppZiAoMjE0NzQ4MzY0NyA+PiAtMzIuMSAhPT0gMjE0NzQ4MzY0NykgeyAKICAkRVJST1IoJyMxOiAyMTQ3NDgzNjQ3ID4+IC0zMi4xID09PSAyMTQ3NDgzNjQ3LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiAtMzIuMSkpOyAKfSAKCi8vQ0hFQ0sjMgppZiAoMjE0NzQ4MzY0NyA+PiAtMzEuMSAhPT0gMTA3Mzc0MTgyMykgeyAKICAkRVJST1IoJyMyOiAyMTQ3NDgzNjQ3ID4+IC0zMS4xID09PSAxMDczNzQxODIzLiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiAtMzEuMSkpOyAKfSAKCi8vQ0hFQ0sjMwppZiAoMjE0NzQ4MzY0NyA+PiAtMzAuMSAhPT0gNTM2ODcwOTExKSB7IAogICRFUlJPUignIzM6IDIxNDc0ODM2NDcgPj4gLTMwLjEgPT09IDUzNjg3MDkxMS4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4gLTMwLjEpKTsgCn0gCgovL0NIRUNLIzQKaWYgKDIxNDc0ODM2NDcgPj4gLTI5LjEgIT09IDI2ODQzNTQ1NSkgeyAKICAkRVJST1IoJyM0OiAyMTQ3NDgzNjQ3ID4+IC0yOS4xID09PSAyNjg0MzU0NTUuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3ID4+IC0yOS4xKSk7IAp9IAoKLy9DSEVDSyM1CmlmICgyMTQ3NDgzNjQ3ID4+IC0yOC4xICE9PSAxMzQyMTc3MjcpIHsgCiAgJEVSUk9SKCcjNTogMjE0NzQ4MzY0NyA+PiAtMjguMSA9PT0gMTM0MjE3NzI3LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiAtMjguMSkpOyAKfSAKCi8vQ0hFQ0sjNgppZiAoMjE0NzQ4MzY0NyA+PiAtMjcuMSAhPT0gNjcxMDg4NjMpIHsgCiAgJEVSUk9SKCcjNjogMjE0NzQ4MzY0NyA+PiAtMjcuMSA9PT0gNjcxMDg4NjMuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3ID4+IC0yNy4xKSk7IAp9IAoKLy9DSEVDSyM3CmlmICgyMTQ3NDgzNjQ3ID4+IC0yNi4xICE9PSAzMzU1NDQzMSkgeyAKICAkRVJST1IoJyM3OiAyMTQ3NDgzNjQ3ID4+IC0yNi4xID09PSAzMzU1NDQzMS4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4gLTI2LjEpKTsgCn0gCgovL0NIRUNLIzgKaWYgKDIxNDc0ODM2NDcgPj4gLTI1LjEgIT09IDE2Nzc3MjE1KSB7IAogICRFUlJPUignIzg6IDIxNDc0ODM2NDcgPj4gLTI1LjEgPT09IDE2Nzc3MjE1LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiAtMjUuMSkpOyAKfSAKCi8vQ0hFQ0sjOQppZiAoMjE0NzQ4MzY0NyA+PiAtMjQuMSAhPT0gODM4ODYwNykgeyAKICAkRVJST1IoJyM5OiAyMTQ3NDgzNjQ3ID4+IC0yNC4xID09PSA4Mzg4NjA3LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiAtMjQuMSkpOyAKfSAKCi8vQ0hFQ0sjMTAKaWYgKDIxNDc0ODM2NDcgPj4gLTIzLjEgIT09IDQxOTQzMDMpIHsgCiAgJEVSUk9SKCcjMTA6IDIxNDc0ODM2NDcgPj4gLTIzLjEgPT09IDQxOTQzMDMuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3ID4+IC0yMy4xKSk7IAp9IAoKLy9DSEVDSyMxMQppZiAoMjE0NzQ4MzY0NyA+PiAtMjIuMSAhPT0gMjA5NzE1MSkgeyAKICAkRVJST1IoJyMxMTogMjE0NzQ4MzY0NyA+PiAtMjIuMSA9PT0gMjA5NzE1MS4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4gLTIyLjEpKTsgCn0gCgovL0NIRUNLIzEyCmlmICgyMTQ3NDgzNjQ3ID4+IC0yMS4xICE9PSAxMDQ4NTc1KSB7IAogICRFUlJPUignIzEyOiAyMTQ3NDgzNjQ3ID4+IC0yMS4xID09PSAxMDQ4NTc1LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiAtMjEuMSkpOyAKfSAKCi8vQ0hFQ0sjMTMKaWYgKDIxNDc0ODM2NDcgPj4gLTIwLjEgIT09IDUyNDI4NykgeyAKICAkRVJST1IoJyMxMzogMjE0NzQ4MzY0NyA+PiAtMjAuMSA9PT0gNTI0Mjg3LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiAtMjAuMSkpOyAKfSAKCi8vQ0hFQ0sjMTQKaWYgKDIxNDc0ODM2NDcgPj4gLTE5LjEgIT09IDI2MjE0MykgeyAKICAkRVJST1IoJyMxNDogMjE0NzQ4MzY0NyA+PiAtMTkuMSA9PT0gMjYyMTQzLiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiAtMTkuMSkpOyAKfSAKCi8vQ0hFQ0sjMTUKaWYgKDIxNDc0ODM2NDcgPj4gLTE4LjEgIT09IDEzMTA3MSkgeyAKICAkRVJST1IoJyMxNTogMjE0NzQ4MzY0NyA+PiAtMTguMSA9PT0gMTMxMDcxLiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiAtMTguMSkpOyAKfSAKCi8vQ0hFQ0sjMTYKaWYgKDIxNDc0ODM2NDcgPj4gLTE3LjEgIT09IDY1NTM1KSB7IAogICRFUlJPUignIzE2OiAyMTQ3NDgzNjQ3ID4+IC0xNy4xID09PSA2NTUzNS4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4gLTE3LjEpKTsgCn0gCgovL0NIRUNLIzE3CmlmICgyMTQ3NDgzNjQ3ID4+IC0xNi4xICE9PSAzMjc2NykgeyAKICAkRVJST1IoJyMxNzogMjE0NzQ4MzY0NyA+PiAtMTYuMSA9PT0gMzI3NjcuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3ID4+IC0xNi4xKSk7IAp9IAoKLy9DSEVDSyMxOAppZiAoMjE0NzQ4MzY0NyA+PiAtMTUuMSAhPT0gMTYzODMpIHsgCiAgJEVSUk9SKCcjMTg6IDIxNDc0ODM2NDcgPj4gLTE1LjEgPT09IDE2MzgzLiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiAtMTUuMSkpOyAKfSAKCi8vQ0hFQ0sjMTkKaWYgKDIxNDc0ODM2NDcgPj4gLTE0LjEgIT09IDgxOTEpIHsgCiAgJEVSUk9SKCcjMTk6IDIxNDc0ODM2NDcgPj4gLTE0LjEgPT09IDgxOTEuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3ID4+IC0xNC4xKSk7IAp9IAoKLy9DSEVDSyMyMAppZiAoMjE0NzQ4MzY0NyA+PiAtMTMuMSAhPT0gNDA5NSkgeyAKICAkRVJST1IoJyMyMDogMjE0NzQ4MzY0NyA+PiAtMTMuMSA9PT0gNDA5NS4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4gLTEzLjEpKTsgCn0gCgovL0NIRUNLIzIxCmlmICgyMTQ3NDgzNjQ3ID4+IC0xMi4xICE9PSAyMDQ3KSB7IAogICRFUlJPUignIzIxOiAyMTQ3NDgzNjQ3ID4+IC0xMi4xID09PSAyMDQ3LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiAtMTIuMSkpOyAKfSAKCi8vQ0hFQ0sjMjIKaWYgKDIxNDc0ODM2NDcgPj4gLTExLjEgIT09IDEwMjMpIHsgCiAgJEVSUk9SKCcjMjI6IDIxNDc0ODM2NDcgPj4gLTExLjEgPT09IDEwMjMuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3ID4+IC0xMS4xKSk7IAp9IAoKLy9DSEVDSyMyMwppZiAoMjE0NzQ4MzY0NyA+PiAtMTAuMSAhPT0gNTExKSB7IAogICRFUlJPUignIzIzOiAyMTQ3NDgzNjQ3ID4+IC0xMC4xID09PSA1MTEuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3ID4+IC0xMC4xKSk7IAp9IAoKLy9DSEVDSyMyNAppZiAoMjE0NzQ4MzY0NyA+PiAtOS4xICE9PSAyNTUpIHsgCiAgJEVSUk9SKCcjMjQ6IDIxNDc0ODM2NDcgPj4gLTkuMSA9PT0gMjU1LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiAtOS4xKSk7IAp9IAoKLy9DSEVDSyMyNQppZiAoMjE0NzQ4MzY0NyA+PiAtOC4xICE9PSAxMjcpIHsgCiAgJEVSUk9SKCcjMjU6IDIxNDc0ODM2NDcgPj4gLTguMSA9PT0gMTI3LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiAtOC4xKSk7IAp9IAoKLy9DSEVDSyMyNgppZiAoMjE0NzQ4MzY0NyA+PiAtNy4xICE9PSA2MykgeyAKICAkRVJST1IoJyMyNjogMjE0NzQ4MzY0NyA+PiAtNy4xID09PSA2My4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4gLTcuMSkpOyAKfSAKCi8vQ0hFQ0sjMjcKaWYgKDIxNDc0ODM2NDcgPj4gLTYuMSAhPT0gMzEpIHsgCiAgJEVSUk9SKCcjMjc6IDIxNDc0ODM2NDcgPj4gLTYuMSA9PT0gMzEuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3ID4+IC02LjEpKTsgCn0gCgovL0NIRUNLIzI4CmlmICgyMTQ3NDgzNjQ3ID4+IC01LjEgIT09IDE1KSB7IAogICRFUlJPUignIzI4OiAyMTQ3NDgzNjQ3ID4+IC01LjEgPT09IDE1LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiAtNS4xKSk7IAp9IAoKLy9DSEVDSyMyOQppZiAoMjE0NzQ4MzY0NyA+PiAtNC4xICE9PSA3KSB7IAogICRFUlJPUignIzI5OiAyMTQ3NDgzNjQ3ID4+IC00LjEgPT09IDcuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3ID4+IC00LjEpKTsgCn0gCgovL0NIRUNLIzMwCmlmICgyMTQ3NDgzNjQ3ID4+IC0zLjEgIT09IDMpIHsgCiAgJEVSUk9SKCcjMzA6IDIxNDc0ODM2NDcgPj4gLTMuMSA9PT0gMy4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4gLTMuMSkpOyAKfSAKCi8vQ0hFQ0sjMzEKaWYgKDIxNDc0ODM2NDcgPj4gLTIuMSAhPT0gMSkgeyAKICAkRVJST1IoJyMzMTogMjE0NzQ4MzY0NyA+PiAtMi4xID09PSAxLiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiAtMi4xKSk7IAp9IAoKLy9DSEVDSyMzMgppZiAoMjE0NzQ4MzY0NyA+PiAtMS4xICE9PSAwKSB7IAogICRFUlJPUignIzMyOiAyMTQ3NDgzNjQ3ID4+IC0xLjEgPT09IDAuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3ID4+IC0xLjEpKTsgCn0gCgovL0NIRUNLIzMzCmlmICgyMTQ3NDgzNjQ3ID4+IDMyLjEgIT09IDIxNDc0ODM2NDcpIHsgCiAgJEVSUk9SKCcjMzM6IDIxNDc0ODM2NDcgPj4gMzIuMSA9PT0gMjE0NzQ4MzY0Ny4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4gMzIuMSkpOyAKfSAKCi8vQ0hFQ0sjMzQKaWYgKDIxNDc0ODM2NDcgPj4gMzMuMSAhPT0gMTA3Mzc0MTgyMykgeyAKICAkRVJST1IoJyMzNDogMjE0NzQ4MzY0NyA+PiAzMy4xID09PSAxMDczNzQxODIzLiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiAzMy4xKSk7IAp9IAoKLy9DSEVDSyMzNQppZiAoMjE0NzQ4MzY0NyA+PiAzNC4xICE9PSA1MzY4NzA5MTEpIHsgCiAgJEVSUk9SKCcjMzU6IDIxNDc0ODM2NDcgPj4gMzQuMSA9PT0gNTM2ODcwOTExLiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiAzNC4xKSk7IAp9IAoKLy9DSEVDSyMzNgppZiAoMjE0NzQ4MzY0NyA+PiAzNS4xICE9PSAyNjg0MzU0NTUpIHsgCiAgJEVSUk9SKCcjMzY6IDIxNDc0ODM2NDcgPj4gMzUuMSA9PT0gMjY4NDM1NDU1LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiAzNS4xKSk7IAp9IAoKLy9DSEVDSyMzNwppZiAoMjE0NzQ4MzY0NyA+PiAzNi4xICE9PSAxMzQyMTc3MjcpIHsgCiAgJEVSUk9SKCcjMzc6IDIxNDc0ODM2NDcgPj4gMzYuMSA9PT0gMTM0MjE3NzI3LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiAzNi4xKSk7IAp9IAoKLy9DSEVDSyMzOAppZiAoMjE0NzQ4MzY0NyA+PiAzNy4xICE9PSA2NzEwODg2MykgeyAKICAkRVJST1IoJyMzODogMjE0NzQ4MzY0NyA+PiAzNy4xID09PSA2NzEwODg2My4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4gMzcuMSkpOyAKfSAKCi8vQ0hFQ0sjMzkKaWYgKDIxNDc0ODM2NDcgPj4gMzguMSAhPT0gMzM1NTQ0MzEpIHsgCiAgJEVSUk9SKCcjMzk6IDIxNDc0ODM2NDcgPj4gMzguMSA9PT0gMzM1NTQ0MzEuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3ID4+IDM4LjEpKTsgCn0gCgovL0NIRUNLIzQwCmlmICgyMTQ3NDgzNjQ3ID4+IDM5LjEgIT09IDE2Nzc3MjE1KSB7IAogICRFUlJPUignIzQwOiAyMTQ3NDgzNjQ3ID4+IDM5LjEgPT09IDE2Nzc3MjE1LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiAzOS4xKSk7IAp9IAoKLy9DSEVDSyM0MQppZiAoMjE0NzQ4MzY0NyA+PiA0MC4xICE9PSA4Mzg4NjA3KSB7IAogICRFUlJPUignIzQxOiAyMTQ3NDgzNjQ3ID4+IDQwLjEgPT09IDgzODg2MDcuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3ID4+IDQwLjEpKTsgCn0gCgovL0NIRUNLIzQyCmlmICgyMTQ3NDgzNjQ3ID4+IDQxLjEgIT09IDQxOTQzMDMpIHsgCiAgJEVSUk9SKCcjNDI6IDIxNDc0ODM2NDcgPj4gNDEuMSA9PT0gNDE5NDMwMy4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4gNDEuMSkpOyAKfSAKCi8vQ0hFQ0sjNDMKaWYgKDIxNDc0ODM2NDcgPj4gNDIuMSAhPT0gMjA5NzE1MSkgeyAKICAkRVJST1IoJyM0MzogMjE0NzQ4MzY0NyA+PiA0Mi4xID09PSAyMDk3MTUxLiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiA0Mi4xKSk7IAp9IAoKLy9DSEVDSyM0NAppZiAoMjE0NzQ4MzY0NyA+PiA0My4xICE9PSAxMDQ4NTc1KSB7IAogICRFUlJPUignIzQ0OiAyMTQ3NDgzNjQ3ID4+IDQzLjEgPT09IDEwNDg1NzUuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3ID4+IDQzLjEpKTsgCn0gCgovL0NIRUNLIzQ1CmlmICgyMTQ3NDgzNjQ3ID4+IDQ0LjEgIT09IDUyNDI4NykgeyAKICAkRVJST1IoJyM0NTogMjE0NzQ4MzY0NyA+PiA0NC4xID09PSA1MjQyODcuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3ID4+IDQ0LjEpKTsgCn0gCgovL0NIRUNLIzQ2CmlmICgyMTQ3NDgzNjQ3ID4+IDQ1LjEgIT09IDI2MjE0MykgeyAKICAkRVJST1IoJyM0NjogMjE0NzQ4MzY0NyA+PiA0NS4xID09PSAyNjIxNDMuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3ID4+IDQ1LjEpKTsgCn0gCgovL0NIRUNLIzQ3CmlmICgyMTQ3NDgzNjQ3ID4+IDQ2LjEgIT09IDEzMTA3MSkgeyAKICAkRVJST1IoJyM0NzogMjE0NzQ4MzY0NyA+PiA0Ni4xID09PSAxMzEwNzEuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3ID4+IDQ2LjEpKTsgCn0gCgovL0NIRUNLIzQ4CmlmICgyMTQ3NDgzNjQ3ID4+IDQ3LjEgIT09IDY1NTM1KSB7IAogICRFUlJPUignIzQ4OiAyMTQ3NDgzNjQ3ID4+IDQ3LjEgPT09IDY1NTM1LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiA0Ny4xKSk7IAp9IAoKLy9DSEVDSyM0OQppZiAoMjE0NzQ4MzY0NyA+PiA0OC4xICE9PSAzMjc2NykgeyAKICAkRVJST1IoJyM0OTogMjE0NzQ4MzY0NyA+PiA0OC4xID09PSAzMjc2Ny4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4gNDguMSkpOyAKfSAKCi8vQ0hFQ0sjNTAKaWYgKDIxNDc0ODM2NDcgPj4gNDkuMSAhPT0gMTYzODMpIHsgCiAgJEVSUk9SKCcjNTA6IDIxNDc0ODM2NDcgPj4gNDkuMSA9PT0gMTYzODMuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3ID4+IDQ5LjEpKTsgCn0gCgovL0NIRUNLIzUxCmlmICgyMTQ3NDgzNjQ3ID4+IDUwLjEgIT09IDgxOTEpIHsgCiAgJEVSUk9SKCcjNTE6IDIxNDc0ODM2NDcgPj4gNTAuMSA9PT0gODE5MS4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4gNTAuMSkpOyAKfSAKCi8vQ0hFQ0sjNTIKaWYgKDIxNDc0ODM2NDcgPj4gNTEuMSAhPT0gNDA5NSkgeyAKICAkRVJST1IoJyM1MjogMjE0NzQ4MzY0NyA+PiA1MS4xID09PSA0MDk1LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiA1MS4xKSk7IAp9IAoKLy9DSEVDSyM1MwppZiAoMjE0NzQ4MzY0NyA+PiA1Mi4xICE9PSAyMDQ3KSB7IAogICRFUlJPUignIzUzOiAyMTQ3NDgzNjQ3ID4+IDUyLjEgPT09IDIwNDcuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3ID4+IDUyLjEpKTsgCn0gCgovL0NIRUNLIzU0CmlmICgyMTQ3NDgzNjQ3ID4+IDUzLjEgIT09IDEwMjMpIHsgCiAgJEVSUk9SKCcjNTQ6IDIxNDc0ODM2NDcgPj4gNTMuMSA9PT0gMTAyMy4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4gNTMuMSkpOyAKfSAKCi8vQ0hFQ0sjNTUKaWYgKDIxNDc0ODM2NDcgPj4gNTQuMSAhPT0gNTExKSB7IAogICRFUlJPUignIzU1OiAyMTQ3NDgzNjQ3ID4+IDU0LjEgPT09IDUxMS4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4gNTQuMSkpOyAKfSAKCi8vQ0hFQ0sjNTYKaWYgKDIxNDc0ODM2NDcgPj4gNTUuMSAhPT0gMjU1KSB7IAogICRFUlJPUignIzU2OiAyMTQ3NDgzNjQ3ID4+IDU1LjEgPT09IDI1NS4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4gNTUuMSkpOyAKfSAKCi8vQ0hFQ0sjNTcKaWYgKDIxNDc0ODM2NDcgPj4gNTYuMSAhPT0gMTI3KSB7IAogICRFUlJPUignIzU3OiAyMTQ3NDgzNjQ3ID4+IDU2LjEgPT09IDEyNy4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4gNTYuMSkpOyAKfSAKCi8vQ0hFQ0sjNTgKaWYgKDIxNDc0ODM2NDcgPj4gNTcuMSAhPT0gNjMpIHsgCiAgJEVSUk9SKCcjNTg6IDIxNDc0ODM2NDcgPj4gNTcuMSA9PT0gNjMuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3ID4+IDU3LjEpKTsgCn0gCgovL0NIRUNLIzU5CmlmICgyMTQ3NDgzNjQ3ID4+IDU4LjEgIT09IDMxKSB7IAogICRFUlJPUignIzU5OiAyMTQ3NDgzNjQ3ID4+IDU4LjEgPT09IDMxLiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiA1OC4xKSk7IAp9IAoKLy9DSEVDSyM2MAppZiAoMjE0NzQ4MzY0NyA+PiA1OS4xICE9PSAxNSkgeyAKICAkRVJST1IoJyM2MDogMjE0NzQ4MzY0NyA+PiA1OS4xID09PSAxNS4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4gNTkuMSkpOyAKfSAKCi8vQ0hFQ0sjNjEKaWYgKDIxNDc0ODM2NDcgPj4gNjAuMSAhPT0gNykgeyAKICAkRVJST1IoJyM2MTogMjE0NzQ4MzY0NyA+PiA2MC4xID09PSA3LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiA2MC4xKSk7IAp9IAoKLy9DSEVDSyM2MgppZiAoMjE0NzQ4MzY0NyA+PiA2MS4xICE9PSAzKSB7IAogICRFUlJPUignIzYyOiAyMTQ3NDgzNjQ3ID4+IDYxLjEgPT09IDMuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3ID4+IDYxLjEpKTsgCn0gCgovL0NIRUNLIzYzCmlmICgyMTQ3NDgzNjQ3ID4+IDYyLjEgIT09IDEpIHsgCiAgJEVSUk9SKCcjNjM6IDIxNDc0ODM2NDcgPj4gNjIuMSA9PT0gMS4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4gNjIuMSkpOyAKfSAKCi8vQ0hFQ0sjNjQKaWYgKDIxNDc0ODM2NDcgPj4gNjMuMSAhPT0gMCkgeyAKICAkRVJST1IoJyM2NDogMjE0NzQ4MzY0NyA+PiA2My4xID09PSAwLiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiA2My4xKSk7IAp9IAoK",
"commentary":"Operator x >> y uses ToUint32(AdditiveExpression) & 31",
"description":"Checking distinct points",
"path":"TestCases/ch11/11.7/11.7.2/S11.7.2_A5.2_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gU2hpZnRFeHByZXNzaW9uIGFuZCAiPj4+IiBvciBiZXR3ZWVuICI+Pj4iIGFuZCBBZGRpdGl2ZUV4cHJlc3Npb24gYXJlIGFsbG93ZWQKICoKICogQHBhdGggY2gxMS8xMS43LzExLjcuMy9TMTEuNy4zX0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBieSB1c2luZyBldmFsCiAqLwoKLy9DSEVDSyMxCmlmIChldmFsKCItNFx1MDAwOT4+Plx1MDAwOTEiKSAhPT0gMjE0NzQ4MzY0NikgewogICRFUlJPUignIzE6IC00XFx1MDAwOT4+PlxcdTAwMDkxID09PSAyMTQ3NDgzNjQ2Jyk7Cn0KCi8vQ0hFQ0sjMgppZiAoZXZhbCgiLTRcdTAwMEI+Pj5cdTAwMEIxIikgIT09IDIxNDc0ODM2NDYpIHsKICAkRVJST1IoJyMyOiAtNFxcdTAwMEI+Pj5cXHUwMDBCMSA9PT0gMjE0NzQ4MzY0NicpOyAgCn0KCi8vQ0hFQ0sjMwppZiAoZXZhbCgiLTRcdTAwMEM+Pj5cdTAwMEMxIikgIT09IDIxNDc0ODM2NDYpIHsKICAkRVJST1IoJyMzOiAtNFxcdTAwMEM+Pj5cXHUwMDBDMSA9PT0gMjE0NzQ4MzY0NicpOwp9CgovL0NIRUNLIzQKaWYgKGV2YWwoIi00XHUwMDIwPj4+XHUwMDIwMSIpICE9PSAyMTQ3NDgzNjQ2KSB7CiAgJEVSUk9SKCcjNDogLTRcXHUwMDIwPj4+XFx1MDAyMDEgPT09IDIxNDc0ODM2NDYnKTsKfQoKLy9DSEVDSyM1CmlmIChldmFsKCItNFx1MDBBMD4+Plx1MDBBMDEiKSAhPT0gMjE0NzQ4MzY0NikgewogICRFUlJPUignIzU6IC00XFx1MDBBMD4+PlxcdTAwQTAxID09PSAyMTQ3NDgzNjQ2Jyk7Cn0KCi8vQ0hFQ0sjNgppZiAoZXZhbCgiLTRcdTAwMEE+Pj5cdTAwMEExIikgIT09IDIxNDc0ODM2NDYpIHsKICAkRVJST1IoJyM2OiAtNFxcdTAwMEE+Pj5cXHUwMDBBMSA9PT0gMjE0NzQ4MzY0NicpOyAgCn0KCi8vQ0hFQ0sjNwppZiAoZXZhbCgiLTRcdTAwMEQ+Pj5cdTAwMEQxIikgIT09IDIxNDc0ODM2NDYpIHsKICAkRVJST1IoJyM3OiAtNFxcdTAwMEQ+Pj5cXHUwMDBEMSA9PT0gMjE0NzQ4MzY0NicpOwp9CgovL0NIRUNLIzgKaWYgKGV2YWwoIi00XHUyMDI4Pj4+XHUyMDI4MSIpICE9PSAyMTQ3NDgzNjQ2KSB7CiAgJEVSUk9SKCcjODogLTRcXHUyMDI4Pj4+XFx1MjAyODEgPT09IDIxNDc0ODM2NDYnKTsKfQoKLy9DSEVDSyM5CmlmIChldmFsKCItNFx1MjAyOT4+Plx1MjAyOTEiKSAhPT0gMjE0NzQ4MzY0NikgewogICRFUlJPUignIzk6IC00XFx1MjAyOT4+PlxcdTIwMjkxID09PSAyMTQ3NDgzNjQ2Jyk7Cn0KCi8vQ0hFQ0sjMTAKaWYgKGV2YWwoIi00XHUwMDA5XHUwMDBCXHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5Pj4+XHUwMDA5XHUwMDBCXHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5MSIpICE9PSAyMTQ3NDgzNjQ2KSB7CiAgJEVSUk9SKCcjMTA6IC00XFx1MDAwOVxcdTAwMEJcXHUwMDBDXFx1MDAyMFxcdTAwQTBcXHUwMDBBXFx1MDAwRFxcdTIwMjhcXHUyMDI5Pj4+XFx1MDAwOVxcdTAwMEJcXHUwMDBDXFx1MDAyMFxcdTAwQTBcXHUwMDBBXFx1MDAwRFxcdTIwMjhcXHUyMDI5MSA9PT0gMjE0NzQ4MzY0NicpOwp9Cgo=",
"commentary":"White Space and Line Terminator between ShiftExpression and \">>>\" or between \">>>\" and AdditiveExpression are allowed",
"description":"Checking by using eval",
"path":"TestCases/ch11/11.7/11.7.3/S11.7.3_A1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+PiB5IHVzZXMgR2V0VmFsdWUKICoKICogQHBhdGggY2gxMS8xMS43LzExLjcuMy9TMTEuNy4zX0EyLjFfVDEuanMKICogQGRlc2NyaXB0aW9uIEVpdGhlciBUeXBlIGlzIG5vdCBSZWZlcmVuY2Ugb3IgR2V0QmFzZSBpcyBub3QgbnVsbAogKi8KCi8vQ0hFQ0sjMQppZiAoLTQgPj4+IDEgIT09IDIxNDc0ODM2NDYpIHsKICAkRVJST1IoJyMxOiAtNCA+Pj4gMSA9PT0gMjE0NzQ4MzY0Ni4gQWN0dWFsOiAnICsgKC00ID4+PiAxKSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgeCA9IC00OwppZiAoeCA+Pj4gMSAhPT0gMjE0NzQ4MzY0NikgewogICRFUlJPUignIzI6IHZhciB4ID0gLTQ7IHggPj4+IDEgPT09IDIxNDc0ODM2NDYuIEFjdHVhbDogJyArICh4ID4+PiAxKSk7Cn0KCi8vQ0hFQ0sjMwp2YXIgeSA9IDE7CmlmICgtNCA+Pj4geSAhPT0gMjE0NzQ4MzY0NikgewogICRFUlJPUignIzM6IHZhciB5ID0gMTsgLTQgPj4+IHkgPT09IDIxNDc0ODM2NDYuIEFjdHVhbDogJyArICgtNCA+Pj4geSkpOwp9CgovL0NIRUNLIzQKdmFyIHggPSAtNDsKdmFyIHkgPSAxOwppZiAoeCA+Pj4geSAhPT0gMjE0NzQ4MzY0NikgewogICRFUlJPUignIzQ6IHZhciB4ID0gLTQ7IHZhciB5ID0gMTsgeCA+Pj4geSA9PT0gMjE0NzQ4MzY0Ni4gQWN0dWFsOiAnICsgKHggPj4+IHkpKTsKfQoKLy9DSEVDSyM1CnZhciBvYmplY3R4ID0gbmV3IE9iamVjdCgpOwp2YXIgb2JqZWN0eSA9IG5ldyBPYmplY3QoKTsKb2JqZWN0eC5wcm9wID0gLTQ7Cm9iamVjdHkucHJvcCA9IDE7CmlmIChvYmplY3R4LnByb3AgPj4+IG9iamVjdHkucHJvcCAhPT0gMjE0NzQ4MzY0NikgewogICRFUlJPUignIzU6IHZhciBvYmplY3R4ID0gbmV3IE9iamVjdCgpOyB2YXIgb2JqZWN0eSA9IG5ldyBPYmplY3QoKTsgb2JqZWN0eC5wcm9wID0gLTQ7IG9iamVjdHkucHJvcCA9IDE7IG9iamVjdHgucHJvcCA+Pj4gb2JqZWN0eS5wcm9wID09PSAyMTQ3NDgzNjQ2LiBBY3R1YWw6ICcgKyAob2JqZWN0eC5wcm9wID4+PiBvYmplY3R5LnByb3ApKTsKfQoK",
"commentary":"Operator x >>> y uses GetValue",
"description":"Either Type is not Reference or GetBase is not null",
"path":"TestCases/ch11/11.7/11.7.3/S11.7.3_A2.1_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+PiB5IHVzZXMgR2V0VmFsdWUKICoKICogQHBhdGggY2gxMS8xMS43LzExLjcuMy9TMTEuNy4zX0EyLjFfVDIuanMKICogQGRlc2NyaXB0aW9uIElmIEdldEJhc2UoeCkgaXMgbnVsbCwgdGhyb3cgUmVmZXJlbmNlRXJyb3IKICovCgovL0NIRUNLIzEKdHJ5IHsKICB4ID4+PiAxOwogICRFUlJPUignIzEuMTogeCA+Pj4gMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHggPj4+IDEpKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IHggPj4+IDEgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7ICAKICB9Cn0KCgo=",
"commentary":"Operator x >>> y uses GetValue",
"description":"If GetBase(x) is null, throw ReferenceError",
"path":"TestCases/ch11/11.7/11.7.3/S11.7.3_A2.1_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+PiB5IHVzZXMgR2V0VmFsdWUKICoKICogQHBhdGggY2gxMS8xMS43LzExLjcuMy9TMTEuNy4zX0EyLjFfVDMuanMKICogQGRlc2NyaXB0aW9uIElmIEdldEJhc2UoeSkgaXMgbnVsbCwgdGhyb3cgUmVmZXJlbmNlRXJyb3IKICovCgovL0NIRUNLIzEKdHJ5IHsKICAxID4+PiB5OwogICRFUlJPUignIzEuMTogMSA+Pj4geSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKDEgPj4+IHkpKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IDEgPj4+IHkgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7ICAKICB9Cn0KCgo=",
"commentary":"Operator x >>> y uses GetValue",
"description":"If GetBase(y) is null, throw ReferenceError",
"path":"TestCases/ch11/11.7/11.7.3/S11.7.3_A2.1_T3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+PiB5IHVzZXMgW1tEZWZhdWx0IFZhbHVlXV0KICoKICogQHBhdGggY2gxMS8xMS43LzExLjcuMy9TMTEuNy4zX0EyLjJfVDEuanMKICogQGRlc2NyaXB0aW9uIElmIFR5cGUodmFsdWUpIGlzIE9iamVjdCwgZXZhbHVhdGUgVG9QcmltaXRpdmUodmFsdWUsIE51bWJlcikKICovCgovL0NIRUNLIzEKaWYgKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gLTR9fSA+Pj4gMSAhPT0gMjE0NzQ4MzY0NikgewogICRFUlJPUignIzE6IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gLTR9fSA+Pj4gMSA9PT0gMjE0NzQ4MzY0Ni4gQWN0dWFsOiAnICsgKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gLTR9fSA+Pj4gMSkpOwp9CgovL0NIRUNLIzIKaWYgKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gLTR9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSA+Pj4gMSAhPT0gMjE0NzQ4MzY0NikgewogICRFUlJPUignIzI6IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gLTR9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSA+Pj4gMSA9PT0gMjE0NzQ4MzY0Ni4gQWN0dWFsOiAnICsgKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gLTR9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSA+Pj4gMSkpOwp9CgovL0NIRUNLIzMKaWYgKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gLTR9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0gPj4+IDEgIT09IDIxNDc0ODM2NDYpIHsKICAkRVJST1IoJyMzOiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIC00fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19ID4+PiAxID09PSAyMTQ3NDgzNjQ2LiBBY3R1YWw6ICcgKyAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAtNH0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSA+Pj4gMSkpOwp9CgovL0NIRUNLIzQKdHJ5IHsKICBpZiAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAtNH0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gPj4+IDEgIT09IDIxNDc0ODM2NDYpIHsKICAgICRFUlJPUignIzQuMToge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAtNH0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gPj4+IDEgPT09IDIxNDc0ODM2NDYuIEFjdHVhbDogJyArICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIC00fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fSA+Pj4gMSkpOwogIH0KfQpjYXRjaCAoZSkgewogIGlmIChlID09PSAiZXJyb3IiKSB7CiAgICAkRVJST1IoJyM0LjI6IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gLTR9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19ID4+PiAxIG5vdCB0aHJvdyAiZXJyb3IiJyk7CiAgfSBlbHNlIHsKICAgICRFUlJPUignIzQuMzoge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAtNH0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gPj4+IDEgbm90IHRocm93IEVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0KfQoKLy9DSEVDSyM1CmlmICgtNCA+Pj4ge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19ICE9PSAyMTQ3NDgzNjQ2KSB7CiAgJEVSUk9SKCcjNTogLTQgPj4+IHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSA9PT0gMjE0NzQ4MzY0Ni4gQWN0dWFsOiAnICsgKC00ID4+PiB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0pKTsKfQoKLy9DSEVDSyM2CmlmICgtNCA+Pj4ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19ICE9PSAyMTQ3NDgzNjQ2KSB7CiAgJEVSUk9SKCcjNjogLTQgPj4+IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSA9PT0gMjE0NzQ4MzY0Ni4gQWN0dWFsOiAnICsgKC00ID4+PiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0pKTsKfQoKLy9DSEVDSyM3CnRyeSB7CiAgLTQgPj4+IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07CiAgJEVSUk9SKCcjNy4xOiAtNCA+Pj4ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSB0aHJvdyAiZXJyb3IiLiBBY3R1YWw6ICcgKyAoLTQgPj4+IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0pKTsKfSAgCmNhdGNoIChlKSB7CiAgaWYgKGUgIT09ICJlcnJvciIpIHsKICAgICRFUlJPUignIzcuMjogLTQgPj4+IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0gdGhyb3cgImVycm9yIi4gQWN0dWFsOiAnICsgKGUpKTsKICB9IAp9CgovL0NIRUNLIzgKdHJ5IHsKICAtNCA+Pj4ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsKICAkRVJST1IoJyM4LjE6IC00ID4+PiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19IHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKfSAgCmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjOC4yOiAtNCA+Pj4ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfSAKfQoK",
"commentary":"Operator x >>> y uses [[Default Value]]",
"description":"If Type(value) is Object, evaluate ToPrimitive(value, Number)",
"path":"TestCases/ch11/11.7/11.7.3/S11.7.3_A2.2_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUb051bWJlcihmaXJzdCBleHByZXNzaW9uKSBpcyBjYWxsZWQgZmlyc3QsIGFuZCB0aGVuIFRvTnVtYmVyKHNlY29uZCBleHByZXNzaW9uKQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4zL1MxMS43LjNfQTIuM19UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgd2l0aCAidGhyb3ciCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0geyB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfSB9Owp2YXIgeSA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieSI7IH0gfTsKdHJ5IHsKICAgeCA+Pj4geTsKICAgJEVSUk9SKCcjMS4xOiB2YXIgeCA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieCI7IH0gfTsgdmFyIHkgPSB7IHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9IH07IHggPj4+IHkgdGhyb3cgIngiLiBBY3R1YWw6ICcgKyAoeCA+Pj4geSkpOwp9IGNhdGNoIChlKSB7CiAgIGlmIChlID09PSAieSIpIHsKICAgICAkRVJST1IoJyMxLjI6IFRvTnVtYmVyKGZpcnN0IGV4cHJlc3Npb24pIGlzIGNhbGxlZCBmaXJzdCwgYW5kIHRoZW4gVG9OdW1iZXIoc2Vjb25kIGV4cHJlc3Npb24pJyk7CiAgIH0gZWxzZSB7CiAgICAgaWYgKGUgIT09ICJ4IikgewogICAgICAgJEVSUk9SKCcjMS4zOiB2YXIgeCA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieCI7IH0gfTsgdmFyIHkgPSB7IHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9IH07IHggPj4+IHkgdGhyb3cgIngiLiBBY3R1YWw6ICcgKyAoZSkpOwogICAgIH0KICAgfQp9Cgo=",
"commentary":"ToNumber(first expression) is called first, and then ToNumber(second expression)",
"description":"Checking with \"throw\"",
"path":"TestCases/ch11/11.7/11.7.3/S11.7.3_A2.3_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS43LzExLjcuMy9TMTEuNy4zX0EyLjRfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggIj0iCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gMDsgCmlmICgoeCA9IDEpID4+PiB4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSAwOyAoeCA9IDEpID4+PiB4ID09PSAwLiBBY3R1YWw6ICcgKyAoKHggPSAxKSA+Pj4geCkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAtNDsgCmlmICh4ID4+PiAoeCA9IDEpICE9PSAyMTQ3NDgzNjQ2KSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSAtNDsgeCA+Pj4gKHggPSAxKSA9PT0gMjE0NzQ4MzY0Ni4gQWN0dWFsOiAnICsgKHggPj4+ICh4ID0gMSkpKTsKfQoKCg==",
"commentary":"First expression is evaluated first, and then second expression",
"description":"Checking with \"=\"",
"path":"TestCases/ch11/11.7/11.7.3/S11.7.3_A2.4_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS43LzExLjcuMy9TMTEuNy4zX0EyLjRfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggInRocm93IgogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9Owp2YXIgeSA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9Owp0cnkgewogICB4KCkgPj4+IHkoKTsKICAgJEVSUk9SKCcjMS4xOiB2YXIgeCA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9OyB2YXIgeSA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9OyB4KCkgPj4+IHkoKSB0aHJvdyAieCIuIEFjdHVhbDogJyArICh4KCkgPj4+IHkoKSkpOwp9IGNhdGNoIChlKSB7CiAgIGlmIChlID09PSAieSIpIHsKICAgICAkRVJST1IoJyMxLjI6IEZpcnN0IGV4cHJlc3Npb24gaXMgZXZhbHVhdGVkIGZpcnN0LCBhbmQgdGhlbiBzZWNvbmQgZXhwcmVzc2lvbicpOwogICB9IGVsc2UgewogICAgIGlmIChlICE9PSAieCIpIHsKICAgICAgICRFUlJPUignIzEuMzogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpID4+PiB5KCkgdGhyb3cgIngiLiBBY3R1YWw6ICcgKyAoZSkpOwogICAgIH0KICAgfQp9Cgo=",
"commentary":"First expression is evaluated first, and then second expression",
"description":"Checking with \"throw\"",
"path":"TestCases/ch11/11.7/11.7.3/S11.7.3_A2.4_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS43LzExLjcuMy9TMTEuNy4zX0EyLjRfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggdW5kZWNsYXJhdGVkIHZhcmlhYmxlcwogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHggPj4+ICh4ID0gMSk7CiAgJEVSUk9SKCcjMS4xOiB4ID4+PiAoeCA9IDEpIHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoeCA+Pj4gKHggPSAxKSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogeCA+Pj4gKHggPSAxKSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoKLy9DSEVDSyMyCmlmICgoeSA9IDEpID4+PiB5ICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogKHkgPSAxKSA+Pj4geSA9PT0gMC4gQWN0dWFsOiAnICsgKCh5ID0gMSkgPj4+IHkpKTsKfQoKCg==",
"commentary":"First expression is evaluated first, and then second expression",
"description":"Checking with undeclarated variables",
"path":"TestCases/ch11/11.7/11.7.3/S11.7.3_A2.4_T3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+PiB5IHJldHVybnMgVG9OdW1iZXIoeCkgPj4+IFRvTnVtYmVyKHkpCiAqCiAqIEBwYXRoIGNoMTEvMTEuNy8xMS43LjMvUzExLjcuM19BM19UMS4xLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGFuZCBUeXBlKHkpIHZhcnkgYmV0d2VlbiBwcmltaXRpdmUgYm9vbGVhbiBhbmQgQm9vbGVhbiBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKHRydWUgPj4+IHRydWUgIT09IDApIHsKICAkRVJST1IoJyMxOiB0cnVlID4+PiB0cnVlID09PSAwLiBBY3R1YWw6ICcgKyAodHJ1ZSA+Pj4gdHJ1ZSkpOwp9CgovL0NIRUNLIzIKaWYgKG5ldyBCb29sZWFuKHRydWUpID4+PiB0cnVlICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogbmV3IEJvb2xlYW4odHJ1ZSkgPj4+IHRydWUgPT09IDAuIEFjdHVhbDogJyArIChuZXcgQm9vbGVhbih0cnVlKSA+Pj4gdHJ1ZSkpOwp9CgovL0NIRUNLIzMKaWYgKHRydWUgPj4+IG5ldyBCb29sZWFuKHRydWUpICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogdHJ1ZSA+Pj4gbmV3IEJvb2xlYW4odHJ1ZSkgPT09IDAuIEFjdHVhbDogJyArICh0cnVlID4+PiBuZXcgQm9vbGVhbih0cnVlKSkpOwp9CgovL0NIRUNLIzQKaWYgKG5ldyBCb29sZWFuKHRydWUpID4+PiBuZXcgQm9vbGVhbih0cnVlKSAhPT0gMCkgewogICRFUlJPUignIzQ6IG5ldyBCb29sZWFuKHRydWUpID4+PiBuZXcgQm9vbGVhbih0cnVlKSA9PT0gMC4gQWN0dWFsOiAnICsgKG5ldyBCb29sZWFuKHRydWUpID4+PiBuZXcgQm9vbGVhbih0cnVlKSkpOwp9Cgo=",
"commentary":"Operator x >>> y returns ToNumber(x) >>> ToNumber(y)",
"description":"Type(x) and Type(y) vary between primitive boolean and Boolean object",
"path":"TestCases/ch11/11.7/11.7.3/S11.7.3_A3_T1.1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+PiB5IHJldHVybnMgVG9OdW1iZXIoeCkgPj4+IFRvTnVtYmVyKHkpCiAqCiAqIEBwYXRoIGNoMTEvMTEuNy8xMS43LjMvUzExLjcuM19BM19UMS4yLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGFuZCBUeXBlKHkpIHZhcnkgYmV0d2VlbiBwcmltaXRpdmUgbnVtYmVyIGFuZCBOdW1iZXIgb2JqZWN0CiAqLwoKLy9DSEVDSyMxCmlmICgxID4+PiAxICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogMSA+Pj4gMSA9PT0gMC4gQWN0dWFsOiAnICsgKDEgPj4+IDEpKTsKfQoKLy9DSEVDSyMyCmlmIChuZXcgTnVtYmVyKDEpID4+PiAxICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogbmV3IE51bWJlcigxKSA+Pj4gMSA9PT0gMC4gQWN0dWFsOiAnICsgKG5ldyBOdW1iZXIoMSkgPj4+IDEpKTsKfQoKLy9DSEVDSyMzCmlmICgxID4+PiBuZXcgTnVtYmVyKDEpICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogMSA+Pj4gbmV3IE51bWJlcigxKSA9PT0gMC4gQWN0dWFsOiAnICsgKDEgPj4+IG5ldyBOdW1iZXIoMSkpKTsKfQoKLy9DSEVDSyM0CmlmIChuZXcgTnVtYmVyKDEpID4+PiBuZXcgTnVtYmVyKDEpICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogbmV3IE51bWJlcigxKSA+Pj4gbmV3IE51bWJlcigxKSA9PT0gMC4gQWN0dWFsOiAnICsgKG5ldyBOdW1iZXIoMSkgPj4+IG5ldyBOdW1iZXIoMSkpKTsKfQoKCg==",
"commentary":"Operator x >>> y returns ToNumber(x) >>> ToNumber(y)",
"description":"Type(x) and Type(y) vary between primitive number and Number object",
"path":"TestCases/ch11/11.7/11.7.3/S11.7.3_A3_T1.2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+PiB5IHJldHVybnMgVG9OdW1iZXIoeCkgPj4+IFRvTnVtYmVyKHkpCiAqCiAqIEBwYXRoIGNoMTEvMTEuNy8xMS43LjMvUzExLjcuM19BM19UMS4zLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGFuZCBUeXBlKHkpIHZhcnkgYmV0d2VlbiBwcmltaXRpdmUgc3RyaW5nIGFuZCBTdHJpbmcgb2JqZWN0CiAqLwoKLy9DSEVDSyMxCmlmICgiMSIgPj4+ICIxIiAhPT0gMCkgewogICRFUlJPUignIzE6ICIxIiA+Pj4gIjEiID09PSAwLiBBY3R1YWw6ICcgKyAoIjEiID4+PiAiMSIpKTsKfQoKLy9DSEVDSyMyCmlmIChuZXcgU3RyaW5nKCIxIikgPj4+ICIxIiAhPT0gMCkgewogICRFUlJPUignIzI6IG5ldyBTdHJpbmcoIjEiKSA+Pj4gIjEiID09PSAwLiBBY3R1YWw6ICcgKyAobmV3IFN0cmluZygiMSIpID4+PiAiMSIpKTsKfQoKLy9DSEVDSyMzCmlmICgiMSIgPj4+IG5ldyBTdHJpbmcoIjEiKSAhPT0gMCkgewogICRFUlJPUignIzM6ICIxIiA+Pj4gbmV3IFN0cmluZygiMSIpID09PSAwLiBBY3R1YWw6ICcgKyAoIjEiID4+PiBuZXcgU3RyaW5nKCIxIikpKTsKfQoKLy9DSEVDSyM0CmlmIChuZXcgU3RyaW5nKCIxIikgPj4+IG5ldyBTdHJpbmcoIjEiKSAhPT0gMCkgewogICRFUlJPUignIzQ6IG5ldyBTdHJpbmcoIjEiKSA+Pj4gbmV3IFN0cmluZygiMSIpID09PSAwLiBBY3R1YWw6ICcgKyAobmV3IFN0cmluZygiMSIpID4+PiBuZXcgU3RyaW5nKCIxIikpKTsKfQoKLy9DSEVDSyM1CmlmICgieCIgPj4+ICIxIiAhPT0gMCkgewogICRFUlJPUignIzU6ICJ4IiA+Pj4gIjEiID09PSAwLiBBY3R1YWw6ICcgKyAoIngiID4+PiAiMSIpKTsKfQoKLy9DSEVDSyM2CmlmICgiMSIgPj4+ICJ4IiAhPT0gMSkgewogICRFUlJPUignIzY6ICIxIiA+Pj4gIngiID09PSAxLiBBY3R1YWw6ICcgKyAoIjEiID4+PiAieCIpKTsKfQoK",
"commentary":"Operator x >>> y returns ToNumber(x) >>> ToNumber(y)",
"description":"Type(x) and Type(y) vary between primitive string and String object",
"path":"TestCases/ch11/11.7/11.7.3/S11.7.3_A3_T1.3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+PiB5IHJldHVybnMgVG9OdW1iZXIoeCkgPj4+IFRvTnVtYmVyKHkpCiAqCiAqIEBwYXRoIGNoMTEvMTEuNy8xMS43LjMvUzExLjcuM19BM19UMS40LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGFuZCBUeXBlKHkpIHZhcnkgYmV0d2VlbiBOdWxsIGFuZCBVbmRlZmluZWQKICovCgovL0NIRUNLIzEKaWYgKG51bGwgPj4+IHVuZGVmaW5lZCAhPT0gMCkgewogICRFUlJPUignIzE6IG51bGwgPj4+IHVuZGVmaW5lZCA9PT0gMC4gQWN0dWFsOiAnICsgKG51bGwgPj4+IHVuZGVmaW5lZCkpOwp9CgovL0NIRUNLIzIKaWYgKHVuZGVmaW5lZCA+Pj4gbnVsbCAhPT0gMCkgewogICRFUlJPUignIzI6IHVuZGVmaW5lZCA+Pj4gbnVsbCA9PT0gMC4gQWN0dWFsOiAnICsgKHVuZGVmaW5lZCA+Pj4gbnVsbCkpOwp9CgovL0NIRUNLIzMKaWYgKHVuZGVmaW5lZCA+Pj4gdW5kZWZpbmVkICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogdW5kZWZpbmVkID4+PiB1bmRlZmluZWQgPT09IDAuIEFjdHVhbDogJyArICh1bmRlZmluZWQgPj4+IHVuZGVmaW5lZCkpOwp9CgovL0NIRUNLIzQKaWYgKG51bGwgPj4+IG51bGwgIT09IDApIHsKICAkRVJST1IoJyM0OiBudWxsID4+PiBudWxsID09PSAwLiBBY3R1YWw6ICcgKyAobnVsbCA+Pj4gbnVsbCkpOwp9Cgo=",
"commentary":"Operator x >>> y returns ToNumber(x) >>> ToNumber(y)",
"description":"Type(x) and Type(y) vary between Null and Undefined",
"path":"TestCases/ch11/11.7/11.7.3/S11.7.3_A3_T1.4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+PiB5IHJldHVybnMgVG9OdW1iZXIoeCkgPj4+IFRvTnVtYmVyKHkpCiAqCiAqIEBwYXRoIGNoMTEvMTEuNy8xMS43LjMvUzExLjcuM19BM19UMS41LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGFuZCBUeXBlKHkpIHZhcnkgYmV0d2VlbiBPYmplY3Qgb2JqZWN0IGFuZCBGdW5jdGlvbiBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKCh7fSA+Pj4gZnVuY3Rpb24oKXtyZXR1cm4gMX0pICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogKHt9ID4+PiBmdW5jdGlvbigpe3JldHVybiAxfSkgPT09IDAuIEFjdHVhbDogJyArICgoe30gPj4+IGZ1bmN0aW9uKCl7cmV0dXJuIDF9KSkpOwp9CgovL0NIRUNLIzIKaWYgKChmdW5jdGlvbigpe3JldHVybiAxfSA+Pj4ge30pICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogKGZ1bmN0aW9uKCl7cmV0dXJuIDF9ID4+PiB7fSkgPT09IDAuIEFjdHVhbDogJyArICgoZnVuY3Rpb24oKXtyZXR1cm4gMX0gPj4+IHt9KSkpOwp9CgovL0NIRUNLIzMKaWYgKChmdW5jdGlvbigpe3JldHVybiAxfSA+Pj4gZnVuY3Rpb24oKXtyZXR1cm4gMX0pICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogKGZ1bmN0aW9uKCl7cmV0dXJuIDF9ID4+PiBmdW5jdGlvbigpe3JldHVybiAxfSkgPT09IDAuIEFjdHVhbDogJyArICgoZnVuY3Rpb24oKXtyZXR1cm4gMX0gPj4+IGZ1bmN0aW9uKCl7cmV0dXJuIDF9KSkpOwp9CgovL0NIRUNLIzQKaWYgKCh7fSA+Pj4ge30pICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogKHt9ID4+PiB7fSkgPT09IDAuIEFjdHVhbDogJyArICgoe30gPj4+IHt9KSkpOwp9Cgo=",
"commentary":"Operator x >>> y returns ToNumber(x) >>> ToNumber(y)",
"description":"Type(x) and Type(y) vary between Object object and Function object",
"path":"TestCases/ch11/11.7/11.7.3/S11.7.3_A3_T1.5.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+PiB5IHJldHVybnMgVG9OdW1iZXIoeCkgPj4+IFRvTnVtYmVyKHkpCiAqCiAqIEBwYXRoIGNoMTEvMTEuNy8xMS43LjMvUzExLjcuM19BM19UMi4xLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIE51bWJlciAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIEJvb2xlYW4gKHByaW1pdGl2ZSBhbmQgb2JqZWN0KQogKi8KCi8vQ0hFQ0sjMQppZiAodHJ1ZSA+Pj4gMSAhPT0gMCkgewogICRFUlJPUignIzE6IHRydWUgPj4+IDEgPT09IDAuIEFjdHVhbDogJyArICh0cnVlID4+PiAxKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoMSA+Pj4gdHJ1ZSAhPT0gMCkgewogICRFUlJPUignIzI6IDEgPj4+IHRydWUgPT09IDAuIEFjdHVhbDogJyArICgxID4+PiB0cnVlKSk7Cn0KCi8vQ0hFQ0sjMwppZiAobmV3IEJvb2xlYW4odHJ1ZSkgPj4+IDEgIT09IDApIHsKICAkRVJST1IoJyMzOiBuZXcgQm9vbGVhbih0cnVlKSA+Pj4gMSA9PT0gMC4gQWN0dWFsOiAnICsgKG5ldyBCb29sZWFuKHRydWUpID4+PiAxKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoMSA+Pj4gbmV3IEJvb2xlYW4odHJ1ZSkgIT09IDApIHsKICAkRVJST1IoJyM0OiAxID4+PiBuZXcgQm9vbGVhbih0cnVlKSA9PT0gMC4gQWN0dWFsOiAnICsgKDEgPj4+IG5ldyBCb29sZWFuKHRydWUpKSk7Cn0KCi8vQ0hFQ0sjNQppZiAodHJ1ZSA+Pj4gbmV3IE51bWJlcigxKSAhPT0gMCkgewogICRFUlJPUignIzU6IHRydWUgPj4+IG5ldyBOdW1iZXIoMSkgPT09IDAuIEFjdHVhbDogJyArICh0cnVlID4+PiBuZXcgTnVtYmVyKDEpKSk7Cn0KCi8vQ0hFQ0sjNgppZiAobmV3IE51bWJlcigxKSA+Pj4gdHJ1ZSAhPT0gMCkgewogICRFUlJPUignIzY6IG5ldyBOdW1iZXIoMSkgPj4+IHRydWUgPT09IDAuIEFjdHVhbDogJyArIChuZXcgTnVtYmVyKDEpID4+PiB0cnVlKSk7Cn0KCi8vQ0hFQ0sjNwppZiAobmV3IEJvb2xlYW4odHJ1ZSkgPj4+IG5ldyBOdW1iZXIoMSkgIT09IDApIHsKICAkRVJST1IoJyM3OiBuZXcgQm9vbGVhbih0cnVlKSA+Pj4gbmV3IE51bWJlcigxKSA9PT0gMC4gQWN0dWFsOiAnICsgKG5ldyBCb29sZWFuKHRydWUpID4+PiBuZXcgTnVtYmVyKDEpKSk7Cn0KCi8vQ0hFQ0sjOAppZiAobmV3IE51bWJlcigxKSA+Pj4gbmV3IEJvb2xlYW4odHJ1ZSkgIT09IDApIHsKICAkRVJST1IoJyM4OiBuZXcgTnVtYmVyKDEpID4+PiBuZXcgQm9vbGVhbih0cnVlKSA9PT0gMC4gQWN0dWFsOiAnICsgKG5ldyBOdW1iZXIoMSkgPj4+IG5ldyBCb29sZWFuKHRydWUpKSk7Cn0KCg==",
"commentary":"Operator x >>> y returns ToNumber(x) >>> ToNumber(y)",
"description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Boolean (primitive and object)",
"path":"TestCases/ch11/11.7/11.7.3/S11.7.3_A3_T2.1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+PiB5IHJldHVybnMgVG9OdW1iZXIoeCkgPj4+IFRvTnVtYmVyKHkpCiAqCiAqIEBwYXRoIGNoMTEvMTEuNy8xMS43LjMvUzExLjcuM19BM19UMi4yLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIE51bWJlciAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIFN0cmluZyAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCmlmICgiMSIgPj4+IDEgIT09IDApIHsKICAkRVJST1IoJyMxOiAiMSIgPj4+IDEgPT09IDAuIEFjdHVhbDogJyArICgiMSIgPj4+IDEpKTsKfQoKLy9DSEVDSyMyCmlmICgxID4+PiAiMSIgIT09IDApIHsKICAkRVJST1IoJyMyOiAxID4+PiAiMSIgPT09IDAuIEFjdHVhbDogJyArICgxID4+PiAiMSIpKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgU3RyaW5nKCIxIikgPj4+IDEgIT09IDApIHsKICAkRVJST1IoJyMzOiBuZXcgU3RyaW5nKCIxIikgPj4+IDEgPT09IDAuIEFjdHVhbDogJyArIChuZXcgU3RyaW5nKCIxIikgPj4+IDEpKTsKfQoKLy9DSEVDSyM0CmlmICgxID4+PiBuZXcgU3RyaW5nKCIxIikgIT09IDApIHsKICAkRVJST1IoJyM0OiAxID4+PiBuZXcgU3RyaW5nKCIxIikgPT09IDAuIEFjdHVhbDogJyArICgxID4+PiBuZXcgU3RyaW5nKCIxIikpKTsKfQoKLy9DSEVDSyM1CmlmICgiMSIgPj4+IG5ldyBOdW1iZXIoMSkgIT09IDApIHsKICAkRVJST1IoJyM1OiAiMSIgPj4+IG5ldyBOdW1iZXIoMSkgPT09IDAuIEFjdHVhbDogJyArICgiMSIgPj4+IG5ldyBOdW1iZXIoMSkpKTsKfQoKLy9DSEVDSyM2CmlmIChuZXcgTnVtYmVyKDEpID4+PiAiMSIgIT09IDApIHsKICAkRVJST1IoJyM2OiBuZXcgTnVtYmVyKDEpID4+PiAiMSIgPT09IDAuIEFjdHVhbDogJyArIChuZXcgTnVtYmVyKDEpID4+PiAiMSIpKTsKfQoKLy9DSEVDSyM3CmlmIChuZXcgU3RyaW5nKCIxIikgPj4+IG5ldyBOdW1iZXIoMSkgIT09IDApIHsKICAkRVJST1IoJyM3OiBuZXcgU3RyaW5nKCIxIikgPj4+IG5ldyBOdW1iZXIoMSkgPT09IDAuIEFjdHVhbDogJyArIChuZXcgU3RyaW5nKCIxIikgPj4+IG5ldyBOdW1iZXIoMSkpKTsKfQoKLy9DSEVDSyM4CmlmIChuZXcgTnVtYmVyKDEpID4+PiBuZXcgU3RyaW5nKCIxIikgIT09IDApIHsKICAkRVJST1IoJyM4OiBuZXcgTnVtYmVyKDEpID4+PiBuZXcgU3RyaW5nKCIxIikgPT09IDAuIEFjdHVhbDogJyArIChuZXcgTnVtYmVyKDEpID4+PiBuZXcgU3RyaW5nKCIxIikpKTsKfQoKLy9DSEVDSyM5CmlmICgieCIgPj4+IDEgIT09IDApIHsKICAkRVJST1IoJyM5OiAieCIgPj4+IDEgPT09IDAuIEFjdHVhbDogJyArICgieCIgPj4+IDEpKTsKfQoKLy9DSEVDSyMxMAppZiAoMSA+Pj4gIngiICE9PSAxKSB7CiAgJEVSUk9SKCcjMTA6IDEgPj4+ICJ4IiA9PT0gMS4gQWN0dWFsOiAnICsgKDEgPj4+ICJ4IikpOwp9Cgo=",
"commentary":"Operator x >>> y returns ToNumber(x) >>> ToNumber(y)",
"description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object)",
"path":"TestCases/ch11/11.7/11.7.3/S11.7.3_A3_T2.2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+PiB5IHJldHVybnMgVG9OdW1iZXIoeCkgPj4+IFRvTnVtYmVyKHkpCiAqCiAqIEBwYXRoIGNoMTEvMTEuNy8xMS43LjMvUzExLjcuM19BM19UMi4zLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIE51bWJlciAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIE51bGwKICovCgovL0NIRUNLIzEKaWYgKDEgPj4+IG51bGwgIT09IDEpIHsKICAkRVJST1IoJyMxOiAxID4+PiBudWxsID09PSAxLiBBY3R1YWw6ICcgKyAoMSA+Pj4gbnVsbCkpOwp9CgovL0NIRUNLIzIKaWYgKG51bGwgPj4+IDEgIT09IDApIHsKICAkRVJST1IoJyMyOiBudWxsID4+PiAxID09PSAwLiBBY3R1YWw6ICcgKyAobnVsbCA+Pj4gMSkpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBOdW1iZXIoMSkgPj4+IG51bGwgIT09IDEpIHsKICAkRVJST1IoJyMzOiBuZXcgTnVtYmVyKDEpID4+PiBudWxsID09PSAxLiBBY3R1YWw6ICcgKyAobmV3IE51bWJlcigxKSA+Pj4gbnVsbCkpOwp9CgovL0NIRUNLIzQKaWYgKG51bGwgPj4+IG5ldyBOdW1iZXIoMSkgIT09IDApIHsKICAkRVJST1IoJyM0OiBudWxsID4+PiBuZXcgTnVtYmVyKDEpID09PSAwLiBBY3R1YWw6ICcgKyAobnVsbCA+Pj4gbmV3IE51bWJlcigxKSkpOwp9Cgo=",
"commentary":"Operator x >>> y returns ToNumber(x) >>> ToNumber(y)",
"description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null",
"path":"TestCases/ch11/11.7/11.7.3/S11.7.3_A3_T2.3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+PiB5IHJldHVybnMgVG9OdW1iZXIoeCkgPj4+IFRvTnVtYmVyKHkpCiAqCiAqIEBwYXRoIGNoMTEvMTEuNy8xMS43LjMvUzExLjcuM19BM19UMi40LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIE51bWJlciAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQppZiAoMSA+Pj4gdW5kZWZpbmVkICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogMSA+Pj4gdW5kZWZpbmVkID09PSAxLiBBY3R1YWw6ICcgKyAoMSA+Pj4gdW5kZWZpbmVkKSk7Cn0KCi8vQ0hFQ0sjMgppZiAodW5kZWZpbmVkID4+PiAxICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogdW5kZWZpbmVkID4+PiAxID09PSAwLiBBY3R1YWw6ICcgKyAodW5kZWZpbmVkID4+PiAxKSk7Cn0KCi8vQ0hFQ0sjMwppZiAobmV3IE51bWJlcigxKSA+Pj4gdW5kZWZpbmVkICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogbmV3IE51bWJlcigxKSA+Pj4gdW5kZWZpbmVkID09PSAxLiBBY3R1YWw6ICcgKyAobmV3IE51bWJlcigxKSA+Pj4gdW5kZWZpbmVkKSk7Cn0KCi8vQ0hFQ0sjNAppZiAodW5kZWZpbmVkID4+PiBuZXcgTnVtYmVyKDEpICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogdW5kZWZpbmVkID4+PiBuZXcgTnVtYmVyKDEpID09PSAwLiBBY3R1YWw6ICcgKyAodW5kZWZpbmVkID4+PiBuZXcgTnVtYmVyKDEpKSk7Cn0KCg==",
"commentary":"Operator x >>> y returns ToNumber(x) >>> ToNumber(y)",
"description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined",
"path":"TestCases/ch11/11.7/11.7.3/S11.7.3_A3_T2.4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+PiB5IHJldHVybnMgVG9OdW1iZXIoeCkgPj4+IFRvTnVtYmVyKHkpCiAqCiAqIEBwYXRoIGNoMTEvMTEuNy8xMS43LjMvUzExLjcuM19BM19UMi41LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIFN0cmluZyAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIEJvb2xlYW4gKHByaW1pdGl2ZSBhbmQgb2JqZWN0KQogKi8KCi8vQ0hFQ0sjMQppZiAodHJ1ZSA+Pj4gIjEiICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogdHJ1ZSA+Pj4gIjEiID09PSAwLiBBY3R1YWw6ICcgKyAodHJ1ZSA+Pj4gIjEiKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoIjEiID4+PiB0cnVlICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogIjEiID4+PiB0cnVlID09PSAwLiBBY3R1YWw6ICcgKyAoIjEiID4+PiB0cnVlKSk7Cn0KCi8vQ0hFQ0sjMwppZiAobmV3IEJvb2xlYW4odHJ1ZSkgPj4+ICIxIiAhPT0gMCkgewogICRFUlJPUignIzM6IG5ldyBCb29sZWFuKHRydWUpID4+PiAiMSIgPT09IDAuIEFjdHVhbDogJyArIChuZXcgQm9vbGVhbih0cnVlKSA+Pj4gIjEiKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoIjEiID4+PiBuZXcgQm9vbGVhbih0cnVlKSAhPT0gMCkgewogICRFUlJPUignIzQ6ICIxIiA+Pj4gbmV3IEJvb2xlYW4odHJ1ZSkgPT09IDAuIEFjdHVhbDogJyArICgiMSIgPj4+IG5ldyBCb29sZWFuKHRydWUpKSk7Cn0KCi8vQ0hFQ0sjNQppZiAodHJ1ZSA+Pj4gbmV3IFN0cmluZygiMSIpICE9PSAwKSB7CiAgJEVSUk9SKCcjNTogdHJ1ZSA+Pj4gbmV3IFN0cmluZygiMSIpID09PSAwLiBBY3R1YWw6ICcgKyAodHJ1ZSA+Pj4gbmV3IFN0cmluZygiMSIpKSk7Cn0KCi8vQ0hFQ0sjNgppZiAobmV3IFN0cmluZygiMSIpID4+PiB0cnVlICE9PSAwKSB7CiAgJEVSUk9SKCcjNjogbmV3IFN0cmluZygiMSIpID4+PiB0cnVlID09PSAwLiBBY3R1YWw6ICcgKyAobmV3IFN0cmluZygiMSIpID4+PiB0cnVlKSk7Cn0KCi8vQ0hFQ0sjNwppZiAobmV3IEJvb2xlYW4odHJ1ZSkgPj4+IG5ldyBTdHJpbmcoIjEiKSAhPT0gMCkgewogICRFUlJPUignIzc6IG5ldyBCb29sZWFuKHRydWUpID4+PiBuZXcgU3RyaW5nKCIxIikgPT09IDAuIEFjdHVhbDogJyArIChuZXcgQm9vbGVhbih0cnVlKSA+Pj4gbmV3IFN0cmluZygiMSIpKSk7Cn0KCi8vQ0hFQ0sjOAppZiAobmV3IFN0cmluZygiMSIpID4+PiBuZXcgQm9vbGVhbih0cnVlKSAhPT0gMCkgewogICRFUlJPUignIzg6IG5ldyBTdHJpbmcoIjEiKSA+Pj4gbmV3IEJvb2xlYW4odHJ1ZSkgPT09IDAuIEFjdHVhbDogJyArIChuZXcgU3RyaW5nKCIxIikgPj4+IG5ldyBCb29sZWFuKHRydWUpKSk7Cn0KCg==",
"commentary":"Operator x >>> y returns ToNumber(x) >>> ToNumber(y)",
"description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Boolean (primitive and object)",
"path":"TestCases/ch11/11.7/11.7.3/S11.7.3_A3_T2.5.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+PiB5IHJldHVybnMgVG9OdW1iZXIoeCkgPj4+IFRvTnVtYmVyKHkpCiAqCiAqIEBwYXRoIGNoMTEvMTEuNy8xMS43LjMvUzExLjcuM19BM19UMi42LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIFN0cmluZyAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQppZiAoIjEiID4+PiB1bmRlZmluZWQgIT09IDEpIHsKICAkRVJST1IoJyMxOiAiMSIgPj4+IHVuZGVmaW5lZCA9PT0gMS4gQWN0dWFsOiAnICsgKCIxIiA+Pj4gdW5kZWZpbmVkKSk7Cn0KCi8vQ0hFQ0sjMgppZiAodW5kZWZpbmVkID4+PiAiMSIgIT09IDApIHsKICAkRVJST1IoJyMyOiB1bmRlZmluZWQgPj4+ICIxIiA9PT0gMC4gQWN0dWFsOiAnICsgKHVuZGVmaW5lZCA+Pj4gIjEiKSk7Cn0KCi8vQ0hFQ0sjMwppZiAobmV3IFN0cmluZygiMSIpID4+PiB1bmRlZmluZWQgIT09IDEpIHsKICAkRVJST1IoJyMzOiBuZXcgU3RyaW5nKCIxIikgPj4+IHVuZGVmaW5lZCA9PT0gMS4gQWN0dWFsOiAnICsgKG5ldyBTdHJpbmcoIjEiKSA+Pj4gdW5kZWZpbmVkKSk7Cn0KCi8vQ0hFQ0sjNAppZiAodW5kZWZpbmVkID4+PiBuZXcgU3RyaW5nKCIxIikgIT09IDApIHsKICAkRVJST1IoJyM0OiB1bmRlZmluZWQgPj4+IG5ldyBTdHJpbmcoIjEiKSA9PT0gMC4gQWN0dWFsOiAnICsgKHVuZGVmaW5lZCA+Pj4gbmV3IFN0cmluZygiMSIpKSk7Cn0KCg==",
"commentary":"Operator x >>> y returns ToNumber(x) >>> ToNumber(y)",
"description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Undefined",
"path":"TestCases/ch11/11.7/11.7.3/S11.7.3_A3_T2.6.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+PiB5IHJldHVybnMgVG9OdW1iZXIoeCkgPj4+IFRvTnVtYmVyKHkpCiAqCiAqIEBwYXRoIGNoMTEvMTEuNy8xMS43LjMvUzExLjcuM19BM19UMi43LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIFN0cmluZyAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIE51bGwKICovCgovL0NIRUNLIzEKaWYgKCIxIiA+Pj4gbnVsbCAhPT0gMSkgewogICRFUlJPUignIzE6ICIxIiA+Pj4gbnVsbCA9PT0gMS4gQWN0dWFsOiAnICsgKCIxIiA+Pj4gbnVsbCkpOwp9CgovL0NIRUNLIzIKaWYgKG51bGwgPj4+ICIxIiAhPT0gMCkgewogICRFUlJPUignIzI6IG51bGwgPj4+ICIxIiA9PT0gMC4gQWN0dWFsOiAnICsgKG51bGwgPj4+ICIxIikpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBTdHJpbmcoIjEiKSA+Pj4gbnVsbCAhPT0gMSkgewogICRFUlJPUignIzM6IG5ldyBTdHJpbmcoIjEiKSA+Pj4gbnVsbCA9PT0gMS4gQWN0dWFsOiAnICsgKG5ldyBTdHJpbmcoIjEiKSA+Pj4gbnVsbCkpOwp9CgovL0NIRUNLIzQKaWYgKG51bGwgPj4+IG5ldyBTdHJpbmcoIjEiKSAhPT0gMCkgewogICRFUlJPUignIzQ6IG51bGwgPj4+IG5ldyBTdHJpbmcoIjEiKSA9PT0gMC4gQWN0dWFsOiAnICsgKG51bGwgPj4+IG5ldyBTdHJpbmcoIjEiKSkpOwp9Cgo=",
"commentary":"Operator x >>> y returns ToNumber(x) >>> ToNumber(y)",
"description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null",
"path":"TestCases/ch11/11.7/11.7.3/S11.7.3_A3_T2.7.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+PiB5IHJldHVybnMgVG9OdW1iZXIoeCkgPj4+IFRvTnVtYmVyKHkpCiAqCiAqIEBwYXRoIGNoMTEvMTEuNy8xMS43LjMvUzExLjcuM19BM19UMi44LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIEJvb2xlYW4gKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBVbmRlZmluZWQKICovCgovL0NIRUNLIzEKaWYgKHRydWUgPj4+IHVuZGVmaW5lZCAhPT0gMSkgewogICRFUlJPUignIzE6IHRydWUgPj4+IHVuZGVmaW5lZCA9PT0gMS4gQWN0dWFsOiAnICsgKHRydWUgPj4+IHVuZGVmaW5lZCkpOwp9CgovL0NIRUNLIzIKaWYgKHVuZGVmaW5lZCA+Pj4gdHJ1ZSAhPT0gMCkgewogICRFUlJPUignIzI6IHVuZGVmaW5lZCA+Pj4gdHJ1ZSA9PT0gMC4gQWN0dWFsOiAnICsgKHVuZGVmaW5lZCA+Pj4gdHJ1ZSkpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBCb29sZWFuKHRydWUpID4+PiB1bmRlZmluZWQgIT09IDEpIHsKICAkRVJST1IoJyMzOiBuZXcgQm9vbGVhbih0cnVlKSA+Pj4gdW5kZWZpbmVkID09PSAxLiBBY3R1YWw6ICcgKyAobmV3IEJvb2xlYW4odHJ1ZSkgPj4+IHVuZGVmaW5lZCkpOwp9CgovL0NIRUNLIzQKaWYgKHVuZGVmaW5lZCA+Pj4gbmV3IEJvb2xlYW4odHJ1ZSkgIT09IDApIHsKICAkRVJST1IoJyM0OiB1bmRlZmluZWQgPj4+IG5ldyBCb29sZWFuKHRydWUpID09PSAwLiBBY3R1YWw6ICcgKyAodW5kZWZpbmVkID4+PiBuZXcgQm9vbGVhbih0cnVlKSkpOwp9Cgo=",
"commentary":"Operator x >>> y returns ToNumber(x) >>> ToNumber(y)",
"description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined",
"path":"TestCases/ch11/11.7/11.7.3/S11.7.3_A3_T2.8.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+PiB5IHJldHVybnMgVG9OdW1iZXIoeCkgPj4+IFRvTnVtYmVyKHkpCiAqCiAqIEBwYXRoIGNoMTEvMTEuNy8xMS43LjMvUzExLjcuM19BM19UMi45LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIEJvb2xlYW4gKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBOdWxsCiAqLwoKLy9DSEVDSyMxCmlmICh0cnVlID4+PiBudWxsICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogdHJ1ZSA+Pj4gbnVsbCA9PT0gMS4gQWN0dWFsOiAnICsgKHRydWUgPj4+IG51bGwpKTsKfQoKLy9DSEVDSyMyCmlmIChudWxsID4+PiB0cnVlICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogbnVsbCA+Pj4gdHJ1ZSA9PT0gMC4gQWN0dWFsOiAnICsgKG51bGwgPj4+IHRydWUpKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgQm9vbGVhbih0cnVlKSA+Pj4gbnVsbCAhPT0gMSkgewogICRFUlJPUignIzM6IG5ldyBCb29sZWFuKHRydWUpID4+PiBudWxsID09PSAxLiBBY3R1YWw6ICcgKyAobmV3IEJvb2xlYW4odHJ1ZSkgPj4+IG51bGwpKTsKfQoKLy9DSEVDSyM0CmlmIChudWxsID4+PiBuZXcgQm9vbGVhbih0cnVlKSAhPT0gMCkgewogICRFUlJPUignIzQ6IG51bGwgPj4+IG5ldyBCb29sZWFuKHRydWUpID09PSAwLiBBY3R1YWw6ICcgKyAobnVsbCA+Pj4gbmV3IEJvb2xlYW4odHJ1ZSkpKTsKfQoK",
"commentary":"Operator x >>> y returns ToNumber(x) >>> ToNumber(y)",
"description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null",
"path":"TestCases/ch11/11.7/11.7.3/S11.7.3_A3_T2.9.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBvcGVyYXRvciB4ID4+PiB5IGluIGRpc3RpbmN0IHBvaW50cwogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4zL1MxMS43LjNfQTRfVDEuanMKICogQGRlc2NyaXB0aW9uIFNoaWZ0RXhwcmVzc2lvbiA9IDJebiwgbiA9IDAuLi4xNQogKi8KCi8vQ0hFQ0sKIAppZiAoMSA+Pj4gMCAhPT0gMSkgeyAKICAkRVJST1IoJyMxOiAxID4+PiAwID09PSAxLiBBY3R1YWw6ICcgKyAoMSA+Pj4gMCkpOyAKfSAKCgppZiAoMiA+Pj4gMCAhPT0gMikgeyAKICAkRVJST1IoJyMyOiAyID4+PiAwID09PSAyLiBBY3R1YWw6ICcgKyAoMiA+Pj4gMCkpOyAKfSAKCgppZiAoNCA+Pj4gMCAhPT0gNCkgeyAKICAkRVJST1IoJyMzOiA0ID4+PiAwID09PSA0LiBBY3R1YWw6ICcgKyAoNCA+Pj4gMCkpOyAKfSAKCgppZiAoOCA+Pj4gMCAhPT0gOCkgeyAKICAkRVJST1IoJyM0OiA4ID4+PiAwID09PSA4LiBBY3R1YWw6ICcgKyAoOCA+Pj4gMCkpOyAKfSAKCgppZiAoMTYgPj4+IDAgIT09IDE2KSB7IAogICRFUlJPUignIzU6IDE2ID4+PiAwID09PSAxNi4gQWN0dWFsOiAnICsgKDE2ID4+PiAwKSk7IAp9IAoKCmlmICgzMiA+Pj4gMCAhPT0gMzIpIHsgCiAgJEVSUk9SKCcjNjogMzIgPj4+IDAgPT09IDMyLiBBY3R1YWw6ICcgKyAoMzIgPj4+IDApKTsgCn0gCgoKaWYgKDY0ID4+PiAwICE9PSA2NCkgeyAKICAkRVJST1IoJyM3OiA2NCA+Pj4gMCA9PT0gNjQuIEFjdHVhbDogJyArICg2NCA+Pj4gMCkpOyAKfSAKCgppZiAoMTI4ID4+PiAwICE9PSAxMjgpIHsgCiAgJEVSUk9SKCcjODogMTI4ID4+PiAwID09PSAxMjguIEFjdHVhbDogJyArICgxMjggPj4+IDApKTsgCn0gCgoKaWYgKDI1NiA+Pj4gMCAhPT0gMjU2KSB7IAogICRFUlJPUignIzk6IDI1NiA+Pj4gMCA9PT0gMjU2LiBBY3R1YWw6ICcgKyAoMjU2ID4+PiAwKSk7IAp9IAoKCmlmICg1MTIgPj4+IDAgIT09IDUxMikgeyAKICAkRVJST1IoJyMxMDogNTEyID4+PiAwID09PSA1MTIuIEFjdHVhbDogJyArICg1MTIgPj4+IDApKTsgCn0gCgoKaWYgKDEwMjQgPj4+IDAgIT09IDEwMjQpIHsgCiAgJEVSUk9SKCcjMTE6IDEwMjQgPj4+IDAgPT09IDEwMjQuIEFjdHVhbDogJyArICgxMDI0ID4+PiAwKSk7IAp9IAoKCmlmICgyMDQ4ID4+PiAwICE9PSAyMDQ4KSB7IAogICRFUlJPUignIzEyOiAyMDQ4ID4+PiAwID09PSAyMDQ4LiBBY3R1YWw6ICcgKyAoMjA0OCA+Pj4gMCkpOyAKfSAKCgppZiAoNDA5NiA+Pj4gMCAhPT0gNDA5NikgeyAKICAkRVJST1IoJyMxMzogNDA5NiA+Pj4gMCA9PT0gNDA5Ni4gQWN0dWFsOiAnICsgKDQwOTYgPj4+IDApKTsgCn0gCgoKaWYgKDgxOTIgPj4+IDAgIT09IDgxOTIpIHsgCiAgJEVSUk9SKCcjMTQ6IDgxOTIgPj4+IDAgPT09IDgxOTIuIEFjdHVhbDogJyArICg4MTkyID4+PiAwKSk7IAp9IAoKCmlmICgxNjM4NCA+Pj4gMCAhPT0gMTYzODQpIHsgCiAgJEVSUk9SKCcjMTU6IDE2Mzg0ID4+PiAwID09PSAxNjM4NC4gQWN0dWFsOiAnICsgKDE2Mzg0ID4+PiAwKSk7IAp9IAoKCmlmICgzMjc2OCA+Pj4gMCAhPT0gMzI3NjgpIHsgCiAgJEVSUk9SKCcjMTY6IDMyNzY4ID4+PiAwID09PSAzMjc2OC4gQWN0dWFsOiAnICsgKDMyNzY4ID4+PiAwKSk7IAp9IAoKCmlmICg2NTUzNiA+Pj4gMCAhPT0gNjU1MzYpIHsgCiAgJEVSUk9SKCcjMTc6IDY1NTM2ID4+PiAwID09PSA2NTUzNi4gQWN0dWFsOiAnICsgKDY1NTM2ID4+PiAwKSk7IAp9IAoKCmlmICgxMzEwNzIgPj4+IDAgIT09IDEzMTA3MikgeyAKICAkRVJST1IoJyMxODogMTMxMDcyID4+PiAwID09PSAxMzEwNzIuIEFjdHVhbDogJyArICgxMzEwNzIgPj4+IDApKTsgCn0gCgoKaWYgKDI2MjE0NCA+Pj4gMCAhPT0gMjYyMTQ0KSB7IAogICRFUlJPUignIzE5OiAyNjIxNDQgPj4+IDAgPT09IDI2MjE0NC4gQWN0dWFsOiAnICsgKDI2MjE0NCA+Pj4gMCkpOyAKfSAKCgppZiAoNTI0Mjg4ID4+PiAwICE9PSA1MjQyODgpIHsgCiAgJEVSUk9SKCcjMjA6IDUyNDI4OCA+Pj4gMCA9PT0gNTI0Mjg4LiBBY3R1YWw6ICcgKyAoNTI0Mjg4ID4+PiAwKSk7IAp9IAoKCmlmICgxMDQ4NTc2ID4+PiAwICE9PSAxMDQ4NTc2KSB7IAogICRFUlJPUignIzIxOiAxMDQ4NTc2ID4+PiAwID09PSAxMDQ4NTc2LiBBY3R1YWw6ICcgKyAoMTA0ODU3NiA+Pj4gMCkpOyAKfSAKCgppZiAoMjA5NzE1MiA+Pj4gMCAhPT0gMjA5NzE1MikgeyAKICAkRVJST1IoJyMyMjogMjA5NzE1MiA+Pj4gMCA9PT0gMjA5NzE1Mi4gQWN0dWFsOiAnICsgKDIwOTcxNTIgPj4+IDApKTsgCn0gCgoKaWYgKDQxOTQzMDQgPj4+IDAgIT09IDQxOTQzMDQpIHsgCiAgJEVSUk9SKCcjMjM6IDQxOTQzMDQgPj4+IDAgPT09IDQxOTQzMDQuIEFjdHVhbDogJyArICg0MTk0MzA0ID4+PiAwKSk7IAp9IAoKCmlmICg4Mzg4NjA4ID4+PiAwICE9PSA4Mzg4NjA4KSB7IAogICRFUlJPUignIzI0OiA4Mzg4NjA4ID4+PiAwID09PSA4Mzg4NjA4LiBBY3R1YWw6ICcgKyAoODM4ODYwOCA+Pj4gMCkpOyAKfSAKCgppZiAoMTY3NzcyMTYgPj4+IDAgIT09IDE2Nzc3MjE2KSB7IAogICRFUlJPUignIzI1OiAxNjc3NzIxNiA+Pj4gMCA9PT0gMTY3NzcyMTYuIEFjdHVhbDogJyArICgxNjc3NzIxNiA+Pj4gMCkpOyAKfSAKCgppZiAoMzM1NTQ0MzIgPj4+IDAgIT09IDMzNTU0NDMyKSB7IAogICRFUlJPUignIzI2OiAzMzU1NDQzMiA+Pj4gMCA9PT0gMzM1NTQ0MzIuIEFjdHVhbDogJyArICgzMzU1NDQzMiA+Pj4gMCkpOyAKfSAKCgppZiAoNjcxMDg4NjQgPj4+IDAgIT09IDY3MTA4ODY0KSB7IAogICRFUlJPUignIzI3OiA2NzEwODg2NCA+Pj4gMCA9PT0gNjcxMDg4NjQuIEFjdHVhbDogJyArICg2NzEwODg2NCA+Pj4gMCkpOyAKfSAKCgppZiAoMTM0MjE3NzI4ID4+PiAwICE9PSAxMzQyMTc3MjgpIHsgCiAgJEVSUk9SKCcjMjg6IDEzNDIxNzcyOCA+Pj4gMCA9PT0gMTM0MjE3NzI4LiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI4ID4+PiAwKSk7IAp9IAoKCmlmICgyNjg0MzU0NTYgPj4+IDAgIT09IDI2ODQzNTQ1NikgeyAKICAkRVJST1IoJyMyOTogMjY4NDM1NDU2ID4+PiAwID09PSAyNjg0MzU0NTYuIEFjdHVhbDogJyArICgyNjg0MzU0NTYgPj4+IDApKTsgCn0gCgoKaWYgKDUzNjg3MDkxMiA+Pj4gMCAhPT0gNTM2ODcwOTEyKSB7IAogICRFUlJPUignIzMwOiA1MzY4NzA5MTIgPj4+IDAgPT09IDUzNjg3MDkxMi4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMiA+Pj4gMCkpOyAKfSAKCgppZiAoMTA3Mzc0MTgyNCA+Pj4gMCAhPT0gMTA3Mzc0MTgyNCkgeyAKICAkRVJST1IoJyMzMTogMTA3Mzc0MTgyNCA+Pj4gMCA9PT0gMTA3Mzc0MTgyNC4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjQgPj4+IDApKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDggPj4+IDAgIT09IDIxNDc0ODM2NDgpIHsgCiAgJEVSUk9SKCcjMzI6IDIxNDc0ODM2NDggPj4+IDAgPT09IDIxNDc0ODM2NDguIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ4ID4+PiAwKSk7IAp9IAoKCmlmICgxID4+PiAxICE9PSAwKSB7IAogICRFUlJPUignIzMzOiAxID4+PiAxID09PSAwLiBBY3R1YWw6ICcgKyAoMSA+Pj4gMSkpOyAKfSAKCgppZiAoMiA+Pj4gMSAhPT0gMSkgeyAKICAkRVJST1IoJyMzNDogMiA+Pj4gMSA9PT0gMS4gQWN0dWFsOiAnICsgKDIgPj4+IDEpKTsgCn0gCgoKaWYgKDQgPj4+IDEgIT09IDIpIHsgCiAgJEVSUk9SKCcjMzU6IDQgPj4+IDEgPT09IDIuIEFjdHVhbDogJyArICg0ID4+PiAxKSk7IAp9IAoKCmlmICg4ID4+PiAxICE9PSA0KSB7IAogICRFUlJPUignIzM2OiA4ID4+PiAxID09PSA0LiBBY3R1YWw6ICcgKyAoOCA+Pj4gMSkpOyAKfSAKCgppZiAoMTYgPj4+IDEgIT09IDgpIHsgCiAgJEVSUk9SKCcjMzc6IDE2ID4+PiAxID09PSA4LiBBY3R1YWw6ICcgKyAoMTYgPj4+IDEpKTsgCn0gCgoKaWYgKDMyID4+PiAxICE9PSAxNikgeyAKICAkRVJST1IoJyMzODogMzIgPj4+IDEgPT09IDE2LiBBY3R1YWw6ICcgKyAoMzIgPj4+IDEpKTsgCn0gCgoKaWYgKDY0ID4+PiAxICE9PSAzMikgeyAKICAkRVJST1IoJyMzOTogNjQgPj4+IDEgPT09IDMyLiBBY3R1YWw6ICcgKyAoNjQgPj4+IDEpKTsgCn0gCgoKaWYgKDEyOCA+Pj4gMSAhPT0gNjQpIHsgCiAgJEVSUk9SKCcjNDA6IDEyOCA+Pj4gMSA9PT0gNjQuIEFjdHVhbDogJyArICgxMjggPj4+IDEpKTsgCn0gCgoKaWYgKDI1NiA+Pj4gMSAhPT0gMTI4KSB7IAogICRFUlJPUignIzQxOiAyNTYgPj4+IDEgPT09IDEyOC4gQWN0dWFsOiAnICsgKDI1NiA+Pj4gMSkpOyAKfSAKCgppZiAoNTEyID4+PiAxICE9PSAyNTYpIHsgCiAgJEVSUk9SKCcjNDI6IDUxMiA+Pj4gMSA9PT0gMjU2LiBBY3R1YWw6ICcgKyAoNTEyID4+PiAxKSk7IAp9IAoKCmlmICgxMDI0ID4+PiAxICE9PSA1MTIpIHsgCiAgJEVSUk9SKCcjNDM6IDEwMjQgPj4+IDEgPT09IDUxMi4gQWN0dWFsOiAnICsgKDEwMjQgPj4+IDEpKTsgCn0gCgoKaWYgKDIwNDggPj4+IDEgIT09IDEwMjQpIHsgCiAgJEVSUk9SKCcjNDQ6IDIwNDggPj4+IDEgPT09IDEwMjQuIEFjdHVhbDogJyArICgyMDQ4ID4+PiAxKSk7IAp9IAoKCmlmICg0MDk2ID4+PiAxICE9PSAyMDQ4KSB7IAogICRFUlJPUignIzQ1OiA0MDk2ID4+PiAxID09PSAyMDQ4LiBBY3R1YWw6ICcgKyAoNDA5NiA+Pj4gMSkpOyAKfSAKCgppZiAoODE5MiA+Pj4gMSAhPT0gNDA5NikgeyAKICAkRVJST1IoJyM0NjogODE5MiA+Pj4gMSA9PT0gNDA5Ni4gQWN0dWFsOiAnICsgKDgxOTIgPj4+IDEpKTsgCn0gCgoKaWYgKDE2Mzg0ID4+PiAxICE9PSA4MTkyKSB7IAogICRFUlJPUignIzQ3OiAxNjM4NCA+Pj4gMSA9PT0gODE5Mi4gQWN0dWFsOiAnICsgKDE2Mzg0ID4+PiAxKSk7IAp9IAoKCmlmICgzMjc2OCA+Pj4gMSAhPT0gMTYzODQpIHsgCiAgJEVSUk9SKCcjNDg6IDMyNzY4ID4+PiAxID09PSAxNjM4NC4gQWN0dWFsOiAnICsgKDMyNzY4ID4+PiAxKSk7IAp9IAoKCmlmICg2NTUzNiA+Pj4gMSAhPT0gMzI3NjgpIHsgCiAgJEVSUk9SKCcjNDk6IDY1NTM2ID4+PiAxID09PSAzMjc2OC4gQWN0dWFsOiAnICsgKDY1NTM2ID4+PiAxKSk7IAp9IAoKCmlmICgxMzEwNzIgPj4+IDEgIT09IDY1NTM2KSB7IAogICRFUlJPUignIzUwOiAxMzEwNzIgPj4+IDEgPT09IDY1NTM2LiBBY3R1YWw6ICcgKyAoMTMxMDcyID4+PiAxKSk7IAp9IAoKCmlmICgyNjIxNDQgPj4+IDEgIT09IDEzMTA3MikgeyAKICAkRVJST1IoJyM1MTogMjYyMTQ0ID4+PiAxID09PSAxMzEwNzIuIEFjdHVhbDogJyArICgyNjIxNDQgPj4+IDEpKTsgCn0gCgoKaWYgKDUyNDI4OCA+Pj4gMSAhPT0gMjYyMTQ0KSB7IAogICRFUlJPUignIzUyOiA1MjQyODggPj4+IDEgPT09IDI2MjE0NC4gQWN0dWFsOiAnICsgKDUyNDI4OCA+Pj4gMSkpOyAKfSAKCgppZiAoMTA0ODU3NiA+Pj4gMSAhPT0gNTI0Mjg4KSB7IAogICRFUlJPUignIzUzOiAxMDQ4NTc2ID4+PiAxID09PSA1MjQyODguIEFjdHVhbDogJyArICgxMDQ4NTc2ID4+PiAxKSk7IAp9IAoKCmlmICgyMDk3MTUyID4+PiAxICE9PSAxMDQ4NTc2KSB7IAogICRFUlJPUignIzU0OiAyMDk3MTUyID4+PiAxID09PSAxMDQ4NTc2LiBBY3R1YWw6ICcgKyAoMjA5NzE1MiA+Pj4gMSkpOyAKfSAKCgppZiAoNDE5NDMwNCA+Pj4gMSAhPT0gMjA5NzE1MikgeyAKICAkRVJST1IoJyM1NTogNDE5NDMwNCA+Pj4gMSA9PT0gMjA5NzE1Mi4gQWN0dWFsOiAnICsgKDQxOTQzMDQgPj4+IDEpKTsgCn0gCgoKaWYgKDgzODg2MDggPj4+IDEgIT09IDQxOTQzMDQpIHsgCiAgJEVSUk9SKCcjNTY6IDgzODg2MDggPj4+IDEgPT09IDQxOTQzMDQuIEFjdHVhbDogJyArICg4Mzg4NjA4ID4+PiAxKSk7IAp9IAoKCmlmICgxNjc3NzIxNiA+Pj4gMSAhPT0gODM4ODYwOCkgeyAKICAkRVJST1IoJyM1NzogMTY3NzcyMTYgPj4+IDEgPT09IDgzODg2MDguIEFjdHVhbDogJyArICgxNjc3NzIxNiA+Pj4gMSkpOyAKfSAKCgppZiAoMzM1NTQ0MzIgPj4+IDEgIT09IDE2Nzc3MjE2KSB7IAogICRFUlJPUignIzU4OiAzMzU1NDQzMiA+Pj4gMSA9PT0gMTY3NzcyMTYuIEFjdHVhbDogJyArICgzMzU1NDQzMiA+Pj4gMSkpOyAKfSAKCgppZiAoNjcxMDg4NjQgPj4+IDEgIT09IDMzNTU0NDMyKSB7IAogICRFUlJPUignIzU5OiA2NzEwODg2NCA+Pj4gMSA9PT0gMzM1NTQ0MzIuIEFjdHVhbDogJyArICg2NzEwODg2NCA+Pj4gMSkpOyAKfSAKCgppZiAoMTM0MjE3NzI4ID4+PiAxICE9PSA2NzEwODg2NCkgeyAKICAkRVJST1IoJyM2MDogMTM0MjE3NzI4ID4+PiAxID09PSA2NzEwODg2NC4gQWN0dWFsOiAnICsgKDEzNDIxNzcyOCA+Pj4gMSkpOyAKfSAKCgppZiAoMjY4NDM1NDU2ID4+PiAxICE9PSAxMzQyMTc3MjgpIHsgCiAgJEVSUk9SKCcjNjE6IDI2ODQzNTQ1NiA+Pj4gMSA9PT0gMTM0MjE3NzI4LiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU2ID4+PiAxKSk7IAp9IAoKCmlmICg1MzY4NzA5MTIgPj4+IDEgIT09IDI2ODQzNTQ1NikgeyAKICAkRVJST1IoJyM2MjogNTM2ODcwOTEyID4+PiAxID09PSAyNjg0MzU0NTYuIEFjdHVhbDogJyArICg1MzY4NzA5MTIgPj4+IDEpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjQgPj4+IDEgIT09IDUzNjg3MDkxMikgeyAKICAkRVJST1IoJyM2MzogMTA3Mzc0MTgyNCA+Pj4gMSA9PT0gNTM2ODcwOTEyLiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyNCA+Pj4gMSkpOyAKfSAKCgppZiAoMjE0NzQ4MzY0OCA+Pj4gMSAhPT0gMTA3Mzc0MTgyNCkgeyAKICAkRVJST1IoJyM2NDogMjE0NzQ4MzY0OCA+Pj4gMSA9PT0gMTA3Mzc0MTgyNC4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDggPj4+IDEpKTsgCn0gCgoKaWYgKDEgPj4+IDIgIT09IDApIHsgCiAgJEVSUk9SKCcjNjU6IDEgPj4+IDIgPT09IDAuIEFjdHVhbDogJyArICgxID4+PiAyKSk7IAp9IAoKCmlmICgyID4+PiAyICE9PSAwKSB7IAogICRFUlJPUignIzY2OiAyID4+PiAyID09PSAwLiBBY3R1YWw6ICcgKyAoMiA+Pj4gMikpOyAKfSAKCgppZiAoNCA+Pj4gMiAhPT0gMSkgeyAKICAkRVJST1IoJyM2NzogNCA+Pj4gMiA9PT0gMS4gQWN0dWFsOiAnICsgKDQgPj4+IDIpKTsgCn0gCgoKaWYgKDggPj4+IDIgIT09IDIpIHsgCiAgJEVSUk9SKCcjNjg6IDggPj4+IDIgPT09IDIuIEFjdHVhbDogJyArICg4ID4+PiAyKSk7IAp9IAoKCmlmICgxNiA+Pj4gMiAhPT0gNCkgeyAKICAkRVJST1IoJyM2OTogMTYgPj4+IDIgPT09IDQuIEFjdHVhbDogJyArICgxNiA+Pj4gMikpOyAKfSAKCgppZiAoMzIgPj4+IDIgIT09IDgpIHsgCiAgJEVSUk9SKCcjNzA6IDMyID4+PiAyID09PSA4LiBBY3R1YWw6ICcgKyAoMzIgPj4+IDIpKTsgCn0gCgoKaWYgKDY0ID4+PiAyICE9PSAxNikgeyAKICAkRVJST1IoJyM3MTogNjQgPj4+IDIgPT09IDE2LiBBY3R1YWw6ICcgKyAoNjQgPj4+IDIpKTsgCn0gCgoKaWYgKDEyOCA+Pj4gMiAhPT0gMzIpIHsgCiAgJEVSUk9SKCcjNzI6IDEyOCA+Pj4gMiA9PT0gMzIuIEFjdHVhbDogJyArICgxMjggPj4+IDIpKTsgCn0gCgoKaWYgKDI1NiA+Pj4gMiAhPT0gNjQpIHsgCiAgJEVSUk9SKCcjNzM6IDI1NiA+Pj4gMiA9PT0gNjQuIEFjdHVhbDogJyArICgyNTYgPj4+IDIpKTsgCn0gCgoKaWYgKDUxMiA+Pj4gMiAhPT0gMTI4KSB7IAogICRFUlJPUignIzc0OiA1MTIgPj4+IDIgPT09IDEyOC4gQWN0dWFsOiAnICsgKDUxMiA+Pj4gMikpOyAKfSAKCgppZiAoMTAyNCA+Pj4gMiAhPT0gMjU2KSB7IAogICRFUlJPUignIzc1OiAxMDI0ID4+PiAyID09PSAyNTYuIEFjdHVhbDogJyArICgxMDI0ID4+PiAyKSk7IAp9IAoKCmlmICgyMDQ4ID4+PiAyICE9PSA1MTIpIHsgCiAgJEVSUk9SKCcjNzY6IDIwNDggPj4+IDIgPT09IDUxMi4gQWN0dWFsOiAnICsgKDIwNDggPj4+IDIpKTsgCn0gCgoKaWYgKDQwOTYgPj4+IDIgIT09IDEwMjQpIHsgCiAgJEVSUk9SKCcjNzc6IDQwOTYgPj4+IDIgPT09IDEwMjQuIEFjdHVhbDogJyArICg0MDk2ID4+PiAyKSk7IAp9IAoKCmlmICg4MTkyID4+PiAyICE9PSAyMDQ4KSB7IAogICRFUlJPUignIzc4OiA4MTkyID4+PiAyID09PSAyMDQ4LiBBY3R1YWw6ICcgKyAoODE5MiA+Pj4gMikpOyAKfSAKCgppZiAoMTYzODQgPj4+IDIgIT09IDQwOTYpIHsgCiAgJEVSUk9SKCcjNzk6IDE2Mzg0ID4+PiAyID09PSA0MDk2LiBBY3R1YWw6ICcgKyAoMTYzODQgPj4+IDIpKTsgCn0gCgoKaWYgKDMyNzY4ID4+PiAyICE9PSA4MTkyKSB7IAogICRFUlJPUignIzgwOiAzMjc2OCA+Pj4gMiA9PT0gODE5Mi4gQWN0dWFsOiAnICsgKDMyNzY4ID4+PiAyKSk7IAp9IAoKCmlmICg2NTUzNiA+Pj4gMiAhPT0gMTYzODQpIHsgCiAgJEVSUk9SKCcjODE6IDY1NTM2ID4+PiAyID09PSAxNjM4NC4gQWN0dWFsOiAnICsgKDY1NTM2ID4+PiAyKSk7IAp9IAoKCmlmICgxMzEwNzIgPj4+IDIgIT09IDMyNzY4KSB7IAogICRFUlJPUignIzgyOiAxMzEwNzIgPj4+IDIgPT09IDMyNzY4LiBBY3R1YWw6ICcgKyAoMTMxMDcyID4+PiAyKSk7IAp9IAoKCmlmICgyNjIxNDQgPj4+IDIgIT09IDY1NTM2KSB7IAogICRFUlJPUignIzgzOiAyNjIxNDQgPj4+IDIgPT09IDY1NTM2LiBBY3R1YWw6ICcgKyAoMjYyMTQ0ID4+PiAyKSk7IAp9IAoKCmlmICg1MjQyODggPj4+IDIgIT09IDEzMTA3MikgeyAKICAkRVJST1IoJyM4NDogNTI0Mjg4ID4+PiAyID09PSAxMzEwNzIuIEFjdHVhbDogJyArICg1MjQyODggPj4+IDIpKTsgCn0gCgoKaWYgKDEwNDg1NzYgPj4+IDIgIT09IDI2MjE0NCkgeyAKICAkRVJST1IoJyM4NTogMTA0ODU3NiA+Pj4gMiA9PT0gMjYyMTQ0LiBBY3R1YWw6ICcgKyAoMTA0ODU3NiA+Pj4gMikpOyAKfSAKCgppZiAoMjA5NzE1MiA+Pj4gMiAhPT0gNTI0Mjg4KSB7IAogICRFUlJPUignIzg2OiAyMDk3MTUyID4+PiAyID09PSA1MjQyODguIEFjdHVhbDogJyArICgyMDk3MTUyID4+PiAyKSk7IAp9IAoKCmlmICg0MTk0MzA0ID4+PiAyICE9PSAxMDQ4NTc2KSB7IAogICRFUlJPUignIzg3OiA0MTk0MzA0ID4+PiAyID09PSAxMDQ4NTc2LiBBY3R1YWw6ICcgKyAoNDE5NDMwNCA+Pj4gMikpOyAKfSAKCgppZiAoODM4ODYwOCA+Pj4gMiAhPT0gMjA5NzE1MikgeyAKICAkRVJST1IoJyM4ODogODM4ODYwOCA+Pj4gMiA9PT0gMjA5NzE1Mi4gQWN0dWFsOiAnICsgKDgzODg2MDggPj4+IDIpKTsgCn0gCgoKaWYgKDE2Nzc3MjE2ID4+PiAyICE9PSA0MTk0MzA0KSB7IAogICRFUlJPUignIzg5OiAxNjc3NzIxNiA+Pj4gMiA9PT0gNDE5NDMwNC4gQWN0dWFsOiAnICsgKDE2Nzc3MjE2ID4+PiAyKSk7IAp9IAoKCmlmICgzMzU1NDQzMiA+Pj4gMiAhPT0gODM4ODYwOCkgeyAKICAkRVJST1IoJyM5MDogMzM1NTQ0MzIgPj4+IDIgPT09IDgzODg2MDguIEFjdHVhbDogJyArICgzMzU1NDQzMiA+Pj4gMikpOyAKfSAKCgppZiAoNjcxMDg4NjQgPj4+IDIgIT09IDE2Nzc3MjE2KSB7IAogICRFUlJPUignIzkxOiA2NzEwODg2NCA+Pj4gMiA9PT0gMTY3NzcyMTYuIEFjdHVhbDogJyArICg2NzEwODg2NCA+Pj4gMikpOyAKfSAKCgppZiAoMTM0MjE3NzI4ID4+PiAyICE9PSAzMzU1NDQzMikgeyAKICAkRVJST1IoJyM5MjogMTM0MjE3NzI4ID4+PiAyID09PSAzMzU1NDQzMi4gQWN0dWFsOiAnICsgKDEzNDIxNzcyOCA+Pj4gMikpOyAKfSAKCgppZiAoMjY4NDM1NDU2ID4+PiAyICE9PSA2NzEwODg2NCkgeyAKICAkRVJST1IoJyM5MzogMjY4NDM1NDU2ID4+PiAyID09PSA2NzEwODg2NC4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NiA+Pj4gMikpOyAKfSAKCgppZiAoNTM2ODcwOTEyID4+PiAyICE9PSAxMzQyMTc3MjgpIHsgCiAgJEVSUk9SKCcjOTQ6IDUzNjg3MDkxMiA+Pj4gMiA9PT0gMTM0MjE3NzI4LiBBY3R1YWw6ICcgKyAoNTM2ODcwOTEyID4+PiAyKSk7IAp9IAoKCmlmICgxMDczNzQxODI0ID4+PiAyICE9PSAyNjg0MzU0NTYpIHsgCiAgJEVSUk9SKCcjOTU6IDEwNzM3NDE4MjQgPj4+IDIgPT09IDI2ODQzNTQ1Ni4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjQgPj4+IDIpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDggPj4+IDIgIT09IDUzNjg3MDkxMikgeyAKICAkRVJST1IoJyM5NjogMjE0NzQ4MzY0OCA+Pj4gMiA9PT0gNTM2ODcwOTEyLiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0OCA+Pj4gMikpOyAKfSAKCgppZiAoMSA+Pj4gMyAhPT0gMCkgeyAKICAkRVJST1IoJyM5NzogMSA+Pj4gMyA9PT0gMC4gQWN0dWFsOiAnICsgKDEgPj4+IDMpKTsgCn0gCgoKaWYgKDIgPj4+IDMgIT09IDApIHsgCiAgJEVSUk9SKCcjOTg6IDIgPj4+IDMgPT09IDAuIEFjdHVhbDogJyArICgyID4+PiAzKSk7IAp9IAoKCmlmICg0ID4+PiAzICE9PSAwKSB7IAogICRFUlJPUignIzk5OiA0ID4+PiAzID09PSAwLiBBY3R1YWw6ICcgKyAoNCA+Pj4gMykpOyAKfSAKCgppZiAoOCA+Pj4gMyAhPT0gMSkgeyAKICAkRVJST1IoJyMxMDA6IDggPj4+IDMgPT09IDEuIEFjdHVhbDogJyArICg4ID4+PiAzKSk7IAp9IAoKCmlmICgxNiA+Pj4gMyAhPT0gMikgeyAKICAkRVJST1IoJyMxMDE6IDE2ID4+PiAzID09PSAyLiBBY3R1YWw6ICcgKyAoMTYgPj4+IDMpKTsgCn0gCgoKaWYgKDMyID4+PiAzICE9PSA0KSB7IAogICRFUlJPUignIzEwMjogMzIgPj4+IDMgPT09IDQuIEFjdHVhbDogJyArICgzMiA+Pj4gMykpOyAKfSAKCgppZiAoNjQgPj4+IDMgIT09IDgpIHsgCiAgJEVSUk9SKCcjMTAzOiA2NCA+Pj4gMyA9PT0gOC4gQWN0dWFsOiAnICsgKDY0ID4+PiAzKSk7IAp9IAoKCmlmICgxMjggPj4+IDMgIT09IDE2KSB7IAogICRFUlJPUignIzEwNDogMTI4ID4+PiAzID09PSAxNi4gQWN0dWFsOiAnICsgKDEyOCA+Pj4gMykpOyAKfSAKCgppZiAoMjU2ID4+PiAzICE9PSAzMikgeyAKICAkRVJST1IoJyMxMDU6IDI1NiA+Pj4gMyA9PT0gMzIuIEFjdHVhbDogJyArICgyNTYgPj4+IDMpKTsgCn0gCgoKaWYgKDUxMiA+Pj4gMyAhPT0gNjQpIHsgCiAgJEVSUk9SKCcjMTA2OiA1MTIgPj4+IDMgPT09IDY0LiBBY3R1YWw6ICcgKyAoNTEyID4+PiAzKSk7IAp9IAoKCmlmICgxMDI0ID4+PiAzICE9PSAxMjgpIHsgCiAgJEVSUk9SKCcjMTA3OiAxMDI0ID4+PiAzID09PSAxMjguIEFjdHVhbDogJyArICgxMDI0ID4+PiAzKSk7IAp9IAoKCmlmICgyMDQ4ID4+PiAzICE9PSAyNTYpIHsgCiAgJEVSUk9SKCcjMTA4OiAyMDQ4ID4+PiAzID09PSAyNTYuIEFjdHVhbDogJyArICgyMDQ4ID4+PiAzKSk7IAp9IAoKCmlmICg0MDk2ID4+PiAzICE9PSA1MTIpIHsgCiAgJEVSUk9SKCcjMTA5OiA0MDk2ID4+PiAzID09PSA1MTIuIEFjdHVhbDogJyArICg0MDk2ID4+PiAzKSk7IAp9IAoKCmlmICg4MTkyID4+PiAzICE9PSAxMDI0KSB7IAogICRFUlJPUignIzExMDogODE5MiA+Pj4gMyA9PT0gMTAyNC4gQWN0dWFsOiAnICsgKDgxOTIgPj4+IDMpKTsgCn0gCgoKaWYgKDE2Mzg0ID4+PiAzICE9PSAyMDQ4KSB7IAogICRFUlJPUignIzExMTogMTYzODQgPj4+IDMgPT09IDIwNDguIEFjdHVhbDogJyArICgxNjM4NCA+Pj4gMykpOyAKfSAKCgppZiAoMzI3NjggPj4+IDMgIT09IDQwOTYpIHsgCiAgJEVSUk9SKCcjMTEyOiAzMjc2OCA+Pj4gMyA9PT0gNDA5Ni4gQWN0dWFsOiAnICsgKDMyNzY4ID4+PiAzKSk7IAp9IAoKCmlmICg2NTUzNiA+Pj4gMyAhPT0gODE5MikgeyAKICAkRVJST1IoJyMxMTM6IDY1NTM2ID4+PiAzID09PSA4MTkyLiBBY3R1YWw6ICcgKyAoNjU1MzYgPj4+IDMpKTsgCn0gCgoKaWYgKDEzMTA3MiA+Pj4gMyAhPT0gMTYzODQpIHsgCiAgJEVSUk9SKCcjMTE0OiAxMzEwNzIgPj4+IDMgPT09IDE2Mzg0LiBBY3R1YWw6ICcgKyAoMTMxMDcyID4+PiAzKSk7IAp9IAoKCmlmICgyNjIxNDQgPj4+IDMgIT09IDMyNzY4KSB7IAogICRFUlJPUignIzExNTogMjYyMTQ0ID4+PiAzID09PSAzMjc2OC4gQWN0dWFsOiAnICsgKDI2MjE0NCA+Pj4gMykpOyAKfSAKCgppZiAoNTI0Mjg4ID4+PiAzICE9PSA2NTUzNikgeyAKICAkRVJST1IoJyMxMTY6IDUyNDI4OCA+Pj4gMyA9PT0gNjU1MzYuIEFjdHVhbDogJyArICg1MjQyODggPj4+IDMpKTsgCn0gCgoKaWYgKDEwNDg1NzYgPj4+IDMgIT09IDEzMTA3MikgeyAKICAkRVJST1IoJyMxMTc6IDEwNDg1NzYgPj4+IDMgPT09IDEzMTA3Mi4gQWN0dWFsOiAnICsgKDEwNDg1NzYgPj4+IDMpKTsgCn0gCgoKaWYgKDIwOTcxNTIgPj4+IDMgIT09IDI2MjE0NCkgeyAKICAkRVJST1IoJyMxMTg6IDIwOTcxNTIgPj4+IDMgPT09IDI2MjE0NC4gQWN0dWFsOiAnICsgKDIwOTcxNTIgPj4+IDMpKTsgCn0gCgoKaWYgKDQxOTQzMDQgPj4+IDMgIT09IDUyNDI4OCkgeyAKICAkRVJST1IoJyMxMTk6IDQxOTQzMDQgPj4+IDMgPT09IDUyNDI4OC4gQWN0dWFsOiAnICsgKDQxOTQzMDQgPj4+IDMpKTsgCn0gCgoKaWYgKDgzODg2MDggPj4+IDMgIT09IDEwNDg1NzYpIHsgCiAgJEVSUk9SKCcjMTIwOiA4Mzg4NjA4ID4+PiAzID09PSAxMDQ4NTc2LiBBY3R1YWw6ICcgKyAoODM4ODYwOCA+Pj4gMykpOyAKfSAKCgppZiAoMTY3NzcyMTYgPj4+IDMgIT09IDIwOTcxNTIpIHsgCiAgJEVSUk9SKCcjMTIxOiAxNjc3NzIxNiA+Pj4gMyA9PT0gMjA5NzE1Mi4gQWN0dWFsOiAnICsgKDE2Nzc3MjE2ID4+PiAzKSk7IAp9IAoKCmlmICgzMzU1NDQzMiA+Pj4gMyAhPT0gNDE5NDMwNCkgeyAKICAkRVJST1IoJyMxMjI6IDMzNTU0NDMyID4+PiAzID09PSA0MTk0MzA0LiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzIgPj4+IDMpKTsgCn0gCgoKaWYgKDY3MTA4ODY0ID4+PiAzICE9PSA4Mzg4NjA4KSB7IAogICRFUlJPUignIzEyMzogNjcxMDg4NjQgPj4+IDMgPT09IDgzODg2MDguIEFjdHVhbDogJyArICg2NzEwODg2NCA+Pj4gMykpOyAKfSAKCgppZiAoMTM0MjE3NzI4ID4+PiAzICE9PSAxNjc3NzIxNikgeyAKICAkRVJST1IoJyMxMjQ6IDEzNDIxNzcyOCA+Pj4gMyA9PT0gMTY3NzcyMTYuIEFjdHVhbDogJyArICgxMzQyMTc3MjggPj4+IDMpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NiA+Pj4gMyAhPT0gMzM1NTQ0MzIpIHsgCiAgJEVSUk9SKCcjMTI1OiAyNjg0MzU0NTYgPj4+IDMgPT09IDMzNTU0NDMyLiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU2ID4+PiAzKSk7IAp9IAoKCmlmICg1MzY4NzA5MTIgPj4+IDMgIT09IDY3MTA4ODY0KSB7IAogICRFUlJPUignIzEyNjogNTM2ODcwOTEyID4+PiAzID09PSA2NzEwODg2NC4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMiA+Pj4gMykpOyAKfSAKCgppZiAoMTA3Mzc0MTgyNCA+Pj4gMyAhPT0gMTM0MjE3NzI4KSB7IAogICRFUlJPUignIzEyNzogMTA3Mzc0MTgyNCA+Pj4gMyA9PT0gMTM0MjE3NzI4LiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyNCA+Pj4gMykpOyAKfSAKCgppZiAoMjE0NzQ4MzY0OCA+Pj4gMyAhPT0gMjY4NDM1NDU2KSB7IAogICRFUlJPUignIzEyODogMjE0NzQ4MzY0OCA+Pj4gMyA9PT0gMjY4NDM1NDU2LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0OCA+Pj4gMykpOyAKfSAKCgppZiAoMSA+Pj4gNCAhPT0gMCkgeyAKICAkRVJST1IoJyMxMjk6IDEgPj4+IDQgPT09IDAuIEFjdHVhbDogJyArICgxID4+PiA0KSk7IAp9IAoKCmlmICgyID4+PiA0ICE9PSAwKSB7IAogICRFUlJPUignIzEzMDogMiA+Pj4gNCA9PT0gMC4gQWN0dWFsOiAnICsgKDIgPj4+IDQpKTsgCn0gCgoKaWYgKDQgPj4+IDQgIT09IDApIHsgCiAgJEVSUk9SKCcjMTMxOiA0ID4+PiA0ID09PSAwLiBBY3R1YWw6ICcgKyAoNCA+Pj4gNCkpOyAKfSAKCgppZiAoOCA+Pj4gNCAhPT0gMCkgeyAKICAkRVJST1IoJyMxMzI6IDggPj4+IDQgPT09IDAuIEFjdHVhbDogJyArICg4ID4+PiA0KSk7IAp9IAoKCmlmICgxNiA+Pj4gNCAhPT0gMSkgeyAKICAkRVJST1IoJyMxMzM6IDE2ID4+PiA0ID09PSAxLiBBY3R1YWw6ICcgKyAoMTYgPj4+IDQpKTsgCn0gCgoKaWYgKDMyID4+PiA0ICE9PSAyKSB7IAogICRFUlJPUignIzEzNDogMzIgPj4+IDQgPT09IDIuIEFjdHVhbDogJyArICgzMiA+Pj4gNCkpOyAKfSAKCgppZiAoNjQgPj4+IDQgIT09IDQpIHsgCiAgJEVSUk9SKCcjMTM1OiA2NCA+Pj4gNCA9PT0gNC4gQWN0dWFsOiAnICsgKDY0ID4+PiA0KSk7IAp9IAoKCmlmICgxMjggPj4+IDQgIT09IDgpIHsgCiAgJEVSUk9SKCcjMTM2OiAxMjggPj4+IDQgPT09IDguIEFjdHVhbDogJyArICgxMjggPj4+IDQpKTsgCn0gCgoKaWYgKDI1NiA+Pj4gNCAhPT0gMTYpIHsgCiAgJEVSUk9SKCcjMTM3OiAyNTYgPj4+IDQgPT09IDE2LiBBY3R1YWw6ICcgKyAoMjU2ID4+PiA0KSk7IAp9IAoKCmlmICg1MTIgPj4+IDQgIT09IDMyKSB7IAogICRFUlJPUignIzEzODogNTEyID4+PiA0ID09PSAzMi4gQWN0dWFsOiAnICsgKDUxMiA+Pj4gNCkpOyAKfSAKCgppZiAoMTAyNCA+Pj4gNCAhPT0gNjQpIHsgCiAgJEVSUk9SKCcjMTM5OiAxMDI0ID4+PiA0ID09PSA2NC4gQWN0dWFsOiAnICsgKDEwMjQgPj4+IDQpKTsgCn0gCgoKaWYgKDIwNDggPj4+IDQgIT09IDEyOCkgeyAKICAkRVJST1IoJyMxNDA6IDIwNDggPj4+IDQgPT09IDEyOC4gQWN0dWFsOiAnICsgKDIwNDggPj4+IDQpKTsgCn0gCgoKaWYgKDQwOTYgPj4+IDQgIT09IDI1NikgeyAKICAkRVJST1IoJyMxNDE6IDQwOTYgPj4+IDQgPT09IDI1Ni4gQWN0dWFsOiAnICsgKDQwOTYgPj4+IDQpKTsgCn0gCgoKaWYgKDgxOTIgPj4+IDQgIT09IDUxMikgeyAKICAkRVJST1IoJyMxNDI6IDgxOTIgPj4+IDQgPT09IDUxMi4gQWN0dWFsOiAnICsgKDgxOTIgPj4+IDQpKTsgCn0gCgoKaWYgKDE2Mzg0ID4+PiA0ICE9PSAxMDI0KSB7IAogICRFUlJPUignIzE0MzogMTYzODQgPj4+IDQgPT09IDEwMjQuIEFjdHVhbDogJyArICgxNjM4NCA+Pj4gNCkpOyAKfSAKCgppZiAoMzI3NjggPj4+IDQgIT09IDIwNDgpIHsgCiAgJEVSUk9SKCcjMTQ0OiAzMjc2OCA+Pj4gNCA9PT0gMjA0OC4gQWN0dWFsOiAnICsgKDMyNzY4ID4+PiA0KSk7IAp9IAoKCmlmICg2NTUzNiA+Pj4gNCAhPT0gNDA5NikgeyAKICAkRVJST1IoJyMxNDU6IDY1NTM2ID4+PiA0ID09PSA0MDk2LiBBY3R1YWw6ICcgKyAoNjU1MzYgPj4+IDQpKTsgCn0gCgoKaWYgKDEzMTA3MiA+Pj4gNCAhPT0gODE5MikgeyAKICAkRVJST1IoJyMxNDY6IDEzMTA3MiA+Pj4gNCA9PT0gODE5Mi4gQWN0dWFsOiAnICsgKDEzMTA3MiA+Pj4gNCkpOyAKfSAKCgppZiAoMjYyMTQ0ID4+PiA0ICE9PSAxNjM4NCkgeyAKICAkRVJST1IoJyMxNDc6IDI2MjE0NCA+Pj4gNCA9PT0gMTYzODQuIEFjdHVhbDogJyArICgyNjIxNDQgPj4+IDQpKTsgCn0gCgoKaWYgKDUyNDI4OCA+Pj4gNCAhPT0gMzI3NjgpIHsgCiAgJEVSUk9SKCcjMTQ4OiA1MjQyODggPj4+IDQgPT09IDMyNzY4LiBBY3R1YWw6ICcgKyAoNTI0Mjg4ID4+PiA0KSk7IAp9IAoKCmlmICgxMDQ4NTc2ID4+PiA0ICE9PSA2NTUzNikgeyAKICAkRVJST1IoJyMxNDk6IDEwNDg1NzYgPj4+IDQgPT09IDY1NTM2LiBBY3R1YWw6ICcgKyAoMTA0ODU3NiA+Pj4gNCkpOyAKfSAKCgppZiAoMjA5NzE1MiA+Pj4gNCAhPT0gMTMxMDcyKSB7IAogICRFUlJPUignIzE1MDogMjA5NzE1MiA+Pj4gNCA9PT0gMTMxMDcyLiBBY3R1YWw6ICcgKyAoMjA5NzE1MiA+Pj4gNCkpOyAKfSAKCgppZiAoNDE5NDMwNCA+Pj4gNCAhPT0gMjYyMTQ0KSB7IAogICRFUlJPUignIzE1MTogNDE5NDMwNCA+Pj4gNCA9PT0gMjYyMTQ0LiBBY3R1YWw6ICcgKyAoNDE5NDMwNCA+Pj4gNCkpOyAKfSAKCgppZiAoODM4ODYwOCA+Pj4gNCAhPT0gNTI0Mjg4KSB7IAogICRFUlJPUignIzE1MjogODM4ODYwOCA+Pj4gNCA9PT0gNTI0Mjg4LiBBY3R1YWw6ICcgKyAoODM4ODYwOCA+Pj4gNCkpOyAKfSAKCgppZiAoMTY3NzcyMTYgPj4+IDQgIT09IDEwNDg1NzYpIHsgCiAgJEVSUk9SKCcjMTUzOiAxNjc3NzIxNiA+Pj4gNCA9PT0gMTA0ODU3Ni4gQWN0dWFsOiAnICsgKDE2Nzc3MjE2ID4+PiA0KSk7IAp9IAoKCmlmICgzMzU1NDQzMiA+Pj4gNCAhPT0gMjA5NzE1MikgeyAKICAkRVJST1IoJyMxNTQ6IDMzNTU0NDMyID4+PiA0ID09PSAyMDk3MTUyLiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzIgPj4+IDQpKTsgCn0gCgoKaWYgKDY3MTA4ODY0ID4+PiA0ICE9PSA0MTk0MzA0KSB7IAogICRFUlJPUignIzE1NTogNjcxMDg4NjQgPj4+IDQgPT09IDQxOTQzMDQuIEFjdHVhbDogJyArICg2NzEwODg2NCA+Pj4gNCkpOyAKfSAKCgppZiAoMTM0MjE3NzI4ID4+PiA0ICE9PSA4Mzg4NjA4KSB7IAogICRFUlJPUignIzE1NjogMTM0MjE3NzI4ID4+PiA0ID09PSA4Mzg4NjA4LiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI4ID4+PiA0KSk7IAp9IAoKCmlmICgyNjg0MzU0NTYgPj4+IDQgIT09IDE2Nzc3MjE2KSB7IAogICRFUlJPUignIzE1NzogMjY4NDM1NDU2ID4+PiA0ID09PSAxNjc3NzIxNi4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NiA+Pj4gNCkpOyAKfSAKCgppZiAoNTM2ODcwOTEyID4+PiA0ICE9PSAzMzU1NDQzMikgeyAKICAkRVJST1IoJyMxNTg6IDUzNjg3MDkxMiA+Pj4gNCA9PT0gMzM1NTQ0MzIuIEFjdHVhbDogJyArICg1MzY4NzA5MTIgPj4+IDQpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjQgPj4+IDQgIT09IDY3MTA4ODY0KSB7IAogICRFUlJPUignIzE1OTogMTA3Mzc0MTgyNCA+Pj4gNCA9PT0gNjcxMDg4NjQuIEFjdHVhbDogJyArICgxMDczNzQxODI0ID4+PiA0KSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ4ID4+PiA0ICE9PSAxMzQyMTc3MjgpIHsgCiAgJEVSUk9SKCcjMTYwOiAyMTQ3NDgzNjQ4ID4+PiA0ID09PSAxMzQyMTc3MjguIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ4ID4+PiA0KSk7IAp9IAoKCmlmICgxID4+PiA1ICE9PSAwKSB7IAogICRFUlJPUignIzE2MTogMSA+Pj4gNSA9PT0gMC4gQWN0dWFsOiAnICsgKDEgPj4+IDUpKTsgCn0gCgoKaWYgKDIgPj4+IDUgIT09IDApIHsgCiAgJEVSUk9SKCcjMTYyOiAyID4+PiA1ID09PSAwLiBBY3R1YWw6ICcgKyAoMiA+Pj4gNSkpOyAKfSAKCgppZiAoNCA+Pj4gNSAhPT0gMCkgeyAKICAkRVJST1IoJyMxNjM6IDQgPj4+IDUgPT09IDAuIEFjdHVhbDogJyArICg0ID4+PiA1KSk7IAp9IAoKCmlmICg4ID4+PiA1ICE9PSAwKSB7IAogICRFUlJPUignIzE2NDogOCA+Pj4gNSA9PT0gMC4gQWN0dWFsOiAnICsgKDggPj4+IDUpKTsgCn0gCgoKaWYgKDE2ID4+PiA1ICE9PSAwKSB7IAogICRFUlJPUignIzE2NTogMTYgPj4+IDUgPT09IDAuIEFjdHVhbDogJyArICgxNiA+Pj4gNSkpOyAKfSAKCgppZiAoMzIgPj4+IDUgIT09IDEpIHsgCiAgJEVSUk9SKCcjMTY2OiAzMiA+Pj4gNSA9PT0gMS4gQWN0dWFsOiAnICsgKDMyID4+PiA1KSk7IAp9IAoKCmlmICg2NCA+Pj4gNSAhPT0gMikgeyAKICAkRVJST1IoJyMxNjc6IDY0ID4+PiA1ID09PSAyLiBBY3R1YWw6ICcgKyAoNjQgPj4+IDUpKTsgCn0gCgoKaWYgKDEyOCA+Pj4gNSAhPT0gNCkgeyAKICAkRVJST1IoJyMxNjg6IDEyOCA+Pj4gNSA9PT0gNC4gQWN0dWFsOiAnICsgKDEyOCA+Pj4gNSkpOyAKfSAKCgppZiAoMjU2ID4+PiA1ICE9PSA4KSB7IAogICRFUlJPUignIzE2OTogMjU2ID4+PiA1ID09PSA4LiBBY3R1YWw6ICcgKyAoMjU2ID4+PiA1KSk7IAp9IAoKCmlmICg1MTIgPj4+IDUgIT09IDE2KSB7IAogICRFUlJPUignIzE3MDogNTEyID4+PiA1ID09PSAxNi4gQWN0dWFsOiAnICsgKDUxMiA+Pj4gNSkpOyAKfSAKCgppZiAoMTAyNCA+Pj4gNSAhPT0gMzIpIHsgCiAgJEVSUk9SKCcjMTcxOiAxMDI0ID4+PiA1ID09PSAzMi4gQWN0dWFsOiAnICsgKDEwMjQgPj4+IDUpKTsgCn0gCgoKaWYgKDIwNDggPj4+IDUgIT09IDY0KSB7IAogICRFUlJPUignIzE3MjogMjA0OCA+Pj4gNSA9PT0gNjQuIEFjdHVhbDogJyArICgyMDQ4ID4+PiA1KSk7IAp9IAoKCmlmICg0MDk2ID4+PiA1ICE9PSAxMjgpIHsgCiAgJEVSUk9SKCcjMTczOiA0MDk2ID4+PiA1ID09PSAxMjguIEFjdHVhbDogJyArICg0MDk2ID4+PiA1KSk7IAp9IAoKCmlmICg4MTkyID4+PiA1ICE9PSAyNTYpIHsgCiAgJEVSUk9SKCcjMTc0OiA4MTkyID4+PiA1ID09PSAyNTYuIEFjdHVhbDogJyArICg4MTkyID4+PiA1KSk7IAp9IAoKCmlmICgxNjM4NCA+Pj4gNSAhPT0gNTEyKSB7IAogICRFUlJPUignIzE3NTogMTYzODQgPj4+IDUgPT09IDUxMi4gQWN0dWFsOiAnICsgKDE2Mzg0ID4+PiA1KSk7IAp9IAoKCmlmICgzMjc2OCA+Pj4gNSAhPT0gMTAyNCkgeyAKICAkRVJST1IoJyMxNzY6IDMyNzY4ID4+PiA1ID09PSAxMDI0LiBBY3R1YWw6ICcgKyAoMzI3NjggPj4+IDUpKTsgCn0gCgoKaWYgKDY1NTM2ID4+PiA1ICE9PSAyMDQ4KSB7IAogICRFUlJPUignIzE3NzogNjU1MzYgPj4+IDUgPT09IDIwNDguIEFjdHVhbDogJyArICg2NTUzNiA+Pj4gNSkpOyAKfSAKCgppZiAoMTMxMDcyID4+PiA1ICE9PSA0MDk2KSB7IAogICRFUlJPUignIzE3ODogMTMxMDcyID4+PiA1ID09PSA0MDk2LiBBY3R1YWw6ICcgKyAoMTMxMDcyID4+PiA1KSk7IAp9IAoKCmlmICgyNjIxNDQgPj4+IDUgIT09IDgxOTIpIHsgCiAgJEVSUk9SKCcjMTc5OiAyNjIxNDQgPj4+IDUgPT09IDgxOTIuIEFjdHVhbDogJyArICgyNjIxNDQgPj4+IDUpKTsgCn0gCgoKaWYgKDUyNDI4OCA+Pj4gNSAhPT0gMTYzODQpIHsgCiAgJEVSUk9SKCcjMTgwOiA1MjQyODggPj4+IDUgPT09IDE2Mzg0LiBBY3R1YWw6ICcgKyAoNTI0Mjg4ID4+PiA1KSk7IAp9IAoKCmlmICgxMDQ4NTc2ID4+PiA1ICE9PSAzMjc2OCkgeyAKICAkRVJST1IoJyMxODE6IDEwNDg1NzYgPj4+IDUgPT09IDMyNzY4LiBBY3R1YWw6ICcgKyAoMTA0ODU3NiA+Pj4gNSkpOyAKfSAKCgppZiAoMjA5NzE1MiA+Pj4gNSAhPT0gNjU1MzYpIHsgCiAgJEVSUk9SKCcjMTgyOiAyMDk3MTUyID4+PiA1ID09PSA2NTUzNi4gQWN0dWFsOiAnICsgKDIwOTcxNTIgPj4+IDUpKTsgCn0gCgoKaWYgKDQxOTQzMDQgPj4+IDUgIT09IDEzMTA3MikgeyAKICAkRVJST1IoJyMxODM6IDQxOTQzMDQgPj4+IDUgPT09IDEzMTA3Mi4gQWN0dWFsOiAnICsgKDQxOTQzMDQgPj4+IDUpKTsgCn0gCgoKaWYgKDgzODg2MDggPj4+IDUgIT09IDI2MjE0NCkgeyAKICAkRVJST1IoJyMxODQ6IDgzODg2MDggPj4+IDUgPT09IDI2MjE0NC4gQWN0dWFsOiAnICsgKDgzODg2MDggPj4+IDUpKTsgCn0gCgoKaWYgKDE2Nzc3MjE2ID4+PiA1ICE9PSA1MjQyODgpIHsgCiAgJEVSUk9SKCcjMTg1OiAxNjc3NzIxNiA+Pj4gNSA9PT0gNTI0Mjg4LiBBY3R1YWw6ICcgKyAoMTY3NzcyMTYgPj4+IDUpKTsgCn0gCgoKaWYgKDMzNTU0NDMyID4+PiA1ICE9PSAxMDQ4NTc2KSB7IAogICRFUlJPUignIzE4NjogMzM1NTQ0MzIgPj4+IDUgPT09IDEwNDg1NzYuIEFjdHVhbDogJyArICgzMzU1NDQzMiA+Pj4gNSkpOyAKfSAKCgppZiAoNjcxMDg4NjQgPj4+IDUgIT09IDIwOTcxNTIpIHsgCiAgJEVSUk9SKCcjMTg3OiA2NzEwODg2NCA+Pj4gNSA9PT0gMjA5NzE1Mi4gQWN0dWFsOiAnICsgKDY3MTA4ODY0ID4+PiA1KSk7IAp9IAoKCmlmICgxMzQyMTc3MjggPj4+IDUgIT09IDQxOTQzMDQpIHsgCiAgJEVSUk9SKCcjMTg4OiAxMzQyMTc3MjggPj4+IDUgPT09IDQxOTQzMDQuIEFjdHVhbDogJyArICgxMzQyMTc3MjggPj4+IDUpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NiA+Pj4gNSAhPT0gODM4ODYwOCkgeyAKICAkRVJST1IoJyMxODk6IDI2ODQzNTQ1NiA+Pj4gNSA9PT0gODM4ODYwOC4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NiA+Pj4gNSkpOyAKfSAKCgppZiAoNTM2ODcwOTEyID4+PiA1ICE9PSAxNjc3NzIxNikgeyAKICAkRVJST1IoJyMxOTA6IDUzNjg3MDkxMiA+Pj4gNSA9PT0gMTY3NzcyMTYuIEFjdHVhbDogJyArICg1MzY4NzA5MTIgPj4+IDUpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjQgPj4+IDUgIT09IDMzNTU0NDMyKSB7IAogICRFUlJPUignIzE5MTogMTA3Mzc0MTgyNCA+Pj4gNSA9PT0gMzM1NTQ0MzIuIEFjdHVhbDogJyArICgxMDczNzQxODI0ID4+PiA1KSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ4ID4+PiA1ICE9PSA2NzEwODg2NCkgeyAKICAkRVJST1IoJyMxOTI6IDIxNDc0ODM2NDggPj4+IDUgPT09IDY3MTA4ODY0LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0OCA+Pj4gNSkpOyAKfSAKCgppZiAoMSA+Pj4gNiAhPT0gMCkgeyAKICAkRVJST1IoJyMxOTM6IDEgPj4+IDYgPT09IDAuIEFjdHVhbDogJyArICgxID4+PiA2KSk7IAp9IAoKCmlmICgyID4+PiA2ICE9PSAwKSB7IAogICRFUlJPUignIzE5NDogMiA+Pj4gNiA9PT0gMC4gQWN0dWFsOiAnICsgKDIgPj4+IDYpKTsgCn0gCgoKaWYgKDQgPj4+IDYgIT09IDApIHsgCiAgJEVSUk9SKCcjMTk1OiA0ID4+PiA2ID09PSAwLiBBY3R1YWw6ICcgKyAoNCA+Pj4gNikpOyAKfSAKCgppZiAoOCA+Pj4gNiAhPT0gMCkgeyAKICAkRVJST1IoJyMxOTY6IDggPj4+IDYgPT09IDAuIEFjdHVhbDogJyArICg4ID4+PiA2KSk7IAp9IAoKCmlmICgxNiA+Pj4gNiAhPT0gMCkgeyAKICAkRVJST1IoJyMxOTc6IDE2ID4+PiA2ID09PSAwLiBBY3R1YWw6ICcgKyAoMTYgPj4+IDYpKTsgCn0gCgoKaWYgKDMyID4+PiA2ICE9PSAwKSB7IAogICRFUlJPUignIzE5ODogMzIgPj4+IDYgPT09IDAuIEFjdHVhbDogJyArICgzMiA+Pj4gNikpOyAKfSAKCgppZiAoNjQgPj4+IDYgIT09IDEpIHsgCiAgJEVSUk9SKCcjMTk5OiA2NCA+Pj4gNiA9PT0gMS4gQWN0dWFsOiAnICsgKDY0ID4+PiA2KSk7IAp9IAoKCmlmICgxMjggPj4+IDYgIT09IDIpIHsgCiAgJEVSUk9SKCcjMjAwOiAxMjggPj4+IDYgPT09IDIuIEFjdHVhbDogJyArICgxMjggPj4+IDYpKTsgCn0gCgoKaWYgKDI1NiA+Pj4gNiAhPT0gNCkgeyAKICAkRVJST1IoJyMyMDE6IDI1NiA+Pj4gNiA9PT0gNC4gQWN0dWFsOiAnICsgKDI1NiA+Pj4gNikpOyAKfSAKCgppZiAoNTEyID4+PiA2ICE9PSA4KSB7IAogICRFUlJPUignIzIwMjogNTEyID4+PiA2ID09PSA4LiBBY3R1YWw6ICcgKyAoNTEyID4+PiA2KSk7IAp9IAoKCmlmICgxMDI0ID4+PiA2ICE9PSAxNikgeyAKICAkRVJST1IoJyMyMDM6IDEwMjQgPj4+IDYgPT09IDE2LiBBY3R1YWw6ICcgKyAoMTAyNCA+Pj4gNikpOyAKfSAKCgppZiAoMjA0OCA+Pj4gNiAhPT0gMzIpIHsgCiAgJEVSUk9SKCcjMjA0OiAyMDQ4ID4+PiA2ID09PSAzMi4gQWN0dWFsOiAnICsgKDIwNDggPj4+IDYpKTsgCn0gCgoKaWYgKDQwOTYgPj4+IDYgIT09IDY0KSB7IAogICRFUlJPUignIzIwNTogNDA5NiA+Pj4gNiA9PT0gNjQuIEFjdHVhbDogJyArICg0MDk2ID4+PiA2KSk7IAp9IAoKCmlmICg4MTkyID4+PiA2ICE9PSAxMjgpIHsgCiAgJEVSUk9SKCcjMjA2OiA4MTkyID4+PiA2ID09PSAxMjguIEFjdHVhbDogJyArICg4MTkyID4+PiA2KSk7IAp9IAoKCmlmICgxNjM4NCA+Pj4gNiAhPT0gMjU2KSB7IAogICRFUlJPUignIzIwNzogMTYzODQgPj4+IDYgPT09IDI1Ni4gQWN0dWFsOiAnICsgKDE2Mzg0ID4+PiA2KSk7IAp9IAoKCmlmICgzMjc2OCA+Pj4gNiAhPT0gNTEyKSB7IAogICRFUlJPUignIzIwODogMzI3NjggPj4+IDYgPT09IDUxMi4gQWN0dWFsOiAnICsgKDMyNzY4ID4+PiA2KSk7IAp9IAoKCmlmICg2NTUzNiA+Pj4gNiAhPT0gMTAyNCkgeyAKICAkRVJST1IoJyMyMDk6IDY1NTM2ID4+PiA2ID09PSAxMDI0LiBBY3R1YWw6ICcgKyAoNjU1MzYgPj4+IDYpKTsgCn0gCgoKaWYgKDEzMTA3MiA+Pj4gNiAhPT0gMjA0OCkgeyAKICAkRVJST1IoJyMyMTA6IDEzMTA3MiA+Pj4gNiA9PT0gMjA0OC4gQWN0dWFsOiAnICsgKDEzMTA3MiA+Pj4gNikpOyAKfSAKCgppZiAoMjYyMTQ0ID4+PiA2ICE9PSA0MDk2KSB7IAogICRFUlJPUignIzIxMTogMjYyMTQ0ID4+PiA2ID09PSA0MDk2LiBBY3R1YWw6ICcgKyAoMjYyMTQ0ID4+PiA2KSk7IAp9IAoKCmlmICg1MjQyODggPj4+IDYgIT09IDgxOTIpIHsgCiAgJEVSUk9SKCcjMjEyOiA1MjQyODggPj4+IDYgPT09IDgxOTIuIEFjdHVhbDogJyArICg1MjQyODggPj4+IDYpKTsgCn0gCgoKaWYgKDEwNDg1NzYgPj4+IDYgIT09IDE2Mzg0KSB7IAogICRFUlJPUignIzIxMzogMTA0ODU3NiA+Pj4gNiA9PT0gMTYzODQuIEFjdHVhbDogJyArICgxMDQ4NTc2ID4+PiA2KSk7IAp9IAoKCmlmICgyMDk3MTUyID4+PiA2ICE9PSAzMjc2OCkgeyAKICAkRVJST1IoJyMyMTQ6IDIwOTcxNTIgPj4+IDYgPT09IDMyNzY4LiBBY3R1YWw6ICcgKyAoMjA5NzE1MiA+Pj4gNikpOyAKfSAKCgppZiAoNDE5NDMwNCA+Pj4gNiAhPT0gNjU1MzYpIHsgCiAgJEVSUk9SKCcjMjE1OiA0MTk0MzA0ID4+PiA2ID09PSA2NTUzNi4gQWN0dWFsOiAnICsgKDQxOTQzMDQgPj4+IDYpKTsgCn0gCgoKaWYgKDgzODg2MDggPj4+IDYgIT09IDEzMTA3MikgeyAKICAkRVJST1IoJyMyMTY6IDgzODg2MDggPj4+IDYgPT09IDEzMTA3Mi4gQWN0dWFsOiAnICsgKDgzODg2MDggPj4+IDYpKTsgCn0gCgoKaWYgKDE2Nzc3MjE2ID4+PiA2ICE9PSAyNjIxNDQpIHsgCiAgJEVSUk9SKCcjMjE3OiAxNjc3NzIxNiA+Pj4gNiA9PT0gMjYyMTQ0LiBBY3R1YWw6ICcgKyAoMTY3NzcyMTYgPj4+IDYpKTsgCn0gCgoKaWYgKDMzNTU0NDMyID4+PiA2ICE9PSA1MjQyODgpIHsgCiAgJEVSUk9SKCcjMjE4OiAzMzU1NDQzMiA+Pj4gNiA9PT0gNTI0Mjg4LiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzIgPj4+IDYpKTsgCn0gCgoKaWYgKDY3MTA4ODY0ID4+PiA2ICE9PSAxMDQ4NTc2KSB7IAogICRFUlJPUignIzIxOTogNjcxMDg4NjQgPj4+IDYgPT09IDEwNDg1NzYuIEFjdHVhbDogJyArICg2NzEwODg2NCA+Pj4gNikpOyAKfSAKCgppZiAoMTM0MjE3NzI4ID4+PiA2ICE9PSAyMDk3MTUyKSB7IAogICRFUlJPUignIzIyMDogMTM0MjE3NzI4ID4+PiA2ID09PSAyMDk3MTUyLiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI4ID4+PiA2KSk7IAp9IAoKCmlmICgyNjg0MzU0NTYgPj4+IDYgIT09IDQxOTQzMDQpIHsgCiAgJEVSUk9SKCcjMjIxOiAyNjg0MzU0NTYgPj4+IDYgPT09IDQxOTQzMDQuIEFjdHVhbDogJyArICgyNjg0MzU0NTYgPj4+IDYpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMiA+Pj4gNiAhPT0gODM4ODYwOCkgeyAKICAkRVJST1IoJyMyMjI6IDUzNjg3MDkxMiA+Pj4gNiA9PT0gODM4ODYwOC4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMiA+Pj4gNikpOyAKfSAKCgppZiAoMTA3Mzc0MTgyNCA+Pj4gNiAhPT0gMTY3NzcyMTYpIHsgCiAgJEVSUk9SKCcjMjIzOiAxMDczNzQxODI0ID4+PiA2ID09PSAxNjc3NzIxNi4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjQgPj4+IDYpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDggPj4+IDYgIT09IDMzNTU0NDMyKSB7IAogICRFUlJPUignIzIyNDogMjE0NzQ4MzY0OCA+Pj4gNiA9PT0gMzM1NTQ0MzIuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ4ID4+PiA2KSk7IAp9IAoKCmlmICgxID4+PiA3ICE9PSAwKSB7IAogICRFUlJPUignIzIyNTogMSA+Pj4gNyA9PT0gMC4gQWN0dWFsOiAnICsgKDEgPj4+IDcpKTsgCn0gCgoKaWYgKDIgPj4+IDcgIT09IDApIHsgCiAgJEVSUk9SKCcjMjI2OiAyID4+PiA3ID09PSAwLiBBY3R1YWw6ICcgKyAoMiA+Pj4gNykpOyAKfSAKCgppZiAoNCA+Pj4gNyAhPT0gMCkgeyAKICAkRVJST1IoJyMyMjc6IDQgPj4+IDcgPT09IDAuIEFjdHVhbDogJyArICg0ID4+PiA3KSk7IAp9IAoKCmlmICg4ID4+PiA3ICE9PSAwKSB7IAogICRFUlJPUignIzIyODogOCA+Pj4gNyA9PT0gMC4gQWN0dWFsOiAnICsgKDggPj4+IDcpKTsgCn0gCgoKaWYgKDE2ID4+PiA3ICE9PSAwKSB7IAogICRFUlJPUignIzIyOTogMTYgPj4+IDcgPT09IDAuIEFjdHVhbDogJyArICgxNiA+Pj4gNykpOyAKfSAKCgppZiAoMzIgPj4+IDcgIT09IDApIHsgCiAgJEVSUk9SKCcjMjMwOiAzMiA+Pj4gNyA9PT0gMC4gQWN0dWFsOiAnICsgKDMyID4+PiA3KSk7IAp9IAoKCmlmICg2NCA+Pj4gNyAhPT0gMCkgeyAKICAkRVJST1IoJyMyMzE6IDY0ID4+PiA3ID09PSAwLiBBY3R1YWw6ICcgKyAoNjQgPj4+IDcpKTsgCn0gCgoKaWYgKDEyOCA+Pj4gNyAhPT0gMSkgeyAKICAkRVJST1IoJyMyMzI6IDEyOCA+Pj4gNyA9PT0gMS4gQWN0dWFsOiAnICsgKDEyOCA+Pj4gNykpOyAKfSAKCgppZiAoMjU2ID4+PiA3ICE9PSAyKSB7IAogICRFUlJPUignIzIzMzogMjU2ID4+PiA3ID09PSAyLiBBY3R1YWw6ICcgKyAoMjU2ID4+PiA3KSk7IAp9IAoKCmlmICg1MTIgPj4+IDcgIT09IDQpIHsgCiAgJEVSUk9SKCcjMjM0OiA1MTIgPj4+IDcgPT09IDQuIEFjdHVhbDogJyArICg1MTIgPj4+IDcpKTsgCn0gCgoKaWYgKDEwMjQgPj4+IDcgIT09IDgpIHsgCiAgJEVSUk9SKCcjMjM1OiAxMDI0ID4+PiA3ID09PSA4LiBBY3R1YWw6ICcgKyAoMTAyNCA+Pj4gNykpOyAKfSAKCgppZiAoMjA0OCA+Pj4gNyAhPT0gMTYpIHsgCiAgJEVSUk9SKCcjMjM2OiAyMDQ4ID4+PiA3ID09PSAxNi4gQWN0dWFsOiAnICsgKDIwNDggPj4+IDcpKTsgCn0gCgoKaWYgKDQwOTYgPj4+IDcgIT09IDMyKSB7IAogICRFUlJPUignIzIzNzogNDA5NiA+Pj4gNyA9PT0gMzIuIEFjdHVhbDogJyArICg0MDk2ID4+PiA3KSk7IAp9IAoKCmlmICg4MTkyID4+PiA3ICE9PSA2NCkgeyAKICAkRVJST1IoJyMyMzg6IDgxOTIgPj4+IDcgPT09IDY0LiBBY3R1YWw6ICcgKyAoODE5MiA+Pj4gNykpOyAKfSAKCgppZiAoMTYzODQgPj4+IDcgIT09IDEyOCkgeyAKICAkRVJST1IoJyMyMzk6IDE2Mzg0ID4+PiA3ID09PSAxMjguIEFjdHVhbDogJyArICgxNjM4NCA+Pj4gNykpOyAKfSAKCgppZiAoMzI3NjggPj4+IDcgIT09IDI1NikgeyAKICAkRVJST1IoJyMyNDA6IDMyNzY4ID4+PiA3ID09PSAyNTYuIEFjdHVhbDogJyArICgzMjc2OCA+Pj4gNykpOyAKfSAKCgppZiAoNjU1MzYgPj4+IDcgIT09IDUxMikgeyAKICAkRVJST1IoJyMyNDE6IDY1NTM2ID4+PiA3ID09PSA1MTIuIEFjdHVhbDogJyArICg2NTUzNiA+Pj4gNykpOyAKfSAKCgppZiAoMTMxMDcyID4+PiA3ICE9PSAxMDI0KSB7IAogICRFUlJPUignIzI0MjogMTMxMDcyID4+PiA3ID09PSAxMDI0LiBBY3R1YWw6ICcgKyAoMTMxMDcyID4+PiA3KSk7IAp9IAoKCmlmICgyNjIxNDQgPj4+IDcgIT09IDIwNDgpIHsgCiAgJEVSUk9SKCcjMjQzOiAyNjIxNDQgPj4+IDcgPT09IDIwNDguIEFjdHVhbDogJyArICgyNjIxNDQgPj4+IDcpKTsgCn0gCgoKaWYgKDUyNDI4OCA+Pj4gNyAhPT0gNDA5NikgeyAKICAkRVJST1IoJyMyNDQ6IDUyNDI4OCA+Pj4gNyA9PT0gNDA5Ni4gQWN0dWFsOiAnICsgKDUyNDI4OCA+Pj4gNykpOyAKfSAKCgppZiAoMTA0ODU3NiA+Pj4gNyAhPT0gODE5MikgeyAKICAkRVJST1IoJyMyNDU6IDEwNDg1NzYgPj4+IDcgPT09IDgxOTIuIEFjdHVhbDogJyArICgxMDQ4NTc2ID4+PiA3KSk7IAp9IAoKCmlmICgyMDk3MTUyID4+PiA3ICE9PSAxNjM4NCkgeyAKICAkRVJST1IoJyMyNDY6IDIwOTcxNTIgPj4+IDcgPT09IDE2Mzg0LiBBY3R1YWw6ICcgKyAoMjA5NzE1MiA+Pj4gNykpOyAKfSAKCgppZiAoNDE5NDMwNCA+Pj4gNyAhPT0gMzI3NjgpIHsgCiAgJEVSUk9SKCcjMjQ3OiA0MTk0MzA0ID4+PiA3ID09PSAzMjc2OC4gQWN0dWFsOiAnICsgKDQxOTQzMDQgPj4+IDcpKTsgCn0gCgoKaWYgKDgzODg2MDggPj4+IDcgIT09IDY1NTM2KSB7IAogICRFUlJPUignIzI0ODogODM4ODYwOCA+Pj4gNyA9PT0gNjU1MzYuIEFjdHVhbDogJyArICg4Mzg4NjA4ID4+PiA3KSk7IAp9IAoKCmlmICgxNjc3NzIxNiA+Pj4gNyAhPT0gMTMxMDcyKSB7IAogICRFUlJPUignIzI0OTogMTY3NzcyMTYgPj4+IDcgPT09IDEzMTA3Mi4gQWN0dWFsOiAnICsgKDE2Nzc3MjE2ID4+PiA3KSk7IAp9IAoKCmlmICgzMzU1NDQzMiA+Pj4gNyAhPT0gMjYyMTQ0KSB7IAogICRFUlJPUignIzI1MDogMzM1NTQ0MzIgPj4+IDcgPT09IDI2MjE0NC4gQWN0dWFsOiAnICsgKDMzNTU0NDMyID4+PiA3KSk7IAp9IAoKCmlmICg2NzEwODg2NCA+Pj4gNyAhPT0gNTI0Mjg4KSB7IAogICRFUlJPUignIzI1MTogNjcxMDg4NjQgPj4+IDcgPT09IDUyNDI4OC4gQWN0dWFsOiAnICsgKDY3MTA4ODY0ID4+PiA3KSk7IAp9IAoKCmlmICgxMzQyMTc3MjggPj4+IDcgIT09IDEwNDg1NzYpIHsgCiAgJEVSUk9SKCcjMjUyOiAxMzQyMTc3MjggPj4+IDcgPT09IDEwNDg1NzYuIEFjdHVhbDogJyArICgxMzQyMTc3MjggPj4+IDcpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NiA+Pj4gNyAhPT0gMjA5NzE1MikgeyAKICAkRVJST1IoJyMyNTM6IDI2ODQzNTQ1NiA+Pj4gNyA9PT0gMjA5NzE1Mi4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NiA+Pj4gNykpOyAKfSAKCgppZiAoNTM2ODcwOTEyID4+PiA3ICE9PSA0MTk0MzA0KSB7IAogICRFUlJPUignIzI1NDogNTM2ODcwOTEyID4+PiA3ID09PSA0MTk0MzA0LiBBY3R1YWw6ICcgKyAoNTM2ODcwOTEyID4+PiA3KSk7IAp9IAoKCmlmICgxMDczNzQxODI0ID4+PiA3ICE9PSA4Mzg4NjA4KSB7IAogICRFUlJPUignIzI1NTogMTA3Mzc0MTgyNCA+Pj4gNyA9PT0gODM4ODYwOC4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjQgPj4+IDcpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDggPj4+IDcgIT09IDE2Nzc3MjE2KSB7IAogICRFUlJPUignIzI1NjogMjE0NzQ4MzY0OCA+Pj4gNyA9PT0gMTY3NzcyMTYuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ4ID4+PiA3KSk7IAp9IAoKCmlmICgxID4+PiA4ICE9PSAwKSB7IAogICRFUlJPUignIzI1NzogMSA+Pj4gOCA9PT0gMC4gQWN0dWFsOiAnICsgKDEgPj4+IDgpKTsgCn0gCgoKaWYgKDIgPj4+IDggIT09IDApIHsgCiAgJEVSUk9SKCcjMjU4OiAyID4+PiA4ID09PSAwLiBBY3R1YWw6ICcgKyAoMiA+Pj4gOCkpOyAKfSAKCgppZiAoNCA+Pj4gOCAhPT0gMCkgeyAKICAkRVJST1IoJyMyNTk6IDQgPj4+IDggPT09IDAuIEFjdHVhbDogJyArICg0ID4+PiA4KSk7IAp9IAoKCmlmICg4ID4+PiA4ICE9PSAwKSB7IAogICRFUlJPUignIzI2MDogOCA+Pj4gOCA9PT0gMC4gQWN0dWFsOiAnICsgKDggPj4+IDgpKTsgCn0gCgoKaWYgKDE2ID4+PiA4ICE9PSAwKSB7IAogICRFUlJPUignIzI2MTogMTYgPj4+IDggPT09IDAuIEFjdHVhbDogJyArICgxNiA+Pj4gOCkpOyAKfSAKCgppZiAoMzIgPj4+IDggIT09IDApIHsgCiAgJEVSUk9SKCcjMjYyOiAzMiA+Pj4gOCA9PT0gMC4gQWN0dWFsOiAnICsgKDMyID4+PiA4KSk7IAp9IAoKCmlmICg2NCA+Pj4gOCAhPT0gMCkgeyAKICAkRVJST1IoJyMyNjM6IDY0ID4+PiA4ID09PSAwLiBBY3R1YWw6ICcgKyAoNjQgPj4+IDgpKTsgCn0gCgoKaWYgKDEyOCA+Pj4gOCAhPT0gMCkgeyAKICAkRVJST1IoJyMyNjQ6IDEyOCA+Pj4gOCA9PT0gMC4gQWN0dWFsOiAnICsgKDEyOCA+Pj4gOCkpOyAKfSAKCgppZiAoMjU2ID4+PiA4ICE9PSAxKSB7IAogICRFUlJPUignIzI2NTogMjU2ID4+PiA4ID09PSAxLiBBY3R1YWw6ICcgKyAoMjU2ID4+PiA4KSk7IAp9IAoKCmlmICg1MTIgPj4+IDggIT09IDIpIHsgCiAgJEVSUk9SKCcjMjY2OiA1MTIgPj4+IDggPT09IDIuIEFjdHVhbDogJyArICg1MTIgPj4+IDgpKTsgCn0gCgoKaWYgKDEwMjQgPj4+IDggIT09IDQpIHsgCiAgJEVSUk9SKCcjMjY3OiAxMDI0ID4+PiA4ID09PSA0LiBBY3R1YWw6ICcgKyAoMTAyNCA+Pj4gOCkpOyAKfSAKCgppZiAoMjA0OCA+Pj4gOCAhPT0gOCkgeyAKICAkRVJST1IoJyMyNjg6IDIwNDggPj4+IDggPT09IDguIEFjdHVhbDogJyArICgyMDQ4ID4+PiA4KSk7IAp9IAoKCmlmICg0MDk2ID4+PiA4ICE9PSAxNikgeyAKICAkRVJST1IoJyMyNjk6IDQwOTYgPj4+IDggPT09IDE2LiBBY3R1YWw6ICcgKyAoNDA5NiA+Pj4gOCkpOyAKfSAKCgppZiAoODE5MiA+Pj4gOCAhPT0gMzIpIHsgCiAgJEVSUk9SKCcjMjcwOiA4MTkyID4+PiA4ID09PSAzMi4gQWN0dWFsOiAnICsgKDgxOTIgPj4+IDgpKTsgCn0gCgoKaWYgKDE2Mzg0ID4+PiA4ICE9PSA2NCkgeyAKICAkRVJST1IoJyMyNzE6IDE2Mzg0ID4+PiA4ID09PSA2NC4gQWN0dWFsOiAnICsgKDE2Mzg0ID4+PiA4KSk7IAp9IAoKCmlmICgzMjc2OCA+Pj4gOCAhPT0gMTI4KSB7IAogICRFUlJPUignIzI3MjogMzI3NjggPj4+IDggPT09IDEyOC4gQWN0dWFsOiAnICsgKDMyNzY4ID4+PiA4KSk7IAp9IAoKCmlmICg2NTUzNiA+Pj4gOCAhPT0gMjU2KSB7IAogICRFUlJPUignIzI3MzogNjU1MzYgPj4+IDggPT09IDI1Ni4gQWN0dWFsOiAnICsgKDY1NTM2ID4+PiA4KSk7IAp9IAoKCmlmICgxMzEwNzIgPj4+IDggIT09IDUxMikgeyAKICAkRVJST1IoJyMyNzQ6IDEzMTA3MiA+Pj4gOCA9PT0gNTEyLiBBY3R1YWw6ICcgKyAoMTMxMDcyID4+PiA4KSk7IAp9IAoKCmlmICgyNjIxNDQgPj4+IDggIT09IDEwMjQpIHsgCiAgJEVSUk9SKCcjMjc1OiAyNjIxNDQgPj4+IDggPT09IDEwMjQuIEFjdHVhbDogJyArICgyNjIxNDQgPj4+IDgpKTsgCn0gCgoKaWYgKDUyNDI4OCA+Pj4gOCAhPT0gMjA0OCkgeyAKICAkRVJST1IoJyMyNzY6IDUyNDI4OCA+Pj4gOCA9PT0gMjA0OC4gQWN0dWFsOiAnICsgKDUyNDI4OCA+Pj4gOCkpOyAKfSAKCgppZiAoMTA0ODU3NiA+Pj4gOCAhPT0gNDA5NikgeyAKICAkRVJST1IoJyMyNzc6IDEwNDg1NzYgPj4+IDggPT09IDQwOTYuIEFjdHVhbDogJyArICgxMDQ4NTc2ID4+PiA4KSk7IAp9IAoKCmlmICgyMDk3MTUyID4+PiA4ICE9PSA4MTkyKSB7IAogICRFUlJPUignIzI3ODogMjA5NzE1MiA+Pj4gOCA9PT0gODE5Mi4gQWN0dWFsOiAnICsgKDIwOTcxNTIgPj4+IDgpKTsgCn0gCgoKaWYgKDQxOTQzMDQgPj4+IDggIT09IDE2Mzg0KSB7IAogICRFUlJPUignIzI3OTogNDE5NDMwNCA+Pj4gOCA9PT0gMTYzODQuIEFjdHVhbDogJyArICg0MTk0MzA0ID4+PiA4KSk7IAp9IAoKCmlmICg4Mzg4NjA4ID4+PiA4ICE9PSAzMjc2OCkgeyAKICAkRVJST1IoJyMyODA6IDgzODg2MDggPj4+IDggPT09IDMyNzY4LiBBY3R1YWw6ICcgKyAoODM4ODYwOCA+Pj4gOCkpOyAKfSAKCgppZiAoMTY3NzcyMTYgPj4+IDggIT09IDY1NTM2KSB7IAogICRFUlJPUignIzI4MTogMTY3NzcyMTYgPj4+IDggPT09IDY1NTM2LiBBY3R1YWw6ICcgKyAoMTY3NzcyMTYgPj4+IDgpKTsgCn0gCgoKaWYgKDMzNTU0NDMyID4+PiA4ICE9PSAxMzEwNzIpIHsgCiAgJEVSUk9SKCcjMjgyOiAzMzU1NDQzMiA+Pj4gOCA9PT0gMTMxMDcyLiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzIgPj4+IDgpKTsgCn0gCgoKaWYgKDY3MTA4ODY0ID4+PiA4ICE9PSAyNjIxNDQpIHsgCiAgJEVSUk9SKCcjMjgzOiA2NzEwODg2NCA+Pj4gOCA9PT0gMjYyMTQ0LiBBY3R1YWw6ICcgKyAoNjcxMDg4NjQgPj4+IDgpKTsgCn0gCgoKaWYgKDEzNDIxNzcyOCA+Pj4gOCAhPT0gNTI0Mjg4KSB7IAogICRFUlJPUignIzI4NDogMTM0MjE3NzI4ID4+PiA4ID09PSA1MjQyODguIEFjdHVhbDogJyArICgxMzQyMTc3MjggPj4+IDgpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NiA+Pj4gOCAhPT0gMTA0ODU3NikgeyAKICAkRVJST1IoJyMyODU6IDI2ODQzNTQ1NiA+Pj4gOCA9PT0gMTA0ODU3Ni4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NiA+Pj4gOCkpOyAKfSAKCgppZiAoNTM2ODcwOTEyID4+PiA4ICE9PSAyMDk3MTUyKSB7IAogICRFUlJPUignIzI4NjogNTM2ODcwOTEyID4+PiA4ID09PSAyMDk3MTUyLiBBY3R1YWw6ICcgKyAoNTM2ODcwOTEyID4+PiA4KSk7IAp9IAoKCmlmICgxMDczNzQxODI0ID4+PiA4ICE9PSA0MTk0MzA0KSB7IAogICRFUlJPUignIzI4NzogMTA3Mzc0MTgyNCA+Pj4gOCA9PT0gNDE5NDMwNC4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjQgPj4+IDgpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDggPj4+IDggIT09IDgzODg2MDgpIHsgCiAgJEVSUk9SKCcjMjg4OiAyMTQ3NDgzNjQ4ID4+PiA4ID09PSA4Mzg4NjA4LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0OCA+Pj4gOCkpOyAKfSAKCgppZiAoMSA+Pj4gOSAhPT0gMCkgeyAKICAkRVJST1IoJyMyODk6IDEgPj4+IDkgPT09IDAuIEFjdHVhbDogJyArICgxID4+PiA5KSk7IAp9IAoKCmlmICgyID4+PiA5ICE9PSAwKSB7IAogICRFUlJPUignIzI5MDogMiA+Pj4gOSA9PT0gMC4gQWN0dWFsOiAnICsgKDIgPj4+IDkpKTsgCn0gCgoKaWYgKDQgPj4+IDkgIT09IDApIHsgCiAgJEVSUk9SKCcjMjkxOiA0ID4+PiA5ID09PSAwLiBBY3R1YWw6ICcgKyAoNCA+Pj4gOSkpOyAKfSAKCgppZiAoOCA+Pj4gOSAhPT0gMCkgeyAKICAkRVJST1IoJyMyOTI6IDggPj4+IDkgPT09IDAuIEFjdHVhbDogJyArICg4ID4+PiA5KSk7IAp9IAoKCmlmICgxNiA+Pj4gOSAhPT0gMCkgeyAKICAkRVJST1IoJyMyOTM6IDE2ID4+PiA5ID09PSAwLiBBY3R1YWw6ICcgKyAoMTYgPj4+IDkpKTsgCn0gCgoKaWYgKDMyID4+PiA5ICE9PSAwKSB7IAogICRFUlJPUignIzI5NDogMzIgPj4+IDkgPT09IDAuIEFjdHVhbDogJyArICgzMiA+Pj4gOSkpOyAKfSAKCgppZiAoNjQgPj4+IDkgIT09IDApIHsgCiAgJEVSUk9SKCcjMjk1OiA2NCA+Pj4gOSA9PT0gMC4gQWN0dWFsOiAnICsgKDY0ID4+PiA5KSk7IAp9IAoKCmlmICgxMjggPj4+IDkgIT09IDApIHsgCiAgJEVSUk9SKCcjMjk2OiAxMjggPj4+IDkgPT09IDAuIEFjdHVhbDogJyArICgxMjggPj4+IDkpKTsgCn0gCgoKaWYgKDI1NiA+Pj4gOSAhPT0gMCkgeyAKICAkRVJST1IoJyMyOTc6IDI1NiA+Pj4gOSA9PT0gMC4gQWN0dWFsOiAnICsgKDI1NiA+Pj4gOSkpOyAKfSAKCgppZiAoNTEyID4+PiA5ICE9PSAxKSB7IAogICRFUlJPUignIzI5ODogNTEyID4+PiA5ID09PSAxLiBBY3R1YWw6ICcgKyAoNTEyID4+PiA5KSk7IAp9IAoKCmlmICgxMDI0ID4+PiA5ICE9PSAyKSB7IAogICRFUlJPUignIzI5OTogMTAyNCA+Pj4gOSA9PT0gMi4gQWN0dWFsOiAnICsgKDEwMjQgPj4+IDkpKTsgCn0gCgoKaWYgKDIwNDggPj4+IDkgIT09IDQpIHsgCiAgJEVSUk9SKCcjMzAwOiAyMDQ4ID4+PiA5ID09PSA0LiBBY3R1YWw6ICcgKyAoMjA0OCA+Pj4gOSkpOyAKfSAKCgppZiAoNDA5NiA+Pj4gOSAhPT0gOCkgeyAKICAkRVJST1IoJyMzMDE6IDQwOTYgPj4+IDkgPT09IDguIEFjdHVhbDogJyArICg0MDk2ID4+PiA5KSk7IAp9IAoKCmlmICg4MTkyID4+PiA5ICE9PSAxNikgeyAKICAkRVJST1IoJyMzMDI6IDgxOTIgPj4+IDkgPT09IDE2LiBBY3R1YWw6ICcgKyAoODE5MiA+Pj4gOSkpOyAKfSAKCgppZiAoMTYzODQgPj4+IDkgIT09IDMyKSB7IAogICRFUlJPUignIzMwMzogMTYzODQgPj4+IDkgPT09IDMyLiBBY3R1YWw6ICcgKyAoMTYzODQgPj4+IDkpKTsgCn0gCgoKaWYgKDMyNzY4ID4+PiA5ICE9PSA2NCkgeyAKICAkRVJST1IoJyMzMDQ6IDMyNzY4ID4+PiA5ID09PSA2NC4gQWN0dWFsOiAnICsgKDMyNzY4ID4+PiA5KSk7IAp9IAoKCmlmICg2NTUzNiA+Pj4gOSAhPT0gMTI4KSB7IAogICRFUlJPUignIzMwNTogNjU1MzYgPj4+IDkgPT09IDEyOC4gQWN0dWFsOiAnICsgKDY1NTM2ID4+PiA5KSk7IAp9IAoKCmlmICgxMzEwNzIgPj4+IDkgIT09IDI1NikgeyAKICAkRVJST1IoJyMzMDY6IDEzMTA3MiA+Pj4gOSA9PT0gMjU2LiBBY3R1YWw6ICcgKyAoMTMxMDcyID4+PiA5KSk7IAp9IAoKCmlmICgyNjIxNDQgPj4+IDkgIT09IDUxMikgeyAKICAkRVJST1IoJyMzMDc6IDI2MjE0NCA+Pj4gOSA9PT0gNTEyLiBBY3R1YWw6ICcgKyAoMjYyMTQ0ID4+PiA5KSk7IAp9IAoKCmlmICg1MjQyODggPj4+IDkgIT09IDEwMjQpIHsgCiAgJEVSUk9SKCcjMzA4OiA1MjQyODggPj4+IDkgPT09IDEwMjQuIEFjdHVhbDogJyArICg1MjQyODggPj4+IDkpKTsgCn0gCgoKaWYgKDEwNDg1NzYgPj4+IDkgIT09IDIwNDgpIHsgCiAgJEVSUk9SKCcjMzA5OiAxMDQ4NTc2ID4+PiA5ID09PSAyMDQ4LiBBY3R1YWw6ICcgKyAoMTA0ODU3NiA+Pj4gOSkpOyAKfSAKCgppZiAoMjA5NzE1MiA+Pj4gOSAhPT0gNDA5NikgeyAKICAkRVJST1IoJyMzMTA6IDIwOTcxNTIgPj4+IDkgPT09IDQwOTYuIEFjdHVhbDogJyArICgyMDk3MTUyID4+PiA5KSk7IAp9IAoKCmlmICg0MTk0MzA0ID4+PiA5ICE9PSA4MTkyKSB7IAogICRFUlJPUignIzMxMTogNDE5NDMwNCA+Pj4gOSA9PT0gODE5Mi4gQWN0dWFsOiAnICsgKDQxOTQzMDQgPj4+IDkpKTsgCn0gCgoKaWYgKDgzODg2MDggPj4+IDkgIT09IDE2Mzg0KSB7IAogICRFUlJPUignIzMxMjogODM4ODYwOCA+Pj4gOSA9PT0gMTYzODQuIEFjdHVhbDogJyArICg4Mzg4NjA4ID4+PiA5KSk7IAp9IAoKCmlmICgxNjc3NzIxNiA+Pj4gOSAhPT0gMzI3NjgpIHsgCiAgJEVSUk9SKCcjMzEzOiAxNjc3NzIxNiA+Pj4gOSA9PT0gMzI3NjguIEFjdHVhbDogJyArICgxNjc3NzIxNiA+Pj4gOSkpOyAKfSAKCgppZiAoMzM1NTQ0MzIgPj4+IDkgIT09IDY1NTM2KSB7IAogICRFUlJPUignIzMxNDogMzM1NTQ0MzIgPj4+IDkgPT09IDY1NTM2LiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzIgPj4+IDkpKTsgCn0gCgoKaWYgKDY3MTA4ODY0ID4+PiA5ICE9PSAxMzEwNzIpIHsgCiAgJEVSUk9SKCcjMzE1OiA2NzEwODg2NCA+Pj4gOSA9PT0gMTMxMDcyLiBBY3R1YWw6ICcgKyAoNjcxMDg4NjQgPj4+IDkpKTsgCn0gCgoKaWYgKDEzNDIxNzcyOCA+Pj4gOSAhPT0gMjYyMTQ0KSB7IAogICRFUlJPUignIzMxNjogMTM0MjE3NzI4ID4+PiA5ID09PSAyNjIxNDQuIEFjdHVhbDogJyArICgxMzQyMTc3MjggPj4+IDkpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NiA+Pj4gOSAhPT0gNTI0Mjg4KSB7IAogICRFUlJPUignIzMxNzogMjY4NDM1NDU2ID4+PiA5ID09PSA1MjQyODguIEFjdHVhbDogJyArICgyNjg0MzU0NTYgPj4+IDkpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMiA+Pj4gOSAhPT0gMTA0ODU3NikgeyAKICAkRVJST1IoJyMzMTg6IDUzNjg3MDkxMiA+Pj4gOSA9PT0gMTA0ODU3Ni4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMiA+Pj4gOSkpOyAKfSAKCgppZiAoMTA3Mzc0MTgyNCA+Pj4gOSAhPT0gMjA5NzE1MikgeyAKICAkRVJST1IoJyMzMTk6IDEwNzM3NDE4MjQgPj4+IDkgPT09IDIwOTcxNTIuIEFjdHVhbDogJyArICgxMDczNzQxODI0ID4+PiA5KSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ4ID4+PiA5ICE9PSA0MTk0MzA0KSB7IAogICRFUlJPUignIzMyMDogMjE0NzQ4MzY0OCA+Pj4gOSA9PT0gNDE5NDMwNC4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDggPj4+IDkpKTsgCn0gCgoKaWYgKDEgPj4+IDEwICE9PSAwKSB7IAogICRFUlJPUignIzMyMTogMSA+Pj4gMTAgPT09IDAuIEFjdHVhbDogJyArICgxID4+PiAxMCkpOyAKfSAKCgppZiAoMiA+Pj4gMTAgIT09IDApIHsgCiAgJEVSUk9SKCcjMzIyOiAyID4+PiAxMCA9PT0gMC4gQWN0dWFsOiAnICsgKDIgPj4+IDEwKSk7IAp9IAoKCmlmICg0ID4+PiAxMCAhPT0gMCkgeyAKICAkRVJST1IoJyMzMjM6IDQgPj4+IDEwID09PSAwLiBBY3R1YWw6ICcgKyAoNCA+Pj4gMTApKTsgCn0gCgoKaWYgKDggPj4+IDEwICE9PSAwKSB7IAogICRFUlJPUignIzMyNDogOCA+Pj4gMTAgPT09IDAuIEFjdHVhbDogJyArICg4ID4+PiAxMCkpOyAKfSAKCgppZiAoMTYgPj4+IDEwICE9PSAwKSB7IAogICRFUlJPUignIzMyNTogMTYgPj4+IDEwID09PSAwLiBBY3R1YWw6ICcgKyAoMTYgPj4+IDEwKSk7IAp9IAoKCmlmICgzMiA+Pj4gMTAgIT09IDApIHsgCiAgJEVSUk9SKCcjMzI2OiAzMiA+Pj4gMTAgPT09IDAuIEFjdHVhbDogJyArICgzMiA+Pj4gMTApKTsgCn0gCgoKaWYgKDY0ID4+PiAxMCAhPT0gMCkgeyAKICAkRVJST1IoJyMzMjc6IDY0ID4+PiAxMCA9PT0gMC4gQWN0dWFsOiAnICsgKDY0ID4+PiAxMCkpOyAKfSAKCgppZiAoMTI4ID4+PiAxMCAhPT0gMCkgeyAKICAkRVJST1IoJyMzMjg6IDEyOCA+Pj4gMTAgPT09IDAuIEFjdHVhbDogJyArICgxMjggPj4+IDEwKSk7IAp9IAoKCmlmICgyNTYgPj4+IDEwICE9PSAwKSB7IAogICRFUlJPUignIzMyOTogMjU2ID4+PiAxMCA9PT0gMC4gQWN0dWFsOiAnICsgKDI1NiA+Pj4gMTApKTsgCn0gCgoKaWYgKDUxMiA+Pj4gMTAgIT09IDApIHsgCiAgJEVSUk9SKCcjMzMwOiA1MTIgPj4+IDEwID09PSAwLiBBY3R1YWw6ICcgKyAoNTEyID4+PiAxMCkpOyAKfSAKCgppZiAoMTAyNCA+Pj4gMTAgIT09IDEpIHsgCiAgJEVSUk9SKCcjMzMxOiAxMDI0ID4+PiAxMCA9PT0gMS4gQWN0dWFsOiAnICsgKDEwMjQgPj4+IDEwKSk7IAp9IAoKCmlmICgyMDQ4ID4+PiAxMCAhPT0gMikgeyAKICAkRVJST1IoJyMzMzI6IDIwNDggPj4+IDEwID09PSAyLiBBY3R1YWw6ICcgKyAoMjA0OCA+Pj4gMTApKTsgCn0gCgoKaWYgKDQwOTYgPj4+IDEwICE9PSA0KSB7IAogICRFUlJPUignIzMzMzogNDA5NiA+Pj4gMTAgPT09IDQuIEFjdHVhbDogJyArICg0MDk2ID4+PiAxMCkpOyAKfSAKCgppZiAoODE5MiA+Pj4gMTAgIT09IDgpIHsgCiAgJEVSUk9SKCcjMzM0OiA4MTkyID4+PiAxMCA9PT0gOC4gQWN0dWFsOiAnICsgKDgxOTIgPj4+IDEwKSk7IAp9IAoKCmlmICgxNjM4NCA+Pj4gMTAgIT09IDE2KSB7IAogICRFUlJPUignIzMzNTogMTYzODQgPj4+IDEwID09PSAxNi4gQWN0dWFsOiAnICsgKDE2Mzg0ID4+PiAxMCkpOyAKfSAKCgppZiAoMzI3NjggPj4+IDEwICE9PSAzMikgeyAKICAkRVJST1IoJyMzMzY6IDMyNzY4ID4+PiAxMCA9PT0gMzIuIEFjdHVhbDogJyArICgzMjc2OCA+Pj4gMTApKTsgCn0gCgoKaWYgKDY1NTM2ID4+PiAxMCAhPT0gNjQpIHsgCiAgJEVSUk9SKCcjMzM3OiA2NTUzNiA+Pj4gMTAgPT09IDY0LiBBY3R1YWw6ICcgKyAoNjU1MzYgPj4+IDEwKSk7IAp9IAoKCmlmICgxMzEwNzIgPj4+IDEwICE9PSAxMjgpIHsgCiAgJEVSUk9SKCcjMzM4OiAxMzEwNzIgPj4+IDEwID09PSAxMjguIEFjdHVhbDogJyArICgxMzEwNzIgPj4+IDEwKSk7IAp9IAoKCmlmICgyNjIxNDQgPj4+IDEwICE9PSAyNTYpIHsgCiAgJEVSUk9SKCcjMzM5OiAyNjIxNDQgPj4+IDEwID09PSAyNTYuIEFjdHVhbDogJyArICgyNjIxNDQgPj4+IDEwKSk7IAp9IAoKCmlmICg1MjQyODggPj4+IDEwICE9PSA1MTIpIHsgCiAgJEVSUk9SKCcjMzQwOiA1MjQyODggPj4+IDEwID09PSA1MTIuIEFjdHVhbDogJyArICg1MjQyODggPj4+IDEwKSk7IAp9IAoKCmlmICgxMDQ4NTc2ID4+PiAxMCAhPT0gMTAyNCkgeyAKICAkRVJST1IoJyMzNDE6IDEwNDg1NzYgPj4+IDEwID09PSAxMDI0LiBBY3R1YWw6ICcgKyAoMTA0ODU3NiA+Pj4gMTApKTsgCn0gCgoKaWYgKDIwOTcxNTIgPj4+IDEwICE9PSAyMDQ4KSB7IAogICRFUlJPUignIzM0MjogMjA5NzE1MiA+Pj4gMTAgPT09IDIwNDguIEFjdHVhbDogJyArICgyMDk3MTUyID4+PiAxMCkpOyAKfSAKCgppZiAoNDE5NDMwNCA+Pj4gMTAgIT09IDQwOTYpIHsgCiAgJEVSUk9SKCcjMzQzOiA0MTk0MzA0ID4+PiAxMCA9PT0gNDA5Ni4gQWN0dWFsOiAnICsgKDQxOTQzMDQgPj4+IDEwKSk7IAp9IAoKCmlmICg4Mzg4NjA4ID4+PiAxMCAhPT0gODE5MikgeyAKICAkRVJST1IoJyMzNDQ6IDgzODg2MDggPj4+IDEwID09PSA4MTkyLiBBY3R1YWw6ICcgKyAoODM4ODYwOCA+Pj4gMTApKTsgCn0gCgoKaWYgKDE2Nzc3MjE2ID4+PiAxMCAhPT0gMTYzODQpIHsgCiAgJEVSUk9SKCcjMzQ1OiAxNjc3NzIxNiA+Pj4gMTAgPT09IDE2Mzg0LiBBY3R1YWw6ICcgKyAoMTY3NzcyMTYgPj4+IDEwKSk7IAp9IAoKCmlmICgzMzU1NDQzMiA+Pj4gMTAgIT09IDMyNzY4KSB7IAogICRFUlJPUignIzM0NjogMzM1NTQ0MzIgPj4+IDEwID09PSAzMjc2OC4gQWN0dWFsOiAnICsgKDMzNTU0NDMyID4+PiAxMCkpOyAKfSAKCgppZiAoNjcxMDg4NjQgPj4+IDEwICE9PSA2NTUzNikgeyAKICAkRVJST1IoJyMzNDc6IDY3MTA4ODY0ID4+PiAxMCA9PT0gNjU1MzYuIEFjdHVhbDogJyArICg2NzEwODg2NCA+Pj4gMTApKTsgCn0gCgoKaWYgKDEzNDIxNzcyOCA+Pj4gMTAgIT09IDEzMTA3MikgeyAKICAkRVJST1IoJyMzNDg6IDEzNDIxNzcyOCA+Pj4gMTAgPT09IDEzMTA3Mi4gQWN0dWFsOiAnICsgKDEzNDIxNzcyOCA+Pj4gMTApKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NiA+Pj4gMTAgIT09IDI2MjE0NCkgeyAKICAkRVJST1IoJyMzNDk6IDI2ODQzNTQ1NiA+Pj4gMTAgPT09IDI2MjE0NC4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NiA+Pj4gMTApKTsgCn0gCgoKaWYgKDUzNjg3MDkxMiA+Pj4gMTAgIT09IDUyNDI4OCkgeyAKICAkRVJST1IoJyMzNTA6IDUzNjg3MDkxMiA+Pj4gMTAgPT09IDUyNDI4OC4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMiA+Pj4gMTApKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjQgPj4+IDEwICE9PSAxMDQ4NTc2KSB7IAogICRFUlJPUignIzM1MTogMTA3Mzc0MTgyNCA+Pj4gMTAgPT09IDEwNDg1NzYuIEFjdHVhbDogJyArICgxMDczNzQxODI0ID4+PiAxMCkpOyAKfSAKCgppZiAoMjE0NzQ4MzY0OCA+Pj4gMTAgIT09IDIwOTcxNTIpIHsgCiAgJEVSUk9SKCcjMzUyOiAyMTQ3NDgzNjQ4ID4+PiAxMCA9PT0gMjA5NzE1Mi4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDggPj4+IDEwKSk7IAp9IAoKCmlmICgxID4+PiAxMSAhPT0gMCkgeyAKICAkRVJST1IoJyMzNTM6IDEgPj4+IDExID09PSAwLiBBY3R1YWw6ICcgKyAoMSA+Pj4gMTEpKTsgCn0gCgoKaWYgKDIgPj4+IDExICE9PSAwKSB7IAogICRFUlJPUignIzM1NDogMiA+Pj4gMTEgPT09IDAuIEFjdHVhbDogJyArICgyID4+PiAxMSkpOyAKfSAKCgppZiAoNCA+Pj4gMTEgIT09IDApIHsgCiAgJEVSUk9SKCcjMzU1OiA0ID4+PiAxMSA9PT0gMC4gQWN0dWFsOiAnICsgKDQgPj4+IDExKSk7IAp9IAoKCmlmICg4ID4+PiAxMSAhPT0gMCkgeyAKICAkRVJST1IoJyMzNTY6IDggPj4+IDExID09PSAwLiBBY3R1YWw6ICcgKyAoOCA+Pj4gMTEpKTsgCn0gCgoKaWYgKDE2ID4+PiAxMSAhPT0gMCkgeyAKICAkRVJST1IoJyMzNTc6IDE2ID4+PiAxMSA9PT0gMC4gQWN0dWFsOiAnICsgKDE2ID4+PiAxMSkpOyAKfSAKCgppZiAoMzIgPj4+IDExICE9PSAwKSB7IAogICRFUlJPUignIzM1ODogMzIgPj4+IDExID09PSAwLiBBY3R1YWw6ICcgKyAoMzIgPj4+IDExKSk7IAp9IAoKCmlmICg2NCA+Pj4gMTEgIT09IDApIHsgCiAgJEVSUk9SKCcjMzU5OiA2NCA+Pj4gMTEgPT09IDAuIEFjdHVhbDogJyArICg2NCA+Pj4gMTEpKTsgCn0gCgoKaWYgKDEyOCA+Pj4gMTEgIT09IDApIHsgCiAgJEVSUk9SKCcjMzYwOiAxMjggPj4+IDExID09PSAwLiBBY3R1YWw6ICcgKyAoMTI4ID4+PiAxMSkpOyAKfSAKCgppZiAoMjU2ID4+PiAxMSAhPT0gMCkgeyAKICAkRVJST1IoJyMzNjE6IDI1NiA+Pj4gMTEgPT09IDAuIEFjdHVhbDogJyArICgyNTYgPj4+IDExKSk7IAp9IAoKCmlmICg1MTIgPj4+IDExICE9PSAwKSB7IAogICRFUlJPUignIzM2MjogNTEyID4+PiAxMSA9PT0gMC4gQWN0dWFsOiAnICsgKDUxMiA+Pj4gMTEpKTsgCn0gCgoKaWYgKDEwMjQgPj4+IDExICE9PSAwKSB7IAogICRFUlJPUignIzM2MzogMTAyNCA+Pj4gMTEgPT09IDAuIEFjdHVhbDogJyArICgxMDI0ID4+PiAxMSkpOyAKfSAKCgppZiAoMjA0OCA+Pj4gMTEgIT09IDEpIHsgCiAgJEVSUk9SKCcjMzY0OiAyMDQ4ID4+PiAxMSA9PT0gMS4gQWN0dWFsOiAnICsgKDIwNDggPj4+IDExKSk7IAp9IAoKCmlmICg0MDk2ID4+PiAxMSAhPT0gMikgeyAKICAkRVJST1IoJyMzNjU6IDQwOTYgPj4+IDExID09PSAyLiBBY3R1YWw6ICcgKyAoNDA5NiA+Pj4gMTEpKTsgCn0gCgoKaWYgKDgxOTIgPj4+IDExICE9PSA0KSB7IAogICRFUlJPUignIzM2NjogODE5MiA+Pj4gMTEgPT09IDQuIEFjdHVhbDogJyArICg4MTkyID4+PiAxMSkpOyAKfSAKCgppZiAoMTYzODQgPj4+IDExICE9PSA4KSB7IAogICRFUlJPUignIzM2NzogMTYzODQgPj4+IDExID09PSA4LiBBY3R1YWw6ICcgKyAoMTYzODQgPj4+IDExKSk7IAp9IAoKCmlmICgzMjc2OCA+Pj4gMTEgIT09IDE2KSB7IAogICRFUlJPUignIzM2ODogMzI3NjggPj4+IDExID09PSAxNi4gQWN0dWFsOiAnICsgKDMyNzY4ID4+PiAxMSkpOyAKfSAKCgppZiAoNjU1MzYgPj4+IDExICE9PSAzMikgeyAKICAkRVJST1IoJyMzNjk6IDY1NTM2ID4+PiAxMSA9PT0gMzIuIEFjdHVhbDogJyArICg2NTUzNiA+Pj4gMTEpKTsgCn0gCgoKaWYgKDEzMTA3MiA+Pj4gMTEgIT09IDY0KSB7IAogICRFUlJPUignIzM3MDogMTMxMDcyID4+PiAxMSA9PT0gNjQuIEFjdHVhbDogJyArICgxMzEwNzIgPj4+IDExKSk7IAp9IAoKCmlmICgyNjIxNDQgPj4+IDExICE9PSAxMjgpIHsgCiAgJEVSUk9SKCcjMzcxOiAyNjIxNDQgPj4+IDExID09PSAxMjguIEFjdHVhbDogJyArICgyNjIxNDQgPj4+IDExKSk7IAp9IAoKCmlmICg1MjQyODggPj4+IDExICE9PSAyNTYpIHsgCiAgJEVSUk9SKCcjMzcyOiA1MjQyODggPj4+IDExID09PSAyNTYuIEFjdHVhbDogJyArICg1MjQyODggPj4+IDExKSk7IAp9IAoKCmlmICgxMDQ4NTc2ID4+PiAxMSAhPT0gNTEyKSB7IAogICRFUlJPUignIzM3MzogMTA0ODU3NiA+Pj4gMTEgPT09IDUxMi4gQWN0dWFsOiAnICsgKDEwNDg1NzYgPj4+IDExKSk7IAp9IAoKCmlmICgyMDk3MTUyID4+PiAxMSAhPT0gMTAyNCkgeyAKICAkRVJST1IoJyMzNzQ6IDIwOTcxNTIgPj4+IDExID09PSAxMDI0LiBBY3R1YWw6ICcgKyAoMjA5NzE1MiA+Pj4gMTEpKTsgCn0gCgoKaWYgKDQxOTQzMDQgPj4+IDExICE9PSAyMDQ4KSB7IAogICRFUlJPUignIzM3NTogNDE5NDMwNCA+Pj4gMTEgPT09IDIwNDguIEFjdHVhbDogJyArICg0MTk0MzA0ID4+PiAxMSkpOyAKfSAKCgppZiAoODM4ODYwOCA+Pj4gMTEgIT09IDQwOTYpIHsgCiAgJEVSUk9SKCcjMzc2OiA4Mzg4NjA4ID4+PiAxMSA9PT0gNDA5Ni4gQWN0dWFsOiAnICsgKDgzODg2MDggPj4+IDExKSk7IAp9IAoKCmlmICgxNjc3NzIxNiA+Pj4gMTEgIT09IDgxOTIpIHsgCiAgJEVSUk9SKCcjMzc3OiAxNjc3NzIxNiA+Pj4gMTEgPT09IDgxOTIuIEFjdHVhbDogJyArICgxNjc3NzIxNiA+Pj4gMTEpKTsgCn0gCgoKaWYgKDMzNTU0NDMyID4+PiAxMSAhPT0gMTYzODQpIHsgCiAgJEVSUk9SKCcjMzc4OiAzMzU1NDQzMiA+Pj4gMTEgPT09IDE2Mzg0LiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzIgPj4+IDExKSk7IAp9IAoKCmlmICg2NzEwODg2NCA+Pj4gMTEgIT09IDMyNzY4KSB7IAogICRFUlJPUignIzM3OTogNjcxMDg4NjQgPj4+IDExID09PSAzMjc2OC4gQWN0dWFsOiAnICsgKDY3MTA4ODY0ID4+PiAxMSkpOyAKfSAKCgppZiAoMTM0MjE3NzI4ID4+PiAxMSAhPT0gNjU1MzYpIHsgCiAgJEVSUk9SKCcjMzgwOiAxMzQyMTc3MjggPj4+IDExID09PSA2NTUzNi4gQWN0dWFsOiAnICsgKDEzNDIxNzcyOCA+Pj4gMTEpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NiA+Pj4gMTEgIT09IDEzMTA3MikgeyAKICAkRVJST1IoJyMzODE6IDI2ODQzNTQ1NiA+Pj4gMTEgPT09IDEzMTA3Mi4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NiA+Pj4gMTEpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMiA+Pj4gMTEgIT09IDI2MjE0NCkgeyAKICAkRVJST1IoJyMzODI6IDUzNjg3MDkxMiA+Pj4gMTEgPT09IDI2MjE0NC4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMiA+Pj4gMTEpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjQgPj4+IDExICE9PSA1MjQyODgpIHsgCiAgJEVSUk9SKCcjMzgzOiAxMDczNzQxODI0ID4+PiAxMSA9PT0gNTI0Mjg4LiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyNCA+Pj4gMTEpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDggPj4+IDExICE9PSAxMDQ4NTc2KSB7IAogICRFUlJPUignIzM4NDogMjE0NzQ4MzY0OCA+Pj4gMTEgPT09IDEwNDg1NzYuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ4ID4+PiAxMSkpOyAKfSAKCgppZiAoMSA+Pj4gMTIgIT09IDApIHsgCiAgJEVSUk9SKCcjMzg1OiAxID4+PiAxMiA9PT0gMC4gQWN0dWFsOiAnICsgKDEgPj4+IDEyKSk7IAp9IAoKCmlmICgyID4+PiAxMiAhPT0gMCkgeyAKICAkRVJST1IoJyMzODY6IDIgPj4+IDEyID09PSAwLiBBY3R1YWw6ICcgKyAoMiA+Pj4gMTIpKTsgCn0gCgoKaWYgKDQgPj4+IDEyICE9PSAwKSB7IAogICRFUlJPUignIzM4NzogNCA+Pj4gMTIgPT09IDAuIEFjdHVhbDogJyArICg0ID4+PiAxMikpOyAKfSAKCgppZiAoOCA+Pj4gMTIgIT09IDApIHsgCiAgJEVSUk9SKCcjMzg4OiA4ID4+PiAxMiA9PT0gMC4gQWN0dWFsOiAnICsgKDggPj4+IDEyKSk7IAp9IAoKCmlmICgxNiA+Pj4gMTIgIT09IDApIHsgCiAgJEVSUk9SKCcjMzg5OiAxNiA+Pj4gMTIgPT09IDAuIEFjdHVhbDogJyArICgxNiA+Pj4gMTIpKTsgCn0gCgoKaWYgKDMyID4+PiAxMiAhPT0gMCkgeyAKICAkRVJST1IoJyMzOTA6IDMyID4+PiAxMiA9PT0gMC4gQWN0dWFsOiAnICsgKDMyID4+PiAxMikpOyAKfSAKCgppZiAoNjQgPj4+IDEyICE9PSAwKSB7IAogICRFUlJPUignIzM5MTogNjQgPj4+IDEyID09PSAwLiBBY3R1YWw6ICcgKyAoNjQgPj4+IDEyKSk7IAp9IAoKCmlmICgxMjggPj4+IDEyICE9PSAwKSB7IAogICRFUlJPUignIzM5MjogMTI4ID4+PiAxMiA9PT0gMC4gQWN0dWFsOiAnICsgKDEyOCA+Pj4gMTIpKTsgCn0gCgoKaWYgKDI1NiA+Pj4gMTIgIT09IDApIHsgCiAgJEVSUk9SKCcjMzkzOiAyNTYgPj4+IDEyID09PSAwLiBBY3R1YWw6ICcgKyAoMjU2ID4+PiAxMikpOyAKfSAKCgppZiAoNTEyID4+PiAxMiAhPT0gMCkgeyAKICAkRVJST1IoJyMzOTQ6IDUxMiA+Pj4gMTIgPT09IDAuIEFjdHVhbDogJyArICg1MTIgPj4+IDEyKSk7IAp9IAoKCmlmICgxMDI0ID4+PiAxMiAhPT0gMCkgeyAKICAkRVJST1IoJyMzOTU6IDEwMjQgPj4+IDEyID09PSAwLiBBY3R1YWw6ICcgKyAoMTAyNCA+Pj4gMTIpKTsgCn0gCgoKaWYgKDIwNDggPj4+IDEyICE9PSAwKSB7IAogICRFUlJPUignIzM5NjogMjA0OCA+Pj4gMTIgPT09IDAuIEFjdHVhbDogJyArICgyMDQ4ID4+PiAxMikpOyAKfSAKCgppZiAoNDA5NiA+Pj4gMTIgIT09IDEpIHsgCiAgJEVSUk9SKCcjMzk3OiA0MDk2ID4+PiAxMiA9PT0gMS4gQWN0dWFsOiAnICsgKDQwOTYgPj4+IDEyKSk7IAp9IAoKCmlmICg4MTkyID4+PiAxMiAhPT0gMikgeyAKICAkRVJST1IoJyMzOTg6IDgxOTIgPj4+IDEyID09PSAyLiBBY3R1YWw6ICcgKyAoODE5MiA+Pj4gMTIpKTsgCn0gCgoKaWYgKDE2Mzg0ID4+PiAxMiAhPT0gNCkgeyAKICAkRVJST1IoJyMzOTk6IDE2Mzg0ID4+PiAxMiA9PT0gNC4gQWN0dWFsOiAnICsgKDE2Mzg0ID4+PiAxMikpOyAKfSAKCgppZiAoMzI3NjggPj4+IDEyICE9PSA4KSB7IAogICRFUlJPUignIzQwMDogMzI3NjggPj4+IDEyID09PSA4LiBBY3R1YWw6ICcgKyAoMzI3NjggPj4+IDEyKSk7IAp9IAoKCmlmICg2NTUzNiA+Pj4gMTIgIT09IDE2KSB7IAogICRFUlJPUignIzQwMTogNjU1MzYgPj4+IDEyID09PSAxNi4gQWN0dWFsOiAnICsgKDY1NTM2ID4+PiAxMikpOyAKfSAKCgppZiAoMTMxMDcyID4+PiAxMiAhPT0gMzIpIHsgCiAgJEVSUk9SKCcjNDAyOiAxMzEwNzIgPj4+IDEyID09PSAzMi4gQWN0dWFsOiAnICsgKDEzMTA3MiA+Pj4gMTIpKTsgCn0gCgoKaWYgKDI2MjE0NCA+Pj4gMTIgIT09IDY0KSB7IAogICRFUlJPUignIzQwMzogMjYyMTQ0ID4+PiAxMiA9PT0gNjQuIEFjdHVhbDogJyArICgyNjIxNDQgPj4+IDEyKSk7IAp9IAoKCmlmICg1MjQyODggPj4+IDEyICE9PSAxMjgpIHsgCiAgJEVSUk9SKCcjNDA0OiA1MjQyODggPj4+IDEyID09PSAxMjguIEFjdHVhbDogJyArICg1MjQyODggPj4+IDEyKSk7IAp9IAoKCmlmICgxMDQ4NTc2ID4+PiAxMiAhPT0gMjU2KSB7IAogICRFUlJPUignIzQwNTogMTA0ODU3NiA+Pj4gMTIgPT09IDI1Ni4gQWN0dWFsOiAnICsgKDEwNDg1NzYgPj4+IDEyKSk7IAp9IAoKCmlmICgyMDk3MTUyID4+PiAxMiAhPT0gNTEyKSB7IAogICRFUlJPUignIzQwNjogMjA5NzE1MiA+Pj4gMTIgPT09IDUxMi4gQWN0dWFsOiAnICsgKDIwOTcxNTIgPj4+IDEyKSk7IAp9IAoKCmlmICg0MTk0MzA0ID4+PiAxMiAhPT0gMTAyNCkgeyAKICAkRVJST1IoJyM0MDc6IDQxOTQzMDQgPj4+IDEyID09PSAxMDI0LiBBY3R1YWw6ICcgKyAoNDE5NDMwNCA+Pj4gMTIpKTsgCn0gCgoKaWYgKDgzODg2MDggPj4+IDEyICE9PSAyMDQ4KSB7IAogICRFUlJPUignIzQwODogODM4ODYwOCA+Pj4gMTIgPT09IDIwNDguIEFjdHVhbDogJyArICg4Mzg4NjA4ID4+PiAxMikpOyAKfSAKCgppZiAoMTY3NzcyMTYgPj4+IDEyICE9PSA0MDk2KSB7IAogICRFUlJPUignIzQwOTogMTY3NzcyMTYgPj4+IDEyID09PSA0MDk2LiBBY3R1YWw6ICcgKyAoMTY3NzcyMTYgPj4+IDEyKSk7IAp9IAoKCmlmICgzMzU1NDQzMiA+Pj4gMTIgIT09IDgxOTIpIHsgCiAgJEVSUk9SKCcjNDEwOiAzMzU1NDQzMiA+Pj4gMTIgPT09IDgxOTIuIEFjdHVhbDogJyArICgzMzU1NDQzMiA+Pj4gMTIpKTsgCn0gCgoKaWYgKDY3MTA4ODY0ID4+PiAxMiAhPT0gMTYzODQpIHsgCiAgJEVSUk9SKCcjNDExOiA2NzEwODg2NCA+Pj4gMTIgPT09IDE2Mzg0LiBBY3R1YWw6ICcgKyAoNjcxMDg4NjQgPj4+IDEyKSk7IAp9IAoKCmlmICgxMzQyMTc3MjggPj4+IDEyICE9PSAzMjc2OCkgeyAKICAkRVJST1IoJyM0MTI6IDEzNDIxNzcyOCA+Pj4gMTIgPT09IDMyNzY4LiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI4ID4+PiAxMikpOyAKfSAKCgppZiAoMjY4NDM1NDU2ID4+PiAxMiAhPT0gNjU1MzYpIHsgCiAgJEVSUk9SKCcjNDEzOiAyNjg0MzU0NTYgPj4+IDEyID09PSA2NTUzNi4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NiA+Pj4gMTIpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMiA+Pj4gMTIgIT09IDEzMTA3MikgeyAKICAkRVJST1IoJyM0MTQ6IDUzNjg3MDkxMiA+Pj4gMTIgPT09IDEzMTA3Mi4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMiA+Pj4gMTIpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjQgPj4+IDEyICE9PSAyNjIxNDQpIHsgCiAgJEVSUk9SKCcjNDE1OiAxMDczNzQxODI0ID4+PiAxMiA9PT0gMjYyMTQ0LiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyNCA+Pj4gMTIpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDggPj4+IDEyICE9PSA1MjQyODgpIHsgCiAgJEVSUk9SKCcjNDE2OiAyMTQ3NDgzNjQ4ID4+PiAxMiA9PT0gNTI0Mjg4LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0OCA+Pj4gMTIpKTsgCn0gCgoKaWYgKDEgPj4+IDEzICE9PSAwKSB7IAogICRFUlJPUignIzQxNzogMSA+Pj4gMTMgPT09IDAuIEFjdHVhbDogJyArICgxID4+PiAxMykpOyAKfSAKCgppZiAoMiA+Pj4gMTMgIT09IDApIHsgCiAgJEVSUk9SKCcjNDE4OiAyID4+PiAxMyA9PT0gMC4gQWN0dWFsOiAnICsgKDIgPj4+IDEzKSk7IAp9IAoKCmlmICg0ID4+PiAxMyAhPT0gMCkgeyAKICAkRVJST1IoJyM0MTk6IDQgPj4+IDEzID09PSAwLiBBY3R1YWw6ICcgKyAoNCA+Pj4gMTMpKTsgCn0gCgoKaWYgKDggPj4+IDEzICE9PSAwKSB7IAogICRFUlJPUignIzQyMDogOCA+Pj4gMTMgPT09IDAuIEFjdHVhbDogJyArICg4ID4+PiAxMykpOyAKfSAKCgppZiAoMTYgPj4+IDEzICE9PSAwKSB7IAogICRFUlJPUignIzQyMTogMTYgPj4+IDEzID09PSAwLiBBY3R1YWw6ICcgKyAoMTYgPj4+IDEzKSk7IAp9IAoKCmlmICgzMiA+Pj4gMTMgIT09IDApIHsgCiAgJEVSUk9SKCcjNDIyOiAzMiA+Pj4gMTMgPT09IDAuIEFjdHVhbDogJyArICgzMiA+Pj4gMTMpKTsgCn0gCgoKaWYgKDY0ID4+PiAxMyAhPT0gMCkgeyAKICAkRVJST1IoJyM0MjM6IDY0ID4+PiAxMyA9PT0gMC4gQWN0dWFsOiAnICsgKDY0ID4+PiAxMykpOyAKfSAKCgppZiAoMTI4ID4+PiAxMyAhPT0gMCkgeyAKICAkRVJST1IoJyM0MjQ6IDEyOCA+Pj4gMTMgPT09IDAuIEFjdHVhbDogJyArICgxMjggPj4+IDEzKSk7IAp9IAoKCmlmICgyNTYgPj4+IDEzICE9PSAwKSB7IAogICRFUlJPUignIzQyNTogMjU2ID4+PiAxMyA9PT0gMC4gQWN0dWFsOiAnICsgKDI1NiA+Pj4gMTMpKTsgCn0gCgoKaWYgKDUxMiA+Pj4gMTMgIT09IDApIHsgCiAgJEVSUk9SKCcjNDI2OiA1MTIgPj4+IDEzID09PSAwLiBBY3R1YWw6ICcgKyAoNTEyID4+PiAxMykpOyAKfSAKCgppZiAoMTAyNCA+Pj4gMTMgIT09IDApIHsgCiAgJEVSUk9SKCcjNDI3OiAxMDI0ID4+PiAxMyA9PT0gMC4gQWN0dWFsOiAnICsgKDEwMjQgPj4+IDEzKSk7IAp9IAoKCmlmICgyMDQ4ID4+PiAxMyAhPT0gMCkgeyAKICAkRVJST1IoJyM0Mjg6IDIwNDggPj4+IDEzID09PSAwLiBBY3R1YWw6ICcgKyAoMjA0OCA+Pj4gMTMpKTsgCn0gCgoKaWYgKDQwOTYgPj4+IDEzICE9PSAwKSB7IAogICRFUlJPUignIzQyOTogNDA5NiA+Pj4gMTMgPT09IDAuIEFjdHVhbDogJyArICg0MDk2ID4+PiAxMykpOyAKfSAKCgppZiAoODE5MiA+Pj4gMTMgIT09IDEpIHsgCiAgJEVSUk9SKCcjNDMwOiA4MTkyID4+PiAxMyA9PT0gMS4gQWN0dWFsOiAnICsgKDgxOTIgPj4+IDEzKSk7IAp9IAoKCmlmICgxNjM4NCA+Pj4gMTMgIT09IDIpIHsgCiAgJEVSUk9SKCcjNDMxOiAxNjM4NCA+Pj4gMTMgPT09IDIuIEFjdHVhbDogJyArICgxNjM4NCA+Pj4gMTMpKTsgCn0gCgoKaWYgKDMyNzY4ID4+PiAxMyAhPT0gNCkgeyAKICAkRVJST1IoJyM0MzI6IDMyNzY4ID4+PiAxMyA9PT0gNC4gQWN0dWFsOiAnICsgKDMyNzY4ID4+PiAxMykpOyAKfSAKCgppZiAoNjU1MzYgPj4+IDEzICE9PSA4KSB7IAogICRFUlJPUignIzQzMzogNjU1MzYgPj4+IDEzID09PSA4LiBBY3R1YWw6ICcgKyAoNjU1MzYgPj4+IDEzKSk7IAp9IAoKCmlmICgxMzEwNzIgPj4+IDEzICE9PSAxNikgeyAKICAkRVJST1IoJyM0MzQ6IDEzMTA3MiA+Pj4gMTMgPT09IDE2LiBBY3R1YWw6ICcgKyAoMTMxMDcyID4+PiAxMykpOyAKfSAKCgppZiAoMjYyMTQ0ID4+PiAxMyAhPT0gMzIpIHsgCiAgJEVSUk9SKCcjNDM1OiAyNjIxNDQgPj4+IDEzID09PSAzMi4gQWN0dWFsOiAnICsgKDI2MjE0NCA+Pj4gMTMpKTsgCn0gCgoKaWYgKDUyNDI4OCA+Pj4gMTMgIT09IDY0KSB7IAogICRFUlJPUignIzQzNjogNTI0Mjg4ID4+PiAxMyA9PT0gNjQuIEFjdHVhbDogJyArICg1MjQyODggPj4+IDEzKSk7IAp9IAoKCmlmICgxMDQ4NTc2ID4+PiAxMyAhPT0gMTI4KSB7IAogICRFUlJPUignIzQzNzogMTA0ODU3NiA+Pj4gMTMgPT09IDEyOC4gQWN0dWFsOiAnICsgKDEwNDg1NzYgPj4+IDEzKSk7IAp9IAoKCmlmICgyMDk3MTUyID4+PiAxMyAhPT0gMjU2KSB7IAogICRFUlJPUignIzQzODogMjA5NzE1MiA+Pj4gMTMgPT09IDI1Ni4gQWN0dWFsOiAnICsgKDIwOTcxNTIgPj4+IDEzKSk7IAp9IAoKCmlmICg0MTk0MzA0ID4+PiAxMyAhPT0gNTEyKSB7IAogICRFUlJPUignIzQzOTogNDE5NDMwNCA+Pj4gMTMgPT09IDUxMi4gQWN0dWFsOiAnICsgKDQxOTQzMDQgPj4+IDEzKSk7IAp9IAoKCmlmICg4Mzg4NjA4ID4+PiAxMyAhPT0gMTAyNCkgeyAKICAkRVJST1IoJyM0NDA6IDgzODg2MDggPj4+IDEzID09PSAxMDI0LiBBY3R1YWw6ICcgKyAoODM4ODYwOCA+Pj4gMTMpKTsgCn0gCgoKaWYgKDE2Nzc3MjE2ID4+PiAxMyAhPT0gMjA0OCkgeyAKICAkRVJST1IoJyM0NDE6IDE2Nzc3MjE2ID4+PiAxMyA9PT0gMjA0OC4gQWN0dWFsOiAnICsgKDE2Nzc3MjE2ID4+PiAxMykpOyAKfSAKCgppZiAoMzM1NTQ0MzIgPj4+IDEzICE9PSA0MDk2KSB7IAogICRFUlJPUignIzQ0MjogMzM1NTQ0MzIgPj4+IDEzID09PSA0MDk2LiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzIgPj4+IDEzKSk7IAp9IAoKCmlmICg2NzEwODg2NCA+Pj4gMTMgIT09IDgxOTIpIHsgCiAgJEVSUk9SKCcjNDQzOiA2NzEwODg2NCA+Pj4gMTMgPT09IDgxOTIuIEFjdHVhbDogJyArICg2NzEwODg2NCA+Pj4gMTMpKTsgCn0gCgoKaWYgKDEzNDIxNzcyOCA+Pj4gMTMgIT09IDE2Mzg0KSB7IAogICRFUlJPUignIzQ0NDogMTM0MjE3NzI4ID4+PiAxMyA9PT0gMTYzODQuIEFjdHVhbDogJyArICgxMzQyMTc3MjggPj4+IDEzKSk7IAp9IAoKCmlmICgyNjg0MzU0NTYgPj4+IDEzICE9PSAzMjc2OCkgeyAKICAkRVJST1IoJyM0NDU6IDI2ODQzNTQ1NiA+Pj4gMTMgPT09IDMyNzY4LiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU2ID4+PiAxMykpOyAKfSAKCgppZiAoNTM2ODcwOTEyID4+PiAxMyAhPT0gNjU1MzYpIHsgCiAgJEVSUk9SKCcjNDQ2OiA1MzY4NzA5MTIgPj4+IDEzID09PSA2NTUzNi4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMiA+Pj4gMTMpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjQgPj4+IDEzICE9PSAxMzEwNzIpIHsgCiAgJEVSUk9SKCcjNDQ3OiAxMDczNzQxODI0ID4+PiAxMyA9PT0gMTMxMDcyLiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyNCA+Pj4gMTMpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDggPj4+IDEzICE9PSAyNjIxNDQpIHsgCiAgJEVSUk9SKCcjNDQ4OiAyMTQ3NDgzNjQ4ID4+PiAxMyA9PT0gMjYyMTQ0LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0OCA+Pj4gMTMpKTsgCn0gCgoKaWYgKDEgPj4+IDE0ICE9PSAwKSB7IAogICRFUlJPUignIzQ0OTogMSA+Pj4gMTQgPT09IDAuIEFjdHVhbDogJyArICgxID4+PiAxNCkpOyAKfSAKCgppZiAoMiA+Pj4gMTQgIT09IDApIHsgCiAgJEVSUk9SKCcjNDUwOiAyID4+PiAxNCA9PT0gMC4gQWN0dWFsOiAnICsgKDIgPj4+IDE0KSk7IAp9IAoKCmlmICg0ID4+PiAxNCAhPT0gMCkgeyAKICAkRVJST1IoJyM0NTE6IDQgPj4+IDE0ID09PSAwLiBBY3R1YWw6ICcgKyAoNCA+Pj4gMTQpKTsgCn0gCgoKaWYgKDggPj4+IDE0ICE9PSAwKSB7IAogICRFUlJPUignIzQ1MjogOCA+Pj4gMTQgPT09IDAuIEFjdHVhbDogJyArICg4ID4+PiAxNCkpOyAKfSAKCgppZiAoMTYgPj4+IDE0ICE9PSAwKSB7IAogICRFUlJPUignIzQ1MzogMTYgPj4+IDE0ID09PSAwLiBBY3R1YWw6ICcgKyAoMTYgPj4+IDE0KSk7IAp9IAoKCmlmICgzMiA+Pj4gMTQgIT09IDApIHsgCiAgJEVSUk9SKCcjNDU0OiAzMiA+Pj4gMTQgPT09IDAuIEFjdHVhbDogJyArICgzMiA+Pj4gMTQpKTsgCn0gCgoKaWYgKDY0ID4+PiAxNCAhPT0gMCkgeyAKICAkRVJST1IoJyM0NTU6IDY0ID4+PiAxNCA9PT0gMC4gQWN0dWFsOiAnICsgKDY0ID4+PiAxNCkpOyAKfSAKCgppZiAoMTI4ID4+PiAxNCAhPT0gMCkgeyAKICAkRVJST1IoJyM0NTY6IDEyOCA+Pj4gMTQgPT09IDAuIEFjdHVhbDogJyArICgxMjggPj4+IDE0KSk7IAp9IAoKCmlmICgyNTYgPj4+IDE0ICE9PSAwKSB7IAogICRFUlJPUignIzQ1NzogMjU2ID4+PiAxNCA9PT0gMC4gQWN0dWFsOiAnICsgKDI1NiA+Pj4gMTQpKTsgCn0gCgoKaWYgKDUxMiA+Pj4gMTQgIT09IDApIHsgCiAgJEVSUk9SKCcjNDU4OiA1MTIgPj4+IDE0ID09PSAwLiBBY3R1YWw6ICcgKyAoNTEyID4+PiAxNCkpOyAKfSAKCgppZiAoMTAyNCA+Pj4gMTQgIT09IDApIHsgCiAgJEVSUk9SKCcjNDU5OiAxMDI0ID4+PiAxNCA9PT0gMC4gQWN0dWFsOiAnICsgKDEwMjQgPj4+IDE0KSk7IAp9IAoKCmlmICgyMDQ4ID4+PiAxNCAhPT0gMCkgeyAKICAkRVJST1IoJyM0NjA6IDIwNDggPj4+IDE0ID09PSAwLiBBY3R1YWw6ICcgKyAoMjA0OCA+Pj4gMTQpKTsgCn0gCgoKaWYgKDQwOTYgPj4+IDE0ICE9PSAwKSB7IAogICRFUlJPUignIzQ2MTogNDA5NiA+Pj4gMTQgPT09IDAuIEFjdHVhbDogJyArICg0MDk2ID4+PiAxNCkpOyAKfSAKCgppZiAoODE5MiA+Pj4gMTQgIT09IDApIHsgCiAgJEVSUk9SKCcjNDYyOiA4MTkyID4+PiAxNCA9PT0gMC4gQWN0dWFsOiAnICsgKDgxOTIgPj4+IDE0KSk7IAp9IAoKCmlmICgxNjM4NCA+Pj4gMTQgIT09IDEpIHsgCiAgJEVSUk9SKCcjNDYzOiAxNjM4NCA+Pj4gMTQgPT09IDEuIEFjdHVhbDogJyArICgxNjM4NCA+Pj4gMTQpKTsgCn0gCgoKaWYgKDMyNzY4ID4+PiAxNCAhPT0gMikgeyAKICAkRVJST1IoJyM0NjQ6IDMyNzY4ID4+PiAxNCA9PT0gMi4gQWN0dWFsOiAnICsgKDMyNzY4ID4+PiAxNCkpOyAKfSAKCgppZiAoNjU1MzYgPj4+IDE0ICE9PSA0KSB7IAogICRFUlJPUignIzQ2NTogNjU1MzYgPj4+IDE0ID09PSA0LiBBY3R1YWw6ICcgKyAoNjU1MzYgPj4+IDE0KSk7IAp9IAoKCmlmICgxMzEwNzIgPj4+IDE0ICE9PSA4KSB7IAogICRFUlJPUignIzQ2NjogMTMxMDcyID4+PiAxNCA9PT0gOC4gQWN0dWFsOiAnICsgKDEzMTA3MiA+Pj4gMTQpKTsgCn0gCgoKaWYgKDI2MjE0NCA+Pj4gMTQgIT09IDE2KSB7IAogICRFUlJPUignIzQ2NzogMjYyMTQ0ID4+PiAxNCA9PT0gMTYuIEFjdHVhbDogJyArICgyNjIxNDQgPj4+IDE0KSk7IAp9IAoKCmlmICg1MjQyODggPj4+IDE0ICE9PSAzMikgeyAKICAkRVJST1IoJyM0Njg6IDUyNDI4OCA+Pj4gMTQgPT09IDMyLiBBY3R1YWw6ICcgKyAoNTI0Mjg4ID4+PiAxNCkpOyAKfSAKCgppZiAoMTA0ODU3NiA+Pj4gMTQgIT09IDY0KSB7IAogICRFUlJPUignIzQ2OTogMTA0ODU3NiA+Pj4gMTQgPT09IDY0LiBBY3R1YWw6ICcgKyAoMTA0ODU3NiA+Pj4gMTQpKTsgCn0gCgoKaWYgKDIwOTcxNTIgPj4+IDE0ICE9PSAxMjgpIHsgCiAgJEVSUk9SKCcjNDcwOiAyMDk3MTUyID4+PiAxNCA9PT0gMTI4LiBBY3R1YWw6ICcgKyAoMjA5NzE1MiA+Pj4gMTQpKTsgCn0gCgoKaWYgKDQxOTQzMDQgPj4+IDE0ICE9PSAyNTYpIHsgCiAgJEVSUk9SKCcjNDcxOiA0MTk0MzA0ID4+PiAxNCA9PT0gMjU2LiBBY3R1YWw6ICcgKyAoNDE5NDMwNCA+Pj4gMTQpKTsgCn0gCgoKaWYgKDgzODg2MDggPj4+IDE0ICE9PSA1MTIpIHsgCiAgJEVSUk9SKCcjNDcyOiA4Mzg4NjA4ID4+PiAxNCA9PT0gNTEyLiBBY3R1YWw6ICcgKyAoODM4ODYwOCA+Pj4gMTQpKTsgCn0gCgoKaWYgKDE2Nzc3MjE2ID4+PiAxNCAhPT0gMTAyNCkgeyAKICAkRVJST1IoJyM0NzM6IDE2Nzc3MjE2ID4+PiAxNCA9PT0gMTAyNC4gQWN0dWFsOiAnICsgKDE2Nzc3MjE2ID4+PiAxNCkpOyAKfSAKCgppZiAoMzM1NTQ0MzIgPj4+IDE0ICE9PSAyMDQ4KSB7IAogICRFUlJPUignIzQ3NDogMzM1NTQ0MzIgPj4+IDE0ID09PSAyMDQ4LiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzIgPj4+IDE0KSk7IAp9IAoKCmlmICg2NzEwODg2NCA+Pj4gMTQgIT09IDQwOTYpIHsgCiAgJEVSUk9SKCcjNDc1OiA2NzEwODg2NCA+Pj4gMTQgPT09IDQwOTYuIEFjdHVhbDogJyArICg2NzEwODg2NCA+Pj4gMTQpKTsgCn0gCgoKaWYgKDEzNDIxNzcyOCA+Pj4gMTQgIT09IDgxOTIpIHsgCiAgJEVSUk9SKCcjNDc2OiAxMzQyMTc3MjggPj4+IDE0ID09PSA4MTkyLiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI4ID4+PiAxNCkpOyAKfSAKCgppZiAoMjY4NDM1NDU2ID4+PiAxNCAhPT0gMTYzODQpIHsgCiAgJEVSUk9SKCcjNDc3OiAyNjg0MzU0NTYgPj4+IDE0ID09PSAxNjM4NC4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NiA+Pj4gMTQpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMiA+Pj4gMTQgIT09IDMyNzY4KSB7IAogICRFUlJPUignIzQ3ODogNTM2ODcwOTEyID4+PiAxNCA9PT0gMzI3NjguIEFjdHVhbDogJyArICg1MzY4NzA5MTIgPj4+IDE0KSk7IAp9IAoKCmlmICgxMDczNzQxODI0ID4+PiAxNCAhPT0gNjU1MzYpIHsgCiAgJEVSUk9SKCcjNDc5OiAxMDczNzQxODI0ID4+PiAxNCA9PT0gNjU1MzYuIEFjdHVhbDogJyArICgxMDczNzQxODI0ID4+PiAxNCkpOyAKfSAKCgppZiAoMjE0NzQ4MzY0OCA+Pj4gMTQgIT09IDEzMTA3MikgeyAKICAkRVJST1IoJyM0ODA6IDIxNDc0ODM2NDggPj4+IDE0ID09PSAxMzEwNzIuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ4ID4+PiAxNCkpOyAKfSAKCgppZiAoMSA+Pj4gMTUgIT09IDApIHsgCiAgJEVSUk9SKCcjNDgxOiAxID4+PiAxNSA9PT0gMC4gQWN0dWFsOiAnICsgKDEgPj4+IDE1KSk7IAp9IAoKCmlmICgyID4+PiAxNSAhPT0gMCkgeyAKICAkRVJST1IoJyM0ODI6IDIgPj4+IDE1ID09PSAwLiBBY3R1YWw6ICcgKyAoMiA+Pj4gMTUpKTsgCn0gCgoKaWYgKDQgPj4+IDE1ICE9PSAwKSB7IAogICRFUlJPUignIzQ4MzogNCA+Pj4gMTUgPT09IDAuIEFjdHVhbDogJyArICg0ID4+PiAxNSkpOyAKfSAKCgppZiAoOCA+Pj4gMTUgIT09IDApIHsgCiAgJEVSUk9SKCcjNDg0OiA4ID4+PiAxNSA9PT0gMC4gQWN0dWFsOiAnICsgKDggPj4+IDE1KSk7IAp9IAoKCmlmICgxNiA+Pj4gMTUgIT09IDApIHsgCiAgJEVSUk9SKCcjNDg1OiAxNiA+Pj4gMTUgPT09IDAuIEFjdHVhbDogJyArICgxNiA+Pj4gMTUpKTsgCn0gCgoKaWYgKDMyID4+PiAxNSAhPT0gMCkgeyAKICAkRVJST1IoJyM0ODY6IDMyID4+PiAxNSA9PT0gMC4gQWN0dWFsOiAnICsgKDMyID4+PiAxNSkpOyAKfSAKCgppZiAoNjQgPj4+IDE1ICE9PSAwKSB7IAogICRFUlJPUignIzQ4NzogNjQgPj4+IDE1ID09PSAwLiBBY3R1YWw6ICcgKyAoNjQgPj4+IDE1KSk7IAp9IAoKCmlmICgxMjggPj4+IDE1ICE9PSAwKSB7IAogICRFUlJPUignIzQ4ODogMTI4ID4+PiAxNSA9PT0gMC4gQWN0dWFsOiAnICsgKDEyOCA+Pj4gMTUpKTsgCn0gCgoKaWYgKDI1NiA+Pj4gMTUgIT09IDApIHsgCiAgJEVSUk9SKCcjNDg5OiAyNTYgPj4+IDE1ID09PSAwLiBBY3R1YWw6ICcgKyAoMjU2ID4+PiAxNSkpOyAKfSAKCgppZiAoNTEyID4+PiAxNSAhPT0gMCkgeyAKICAkRVJST1IoJyM0OTA6IDUxMiA+Pj4gMTUgPT09IDAuIEFjdHVhbDogJyArICg1MTIgPj4+IDE1KSk7IAp9IAoKCmlmICgxMDI0ID4+PiAxNSAhPT0gMCkgeyAKICAkRVJST1IoJyM0OTE6IDEwMjQgPj4+IDE1ID09PSAwLiBBY3R1YWw6ICcgKyAoMTAyNCA+Pj4gMTUpKTsgCn0gCgoKaWYgKDIwNDggPj4+IDE1ICE9PSAwKSB7IAogICRFUlJPUignIzQ5MjogMjA0OCA+Pj4gMTUgPT09IDAuIEFjdHVhbDogJyArICgyMDQ4ID4+PiAxNSkpOyAKfSAKCgppZiAoNDA5NiA+Pj4gMTUgIT09IDApIHsgCiAgJEVSUk9SKCcjNDkzOiA0MDk2ID4+PiAxNSA9PT0gMC4gQWN0dWFsOiAnICsgKDQwOTYgPj4+IDE1KSk7IAp9IAoKCmlmICg4MTkyID4+PiAxNSAhPT0gMCkgeyAKICAkRVJST1IoJyM0OTQ6IDgxOTIgPj4+IDE1ID09PSAwLiBBY3R1YWw6ICcgKyAoODE5MiA+Pj4gMTUpKTsgCn0gCgoKaWYgKDE2Mzg0ID4+PiAxNSAhPT0gMCkgeyAKICAkRVJST1IoJyM0OTU6IDE2Mzg0ID4+PiAxNSA9PT0gMC4gQWN0dWFsOiAnICsgKDE2Mzg0ID4+PiAxNSkpOyAKfSAKCgppZiAoMzI3NjggPj4+IDE1ICE9PSAxKSB7IAogICRFUlJPUignIzQ5NjogMzI3NjggPj4+IDE1ID09PSAxLiBBY3R1YWw6ICcgKyAoMzI3NjggPj4+IDE1KSk7IAp9IAoKCmlmICg2NTUzNiA+Pj4gMTUgIT09IDIpIHsgCiAgJEVSUk9SKCcjNDk3OiA2NTUzNiA+Pj4gMTUgPT09IDIuIEFjdHVhbDogJyArICg2NTUzNiA+Pj4gMTUpKTsgCn0gCgoKaWYgKDEzMTA3MiA+Pj4gMTUgIT09IDQpIHsgCiAgJEVSUk9SKCcjNDk4OiAxMzEwNzIgPj4+IDE1ID09PSA0LiBBY3R1YWw6ICcgKyAoMTMxMDcyID4+PiAxNSkpOyAKfSAKCgppZiAoMjYyMTQ0ID4+PiAxNSAhPT0gOCkgeyAKICAkRVJST1IoJyM0OTk6IDI2MjE0NCA+Pj4gMTUgPT09IDguIEFjdHVhbDogJyArICgyNjIxNDQgPj4+IDE1KSk7IAp9IAoKCmlmICg1MjQyODggPj4+IDE1ICE9PSAxNikgeyAKICAkRVJST1IoJyM1MDA6IDUyNDI4OCA+Pj4gMTUgPT09IDE2LiBBY3R1YWw6ICcgKyAoNTI0Mjg4ID4+PiAxNSkpOyAKfSAKCgppZiAoMTA0ODU3NiA+Pj4gMTUgIT09IDMyKSB7IAogICRFUlJPUignIzUwMTogMTA0ODU3NiA+Pj4gMTUgPT09IDMyLiBBY3R1YWw6ICcgKyAoMTA0ODU3NiA+Pj4gMTUpKTsgCn0gCgoKaWYgKDIwOTcxNTIgPj4+IDE1ICE9PSA2NCkgeyAKICAkRVJST1IoJyM1MDI6IDIwOTcxNTIgPj4+IDE1ID09PSA2NC4gQWN0dWFsOiAnICsgKDIwOTcxNTIgPj4+IDE1KSk7IAp9IAoKCmlmICg0MTk0MzA0ID4+PiAxNSAhPT0gMTI4KSB7IAogICRFUlJPUignIzUwMzogNDE5NDMwNCA+Pj4gMTUgPT09IDEyOC4gQWN0dWFsOiAnICsgKDQxOTQzMDQgPj4+IDE1KSk7IAp9IAoKCmlmICg4Mzg4NjA4ID4+PiAxNSAhPT0gMjU2KSB7IAogICRFUlJPUignIzUwNDogODM4ODYwOCA+Pj4gMTUgPT09IDI1Ni4gQWN0dWFsOiAnICsgKDgzODg2MDggPj4+IDE1KSk7IAp9IAoKCmlmICgxNjc3NzIxNiA+Pj4gMTUgIT09IDUxMikgeyAKICAkRVJST1IoJyM1MDU6IDE2Nzc3MjE2ID4+PiAxNSA9PT0gNTEyLiBBY3R1YWw6ICcgKyAoMTY3NzcyMTYgPj4+IDE1KSk7IAp9IAoKCmlmICgzMzU1NDQzMiA+Pj4gMTUgIT09IDEwMjQpIHsgCiAgJEVSUk9SKCcjNTA2OiAzMzU1NDQzMiA+Pj4gMTUgPT09IDEwMjQuIEFjdHVhbDogJyArICgzMzU1NDQzMiA+Pj4gMTUpKTsgCn0gCgoKaWYgKDY3MTA4ODY0ID4+PiAxNSAhPT0gMjA0OCkgeyAKICAkRVJST1IoJyM1MDc6IDY3MTA4ODY0ID4+PiAxNSA9PT0gMjA0OC4gQWN0dWFsOiAnICsgKDY3MTA4ODY0ID4+PiAxNSkpOyAKfSAKCgppZiAoMTM0MjE3NzI4ID4+PiAxNSAhPT0gNDA5NikgeyAKICAkRVJST1IoJyM1MDg6IDEzNDIxNzcyOCA+Pj4gMTUgPT09IDQwOTYuIEFjdHVhbDogJyArICgxMzQyMTc3MjggPj4+IDE1KSk7IAp9IAoKCmlmICgyNjg0MzU0NTYgPj4+IDE1ICE9PSA4MTkyKSB7IAogICRFUlJPUignIzUwOTogMjY4NDM1NDU2ID4+PiAxNSA9PT0gODE5Mi4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NiA+Pj4gMTUpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMiA+Pj4gMTUgIT09IDE2Mzg0KSB7IAogICRFUlJPUignIzUxMDogNTM2ODcwOTEyID4+PiAxNSA9PT0gMTYzODQuIEFjdHVhbDogJyArICg1MzY4NzA5MTIgPj4+IDE1KSk7IAp9IAoKCmlmICgxMDczNzQxODI0ID4+PiAxNSAhPT0gMzI3NjgpIHsgCiAgJEVSUk9SKCcjNTExOiAxMDczNzQxODI0ID4+PiAxNSA9PT0gMzI3NjguIEFjdHVhbDogJyArICgxMDczNzQxODI0ID4+PiAxNSkpOyAKfSAKCgppZiAoMjE0NzQ4MzY0OCA+Pj4gMTUgIT09IDY1NTM2KSB7IAogICRFUlJPUignIzUxMjogMjE0NzQ4MzY0OCA+Pj4gMTUgPT09IDY1NTM2LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0OCA+Pj4gMTUpKTsgCn0gIAoK",
"commentary":"Check operator x >>> y in distinct points",
"description":"ShiftExpression = 2^n, n = 0...15",
"path":"TestCases/ch11/11.7/11.7.3/S11.7.3_A4_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBvcGVyYXRvciB4ID4+PiB5IGluIGRpc3RpbmN0IHBvaW50cwogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4zL1MxMS43LjNfQTRfVDIuanMKICogQGRlc2NyaXB0aW9uIFNoaWZ0RXhwcmVzc2lvbiA9IDJebiAtIDEsIG4gPSAxNi4uLjMxCiAqLwoKLy9DSEVDSwogCmlmICgxID4+PiAxNiAhPT0gMCkgeyAKICAkRVJST1IoJyM1MTM6IDEgPj4+IDE2ID09PSAwLiBBY3R1YWw6ICcgKyAoMSA+Pj4gMTYpKTsgCn0gCgoKaWYgKDIgPj4+IDE2ICE9PSAwKSB7IAogICRFUlJPUignIzUxNDogMiA+Pj4gMTYgPT09IDAuIEFjdHVhbDogJyArICgyID4+PiAxNikpOyAKfSAKCgppZiAoNCA+Pj4gMTYgIT09IDApIHsgCiAgJEVSUk9SKCcjNTE1OiA0ID4+PiAxNiA9PT0gMC4gQWN0dWFsOiAnICsgKDQgPj4+IDE2KSk7IAp9IAoKCmlmICg4ID4+PiAxNiAhPT0gMCkgeyAKICAkRVJST1IoJyM1MTY6IDggPj4+IDE2ID09PSAwLiBBY3R1YWw6ICcgKyAoOCA+Pj4gMTYpKTsgCn0gCgoKaWYgKDE2ID4+PiAxNiAhPT0gMCkgeyAKICAkRVJST1IoJyM1MTc6IDE2ID4+PiAxNiA9PT0gMC4gQWN0dWFsOiAnICsgKDE2ID4+PiAxNikpOyAKfSAKCgppZiAoMzIgPj4+IDE2ICE9PSAwKSB7IAogICRFUlJPUignIzUxODogMzIgPj4+IDE2ID09PSAwLiBBY3R1YWw6ICcgKyAoMzIgPj4+IDE2KSk7IAp9IAoKCmlmICg2NCA+Pj4gMTYgIT09IDApIHsgCiAgJEVSUk9SKCcjNTE5OiA2NCA+Pj4gMTYgPT09IDAuIEFjdHVhbDogJyArICg2NCA+Pj4gMTYpKTsgCn0gCgoKaWYgKDEyOCA+Pj4gMTYgIT09IDApIHsgCiAgJEVSUk9SKCcjNTIwOiAxMjggPj4+IDE2ID09PSAwLiBBY3R1YWw6ICcgKyAoMTI4ID4+PiAxNikpOyAKfSAKCgppZiAoMjU2ID4+PiAxNiAhPT0gMCkgeyAKICAkRVJST1IoJyM1MjE6IDI1NiA+Pj4gMTYgPT09IDAuIEFjdHVhbDogJyArICgyNTYgPj4+IDE2KSk7IAp9IAoKCmlmICg1MTIgPj4+IDE2ICE9PSAwKSB7IAogICRFUlJPUignIzUyMjogNTEyID4+PiAxNiA9PT0gMC4gQWN0dWFsOiAnICsgKDUxMiA+Pj4gMTYpKTsgCn0gCgoKaWYgKDEwMjQgPj4+IDE2ICE9PSAwKSB7IAogICRFUlJPUignIzUyMzogMTAyNCA+Pj4gMTYgPT09IDAuIEFjdHVhbDogJyArICgxMDI0ID4+PiAxNikpOyAKfSAKCgppZiAoMjA0OCA+Pj4gMTYgIT09IDApIHsgCiAgJEVSUk9SKCcjNTI0OiAyMDQ4ID4+PiAxNiA9PT0gMC4gQWN0dWFsOiAnICsgKDIwNDggPj4+IDE2KSk7IAp9IAoKCmlmICg0MDk2ID4+PiAxNiAhPT0gMCkgeyAKICAkRVJST1IoJyM1MjU6IDQwOTYgPj4+IDE2ID09PSAwLiBBY3R1YWw6ICcgKyAoNDA5NiA+Pj4gMTYpKTsgCn0gCgoKaWYgKDgxOTIgPj4+IDE2ICE9PSAwKSB7IAogICRFUlJPUignIzUyNjogODE5MiA+Pj4gMTYgPT09IDAuIEFjdHVhbDogJyArICg4MTkyID4+PiAxNikpOyAKfSAKCgppZiAoMTYzODQgPj4+IDE2ICE9PSAwKSB7IAogICRFUlJPUignIzUyNzogMTYzODQgPj4+IDE2ID09PSAwLiBBY3R1YWw6ICcgKyAoMTYzODQgPj4+IDE2KSk7IAp9IAoKCmlmICgzMjc2OCA+Pj4gMTYgIT09IDApIHsgCiAgJEVSUk9SKCcjNTI4OiAzMjc2OCA+Pj4gMTYgPT09IDAuIEFjdHVhbDogJyArICgzMjc2OCA+Pj4gMTYpKTsgCn0gCgoKaWYgKDY1NTM2ID4+PiAxNiAhPT0gMSkgeyAKICAkRVJST1IoJyM1Mjk6IDY1NTM2ID4+PiAxNiA9PT0gMS4gQWN0dWFsOiAnICsgKDY1NTM2ID4+PiAxNikpOyAKfSAKCgppZiAoMTMxMDcyID4+PiAxNiAhPT0gMikgeyAKICAkRVJST1IoJyM1MzA6IDEzMTA3MiA+Pj4gMTYgPT09IDIuIEFjdHVhbDogJyArICgxMzEwNzIgPj4+IDE2KSk7IAp9IAoKCmlmICgyNjIxNDQgPj4+IDE2ICE9PSA0KSB7IAogICRFUlJPUignIzUzMTogMjYyMTQ0ID4+PiAxNiA9PT0gNC4gQWN0dWFsOiAnICsgKDI2MjE0NCA+Pj4gMTYpKTsgCn0gCgoKaWYgKDUyNDI4OCA+Pj4gMTYgIT09IDgpIHsgCiAgJEVSUk9SKCcjNTMyOiA1MjQyODggPj4+IDE2ID09PSA4LiBBY3R1YWw6ICcgKyAoNTI0Mjg4ID4+PiAxNikpOyAKfSAKCgppZiAoMTA0ODU3NiA+Pj4gMTYgIT09IDE2KSB7IAogICRFUlJPUignIzUzMzogMTA0ODU3NiA+Pj4gMTYgPT09IDE2LiBBY3R1YWw6ICcgKyAoMTA0ODU3NiA+Pj4gMTYpKTsgCn0gCgoKaWYgKDIwOTcxNTIgPj4+IDE2ICE9PSAzMikgeyAKICAkRVJST1IoJyM1MzQ6IDIwOTcxNTIgPj4+IDE2ID09PSAzMi4gQWN0dWFsOiAnICsgKDIwOTcxNTIgPj4+IDE2KSk7IAp9IAoKCmlmICg0MTk0MzA0ID4+PiAxNiAhPT0gNjQpIHsgCiAgJEVSUk9SKCcjNTM1OiA0MTk0MzA0ID4+PiAxNiA9PT0gNjQuIEFjdHVhbDogJyArICg0MTk0MzA0ID4+PiAxNikpOyAKfSAKCgppZiAoODM4ODYwOCA+Pj4gMTYgIT09IDEyOCkgeyAKICAkRVJST1IoJyM1MzY6IDgzODg2MDggPj4+IDE2ID09PSAxMjguIEFjdHVhbDogJyArICg4Mzg4NjA4ID4+PiAxNikpOyAKfSAKCgppZiAoMTY3NzcyMTYgPj4+IDE2ICE9PSAyNTYpIHsgCiAgJEVSUk9SKCcjNTM3OiAxNjc3NzIxNiA+Pj4gMTYgPT09IDI1Ni4gQWN0dWFsOiAnICsgKDE2Nzc3MjE2ID4+PiAxNikpOyAKfSAKCgppZiAoMzM1NTQ0MzIgPj4+IDE2ICE9PSA1MTIpIHsgCiAgJEVSUk9SKCcjNTM4OiAzMzU1NDQzMiA+Pj4gMTYgPT09IDUxMi4gQWN0dWFsOiAnICsgKDMzNTU0NDMyID4+PiAxNikpOyAKfSAKCgppZiAoNjcxMDg4NjQgPj4+IDE2ICE9PSAxMDI0KSB7IAogICRFUlJPUignIzUzOTogNjcxMDg4NjQgPj4+IDE2ID09PSAxMDI0LiBBY3R1YWw6ICcgKyAoNjcxMDg4NjQgPj4+IDE2KSk7IAp9IAoKCmlmICgxMzQyMTc3MjggPj4+IDE2ICE9PSAyMDQ4KSB7IAogICRFUlJPUignIzU0MDogMTM0MjE3NzI4ID4+PiAxNiA9PT0gMjA0OC4gQWN0dWFsOiAnICsgKDEzNDIxNzcyOCA+Pj4gMTYpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NiA+Pj4gMTYgIT09IDQwOTYpIHsgCiAgJEVSUk9SKCcjNTQxOiAyNjg0MzU0NTYgPj4+IDE2ID09PSA0MDk2LiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU2ID4+PiAxNikpOyAKfSAKCgppZiAoNTM2ODcwOTEyID4+PiAxNiAhPT0gODE5MikgeyAKICAkRVJST1IoJyM1NDI6IDUzNjg3MDkxMiA+Pj4gMTYgPT09IDgxOTIuIEFjdHVhbDogJyArICg1MzY4NzA5MTIgPj4+IDE2KSk7IAp9IAoKCmlmICgxMDczNzQxODI0ID4+PiAxNiAhPT0gMTYzODQpIHsgCiAgJEVSUk9SKCcjNTQzOiAxMDczNzQxODI0ID4+PiAxNiA9PT0gMTYzODQuIEFjdHVhbDogJyArICgxMDczNzQxODI0ID4+PiAxNikpOyAKfSAKCgppZiAoMjE0NzQ4MzY0OCA+Pj4gMTYgIT09IDMyNzY4KSB7IAogICRFUlJPUignIzU0NDogMjE0NzQ4MzY0OCA+Pj4gMTYgPT09IDMyNzY4LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0OCA+Pj4gMTYpKTsgCn0gCgoKaWYgKDEgPj4+IDE3ICE9PSAwKSB7IAogICRFUlJPUignIzU0NTogMSA+Pj4gMTcgPT09IDAuIEFjdHVhbDogJyArICgxID4+PiAxNykpOyAKfSAKCgppZiAoMiA+Pj4gMTcgIT09IDApIHsgCiAgJEVSUk9SKCcjNTQ2OiAyID4+PiAxNyA9PT0gMC4gQWN0dWFsOiAnICsgKDIgPj4+IDE3KSk7IAp9IAoKCmlmICg0ID4+PiAxNyAhPT0gMCkgeyAKICAkRVJST1IoJyM1NDc6IDQgPj4+IDE3ID09PSAwLiBBY3R1YWw6ICcgKyAoNCA+Pj4gMTcpKTsgCn0gCgoKaWYgKDggPj4+IDE3ICE9PSAwKSB7IAogICRFUlJPUignIzU0ODogOCA+Pj4gMTcgPT09IDAuIEFjdHVhbDogJyArICg4ID4+PiAxNykpOyAKfSAKCgppZiAoMTYgPj4+IDE3ICE9PSAwKSB7IAogICRFUlJPUignIzU0OTogMTYgPj4+IDE3ID09PSAwLiBBY3R1YWw6ICcgKyAoMTYgPj4+IDE3KSk7IAp9IAoKCmlmICgzMiA+Pj4gMTcgIT09IDApIHsgCiAgJEVSUk9SKCcjNTUwOiAzMiA+Pj4gMTcgPT09IDAuIEFjdHVhbDogJyArICgzMiA+Pj4gMTcpKTsgCn0gCgoKaWYgKDY0ID4+PiAxNyAhPT0gMCkgeyAKICAkRVJST1IoJyM1NTE6IDY0ID4+PiAxNyA9PT0gMC4gQWN0dWFsOiAnICsgKDY0ID4+PiAxNykpOyAKfSAKCgppZiAoMTI4ID4+PiAxNyAhPT0gMCkgeyAKICAkRVJST1IoJyM1NTI6IDEyOCA+Pj4gMTcgPT09IDAuIEFjdHVhbDogJyArICgxMjggPj4+IDE3KSk7IAp9IAoKCmlmICgyNTYgPj4+IDE3ICE9PSAwKSB7IAogICRFUlJPUignIzU1MzogMjU2ID4+PiAxNyA9PT0gMC4gQWN0dWFsOiAnICsgKDI1NiA+Pj4gMTcpKTsgCn0gCgoKaWYgKDUxMiA+Pj4gMTcgIT09IDApIHsgCiAgJEVSUk9SKCcjNTU0OiA1MTIgPj4+IDE3ID09PSAwLiBBY3R1YWw6ICcgKyAoNTEyID4+PiAxNykpOyAKfSAKCgppZiAoMTAyNCA+Pj4gMTcgIT09IDApIHsgCiAgJEVSUk9SKCcjNTU1OiAxMDI0ID4+PiAxNyA9PT0gMC4gQWN0dWFsOiAnICsgKDEwMjQgPj4+IDE3KSk7IAp9IAoKCmlmICgyMDQ4ID4+PiAxNyAhPT0gMCkgeyAKICAkRVJST1IoJyM1NTY6IDIwNDggPj4+IDE3ID09PSAwLiBBY3R1YWw6ICcgKyAoMjA0OCA+Pj4gMTcpKTsgCn0gCgoKaWYgKDQwOTYgPj4+IDE3ICE9PSAwKSB7IAogICRFUlJPUignIzU1NzogNDA5NiA+Pj4gMTcgPT09IDAuIEFjdHVhbDogJyArICg0MDk2ID4+PiAxNykpOyAKfSAKCgppZiAoODE5MiA+Pj4gMTcgIT09IDApIHsgCiAgJEVSUk9SKCcjNTU4OiA4MTkyID4+PiAxNyA9PT0gMC4gQWN0dWFsOiAnICsgKDgxOTIgPj4+IDE3KSk7IAp9IAoKCmlmICgxNjM4NCA+Pj4gMTcgIT09IDApIHsgCiAgJEVSUk9SKCcjNTU5OiAxNjM4NCA+Pj4gMTcgPT09IDAuIEFjdHVhbDogJyArICgxNjM4NCA+Pj4gMTcpKTsgCn0gCgoKaWYgKDMyNzY4ID4+PiAxNyAhPT0gMCkgeyAKICAkRVJST1IoJyM1NjA6IDMyNzY4ID4+PiAxNyA9PT0gMC4gQWN0dWFsOiAnICsgKDMyNzY4ID4+PiAxNykpOyAKfSAKCgppZiAoNjU1MzYgPj4+IDE3ICE9PSAwKSB7IAogICRFUlJPUignIzU2MTogNjU1MzYgPj4+IDE3ID09PSAwLiBBY3R1YWw6ICcgKyAoNjU1MzYgPj4+IDE3KSk7IAp9IAoKCmlmICgxMzEwNzIgPj4+IDE3ICE9PSAxKSB7IAogICRFUlJPUignIzU2MjogMTMxMDcyID4+PiAxNyA9PT0gMS4gQWN0dWFsOiAnICsgKDEzMTA3MiA+Pj4gMTcpKTsgCn0gCgoKaWYgKDI2MjE0NCA+Pj4gMTcgIT09IDIpIHsgCiAgJEVSUk9SKCcjNTYzOiAyNjIxNDQgPj4+IDE3ID09PSAyLiBBY3R1YWw6ICcgKyAoMjYyMTQ0ID4+PiAxNykpOyAKfSAKCgppZiAoNTI0Mjg4ID4+PiAxNyAhPT0gNCkgeyAKICAkRVJST1IoJyM1NjQ6IDUyNDI4OCA+Pj4gMTcgPT09IDQuIEFjdHVhbDogJyArICg1MjQyODggPj4+IDE3KSk7IAp9IAoKCmlmICgxMDQ4NTc2ID4+PiAxNyAhPT0gOCkgeyAKICAkRVJST1IoJyM1NjU6IDEwNDg1NzYgPj4+IDE3ID09PSA4LiBBY3R1YWw6ICcgKyAoMTA0ODU3NiA+Pj4gMTcpKTsgCn0gCgoKaWYgKDIwOTcxNTIgPj4+IDE3ICE9PSAxNikgeyAKICAkRVJST1IoJyM1NjY6IDIwOTcxNTIgPj4+IDE3ID09PSAxNi4gQWN0dWFsOiAnICsgKDIwOTcxNTIgPj4+IDE3KSk7IAp9IAoKCmlmICg0MTk0MzA0ID4+PiAxNyAhPT0gMzIpIHsgCiAgJEVSUk9SKCcjNTY3OiA0MTk0MzA0ID4+PiAxNyA9PT0gMzIuIEFjdHVhbDogJyArICg0MTk0MzA0ID4+PiAxNykpOyAKfSAKCgppZiAoODM4ODYwOCA+Pj4gMTcgIT09IDY0KSB7IAogICRFUlJPUignIzU2ODogODM4ODYwOCA+Pj4gMTcgPT09IDY0LiBBY3R1YWw6ICcgKyAoODM4ODYwOCA+Pj4gMTcpKTsgCn0gCgoKaWYgKDE2Nzc3MjE2ID4+PiAxNyAhPT0gMTI4KSB7IAogICRFUlJPUignIzU2OTogMTY3NzcyMTYgPj4+IDE3ID09PSAxMjguIEFjdHVhbDogJyArICgxNjc3NzIxNiA+Pj4gMTcpKTsgCn0gCgoKaWYgKDMzNTU0NDMyID4+PiAxNyAhPT0gMjU2KSB7IAogICRFUlJPUignIzU3MDogMzM1NTQ0MzIgPj4+IDE3ID09PSAyNTYuIEFjdHVhbDogJyArICgzMzU1NDQzMiA+Pj4gMTcpKTsgCn0gCgoKaWYgKDY3MTA4ODY0ID4+PiAxNyAhPT0gNTEyKSB7IAogICRFUlJPUignIzU3MTogNjcxMDg4NjQgPj4+IDE3ID09PSA1MTIuIEFjdHVhbDogJyArICg2NzEwODg2NCA+Pj4gMTcpKTsgCn0gCgoKaWYgKDEzNDIxNzcyOCA+Pj4gMTcgIT09IDEwMjQpIHsgCiAgJEVSUk9SKCcjNTcyOiAxMzQyMTc3MjggPj4+IDE3ID09PSAxMDI0LiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI4ID4+PiAxNykpOyAKfSAKCgppZiAoMjY4NDM1NDU2ID4+PiAxNyAhPT0gMjA0OCkgeyAKICAkRVJST1IoJyM1NzM6IDI2ODQzNTQ1NiA+Pj4gMTcgPT09IDIwNDguIEFjdHVhbDogJyArICgyNjg0MzU0NTYgPj4+IDE3KSk7IAp9IAoKCmlmICg1MzY4NzA5MTIgPj4+IDE3ICE9PSA0MDk2KSB7IAogICRFUlJPUignIzU3NDogNTM2ODcwOTEyID4+PiAxNyA9PT0gNDA5Ni4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMiA+Pj4gMTcpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjQgPj4+IDE3ICE9PSA4MTkyKSB7IAogICRFUlJPUignIzU3NTogMTA3Mzc0MTgyNCA+Pj4gMTcgPT09IDgxOTIuIEFjdHVhbDogJyArICgxMDczNzQxODI0ID4+PiAxNykpOyAKfSAKCgppZiAoMjE0NzQ4MzY0OCA+Pj4gMTcgIT09IDE2Mzg0KSB7IAogICRFUlJPUignIzU3NjogMjE0NzQ4MzY0OCA+Pj4gMTcgPT09IDE2Mzg0LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0OCA+Pj4gMTcpKTsgCn0gCgoKaWYgKDEgPj4+IDE4ICE9PSAwKSB7IAogICRFUlJPUignIzU3NzogMSA+Pj4gMTggPT09IDAuIEFjdHVhbDogJyArICgxID4+PiAxOCkpOyAKfSAKCgppZiAoMiA+Pj4gMTggIT09IDApIHsgCiAgJEVSUk9SKCcjNTc4OiAyID4+PiAxOCA9PT0gMC4gQWN0dWFsOiAnICsgKDIgPj4+IDE4KSk7IAp9IAoKCmlmICg0ID4+PiAxOCAhPT0gMCkgeyAKICAkRVJST1IoJyM1Nzk6IDQgPj4+IDE4ID09PSAwLiBBY3R1YWw6ICcgKyAoNCA+Pj4gMTgpKTsgCn0gCgoKaWYgKDggPj4+IDE4ICE9PSAwKSB7IAogICRFUlJPUignIzU4MDogOCA+Pj4gMTggPT09IDAuIEFjdHVhbDogJyArICg4ID4+PiAxOCkpOyAKfSAKCgppZiAoMTYgPj4+IDE4ICE9PSAwKSB7IAogICRFUlJPUignIzU4MTogMTYgPj4+IDE4ID09PSAwLiBBY3R1YWw6ICcgKyAoMTYgPj4+IDE4KSk7IAp9IAoKCmlmICgzMiA+Pj4gMTggIT09IDApIHsgCiAgJEVSUk9SKCcjNTgyOiAzMiA+Pj4gMTggPT09IDAuIEFjdHVhbDogJyArICgzMiA+Pj4gMTgpKTsgCn0gCgoKaWYgKDY0ID4+PiAxOCAhPT0gMCkgeyAKICAkRVJST1IoJyM1ODM6IDY0ID4+PiAxOCA9PT0gMC4gQWN0dWFsOiAnICsgKDY0ID4+PiAxOCkpOyAKfSAKCgppZiAoMTI4ID4+PiAxOCAhPT0gMCkgeyAKICAkRVJST1IoJyM1ODQ6IDEyOCA+Pj4gMTggPT09IDAuIEFjdHVhbDogJyArICgxMjggPj4+IDE4KSk7IAp9IAoKCmlmICgyNTYgPj4+IDE4ICE9PSAwKSB7IAogICRFUlJPUignIzU4NTogMjU2ID4+PiAxOCA9PT0gMC4gQWN0dWFsOiAnICsgKDI1NiA+Pj4gMTgpKTsgCn0gCgoKaWYgKDUxMiA+Pj4gMTggIT09IDApIHsgCiAgJEVSUk9SKCcjNTg2OiA1MTIgPj4+IDE4ID09PSAwLiBBY3R1YWw6ICcgKyAoNTEyID4+PiAxOCkpOyAKfSAKCgppZiAoMTAyNCA+Pj4gMTggIT09IDApIHsgCiAgJEVSUk9SKCcjNTg3OiAxMDI0ID4+PiAxOCA9PT0gMC4gQWN0dWFsOiAnICsgKDEwMjQgPj4+IDE4KSk7IAp9IAoKCmlmICgyMDQ4ID4+PiAxOCAhPT0gMCkgeyAKICAkRVJST1IoJyM1ODg6IDIwNDggPj4+IDE4ID09PSAwLiBBY3R1YWw6ICcgKyAoMjA0OCA+Pj4gMTgpKTsgCn0gCgoKaWYgKDQwOTYgPj4+IDE4ICE9PSAwKSB7IAogICRFUlJPUignIzU4OTogNDA5NiA+Pj4gMTggPT09IDAuIEFjdHVhbDogJyArICg0MDk2ID4+PiAxOCkpOyAKfSAKCgppZiAoODE5MiA+Pj4gMTggIT09IDApIHsgCiAgJEVSUk9SKCcjNTkwOiA4MTkyID4+PiAxOCA9PT0gMC4gQWN0dWFsOiAnICsgKDgxOTIgPj4+IDE4KSk7IAp9IAoKCmlmICgxNjM4NCA+Pj4gMTggIT09IDApIHsgCiAgJEVSUk9SKCcjNTkxOiAxNjM4NCA+Pj4gMTggPT09IDAuIEFjdHVhbDogJyArICgxNjM4NCA+Pj4gMTgpKTsgCn0gCgoKaWYgKDMyNzY4ID4+PiAxOCAhPT0gMCkgeyAKICAkRVJST1IoJyM1OTI6IDMyNzY4ID4+PiAxOCA9PT0gMC4gQWN0dWFsOiAnICsgKDMyNzY4ID4+PiAxOCkpOyAKfSAKCgppZiAoNjU1MzYgPj4+IDE4ICE9PSAwKSB7IAogICRFUlJPUignIzU5MzogNjU1MzYgPj4+IDE4ID09PSAwLiBBY3R1YWw6ICcgKyAoNjU1MzYgPj4+IDE4KSk7IAp9IAoKCmlmICgxMzEwNzIgPj4+IDE4ICE9PSAwKSB7IAogICRFUlJPUignIzU5NDogMTMxMDcyID4+PiAxOCA9PT0gMC4gQWN0dWFsOiAnICsgKDEzMTA3MiA+Pj4gMTgpKTsgCn0gCgoKaWYgKDI2MjE0NCA+Pj4gMTggIT09IDEpIHsgCiAgJEVSUk9SKCcjNTk1OiAyNjIxNDQgPj4+IDE4ID09PSAxLiBBY3R1YWw6ICcgKyAoMjYyMTQ0ID4+PiAxOCkpOyAKfSAKCgppZiAoNTI0Mjg4ID4+PiAxOCAhPT0gMikgeyAKICAkRVJST1IoJyM1OTY6IDUyNDI4OCA+Pj4gMTggPT09IDIuIEFjdHVhbDogJyArICg1MjQyODggPj4+IDE4KSk7IAp9IAoKCmlmICgxMDQ4NTc2ID4+PiAxOCAhPT0gNCkgeyAKICAkRVJST1IoJyM1OTc6IDEwNDg1NzYgPj4+IDE4ID09PSA0LiBBY3R1YWw6ICcgKyAoMTA0ODU3NiA+Pj4gMTgpKTsgCn0gCgoKaWYgKDIwOTcxNTIgPj4+IDE4ICE9PSA4KSB7IAogICRFUlJPUignIzU5ODogMjA5NzE1MiA+Pj4gMTggPT09IDguIEFjdHVhbDogJyArICgyMDk3MTUyID4+PiAxOCkpOyAKfSAKCgppZiAoNDE5NDMwNCA+Pj4gMTggIT09IDE2KSB7IAogICRFUlJPUignIzU5OTogNDE5NDMwNCA+Pj4gMTggPT09IDE2LiBBY3R1YWw6ICcgKyAoNDE5NDMwNCA+Pj4gMTgpKTsgCn0gCgoKaWYgKDgzODg2MDggPj4+IDE4ICE9PSAzMikgeyAKICAkRVJST1IoJyM2MDA6IDgzODg2MDggPj4+IDE4ID09PSAzMi4gQWN0dWFsOiAnICsgKDgzODg2MDggPj4+IDE4KSk7IAp9IAoKCmlmICgxNjc3NzIxNiA+Pj4gMTggIT09IDY0KSB7IAogICRFUlJPUignIzYwMTogMTY3NzcyMTYgPj4+IDE4ID09PSA2NC4gQWN0dWFsOiAnICsgKDE2Nzc3MjE2ID4+PiAxOCkpOyAKfSAKCgppZiAoMzM1NTQ0MzIgPj4+IDE4ICE9PSAxMjgpIHsgCiAgJEVSUk9SKCcjNjAyOiAzMzU1NDQzMiA+Pj4gMTggPT09IDEyOC4gQWN0dWFsOiAnICsgKDMzNTU0NDMyID4+PiAxOCkpOyAKfSAKCgppZiAoNjcxMDg4NjQgPj4+IDE4ICE9PSAyNTYpIHsgCiAgJEVSUk9SKCcjNjAzOiA2NzEwODg2NCA+Pj4gMTggPT09IDI1Ni4gQWN0dWFsOiAnICsgKDY3MTA4ODY0ID4+PiAxOCkpOyAKfSAKCgppZiAoMTM0MjE3NzI4ID4+PiAxOCAhPT0gNTEyKSB7IAogICRFUlJPUignIzYwNDogMTM0MjE3NzI4ID4+PiAxOCA9PT0gNTEyLiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI4ID4+PiAxOCkpOyAKfSAKCgppZiAoMjY4NDM1NDU2ID4+PiAxOCAhPT0gMTAyNCkgeyAKICAkRVJST1IoJyM2MDU6IDI2ODQzNTQ1NiA+Pj4gMTggPT09IDEwMjQuIEFjdHVhbDogJyArICgyNjg0MzU0NTYgPj4+IDE4KSk7IAp9IAoKCmlmICg1MzY4NzA5MTIgPj4+IDE4ICE9PSAyMDQ4KSB7IAogICRFUlJPUignIzYwNjogNTM2ODcwOTEyID4+PiAxOCA9PT0gMjA0OC4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMiA+Pj4gMTgpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjQgPj4+IDE4ICE9PSA0MDk2KSB7IAogICRFUlJPUignIzYwNzogMTA3Mzc0MTgyNCA+Pj4gMTggPT09IDQwOTYuIEFjdHVhbDogJyArICgxMDczNzQxODI0ID4+PiAxOCkpOyAKfSAKCgppZiAoMjE0NzQ4MzY0OCA+Pj4gMTggIT09IDgxOTIpIHsgCiAgJEVSUk9SKCcjNjA4OiAyMTQ3NDgzNjQ4ID4+PiAxOCA9PT0gODE5Mi4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDggPj4+IDE4KSk7IAp9IAoKCmlmICgxID4+PiAxOSAhPT0gMCkgeyAKICAkRVJST1IoJyM2MDk6IDEgPj4+IDE5ID09PSAwLiBBY3R1YWw6ICcgKyAoMSA+Pj4gMTkpKTsgCn0gCgoKaWYgKDIgPj4+IDE5ICE9PSAwKSB7IAogICRFUlJPUignIzYxMDogMiA+Pj4gMTkgPT09IDAuIEFjdHVhbDogJyArICgyID4+PiAxOSkpOyAKfSAKCgppZiAoNCA+Pj4gMTkgIT09IDApIHsgCiAgJEVSUk9SKCcjNjExOiA0ID4+PiAxOSA9PT0gMC4gQWN0dWFsOiAnICsgKDQgPj4+IDE5KSk7IAp9IAoKCmlmICg4ID4+PiAxOSAhPT0gMCkgeyAKICAkRVJST1IoJyM2MTI6IDggPj4+IDE5ID09PSAwLiBBY3R1YWw6ICcgKyAoOCA+Pj4gMTkpKTsgCn0gCgoKaWYgKDE2ID4+PiAxOSAhPT0gMCkgeyAKICAkRVJST1IoJyM2MTM6IDE2ID4+PiAxOSA9PT0gMC4gQWN0dWFsOiAnICsgKDE2ID4+PiAxOSkpOyAKfSAKCgppZiAoMzIgPj4+IDE5ICE9PSAwKSB7IAogICRFUlJPUignIzYxNDogMzIgPj4+IDE5ID09PSAwLiBBY3R1YWw6ICcgKyAoMzIgPj4+IDE5KSk7IAp9IAoKCmlmICg2NCA+Pj4gMTkgIT09IDApIHsgCiAgJEVSUk9SKCcjNjE1OiA2NCA+Pj4gMTkgPT09IDAuIEFjdHVhbDogJyArICg2NCA+Pj4gMTkpKTsgCn0gCgoKaWYgKDEyOCA+Pj4gMTkgIT09IDApIHsgCiAgJEVSUk9SKCcjNjE2OiAxMjggPj4+IDE5ID09PSAwLiBBY3R1YWw6ICcgKyAoMTI4ID4+PiAxOSkpOyAKfSAKCgppZiAoMjU2ID4+PiAxOSAhPT0gMCkgeyAKICAkRVJST1IoJyM2MTc6IDI1NiA+Pj4gMTkgPT09IDAuIEFjdHVhbDogJyArICgyNTYgPj4+IDE5KSk7IAp9IAoKCmlmICg1MTIgPj4+IDE5ICE9PSAwKSB7IAogICRFUlJPUignIzYxODogNTEyID4+PiAxOSA9PT0gMC4gQWN0dWFsOiAnICsgKDUxMiA+Pj4gMTkpKTsgCn0gCgoKaWYgKDEwMjQgPj4+IDE5ICE9PSAwKSB7IAogICRFUlJPUignIzYxOTogMTAyNCA+Pj4gMTkgPT09IDAuIEFjdHVhbDogJyArICgxMDI0ID4+PiAxOSkpOyAKfSAKCgppZiAoMjA0OCA+Pj4gMTkgIT09IDApIHsgCiAgJEVSUk9SKCcjNjIwOiAyMDQ4ID4+PiAxOSA9PT0gMC4gQWN0dWFsOiAnICsgKDIwNDggPj4+IDE5KSk7IAp9IAoKCmlmICg0MDk2ID4+PiAxOSAhPT0gMCkgeyAKICAkRVJST1IoJyM2MjE6IDQwOTYgPj4+IDE5ID09PSAwLiBBY3R1YWw6ICcgKyAoNDA5NiA+Pj4gMTkpKTsgCn0gCgoKaWYgKDgxOTIgPj4+IDE5ICE9PSAwKSB7IAogICRFUlJPUignIzYyMjogODE5MiA+Pj4gMTkgPT09IDAuIEFjdHVhbDogJyArICg4MTkyID4+PiAxOSkpOyAKfSAKCgppZiAoMTYzODQgPj4+IDE5ICE9PSAwKSB7IAogICRFUlJPUignIzYyMzogMTYzODQgPj4+IDE5ID09PSAwLiBBY3R1YWw6ICcgKyAoMTYzODQgPj4+IDE5KSk7IAp9IAoKCmlmICgzMjc2OCA+Pj4gMTkgIT09IDApIHsgCiAgJEVSUk9SKCcjNjI0OiAzMjc2OCA+Pj4gMTkgPT09IDAuIEFjdHVhbDogJyArICgzMjc2OCA+Pj4gMTkpKTsgCn0gCgoKaWYgKDY1NTM2ID4+PiAxOSAhPT0gMCkgeyAKICAkRVJST1IoJyM2MjU6IDY1NTM2ID4+PiAxOSA9PT0gMC4gQWN0dWFsOiAnICsgKDY1NTM2ID4+PiAxOSkpOyAKfSAKCgppZiAoMTMxMDcyID4+PiAxOSAhPT0gMCkgeyAKICAkRVJST1IoJyM2MjY6IDEzMTA3MiA+Pj4gMTkgPT09IDAuIEFjdHVhbDogJyArICgxMzEwNzIgPj4+IDE5KSk7IAp9IAoKCmlmICgyNjIxNDQgPj4+IDE5ICE9PSAwKSB7IAogICRFUlJPUignIzYyNzogMjYyMTQ0ID4+PiAxOSA9PT0gMC4gQWN0dWFsOiAnICsgKDI2MjE0NCA+Pj4gMTkpKTsgCn0gCgoKaWYgKDUyNDI4OCA+Pj4gMTkgIT09IDEpIHsgCiAgJEVSUk9SKCcjNjI4OiA1MjQyODggPj4+IDE5ID09PSAxLiBBY3R1YWw6ICcgKyAoNTI0Mjg4ID4+PiAxOSkpOyAKfSAKCgppZiAoMTA0ODU3NiA+Pj4gMTkgIT09IDIpIHsgCiAgJEVSUk9SKCcjNjI5OiAxMDQ4NTc2ID4+PiAxOSA9PT0gMi4gQWN0dWFsOiAnICsgKDEwNDg1NzYgPj4+IDE5KSk7IAp9IAoKCmlmICgyMDk3MTUyID4+PiAxOSAhPT0gNCkgeyAKICAkRVJST1IoJyM2MzA6IDIwOTcxNTIgPj4+IDE5ID09PSA0LiBBY3R1YWw6ICcgKyAoMjA5NzE1MiA+Pj4gMTkpKTsgCn0gCgoKaWYgKDQxOTQzMDQgPj4+IDE5ICE9PSA4KSB7IAogICRFUlJPUignIzYzMTogNDE5NDMwNCA+Pj4gMTkgPT09IDguIEFjdHVhbDogJyArICg0MTk0MzA0ID4+PiAxOSkpOyAKfSAKCgppZiAoODM4ODYwOCA+Pj4gMTkgIT09IDE2KSB7IAogICRFUlJPUignIzYzMjogODM4ODYwOCA+Pj4gMTkgPT09IDE2LiBBY3R1YWw6ICcgKyAoODM4ODYwOCA+Pj4gMTkpKTsgCn0gCgoKaWYgKDE2Nzc3MjE2ID4+PiAxOSAhPT0gMzIpIHsgCiAgJEVSUk9SKCcjNjMzOiAxNjc3NzIxNiA+Pj4gMTkgPT09IDMyLiBBY3R1YWw6ICcgKyAoMTY3NzcyMTYgPj4+IDE5KSk7IAp9IAoKCmlmICgzMzU1NDQzMiA+Pj4gMTkgIT09IDY0KSB7IAogICRFUlJPUignIzYzNDogMzM1NTQ0MzIgPj4+IDE5ID09PSA2NC4gQWN0dWFsOiAnICsgKDMzNTU0NDMyID4+PiAxOSkpOyAKfSAKCgppZiAoNjcxMDg4NjQgPj4+IDE5ICE9PSAxMjgpIHsgCiAgJEVSUk9SKCcjNjM1OiA2NzEwODg2NCA+Pj4gMTkgPT09IDEyOC4gQWN0dWFsOiAnICsgKDY3MTA4ODY0ID4+PiAxOSkpOyAKfSAKCgppZiAoMTM0MjE3NzI4ID4+PiAxOSAhPT0gMjU2KSB7IAogICRFUlJPUignIzYzNjogMTM0MjE3NzI4ID4+PiAxOSA9PT0gMjU2LiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI4ID4+PiAxOSkpOyAKfSAKCgppZiAoMjY4NDM1NDU2ID4+PiAxOSAhPT0gNTEyKSB7IAogICRFUlJPUignIzYzNzogMjY4NDM1NDU2ID4+PiAxOSA9PT0gNTEyLiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU2ID4+PiAxOSkpOyAKfSAKCgppZiAoNTM2ODcwOTEyID4+PiAxOSAhPT0gMTAyNCkgeyAKICAkRVJST1IoJyM2Mzg6IDUzNjg3MDkxMiA+Pj4gMTkgPT09IDEwMjQuIEFjdHVhbDogJyArICg1MzY4NzA5MTIgPj4+IDE5KSk7IAp9IAoKCmlmICgxMDczNzQxODI0ID4+PiAxOSAhPT0gMjA0OCkgeyAKICAkRVJST1IoJyM2Mzk6IDEwNzM3NDE4MjQgPj4+IDE5ID09PSAyMDQ4LiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyNCA+Pj4gMTkpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDggPj4+IDE5ICE9PSA0MDk2KSB7IAogICRFUlJPUignIzY0MDogMjE0NzQ4MzY0OCA+Pj4gMTkgPT09IDQwOTYuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ4ID4+PiAxOSkpOyAKfSAKCgppZiAoMSA+Pj4gMjAgIT09IDApIHsgCiAgJEVSUk9SKCcjNjQxOiAxID4+PiAyMCA9PT0gMC4gQWN0dWFsOiAnICsgKDEgPj4+IDIwKSk7IAp9IAoKCmlmICgyID4+PiAyMCAhPT0gMCkgeyAKICAkRVJST1IoJyM2NDI6IDIgPj4+IDIwID09PSAwLiBBY3R1YWw6ICcgKyAoMiA+Pj4gMjApKTsgCn0gCgoKaWYgKDQgPj4+IDIwICE9PSAwKSB7IAogICRFUlJPUignIzY0MzogNCA+Pj4gMjAgPT09IDAuIEFjdHVhbDogJyArICg0ID4+PiAyMCkpOyAKfSAKCgppZiAoOCA+Pj4gMjAgIT09IDApIHsgCiAgJEVSUk9SKCcjNjQ0OiA4ID4+PiAyMCA9PT0gMC4gQWN0dWFsOiAnICsgKDggPj4+IDIwKSk7IAp9IAoKCmlmICgxNiA+Pj4gMjAgIT09IDApIHsgCiAgJEVSUk9SKCcjNjQ1OiAxNiA+Pj4gMjAgPT09IDAuIEFjdHVhbDogJyArICgxNiA+Pj4gMjApKTsgCn0gCgoKaWYgKDMyID4+PiAyMCAhPT0gMCkgeyAKICAkRVJST1IoJyM2NDY6IDMyID4+PiAyMCA9PT0gMC4gQWN0dWFsOiAnICsgKDMyID4+PiAyMCkpOyAKfSAKCgppZiAoNjQgPj4+IDIwICE9PSAwKSB7IAogICRFUlJPUignIzY0NzogNjQgPj4+IDIwID09PSAwLiBBY3R1YWw6ICcgKyAoNjQgPj4+IDIwKSk7IAp9IAoKCmlmICgxMjggPj4+IDIwICE9PSAwKSB7IAogICRFUlJPUignIzY0ODogMTI4ID4+PiAyMCA9PT0gMC4gQWN0dWFsOiAnICsgKDEyOCA+Pj4gMjApKTsgCn0gCgoKaWYgKDI1NiA+Pj4gMjAgIT09IDApIHsgCiAgJEVSUk9SKCcjNjQ5OiAyNTYgPj4+IDIwID09PSAwLiBBY3R1YWw6ICcgKyAoMjU2ID4+PiAyMCkpOyAKfSAKCgppZiAoNTEyID4+PiAyMCAhPT0gMCkgeyAKICAkRVJST1IoJyM2NTA6IDUxMiA+Pj4gMjAgPT09IDAuIEFjdHVhbDogJyArICg1MTIgPj4+IDIwKSk7IAp9IAoKCmlmICgxMDI0ID4+PiAyMCAhPT0gMCkgeyAKICAkRVJST1IoJyM2NTE6IDEwMjQgPj4+IDIwID09PSAwLiBBY3R1YWw6ICcgKyAoMTAyNCA+Pj4gMjApKTsgCn0gCgoKaWYgKDIwNDggPj4+IDIwICE9PSAwKSB7IAogICRFUlJPUignIzY1MjogMjA0OCA+Pj4gMjAgPT09IDAuIEFjdHVhbDogJyArICgyMDQ4ID4+PiAyMCkpOyAKfSAKCgppZiAoNDA5NiA+Pj4gMjAgIT09IDApIHsgCiAgJEVSUk9SKCcjNjUzOiA0MDk2ID4+PiAyMCA9PT0gMC4gQWN0dWFsOiAnICsgKDQwOTYgPj4+IDIwKSk7IAp9IAoKCmlmICg4MTkyID4+PiAyMCAhPT0gMCkgeyAKICAkRVJST1IoJyM2NTQ6IDgxOTIgPj4+IDIwID09PSAwLiBBY3R1YWw6ICcgKyAoODE5MiA+Pj4gMjApKTsgCn0gCgoKaWYgKDE2Mzg0ID4+PiAyMCAhPT0gMCkgeyAKICAkRVJST1IoJyM2NTU6IDE2Mzg0ID4+PiAyMCA9PT0gMC4gQWN0dWFsOiAnICsgKDE2Mzg0ID4+PiAyMCkpOyAKfSAKCgppZiAoMzI3NjggPj4+IDIwICE9PSAwKSB7IAogICRFUlJPUignIzY1NjogMzI3NjggPj4+IDIwID09PSAwLiBBY3R1YWw6ICcgKyAoMzI3NjggPj4+IDIwKSk7IAp9IAoKCmlmICg2NTUzNiA+Pj4gMjAgIT09IDApIHsgCiAgJEVSUk9SKCcjNjU3OiA2NTUzNiA+Pj4gMjAgPT09IDAuIEFjdHVhbDogJyArICg2NTUzNiA+Pj4gMjApKTsgCn0gCgoKaWYgKDEzMTA3MiA+Pj4gMjAgIT09IDApIHsgCiAgJEVSUk9SKCcjNjU4OiAxMzEwNzIgPj4+IDIwID09PSAwLiBBY3R1YWw6ICcgKyAoMTMxMDcyID4+PiAyMCkpOyAKfSAKCgppZiAoMjYyMTQ0ID4+PiAyMCAhPT0gMCkgeyAKICAkRVJST1IoJyM2NTk6IDI2MjE0NCA+Pj4gMjAgPT09IDAuIEFjdHVhbDogJyArICgyNjIxNDQgPj4+IDIwKSk7IAp9IAoKCmlmICg1MjQyODggPj4+IDIwICE9PSAwKSB7IAogICRFUlJPUignIzY2MDogNTI0Mjg4ID4+PiAyMCA9PT0gMC4gQWN0dWFsOiAnICsgKDUyNDI4OCA+Pj4gMjApKTsgCn0gCgoKaWYgKDEwNDg1NzYgPj4+IDIwICE9PSAxKSB7IAogICRFUlJPUignIzY2MTogMTA0ODU3NiA+Pj4gMjAgPT09IDEuIEFjdHVhbDogJyArICgxMDQ4NTc2ID4+PiAyMCkpOyAKfSAKCgppZiAoMjA5NzE1MiA+Pj4gMjAgIT09IDIpIHsgCiAgJEVSUk9SKCcjNjYyOiAyMDk3MTUyID4+PiAyMCA9PT0gMi4gQWN0dWFsOiAnICsgKDIwOTcxNTIgPj4+IDIwKSk7IAp9IAoKCmlmICg0MTk0MzA0ID4+PiAyMCAhPT0gNCkgeyAKICAkRVJST1IoJyM2NjM6IDQxOTQzMDQgPj4+IDIwID09PSA0LiBBY3R1YWw6ICcgKyAoNDE5NDMwNCA+Pj4gMjApKTsgCn0gCgoKaWYgKDgzODg2MDggPj4+IDIwICE9PSA4KSB7IAogICRFUlJPUignIzY2NDogODM4ODYwOCA+Pj4gMjAgPT09IDguIEFjdHVhbDogJyArICg4Mzg4NjA4ID4+PiAyMCkpOyAKfSAKCgppZiAoMTY3NzcyMTYgPj4+IDIwICE9PSAxNikgeyAKICAkRVJST1IoJyM2NjU6IDE2Nzc3MjE2ID4+PiAyMCA9PT0gMTYuIEFjdHVhbDogJyArICgxNjc3NzIxNiA+Pj4gMjApKTsgCn0gCgoKaWYgKDMzNTU0NDMyID4+PiAyMCAhPT0gMzIpIHsgCiAgJEVSUk9SKCcjNjY2OiAzMzU1NDQzMiA+Pj4gMjAgPT09IDMyLiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzIgPj4+IDIwKSk7IAp9IAoKCmlmICg2NzEwODg2NCA+Pj4gMjAgIT09IDY0KSB7IAogICRFUlJPUignIzY2NzogNjcxMDg4NjQgPj4+IDIwID09PSA2NC4gQWN0dWFsOiAnICsgKDY3MTA4ODY0ID4+PiAyMCkpOyAKfSAKCgppZiAoMTM0MjE3NzI4ID4+PiAyMCAhPT0gMTI4KSB7IAogICRFUlJPUignIzY2ODogMTM0MjE3NzI4ID4+PiAyMCA9PT0gMTI4LiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI4ID4+PiAyMCkpOyAKfSAKCgppZiAoMjY4NDM1NDU2ID4+PiAyMCAhPT0gMjU2KSB7IAogICRFUlJPUignIzY2OTogMjY4NDM1NDU2ID4+PiAyMCA9PT0gMjU2LiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU2ID4+PiAyMCkpOyAKfSAKCgppZiAoNTM2ODcwOTEyID4+PiAyMCAhPT0gNTEyKSB7IAogICRFUlJPUignIzY3MDogNTM2ODcwOTEyID4+PiAyMCA9PT0gNTEyLiBBY3R1YWw6ICcgKyAoNTM2ODcwOTEyID4+PiAyMCkpOyAKfSAKCgppZiAoMTA3Mzc0MTgyNCA+Pj4gMjAgIT09IDEwMjQpIHsgCiAgJEVSUk9SKCcjNjcxOiAxMDczNzQxODI0ID4+PiAyMCA9PT0gMTAyNC4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjQgPj4+IDIwKSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ4ID4+PiAyMCAhPT0gMjA0OCkgeyAKICAkRVJST1IoJyM2NzI6IDIxNDc0ODM2NDggPj4+IDIwID09PSAyMDQ4LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0OCA+Pj4gMjApKTsgCn0gCgoKaWYgKDEgPj4+IDIxICE9PSAwKSB7IAogICRFUlJPUignIzY3MzogMSA+Pj4gMjEgPT09IDAuIEFjdHVhbDogJyArICgxID4+PiAyMSkpOyAKfSAKCgppZiAoMiA+Pj4gMjEgIT09IDApIHsgCiAgJEVSUk9SKCcjNjc0OiAyID4+PiAyMSA9PT0gMC4gQWN0dWFsOiAnICsgKDIgPj4+IDIxKSk7IAp9IAoKCmlmICg0ID4+PiAyMSAhPT0gMCkgeyAKICAkRVJST1IoJyM2NzU6IDQgPj4+IDIxID09PSAwLiBBY3R1YWw6ICcgKyAoNCA+Pj4gMjEpKTsgCn0gCgoKaWYgKDggPj4+IDIxICE9PSAwKSB7IAogICRFUlJPUignIzY3NjogOCA+Pj4gMjEgPT09IDAuIEFjdHVhbDogJyArICg4ID4+PiAyMSkpOyAKfSAKCgppZiAoMTYgPj4+IDIxICE9PSAwKSB7IAogICRFUlJPUignIzY3NzogMTYgPj4+IDIxID09PSAwLiBBY3R1YWw6ICcgKyAoMTYgPj4+IDIxKSk7IAp9IAoKCmlmICgzMiA+Pj4gMjEgIT09IDApIHsgCiAgJEVSUk9SKCcjNjc4OiAzMiA+Pj4gMjEgPT09IDAuIEFjdHVhbDogJyArICgzMiA+Pj4gMjEpKTsgCn0gCgoKaWYgKDY0ID4+PiAyMSAhPT0gMCkgeyAKICAkRVJST1IoJyM2Nzk6IDY0ID4+PiAyMSA9PT0gMC4gQWN0dWFsOiAnICsgKDY0ID4+PiAyMSkpOyAKfSAKCgppZiAoMTI4ID4+PiAyMSAhPT0gMCkgeyAKICAkRVJST1IoJyM2ODA6IDEyOCA+Pj4gMjEgPT09IDAuIEFjdHVhbDogJyArICgxMjggPj4+IDIxKSk7IAp9IAoKCmlmICgyNTYgPj4+IDIxICE9PSAwKSB7IAogICRFUlJPUignIzY4MTogMjU2ID4+PiAyMSA9PT0gMC4gQWN0dWFsOiAnICsgKDI1NiA+Pj4gMjEpKTsgCn0gCgoKaWYgKDUxMiA+Pj4gMjEgIT09IDApIHsgCiAgJEVSUk9SKCcjNjgyOiA1MTIgPj4+IDIxID09PSAwLiBBY3R1YWw6ICcgKyAoNTEyID4+PiAyMSkpOyAKfSAKCgppZiAoMTAyNCA+Pj4gMjEgIT09IDApIHsgCiAgJEVSUk9SKCcjNjgzOiAxMDI0ID4+PiAyMSA9PT0gMC4gQWN0dWFsOiAnICsgKDEwMjQgPj4+IDIxKSk7IAp9IAoKCmlmICgyMDQ4ID4+PiAyMSAhPT0gMCkgeyAKICAkRVJST1IoJyM2ODQ6IDIwNDggPj4+IDIxID09PSAwLiBBY3R1YWw6ICcgKyAoMjA0OCA+Pj4gMjEpKTsgCn0gCgoKaWYgKDQwOTYgPj4+IDIxICE9PSAwKSB7IAogICRFUlJPUignIzY4NTogNDA5NiA+Pj4gMjEgPT09IDAuIEFjdHVhbDogJyArICg0MDk2ID4+PiAyMSkpOyAKfSAKCgppZiAoODE5MiA+Pj4gMjEgIT09IDApIHsgCiAgJEVSUk9SKCcjNjg2OiA4MTkyID4+PiAyMSA9PT0gMC4gQWN0dWFsOiAnICsgKDgxOTIgPj4+IDIxKSk7IAp9IAoKCmlmICgxNjM4NCA+Pj4gMjEgIT09IDApIHsgCiAgJEVSUk9SKCcjNjg3OiAxNjM4NCA+Pj4gMjEgPT09IDAuIEFjdHVhbDogJyArICgxNjM4NCA+Pj4gMjEpKTsgCn0gCgoKaWYgKDMyNzY4ID4+PiAyMSAhPT0gMCkgeyAKICAkRVJST1IoJyM2ODg6IDMyNzY4ID4+PiAyMSA9PT0gMC4gQWN0dWFsOiAnICsgKDMyNzY4ID4+PiAyMSkpOyAKfSAKCgppZiAoNjU1MzYgPj4+IDIxICE9PSAwKSB7IAogICRFUlJPUignIzY4OTogNjU1MzYgPj4+IDIxID09PSAwLiBBY3R1YWw6ICcgKyAoNjU1MzYgPj4+IDIxKSk7IAp9IAoKCmlmICgxMzEwNzIgPj4+IDIxICE9PSAwKSB7IAogICRFUlJPUignIzY5MDogMTMxMDcyID4+PiAyMSA9PT0gMC4gQWN0dWFsOiAnICsgKDEzMTA3MiA+Pj4gMjEpKTsgCn0gCgoKaWYgKDI2MjE0NCA+Pj4gMjEgIT09IDApIHsgCiAgJEVSUk9SKCcjNjkxOiAyNjIxNDQgPj4+IDIxID09PSAwLiBBY3R1YWw6ICcgKyAoMjYyMTQ0ID4+PiAyMSkpOyAKfSAKCgppZiAoNTI0Mjg4ID4+PiAyMSAhPT0gMCkgeyAKICAkRVJST1IoJyM2OTI6IDUyNDI4OCA+Pj4gMjEgPT09IDAuIEFjdHVhbDogJyArICg1MjQyODggPj4+IDIxKSk7IAp9IAoKCmlmICgxMDQ4NTc2ID4+PiAyMSAhPT0gMCkgeyAKICAkRVJST1IoJyM2OTM6IDEwNDg1NzYgPj4+IDIxID09PSAwLiBBY3R1YWw6ICcgKyAoMTA0ODU3NiA+Pj4gMjEpKTsgCn0gCgoKaWYgKDIwOTcxNTIgPj4+IDIxICE9PSAxKSB7IAogICRFUlJPUignIzY5NDogMjA5NzE1MiA+Pj4gMjEgPT09IDEuIEFjdHVhbDogJyArICgyMDk3MTUyID4+PiAyMSkpOyAKfSAKCgppZiAoNDE5NDMwNCA+Pj4gMjEgIT09IDIpIHsgCiAgJEVSUk9SKCcjNjk1OiA0MTk0MzA0ID4+PiAyMSA9PT0gMi4gQWN0dWFsOiAnICsgKDQxOTQzMDQgPj4+IDIxKSk7IAp9IAoKCmlmICg4Mzg4NjA4ID4+PiAyMSAhPT0gNCkgeyAKICAkRVJST1IoJyM2OTY6IDgzODg2MDggPj4+IDIxID09PSA0LiBBY3R1YWw6ICcgKyAoODM4ODYwOCA+Pj4gMjEpKTsgCn0gCgoKaWYgKDE2Nzc3MjE2ID4+PiAyMSAhPT0gOCkgeyAKICAkRVJST1IoJyM2OTc6IDE2Nzc3MjE2ID4+PiAyMSA9PT0gOC4gQWN0dWFsOiAnICsgKDE2Nzc3MjE2ID4+PiAyMSkpOyAKfSAKCgppZiAoMzM1NTQ0MzIgPj4+IDIxICE9PSAxNikgeyAKICAkRVJST1IoJyM2OTg6IDMzNTU0NDMyID4+PiAyMSA9PT0gMTYuIEFjdHVhbDogJyArICgzMzU1NDQzMiA+Pj4gMjEpKTsgCn0gCgoKaWYgKDY3MTA4ODY0ID4+PiAyMSAhPT0gMzIpIHsgCiAgJEVSUk9SKCcjNjk5OiA2NzEwODg2NCA+Pj4gMjEgPT09IDMyLiBBY3R1YWw6ICcgKyAoNjcxMDg4NjQgPj4+IDIxKSk7IAp9IAoKCmlmICgxMzQyMTc3MjggPj4+IDIxICE9PSA2NCkgeyAKICAkRVJST1IoJyM3MDA6IDEzNDIxNzcyOCA+Pj4gMjEgPT09IDY0LiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI4ID4+PiAyMSkpOyAKfSAKCgppZiAoMjY4NDM1NDU2ID4+PiAyMSAhPT0gMTI4KSB7IAogICRFUlJPUignIzcwMTogMjY4NDM1NDU2ID4+PiAyMSA9PT0gMTI4LiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU2ID4+PiAyMSkpOyAKfSAKCgppZiAoNTM2ODcwOTEyID4+PiAyMSAhPT0gMjU2KSB7IAogICRFUlJPUignIzcwMjogNTM2ODcwOTEyID4+PiAyMSA9PT0gMjU2LiBBY3R1YWw6ICcgKyAoNTM2ODcwOTEyID4+PiAyMSkpOyAKfSAKCgppZiAoMTA3Mzc0MTgyNCA+Pj4gMjEgIT09IDUxMikgeyAKICAkRVJST1IoJyM3MDM6IDEwNzM3NDE4MjQgPj4+IDIxID09PSA1MTIuIEFjdHVhbDogJyArICgxMDczNzQxODI0ID4+PiAyMSkpOyAKfSAKCgppZiAoMjE0NzQ4MzY0OCA+Pj4gMjEgIT09IDEwMjQpIHsgCiAgJEVSUk9SKCcjNzA0OiAyMTQ3NDgzNjQ4ID4+PiAyMSA9PT0gMTAyNC4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDggPj4+IDIxKSk7IAp9IAoKCmlmICgxID4+PiAyMiAhPT0gMCkgeyAKICAkRVJST1IoJyM3MDU6IDEgPj4+IDIyID09PSAwLiBBY3R1YWw6ICcgKyAoMSA+Pj4gMjIpKTsgCn0gCgoKaWYgKDIgPj4+IDIyICE9PSAwKSB7IAogICRFUlJPUignIzcwNjogMiA+Pj4gMjIgPT09IDAuIEFjdHVhbDogJyArICgyID4+PiAyMikpOyAKfSAKCgppZiAoNCA+Pj4gMjIgIT09IDApIHsgCiAgJEVSUk9SKCcjNzA3OiA0ID4+PiAyMiA9PT0gMC4gQWN0dWFsOiAnICsgKDQgPj4+IDIyKSk7IAp9IAoKCmlmICg4ID4+PiAyMiAhPT0gMCkgeyAKICAkRVJST1IoJyM3MDg6IDggPj4+IDIyID09PSAwLiBBY3R1YWw6ICcgKyAoOCA+Pj4gMjIpKTsgCn0gCgoKaWYgKDE2ID4+PiAyMiAhPT0gMCkgeyAKICAkRVJST1IoJyM3MDk6IDE2ID4+PiAyMiA9PT0gMC4gQWN0dWFsOiAnICsgKDE2ID4+PiAyMikpOyAKfSAKCgppZiAoMzIgPj4+IDIyICE9PSAwKSB7IAogICRFUlJPUignIzcxMDogMzIgPj4+IDIyID09PSAwLiBBY3R1YWw6ICcgKyAoMzIgPj4+IDIyKSk7IAp9IAoKCmlmICg2NCA+Pj4gMjIgIT09IDApIHsgCiAgJEVSUk9SKCcjNzExOiA2NCA+Pj4gMjIgPT09IDAuIEFjdHVhbDogJyArICg2NCA+Pj4gMjIpKTsgCn0gCgoKaWYgKDEyOCA+Pj4gMjIgIT09IDApIHsgCiAgJEVSUk9SKCcjNzEyOiAxMjggPj4+IDIyID09PSAwLiBBY3R1YWw6ICcgKyAoMTI4ID4+PiAyMikpOyAKfSAKCgppZiAoMjU2ID4+PiAyMiAhPT0gMCkgeyAKICAkRVJST1IoJyM3MTM6IDI1NiA+Pj4gMjIgPT09IDAuIEFjdHVhbDogJyArICgyNTYgPj4+IDIyKSk7IAp9IAoKCmlmICg1MTIgPj4+IDIyICE9PSAwKSB7IAogICRFUlJPUignIzcxNDogNTEyID4+PiAyMiA9PT0gMC4gQWN0dWFsOiAnICsgKDUxMiA+Pj4gMjIpKTsgCn0gCgoKaWYgKDEwMjQgPj4+IDIyICE9PSAwKSB7IAogICRFUlJPUignIzcxNTogMTAyNCA+Pj4gMjIgPT09IDAuIEFjdHVhbDogJyArICgxMDI0ID4+PiAyMikpOyAKfSAKCgppZiAoMjA0OCA+Pj4gMjIgIT09IDApIHsgCiAgJEVSUk9SKCcjNzE2OiAyMDQ4ID4+PiAyMiA9PT0gMC4gQWN0dWFsOiAnICsgKDIwNDggPj4+IDIyKSk7IAp9IAoKCmlmICg0MDk2ID4+PiAyMiAhPT0gMCkgeyAKICAkRVJST1IoJyM3MTc6IDQwOTYgPj4+IDIyID09PSAwLiBBY3R1YWw6ICcgKyAoNDA5NiA+Pj4gMjIpKTsgCn0gCgoKaWYgKDgxOTIgPj4+IDIyICE9PSAwKSB7IAogICRFUlJPUignIzcxODogODE5MiA+Pj4gMjIgPT09IDAuIEFjdHVhbDogJyArICg4MTkyID4+PiAyMikpOyAKfSAKCgppZiAoMTYzODQgPj4+IDIyICE9PSAwKSB7IAogICRFUlJPUignIzcxOTogMTYzODQgPj4+IDIyID09PSAwLiBBY3R1YWw6ICcgKyAoMTYzODQgPj4+IDIyKSk7IAp9IAoKCmlmICgzMjc2OCA+Pj4gMjIgIT09IDApIHsgCiAgJEVSUk9SKCcjNzIwOiAzMjc2OCA+Pj4gMjIgPT09IDAuIEFjdHVhbDogJyArICgzMjc2OCA+Pj4gMjIpKTsgCn0gCgoKaWYgKDY1NTM2ID4+PiAyMiAhPT0gMCkgeyAKICAkRVJST1IoJyM3MjE6IDY1NTM2ID4+PiAyMiA9PT0gMC4gQWN0dWFsOiAnICsgKDY1NTM2ID4+PiAyMikpOyAKfSAKCgppZiAoMTMxMDcyID4+PiAyMiAhPT0gMCkgeyAKICAkRVJST1IoJyM3MjI6IDEzMTA3MiA+Pj4gMjIgPT09IDAuIEFjdHVhbDogJyArICgxMzEwNzIgPj4+IDIyKSk7IAp9IAoKCmlmICgyNjIxNDQgPj4+IDIyICE9PSAwKSB7IAogICRFUlJPUignIzcyMzogMjYyMTQ0ID4+PiAyMiA9PT0gMC4gQWN0dWFsOiAnICsgKDI2MjE0NCA+Pj4gMjIpKTsgCn0gCgoKaWYgKDUyNDI4OCA+Pj4gMjIgIT09IDApIHsgCiAgJEVSUk9SKCcjNzI0OiA1MjQyODggPj4+IDIyID09PSAwLiBBY3R1YWw6ICcgKyAoNTI0Mjg4ID4+PiAyMikpOyAKfSAKCgppZiAoMTA0ODU3NiA+Pj4gMjIgIT09IDApIHsgCiAgJEVSUk9SKCcjNzI1OiAxMDQ4NTc2ID4+PiAyMiA9PT0gMC4gQWN0dWFsOiAnICsgKDEwNDg1NzYgPj4+IDIyKSk7IAp9IAoKCmlmICgyMDk3MTUyID4+PiAyMiAhPT0gMCkgeyAKICAkRVJST1IoJyM3MjY6IDIwOTcxNTIgPj4+IDIyID09PSAwLiBBY3R1YWw6ICcgKyAoMjA5NzE1MiA+Pj4gMjIpKTsgCn0gCgoKaWYgKDQxOTQzMDQgPj4+IDIyICE9PSAxKSB7IAogICRFUlJPUignIzcyNzogNDE5NDMwNCA+Pj4gMjIgPT09IDEuIEFjdHVhbDogJyArICg0MTk0MzA0ID4+PiAyMikpOyAKfSAKCgppZiAoODM4ODYwOCA+Pj4gMjIgIT09IDIpIHsgCiAgJEVSUk9SKCcjNzI4OiA4Mzg4NjA4ID4+PiAyMiA9PT0gMi4gQWN0dWFsOiAnICsgKDgzODg2MDggPj4+IDIyKSk7IAp9IAoKCmlmICgxNjc3NzIxNiA+Pj4gMjIgIT09IDQpIHsgCiAgJEVSUk9SKCcjNzI5OiAxNjc3NzIxNiA+Pj4gMjIgPT09IDQuIEFjdHVhbDogJyArICgxNjc3NzIxNiA+Pj4gMjIpKTsgCn0gCgoKaWYgKDMzNTU0NDMyID4+PiAyMiAhPT0gOCkgeyAKICAkRVJST1IoJyM3MzA6IDMzNTU0NDMyID4+PiAyMiA9PT0gOC4gQWN0dWFsOiAnICsgKDMzNTU0NDMyID4+PiAyMikpOyAKfSAKCgppZiAoNjcxMDg4NjQgPj4+IDIyICE9PSAxNikgeyAKICAkRVJST1IoJyM3MzE6IDY3MTA4ODY0ID4+PiAyMiA9PT0gMTYuIEFjdHVhbDogJyArICg2NzEwODg2NCA+Pj4gMjIpKTsgCn0gCgoKaWYgKDEzNDIxNzcyOCA+Pj4gMjIgIT09IDMyKSB7IAogICRFUlJPUignIzczMjogMTM0MjE3NzI4ID4+PiAyMiA9PT0gMzIuIEFjdHVhbDogJyArICgxMzQyMTc3MjggPj4+IDIyKSk7IAp9IAoKCmlmICgyNjg0MzU0NTYgPj4+IDIyICE9PSA2NCkgeyAKICAkRVJST1IoJyM3MzM6IDI2ODQzNTQ1NiA+Pj4gMjIgPT09IDY0LiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU2ID4+PiAyMikpOyAKfSAKCgppZiAoNTM2ODcwOTEyID4+PiAyMiAhPT0gMTI4KSB7IAogICRFUlJPUignIzczNDogNTM2ODcwOTEyID4+PiAyMiA9PT0gMTI4LiBBY3R1YWw6ICcgKyAoNTM2ODcwOTEyID4+PiAyMikpOyAKfSAKCgppZiAoMTA3Mzc0MTgyNCA+Pj4gMjIgIT09IDI1NikgeyAKICAkRVJST1IoJyM3MzU6IDEwNzM3NDE4MjQgPj4+IDIyID09PSAyNTYuIEFjdHVhbDogJyArICgxMDczNzQxODI0ID4+PiAyMikpOyAKfSAKCgppZiAoMjE0NzQ4MzY0OCA+Pj4gMjIgIT09IDUxMikgeyAKICAkRVJST1IoJyM3MzY6IDIxNDc0ODM2NDggPj4+IDIyID09PSA1MTIuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ4ID4+PiAyMikpOyAKfSAKCgppZiAoMSA+Pj4gMjMgIT09IDApIHsgCiAgJEVSUk9SKCcjNzM3OiAxID4+PiAyMyA9PT0gMC4gQWN0dWFsOiAnICsgKDEgPj4+IDIzKSk7IAp9IAoKCmlmICgyID4+PiAyMyAhPT0gMCkgeyAKICAkRVJST1IoJyM3Mzg6IDIgPj4+IDIzID09PSAwLiBBY3R1YWw6ICcgKyAoMiA+Pj4gMjMpKTsgCn0gCgoKaWYgKDQgPj4+IDIzICE9PSAwKSB7IAogICRFUlJPUignIzczOTogNCA+Pj4gMjMgPT09IDAuIEFjdHVhbDogJyArICg0ID4+PiAyMykpOyAKfSAKCgppZiAoOCA+Pj4gMjMgIT09IDApIHsgCiAgJEVSUk9SKCcjNzQwOiA4ID4+PiAyMyA9PT0gMC4gQWN0dWFsOiAnICsgKDggPj4+IDIzKSk7IAp9IAoKCmlmICgxNiA+Pj4gMjMgIT09IDApIHsgCiAgJEVSUk9SKCcjNzQxOiAxNiA+Pj4gMjMgPT09IDAuIEFjdHVhbDogJyArICgxNiA+Pj4gMjMpKTsgCn0gCgoKaWYgKDMyID4+PiAyMyAhPT0gMCkgeyAKICAkRVJST1IoJyM3NDI6IDMyID4+PiAyMyA9PT0gMC4gQWN0dWFsOiAnICsgKDMyID4+PiAyMykpOyAKfSAKCgppZiAoNjQgPj4+IDIzICE9PSAwKSB7IAogICRFUlJPUignIzc0MzogNjQgPj4+IDIzID09PSAwLiBBY3R1YWw6ICcgKyAoNjQgPj4+IDIzKSk7IAp9IAoKCmlmICgxMjggPj4+IDIzICE9PSAwKSB7IAogICRFUlJPUignIzc0NDogMTI4ID4+PiAyMyA9PT0gMC4gQWN0dWFsOiAnICsgKDEyOCA+Pj4gMjMpKTsgCn0gCgoKaWYgKDI1NiA+Pj4gMjMgIT09IDApIHsgCiAgJEVSUk9SKCcjNzQ1OiAyNTYgPj4+IDIzID09PSAwLiBBY3R1YWw6ICcgKyAoMjU2ID4+PiAyMykpOyAKfSAKCgppZiAoNTEyID4+PiAyMyAhPT0gMCkgeyAKICAkRVJST1IoJyM3NDY6IDUxMiA+Pj4gMjMgPT09IDAuIEFjdHVhbDogJyArICg1MTIgPj4+IDIzKSk7IAp9IAoKCmlmICgxMDI0ID4+PiAyMyAhPT0gMCkgeyAKICAkRVJST1IoJyM3NDc6IDEwMjQgPj4+IDIzID09PSAwLiBBY3R1YWw6ICcgKyAoMTAyNCA+Pj4gMjMpKTsgCn0gCgoKaWYgKDIwNDggPj4+IDIzICE9PSAwKSB7IAogICRFUlJPUignIzc0ODogMjA0OCA+Pj4gMjMgPT09IDAuIEFjdHVhbDogJyArICgyMDQ4ID4+PiAyMykpOyAKfSAKCgppZiAoNDA5NiA+Pj4gMjMgIT09IDApIHsgCiAgJEVSUk9SKCcjNzQ5OiA0MDk2ID4+PiAyMyA9PT0gMC4gQWN0dWFsOiAnICsgKDQwOTYgPj4+IDIzKSk7IAp9IAoKCmlmICg4MTkyID4+PiAyMyAhPT0gMCkgeyAKICAkRVJST1IoJyM3NTA6IDgxOTIgPj4+IDIzID09PSAwLiBBY3R1YWw6ICcgKyAoODE5MiA+Pj4gMjMpKTsgCn0gCgoKaWYgKDE2Mzg0ID4+PiAyMyAhPT0gMCkgeyAKICAkRVJST1IoJyM3NTE6IDE2Mzg0ID4+PiAyMyA9PT0gMC4gQWN0dWFsOiAnICsgKDE2Mzg0ID4+PiAyMykpOyAKfSAKCgppZiAoMzI3NjggPj4+IDIzICE9PSAwKSB7IAogICRFUlJPUignIzc1MjogMzI3NjggPj4+IDIzID09PSAwLiBBY3R1YWw6ICcgKyAoMzI3NjggPj4+IDIzKSk7IAp9IAoKCmlmICg2NTUzNiA+Pj4gMjMgIT09IDApIHsgCiAgJEVSUk9SKCcjNzUzOiA2NTUzNiA+Pj4gMjMgPT09IDAuIEFjdHVhbDogJyArICg2NTUzNiA+Pj4gMjMpKTsgCn0gCgoKaWYgKDEzMTA3MiA+Pj4gMjMgIT09IDApIHsgCiAgJEVSUk9SKCcjNzU0OiAxMzEwNzIgPj4+IDIzID09PSAwLiBBY3R1YWw6ICcgKyAoMTMxMDcyID4+PiAyMykpOyAKfSAKCgppZiAoMjYyMTQ0ID4+PiAyMyAhPT0gMCkgeyAKICAkRVJST1IoJyM3NTU6IDI2MjE0NCA+Pj4gMjMgPT09IDAuIEFjdHVhbDogJyArICgyNjIxNDQgPj4+IDIzKSk7IAp9IAoKCmlmICg1MjQyODggPj4+IDIzICE9PSAwKSB7IAogICRFUlJPUignIzc1NjogNTI0Mjg4ID4+PiAyMyA9PT0gMC4gQWN0dWFsOiAnICsgKDUyNDI4OCA+Pj4gMjMpKTsgCn0gCgoKaWYgKDEwNDg1NzYgPj4+IDIzICE9PSAwKSB7IAogICRFUlJPUignIzc1NzogMTA0ODU3NiA+Pj4gMjMgPT09IDAuIEFjdHVhbDogJyArICgxMDQ4NTc2ID4+PiAyMykpOyAKfSAKCgppZiAoMjA5NzE1MiA+Pj4gMjMgIT09IDApIHsgCiAgJEVSUk9SKCcjNzU4OiAyMDk3MTUyID4+PiAyMyA9PT0gMC4gQWN0dWFsOiAnICsgKDIwOTcxNTIgPj4+IDIzKSk7IAp9IAoKCmlmICg0MTk0MzA0ID4+PiAyMyAhPT0gMCkgeyAKICAkRVJST1IoJyM3NTk6IDQxOTQzMDQgPj4+IDIzID09PSAwLiBBY3R1YWw6ICcgKyAoNDE5NDMwNCA+Pj4gMjMpKTsgCn0gCgoKaWYgKDgzODg2MDggPj4+IDIzICE9PSAxKSB7IAogICRFUlJPUignIzc2MDogODM4ODYwOCA+Pj4gMjMgPT09IDEuIEFjdHVhbDogJyArICg4Mzg4NjA4ID4+PiAyMykpOyAKfSAKCgppZiAoMTY3NzcyMTYgPj4+IDIzICE9PSAyKSB7IAogICRFUlJPUignIzc2MTogMTY3NzcyMTYgPj4+IDIzID09PSAyLiBBY3R1YWw6ICcgKyAoMTY3NzcyMTYgPj4+IDIzKSk7IAp9IAoKCmlmICgzMzU1NDQzMiA+Pj4gMjMgIT09IDQpIHsgCiAgJEVSUk9SKCcjNzYyOiAzMzU1NDQzMiA+Pj4gMjMgPT09IDQuIEFjdHVhbDogJyArICgzMzU1NDQzMiA+Pj4gMjMpKTsgCn0gCgoKaWYgKDY3MTA4ODY0ID4+PiAyMyAhPT0gOCkgeyAKICAkRVJST1IoJyM3NjM6IDY3MTA4ODY0ID4+PiAyMyA9PT0gOC4gQWN0dWFsOiAnICsgKDY3MTA4ODY0ID4+PiAyMykpOyAKfSAKCgppZiAoMTM0MjE3NzI4ID4+PiAyMyAhPT0gMTYpIHsgCiAgJEVSUk9SKCcjNzY0OiAxMzQyMTc3MjggPj4+IDIzID09PSAxNi4gQWN0dWFsOiAnICsgKDEzNDIxNzcyOCA+Pj4gMjMpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NiA+Pj4gMjMgIT09IDMyKSB7IAogICRFUlJPUignIzc2NTogMjY4NDM1NDU2ID4+PiAyMyA9PT0gMzIuIEFjdHVhbDogJyArICgyNjg0MzU0NTYgPj4+IDIzKSk7IAp9IAoKCmlmICg1MzY4NzA5MTIgPj4+IDIzICE9PSA2NCkgeyAKICAkRVJST1IoJyM3NjY6IDUzNjg3MDkxMiA+Pj4gMjMgPT09IDY0LiBBY3R1YWw6ICcgKyAoNTM2ODcwOTEyID4+PiAyMykpOyAKfSAKCgppZiAoMTA3Mzc0MTgyNCA+Pj4gMjMgIT09IDEyOCkgeyAKICAkRVJST1IoJyM3Njc6IDEwNzM3NDE4MjQgPj4+IDIzID09PSAxMjguIEFjdHVhbDogJyArICgxMDczNzQxODI0ID4+PiAyMykpOyAKfSAKCgppZiAoMjE0NzQ4MzY0OCA+Pj4gMjMgIT09IDI1NikgeyAKICAkRVJST1IoJyM3Njg6IDIxNDc0ODM2NDggPj4+IDIzID09PSAyNTYuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ4ID4+PiAyMykpOyAKfSAKCgppZiAoMSA+Pj4gMjQgIT09IDApIHsgCiAgJEVSUk9SKCcjNzY5OiAxID4+PiAyNCA9PT0gMC4gQWN0dWFsOiAnICsgKDEgPj4+IDI0KSk7IAp9IAoKCmlmICgyID4+PiAyNCAhPT0gMCkgeyAKICAkRVJST1IoJyM3NzA6IDIgPj4+IDI0ID09PSAwLiBBY3R1YWw6ICcgKyAoMiA+Pj4gMjQpKTsgCn0gCgoKaWYgKDQgPj4+IDI0ICE9PSAwKSB7IAogICRFUlJPUignIzc3MTogNCA+Pj4gMjQgPT09IDAuIEFjdHVhbDogJyArICg0ID4+PiAyNCkpOyAKfSAKCgppZiAoOCA+Pj4gMjQgIT09IDApIHsgCiAgJEVSUk9SKCcjNzcyOiA4ID4+PiAyNCA9PT0gMC4gQWN0dWFsOiAnICsgKDggPj4+IDI0KSk7IAp9IAoKCmlmICgxNiA+Pj4gMjQgIT09IDApIHsgCiAgJEVSUk9SKCcjNzczOiAxNiA+Pj4gMjQgPT09IDAuIEFjdHVhbDogJyArICgxNiA+Pj4gMjQpKTsgCn0gCgoKaWYgKDMyID4+PiAyNCAhPT0gMCkgeyAKICAkRVJST1IoJyM3NzQ6IDMyID4+PiAyNCA9PT0gMC4gQWN0dWFsOiAnICsgKDMyID4+PiAyNCkpOyAKfSAKCgppZiAoNjQgPj4+IDI0ICE9PSAwKSB7IAogICRFUlJPUignIzc3NTogNjQgPj4+IDI0ID09PSAwLiBBY3R1YWw6ICcgKyAoNjQgPj4+IDI0KSk7IAp9IAoKCmlmICgxMjggPj4+IDI0ICE9PSAwKSB7IAogICRFUlJPUignIzc3NjogMTI4ID4+PiAyNCA9PT0gMC4gQWN0dWFsOiAnICsgKDEyOCA+Pj4gMjQpKTsgCn0gCgoKaWYgKDI1NiA+Pj4gMjQgIT09IDApIHsgCiAgJEVSUk9SKCcjNzc3OiAyNTYgPj4+IDI0ID09PSAwLiBBY3R1YWw6ICcgKyAoMjU2ID4+PiAyNCkpOyAKfSAKCgppZiAoNTEyID4+PiAyNCAhPT0gMCkgeyAKICAkRVJST1IoJyM3Nzg6IDUxMiA+Pj4gMjQgPT09IDAuIEFjdHVhbDogJyArICg1MTIgPj4+IDI0KSk7IAp9IAoKCmlmICgxMDI0ID4+PiAyNCAhPT0gMCkgeyAKICAkRVJST1IoJyM3Nzk6IDEwMjQgPj4+IDI0ID09PSAwLiBBY3R1YWw6ICcgKyAoMTAyNCA+Pj4gMjQpKTsgCn0gCgoKaWYgKDIwNDggPj4+IDI0ICE9PSAwKSB7IAogICRFUlJPUignIzc4MDogMjA0OCA+Pj4gMjQgPT09IDAuIEFjdHVhbDogJyArICgyMDQ4ID4+PiAyNCkpOyAKfSAKCgppZiAoNDA5NiA+Pj4gMjQgIT09IDApIHsgCiAgJEVSUk9SKCcjNzgxOiA0MDk2ID4+PiAyNCA9PT0gMC4gQWN0dWFsOiAnICsgKDQwOTYgPj4+IDI0KSk7IAp9IAoKCmlmICg4MTkyID4+PiAyNCAhPT0gMCkgeyAKICAkRVJST1IoJyM3ODI6IDgxOTIgPj4+IDI0ID09PSAwLiBBY3R1YWw6ICcgKyAoODE5MiA+Pj4gMjQpKTsgCn0gCgoKaWYgKDE2Mzg0ID4+PiAyNCAhPT0gMCkgeyAKICAkRVJST1IoJyM3ODM6IDE2Mzg0ID4+PiAyNCA9PT0gMC4gQWN0dWFsOiAnICsgKDE2Mzg0ID4+PiAyNCkpOyAKfSAKCgppZiAoMzI3NjggPj4+IDI0ICE9PSAwKSB7IAogICRFUlJPUignIzc4NDogMzI3NjggPj4+IDI0ID09PSAwLiBBY3R1YWw6ICcgKyAoMzI3NjggPj4+IDI0KSk7IAp9IAoKCmlmICg2NTUzNiA+Pj4gMjQgIT09IDApIHsgCiAgJEVSUk9SKCcjNzg1OiA2NTUzNiA+Pj4gMjQgPT09IDAuIEFjdHVhbDogJyArICg2NTUzNiA+Pj4gMjQpKTsgCn0gCgoKaWYgKDEzMTA3MiA+Pj4gMjQgIT09IDApIHsgCiAgJEVSUk9SKCcjNzg2OiAxMzEwNzIgPj4+IDI0ID09PSAwLiBBY3R1YWw6ICcgKyAoMTMxMDcyID4+PiAyNCkpOyAKfSAKCgppZiAoMjYyMTQ0ID4+PiAyNCAhPT0gMCkgeyAKICAkRVJST1IoJyM3ODc6IDI2MjE0NCA+Pj4gMjQgPT09IDAuIEFjdHVhbDogJyArICgyNjIxNDQgPj4+IDI0KSk7IAp9IAoKCmlmICg1MjQyODggPj4+IDI0ICE9PSAwKSB7IAogICRFUlJPUignIzc4ODogNTI0Mjg4ID4+PiAyNCA9PT0gMC4gQWN0dWFsOiAnICsgKDUyNDI4OCA+Pj4gMjQpKTsgCn0gCgoKaWYgKDEwNDg1NzYgPj4+IDI0ICE9PSAwKSB7IAogICRFUlJPUignIzc4OTogMTA0ODU3NiA+Pj4gMjQgPT09IDAuIEFjdHVhbDogJyArICgxMDQ4NTc2ID4+PiAyNCkpOyAKfSAKCgppZiAoMjA5NzE1MiA+Pj4gMjQgIT09IDApIHsgCiAgJEVSUk9SKCcjNzkwOiAyMDk3MTUyID4+PiAyNCA9PT0gMC4gQWN0dWFsOiAnICsgKDIwOTcxNTIgPj4+IDI0KSk7IAp9IAoKCmlmICg0MTk0MzA0ID4+PiAyNCAhPT0gMCkgeyAKICAkRVJST1IoJyM3OTE6IDQxOTQzMDQgPj4+IDI0ID09PSAwLiBBY3R1YWw6ICcgKyAoNDE5NDMwNCA+Pj4gMjQpKTsgCn0gCgoKaWYgKDgzODg2MDggPj4+IDI0ICE9PSAwKSB7IAogICRFUlJPUignIzc5MjogODM4ODYwOCA+Pj4gMjQgPT09IDAuIEFjdHVhbDogJyArICg4Mzg4NjA4ID4+PiAyNCkpOyAKfSAKCgppZiAoMTY3NzcyMTYgPj4+IDI0ICE9PSAxKSB7IAogICRFUlJPUignIzc5MzogMTY3NzcyMTYgPj4+IDI0ID09PSAxLiBBY3R1YWw6ICcgKyAoMTY3NzcyMTYgPj4+IDI0KSk7IAp9IAoKCmlmICgzMzU1NDQzMiA+Pj4gMjQgIT09IDIpIHsgCiAgJEVSUk9SKCcjNzk0OiAzMzU1NDQzMiA+Pj4gMjQgPT09IDIuIEFjdHVhbDogJyArICgzMzU1NDQzMiA+Pj4gMjQpKTsgCn0gCgoKaWYgKDY3MTA4ODY0ID4+PiAyNCAhPT0gNCkgeyAKICAkRVJST1IoJyM3OTU6IDY3MTA4ODY0ID4+PiAyNCA9PT0gNC4gQWN0dWFsOiAnICsgKDY3MTA4ODY0ID4+PiAyNCkpOyAKfSAKCgppZiAoMTM0MjE3NzI4ID4+PiAyNCAhPT0gOCkgeyAKICAkRVJST1IoJyM3OTY6IDEzNDIxNzcyOCA+Pj4gMjQgPT09IDguIEFjdHVhbDogJyArICgxMzQyMTc3MjggPj4+IDI0KSk7IAp9IAoKCmlmICgyNjg0MzU0NTYgPj4+IDI0ICE9PSAxNikgeyAKICAkRVJST1IoJyM3OTc6IDI2ODQzNTQ1NiA+Pj4gMjQgPT09IDE2LiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU2ID4+PiAyNCkpOyAKfSAKCgppZiAoNTM2ODcwOTEyID4+PiAyNCAhPT0gMzIpIHsgCiAgJEVSUk9SKCcjNzk4OiA1MzY4NzA5MTIgPj4+IDI0ID09PSAzMi4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMiA+Pj4gMjQpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjQgPj4+IDI0ICE9PSA2NCkgeyAKICAkRVJST1IoJyM3OTk6IDEwNzM3NDE4MjQgPj4+IDI0ID09PSA2NC4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjQgPj4+IDI0KSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ4ID4+PiAyNCAhPT0gMTI4KSB7IAogICRFUlJPUignIzgwMDogMjE0NzQ4MzY0OCA+Pj4gMjQgPT09IDEyOC4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDggPj4+IDI0KSk7IAp9IAoKCmlmICgxID4+PiAyNSAhPT0gMCkgeyAKICAkRVJST1IoJyM4MDE6IDEgPj4+IDI1ID09PSAwLiBBY3R1YWw6ICcgKyAoMSA+Pj4gMjUpKTsgCn0gCgoKaWYgKDIgPj4+IDI1ICE9PSAwKSB7IAogICRFUlJPUignIzgwMjogMiA+Pj4gMjUgPT09IDAuIEFjdHVhbDogJyArICgyID4+PiAyNSkpOyAKfSAKCgppZiAoNCA+Pj4gMjUgIT09IDApIHsgCiAgJEVSUk9SKCcjODAzOiA0ID4+PiAyNSA9PT0gMC4gQWN0dWFsOiAnICsgKDQgPj4+IDI1KSk7IAp9IAoKCmlmICg4ID4+PiAyNSAhPT0gMCkgeyAKICAkRVJST1IoJyM4MDQ6IDggPj4+IDI1ID09PSAwLiBBY3R1YWw6ICcgKyAoOCA+Pj4gMjUpKTsgCn0gCgoKaWYgKDE2ID4+PiAyNSAhPT0gMCkgeyAKICAkRVJST1IoJyM4MDU6IDE2ID4+PiAyNSA9PT0gMC4gQWN0dWFsOiAnICsgKDE2ID4+PiAyNSkpOyAKfSAKCgppZiAoMzIgPj4+IDI1ICE9PSAwKSB7IAogICRFUlJPUignIzgwNjogMzIgPj4+IDI1ID09PSAwLiBBY3R1YWw6ICcgKyAoMzIgPj4+IDI1KSk7IAp9IAoKCmlmICg2NCA+Pj4gMjUgIT09IDApIHsgCiAgJEVSUk9SKCcjODA3OiA2NCA+Pj4gMjUgPT09IDAuIEFjdHVhbDogJyArICg2NCA+Pj4gMjUpKTsgCn0gCgoKaWYgKDEyOCA+Pj4gMjUgIT09IDApIHsgCiAgJEVSUk9SKCcjODA4OiAxMjggPj4+IDI1ID09PSAwLiBBY3R1YWw6ICcgKyAoMTI4ID4+PiAyNSkpOyAKfSAKCgppZiAoMjU2ID4+PiAyNSAhPT0gMCkgeyAKICAkRVJST1IoJyM4MDk6IDI1NiA+Pj4gMjUgPT09IDAuIEFjdHVhbDogJyArICgyNTYgPj4+IDI1KSk7IAp9IAoKCmlmICg1MTIgPj4+IDI1ICE9PSAwKSB7IAogICRFUlJPUignIzgxMDogNTEyID4+PiAyNSA9PT0gMC4gQWN0dWFsOiAnICsgKDUxMiA+Pj4gMjUpKTsgCn0gCgoKaWYgKDEwMjQgPj4+IDI1ICE9PSAwKSB7IAogICRFUlJPUignIzgxMTogMTAyNCA+Pj4gMjUgPT09IDAuIEFjdHVhbDogJyArICgxMDI0ID4+PiAyNSkpOyAKfSAKCgppZiAoMjA0OCA+Pj4gMjUgIT09IDApIHsgCiAgJEVSUk9SKCcjODEyOiAyMDQ4ID4+PiAyNSA9PT0gMC4gQWN0dWFsOiAnICsgKDIwNDggPj4+IDI1KSk7IAp9IAoKCmlmICg0MDk2ID4+PiAyNSAhPT0gMCkgeyAKICAkRVJST1IoJyM4MTM6IDQwOTYgPj4+IDI1ID09PSAwLiBBY3R1YWw6ICcgKyAoNDA5NiA+Pj4gMjUpKTsgCn0gCgoKaWYgKDgxOTIgPj4+IDI1ICE9PSAwKSB7IAogICRFUlJPUignIzgxNDogODE5MiA+Pj4gMjUgPT09IDAuIEFjdHVhbDogJyArICg4MTkyID4+PiAyNSkpOyAKfSAKCgppZiAoMTYzODQgPj4+IDI1ICE9PSAwKSB7IAogICRFUlJPUignIzgxNTogMTYzODQgPj4+IDI1ID09PSAwLiBBY3R1YWw6ICcgKyAoMTYzODQgPj4+IDI1KSk7IAp9IAoKCmlmICgzMjc2OCA+Pj4gMjUgIT09IDApIHsgCiAgJEVSUk9SKCcjODE2OiAzMjc2OCA+Pj4gMjUgPT09IDAuIEFjdHVhbDogJyArICgzMjc2OCA+Pj4gMjUpKTsgCn0gCgoKaWYgKDY1NTM2ID4+PiAyNSAhPT0gMCkgeyAKICAkRVJST1IoJyM4MTc6IDY1NTM2ID4+PiAyNSA9PT0gMC4gQWN0dWFsOiAnICsgKDY1NTM2ID4+PiAyNSkpOyAKfSAKCgppZiAoMTMxMDcyID4+PiAyNSAhPT0gMCkgeyAKICAkRVJST1IoJyM4MTg6IDEzMTA3MiA+Pj4gMjUgPT09IDAuIEFjdHVhbDogJyArICgxMzEwNzIgPj4+IDI1KSk7IAp9IAoKCmlmICgyNjIxNDQgPj4+IDI1ICE9PSAwKSB7IAogICRFUlJPUignIzgxOTogMjYyMTQ0ID4+PiAyNSA9PT0gMC4gQWN0dWFsOiAnICsgKDI2MjE0NCA+Pj4gMjUpKTsgCn0gCgoKaWYgKDUyNDI4OCA+Pj4gMjUgIT09IDApIHsgCiAgJEVSUk9SKCcjODIwOiA1MjQyODggPj4+IDI1ID09PSAwLiBBY3R1YWw6ICcgKyAoNTI0Mjg4ID4+PiAyNSkpOyAKfSAKCgppZiAoMTA0ODU3NiA+Pj4gMjUgIT09IDApIHsgCiAgJEVSUk9SKCcjODIxOiAxMDQ4NTc2ID4+PiAyNSA9PT0gMC4gQWN0dWFsOiAnICsgKDEwNDg1NzYgPj4+IDI1KSk7IAp9IAoKCmlmICgyMDk3MTUyID4+PiAyNSAhPT0gMCkgeyAKICAkRVJST1IoJyM4MjI6IDIwOTcxNTIgPj4+IDI1ID09PSAwLiBBY3R1YWw6ICcgKyAoMjA5NzE1MiA+Pj4gMjUpKTsgCn0gCgoKaWYgKDQxOTQzMDQgPj4+IDI1ICE9PSAwKSB7IAogICRFUlJPUignIzgyMzogNDE5NDMwNCA+Pj4gMjUgPT09IDAuIEFjdHVhbDogJyArICg0MTk0MzA0ID4+PiAyNSkpOyAKfSAKCgppZiAoODM4ODYwOCA+Pj4gMjUgIT09IDApIHsgCiAgJEVSUk9SKCcjODI0OiA4Mzg4NjA4ID4+PiAyNSA9PT0gMC4gQWN0dWFsOiAnICsgKDgzODg2MDggPj4+IDI1KSk7IAp9IAoKCmlmICgxNjc3NzIxNiA+Pj4gMjUgIT09IDApIHsgCiAgJEVSUk9SKCcjODI1OiAxNjc3NzIxNiA+Pj4gMjUgPT09IDAuIEFjdHVhbDogJyArICgxNjc3NzIxNiA+Pj4gMjUpKTsgCn0gCgoKaWYgKDMzNTU0NDMyID4+PiAyNSAhPT0gMSkgeyAKICAkRVJST1IoJyM4MjY6IDMzNTU0NDMyID4+PiAyNSA9PT0gMS4gQWN0dWFsOiAnICsgKDMzNTU0NDMyID4+PiAyNSkpOyAKfSAKCgppZiAoNjcxMDg4NjQgPj4+IDI1ICE9PSAyKSB7IAogICRFUlJPUignIzgyNzogNjcxMDg4NjQgPj4+IDI1ID09PSAyLiBBY3R1YWw6ICcgKyAoNjcxMDg4NjQgPj4+IDI1KSk7IAp9IAoKCmlmICgxMzQyMTc3MjggPj4+IDI1ICE9PSA0KSB7IAogICRFUlJPUignIzgyODogMTM0MjE3NzI4ID4+PiAyNSA9PT0gNC4gQWN0dWFsOiAnICsgKDEzNDIxNzcyOCA+Pj4gMjUpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NiA+Pj4gMjUgIT09IDgpIHsgCiAgJEVSUk9SKCcjODI5OiAyNjg0MzU0NTYgPj4+IDI1ID09PSA4LiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU2ID4+PiAyNSkpOyAKfSAKCgppZiAoNTM2ODcwOTEyID4+PiAyNSAhPT0gMTYpIHsgCiAgJEVSUk9SKCcjODMwOiA1MzY4NzA5MTIgPj4+IDI1ID09PSAxNi4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMiA+Pj4gMjUpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjQgPj4+IDI1ICE9PSAzMikgeyAKICAkRVJST1IoJyM4MzE6IDEwNzM3NDE4MjQgPj4+IDI1ID09PSAzMi4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjQgPj4+IDI1KSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ4ID4+PiAyNSAhPT0gNjQpIHsgCiAgJEVSUk9SKCcjODMyOiAyMTQ3NDgzNjQ4ID4+PiAyNSA9PT0gNjQuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ4ID4+PiAyNSkpOyAKfSAKCgppZiAoMSA+Pj4gMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODMzOiAxID4+PiAyNiA9PT0gMC4gQWN0dWFsOiAnICsgKDEgPj4+IDI2KSk7IAp9IAoKCmlmICgyID4+PiAyNiAhPT0gMCkgeyAKICAkRVJST1IoJyM4MzQ6IDIgPj4+IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoMiA+Pj4gMjYpKTsgCn0gCgoKaWYgKDQgPj4+IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzgzNTogNCA+Pj4gMjYgPT09IDAuIEFjdHVhbDogJyArICg0ID4+PiAyNikpOyAKfSAKCgppZiAoOCA+Pj4gMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODM2OiA4ID4+PiAyNiA9PT0gMC4gQWN0dWFsOiAnICsgKDggPj4+IDI2KSk7IAp9IAoKCmlmICgxNiA+Pj4gMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODM3OiAxNiA+Pj4gMjYgPT09IDAuIEFjdHVhbDogJyArICgxNiA+Pj4gMjYpKTsgCn0gCgoKaWYgKDMyID4+PiAyNiAhPT0gMCkgeyAKICAkRVJST1IoJyM4Mzg6IDMyID4+PiAyNiA9PT0gMC4gQWN0dWFsOiAnICsgKDMyID4+PiAyNikpOyAKfSAKCgppZiAoNjQgPj4+IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzgzOTogNjQgPj4+IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoNjQgPj4+IDI2KSk7IAp9IAoKCmlmICgxMjggPj4+IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzg0MDogMTI4ID4+PiAyNiA9PT0gMC4gQWN0dWFsOiAnICsgKDEyOCA+Pj4gMjYpKTsgCn0gCgoKaWYgKDI1NiA+Pj4gMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODQxOiAyNTYgPj4+IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoMjU2ID4+PiAyNikpOyAKfSAKCgppZiAoNTEyID4+PiAyNiAhPT0gMCkgeyAKICAkRVJST1IoJyM4NDI6IDUxMiA+Pj4gMjYgPT09IDAuIEFjdHVhbDogJyArICg1MTIgPj4+IDI2KSk7IAp9IAoKCmlmICgxMDI0ID4+PiAyNiAhPT0gMCkgeyAKICAkRVJST1IoJyM4NDM6IDEwMjQgPj4+IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoMTAyNCA+Pj4gMjYpKTsgCn0gCgoKaWYgKDIwNDggPj4+IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzg0NDogMjA0OCA+Pj4gMjYgPT09IDAuIEFjdHVhbDogJyArICgyMDQ4ID4+PiAyNikpOyAKfSAKCgppZiAoNDA5NiA+Pj4gMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODQ1OiA0MDk2ID4+PiAyNiA9PT0gMC4gQWN0dWFsOiAnICsgKDQwOTYgPj4+IDI2KSk7IAp9IAoKCmlmICg4MTkyID4+PiAyNiAhPT0gMCkgeyAKICAkRVJST1IoJyM4NDY6IDgxOTIgPj4+IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoODE5MiA+Pj4gMjYpKTsgCn0gCgoKaWYgKDE2Mzg0ID4+PiAyNiAhPT0gMCkgeyAKICAkRVJST1IoJyM4NDc6IDE2Mzg0ID4+PiAyNiA9PT0gMC4gQWN0dWFsOiAnICsgKDE2Mzg0ID4+PiAyNikpOyAKfSAKCgppZiAoMzI3NjggPj4+IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzg0ODogMzI3NjggPj4+IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoMzI3NjggPj4+IDI2KSk7IAp9IAoKCmlmICg2NTUzNiA+Pj4gMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODQ5OiA2NTUzNiA+Pj4gMjYgPT09IDAuIEFjdHVhbDogJyArICg2NTUzNiA+Pj4gMjYpKTsgCn0gCgoKaWYgKDEzMTA3MiA+Pj4gMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODUwOiAxMzEwNzIgPj4+IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoMTMxMDcyID4+PiAyNikpOyAKfSAKCgppZiAoMjYyMTQ0ID4+PiAyNiAhPT0gMCkgeyAKICAkRVJST1IoJyM4NTE6IDI2MjE0NCA+Pj4gMjYgPT09IDAuIEFjdHVhbDogJyArICgyNjIxNDQgPj4+IDI2KSk7IAp9IAoKCmlmICg1MjQyODggPj4+IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzg1MjogNTI0Mjg4ID4+PiAyNiA9PT0gMC4gQWN0dWFsOiAnICsgKDUyNDI4OCA+Pj4gMjYpKTsgCn0gCgoKaWYgKDEwNDg1NzYgPj4+IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzg1MzogMTA0ODU3NiA+Pj4gMjYgPT09IDAuIEFjdHVhbDogJyArICgxMDQ4NTc2ID4+PiAyNikpOyAKfSAKCgppZiAoMjA5NzE1MiA+Pj4gMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODU0OiAyMDk3MTUyID4+PiAyNiA9PT0gMC4gQWN0dWFsOiAnICsgKDIwOTcxNTIgPj4+IDI2KSk7IAp9IAoKCmlmICg0MTk0MzA0ID4+PiAyNiAhPT0gMCkgeyAKICAkRVJST1IoJyM4NTU6IDQxOTQzMDQgPj4+IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoNDE5NDMwNCA+Pj4gMjYpKTsgCn0gCgoKaWYgKDgzODg2MDggPj4+IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzg1NjogODM4ODYwOCA+Pj4gMjYgPT09IDAuIEFjdHVhbDogJyArICg4Mzg4NjA4ID4+PiAyNikpOyAKfSAKCgppZiAoMTY3NzcyMTYgPj4+IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzg1NzogMTY3NzcyMTYgPj4+IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoMTY3NzcyMTYgPj4+IDI2KSk7IAp9IAoKCmlmICgzMzU1NDQzMiA+Pj4gMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODU4OiAzMzU1NDQzMiA+Pj4gMjYgPT09IDAuIEFjdHVhbDogJyArICgzMzU1NDQzMiA+Pj4gMjYpKTsgCn0gCgoKaWYgKDY3MTA4ODY0ID4+PiAyNiAhPT0gMSkgeyAKICAkRVJST1IoJyM4NTk6IDY3MTA4ODY0ID4+PiAyNiA9PT0gMS4gQWN0dWFsOiAnICsgKDY3MTA4ODY0ID4+PiAyNikpOyAKfSAKCgppZiAoMTM0MjE3NzI4ID4+PiAyNiAhPT0gMikgeyAKICAkRVJST1IoJyM4NjA6IDEzNDIxNzcyOCA+Pj4gMjYgPT09IDIuIEFjdHVhbDogJyArICgxMzQyMTc3MjggPj4+IDI2KSk7IAp9IAoKCmlmICgyNjg0MzU0NTYgPj4+IDI2ICE9PSA0KSB7IAogICRFUlJPUignIzg2MTogMjY4NDM1NDU2ID4+PiAyNiA9PT0gNC4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NiA+Pj4gMjYpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMiA+Pj4gMjYgIT09IDgpIHsgCiAgJEVSUk9SKCcjODYyOiA1MzY4NzA5MTIgPj4+IDI2ID09PSA4LiBBY3R1YWw6ICcgKyAoNTM2ODcwOTEyID4+PiAyNikpOyAKfSAKCgppZiAoMTA3Mzc0MTgyNCA+Pj4gMjYgIT09IDE2KSB7IAogICRFUlJPUignIzg2MzogMTA3Mzc0MTgyNCA+Pj4gMjYgPT09IDE2LiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyNCA+Pj4gMjYpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDggPj4+IDI2ICE9PSAzMikgeyAKICAkRVJST1IoJyM4NjQ6IDIxNDc0ODM2NDggPj4+IDI2ID09PSAzMi4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDggPj4+IDI2KSk7IAp9IAoKCmlmICgxID4+PiAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM4NjU6IDEgPj4+IDI3ID09PSAwLiBBY3R1YWw6ICcgKyAoMSA+Pj4gMjcpKTsgCn0gCgoKaWYgKDIgPj4+IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzg2NjogMiA+Pj4gMjcgPT09IDAuIEFjdHVhbDogJyArICgyID4+PiAyNykpOyAKfSAKCgppZiAoNCA+Pj4gMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjODY3OiA0ID4+PiAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKDQgPj4+IDI3KSk7IAp9IAoKCmlmICg4ID4+PiAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM4Njg6IDggPj4+IDI3ID09PSAwLiBBY3R1YWw6ICcgKyAoOCA+Pj4gMjcpKTsgCn0gCgoKaWYgKDE2ID4+PiAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM4Njk6IDE2ID4+PiAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKDE2ID4+PiAyNykpOyAKfSAKCgppZiAoMzIgPj4+IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzg3MDogMzIgPj4+IDI3ID09PSAwLiBBY3R1YWw6ICcgKyAoMzIgPj4+IDI3KSk7IAp9IAoKCmlmICg2NCA+Pj4gMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjODcxOiA2NCA+Pj4gMjcgPT09IDAuIEFjdHVhbDogJyArICg2NCA+Pj4gMjcpKTsgCn0gCgoKaWYgKDEyOCA+Pj4gMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjODcyOiAxMjggPj4+IDI3ID09PSAwLiBBY3R1YWw6ICcgKyAoMTI4ID4+PiAyNykpOyAKfSAKCgppZiAoMjU2ID4+PiAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM4NzM6IDI1NiA+Pj4gMjcgPT09IDAuIEFjdHVhbDogJyArICgyNTYgPj4+IDI3KSk7IAp9IAoKCmlmICg1MTIgPj4+IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzg3NDogNTEyID4+PiAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKDUxMiA+Pj4gMjcpKTsgCn0gCgoKaWYgKDEwMjQgPj4+IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzg3NTogMTAyNCA+Pj4gMjcgPT09IDAuIEFjdHVhbDogJyArICgxMDI0ID4+PiAyNykpOyAKfSAKCgppZiAoMjA0OCA+Pj4gMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjODc2OiAyMDQ4ID4+PiAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKDIwNDggPj4+IDI3KSk7IAp9IAoKCmlmICg0MDk2ID4+PiAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM4Nzc6IDQwOTYgPj4+IDI3ID09PSAwLiBBY3R1YWw6ICcgKyAoNDA5NiA+Pj4gMjcpKTsgCn0gCgoKaWYgKDgxOTIgPj4+IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzg3ODogODE5MiA+Pj4gMjcgPT09IDAuIEFjdHVhbDogJyArICg4MTkyID4+PiAyNykpOyAKfSAKCgppZiAoMTYzODQgPj4+IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzg3OTogMTYzODQgPj4+IDI3ID09PSAwLiBBY3R1YWw6ICcgKyAoMTYzODQgPj4+IDI3KSk7IAp9IAoKCmlmICgzMjc2OCA+Pj4gMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjODgwOiAzMjc2OCA+Pj4gMjcgPT09IDAuIEFjdHVhbDogJyArICgzMjc2OCA+Pj4gMjcpKTsgCn0gCgoKaWYgKDY1NTM2ID4+PiAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM4ODE6IDY1NTM2ID4+PiAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKDY1NTM2ID4+PiAyNykpOyAKfSAKCgppZiAoMTMxMDcyID4+PiAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM4ODI6IDEzMTA3MiA+Pj4gMjcgPT09IDAuIEFjdHVhbDogJyArICgxMzEwNzIgPj4+IDI3KSk7IAp9IAoKCmlmICgyNjIxNDQgPj4+IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzg4MzogMjYyMTQ0ID4+PiAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKDI2MjE0NCA+Pj4gMjcpKTsgCn0gCgoKaWYgKDUyNDI4OCA+Pj4gMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjODg0OiA1MjQyODggPj4+IDI3ID09PSAwLiBBY3R1YWw6ICcgKyAoNTI0Mjg4ID4+PiAyNykpOyAKfSAKCgppZiAoMTA0ODU3NiA+Pj4gMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjODg1OiAxMDQ4NTc2ID4+PiAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKDEwNDg1NzYgPj4+IDI3KSk7IAp9IAoKCmlmICgyMDk3MTUyID4+PiAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM4ODY6IDIwOTcxNTIgPj4+IDI3ID09PSAwLiBBY3R1YWw6ICcgKyAoMjA5NzE1MiA+Pj4gMjcpKTsgCn0gCgoKaWYgKDQxOTQzMDQgPj4+IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzg4NzogNDE5NDMwNCA+Pj4gMjcgPT09IDAuIEFjdHVhbDogJyArICg0MTk0MzA0ID4+PiAyNykpOyAKfSAKCgppZiAoODM4ODYwOCA+Pj4gMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjODg4OiA4Mzg4NjA4ID4+PiAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKDgzODg2MDggPj4+IDI3KSk7IAp9IAoKCmlmICgxNjc3NzIxNiA+Pj4gMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjODg5OiAxNjc3NzIxNiA+Pj4gMjcgPT09IDAuIEFjdHVhbDogJyArICgxNjc3NzIxNiA+Pj4gMjcpKTsgCn0gCgoKaWYgKDMzNTU0NDMyID4+PiAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM4OTA6IDMzNTU0NDMyID4+PiAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKDMzNTU0NDMyID4+PiAyNykpOyAKfSAKCgppZiAoNjcxMDg4NjQgPj4+IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzg5MTogNjcxMDg4NjQgPj4+IDI3ID09PSAwLiBBY3R1YWw6ICcgKyAoNjcxMDg4NjQgPj4+IDI3KSk7IAp9IAoKCmlmICgxMzQyMTc3MjggPj4+IDI3ICE9PSAxKSB7IAogICRFUlJPUignIzg5MjogMTM0MjE3NzI4ID4+PiAyNyA9PT0gMS4gQWN0dWFsOiAnICsgKDEzNDIxNzcyOCA+Pj4gMjcpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NiA+Pj4gMjcgIT09IDIpIHsgCiAgJEVSUk9SKCcjODkzOiAyNjg0MzU0NTYgPj4+IDI3ID09PSAyLiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU2ID4+PiAyNykpOyAKfSAKCgppZiAoNTM2ODcwOTEyID4+PiAyNyAhPT0gNCkgeyAKICAkRVJST1IoJyM4OTQ6IDUzNjg3MDkxMiA+Pj4gMjcgPT09IDQuIEFjdHVhbDogJyArICg1MzY4NzA5MTIgPj4+IDI3KSk7IAp9IAoKCmlmICgxMDczNzQxODI0ID4+PiAyNyAhPT0gOCkgeyAKICAkRVJST1IoJyM4OTU6IDEwNzM3NDE4MjQgPj4+IDI3ID09PSA4LiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyNCA+Pj4gMjcpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDggPj4+IDI3ICE9PSAxNikgeyAKICAkRVJST1IoJyM4OTY6IDIxNDc0ODM2NDggPj4+IDI3ID09PSAxNi4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDggPj4+IDI3KSk7IAp9IAoKCmlmICgxID4+PiAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM4OTc6IDEgPj4+IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoMSA+Pj4gMjgpKTsgCn0gCgoKaWYgKDIgPj4+IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzg5ODogMiA+Pj4gMjggPT09IDAuIEFjdHVhbDogJyArICgyID4+PiAyOCkpOyAKfSAKCgppZiAoNCA+Pj4gMjggIT09IDApIHsgCiAgJEVSUk9SKCcjODk5OiA0ID4+PiAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKDQgPj4+IDI4KSk7IAp9IAoKCmlmICg4ID4+PiAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5MDA6IDggPj4+IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoOCA+Pj4gMjgpKTsgCn0gCgoKaWYgKDE2ID4+PiAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5MDE6IDE2ID4+PiAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKDE2ID4+PiAyOCkpOyAKfSAKCgppZiAoMzIgPj4+IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzkwMjogMzIgPj4+IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoMzIgPj4+IDI4KSk7IAp9IAoKCmlmICg2NCA+Pj4gMjggIT09IDApIHsgCiAgJEVSUk9SKCcjOTAzOiA2NCA+Pj4gMjggPT09IDAuIEFjdHVhbDogJyArICg2NCA+Pj4gMjgpKTsgCn0gCgoKaWYgKDEyOCA+Pj4gMjggIT09IDApIHsgCiAgJEVSUk9SKCcjOTA0OiAxMjggPj4+IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoMTI4ID4+PiAyOCkpOyAKfSAKCgppZiAoMjU2ID4+PiAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5MDU6IDI1NiA+Pj4gMjggPT09IDAuIEFjdHVhbDogJyArICgyNTYgPj4+IDI4KSk7IAp9IAoKCmlmICg1MTIgPj4+IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzkwNjogNTEyID4+PiAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKDUxMiA+Pj4gMjgpKTsgCn0gCgoKaWYgKDEwMjQgPj4+IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzkwNzogMTAyNCA+Pj4gMjggPT09IDAuIEFjdHVhbDogJyArICgxMDI0ID4+PiAyOCkpOyAKfSAKCgppZiAoMjA0OCA+Pj4gMjggIT09IDApIHsgCiAgJEVSUk9SKCcjOTA4OiAyMDQ4ID4+PiAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKDIwNDggPj4+IDI4KSk7IAp9IAoKCmlmICg0MDk2ID4+PiAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5MDk6IDQwOTYgPj4+IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoNDA5NiA+Pj4gMjgpKTsgCn0gCgoKaWYgKDgxOTIgPj4+IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzkxMDogODE5MiA+Pj4gMjggPT09IDAuIEFjdHVhbDogJyArICg4MTkyID4+PiAyOCkpOyAKfSAKCgppZiAoMTYzODQgPj4+IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzkxMTogMTYzODQgPj4+IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoMTYzODQgPj4+IDI4KSk7IAp9IAoKCmlmICgzMjc2OCA+Pj4gMjggIT09IDApIHsgCiAgJEVSUk9SKCcjOTEyOiAzMjc2OCA+Pj4gMjggPT09IDAuIEFjdHVhbDogJyArICgzMjc2OCA+Pj4gMjgpKTsgCn0gCgoKaWYgKDY1NTM2ID4+PiAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5MTM6IDY1NTM2ID4+PiAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKDY1NTM2ID4+PiAyOCkpOyAKfSAKCgppZiAoMTMxMDcyID4+PiAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5MTQ6IDEzMTA3MiA+Pj4gMjggPT09IDAuIEFjdHVhbDogJyArICgxMzEwNzIgPj4+IDI4KSk7IAp9IAoKCmlmICgyNjIxNDQgPj4+IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzkxNTogMjYyMTQ0ID4+PiAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKDI2MjE0NCA+Pj4gMjgpKTsgCn0gCgoKaWYgKDUyNDI4OCA+Pj4gMjggIT09IDApIHsgCiAgJEVSUk9SKCcjOTE2OiA1MjQyODggPj4+IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoNTI0Mjg4ID4+PiAyOCkpOyAKfSAKCgppZiAoMTA0ODU3NiA+Pj4gMjggIT09IDApIHsgCiAgJEVSUk9SKCcjOTE3OiAxMDQ4NTc2ID4+PiAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKDEwNDg1NzYgPj4+IDI4KSk7IAp9IAoKCmlmICgyMDk3MTUyID4+PiAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5MTg6IDIwOTcxNTIgPj4+IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoMjA5NzE1MiA+Pj4gMjgpKTsgCn0gCgoKaWYgKDQxOTQzMDQgPj4+IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzkxOTogNDE5NDMwNCA+Pj4gMjggPT09IDAuIEFjdHVhbDogJyArICg0MTk0MzA0ID4+PiAyOCkpOyAKfSAKCgppZiAoODM4ODYwOCA+Pj4gMjggIT09IDApIHsgCiAgJEVSUk9SKCcjOTIwOiA4Mzg4NjA4ID4+PiAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKDgzODg2MDggPj4+IDI4KSk7IAp9IAoKCmlmICgxNjc3NzIxNiA+Pj4gMjggIT09IDApIHsgCiAgJEVSUk9SKCcjOTIxOiAxNjc3NzIxNiA+Pj4gMjggPT09IDAuIEFjdHVhbDogJyArICgxNjc3NzIxNiA+Pj4gMjgpKTsgCn0gCgoKaWYgKDMzNTU0NDMyID4+PiAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5MjI6IDMzNTU0NDMyID4+PiAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKDMzNTU0NDMyID4+PiAyOCkpOyAKfSAKCgppZiAoNjcxMDg4NjQgPj4+IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzkyMzogNjcxMDg4NjQgPj4+IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoNjcxMDg4NjQgPj4+IDI4KSk7IAp9IAoKCmlmICgxMzQyMTc3MjggPj4+IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzkyNDogMTM0MjE3NzI4ID4+PiAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKDEzNDIxNzcyOCA+Pj4gMjgpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NiA+Pj4gMjggIT09IDEpIHsgCiAgJEVSUk9SKCcjOTI1OiAyNjg0MzU0NTYgPj4+IDI4ID09PSAxLiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU2ID4+PiAyOCkpOyAKfSAKCgppZiAoNTM2ODcwOTEyID4+PiAyOCAhPT0gMikgeyAKICAkRVJST1IoJyM5MjY6IDUzNjg3MDkxMiA+Pj4gMjggPT09IDIuIEFjdHVhbDogJyArICg1MzY4NzA5MTIgPj4+IDI4KSk7IAp9IAoKCmlmICgxMDczNzQxODI0ID4+PiAyOCAhPT0gNCkgeyAKICAkRVJST1IoJyM5Mjc6IDEwNzM3NDE4MjQgPj4+IDI4ID09PSA0LiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyNCA+Pj4gMjgpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDggPj4+IDI4ICE9PSA4KSB7IAogICRFUlJPUignIzkyODogMjE0NzQ4MzY0OCA+Pj4gMjggPT09IDguIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ4ID4+PiAyOCkpOyAKfSAKCgppZiAoMSA+Pj4gMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTI5OiAxID4+PiAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKDEgPj4+IDI5KSk7IAp9IAoKCmlmICgyID4+PiAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5MzA6IDIgPj4+IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoMiA+Pj4gMjkpKTsgCn0gCgoKaWYgKDQgPj4+IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzkzMTogNCA+Pj4gMjkgPT09IDAuIEFjdHVhbDogJyArICg0ID4+PiAyOSkpOyAKfSAKCgppZiAoOCA+Pj4gMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTMyOiA4ID4+PiAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKDggPj4+IDI5KSk7IAp9IAoKCmlmICgxNiA+Pj4gMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTMzOiAxNiA+Pj4gMjkgPT09IDAuIEFjdHVhbDogJyArICgxNiA+Pj4gMjkpKTsgCn0gCgoKaWYgKDMyID4+PiAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5MzQ6IDMyID4+PiAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKDMyID4+PiAyOSkpOyAKfSAKCgppZiAoNjQgPj4+IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzkzNTogNjQgPj4+IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoNjQgPj4+IDI5KSk7IAp9IAoKCmlmICgxMjggPj4+IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzkzNjogMTI4ID4+PiAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKDEyOCA+Pj4gMjkpKTsgCn0gCgoKaWYgKDI1NiA+Pj4gMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTM3OiAyNTYgPj4+IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoMjU2ID4+PiAyOSkpOyAKfSAKCgppZiAoNTEyID4+PiAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5Mzg6IDUxMiA+Pj4gMjkgPT09IDAuIEFjdHVhbDogJyArICg1MTIgPj4+IDI5KSk7IAp9IAoKCmlmICgxMDI0ID4+PiAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5Mzk6IDEwMjQgPj4+IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoMTAyNCA+Pj4gMjkpKTsgCn0gCgoKaWYgKDIwNDggPj4+IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzk0MDogMjA0OCA+Pj4gMjkgPT09IDAuIEFjdHVhbDogJyArICgyMDQ4ID4+PiAyOSkpOyAKfSAKCgppZiAoNDA5NiA+Pj4gMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTQxOiA0MDk2ID4+PiAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKDQwOTYgPj4+IDI5KSk7IAp9IAoKCmlmICg4MTkyID4+PiAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5NDI6IDgxOTIgPj4+IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoODE5MiA+Pj4gMjkpKTsgCn0gCgoKaWYgKDE2Mzg0ID4+PiAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5NDM6IDE2Mzg0ID4+PiAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKDE2Mzg0ID4+PiAyOSkpOyAKfSAKCgppZiAoMzI3NjggPj4+IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzk0NDogMzI3NjggPj4+IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoMzI3NjggPj4+IDI5KSk7IAp9IAoKCmlmICg2NTUzNiA+Pj4gMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTQ1OiA2NTUzNiA+Pj4gMjkgPT09IDAuIEFjdHVhbDogJyArICg2NTUzNiA+Pj4gMjkpKTsgCn0gCgoKaWYgKDEzMTA3MiA+Pj4gMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTQ2OiAxMzEwNzIgPj4+IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoMTMxMDcyID4+PiAyOSkpOyAKfSAKCgppZiAoMjYyMTQ0ID4+PiAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5NDc6IDI2MjE0NCA+Pj4gMjkgPT09IDAuIEFjdHVhbDogJyArICgyNjIxNDQgPj4+IDI5KSk7IAp9IAoKCmlmICg1MjQyODggPj4+IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzk0ODogNTI0Mjg4ID4+PiAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKDUyNDI4OCA+Pj4gMjkpKTsgCn0gCgoKaWYgKDEwNDg1NzYgPj4+IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzk0OTogMTA0ODU3NiA+Pj4gMjkgPT09IDAuIEFjdHVhbDogJyArICgxMDQ4NTc2ID4+PiAyOSkpOyAKfSAKCgppZiAoMjA5NzE1MiA+Pj4gMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTUwOiAyMDk3MTUyID4+PiAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKDIwOTcxNTIgPj4+IDI5KSk7IAp9IAoKCmlmICg0MTk0MzA0ID4+PiAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5NTE6IDQxOTQzMDQgPj4+IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoNDE5NDMwNCA+Pj4gMjkpKTsgCn0gCgoKaWYgKDgzODg2MDggPj4+IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzk1MjogODM4ODYwOCA+Pj4gMjkgPT09IDAuIEFjdHVhbDogJyArICg4Mzg4NjA4ID4+PiAyOSkpOyAKfSAKCgppZiAoMTY3NzcyMTYgPj4+IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzk1MzogMTY3NzcyMTYgPj4+IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoMTY3NzcyMTYgPj4+IDI5KSk7IAp9IAoKCmlmICgzMzU1NDQzMiA+Pj4gMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTU0OiAzMzU1NDQzMiA+Pj4gMjkgPT09IDAuIEFjdHVhbDogJyArICgzMzU1NDQzMiA+Pj4gMjkpKTsgCn0gCgoKaWYgKDY3MTA4ODY0ID4+PiAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5NTU6IDY3MTA4ODY0ID4+PiAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKDY3MTA4ODY0ID4+PiAyOSkpOyAKfSAKCgppZiAoMTM0MjE3NzI4ID4+PiAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5NTY6IDEzNDIxNzcyOCA+Pj4gMjkgPT09IDAuIEFjdHVhbDogJyArICgxMzQyMTc3MjggPj4+IDI5KSk7IAp9IAoKCmlmICgyNjg0MzU0NTYgPj4+IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzk1NzogMjY4NDM1NDU2ID4+PiAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NiA+Pj4gMjkpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMiA+Pj4gMjkgIT09IDEpIHsgCiAgJEVSUk9SKCcjOTU4OiA1MzY4NzA5MTIgPj4+IDI5ID09PSAxLiBBY3R1YWw6ICcgKyAoNTM2ODcwOTEyID4+PiAyOSkpOyAKfSAKCgppZiAoMTA3Mzc0MTgyNCA+Pj4gMjkgIT09IDIpIHsgCiAgJEVSUk9SKCcjOTU5OiAxMDczNzQxODI0ID4+PiAyOSA9PT0gMi4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjQgPj4+IDI5KSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ4ID4+PiAyOSAhPT0gNCkgeyAKICAkRVJST1IoJyM5NjA6IDIxNDc0ODM2NDggPj4+IDI5ID09PSA0LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0OCA+Pj4gMjkpKTsgCn0gCgoKaWYgKDEgPj4+IDMwICE9PSAwKSB7IAogICRFUlJPUignIzk2MTogMSA+Pj4gMzAgPT09IDAuIEFjdHVhbDogJyArICgxID4+PiAzMCkpOyAKfSAKCgppZiAoMiA+Pj4gMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjOTYyOiAyID4+PiAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKDIgPj4+IDMwKSk7IAp9IAoKCmlmICg0ID4+PiAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyM5NjM6IDQgPj4+IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoNCA+Pj4gMzApKTsgCn0gCgoKaWYgKDggPj4+IDMwICE9PSAwKSB7IAogICRFUlJPUignIzk2NDogOCA+Pj4gMzAgPT09IDAuIEFjdHVhbDogJyArICg4ID4+PiAzMCkpOyAKfSAKCgppZiAoMTYgPj4+IDMwICE9PSAwKSB7IAogICRFUlJPUignIzk2NTogMTYgPj4+IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoMTYgPj4+IDMwKSk7IAp9IAoKCmlmICgzMiA+Pj4gMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjOTY2OiAzMiA+Pj4gMzAgPT09IDAuIEFjdHVhbDogJyArICgzMiA+Pj4gMzApKTsgCn0gCgoKaWYgKDY0ID4+PiAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyM5Njc6IDY0ID4+PiAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKDY0ID4+PiAzMCkpOyAKfSAKCgppZiAoMTI4ID4+PiAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyM5Njg6IDEyOCA+Pj4gMzAgPT09IDAuIEFjdHVhbDogJyArICgxMjggPj4+IDMwKSk7IAp9IAoKCmlmICgyNTYgPj4+IDMwICE9PSAwKSB7IAogICRFUlJPUignIzk2OTogMjU2ID4+PiAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKDI1NiA+Pj4gMzApKTsgCn0gCgoKaWYgKDUxMiA+Pj4gMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjOTcwOiA1MTIgPj4+IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoNTEyID4+PiAzMCkpOyAKfSAKCgppZiAoMTAyNCA+Pj4gMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjOTcxOiAxMDI0ID4+PiAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKDEwMjQgPj4+IDMwKSk7IAp9IAoKCmlmICgyMDQ4ID4+PiAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyM5NzI6IDIwNDggPj4+IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoMjA0OCA+Pj4gMzApKTsgCn0gCgoKaWYgKDQwOTYgPj4+IDMwICE9PSAwKSB7IAogICRFUlJPUignIzk3MzogNDA5NiA+Pj4gMzAgPT09IDAuIEFjdHVhbDogJyArICg0MDk2ID4+PiAzMCkpOyAKfSAKCgppZiAoODE5MiA+Pj4gMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjOTc0OiA4MTkyID4+PiAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKDgxOTIgPj4+IDMwKSk7IAp9IAoKCmlmICgxNjM4NCA+Pj4gMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjOTc1OiAxNjM4NCA+Pj4gMzAgPT09IDAuIEFjdHVhbDogJyArICgxNjM4NCA+Pj4gMzApKTsgCn0gCgoKaWYgKDMyNzY4ID4+PiAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyM5NzY6IDMyNzY4ID4+PiAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKDMyNzY4ID4+PiAzMCkpOyAKfSAKCgppZiAoNjU1MzYgPj4+IDMwICE9PSAwKSB7IAogICRFUlJPUignIzk3NzogNjU1MzYgPj4+IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoNjU1MzYgPj4+IDMwKSk7IAp9IAoKCmlmICgxMzEwNzIgPj4+IDMwICE9PSAwKSB7IAogICRFUlJPUignIzk3ODogMTMxMDcyID4+PiAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKDEzMTA3MiA+Pj4gMzApKTsgCn0gCgoKaWYgKDI2MjE0NCA+Pj4gMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjOTc5OiAyNjIxNDQgPj4+IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoMjYyMTQ0ID4+PiAzMCkpOyAKfSAKCgppZiAoNTI0Mjg4ID4+PiAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyM5ODA6IDUyNDI4OCA+Pj4gMzAgPT09IDAuIEFjdHVhbDogJyArICg1MjQyODggPj4+IDMwKSk7IAp9IAoKCmlmICgxMDQ4NTc2ID4+PiAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyM5ODE6IDEwNDg1NzYgPj4+IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoMTA0ODU3NiA+Pj4gMzApKTsgCn0gCgoKaWYgKDIwOTcxNTIgPj4+IDMwICE9PSAwKSB7IAogICRFUlJPUignIzk4MjogMjA5NzE1MiA+Pj4gMzAgPT09IDAuIEFjdHVhbDogJyArICgyMDk3MTUyID4+PiAzMCkpOyAKfSAKCgppZiAoNDE5NDMwNCA+Pj4gMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjOTgzOiA0MTk0MzA0ID4+PiAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKDQxOTQzMDQgPj4+IDMwKSk7IAp9IAoKCmlmICg4Mzg4NjA4ID4+PiAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyM5ODQ6IDgzODg2MDggPj4+IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoODM4ODYwOCA+Pj4gMzApKTsgCn0gCgoKaWYgKDE2Nzc3MjE2ID4+PiAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyM5ODU6IDE2Nzc3MjE2ID4+PiAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKDE2Nzc3MjE2ID4+PiAzMCkpOyAKfSAKCgppZiAoMzM1NTQ0MzIgPj4+IDMwICE9PSAwKSB7IAogICRFUlJPUignIzk4NjogMzM1NTQ0MzIgPj4+IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzIgPj4+IDMwKSk7IAp9IAoKCmlmICg2NzEwODg2NCA+Pj4gMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjOTg3OiA2NzEwODg2NCA+Pj4gMzAgPT09IDAuIEFjdHVhbDogJyArICg2NzEwODg2NCA+Pj4gMzApKTsgCn0gCgoKaWYgKDEzNDIxNzcyOCA+Pj4gMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjOTg4OiAxMzQyMTc3MjggPj4+IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI4ID4+PiAzMCkpOyAKfSAKCgppZiAoMjY4NDM1NDU2ID4+PiAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyM5ODk6IDI2ODQzNTQ1NiA+Pj4gMzAgPT09IDAuIEFjdHVhbDogJyArICgyNjg0MzU0NTYgPj4+IDMwKSk7IAp9IAoKCmlmICg1MzY4NzA5MTIgPj4+IDMwICE9PSAwKSB7IAogICRFUlJPUignIzk5MDogNTM2ODcwOTEyID4+PiAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMiA+Pj4gMzApKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjQgPj4+IDMwICE9PSAxKSB7IAogICRFUlJPUignIzk5MTogMTA3Mzc0MTgyNCA+Pj4gMzAgPT09IDEuIEFjdHVhbDogJyArICgxMDczNzQxODI0ID4+PiAzMCkpOyAKfSAKCgppZiAoMjE0NzQ4MzY0OCA+Pj4gMzAgIT09IDIpIHsgCiAgJEVSUk9SKCcjOTkyOiAyMTQ3NDgzNjQ4ID4+PiAzMCA9PT0gMi4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDggPj4+IDMwKSk7IAp9IAoKCmlmICgxID4+PiAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyM5OTM6IDEgPj4+IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoMSA+Pj4gMzEpKTsgCn0gCgoKaWYgKDIgPj4+IDMxICE9PSAwKSB7IAogICRFUlJPUignIzk5NDogMiA+Pj4gMzEgPT09IDAuIEFjdHVhbDogJyArICgyID4+PiAzMSkpOyAKfSAKCgppZiAoNCA+Pj4gMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjOTk1OiA0ID4+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDQgPj4+IDMxKSk7IAp9IAoKCmlmICg4ID4+PiAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyM5OTY6IDggPj4+IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoOCA+Pj4gMzEpKTsgCn0gCgoKaWYgKDE2ID4+PiAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyM5OTc6IDE2ID4+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDE2ID4+PiAzMSkpOyAKfSAKCgppZiAoMzIgPj4+IDMxICE9PSAwKSB7IAogICRFUlJPUignIzk5ODogMzIgPj4+IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoMzIgPj4+IDMxKSk7IAp9IAoKCmlmICg2NCA+Pj4gMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjOTk5OiA2NCA+Pj4gMzEgPT09IDAuIEFjdHVhbDogJyArICg2NCA+Pj4gMzEpKTsgCn0gCgoKaWYgKDEyOCA+Pj4gMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAwMDogMTI4ID4+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDEyOCA+Pj4gMzEpKTsgCn0gCgoKaWYgKDI1NiA+Pj4gMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAwMTogMjU2ID4+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDI1NiA+Pj4gMzEpKTsgCn0gCgoKaWYgKDUxMiA+Pj4gMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAwMjogNTEyID4+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDUxMiA+Pj4gMzEpKTsgCn0gCgoKaWYgKDEwMjQgPj4+IDMxICE9PSAwKSB7IAogICRFUlJPUignIzEwMDM6IDEwMjQgPj4+IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoMTAyNCA+Pj4gMzEpKTsgCn0gCgoKaWYgKDIwNDggPj4+IDMxICE9PSAwKSB7IAogICRFUlJPUignIzEwMDQ6IDIwNDggPj4+IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoMjA0OCA+Pj4gMzEpKTsgCn0gCgoKaWYgKDQwOTYgPj4+IDMxICE9PSAwKSB7IAogICRFUlJPUignIzEwMDU6IDQwOTYgPj4+IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoNDA5NiA+Pj4gMzEpKTsgCn0gCgoKaWYgKDgxOTIgPj4+IDMxICE9PSAwKSB7IAogICRFUlJPUignIzEwMDY6IDgxOTIgPj4+IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoODE5MiA+Pj4gMzEpKTsgCn0gCgoKaWYgKDE2Mzg0ID4+PiAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDA3OiAxNjM4NCA+Pj4gMzEgPT09IDAuIEFjdHVhbDogJyArICgxNjM4NCA+Pj4gMzEpKTsgCn0gCgoKaWYgKDMyNzY4ID4+PiAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDA4OiAzMjc2OCA+Pj4gMzEgPT09IDAuIEFjdHVhbDogJyArICgzMjc2OCA+Pj4gMzEpKTsgCn0gCgoKaWYgKDY1NTM2ID4+PiAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDA5OiA2NTUzNiA+Pj4gMzEgPT09IDAuIEFjdHVhbDogJyArICg2NTUzNiA+Pj4gMzEpKTsgCn0gCgoKaWYgKDEzMTA3MiA+Pj4gMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAxMDogMTMxMDcyID4+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDEzMTA3MiA+Pj4gMzEpKTsgCn0gCgoKaWYgKDI2MjE0NCA+Pj4gMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAxMTogMjYyMTQ0ID4+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDI2MjE0NCA+Pj4gMzEpKTsgCn0gCgoKaWYgKDUyNDI4OCA+Pj4gMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAxMjogNTI0Mjg4ID4+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDUyNDI4OCA+Pj4gMzEpKTsgCn0gCgoKaWYgKDEwNDg1NzYgPj4+IDMxICE9PSAwKSB7IAogICRFUlJPUignIzEwMTM6IDEwNDg1NzYgPj4+IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoMTA0ODU3NiA+Pj4gMzEpKTsgCn0gCgoKaWYgKDIwOTcxNTIgPj4+IDMxICE9PSAwKSB7IAogICRFUlJPUignIzEwMTQ6IDIwOTcxNTIgPj4+IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoMjA5NzE1MiA+Pj4gMzEpKTsgCn0gCgoKaWYgKDQxOTQzMDQgPj4+IDMxICE9PSAwKSB7IAogICRFUlJPUignIzEwMTU6IDQxOTQzMDQgPj4+IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoNDE5NDMwNCA+Pj4gMzEpKTsgCn0gCgoKaWYgKDgzODg2MDggPj4+IDMxICE9PSAwKSB7IAogICRFUlJPUignIzEwMTY6IDgzODg2MDggPj4+IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoODM4ODYwOCA+Pj4gMzEpKTsgCn0gCgoKaWYgKDE2Nzc3MjE2ID4+PiAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDE3OiAxNjc3NzIxNiA+Pj4gMzEgPT09IDAuIEFjdHVhbDogJyArICgxNjc3NzIxNiA+Pj4gMzEpKTsgCn0gCgoKaWYgKDMzNTU0NDMyID4+PiAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDE4OiAzMzU1NDQzMiA+Pj4gMzEgPT09IDAuIEFjdHVhbDogJyArICgzMzU1NDQzMiA+Pj4gMzEpKTsgCn0gCgoKaWYgKDY3MTA4ODY0ID4+PiAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDE5OiA2NzEwODg2NCA+Pj4gMzEgPT09IDAuIEFjdHVhbDogJyArICg2NzEwODg2NCA+Pj4gMzEpKTsgCn0gCgoKaWYgKDEzNDIxNzcyOCA+Pj4gMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAyMDogMTM0MjE3NzI4ID4+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDEzNDIxNzcyOCA+Pj4gMzEpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NiA+Pj4gMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAyMTogMjY4NDM1NDU2ID4+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NiA+Pj4gMzEpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMiA+Pj4gMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAyMjogNTM2ODcwOTEyID4+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMiA+Pj4gMzEpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjQgPj4+IDMxICE9PSAwKSB7IAogICRFUlJPUignIzEwMjM6IDEwNzM3NDE4MjQgPj4+IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyNCA+Pj4gMzEpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDggPj4+IDMxICE9PSAxKSB7IAogICRFUlJPUignIzEwMjQ6IDIxNDc0ODM2NDggPj4+IDMxID09PSAxLiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0OCA+Pj4gMzEpKTsgCn0KCg==",
"commentary":"Check operator x >>> y in distinct points",
"description":"ShiftExpression = 2^n - 1, n = 16...31",
"path":"TestCases/ch11/11.7/11.7.3/S11.7.3_A4_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBvcGVyYXRvciB4ID4+PiB5IGluIGRpc3RpbmN0IHBvaW50cwogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4zL1MxMS43LjNfQTRfVDMuanMKICogQGRlc2NyaXB0aW9uIFNoaWZ0RXhwcmVzc2lvbiA9IDJebiAtIDEsIG4gPSAwLi4uMTUKICovCgovL0NIRUNLCiAKaWYgKDAgPj4+IDAgIT09IDApIHsgCiAgJEVSUk9SKCcjMTogMCA+Pj4gMCA9PT0gMC4gQWN0dWFsOiAnICsgKDAgPj4+IDApKTsgCn0gCgoKaWYgKDEgPj4+IDAgIT09IDEpIHsgCiAgJEVSUk9SKCcjMjogMSA+Pj4gMCA9PT0gMS4gQWN0dWFsOiAnICsgKDEgPj4+IDApKTsgCn0gCgoKaWYgKDMgPj4+IDAgIT09IDMpIHsgCiAgJEVSUk9SKCcjMzogMyA+Pj4gMCA9PT0gMy4gQWN0dWFsOiAnICsgKDMgPj4+IDApKTsgCn0gCgoKaWYgKDcgPj4+IDAgIT09IDcpIHsgCiAgJEVSUk9SKCcjNDogNyA+Pj4gMCA9PT0gNy4gQWN0dWFsOiAnICsgKDcgPj4+IDApKTsgCn0gCgoKaWYgKDE1ID4+PiAwICE9PSAxNSkgeyAKICAkRVJST1IoJyM1OiAxNSA+Pj4gMCA9PT0gMTUuIEFjdHVhbDogJyArICgxNSA+Pj4gMCkpOyAKfSAKCgppZiAoMzEgPj4+IDAgIT09IDMxKSB7IAogICRFUlJPUignIzY6IDMxID4+PiAwID09PSAzMS4gQWN0dWFsOiAnICsgKDMxID4+PiAwKSk7IAp9IAoKCmlmICg2MyA+Pj4gMCAhPT0gNjMpIHsgCiAgJEVSUk9SKCcjNzogNjMgPj4+IDAgPT09IDYzLiBBY3R1YWw6ICcgKyAoNjMgPj4+IDApKTsgCn0gCgoKaWYgKDEyNyA+Pj4gMCAhPT0gMTI3KSB7IAogICRFUlJPUignIzg6IDEyNyA+Pj4gMCA9PT0gMTI3LiBBY3R1YWw6ICcgKyAoMTI3ID4+PiAwKSk7IAp9IAoKCmlmICgyNTUgPj4+IDAgIT09IDI1NSkgeyAKICAkRVJST1IoJyM5OiAyNTUgPj4+IDAgPT09IDI1NS4gQWN0dWFsOiAnICsgKDI1NSA+Pj4gMCkpOyAKfSAKCgppZiAoNTExID4+PiAwICE9PSA1MTEpIHsgCiAgJEVSUk9SKCcjMTA6IDUxMSA+Pj4gMCA9PT0gNTExLiBBY3R1YWw6ICcgKyAoNTExID4+PiAwKSk7IAp9IAoKCmlmICgxMDIzID4+PiAwICE9PSAxMDIzKSB7IAogICRFUlJPUignIzExOiAxMDIzID4+PiAwID09PSAxMDIzLiBBY3R1YWw6ICcgKyAoMTAyMyA+Pj4gMCkpOyAKfSAKCgppZiAoMjA0NyA+Pj4gMCAhPT0gMjA0NykgeyAKICAkRVJST1IoJyMxMjogMjA0NyA+Pj4gMCA9PT0gMjA0Ny4gQWN0dWFsOiAnICsgKDIwNDcgPj4+IDApKTsgCn0gCgoKaWYgKDQwOTUgPj4+IDAgIT09IDQwOTUpIHsgCiAgJEVSUk9SKCcjMTM6IDQwOTUgPj4+IDAgPT09IDQwOTUuIEFjdHVhbDogJyArICg0MDk1ID4+PiAwKSk7IAp9IAoKCmlmICg4MTkxID4+PiAwICE9PSA4MTkxKSB7IAogICRFUlJPUignIzE0OiA4MTkxID4+PiAwID09PSA4MTkxLiBBY3R1YWw6ICcgKyAoODE5MSA+Pj4gMCkpOyAKfSAKCgppZiAoMTYzODMgPj4+IDAgIT09IDE2MzgzKSB7IAogICRFUlJPUignIzE1OiAxNjM4MyA+Pj4gMCA9PT0gMTYzODMuIEFjdHVhbDogJyArICgxNjM4MyA+Pj4gMCkpOyAKfSAKCgppZiAoMzI3NjcgPj4+IDAgIT09IDMyNzY3KSB7IAogICRFUlJPUignIzE2OiAzMjc2NyA+Pj4gMCA9PT0gMzI3NjcuIEFjdHVhbDogJyArICgzMjc2NyA+Pj4gMCkpOyAKfSAKCgppZiAoNjU1MzUgPj4+IDAgIT09IDY1NTM1KSB7IAogICRFUlJPUignIzE3OiA2NTUzNSA+Pj4gMCA9PT0gNjU1MzUuIEFjdHVhbDogJyArICg2NTUzNSA+Pj4gMCkpOyAKfSAKCgppZiAoMTMxMDcxID4+PiAwICE9PSAxMzEwNzEpIHsgCiAgJEVSUk9SKCcjMTg6IDEzMTA3MSA+Pj4gMCA9PT0gMTMxMDcxLiBBY3R1YWw6ICcgKyAoMTMxMDcxID4+PiAwKSk7IAp9IAoKCmlmICgyNjIxNDMgPj4+IDAgIT09IDI2MjE0MykgeyAKICAkRVJST1IoJyMxOTogMjYyMTQzID4+PiAwID09PSAyNjIxNDMuIEFjdHVhbDogJyArICgyNjIxNDMgPj4+IDApKTsgCn0gCgoKaWYgKDUyNDI4NyA+Pj4gMCAhPT0gNTI0Mjg3KSB7IAogICRFUlJPUignIzIwOiA1MjQyODcgPj4+IDAgPT09IDUyNDI4Ny4gQWN0dWFsOiAnICsgKDUyNDI4NyA+Pj4gMCkpOyAKfSAKCgppZiAoMTA0ODU3NSA+Pj4gMCAhPT0gMTA0ODU3NSkgeyAKICAkRVJST1IoJyMyMTogMTA0ODU3NSA+Pj4gMCA9PT0gMTA0ODU3NS4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPj4+IDApKTsgCn0gCgoKaWYgKDIwOTcxNTEgPj4+IDAgIT09IDIwOTcxNTEpIHsgCiAgJEVSUk9SKCcjMjI6IDIwOTcxNTEgPj4+IDAgPT09IDIwOTcxNTEuIEFjdHVhbDogJyArICgyMDk3MTUxID4+PiAwKSk7IAp9IAoKCmlmICg0MTk0MzAzID4+PiAwICE9PSA0MTk0MzAzKSB7IAogICRFUlJPUignIzIzOiA0MTk0MzAzID4+PiAwID09PSA0MTk0MzAzLiBBY3R1YWw6ICcgKyAoNDE5NDMwMyA+Pj4gMCkpOyAKfSAKCgppZiAoODM4ODYwNyA+Pj4gMCAhPT0gODM4ODYwNykgeyAKICAkRVJST1IoJyMyNDogODM4ODYwNyA+Pj4gMCA9PT0gODM4ODYwNy4gQWN0dWFsOiAnICsgKDgzODg2MDcgPj4+IDApKTsgCn0gCgoKaWYgKDE2Nzc3MjE1ID4+PiAwICE9PSAxNjc3NzIxNSkgeyAKICAkRVJST1IoJyMyNTogMTY3NzcyMTUgPj4+IDAgPT09IDE2Nzc3MjE1LiBBY3R1YWw6ICcgKyAoMTY3NzcyMTUgPj4+IDApKTsgCn0gCgoKaWYgKDMzNTU0NDMxID4+PiAwICE9PSAzMzU1NDQzMSkgeyAKICAkRVJST1IoJyMyNjogMzM1NTQ0MzEgPj4+IDAgPT09IDMzNTU0NDMxLiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPj4+IDApKTsgCn0gCgoKaWYgKDY3MTA4ODYzID4+PiAwICE9PSA2NzEwODg2MykgeyAKICAkRVJST1IoJyMyNzogNjcxMDg4NjMgPj4+IDAgPT09IDY3MTA4ODYzLiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPj4+IDApKTsgCn0gCgoKaWYgKDEzNDIxNzcyNyA+Pj4gMCAhPT0gMTM0MjE3NzI3KSB7IAogICRFUlJPUignIzI4OiAxMzQyMTc3MjcgPj4+IDAgPT09IDEzNDIxNzcyNy4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA+Pj4gMCkpOyAKfSAKCgppZiAoMjY4NDM1NDU1ID4+PiAwICE9PSAyNjg0MzU0NTUpIHsgCiAgJEVSUk9SKCcjMjk6IDI2ODQzNTQ1NSA+Pj4gMCA9PT0gMjY4NDM1NDU1LiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU1ID4+PiAwKSk7IAp9IAoKCmlmICg1MzY4NzA5MTEgPj4+IDAgIT09IDUzNjg3MDkxMSkgeyAKICAkRVJST1IoJyMzMDogNTM2ODcwOTExID4+PiAwID09PSA1MzY4NzA5MTEuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPj4+IDApKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjMgPj4+IDAgIT09IDEwNzM3NDE4MjMpIHsgCiAgJEVSUk9SKCcjMzE6IDEwNzM3NDE4MjMgPj4+IDAgPT09IDEwNzM3NDE4MjMuIEFjdHVhbDogJyArICgxMDczNzQxODIzID4+PiAwKSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ3ID4+PiAwICE9PSAyMTQ3NDgzNjQ3KSB7IAogICRFUlJPUignIzMyOiAyMTQ3NDgzNjQ3ID4+PiAwID09PSAyMTQ3NDgzNjQ3LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+Pj4gMCkpOyAKfSAKCgppZiAoNDI5NDk2NzI5NSA+Pj4gMCAhPT0gNDI5NDk2NzI5NSkgeyAKICAkRVJST1IoJyMzMzogNDI5NDk2NzI5NSA+Pj4gMCA9PT0gNDI5NDk2NzI5NS4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IDApKTsgCn0gCgoKaWYgKDAgPj4+IDEgIT09IDApIHsgCiAgJEVSUk9SKCcjMzQ6IDAgPj4+IDEgPT09IDAuIEFjdHVhbDogJyArICgwID4+PiAxKSk7IAp9IAoKCmlmICgxID4+PiAxICE9PSAwKSB7IAogICRFUlJPUignIzM1OiAxID4+PiAxID09PSAwLiBBY3R1YWw6ICcgKyAoMSA+Pj4gMSkpOyAKfSAKCgppZiAoMyA+Pj4gMSAhPT0gMSkgeyAKICAkRVJST1IoJyMzNjogMyA+Pj4gMSA9PT0gMS4gQWN0dWFsOiAnICsgKDMgPj4+IDEpKTsgCn0gCgoKaWYgKDcgPj4+IDEgIT09IDMpIHsgCiAgJEVSUk9SKCcjMzc6IDcgPj4+IDEgPT09IDMuIEFjdHVhbDogJyArICg3ID4+PiAxKSk7IAp9IAoKCmlmICgxNSA+Pj4gMSAhPT0gNykgeyAKICAkRVJST1IoJyMzODogMTUgPj4+IDEgPT09IDcuIEFjdHVhbDogJyArICgxNSA+Pj4gMSkpOyAKfSAKCgppZiAoMzEgPj4+IDEgIT09IDE1KSB7IAogICRFUlJPUignIzM5OiAzMSA+Pj4gMSA9PT0gMTUuIEFjdHVhbDogJyArICgzMSA+Pj4gMSkpOyAKfSAKCgppZiAoNjMgPj4+IDEgIT09IDMxKSB7IAogICRFUlJPUignIzQwOiA2MyA+Pj4gMSA9PT0gMzEuIEFjdHVhbDogJyArICg2MyA+Pj4gMSkpOyAKfSAKCgppZiAoMTI3ID4+PiAxICE9PSA2MykgeyAKICAkRVJST1IoJyM0MTogMTI3ID4+PiAxID09PSA2My4gQWN0dWFsOiAnICsgKDEyNyA+Pj4gMSkpOyAKfSAKCgppZiAoMjU1ID4+PiAxICE9PSAxMjcpIHsgCiAgJEVSUk9SKCcjNDI6IDI1NSA+Pj4gMSA9PT0gMTI3LiBBY3R1YWw6ICcgKyAoMjU1ID4+PiAxKSk7IAp9IAoKCmlmICg1MTEgPj4+IDEgIT09IDI1NSkgeyAKICAkRVJST1IoJyM0MzogNTExID4+PiAxID09PSAyNTUuIEFjdHVhbDogJyArICg1MTEgPj4+IDEpKTsgCn0gCgoKaWYgKDEwMjMgPj4+IDEgIT09IDUxMSkgeyAKICAkRVJST1IoJyM0NDogMTAyMyA+Pj4gMSA9PT0gNTExLiBBY3R1YWw6ICcgKyAoMTAyMyA+Pj4gMSkpOyAKfSAKCgppZiAoMjA0NyA+Pj4gMSAhPT0gMTAyMykgeyAKICAkRVJST1IoJyM0NTogMjA0NyA+Pj4gMSA9PT0gMTAyMy4gQWN0dWFsOiAnICsgKDIwNDcgPj4+IDEpKTsgCn0gCgoKaWYgKDQwOTUgPj4+IDEgIT09IDIwNDcpIHsgCiAgJEVSUk9SKCcjNDY6IDQwOTUgPj4+IDEgPT09IDIwNDcuIEFjdHVhbDogJyArICg0MDk1ID4+PiAxKSk7IAp9IAoKCmlmICg4MTkxID4+PiAxICE9PSA0MDk1KSB7IAogICRFUlJPUignIzQ3OiA4MTkxID4+PiAxID09PSA0MDk1LiBBY3R1YWw6ICcgKyAoODE5MSA+Pj4gMSkpOyAKfSAKCgppZiAoMTYzODMgPj4+IDEgIT09IDgxOTEpIHsgCiAgJEVSUk9SKCcjNDg6IDE2MzgzID4+PiAxID09PSA4MTkxLiBBY3R1YWw6ICcgKyAoMTYzODMgPj4+IDEpKTsgCn0gCgoKaWYgKDMyNzY3ID4+PiAxICE9PSAxNjM4MykgeyAKICAkRVJST1IoJyM0OTogMzI3NjcgPj4+IDEgPT09IDE2MzgzLiBBY3R1YWw6ICcgKyAoMzI3NjcgPj4+IDEpKTsgCn0gCgoKaWYgKDY1NTM1ID4+PiAxICE9PSAzMjc2NykgeyAKICAkRVJST1IoJyM1MDogNjU1MzUgPj4+IDEgPT09IDMyNzY3LiBBY3R1YWw6ICcgKyAoNjU1MzUgPj4+IDEpKTsgCn0gCgoKaWYgKDEzMTA3MSA+Pj4gMSAhPT0gNjU1MzUpIHsgCiAgJEVSUk9SKCcjNTE6IDEzMTA3MSA+Pj4gMSA9PT0gNjU1MzUuIEFjdHVhbDogJyArICgxMzEwNzEgPj4+IDEpKTsgCn0gCgoKaWYgKDI2MjE0MyA+Pj4gMSAhPT0gMTMxMDcxKSB7IAogICRFUlJPUignIzUyOiAyNjIxNDMgPj4+IDEgPT09IDEzMTA3MS4gQWN0dWFsOiAnICsgKDI2MjE0MyA+Pj4gMSkpOyAKfSAKCgppZiAoNTI0Mjg3ID4+PiAxICE9PSAyNjIxNDMpIHsgCiAgJEVSUk9SKCcjNTM6IDUyNDI4NyA+Pj4gMSA9PT0gMjYyMTQzLiBBY3R1YWw6ICcgKyAoNTI0Mjg3ID4+PiAxKSk7IAp9IAoKCmlmICgxMDQ4NTc1ID4+PiAxICE9PSA1MjQyODcpIHsgCiAgJEVSUk9SKCcjNTQ6IDEwNDg1NzUgPj4+IDEgPT09IDUyNDI4Ny4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPj4+IDEpKTsgCn0gCgoKaWYgKDIwOTcxNTEgPj4+IDEgIT09IDEwNDg1NzUpIHsgCiAgJEVSUk9SKCcjNTU6IDIwOTcxNTEgPj4+IDEgPT09IDEwNDg1NzUuIEFjdHVhbDogJyArICgyMDk3MTUxID4+PiAxKSk7IAp9IAoKCmlmICg0MTk0MzAzID4+PiAxICE9PSAyMDk3MTUxKSB7IAogICRFUlJPUignIzU2OiA0MTk0MzAzID4+PiAxID09PSAyMDk3MTUxLiBBY3R1YWw6ICcgKyAoNDE5NDMwMyA+Pj4gMSkpOyAKfSAKCgppZiAoODM4ODYwNyA+Pj4gMSAhPT0gNDE5NDMwMykgeyAKICAkRVJST1IoJyM1NzogODM4ODYwNyA+Pj4gMSA9PT0gNDE5NDMwMy4gQWN0dWFsOiAnICsgKDgzODg2MDcgPj4+IDEpKTsgCn0gCgoKaWYgKDE2Nzc3MjE1ID4+PiAxICE9PSA4Mzg4NjA3KSB7IAogICRFUlJPUignIzU4OiAxNjc3NzIxNSA+Pj4gMSA9PT0gODM4ODYwNy4gQWN0dWFsOiAnICsgKDE2Nzc3MjE1ID4+PiAxKSk7IAp9IAoKCmlmICgzMzU1NDQzMSA+Pj4gMSAhPT0gMTY3NzcyMTUpIHsgCiAgJEVSUk9SKCcjNTk6IDMzNTU0NDMxID4+PiAxID09PSAxNjc3NzIxNS4gQWN0dWFsOiAnICsgKDMzNTU0NDMxID4+PiAxKSk7IAp9IAoKCmlmICg2NzEwODg2MyA+Pj4gMSAhPT0gMzM1NTQ0MzEpIHsgCiAgJEVSUk9SKCcjNjA6IDY3MTA4ODYzID4+PiAxID09PSAzMzU1NDQzMS4gQWN0dWFsOiAnICsgKDY3MTA4ODYzID4+PiAxKSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPj4+IDEgIT09IDY3MTA4ODYzKSB7IAogICRFUlJPUignIzYxOiAxMzQyMTc3MjcgPj4+IDEgPT09IDY3MTA4ODYzLiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI3ID4+PiAxKSk7IAp9IAoKCmlmICgyNjg0MzU0NTUgPj4+IDEgIT09IDEzNDIxNzcyNykgeyAKICAkRVJST1IoJyM2MjogMjY4NDM1NDU1ID4+PiAxID09PSAxMzQyMTc3MjcuIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPj4+IDEpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMSA+Pj4gMSAhPT0gMjY4NDM1NDU1KSB7IAogICRFUlJPUignIzYzOiA1MzY4NzA5MTEgPj4+IDEgPT09IDI2ODQzNTQ1NS4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMSA+Pj4gMSkpOyAKfSAKCgppZiAoMTA3Mzc0MTgyMyA+Pj4gMSAhPT0gNTM2ODcwOTExKSB7IAogICRFUlJPUignIzY0OiAxMDczNzQxODIzID4+PiAxID09PSA1MzY4NzA5MTEuIEFjdHVhbDogJyArICgxMDczNzQxODIzID4+PiAxKSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ3ID4+PiAxICE9PSAxMDczNzQxODIzKSB7IAogICRFUlJPUignIzY1OiAyMTQ3NDgzNjQ3ID4+PiAxID09PSAxMDczNzQxODIzLiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+Pj4gMSkpOyAKfSAKCgppZiAoNDI5NDk2NzI5NSA+Pj4gMSAhPT0gMjE0NzQ4MzY0NykgeyAKICAkRVJST1IoJyM2NjogNDI5NDk2NzI5NSA+Pj4gMSA9PT0gMjE0NzQ4MzY0Ny4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IDEpKTsgCn0gCgoKaWYgKDAgPj4+IDIgIT09IDApIHsgCiAgJEVSUk9SKCcjNjc6IDAgPj4+IDIgPT09IDAuIEFjdHVhbDogJyArICgwID4+PiAyKSk7IAp9IAoKCmlmICgxID4+PiAyICE9PSAwKSB7IAogICRFUlJPUignIzY4OiAxID4+PiAyID09PSAwLiBBY3R1YWw6ICcgKyAoMSA+Pj4gMikpOyAKfSAKCgppZiAoMyA+Pj4gMiAhPT0gMCkgeyAKICAkRVJST1IoJyM2OTogMyA+Pj4gMiA9PT0gMC4gQWN0dWFsOiAnICsgKDMgPj4+IDIpKTsgCn0gCgoKaWYgKDcgPj4+IDIgIT09IDEpIHsgCiAgJEVSUk9SKCcjNzA6IDcgPj4+IDIgPT09IDEuIEFjdHVhbDogJyArICg3ID4+PiAyKSk7IAp9IAoKCmlmICgxNSA+Pj4gMiAhPT0gMykgeyAKICAkRVJST1IoJyM3MTogMTUgPj4+IDIgPT09IDMuIEFjdHVhbDogJyArICgxNSA+Pj4gMikpOyAKfSAKCgppZiAoMzEgPj4+IDIgIT09IDcpIHsgCiAgJEVSUk9SKCcjNzI6IDMxID4+PiAyID09PSA3LiBBY3R1YWw6ICcgKyAoMzEgPj4+IDIpKTsgCn0gCgoKaWYgKDYzID4+PiAyICE9PSAxNSkgeyAKICAkRVJST1IoJyM3MzogNjMgPj4+IDIgPT09IDE1LiBBY3R1YWw6ICcgKyAoNjMgPj4+IDIpKTsgCn0gCgoKaWYgKDEyNyA+Pj4gMiAhPT0gMzEpIHsgCiAgJEVSUk9SKCcjNzQ6IDEyNyA+Pj4gMiA9PT0gMzEuIEFjdHVhbDogJyArICgxMjcgPj4+IDIpKTsgCn0gCgoKaWYgKDI1NSA+Pj4gMiAhPT0gNjMpIHsgCiAgJEVSUk9SKCcjNzU6IDI1NSA+Pj4gMiA9PT0gNjMuIEFjdHVhbDogJyArICgyNTUgPj4+IDIpKTsgCn0gCgoKaWYgKDUxMSA+Pj4gMiAhPT0gMTI3KSB7IAogICRFUlJPUignIzc2OiA1MTEgPj4+IDIgPT09IDEyNy4gQWN0dWFsOiAnICsgKDUxMSA+Pj4gMikpOyAKfSAKCgppZiAoMTAyMyA+Pj4gMiAhPT0gMjU1KSB7IAogICRFUlJPUignIzc3OiAxMDIzID4+PiAyID09PSAyNTUuIEFjdHVhbDogJyArICgxMDIzID4+PiAyKSk7IAp9IAoKCmlmICgyMDQ3ID4+PiAyICE9PSA1MTEpIHsgCiAgJEVSUk9SKCcjNzg6IDIwNDcgPj4+IDIgPT09IDUxMS4gQWN0dWFsOiAnICsgKDIwNDcgPj4+IDIpKTsgCn0gCgoKaWYgKDQwOTUgPj4+IDIgIT09IDEwMjMpIHsgCiAgJEVSUk9SKCcjNzk6IDQwOTUgPj4+IDIgPT09IDEwMjMuIEFjdHVhbDogJyArICg0MDk1ID4+PiAyKSk7IAp9IAoKCmlmICg4MTkxID4+PiAyICE9PSAyMDQ3KSB7IAogICRFUlJPUignIzgwOiA4MTkxID4+PiAyID09PSAyMDQ3LiBBY3R1YWw6ICcgKyAoODE5MSA+Pj4gMikpOyAKfSAKCgppZiAoMTYzODMgPj4+IDIgIT09IDQwOTUpIHsgCiAgJEVSUk9SKCcjODE6IDE2MzgzID4+PiAyID09PSA0MDk1LiBBY3R1YWw6ICcgKyAoMTYzODMgPj4+IDIpKTsgCn0gCgoKaWYgKDMyNzY3ID4+PiAyICE9PSA4MTkxKSB7IAogICRFUlJPUignIzgyOiAzMjc2NyA+Pj4gMiA9PT0gODE5MS4gQWN0dWFsOiAnICsgKDMyNzY3ID4+PiAyKSk7IAp9IAoKCmlmICg2NTUzNSA+Pj4gMiAhPT0gMTYzODMpIHsgCiAgJEVSUk9SKCcjODM6IDY1NTM1ID4+PiAyID09PSAxNjM4My4gQWN0dWFsOiAnICsgKDY1NTM1ID4+PiAyKSk7IAp9IAoKCmlmICgxMzEwNzEgPj4+IDIgIT09IDMyNzY3KSB7IAogICRFUlJPUignIzg0OiAxMzEwNzEgPj4+IDIgPT09IDMyNzY3LiBBY3R1YWw6ICcgKyAoMTMxMDcxID4+PiAyKSk7IAp9IAoKCmlmICgyNjIxNDMgPj4+IDIgIT09IDY1NTM1KSB7IAogICRFUlJPUignIzg1OiAyNjIxNDMgPj4+IDIgPT09IDY1NTM1LiBBY3R1YWw6ICcgKyAoMjYyMTQzID4+PiAyKSk7IAp9IAoKCmlmICg1MjQyODcgPj4+IDIgIT09IDEzMTA3MSkgeyAKICAkRVJST1IoJyM4NjogNTI0Mjg3ID4+PiAyID09PSAxMzEwNzEuIEFjdHVhbDogJyArICg1MjQyODcgPj4+IDIpKTsgCn0gCgoKaWYgKDEwNDg1NzUgPj4+IDIgIT09IDI2MjE0MykgeyAKICAkRVJST1IoJyM4NzogMTA0ODU3NSA+Pj4gMiA9PT0gMjYyMTQzLiBBY3R1YWw6ICcgKyAoMTA0ODU3NSA+Pj4gMikpOyAKfSAKCgppZiAoMjA5NzE1MSA+Pj4gMiAhPT0gNTI0Mjg3KSB7IAogICRFUlJPUignIzg4OiAyMDk3MTUxID4+PiAyID09PSA1MjQyODcuIEFjdHVhbDogJyArICgyMDk3MTUxID4+PiAyKSk7IAp9IAoKCmlmICg0MTk0MzAzID4+PiAyICE9PSAxMDQ4NTc1KSB7IAogICRFUlJPUignIzg5OiA0MTk0MzAzID4+PiAyID09PSAxMDQ4NTc1LiBBY3R1YWw6ICcgKyAoNDE5NDMwMyA+Pj4gMikpOyAKfSAKCgppZiAoODM4ODYwNyA+Pj4gMiAhPT0gMjA5NzE1MSkgeyAKICAkRVJST1IoJyM5MDogODM4ODYwNyA+Pj4gMiA9PT0gMjA5NzE1MS4gQWN0dWFsOiAnICsgKDgzODg2MDcgPj4+IDIpKTsgCn0gCgoKaWYgKDE2Nzc3MjE1ID4+PiAyICE9PSA0MTk0MzAzKSB7IAogICRFUlJPUignIzkxOiAxNjc3NzIxNSA+Pj4gMiA9PT0gNDE5NDMwMy4gQWN0dWFsOiAnICsgKDE2Nzc3MjE1ID4+PiAyKSk7IAp9IAoKCmlmICgzMzU1NDQzMSA+Pj4gMiAhPT0gODM4ODYwNykgeyAKICAkRVJST1IoJyM5MjogMzM1NTQ0MzEgPj4+IDIgPT09IDgzODg2MDcuIEFjdHVhbDogJyArICgzMzU1NDQzMSA+Pj4gMikpOyAKfSAKCgppZiAoNjcxMDg4NjMgPj4+IDIgIT09IDE2Nzc3MjE1KSB7IAogICRFUlJPUignIzkzOiA2NzEwODg2MyA+Pj4gMiA9PT0gMTY3NzcyMTUuIEFjdHVhbDogJyArICg2NzEwODg2MyA+Pj4gMikpOyAKfSAKCgppZiAoMTM0MjE3NzI3ID4+PiAyICE9PSAzMzU1NDQzMSkgeyAKICAkRVJST1IoJyM5NDogMTM0MjE3NzI3ID4+PiAyID09PSAzMzU1NDQzMS4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA+Pj4gMikpOyAKfSAKCgppZiAoMjY4NDM1NDU1ID4+PiAyICE9PSA2NzEwODg2MykgeyAKICAkRVJST1IoJyM5NTogMjY4NDM1NDU1ID4+PiAyID09PSA2NzEwODg2My4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NSA+Pj4gMikpOyAKfSAKCgppZiAoNTM2ODcwOTExID4+PiAyICE9PSAxMzQyMTc3MjcpIHsgCiAgJEVSUk9SKCcjOTY6IDUzNjg3MDkxMSA+Pj4gMiA9PT0gMTM0MjE3NzI3LiBBY3R1YWw6ICcgKyAoNTM2ODcwOTExID4+PiAyKSk7IAp9IAoKCmlmICgxMDczNzQxODIzID4+PiAyICE9PSAyNjg0MzU0NTUpIHsgCiAgJEVSUk9SKCcjOTc6IDEwNzM3NDE4MjMgPj4+IDIgPT09IDI2ODQzNTQ1NS4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjMgPj4+IDIpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDcgPj4+IDIgIT09IDUzNjg3MDkxMSkgeyAKICAkRVJST1IoJyM5ODogMjE0NzQ4MzY0NyA+Pj4gMiA9PT0gNTM2ODcwOTExLiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+Pj4gMikpOyAKfSAKCgppZiAoNDI5NDk2NzI5NSA+Pj4gMiAhPT0gMTA3Mzc0MTgyMykgeyAKICAkRVJST1IoJyM5OTogNDI5NDk2NzI5NSA+Pj4gMiA9PT0gMTA3Mzc0MTgyMy4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IDIpKTsgCn0gCgoKaWYgKDAgPj4+IDMgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAwOiAwID4+PiAzID09PSAwLiBBY3R1YWw6ICcgKyAoMCA+Pj4gMykpOyAKfSAKCgppZiAoMSA+Pj4gMyAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDE6IDEgPj4+IDMgPT09IDAuIEFjdHVhbDogJyArICgxID4+PiAzKSk7IAp9IAoKCmlmICgzID4+PiAzICE9PSAwKSB7IAogICRFUlJPUignIzEwMjogMyA+Pj4gMyA9PT0gMC4gQWN0dWFsOiAnICsgKDMgPj4+IDMpKTsgCn0gCgoKaWYgKDcgPj4+IDMgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAzOiA3ID4+PiAzID09PSAwLiBBY3R1YWw6ICcgKyAoNyA+Pj4gMykpOyAKfSAKCgppZiAoMTUgPj4+IDMgIT09IDEpIHsgCiAgJEVSUk9SKCcjMTA0OiAxNSA+Pj4gMyA9PT0gMS4gQWN0dWFsOiAnICsgKDE1ID4+PiAzKSk7IAp9IAoKCmlmICgzMSA+Pj4gMyAhPT0gMykgeyAKICAkRVJST1IoJyMxMDU6IDMxID4+PiAzID09PSAzLiBBY3R1YWw6ICcgKyAoMzEgPj4+IDMpKTsgCn0gCgoKaWYgKDYzID4+PiAzICE9PSA3KSB7IAogICRFUlJPUignIzEwNjogNjMgPj4+IDMgPT09IDcuIEFjdHVhbDogJyArICg2MyA+Pj4gMykpOyAKfSAKCgppZiAoMTI3ID4+PiAzICE9PSAxNSkgeyAKICAkRVJST1IoJyMxMDc6IDEyNyA+Pj4gMyA9PT0gMTUuIEFjdHVhbDogJyArICgxMjcgPj4+IDMpKTsgCn0gCgoKaWYgKDI1NSA+Pj4gMyAhPT0gMzEpIHsgCiAgJEVSUk9SKCcjMTA4OiAyNTUgPj4+IDMgPT09IDMxLiBBY3R1YWw6ICcgKyAoMjU1ID4+PiAzKSk7IAp9IAoKCmlmICg1MTEgPj4+IDMgIT09IDYzKSB7IAogICRFUlJPUignIzEwOTogNTExID4+PiAzID09PSA2My4gQWN0dWFsOiAnICsgKDUxMSA+Pj4gMykpOyAKfSAKCgppZiAoMTAyMyA+Pj4gMyAhPT0gMTI3KSB7IAogICRFUlJPUignIzExMDogMTAyMyA+Pj4gMyA9PT0gMTI3LiBBY3R1YWw6ICcgKyAoMTAyMyA+Pj4gMykpOyAKfSAKCgppZiAoMjA0NyA+Pj4gMyAhPT0gMjU1KSB7IAogICRFUlJPUignIzExMTogMjA0NyA+Pj4gMyA9PT0gMjU1LiBBY3R1YWw6ICcgKyAoMjA0NyA+Pj4gMykpOyAKfSAKCgppZiAoNDA5NSA+Pj4gMyAhPT0gNTExKSB7IAogICRFUlJPUignIzExMjogNDA5NSA+Pj4gMyA9PT0gNTExLiBBY3R1YWw6ICcgKyAoNDA5NSA+Pj4gMykpOyAKfSAKCgppZiAoODE5MSA+Pj4gMyAhPT0gMTAyMykgeyAKICAkRVJST1IoJyMxMTM6IDgxOTEgPj4+IDMgPT09IDEwMjMuIEFjdHVhbDogJyArICg4MTkxID4+PiAzKSk7IAp9IAoKCmlmICgxNjM4MyA+Pj4gMyAhPT0gMjA0NykgeyAKICAkRVJST1IoJyMxMTQ6IDE2MzgzID4+PiAzID09PSAyMDQ3LiBBY3R1YWw6ICcgKyAoMTYzODMgPj4+IDMpKTsgCn0gCgoKaWYgKDMyNzY3ID4+PiAzICE9PSA0MDk1KSB7IAogICRFUlJPUignIzExNTogMzI3NjcgPj4+IDMgPT09IDQwOTUuIEFjdHVhbDogJyArICgzMjc2NyA+Pj4gMykpOyAKfSAKCgppZiAoNjU1MzUgPj4+IDMgIT09IDgxOTEpIHsgCiAgJEVSUk9SKCcjMTE2OiA2NTUzNSA+Pj4gMyA9PT0gODE5MS4gQWN0dWFsOiAnICsgKDY1NTM1ID4+PiAzKSk7IAp9IAoKCmlmICgxMzEwNzEgPj4+IDMgIT09IDE2MzgzKSB7IAogICRFUlJPUignIzExNzogMTMxMDcxID4+PiAzID09PSAxNjM4My4gQWN0dWFsOiAnICsgKDEzMTA3MSA+Pj4gMykpOyAKfSAKCgppZiAoMjYyMTQzID4+PiAzICE9PSAzMjc2NykgeyAKICAkRVJST1IoJyMxMTg6IDI2MjE0MyA+Pj4gMyA9PT0gMzI3NjcuIEFjdHVhbDogJyArICgyNjIxNDMgPj4+IDMpKTsgCn0gCgoKaWYgKDUyNDI4NyA+Pj4gMyAhPT0gNjU1MzUpIHsgCiAgJEVSUk9SKCcjMTE5OiA1MjQyODcgPj4+IDMgPT09IDY1NTM1LiBBY3R1YWw6ICcgKyAoNTI0Mjg3ID4+PiAzKSk7IAp9IAoKCmlmICgxMDQ4NTc1ID4+PiAzICE9PSAxMzEwNzEpIHsgCiAgJEVSUk9SKCcjMTIwOiAxMDQ4NTc1ID4+PiAzID09PSAxMzEwNzEuIEFjdHVhbDogJyArICgxMDQ4NTc1ID4+PiAzKSk7IAp9IAoKCmlmICgyMDk3MTUxID4+PiAzICE9PSAyNjIxNDMpIHsgCiAgJEVSUk9SKCcjMTIxOiAyMDk3MTUxID4+PiAzID09PSAyNjIxNDMuIEFjdHVhbDogJyArICgyMDk3MTUxID4+PiAzKSk7IAp9IAoKCmlmICg0MTk0MzAzID4+PiAzICE9PSA1MjQyODcpIHsgCiAgJEVSUk9SKCcjMTIyOiA0MTk0MzAzID4+PiAzID09PSA1MjQyODcuIEFjdHVhbDogJyArICg0MTk0MzAzID4+PiAzKSk7IAp9IAoKCmlmICg4Mzg4NjA3ID4+PiAzICE9PSAxMDQ4NTc1KSB7IAogICRFUlJPUignIzEyMzogODM4ODYwNyA+Pj4gMyA9PT0gMTA0ODU3NS4gQWN0dWFsOiAnICsgKDgzODg2MDcgPj4+IDMpKTsgCn0gCgoKaWYgKDE2Nzc3MjE1ID4+PiAzICE9PSAyMDk3MTUxKSB7IAogICRFUlJPUignIzEyNDogMTY3NzcyMTUgPj4+IDMgPT09IDIwOTcxNTEuIEFjdHVhbDogJyArICgxNjc3NzIxNSA+Pj4gMykpOyAKfSAKCgppZiAoMzM1NTQ0MzEgPj4+IDMgIT09IDQxOTQzMDMpIHsgCiAgJEVSUk9SKCcjMTI1OiAzMzU1NDQzMSA+Pj4gMyA9PT0gNDE5NDMwMy4gQWN0dWFsOiAnICsgKDMzNTU0NDMxID4+PiAzKSk7IAp9IAoKCmlmICg2NzEwODg2MyA+Pj4gMyAhPT0gODM4ODYwNykgeyAKICAkRVJST1IoJyMxMjY6IDY3MTA4ODYzID4+PiAzID09PSA4Mzg4NjA3LiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPj4+IDMpKTsgCn0gCgoKaWYgKDEzNDIxNzcyNyA+Pj4gMyAhPT0gMTY3NzcyMTUpIHsgCiAgJEVSUk9SKCcjMTI3OiAxMzQyMTc3MjcgPj4+IDMgPT09IDE2Nzc3MjE1LiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI3ID4+PiAzKSk7IAp9IAoKCmlmICgyNjg0MzU0NTUgPj4+IDMgIT09IDMzNTU0NDMxKSB7IAogICRFUlJPUignIzEyODogMjY4NDM1NDU1ID4+PiAzID09PSAzMzU1NDQzMS4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NSA+Pj4gMykpOyAKfSAKCgppZiAoNTM2ODcwOTExID4+PiAzICE9PSA2NzEwODg2MykgeyAKICAkRVJST1IoJyMxMjk6IDUzNjg3MDkxMSA+Pj4gMyA9PT0gNjcxMDg4NjMuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPj4+IDMpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjMgPj4+IDMgIT09IDEzNDIxNzcyNykgeyAKICAkRVJST1IoJyMxMzA6IDEwNzM3NDE4MjMgPj4+IDMgPT09IDEzNDIxNzcyNy4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjMgPj4+IDMpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDcgPj4+IDMgIT09IDI2ODQzNTQ1NSkgeyAKICAkRVJST1IoJyMxMzE6IDIxNDc0ODM2NDcgPj4+IDMgPT09IDI2ODQzNTQ1NS4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4+IDMpKTsgCn0gCgoKaWYgKDQyOTQ5NjcyOTUgPj4+IDMgIT09IDUzNjg3MDkxMSkgeyAKICAkRVJST1IoJyMxMzI6IDQyOTQ5NjcyOTUgPj4+IDMgPT09IDUzNjg3MDkxMS4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IDMpKTsgCn0gCgoKaWYgKDAgPj4+IDQgIT09IDApIHsgCiAgJEVSUk9SKCcjMTMzOiAwID4+PiA0ID09PSAwLiBBY3R1YWw6ICcgKyAoMCA+Pj4gNCkpOyAKfSAKCgppZiAoMSA+Pj4gNCAhPT0gMCkgeyAKICAkRVJST1IoJyMxMzQ6IDEgPj4+IDQgPT09IDAuIEFjdHVhbDogJyArICgxID4+PiA0KSk7IAp9IAoKCmlmICgzID4+PiA0ICE9PSAwKSB7IAogICRFUlJPUignIzEzNTogMyA+Pj4gNCA9PT0gMC4gQWN0dWFsOiAnICsgKDMgPj4+IDQpKTsgCn0gCgoKaWYgKDcgPj4+IDQgIT09IDApIHsgCiAgJEVSUk9SKCcjMTM2OiA3ID4+PiA0ID09PSAwLiBBY3R1YWw6ICcgKyAoNyA+Pj4gNCkpOyAKfSAKCgppZiAoMTUgPj4+IDQgIT09IDApIHsgCiAgJEVSUk9SKCcjMTM3OiAxNSA+Pj4gNCA9PT0gMC4gQWN0dWFsOiAnICsgKDE1ID4+PiA0KSk7IAp9IAoKCmlmICgzMSA+Pj4gNCAhPT0gMSkgeyAKICAkRVJST1IoJyMxMzg6IDMxID4+PiA0ID09PSAxLiBBY3R1YWw6ICcgKyAoMzEgPj4+IDQpKTsgCn0gCgoKaWYgKDYzID4+PiA0ICE9PSAzKSB7IAogICRFUlJPUignIzEzOTogNjMgPj4+IDQgPT09IDMuIEFjdHVhbDogJyArICg2MyA+Pj4gNCkpOyAKfSAKCgppZiAoMTI3ID4+PiA0ICE9PSA3KSB7IAogICRFUlJPUignIzE0MDogMTI3ID4+PiA0ID09PSA3LiBBY3R1YWw6ICcgKyAoMTI3ID4+PiA0KSk7IAp9IAoKCmlmICgyNTUgPj4+IDQgIT09IDE1KSB7IAogICRFUlJPUignIzE0MTogMjU1ID4+PiA0ID09PSAxNS4gQWN0dWFsOiAnICsgKDI1NSA+Pj4gNCkpOyAKfSAKCgppZiAoNTExID4+PiA0ICE9PSAzMSkgeyAKICAkRVJST1IoJyMxNDI6IDUxMSA+Pj4gNCA9PT0gMzEuIEFjdHVhbDogJyArICg1MTEgPj4+IDQpKTsgCn0gCgoKaWYgKDEwMjMgPj4+IDQgIT09IDYzKSB7IAogICRFUlJPUignIzE0MzogMTAyMyA+Pj4gNCA9PT0gNjMuIEFjdHVhbDogJyArICgxMDIzID4+PiA0KSk7IAp9IAoKCmlmICgyMDQ3ID4+PiA0ICE9PSAxMjcpIHsgCiAgJEVSUk9SKCcjMTQ0OiAyMDQ3ID4+PiA0ID09PSAxMjcuIEFjdHVhbDogJyArICgyMDQ3ID4+PiA0KSk7IAp9IAoKCmlmICg0MDk1ID4+PiA0ICE9PSAyNTUpIHsgCiAgJEVSUk9SKCcjMTQ1OiA0MDk1ID4+PiA0ID09PSAyNTUuIEFjdHVhbDogJyArICg0MDk1ID4+PiA0KSk7IAp9IAoKCmlmICg4MTkxID4+PiA0ICE9PSA1MTEpIHsgCiAgJEVSUk9SKCcjMTQ2OiA4MTkxID4+PiA0ID09PSA1MTEuIEFjdHVhbDogJyArICg4MTkxID4+PiA0KSk7IAp9IAoKCmlmICgxNjM4MyA+Pj4gNCAhPT0gMTAyMykgeyAKICAkRVJST1IoJyMxNDc6IDE2MzgzID4+PiA0ID09PSAxMDIzLiBBY3R1YWw6ICcgKyAoMTYzODMgPj4+IDQpKTsgCn0gCgoKaWYgKDMyNzY3ID4+PiA0ICE9PSAyMDQ3KSB7IAogICRFUlJPUignIzE0ODogMzI3NjcgPj4+IDQgPT09IDIwNDcuIEFjdHVhbDogJyArICgzMjc2NyA+Pj4gNCkpOyAKfSAKCgppZiAoNjU1MzUgPj4+IDQgIT09IDQwOTUpIHsgCiAgJEVSUk9SKCcjMTQ5OiA2NTUzNSA+Pj4gNCA9PT0gNDA5NS4gQWN0dWFsOiAnICsgKDY1NTM1ID4+PiA0KSk7IAp9IAoKCmlmICgxMzEwNzEgPj4+IDQgIT09IDgxOTEpIHsgCiAgJEVSUk9SKCcjMTUwOiAxMzEwNzEgPj4+IDQgPT09IDgxOTEuIEFjdHVhbDogJyArICgxMzEwNzEgPj4+IDQpKTsgCn0gCgoKaWYgKDI2MjE0MyA+Pj4gNCAhPT0gMTYzODMpIHsgCiAgJEVSUk9SKCcjMTUxOiAyNjIxNDMgPj4+IDQgPT09IDE2MzgzLiBBY3R1YWw6ICcgKyAoMjYyMTQzID4+PiA0KSk7IAp9IAoKCmlmICg1MjQyODcgPj4+IDQgIT09IDMyNzY3KSB7IAogICRFUlJPUignIzE1MjogNTI0Mjg3ID4+PiA0ID09PSAzMjc2Ny4gQWN0dWFsOiAnICsgKDUyNDI4NyA+Pj4gNCkpOyAKfSAKCgppZiAoMTA0ODU3NSA+Pj4gNCAhPT0gNjU1MzUpIHsgCiAgJEVSUk9SKCcjMTUzOiAxMDQ4NTc1ID4+PiA0ID09PSA2NTUzNS4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPj4+IDQpKTsgCn0gCgoKaWYgKDIwOTcxNTEgPj4+IDQgIT09IDEzMTA3MSkgeyAKICAkRVJST1IoJyMxNTQ6IDIwOTcxNTEgPj4+IDQgPT09IDEzMTA3MS4gQWN0dWFsOiAnICsgKDIwOTcxNTEgPj4+IDQpKTsgCn0gCgoKaWYgKDQxOTQzMDMgPj4+IDQgIT09IDI2MjE0MykgeyAKICAkRVJST1IoJyMxNTU6IDQxOTQzMDMgPj4+IDQgPT09IDI2MjE0My4gQWN0dWFsOiAnICsgKDQxOTQzMDMgPj4+IDQpKTsgCn0gCgoKaWYgKDgzODg2MDcgPj4+IDQgIT09IDUyNDI4NykgeyAKICAkRVJST1IoJyMxNTY6IDgzODg2MDcgPj4+IDQgPT09IDUyNDI4Ny4gQWN0dWFsOiAnICsgKDgzODg2MDcgPj4+IDQpKTsgCn0gCgoKaWYgKDE2Nzc3MjE1ID4+PiA0ICE9PSAxMDQ4NTc1KSB7IAogICRFUlJPUignIzE1NzogMTY3NzcyMTUgPj4+IDQgPT09IDEwNDg1NzUuIEFjdHVhbDogJyArICgxNjc3NzIxNSA+Pj4gNCkpOyAKfSAKCgppZiAoMzM1NTQ0MzEgPj4+IDQgIT09IDIwOTcxNTEpIHsgCiAgJEVSUk9SKCcjMTU4OiAzMzU1NDQzMSA+Pj4gNCA9PT0gMjA5NzE1MS4gQWN0dWFsOiAnICsgKDMzNTU0NDMxID4+PiA0KSk7IAp9IAoKCmlmICg2NzEwODg2MyA+Pj4gNCAhPT0gNDE5NDMwMykgeyAKICAkRVJST1IoJyMxNTk6IDY3MTA4ODYzID4+PiA0ID09PSA0MTk0MzAzLiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPj4+IDQpKTsgCn0gCgoKaWYgKDEzNDIxNzcyNyA+Pj4gNCAhPT0gODM4ODYwNykgeyAKICAkRVJST1IoJyMxNjA6IDEzNDIxNzcyNyA+Pj4gNCA9PT0gODM4ODYwNy4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA+Pj4gNCkpOyAKfSAKCgppZiAoMjY4NDM1NDU1ID4+PiA0ICE9PSAxNjc3NzIxNSkgeyAKICAkRVJST1IoJyMxNjE6IDI2ODQzNTQ1NSA+Pj4gNCA9PT0gMTY3NzcyMTUuIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPj4+IDQpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMSA+Pj4gNCAhPT0gMzM1NTQ0MzEpIHsgCiAgJEVSUk9SKCcjMTYyOiA1MzY4NzA5MTEgPj4+IDQgPT09IDMzNTU0NDMxLiBBY3R1YWw6ICcgKyAoNTM2ODcwOTExID4+PiA0KSk7IAp9IAoKCmlmICgxMDczNzQxODIzID4+PiA0ICE9PSA2NzEwODg2MykgeyAKICAkRVJST1IoJyMxNjM6IDEwNzM3NDE4MjMgPj4+IDQgPT09IDY3MTA4ODYzLiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA+Pj4gNCkpOyAKfSAKCgppZiAoMjE0NzQ4MzY0NyA+Pj4gNCAhPT0gMTM0MjE3NzI3KSB7IAogICRFUlJPUignIzE2NDogMjE0NzQ4MzY0NyA+Pj4gNCA9PT0gMTM0MjE3NzI3LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+Pj4gNCkpOyAKfSAKCgppZiAoNDI5NDk2NzI5NSA+Pj4gNCAhPT0gMjY4NDM1NDU1KSB7IAogICRFUlJPUignIzE2NTogNDI5NDk2NzI5NSA+Pj4gNCA9PT0gMjY4NDM1NDU1LiBBY3R1YWw6ICcgKyAoNDI5NDk2NzI5NSA+Pj4gNCkpOyAKfSAKCgppZiAoMCA+Pj4gNSAhPT0gMCkgeyAKICAkRVJST1IoJyMxNjY6IDAgPj4+IDUgPT09IDAuIEFjdHVhbDogJyArICgwID4+PiA1KSk7IAp9IAoKCmlmICgxID4+PiA1ICE9PSAwKSB7IAogICRFUlJPUignIzE2NzogMSA+Pj4gNSA9PT0gMC4gQWN0dWFsOiAnICsgKDEgPj4+IDUpKTsgCn0gCgoKaWYgKDMgPj4+IDUgIT09IDApIHsgCiAgJEVSUk9SKCcjMTY4OiAzID4+PiA1ID09PSAwLiBBY3R1YWw6ICcgKyAoMyA+Pj4gNSkpOyAKfSAKCgppZiAoNyA+Pj4gNSAhPT0gMCkgeyAKICAkRVJST1IoJyMxNjk6IDcgPj4+IDUgPT09IDAuIEFjdHVhbDogJyArICg3ID4+PiA1KSk7IAp9IAoKCmlmICgxNSA+Pj4gNSAhPT0gMCkgeyAKICAkRVJST1IoJyMxNzA6IDE1ID4+PiA1ID09PSAwLiBBY3R1YWw6ICcgKyAoMTUgPj4+IDUpKTsgCn0gCgoKaWYgKDMxID4+PiA1ICE9PSAwKSB7IAogICRFUlJPUignIzE3MTogMzEgPj4+IDUgPT09IDAuIEFjdHVhbDogJyArICgzMSA+Pj4gNSkpOyAKfSAKCgppZiAoNjMgPj4+IDUgIT09IDEpIHsgCiAgJEVSUk9SKCcjMTcyOiA2MyA+Pj4gNSA9PT0gMS4gQWN0dWFsOiAnICsgKDYzID4+PiA1KSk7IAp9IAoKCmlmICgxMjcgPj4+IDUgIT09IDMpIHsgCiAgJEVSUk9SKCcjMTczOiAxMjcgPj4+IDUgPT09IDMuIEFjdHVhbDogJyArICgxMjcgPj4+IDUpKTsgCn0gCgoKaWYgKDI1NSA+Pj4gNSAhPT0gNykgeyAKICAkRVJST1IoJyMxNzQ6IDI1NSA+Pj4gNSA9PT0gNy4gQWN0dWFsOiAnICsgKDI1NSA+Pj4gNSkpOyAKfSAKCgppZiAoNTExID4+PiA1ICE9PSAxNSkgeyAKICAkRVJST1IoJyMxNzU6IDUxMSA+Pj4gNSA9PT0gMTUuIEFjdHVhbDogJyArICg1MTEgPj4+IDUpKTsgCn0gCgoKaWYgKDEwMjMgPj4+IDUgIT09IDMxKSB7IAogICRFUlJPUignIzE3NjogMTAyMyA+Pj4gNSA9PT0gMzEuIEFjdHVhbDogJyArICgxMDIzID4+PiA1KSk7IAp9IAoKCmlmICgyMDQ3ID4+PiA1ICE9PSA2MykgeyAKICAkRVJST1IoJyMxNzc6IDIwNDcgPj4+IDUgPT09IDYzLiBBY3R1YWw6ICcgKyAoMjA0NyA+Pj4gNSkpOyAKfSAKCgppZiAoNDA5NSA+Pj4gNSAhPT0gMTI3KSB7IAogICRFUlJPUignIzE3ODogNDA5NSA+Pj4gNSA9PT0gMTI3LiBBY3R1YWw6ICcgKyAoNDA5NSA+Pj4gNSkpOyAKfSAKCgppZiAoODE5MSA+Pj4gNSAhPT0gMjU1KSB7IAogICRFUlJPUignIzE3OTogODE5MSA+Pj4gNSA9PT0gMjU1LiBBY3R1YWw6ICcgKyAoODE5MSA+Pj4gNSkpOyAKfSAKCgppZiAoMTYzODMgPj4+IDUgIT09IDUxMSkgeyAKICAkRVJST1IoJyMxODA6IDE2MzgzID4+PiA1ID09PSA1MTEuIEFjdHVhbDogJyArICgxNjM4MyA+Pj4gNSkpOyAKfSAKCgppZiAoMzI3NjcgPj4+IDUgIT09IDEwMjMpIHsgCiAgJEVSUk9SKCcjMTgxOiAzMjc2NyA+Pj4gNSA9PT0gMTAyMy4gQWN0dWFsOiAnICsgKDMyNzY3ID4+PiA1KSk7IAp9IAoKCmlmICg2NTUzNSA+Pj4gNSAhPT0gMjA0NykgeyAKICAkRVJST1IoJyMxODI6IDY1NTM1ID4+PiA1ID09PSAyMDQ3LiBBY3R1YWw6ICcgKyAoNjU1MzUgPj4+IDUpKTsgCn0gCgoKaWYgKDEzMTA3MSA+Pj4gNSAhPT0gNDA5NSkgeyAKICAkRVJST1IoJyMxODM6IDEzMTA3MSA+Pj4gNSA9PT0gNDA5NS4gQWN0dWFsOiAnICsgKDEzMTA3MSA+Pj4gNSkpOyAKfSAKCgppZiAoMjYyMTQzID4+PiA1ICE9PSA4MTkxKSB7IAogICRFUlJPUignIzE4NDogMjYyMTQzID4+PiA1ID09PSA4MTkxLiBBY3R1YWw6ICcgKyAoMjYyMTQzID4+PiA1KSk7IAp9IAoKCmlmICg1MjQyODcgPj4+IDUgIT09IDE2MzgzKSB7IAogICRFUlJPUignIzE4NTogNTI0Mjg3ID4+PiA1ID09PSAxNjM4My4gQWN0dWFsOiAnICsgKDUyNDI4NyA+Pj4gNSkpOyAKfSAKCgppZiAoMTA0ODU3NSA+Pj4gNSAhPT0gMzI3NjcpIHsgCiAgJEVSUk9SKCcjMTg2OiAxMDQ4NTc1ID4+PiA1ID09PSAzMjc2Ny4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPj4+IDUpKTsgCn0gCgoKaWYgKDIwOTcxNTEgPj4+IDUgIT09IDY1NTM1KSB7IAogICRFUlJPUignIzE4NzogMjA5NzE1MSA+Pj4gNSA9PT0gNjU1MzUuIEFjdHVhbDogJyArICgyMDk3MTUxID4+PiA1KSk7IAp9IAoKCmlmICg0MTk0MzAzID4+PiA1ICE9PSAxMzEwNzEpIHsgCiAgJEVSUk9SKCcjMTg4OiA0MTk0MzAzID4+PiA1ID09PSAxMzEwNzEuIEFjdHVhbDogJyArICg0MTk0MzAzID4+PiA1KSk7IAp9IAoKCmlmICg4Mzg4NjA3ID4+PiA1ICE9PSAyNjIxNDMpIHsgCiAgJEVSUk9SKCcjMTg5OiA4Mzg4NjA3ID4+PiA1ID09PSAyNjIxNDMuIEFjdHVhbDogJyArICg4Mzg4NjA3ID4+PiA1KSk7IAp9IAoKCmlmICgxNjc3NzIxNSA+Pj4gNSAhPT0gNTI0Mjg3KSB7IAogICRFUlJPUignIzE5MDogMTY3NzcyMTUgPj4+IDUgPT09IDUyNDI4Ny4gQWN0dWFsOiAnICsgKDE2Nzc3MjE1ID4+PiA1KSk7IAp9IAoKCmlmICgzMzU1NDQzMSA+Pj4gNSAhPT0gMTA0ODU3NSkgeyAKICAkRVJST1IoJyMxOTE6IDMzNTU0NDMxID4+PiA1ID09PSAxMDQ4NTc1LiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPj4+IDUpKTsgCn0gCgoKaWYgKDY3MTA4ODYzID4+PiA1ICE9PSAyMDk3MTUxKSB7IAogICRFUlJPUignIzE5MjogNjcxMDg4NjMgPj4+IDUgPT09IDIwOTcxNTEuIEFjdHVhbDogJyArICg2NzEwODg2MyA+Pj4gNSkpOyAKfSAKCgppZiAoMTM0MjE3NzI3ID4+PiA1ICE9PSA0MTk0MzAzKSB7IAogICRFUlJPUignIzE5MzogMTM0MjE3NzI3ID4+PiA1ID09PSA0MTk0MzAzLiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI3ID4+PiA1KSk7IAp9IAoKCmlmICgyNjg0MzU0NTUgPj4+IDUgIT09IDgzODg2MDcpIHsgCiAgJEVSUk9SKCcjMTk0OiAyNjg0MzU0NTUgPj4+IDUgPT09IDgzODg2MDcuIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPj4+IDUpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMSA+Pj4gNSAhPT0gMTY3NzcyMTUpIHsgCiAgJEVSUk9SKCcjMTk1OiA1MzY4NzA5MTEgPj4+IDUgPT09IDE2Nzc3MjE1LiBBY3R1YWw6ICcgKyAoNTM2ODcwOTExID4+PiA1KSk7IAp9IAoKCmlmICgxMDczNzQxODIzID4+PiA1ICE9PSAzMzU1NDQzMSkgeyAKICAkRVJST1IoJyMxOTY6IDEwNzM3NDE4MjMgPj4+IDUgPT09IDMzNTU0NDMxLiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA+Pj4gNSkpOyAKfSAKCgppZiAoMjE0NzQ4MzY0NyA+Pj4gNSAhPT0gNjcxMDg4NjMpIHsgCiAgJEVSUk9SKCcjMTk3OiAyMTQ3NDgzNjQ3ID4+PiA1ID09PSA2NzEwODg2My4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4+IDUpKTsgCn0gCgoKaWYgKDQyOTQ5NjcyOTUgPj4+IDUgIT09IDEzNDIxNzcyNykgeyAKICAkRVJST1IoJyMxOTg6IDQyOTQ5NjcyOTUgPj4+IDUgPT09IDEzNDIxNzcyNy4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IDUpKTsgCn0gCgoKaWYgKDAgPj4+IDYgIT09IDApIHsgCiAgJEVSUk9SKCcjMTk5OiAwID4+PiA2ID09PSAwLiBBY3R1YWw6ICcgKyAoMCA+Pj4gNikpOyAKfSAKCgppZiAoMSA+Pj4gNiAhPT0gMCkgeyAKICAkRVJST1IoJyMyMDA6IDEgPj4+IDYgPT09IDAuIEFjdHVhbDogJyArICgxID4+PiA2KSk7IAp9IAoKCmlmICgzID4+PiA2ICE9PSAwKSB7IAogICRFUlJPUignIzIwMTogMyA+Pj4gNiA9PT0gMC4gQWN0dWFsOiAnICsgKDMgPj4+IDYpKTsgCn0gCgoKaWYgKDcgPj4+IDYgIT09IDApIHsgCiAgJEVSUk9SKCcjMjAyOiA3ID4+PiA2ID09PSAwLiBBY3R1YWw6ICcgKyAoNyA+Pj4gNikpOyAKfSAKCgppZiAoMTUgPj4+IDYgIT09IDApIHsgCiAgJEVSUk9SKCcjMjAzOiAxNSA+Pj4gNiA9PT0gMC4gQWN0dWFsOiAnICsgKDE1ID4+PiA2KSk7IAp9IAoKCmlmICgzMSA+Pj4gNiAhPT0gMCkgeyAKICAkRVJST1IoJyMyMDQ6IDMxID4+PiA2ID09PSAwLiBBY3R1YWw6ICcgKyAoMzEgPj4+IDYpKTsgCn0gCgoKaWYgKDYzID4+PiA2ICE9PSAwKSB7IAogICRFUlJPUignIzIwNTogNjMgPj4+IDYgPT09IDAuIEFjdHVhbDogJyArICg2MyA+Pj4gNikpOyAKfSAKCgppZiAoMTI3ID4+PiA2ICE9PSAxKSB7IAogICRFUlJPUignIzIwNjogMTI3ID4+PiA2ID09PSAxLiBBY3R1YWw6ICcgKyAoMTI3ID4+PiA2KSk7IAp9IAoKCmlmICgyNTUgPj4+IDYgIT09IDMpIHsgCiAgJEVSUk9SKCcjMjA3OiAyNTUgPj4+IDYgPT09IDMuIEFjdHVhbDogJyArICgyNTUgPj4+IDYpKTsgCn0gCgoKaWYgKDUxMSA+Pj4gNiAhPT0gNykgeyAKICAkRVJST1IoJyMyMDg6IDUxMSA+Pj4gNiA9PT0gNy4gQWN0dWFsOiAnICsgKDUxMSA+Pj4gNikpOyAKfSAKCgppZiAoMTAyMyA+Pj4gNiAhPT0gMTUpIHsgCiAgJEVSUk9SKCcjMjA5OiAxMDIzID4+PiA2ID09PSAxNS4gQWN0dWFsOiAnICsgKDEwMjMgPj4+IDYpKTsgCn0gCgoKaWYgKDIwNDcgPj4+IDYgIT09IDMxKSB7IAogICRFUlJPUignIzIxMDogMjA0NyA+Pj4gNiA9PT0gMzEuIEFjdHVhbDogJyArICgyMDQ3ID4+PiA2KSk7IAp9IAoKCmlmICg0MDk1ID4+PiA2ICE9PSA2MykgeyAKICAkRVJST1IoJyMyMTE6IDQwOTUgPj4+IDYgPT09IDYzLiBBY3R1YWw6ICcgKyAoNDA5NSA+Pj4gNikpOyAKfSAKCgppZiAoODE5MSA+Pj4gNiAhPT0gMTI3KSB7IAogICRFUlJPUignIzIxMjogODE5MSA+Pj4gNiA9PT0gMTI3LiBBY3R1YWw6ICcgKyAoODE5MSA+Pj4gNikpOyAKfSAKCgppZiAoMTYzODMgPj4+IDYgIT09IDI1NSkgeyAKICAkRVJST1IoJyMyMTM6IDE2MzgzID4+PiA2ID09PSAyNTUuIEFjdHVhbDogJyArICgxNjM4MyA+Pj4gNikpOyAKfSAKCgppZiAoMzI3NjcgPj4+IDYgIT09IDUxMSkgeyAKICAkRVJST1IoJyMyMTQ6IDMyNzY3ID4+PiA2ID09PSA1MTEuIEFjdHVhbDogJyArICgzMjc2NyA+Pj4gNikpOyAKfSAKCgppZiAoNjU1MzUgPj4+IDYgIT09IDEwMjMpIHsgCiAgJEVSUk9SKCcjMjE1OiA2NTUzNSA+Pj4gNiA9PT0gMTAyMy4gQWN0dWFsOiAnICsgKDY1NTM1ID4+PiA2KSk7IAp9IAoKCmlmICgxMzEwNzEgPj4+IDYgIT09IDIwNDcpIHsgCiAgJEVSUk9SKCcjMjE2OiAxMzEwNzEgPj4+IDYgPT09IDIwNDcuIEFjdHVhbDogJyArICgxMzEwNzEgPj4+IDYpKTsgCn0gCgoKaWYgKDI2MjE0MyA+Pj4gNiAhPT0gNDA5NSkgeyAKICAkRVJST1IoJyMyMTc6IDI2MjE0MyA+Pj4gNiA9PT0gNDA5NS4gQWN0dWFsOiAnICsgKDI2MjE0MyA+Pj4gNikpOyAKfSAKCgppZiAoNTI0Mjg3ID4+PiA2ICE9PSA4MTkxKSB7IAogICRFUlJPUignIzIxODogNTI0Mjg3ID4+PiA2ID09PSA4MTkxLiBBY3R1YWw6ICcgKyAoNTI0Mjg3ID4+PiA2KSk7IAp9IAoKCmlmICgxMDQ4NTc1ID4+PiA2ICE9PSAxNjM4MykgeyAKICAkRVJST1IoJyMyMTk6IDEwNDg1NzUgPj4+IDYgPT09IDE2MzgzLiBBY3R1YWw6ICcgKyAoMTA0ODU3NSA+Pj4gNikpOyAKfSAKCgppZiAoMjA5NzE1MSA+Pj4gNiAhPT0gMzI3NjcpIHsgCiAgJEVSUk9SKCcjMjIwOiAyMDk3MTUxID4+PiA2ID09PSAzMjc2Ny4gQWN0dWFsOiAnICsgKDIwOTcxNTEgPj4+IDYpKTsgCn0gCgoKaWYgKDQxOTQzMDMgPj4+IDYgIT09IDY1NTM1KSB7IAogICRFUlJPUignIzIyMTogNDE5NDMwMyA+Pj4gNiA9PT0gNjU1MzUuIEFjdHVhbDogJyArICg0MTk0MzAzID4+PiA2KSk7IAp9IAoKCmlmICg4Mzg4NjA3ID4+PiA2ICE9PSAxMzEwNzEpIHsgCiAgJEVSUk9SKCcjMjIyOiA4Mzg4NjA3ID4+PiA2ID09PSAxMzEwNzEuIEFjdHVhbDogJyArICg4Mzg4NjA3ID4+PiA2KSk7IAp9IAoKCmlmICgxNjc3NzIxNSA+Pj4gNiAhPT0gMjYyMTQzKSB7IAogICRFUlJPUignIzIyMzogMTY3NzcyMTUgPj4+IDYgPT09IDI2MjE0My4gQWN0dWFsOiAnICsgKDE2Nzc3MjE1ID4+PiA2KSk7IAp9IAoKCmlmICgzMzU1NDQzMSA+Pj4gNiAhPT0gNTI0Mjg3KSB7IAogICRFUlJPUignIzIyNDogMzM1NTQ0MzEgPj4+IDYgPT09IDUyNDI4Ny4gQWN0dWFsOiAnICsgKDMzNTU0NDMxID4+PiA2KSk7IAp9IAoKCmlmICg2NzEwODg2MyA+Pj4gNiAhPT0gMTA0ODU3NSkgeyAKICAkRVJST1IoJyMyMjU6IDY3MTA4ODYzID4+PiA2ID09PSAxMDQ4NTc1LiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPj4+IDYpKTsgCn0gCgoKaWYgKDEzNDIxNzcyNyA+Pj4gNiAhPT0gMjA5NzE1MSkgeyAKICAkRVJST1IoJyMyMjY6IDEzNDIxNzcyNyA+Pj4gNiA9PT0gMjA5NzE1MS4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA+Pj4gNikpOyAKfSAKCgppZiAoMjY4NDM1NDU1ID4+PiA2ICE9PSA0MTk0MzAzKSB7IAogICRFUlJPUignIzIyNzogMjY4NDM1NDU1ID4+PiA2ID09PSA0MTk0MzAzLiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU1ID4+PiA2KSk7IAp9IAoKCmlmICg1MzY4NzA5MTEgPj4+IDYgIT09IDgzODg2MDcpIHsgCiAgJEVSUk9SKCcjMjI4OiA1MzY4NzA5MTEgPj4+IDYgPT09IDgzODg2MDcuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPj4+IDYpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjMgPj4+IDYgIT09IDE2Nzc3MjE1KSB7IAogICRFUlJPUignIzIyOTogMTA3Mzc0MTgyMyA+Pj4gNiA9PT0gMTY3NzcyMTUuIEFjdHVhbDogJyArICgxMDczNzQxODIzID4+PiA2KSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ3ID4+PiA2ICE9PSAzMzU1NDQzMSkgeyAKICAkRVJST1IoJyMyMzA6IDIxNDc0ODM2NDcgPj4+IDYgPT09IDMzNTU0NDMxLiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+Pj4gNikpOyAKfSAKCgppZiAoNDI5NDk2NzI5NSA+Pj4gNiAhPT0gNjcxMDg4NjMpIHsgCiAgJEVSUk9SKCcjMjMxOiA0Mjk0OTY3Mjk1ID4+PiA2ID09PSA2NzEwODg2My4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IDYpKTsgCn0gCgoKaWYgKDAgPj4+IDcgIT09IDApIHsgCiAgJEVSUk9SKCcjMjMyOiAwID4+PiA3ID09PSAwLiBBY3R1YWw6ICcgKyAoMCA+Pj4gNykpOyAKfSAKCgppZiAoMSA+Pj4gNyAhPT0gMCkgeyAKICAkRVJST1IoJyMyMzM6IDEgPj4+IDcgPT09IDAuIEFjdHVhbDogJyArICgxID4+PiA3KSk7IAp9IAoKCmlmICgzID4+PiA3ICE9PSAwKSB7IAogICRFUlJPUignIzIzNDogMyA+Pj4gNyA9PT0gMC4gQWN0dWFsOiAnICsgKDMgPj4+IDcpKTsgCn0gCgoKaWYgKDcgPj4+IDcgIT09IDApIHsgCiAgJEVSUk9SKCcjMjM1OiA3ID4+PiA3ID09PSAwLiBBY3R1YWw6ICcgKyAoNyA+Pj4gNykpOyAKfSAKCgppZiAoMTUgPj4+IDcgIT09IDApIHsgCiAgJEVSUk9SKCcjMjM2OiAxNSA+Pj4gNyA9PT0gMC4gQWN0dWFsOiAnICsgKDE1ID4+PiA3KSk7IAp9IAoKCmlmICgzMSA+Pj4gNyAhPT0gMCkgeyAKICAkRVJST1IoJyMyMzc6IDMxID4+PiA3ID09PSAwLiBBY3R1YWw6ICcgKyAoMzEgPj4+IDcpKTsgCn0gCgoKaWYgKDYzID4+PiA3ICE9PSAwKSB7IAogICRFUlJPUignIzIzODogNjMgPj4+IDcgPT09IDAuIEFjdHVhbDogJyArICg2MyA+Pj4gNykpOyAKfSAKCgppZiAoMTI3ID4+PiA3ICE9PSAwKSB7IAogICRFUlJPUignIzIzOTogMTI3ID4+PiA3ID09PSAwLiBBY3R1YWw6ICcgKyAoMTI3ID4+PiA3KSk7IAp9IAoKCmlmICgyNTUgPj4+IDcgIT09IDEpIHsgCiAgJEVSUk9SKCcjMjQwOiAyNTUgPj4+IDcgPT09IDEuIEFjdHVhbDogJyArICgyNTUgPj4+IDcpKTsgCn0gCgoKaWYgKDUxMSA+Pj4gNyAhPT0gMykgeyAKICAkRVJST1IoJyMyNDE6IDUxMSA+Pj4gNyA9PT0gMy4gQWN0dWFsOiAnICsgKDUxMSA+Pj4gNykpOyAKfSAKCgppZiAoMTAyMyA+Pj4gNyAhPT0gNykgeyAKICAkRVJST1IoJyMyNDI6IDEwMjMgPj4+IDcgPT09IDcuIEFjdHVhbDogJyArICgxMDIzID4+PiA3KSk7IAp9IAoKCmlmICgyMDQ3ID4+PiA3ICE9PSAxNSkgeyAKICAkRVJST1IoJyMyNDM6IDIwNDcgPj4+IDcgPT09IDE1LiBBY3R1YWw6ICcgKyAoMjA0NyA+Pj4gNykpOyAKfSAKCgppZiAoNDA5NSA+Pj4gNyAhPT0gMzEpIHsgCiAgJEVSUk9SKCcjMjQ0OiA0MDk1ID4+PiA3ID09PSAzMS4gQWN0dWFsOiAnICsgKDQwOTUgPj4+IDcpKTsgCn0gCgoKaWYgKDgxOTEgPj4+IDcgIT09IDYzKSB7IAogICRFUlJPUignIzI0NTogODE5MSA+Pj4gNyA9PT0gNjMuIEFjdHVhbDogJyArICg4MTkxID4+PiA3KSk7IAp9IAoKCmlmICgxNjM4MyA+Pj4gNyAhPT0gMTI3KSB7IAogICRFUlJPUignIzI0NjogMTYzODMgPj4+IDcgPT09IDEyNy4gQWN0dWFsOiAnICsgKDE2MzgzID4+PiA3KSk7IAp9IAoKCmlmICgzMjc2NyA+Pj4gNyAhPT0gMjU1KSB7IAogICRFUlJPUignIzI0NzogMzI3NjcgPj4+IDcgPT09IDI1NS4gQWN0dWFsOiAnICsgKDMyNzY3ID4+PiA3KSk7IAp9IAoKCmlmICg2NTUzNSA+Pj4gNyAhPT0gNTExKSB7IAogICRFUlJPUignIzI0ODogNjU1MzUgPj4+IDcgPT09IDUxMS4gQWN0dWFsOiAnICsgKDY1NTM1ID4+PiA3KSk7IAp9IAoKCmlmICgxMzEwNzEgPj4+IDcgIT09IDEwMjMpIHsgCiAgJEVSUk9SKCcjMjQ5OiAxMzEwNzEgPj4+IDcgPT09IDEwMjMuIEFjdHVhbDogJyArICgxMzEwNzEgPj4+IDcpKTsgCn0gCgoKaWYgKDI2MjE0MyA+Pj4gNyAhPT0gMjA0NykgeyAKICAkRVJST1IoJyMyNTA6IDI2MjE0MyA+Pj4gNyA9PT0gMjA0Ny4gQWN0dWFsOiAnICsgKDI2MjE0MyA+Pj4gNykpOyAKfSAKCgppZiAoNTI0Mjg3ID4+PiA3ICE9PSA0MDk1KSB7IAogICRFUlJPUignIzI1MTogNTI0Mjg3ID4+PiA3ID09PSA0MDk1LiBBY3R1YWw6ICcgKyAoNTI0Mjg3ID4+PiA3KSk7IAp9IAoKCmlmICgxMDQ4NTc1ID4+PiA3ICE9PSA4MTkxKSB7IAogICRFUlJPUignIzI1MjogMTA0ODU3NSA+Pj4gNyA9PT0gODE5MS4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPj4+IDcpKTsgCn0gCgoKaWYgKDIwOTcxNTEgPj4+IDcgIT09IDE2MzgzKSB7IAogICRFUlJPUignIzI1MzogMjA5NzE1MSA+Pj4gNyA9PT0gMTYzODMuIEFjdHVhbDogJyArICgyMDk3MTUxID4+PiA3KSk7IAp9IAoKCmlmICg0MTk0MzAzID4+PiA3ICE9PSAzMjc2NykgeyAKICAkRVJST1IoJyMyNTQ6IDQxOTQzMDMgPj4+IDcgPT09IDMyNzY3LiBBY3R1YWw6ICcgKyAoNDE5NDMwMyA+Pj4gNykpOyAKfSAKCgppZiAoODM4ODYwNyA+Pj4gNyAhPT0gNjU1MzUpIHsgCiAgJEVSUk9SKCcjMjU1OiA4Mzg4NjA3ID4+PiA3ID09PSA2NTUzNS4gQWN0dWFsOiAnICsgKDgzODg2MDcgPj4+IDcpKTsgCn0gCgoKaWYgKDE2Nzc3MjE1ID4+PiA3ICE9PSAxMzEwNzEpIHsgCiAgJEVSUk9SKCcjMjU2OiAxNjc3NzIxNSA+Pj4gNyA9PT0gMTMxMDcxLiBBY3R1YWw6ICcgKyAoMTY3NzcyMTUgPj4+IDcpKTsgCn0gCgoKaWYgKDMzNTU0NDMxID4+PiA3ICE9PSAyNjIxNDMpIHsgCiAgJEVSUk9SKCcjMjU3OiAzMzU1NDQzMSA+Pj4gNyA9PT0gMjYyMTQzLiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPj4+IDcpKTsgCn0gCgoKaWYgKDY3MTA4ODYzID4+PiA3ICE9PSA1MjQyODcpIHsgCiAgJEVSUk9SKCcjMjU4OiA2NzEwODg2MyA+Pj4gNyA9PT0gNTI0Mjg3LiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPj4+IDcpKTsgCn0gCgoKaWYgKDEzNDIxNzcyNyA+Pj4gNyAhPT0gMTA0ODU3NSkgeyAKICAkRVJST1IoJyMyNTk6IDEzNDIxNzcyNyA+Pj4gNyA9PT0gMTA0ODU3NS4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA+Pj4gNykpOyAKfSAKCgppZiAoMjY4NDM1NDU1ID4+PiA3ICE9PSAyMDk3MTUxKSB7IAogICRFUlJPUignIzI2MDogMjY4NDM1NDU1ID4+PiA3ID09PSAyMDk3MTUxLiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU1ID4+PiA3KSk7IAp9IAoKCmlmICg1MzY4NzA5MTEgPj4+IDcgIT09IDQxOTQzMDMpIHsgCiAgJEVSUk9SKCcjMjYxOiA1MzY4NzA5MTEgPj4+IDcgPT09IDQxOTQzMDMuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPj4+IDcpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjMgPj4+IDcgIT09IDgzODg2MDcpIHsgCiAgJEVSUk9SKCcjMjYyOiAxMDczNzQxODIzID4+PiA3ID09PSA4Mzg4NjA3LiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA+Pj4gNykpOyAKfSAKCgppZiAoMjE0NzQ4MzY0NyA+Pj4gNyAhPT0gMTY3NzcyMTUpIHsgCiAgJEVSUk9SKCcjMjYzOiAyMTQ3NDgzNjQ3ID4+PiA3ID09PSAxNjc3NzIxNS4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4+IDcpKTsgCn0gCgoKaWYgKDQyOTQ5NjcyOTUgPj4+IDcgIT09IDMzNTU0NDMxKSB7IAogICRFUlJPUignIzI2NDogNDI5NDk2NzI5NSA+Pj4gNyA9PT0gMzM1NTQ0MzEuIEFjdHVhbDogJyArICg0Mjk0OTY3Mjk1ID4+PiA3KSk7IAp9IAoKCmlmICgwID4+PiA4ICE9PSAwKSB7IAogICRFUlJPUignIzI2NTogMCA+Pj4gOCA9PT0gMC4gQWN0dWFsOiAnICsgKDAgPj4+IDgpKTsgCn0gCgoKaWYgKDEgPj4+IDggIT09IDApIHsgCiAgJEVSUk9SKCcjMjY2OiAxID4+PiA4ID09PSAwLiBBY3R1YWw6ICcgKyAoMSA+Pj4gOCkpOyAKfSAKCgppZiAoMyA+Pj4gOCAhPT0gMCkgeyAKICAkRVJST1IoJyMyNjc6IDMgPj4+IDggPT09IDAuIEFjdHVhbDogJyArICgzID4+PiA4KSk7IAp9IAoKCmlmICg3ID4+PiA4ICE9PSAwKSB7IAogICRFUlJPUignIzI2ODogNyA+Pj4gOCA9PT0gMC4gQWN0dWFsOiAnICsgKDcgPj4+IDgpKTsgCn0gCgoKaWYgKDE1ID4+PiA4ICE9PSAwKSB7IAogICRFUlJPUignIzI2OTogMTUgPj4+IDggPT09IDAuIEFjdHVhbDogJyArICgxNSA+Pj4gOCkpOyAKfSAKCgppZiAoMzEgPj4+IDggIT09IDApIHsgCiAgJEVSUk9SKCcjMjcwOiAzMSA+Pj4gOCA9PT0gMC4gQWN0dWFsOiAnICsgKDMxID4+PiA4KSk7IAp9IAoKCmlmICg2MyA+Pj4gOCAhPT0gMCkgeyAKICAkRVJST1IoJyMyNzE6IDYzID4+PiA4ID09PSAwLiBBY3R1YWw6ICcgKyAoNjMgPj4+IDgpKTsgCn0gCgoKaWYgKDEyNyA+Pj4gOCAhPT0gMCkgeyAKICAkRVJST1IoJyMyNzI6IDEyNyA+Pj4gOCA9PT0gMC4gQWN0dWFsOiAnICsgKDEyNyA+Pj4gOCkpOyAKfSAKCgppZiAoMjU1ID4+PiA4ICE9PSAwKSB7IAogICRFUlJPUignIzI3MzogMjU1ID4+PiA4ID09PSAwLiBBY3R1YWw6ICcgKyAoMjU1ID4+PiA4KSk7IAp9IAoKCmlmICg1MTEgPj4+IDggIT09IDEpIHsgCiAgJEVSUk9SKCcjMjc0OiA1MTEgPj4+IDggPT09IDEuIEFjdHVhbDogJyArICg1MTEgPj4+IDgpKTsgCn0gCgoKaWYgKDEwMjMgPj4+IDggIT09IDMpIHsgCiAgJEVSUk9SKCcjMjc1OiAxMDIzID4+PiA4ID09PSAzLiBBY3R1YWw6ICcgKyAoMTAyMyA+Pj4gOCkpOyAKfSAKCgppZiAoMjA0NyA+Pj4gOCAhPT0gNykgeyAKICAkRVJST1IoJyMyNzY6IDIwNDcgPj4+IDggPT09IDcuIEFjdHVhbDogJyArICgyMDQ3ID4+PiA4KSk7IAp9IAoKCmlmICg0MDk1ID4+PiA4ICE9PSAxNSkgeyAKICAkRVJST1IoJyMyNzc6IDQwOTUgPj4+IDggPT09IDE1LiBBY3R1YWw6ICcgKyAoNDA5NSA+Pj4gOCkpOyAKfSAKCgppZiAoODE5MSA+Pj4gOCAhPT0gMzEpIHsgCiAgJEVSUk9SKCcjMjc4OiA4MTkxID4+PiA4ID09PSAzMS4gQWN0dWFsOiAnICsgKDgxOTEgPj4+IDgpKTsgCn0gCgoKaWYgKDE2MzgzID4+PiA4ICE9PSA2MykgeyAKICAkRVJST1IoJyMyNzk6IDE2MzgzID4+PiA4ID09PSA2My4gQWN0dWFsOiAnICsgKDE2MzgzID4+PiA4KSk7IAp9IAoKCmlmICgzMjc2NyA+Pj4gOCAhPT0gMTI3KSB7IAogICRFUlJPUignIzI4MDogMzI3NjcgPj4+IDggPT09IDEyNy4gQWN0dWFsOiAnICsgKDMyNzY3ID4+PiA4KSk7IAp9IAoKCmlmICg2NTUzNSA+Pj4gOCAhPT0gMjU1KSB7IAogICRFUlJPUignIzI4MTogNjU1MzUgPj4+IDggPT09IDI1NS4gQWN0dWFsOiAnICsgKDY1NTM1ID4+PiA4KSk7IAp9IAoKCmlmICgxMzEwNzEgPj4+IDggIT09IDUxMSkgeyAKICAkRVJST1IoJyMyODI6IDEzMTA3MSA+Pj4gOCA9PT0gNTExLiBBY3R1YWw6ICcgKyAoMTMxMDcxID4+PiA4KSk7IAp9IAoKCmlmICgyNjIxNDMgPj4+IDggIT09IDEwMjMpIHsgCiAgJEVSUk9SKCcjMjgzOiAyNjIxNDMgPj4+IDggPT09IDEwMjMuIEFjdHVhbDogJyArICgyNjIxNDMgPj4+IDgpKTsgCn0gCgoKaWYgKDUyNDI4NyA+Pj4gOCAhPT0gMjA0NykgeyAKICAkRVJST1IoJyMyODQ6IDUyNDI4NyA+Pj4gOCA9PT0gMjA0Ny4gQWN0dWFsOiAnICsgKDUyNDI4NyA+Pj4gOCkpOyAKfSAKCgppZiAoMTA0ODU3NSA+Pj4gOCAhPT0gNDA5NSkgeyAKICAkRVJST1IoJyMyODU6IDEwNDg1NzUgPj4+IDggPT09IDQwOTUuIEFjdHVhbDogJyArICgxMDQ4NTc1ID4+PiA4KSk7IAp9IAoKCmlmICgyMDk3MTUxID4+PiA4ICE9PSA4MTkxKSB7IAogICRFUlJPUignIzI4NjogMjA5NzE1MSA+Pj4gOCA9PT0gODE5MS4gQWN0dWFsOiAnICsgKDIwOTcxNTEgPj4+IDgpKTsgCn0gCgoKaWYgKDQxOTQzMDMgPj4+IDggIT09IDE2MzgzKSB7IAogICRFUlJPUignIzI4NzogNDE5NDMwMyA+Pj4gOCA9PT0gMTYzODMuIEFjdHVhbDogJyArICg0MTk0MzAzID4+PiA4KSk7IAp9IAoKCmlmICg4Mzg4NjA3ID4+PiA4ICE9PSAzMjc2NykgeyAKICAkRVJST1IoJyMyODg6IDgzODg2MDcgPj4+IDggPT09IDMyNzY3LiBBY3R1YWw6ICcgKyAoODM4ODYwNyA+Pj4gOCkpOyAKfSAKCgppZiAoMTY3NzcyMTUgPj4+IDggIT09IDY1NTM1KSB7IAogICRFUlJPUignIzI4OTogMTY3NzcyMTUgPj4+IDggPT09IDY1NTM1LiBBY3R1YWw6ICcgKyAoMTY3NzcyMTUgPj4+IDgpKTsgCn0gCgoKaWYgKDMzNTU0NDMxID4+PiA4ICE9PSAxMzEwNzEpIHsgCiAgJEVSUk9SKCcjMjkwOiAzMzU1NDQzMSA+Pj4gOCA9PT0gMTMxMDcxLiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPj4+IDgpKTsgCn0gCgoKaWYgKDY3MTA4ODYzID4+PiA4ICE9PSAyNjIxNDMpIHsgCiAgJEVSUk9SKCcjMjkxOiA2NzEwODg2MyA+Pj4gOCA9PT0gMjYyMTQzLiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPj4+IDgpKTsgCn0gCgoKaWYgKDEzNDIxNzcyNyA+Pj4gOCAhPT0gNTI0Mjg3KSB7IAogICRFUlJPUignIzI5MjogMTM0MjE3NzI3ID4+PiA4ID09PSA1MjQyODcuIEFjdHVhbDogJyArICgxMzQyMTc3MjcgPj4+IDgpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NSA+Pj4gOCAhPT0gMTA0ODU3NSkgeyAKICAkRVJST1IoJyMyOTM6IDI2ODQzNTQ1NSA+Pj4gOCA9PT0gMTA0ODU3NS4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NSA+Pj4gOCkpOyAKfSAKCgppZiAoNTM2ODcwOTExID4+PiA4ICE9PSAyMDk3MTUxKSB7IAogICRFUlJPUignIzI5NDogNTM2ODcwOTExID4+PiA4ID09PSAyMDk3MTUxLiBBY3R1YWw6ICcgKyAoNTM2ODcwOTExID4+PiA4KSk7IAp9IAoKCmlmICgxMDczNzQxODIzID4+PiA4ICE9PSA0MTk0MzAzKSB7IAogICRFUlJPUignIzI5NTogMTA3Mzc0MTgyMyA+Pj4gOCA9PT0gNDE5NDMwMy4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjMgPj4+IDgpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDcgPj4+IDggIT09IDgzODg2MDcpIHsgCiAgJEVSUk9SKCcjMjk2OiAyMTQ3NDgzNjQ3ID4+PiA4ID09PSA4Mzg4NjA3LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+Pj4gOCkpOyAKfSAKCgppZiAoNDI5NDk2NzI5NSA+Pj4gOCAhPT0gMTY3NzcyMTUpIHsgCiAgJEVSUk9SKCcjMjk3OiA0Mjk0OTY3Mjk1ID4+PiA4ID09PSAxNjc3NzIxNS4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IDgpKTsgCn0gCgoKaWYgKDAgPj4+IDkgIT09IDApIHsgCiAgJEVSUk9SKCcjMjk4OiAwID4+PiA5ID09PSAwLiBBY3R1YWw6ICcgKyAoMCA+Pj4gOSkpOyAKfSAKCgppZiAoMSA+Pj4gOSAhPT0gMCkgeyAKICAkRVJST1IoJyMyOTk6IDEgPj4+IDkgPT09IDAuIEFjdHVhbDogJyArICgxID4+PiA5KSk7IAp9IAoKCmlmICgzID4+PiA5ICE9PSAwKSB7IAogICRFUlJPUignIzMwMDogMyA+Pj4gOSA9PT0gMC4gQWN0dWFsOiAnICsgKDMgPj4+IDkpKTsgCn0gCgoKaWYgKDcgPj4+IDkgIT09IDApIHsgCiAgJEVSUk9SKCcjMzAxOiA3ID4+PiA5ID09PSAwLiBBY3R1YWw6ICcgKyAoNyA+Pj4gOSkpOyAKfSAKCgppZiAoMTUgPj4+IDkgIT09IDApIHsgCiAgJEVSUk9SKCcjMzAyOiAxNSA+Pj4gOSA9PT0gMC4gQWN0dWFsOiAnICsgKDE1ID4+PiA5KSk7IAp9IAoKCmlmICgzMSA+Pj4gOSAhPT0gMCkgeyAKICAkRVJST1IoJyMzMDM6IDMxID4+PiA5ID09PSAwLiBBY3R1YWw6ICcgKyAoMzEgPj4+IDkpKTsgCn0gCgoKaWYgKDYzID4+PiA5ICE9PSAwKSB7IAogICRFUlJPUignIzMwNDogNjMgPj4+IDkgPT09IDAuIEFjdHVhbDogJyArICg2MyA+Pj4gOSkpOyAKfSAKCgppZiAoMTI3ID4+PiA5ICE9PSAwKSB7IAogICRFUlJPUignIzMwNTogMTI3ID4+PiA5ID09PSAwLiBBY3R1YWw6ICcgKyAoMTI3ID4+PiA5KSk7IAp9IAoKCmlmICgyNTUgPj4+IDkgIT09IDApIHsgCiAgJEVSUk9SKCcjMzA2OiAyNTUgPj4+IDkgPT09IDAuIEFjdHVhbDogJyArICgyNTUgPj4+IDkpKTsgCn0gCgoKaWYgKDUxMSA+Pj4gOSAhPT0gMCkgeyAKICAkRVJST1IoJyMzMDc6IDUxMSA+Pj4gOSA9PT0gMC4gQWN0dWFsOiAnICsgKDUxMSA+Pj4gOSkpOyAKfSAKCgppZiAoMTAyMyA+Pj4gOSAhPT0gMSkgeyAKICAkRVJST1IoJyMzMDg6IDEwMjMgPj4+IDkgPT09IDEuIEFjdHVhbDogJyArICgxMDIzID4+PiA5KSk7IAp9IAoKCmlmICgyMDQ3ID4+PiA5ICE9PSAzKSB7IAogICRFUlJPUignIzMwOTogMjA0NyA+Pj4gOSA9PT0gMy4gQWN0dWFsOiAnICsgKDIwNDcgPj4+IDkpKTsgCn0gCgoKaWYgKDQwOTUgPj4+IDkgIT09IDcpIHsgCiAgJEVSUk9SKCcjMzEwOiA0MDk1ID4+PiA5ID09PSA3LiBBY3R1YWw6ICcgKyAoNDA5NSA+Pj4gOSkpOyAKfSAKCgppZiAoODE5MSA+Pj4gOSAhPT0gMTUpIHsgCiAgJEVSUk9SKCcjMzExOiA4MTkxID4+PiA5ID09PSAxNS4gQWN0dWFsOiAnICsgKDgxOTEgPj4+IDkpKTsgCn0gCgoKaWYgKDE2MzgzID4+PiA5ICE9PSAzMSkgeyAKICAkRVJST1IoJyMzMTI6IDE2MzgzID4+PiA5ID09PSAzMS4gQWN0dWFsOiAnICsgKDE2MzgzID4+PiA5KSk7IAp9IAoKCmlmICgzMjc2NyA+Pj4gOSAhPT0gNjMpIHsgCiAgJEVSUk9SKCcjMzEzOiAzMjc2NyA+Pj4gOSA9PT0gNjMuIEFjdHVhbDogJyArICgzMjc2NyA+Pj4gOSkpOyAKfSAKCgppZiAoNjU1MzUgPj4+IDkgIT09IDEyNykgeyAKICAkRVJST1IoJyMzMTQ6IDY1NTM1ID4+PiA5ID09PSAxMjcuIEFjdHVhbDogJyArICg2NTUzNSA+Pj4gOSkpOyAKfSAKCgppZiAoMTMxMDcxID4+PiA5ICE9PSAyNTUpIHsgCiAgJEVSUk9SKCcjMzE1OiAxMzEwNzEgPj4+IDkgPT09IDI1NS4gQWN0dWFsOiAnICsgKDEzMTA3MSA+Pj4gOSkpOyAKfSAKCgppZiAoMjYyMTQzID4+PiA5ICE9PSA1MTEpIHsgCiAgJEVSUk9SKCcjMzE2OiAyNjIxNDMgPj4+IDkgPT09IDUxMS4gQWN0dWFsOiAnICsgKDI2MjE0MyA+Pj4gOSkpOyAKfSAKCgppZiAoNTI0Mjg3ID4+PiA5ICE9PSAxMDIzKSB7IAogICRFUlJPUignIzMxNzogNTI0Mjg3ID4+PiA5ID09PSAxMDIzLiBBY3R1YWw6ICcgKyAoNTI0Mjg3ID4+PiA5KSk7IAp9IAoKCmlmICgxMDQ4NTc1ID4+PiA5ICE9PSAyMDQ3KSB7IAogICRFUlJPUignIzMxODogMTA0ODU3NSA+Pj4gOSA9PT0gMjA0Ny4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPj4+IDkpKTsgCn0gCgoKaWYgKDIwOTcxNTEgPj4+IDkgIT09IDQwOTUpIHsgCiAgJEVSUk9SKCcjMzE5OiAyMDk3MTUxID4+PiA5ID09PSA0MDk1LiBBY3R1YWw6ICcgKyAoMjA5NzE1MSA+Pj4gOSkpOyAKfSAKCgppZiAoNDE5NDMwMyA+Pj4gOSAhPT0gODE5MSkgeyAKICAkRVJST1IoJyMzMjA6IDQxOTQzMDMgPj4+IDkgPT09IDgxOTEuIEFjdHVhbDogJyArICg0MTk0MzAzID4+PiA5KSk7IAp9IAoKCmlmICg4Mzg4NjA3ID4+PiA5ICE9PSAxNjM4MykgeyAKICAkRVJST1IoJyMzMjE6IDgzODg2MDcgPj4+IDkgPT09IDE2MzgzLiBBY3R1YWw6ICcgKyAoODM4ODYwNyA+Pj4gOSkpOyAKfSAKCgppZiAoMTY3NzcyMTUgPj4+IDkgIT09IDMyNzY3KSB7IAogICRFUlJPUignIzMyMjogMTY3NzcyMTUgPj4+IDkgPT09IDMyNzY3LiBBY3R1YWw6ICcgKyAoMTY3NzcyMTUgPj4+IDkpKTsgCn0gCgoKaWYgKDMzNTU0NDMxID4+PiA5ICE9PSA2NTUzNSkgeyAKICAkRVJST1IoJyMzMjM6IDMzNTU0NDMxID4+PiA5ID09PSA2NTUzNS4gQWN0dWFsOiAnICsgKDMzNTU0NDMxID4+PiA5KSk7IAp9IAoKCmlmICg2NzEwODg2MyA+Pj4gOSAhPT0gMTMxMDcxKSB7IAogICRFUlJPUignIzMyNDogNjcxMDg4NjMgPj4+IDkgPT09IDEzMTA3MS4gQWN0dWFsOiAnICsgKDY3MTA4ODYzID4+PiA5KSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPj4+IDkgIT09IDI2MjE0MykgeyAKICAkRVJST1IoJyMzMjU6IDEzNDIxNzcyNyA+Pj4gOSA9PT0gMjYyMTQzLiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI3ID4+PiA5KSk7IAp9IAoKCmlmICgyNjg0MzU0NTUgPj4+IDkgIT09IDUyNDI4NykgeyAKICAkRVJST1IoJyMzMjY6IDI2ODQzNTQ1NSA+Pj4gOSA9PT0gNTI0Mjg3LiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU1ID4+PiA5KSk7IAp9IAoKCmlmICg1MzY4NzA5MTEgPj4+IDkgIT09IDEwNDg1NzUpIHsgCiAgJEVSUk9SKCcjMzI3OiA1MzY4NzA5MTEgPj4+IDkgPT09IDEwNDg1NzUuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPj4+IDkpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjMgPj4+IDkgIT09IDIwOTcxNTEpIHsgCiAgJEVSUk9SKCcjMzI4OiAxMDczNzQxODIzID4+PiA5ID09PSAyMDk3MTUxLiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA+Pj4gOSkpOyAKfSAKCgppZiAoMjE0NzQ4MzY0NyA+Pj4gOSAhPT0gNDE5NDMwMykgeyAKICAkRVJST1IoJyMzMjk6IDIxNDc0ODM2NDcgPj4+IDkgPT09IDQxOTQzMDMuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3ID4+PiA5KSk7IAp9IAoKCmlmICg0Mjk0OTY3Mjk1ID4+PiA5ICE9PSA4Mzg4NjA3KSB7IAogICRFUlJPUignIzMzMDogNDI5NDk2NzI5NSA+Pj4gOSA9PT0gODM4ODYwNy4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IDkpKTsgCn0gCgoKaWYgKDAgPj4+IDEwICE9PSAwKSB7IAogICRFUlJPUignIzMzMTogMCA+Pj4gMTAgPT09IDAuIEFjdHVhbDogJyArICgwID4+PiAxMCkpOyAKfSAKCgppZiAoMSA+Pj4gMTAgIT09IDApIHsgCiAgJEVSUk9SKCcjMzMyOiAxID4+PiAxMCA9PT0gMC4gQWN0dWFsOiAnICsgKDEgPj4+IDEwKSk7IAp9IAoKCmlmICgzID4+PiAxMCAhPT0gMCkgeyAKICAkRVJST1IoJyMzMzM6IDMgPj4+IDEwID09PSAwLiBBY3R1YWw6ICcgKyAoMyA+Pj4gMTApKTsgCn0gCgoKaWYgKDcgPj4+IDEwICE9PSAwKSB7IAogICRFUlJPUignIzMzNDogNyA+Pj4gMTAgPT09IDAuIEFjdHVhbDogJyArICg3ID4+PiAxMCkpOyAKfSAKCgppZiAoMTUgPj4+IDEwICE9PSAwKSB7IAogICRFUlJPUignIzMzNTogMTUgPj4+IDEwID09PSAwLiBBY3R1YWw6ICcgKyAoMTUgPj4+IDEwKSk7IAp9IAoKCmlmICgzMSA+Pj4gMTAgIT09IDApIHsgCiAgJEVSUk9SKCcjMzM2OiAzMSA+Pj4gMTAgPT09IDAuIEFjdHVhbDogJyArICgzMSA+Pj4gMTApKTsgCn0gCgoKaWYgKDYzID4+PiAxMCAhPT0gMCkgeyAKICAkRVJST1IoJyMzMzc6IDYzID4+PiAxMCA9PT0gMC4gQWN0dWFsOiAnICsgKDYzID4+PiAxMCkpOyAKfSAKCgppZiAoMTI3ID4+PiAxMCAhPT0gMCkgeyAKICAkRVJST1IoJyMzMzg6IDEyNyA+Pj4gMTAgPT09IDAuIEFjdHVhbDogJyArICgxMjcgPj4+IDEwKSk7IAp9IAoKCmlmICgyNTUgPj4+IDEwICE9PSAwKSB7IAogICRFUlJPUignIzMzOTogMjU1ID4+PiAxMCA9PT0gMC4gQWN0dWFsOiAnICsgKDI1NSA+Pj4gMTApKTsgCn0gCgoKaWYgKDUxMSA+Pj4gMTAgIT09IDApIHsgCiAgJEVSUk9SKCcjMzQwOiA1MTEgPj4+IDEwID09PSAwLiBBY3R1YWw6ICcgKyAoNTExID4+PiAxMCkpOyAKfSAKCgppZiAoMTAyMyA+Pj4gMTAgIT09IDApIHsgCiAgJEVSUk9SKCcjMzQxOiAxMDIzID4+PiAxMCA9PT0gMC4gQWN0dWFsOiAnICsgKDEwMjMgPj4+IDEwKSk7IAp9IAoKCmlmICgyMDQ3ID4+PiAxMCAhPT0gMSkgeyAKICAkRVJST1IoJyMzNDI6IDIwNDcgPj4+IDEwID09PSAxLiBBY3R1YWw6ICcgKyAoMjA0NyA+Pj4gMTApKTsgCn0gCgoKaWYgKDQwOTUgPj4+IDEwICE9PSAzKSB7IAogICRFUlJPUignIzM0MzogNDA5NSA+Pj4gMTAgPT09IDMuIEFjdHVhbDogJyArICg0MDk1ID4+PiAxMCkpOyAKfSAKCgppZiAoODE5MSA+Pj4gMTAgIT09IDcpIHsgCiAgJEVSUk9SKCcjMzQ0OiA4MTkxID4+PiAxMCA9PT0gNy4gQWN0dWFsOiAnICsgKDgxOTEgPj4+IDEwKSk7IAp9IAoKCmlmICgxNjM4MyA+Pj4gMTAgIT09IDE1KSB7IAogICRFUlJPUignIzM0NTogMTYzODMgPj4+IDEwID09PSAxNS4gQWN0dWFsOiAnICsgKDE2MzgzID4+PiAxMCkpOyAKfSAKCgppZiAoMzI3NjcgPj4+IDEwICE9PSAzMSkgeyAKICAkRVJST1IoJyMzNDY6IDMyNzY3ID4+PiAxMCA9PT0gMzEuIEFjdHVhbDogJyArICgzMjc2NyA+Pj4gMTApKTsgCn0gCgoKaWYgKDY1NTM1ID4+PiAxMCAhPT0gNjMpIHsgCiAgJEVSUk9SKCcjMzQ3OiA2NTUzNSA+Pj4gMTAgPT09IDYzLiBBY3R1YWw6ICcgKyAoNjU1MzUgPj4+IDEwKSk7IAp9IAoKCmlmICgxMzEwNzEgPj4+IDEwICE9PSAxMjcpIHsgCiAgJEVSUk9SKCcjMzQ4OiAxMzEwNzEgPj4+IDEwID09PSAxMjcuIEFjdHVhbDogJyArICgxMzEwNzEgPj4+IDEwKSk7IAp9IAoKCmlmICgyNjIxNDMgPj4+IDEwICE9PSAyNTUpIHsgCiAgJEVSUk9SKCcjMzQ5OiAyNjIxNDMgPj4+IDEwID09PSAyNTUuIEFjdHVhbDogJyArICgyNjIxNDMgPj4+IDEwKSk7IAp9IAoKCmlmICg1MjQyODcgPj4+IDEwICE9PSA1MTEpIHsgCiAgJEVSUk9SKCcjMzUwOiA1MjQyODcgPj4+IDEwID09PSA1MTEuIEFjdHVhbDogJyArICg1MjQyODcgPj4+IDEwKSk7IAp9IAoKCmlmICgxMDQ4NTc1ID4+PiAxMCAhPT0gMTAyMykgeyAKICAkRVJST1IoJyMzNTE6IDEwNDg1NzUgPj4+IDEwID09PSAxMDIzLiBBY3R1YWw6ICcgKyAoMTA0ODU3NSA+Pj4gMTApKTsgCn0gCgoKaWYgKDIwOTcxNTEgPj4+IDEwICE9PSAyMDQ3KSB7IAogICRFUlJPUignIzM1MjogMjA5NzE1MSA+Pj4gMTAgPT09IDIwNDcuIEFjdHVhbDogJyArICgyMDk3MTUxID4+PiAxMCkpOyAKfSAKCgppZiAoNDE5NDMwMyA+Pj4gMTAgIT09IDQwOTUpIHsgCiAgJEVSUk9SKCcjMzUzOiA0MTk0MzAzID4+PiAxMCA9PT0gNDA5NS4gQWN0dWFsOiAnICsgKDQxOTQzMDMgPj4+IDEwKSk7IAp9IAoKCmlmICg4Mzg4NjA3ID4+PiAxMCAhPT0gODE5MSkgeyAKICAkRVJST1IoJyMzNTQ6IDgzODg2MDcgPj4+IDEwID09PSA4MTkxLiBBY3R1YWw6ICcgKyAoODM4ODYwNyA+Pj4gMTApKTsgCn0gCgoKaWYgKDE2Nzc3MjE1ID4+PiAxMCAhPT0gMTYzODMpIHsgCiAgJEVSUk9SKCcjMzU1OiAxNjc3NzIxNSA+Pj4gMTAgPT09IDE2MzgzLiBBY3R1YWw6ICcgKyAoMTY3NzcyMTUgPj4+IDEwKSk7IAp9IAoKCmlmICgzMzU1NDQzMSA+Pj4gMTAgIT09IDMyNzY3KSB7IAogICRFUlJPUignIzM1NjogMzM1NTQ0MzEgPj4+IDEwID09PSAzMjc2Ny4gQWN0dWFsOiAnICsgKDMzNTU0NDMxID4+PiAxMCkpOyAKfSAKCgppZiAoNjcxMDg4NjMgPj4+IDEwICE9PSA2NTUzNSkgeyAKICAkRVJST1IoJyMzNTc6IDY3MTA4ODYzID4+PiAxMCA9PT0gNjU1MzUuIEFjdHVhbDogJyArICg2NzEwODg2MyA+Pj4gMTApKTsgCn0gCgoKaWYgKDEzNDIxNzcyNyA+Pj4gMTAgIT09IDEzMTA3MSkgeyAKICAkRVJST1IoJyMzNTg6IDEzNDIxNzcyNyA+Pj4gMTAgPT09IDEzMTA3MS4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA+Pj4gMTApKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NSA+Pj4gMTAgIT09IDI2MjE0MykgeyAKICAkRVJST1IoJyMzNTk6IDI2ODQzNTQ1NSA+Pj4gMTAgPT09IDI2MjE0My4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NSA+Pj4gMTApKTsgCn0gCgoKaWYgKDUzNjg3MDkxMSA+Pj4gMTAgIT09IDUyNDI4NykgeyAKICAkRVJST1IoJyMzNjA6IDUzNjg3MDkxMSA+Pj4gMTAgPT09IDUyNDI4Ny4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMSA+Pj4gMTApKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjMgPj4+IDEwICE9PSAxMDQ4NTc1KSB7IAogICRFUlJPUignIzM2MTogMTA3Mzc0MTgyMyA+Pj4gMTAgPT09IDEwNDg1NzUuIEFjdHVhbDogJyArICgxMDczNzQxODIzID4+PiAxMCkpOyAKfSAKCgppZiAoMjE0NzQ4MzY0NyA+Pj4gMTAgIT09IDIwOTcxNTEpIHsgCiAgJEVSUk9SKCcjMzYyOiAyMTQ3NDgzNjQ3ID4+PiAxMCA9PT0gMjA5NzE1MS4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4+IDEwKSk7IAp9IAoKCmlmICg0Mjk0OTY3Mjk1ID4+PiAxMCAhPT0gNDE5NDMwMykgeyAKICAkRVJST1IoJyMzNjM6IDQyOTQ5NjcyOTUgPj4+IDEwID09PSA0MTk0MzAzLiBBY3R1YWw6ICcgKyAoNDI5NDk2NzI5NSA+Pj4gMTApKTsgCn0gCgoKaWYgKDAgPj4+IDExICE9PSAwKSB7IAogICRFUlJPUignIzM2NDogMCA+Pj4gMTEgPT09IDAuIEFjdHVhbDogJyArICgwID4+PiAxMSkpOyAKfSAKCgppZiAoMSA+Pj4gMTEgIT09IDApIHsgCiAgJEVSUk9SKCcjMzY1OiAxID4+PiAxMSA9PT0gMC4gQWN0dWFsOiAnICsgKDEgPj4+IDExKSk7IAp9IAoKCmlmICgzID4+PiAxMSAhPT0gMCkgeyAKICAkRVJST1IoJyMzNjY6IDMgPj4+IDExID09PSAwLiBBY3R1YWw6ICcgKyAoMyA+Pj4gMTEpKTsgCn0gCgoKaWYgKDcgPj4+IDExICE9PSAwKSB7IAogICRFUlJPUignIzM2NzogNyA+Pj4gMTEgPT09IDAuIEFjdHVhbDogJyArICg3ID4+PiAxMSkpOyAKfSAKCgppZiAoMTUgPj4+IDExICE9PSAwKSB7IAogICRFUlJPUignIzM2ODogMTUgPj4+IDExID09PSAwLiBBY3R1YWw6ICcgKyAoMTUgPj4+IDExKSk7IAp9IAoKCmlmICgzMSA+Pj4gMTEgIT09IDApIHsgCiAgJEVSUk9SKCcjMzY5OiAzMSA+Pj4gMTEgPT09IDAuIEFjdHVhbDogJyArICgzMSA+Pj4gMTEpKTsgCn0gCgoKaWYgKDYzID4+PiAxMSAhPT0gMCkgeyAKICAkRVJST1IoJyMzNzA6IDYzID4+PiAxMSA9PT0gMC4gQWN0dWFsOiAnICsgKDYzID4+PiAxMSkpOyAKfSAKCgppZiAoMTI3ID4+PiAxMSAhPT0gMCkgeyAKICAkRVJST1IoJyMzNzE6IDEyNyA+Pj4gMTEgPT09IDAuIEFjdHVhbDogJyArICgxMjcgPj4+IDExKSk7IAp9IAoKCmlmICgyNTUgPj4+IDExICE9PSAwKSB7IAogICRFUlJPUignIzM3MjogMjU1ID4+PiAxMSA9PT0gMC4gQWN0dWFsOiAnICsgKDI1NSA+Pj4gMTEpKTsgCn0gCgoKaWYgKDUxMSA+Pj4gMTEgIT09IDApIHsgCiAgJEVSUk9SKCcjMzczOiA1MTEgPj4+IDExID09PSAwLiBBY3R1YWw6ICcgKyAoNTExID4+PiAxMSkpOyAKfSAKCgppZiAoMTAyMyA+Pj4gMTEgIT09IDApIHsgCiAgJEVSUk9SKCcjMzc0OiAxMDIzID4+PiAxMSA9PT0gMC4gQWN0dWFsOiAnICsgKDEwMjMgPj4+IDExKSk7IAp9IAoKCmlmICgyMDQ3ID4+PiAxMSAhPT0gMCkgeyAKICAkRVJST1IoJyMzNzU6IDIwNDcgPj4+IDExID09PSAwLiBBY3R1YWw6ICcgKyAoMjA0NyA+Pj4gMTEpKTsgCn0gCgoKaWYgKDQwOTUgPj4+IDExICE9PSAxKSB7IAogICRFUlJPUignIzM3NjogNDA5NSA+Pj4gMTEgPT09IDEuIEFjdHVhbDogJyArICg0MDk1ID4+PiAxMSkpOyAKfSAKCgppZiAoODE5MSA+Pj4gMTEgIT09IDMpIHsgCiAgJEVSUk9SKCcjMzc3OiA4MTkxID4+PiAxMSA9PT0gMy4gQWN0dWFsOiAnICsgKDgxOTEgPj4+IDExKSk7IAp9IAoKCmlmICgxNjM4MyA+Pj4gMTEgIT09IDcpIHsgCiAgJEVSUk9SKCcjMzc4OiAxNjM4MyA+Pj4gMTEgPT09IDcuIEFjdHVhbDogJyArICgxNjM4MyA+Pj4gMTEpKTsgCn0gCgoKaWYgKDMyNzY3ID4+PiAxMSAhPT0gMTUpIHsgCiAgJEVSUk9SKCcjMzc5OiAzMjc2NyA+Pj4gMTEgPT09IDE1LiBBY3R1YWw6ICcgKyAoMzI3NjcgPj4+IDExKSk7IAp9IAoKCmlmICg2NTUzNSA+Pj4gMTEgIT09IDMxKSB7IAogICRFUlJPUignIzM4MDogNjU1MzUgPj4+IDExID09PSAzMS4gQWN0dWFsOiAnICsgKDY1NTM1ID4+PiAxMSkpOyAKfSAKCgppZiAoMTMxMDcxID4+PiAxMSAhPT0gNjMpIHsgCiAgJEVSUk9SKCcjMzgxOiAxMzEwNzEgPj4+IDExID09PSA2My4gQWN0dWFsOiAnICsgKDEzMTA3MSA+Pj4gMTEpKTsgCn0gCgoKaWYgKDI2MjE0MyA+Pj4gMTEgIT09IDEyNykgeyAKICAkRVJST1IoJyMzODI6IDI2MjE0MyA+Pj4gMTEgPT09IDEyNy4gQWN0dWFsOiAnICsgKDI2MjE0MyA+Pj4gMTEpKTsgCn0gCgoKaWYgKDUyNDI4NyA+Pj4gMTEgIT09IDI1NSkgeyAKICAkRVJST1IoJyMzODM6IDUyNDI4NyA+Pj4gMTEgPT09IDI1NS4gQWN0dWFsOiAnICsgKDUyNDI4NyA+Pj4gMTEpKTsgCn0gCgoKaWYgKDEwNDg1NzUgPj4+IDExICE9PSA1MTEpIHsgCiAgJEVSUk9SKCcjMzg0OiAxMDQ4NTc1ID4+PiAxMSA9PT0gNTExLiBBY3R1YWw6ICcgKyAoMTA0ODU3NSA+Pj4gMTEpKTsgCn0gCgoKaWYgKDIwOTcxNTEgPj4+IDExICE9PSAxMDIzKSB7IAogICRFUlJPUignIzM4NTogMjA5NzE1MSA+Pj4gMTEgPT09IDEwMjMuIEFjdHVhbDogJyArICgyMDk3MTUxID4+PiAxMSkpOyAKfSAKCgppZiAoNDE5NDMwMyA+Pj4gMTEgIT09IDIwNDcpIHsgCiAgJEVSUk9SKCcjMzg2OiA0MTk0MzAzID4+PiAxMSA9PT0gMjA0Ny4gQWN0dWFsOiAnICsgKDQxOTQzMDMgPj4+IDExKSk7IAp9IAoKCmlmICg4Mzg4NjA3ID4+PiAxMSAhPT0gNDA5NSkgeyAKICAkRVJST1IoJyMzODc6IDgzODg2MDcgPj4+IDExID09PSA0MDk1LiBBY3R1YWw6ICcgKyAoODM4ODYwNyA+Pj4gMTEpKTsgCn0gCgoKaWYgKDE2Nzc3MjE1ID4+PiAxMSAhPT0gODE5MSkgeyAKICAkRVJST1IoJyMzODg6IDE2Nzc3MjE1ID4+PiAxMSA9PT0gODE5MS4gQWN0dWFsOiAnICsgKDE2Nzc3MjE1ID4+PiAxMSkpOyAKfSAKCgppZiAoMzM1NTQ0MzEgPj4+IDExICE9PSAxNjM4MykgeyAKICAkRVJST1IoJyMzODk6IDMzNTU0NDMxID4+PiAxMSA9PT0gMTYzODMuIEFjdHVhbDogJyArICgzMzU1NDQzMSA+Pj4gMTEpKTsgCn0gCgoKaWYgKDY3MTA4ODYzID4+PiAxMSAhPT0gMzI3NjcpIHsgCiAgJEVSUk9SKCcjMzkwOiA2NzEwODg2MyA+Pj4gMTEgPT09IDMyNzY3LiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPj4+IDExKSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPj4+IDExICE9PSA2NTUzNSkgeyAKICAkRVJST1IoJyMzOTE6IDEzNDIxNzcyNyA+Pj4gMTEgPT09IDY1NTM1LiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI3ID4+PiAxMSkpOyAKfSAKCgppZiAoMjY4NDM1NDU1ID4+PiAxMSAhPT0gMTMxMDcxKSB7IAogICRFUlJPUignIzM5MjogMjY4NDM1NDU1ID4+PiAxMSA9PT0gMTMxMDcxLiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU1ID4+PiAxMSkpOyAKfSAKCgppZiAoNTM2ODcwOTExID4+PiAxMSAhPT0gMjYyMTQzKSB7IAogICRFUlJPUignIzM5MzogNTM2ODcwOTExID4+PiAxMSA9PT0gMjYyMTQzLiBBY3R1YWw6ICcgKyAoNTM2ODcwOTExID4+PiAxMSkpOyAKfSAKCgppZiAoMTA3Mzc0MTgyMyA+Pj4gMTEgIT09IDUyNDI4NykgeyAKICAkRVJST1IoJyMzOTQ6IDEwNzM3NDE4MjMgPj4+IDExID09PSA1MjQyODcuIEFjdHVhbDogJyArICgxMDczNzQxODIzID4+PiAxMSkpOyAKfSAKCgppZiAoMjE0NzQ4MzY0NyA+Pj4gMTEgIT09IDEwNDg1NzUpIHsgCiAgJEVSUk9SKCcjMzk1OiAyMTQ3NDgzNjQ3ID4+PiAxMSA9PT0gMTA0ODU3NS4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4+IDExKSk7IAp9IAoKCmlmICg0Mjk0OTY3Mjk1ID4+PiAxMSAhPT0gMjA5NzE1MSkgeyAKICAkRVJST1IoJyMzOTY6IDQyOTQ5NjcyOTUgPj4+IDExID09PSAyMDk3MTUxLiBBY3R1YWw6ICcgKyAoNDI5NDk2NzI5NSA+Pj4gMTEpKTsgCn0gCgoKaWYgKDAgPj4+IDEyICE9PSAwKSB7IAogICRFUlJPUignIzM5NzogMCA+Pj4gMTIgPT09IDAuIEFjdHVhbDogJyArICgwID4+PiAxMikpOyAKfSAKCgppZiAoMSA+Pj4gMTIgIT09IDApIHsgCiAgJEVSUk9SKCcjMzk4OiAxID4+PiAxMiA9PT0gMC4gQWN0dWFsOiAnICsgKDEgPj4+IDEyKSk7IAp9IAoKCmlmICgzID4+PiAxMiAhPT0gMCkgeyAKICAkRVJST1IoJyMzOTk6IDMgPj4+IDEyID09PSAwLiBBY3R1YWw6ICcgKyAoMyA+Pj4gMTIpKTsgCn0gCgoKaWYgKDcgPj4+IDEyICE9PSAwKSB7IAogICRFUlJPUignIzQwMDogNyA+Pj4gMTIgPT09IDAuIEFjdHVhbDogJyArICg3ID4+PiAxMikpOyAKfSAKCgppZiAoMTUgPj4+IDEyICE9PSAwKSB7IAogICRFUlJPUignIzQwMTogMTUgPj4+IDEyID09PSAwLiBBY3R1YWw6ICcgKyAoMTUgPj4+IDEyKSk7IAp9IAoKCmlmICgzMSA+Pj4gMTIgIT09IDApIHsgCiAgJEVSUk9SKCcjNDAyOiAzMSA+Pj4gMTIgPT09IDAuIEFjdHVhbDogJyArICgzMSA+Pj4gMTIpKTsgCn0gCgoKaWYgKDYzID4+PiAxMiAhPT0gMCkgeyAKICAkRVJST1IoJyM0MDM6IDYzID4+PiAxMiA9PT0gMC4gQWN0dWFsOiAnICsgKDYzID4+PiAxMikpOyAKfSAKCgppZiAoMTI3ID4+PiAxMiAhPT0gMCkgeyAKICAkRVJST1IoJyM0MDQ6IDEyNyA+Pj4gMTIgPT09IDAuIEFjdHVhbDogJyArICgxMjcgPj4+IDEyKSk7IAp9IAoKCmlmICgyNTUgPj4+IDEyICE9PSAwKSB7IAogICRFUlJPUignIzQwNTogMjU1ID4+PiAxMiA9PT0gMC4gQWN0dWFsOiAnICsgKDI1NSA+Pj4gMTIpKTsgCn0gCgoKaWYgKDUxMSA+Pj4gMTIgIT09IDApIHsgCiAgJEVSUk9SKCcjNDA2OiA1MTEgPj4+IDEyID09PSAwLiBBY3R1YWw6ICcgKyAoNTExID4+PiAxMikpOyAKfSAKCgppZiAoMTAyMyA+Pj4gMTIgIT09IDApIHsgCiAgJEVSUk9SKCcjNDA3OiAxMDIzID4+PiAxMiA9PT0gMC4gQWN0dWFsOiAnICsgKDEwMjMgPj4+IDEyKSk7IAp9IAoKCmlmICgyMDQ3ID4+PiAxMiAhPT0gMCkgeyAKICAkRVJST1IoJyM0MDg6IDIwNDcgPj4+IDEyID09PSAwLiBBY3R1YWw6ICcgKyAoMjA0NyA+Pj4gMTIpKTsgCn0gCgoKaWYgKDQwOTUgPj4+IDEyICE9PSAwKSB7IAogICRFUlJPUignIzQwOTogNDA5NSA+Pj4gMTIgPT09IDAuIEFjdHVhbDogJyArICg0MDk1ID4+PiAxMikpOyAKfSAKCgppZiAoODE5MSA+Pj4gMTIgIT09IDEpIHsgCiAgJEVSUk9SKCcjNDEwOiA4MTkxID4+PiAxMiA9PT0gMS4gQWN0dWFsOiAnICsgKDgxOTEgPj4+IDEyKSk7IAp9IAoKCmlmICgxNjM4MyA+Pj4gMTIgIT09IDMpIHsgCiAgJEVSUk9SKCcjNDExOiAxNjM4MyA+Pj4gMTIgPT09IDMuIEFjdHVhbDogJyArICgxNjM4MyA+Pj4gMTIpKTsgCn0gCgoKaWYgKDMyNzY3ID4+PiAxMiAhPT0gNykgeyAKICAkRVJST1IoJyM0MTI6IDMyNzY3ID4+PiAxMiA9PT0gNy4gQWN0dWFsOiAnICsgKDMyNzY3ID4+PiAxMikpOyAKfSAKCgppZiAoNjU1MzUgPj4+IDEyICE9PSAxNSkgeyAKICAkRVJST1IoJyM0MTM6IDY1NTM1ID4+PiAxMiA9PT0gMTUuIEFjdHVhbDogJyArICg2NTUzNSA+Pj4gMTIpKTsgCn0gCgoKaWYgKDEzMTA3MSA+Pj4gMTIgIT09IDMxKSB7IAogICRFUlJPUignIzQxNDogMTMxMDcxID4+PiAxMiA9PT0gMzEuIEFjdHVhbDogJyArICgxMzEwNzEgPj4+IDEyKSk7IAp9IAoKCmlmICgyNjIxNDMgPj4+IDEyICE9PSA2MykgeyAKICAkRVJST1IoJyM0MTU6IDI2MjE0MyA+Pj4gMTIgPT09IDYzLiBBY3R1YWw6ICcgKyAoMjYyMTQzID4+PiAxMikpOyAKfSAKCgppZiAoNTI0Mjg3ID4+PiAxMiAhPT0gMTI3KSB7IAogICRFUlJPUignIzQxNjogNTI0Mjg3ID4+PiAxMiA9PT0gMTI3LiBBY3R1YWw6ICcgKyAoNTI0Mjg3ID4+PiAxMikpOyAKfSAKCgppZiAoMTA0ODU3NSA+Pj4gMTIgIT09IDI1NSkgeyAKICAkRVJST1IoJyM0MTc6IDEwNDg1NzUgPj4+IDEyID09PSAyNTUuIEFjdHVhbDogJyArICgxMDQ4NTc1ID4+PiAxMikpOyAKfSAKCgppZiAoMjA5NzE1MSA+Pj4gMTIgIT09IDUxMSkgeyAKICAkRVJST1IoJyM0MTg6IDIwOTcxNTEgPj4+IDEyID09PSA1MTEuIEFjdHVhbDogJyArICgyMDk3MTUxID4+PiAxMikpOyAKfSAKCgppZiAoNDE5NDMwMyA+Pj4gMTIgIT09IDEwMjMpIHsgCiAgJEVSUk9SKCcjNDE5OiA0MTk0MzAzID4+PiAxMiA9PT0gMTAyMy4gQWN0dWFsOiAnICsgKDQxOTQzMDMgPj4+IDEyKSk7IAp9IAoKCmlmICg4Mzg4NjA3ID4+PiAxMiAhPT0gMjA0NykgeyAKICAkRVJST1IoJyM0MjA6IDgzODg2MDcgPj4+IDEyID09PSAyMDQ3LiBBY3R1YWw6ICcgKyAoODM4ODYwNyA+Pj4gMTIpKTsgCn0gCgoKaWYgKDE2Nzc3MjE1ID4+PiAxMiAhPT0gNDA5NSkgeyAKICAkRVJST1IoJyM0MjE6IDE2Nzc3MjE1ID4+PiAxMiA9PT0gNDA5NS4gQWN0dWFsOiAnICsgKDE2Nzc3MjE1ID4+PiAxMikpOyAKfSAKCgppZiAoMzM1NTQ0MzEgPj4+IDEyICE9PSA4MTkxKSB7IAogICRFUlJPUignIzQyMjogMzM1NTQ0MzEgPj4+IDEyID09PSA4MTkxLiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPj4+IDEyKSk7IAp9IAoKCmlmICg2NzEwODg2MyA+Pj4gMTIgIT09IDE2MzgzKSB7IAogICRFUlJPUignIzQyMzogNjcxMDg4NjMgPj4+IDEyID09PSAxNjM4My4gQWN0dWFsOiAnICsgKDY3MTA4ODYzID4+PiAxMikpOyAKfSAKCgppZiAoMTM0MjE3NzI3ID4+PiAxMiAhPT0gMzI3NjcpIHsgCiAgJEVSUk9SKCcjNDI0OiAxMzQyMTc3MjcgPj4+IDEyID09PSAzMjc2Ny4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA+Pj4gMTIpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NSA+Pj4gMTIgIT09IDY1NTM1KSB7IAogICRFUlJPUignIzQyNTogMjY4NDM1NDU1ID4+PiAxMiA9PT0gNjU1MzUuIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPj4+IDEyKSk7IAp9IAoKCmlmICg1MzY4NzA5MTEgPj4+IDEyICE9PSAxMzEwNzEpIHsgCiAgJEVSUk9SKCcjNDI2OiA1MzY4NzA5MTEgPj4+IDEyID09PSAxMzEwNzEuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPj4+IDEyKSk7IAp9IAoKCmlmICgxMDczNzQxODIzID4+PiAxMiAhPT0gMjYyMTQzKSB7IAogICRFUlJPUignIzQyNzogMTA3Mzc0MTgyMyA+Pj4gMTIgPT09IDI2MjE0My4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjMgPj4+IDEyKSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ3ID4+PiAxMiAhPT0gNTI0Mjg3KSB7IAogICRFUlJPUignIzQyODogMjE0NzQ4MzY0NyA+Pj4gMTIgPT09IDUyNDI4Ny4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4+IDEyKSk7IAp9IAoKCmlmICg0Mjk0OTY3Mjk1ID4+PiAxMiAhPT0gMTA0ODU3NSkgeyAKICAkRVJST1IoJyM0Mjk6IDQyOTQ5NjcyOTUgPj4+IDEyID09PSAxMDQ4NTc1LiBBY3R1YWw6ICcgKyAoNDI5NDk2NzI5NSA+Pj4gMTIpKTsgCn0gCgoKaWYgKDAgPj4+IDEzICE9PSAwKSB7IAogICRFUlJPUignIzQzMDogMCA+Pj4gMTMgPT09IDAuIEFjdHVhbDogJyArICgwID4+PiAxMykpOyAKfSAKCgppZiAoMSA+Pj4gMTMgIT09IDApIHsgCiAgJEVSUk9SKCcjNDMxOiAxID4+PiAxMyA9PT0gMC4gQWN0dWFsOiAnICsgKDEgPj4+IDEzKSk7IAp9IAoKCmlmICgzID4+PiAxMyAhPT0gMCkgeyAKICAkRVJST1IoJyM0MzI6IDMgPj4+IDEzID09PSAwLiBBY3R1YWw6ICcgKyAoMyA+Pj4gMTMpKTsgCn0gCgoKaWYgKDcgPj4+IDEzICE9PSAwKSB7IAogICRFUlJPUignIzQzMzogNyA+Pj4gMTMgPT09IDAuIEFjdHVhbDogJyArICg3ID4+PiAxMykpOyAKfSAKCgppZiAoMTUgPj4+IDEzICE9PSAwKSB7IAogICRFUlJPUignIzQzNDogMTUgPj4+IDEzID09PSAwLiBBY3R1YWw6ICcgKyAoMTUgPj4+IDEzKSk7IAp9IAoKCmlmICgzMSA+Pj4gMTMgIT09IDApIHsgCiAgJEVSUk9SKCcjNDM1OiAzMSA+Pj4gMTMgPT09IDAuIEFjdHVhbDogJyArICgzMSA+Pj4gMTMpKTsgCn0gCgoKaWYgKDYzID4+PiAxMyAhPT0gMCkgeyAKICAkRVJST1IoJyM0MzY6IDYzID4+PiAxMyA9PT0gMC4gQWN0dWFsOiAnICsgKDYzID4+PiAxMykpOyAKfSAKCgppZiAoMTI3ID4+PiAxMyAhPT0gMCkgeyAKICAkRVJST1IoJyM0Mzc6IDEyNyA+Pj4gMTMgPT09IDAuIEFjdHVhbDogJyArICgxMjcgPj4+IDEzKSk7IAp9IAoKCmlmICgyNTUgPj4+IDEzICE9PSAwKSB7IAogICRFUlJPUignIzQzODogMjU1ID4+PiAxMyA9PT0gMC4gQWN0dWFsOiAnICsgKDI1NSA+Pj4gMTMpKTsgCn0gCgoKaWYgKDUxMSA+Pj4gMTMgIT09IDApIHsgCiAgJEVSUk9SKCcjNDM5OiA1MTEgPj4+IDEzID09PSAwLiBBY3R1YWw6ICcgKyAoNTExID4+PiAxMykpOyAKfSAKCgppZiAoMTAyMyA+Pj4gMTMgIT09IDApIHsgCiAgJEVSUk9SKCcjNDQwOiAxMDIzID4+PiAxMyA9PT0gMC4gQWN0dWFsOiAnICsgKDEwMjMgPj4+IDEzKSk7IAp9IAoKCmlmICgyMDQ3ID4+PiAxMyAhPT0gMCkgeyAKICAkRVJST1IoJyM0NDE6IDIwNDcgPj4+IDEzID09PSAwLiBBY3R1YWw6ICcgKyAoMjA0NyA+Pj4gMTMpKTsgCn0gCgoKaWYgKDQwOTUgPj4+IDEzICE9PSAwKSB7IAogICRFUlJPUignIzQ0MjogNDA5NSA+Pj4gMTMgPT09IDAuIEFjdHVhbDogJyArICg0MDk1ID4+PiAxMykpOyAKfSAKCgppZiAoODE5MSA+Pj4gMTMgIT09IDApIHsgCiAgJEVSUk9SKCcjNDQzOiA4MTkxID4+PiAxMyA9PT0gMC4gQWN0dWFsOiAnICsgKDgxOTEgPj4+IDEzKSk7IAp9IAoKCmlmICgxNjM4MyA+Pj4gMTMgIT09IDEpIHsgCiAgJEVSUk9SKCcjNDQ0OiAxNjM4MyA+Pj4gMTMgPT09IDEuIEFjdHVhbDogJyArICgxNjM4MyA+Pj4gMTMpKTsgCn0gCgoKaWYgKDMyNzY3ID4+PiAxMyAhPT0gMykgeyAKICAkRVJST1IoJyM0NDU6IDMyNzY3ID4+PiAxMyA9PT0gMy4gQWN0dWFsOiAnICsgKDMyNzY3ID4+PiAxMykpOyAKfSAKCgppZiAoNjU1MzUgPj4+IDEzICE9PSA3KSB7IAogICRFUlJPUignIzQ0NjogNjU1MzUgPj4+IDEzID09PSA3LiBBY3R1YWw6ICcgKyAoNjU1MzUgPj4+IDEzKSk7IAp9IAoKCmlmICgxMzEwNzEgPj4+IDEzICE9PSAxNSkgeyAKICAkRVJST1IoJyM0NDc6IDEzMTA3MSA+Pj4gMTMgPT09IDE1LiBBY3R1YWw6ICcgKyAoMTMxMDcxID4+PiAxMykpOyAKfSAKCgppZiAoMjYyMTQzID4+PiAxMyAhPT0gMzEpIHsgCiAgJEVSUk9SKCcjNDQ4OiAyNjIxNDMgPj4+IDEzID09PSAzMS4gQWN0dWFsOiAnICsgKDI2MjE0MyA+Pj4gMTMpKTsgCn0gCgoKaWYgKDUyNDI4NyA+Pj4gMTMgIT09IDYzKSB7IAogICRFUlJPUignIzQ0OTogNTI0Mjg3ID4+PiAxMyA9PT0gNjMuIEFjdHVhbDogJyArICg1MjQyODcgPj4+IDEzKSk7IAp9IAoKCmlmICgxMDQ4NTc1ID4+PiAxMyAhPT0gMTI3KSB7IAogICRFUlJPUignIzQ1MDogMTA0ODU3NSA+Pj4gMTMgPT09IDEyNy4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPj4+IDEzKSk7IAp9IAoKCmlmICgyMDk3MTUxID4+PiAxMyAhPT0gMjU1KSB7IAogICRFUlJPUignIzQ1MTogMjA5NzE1MSA+Pj4gMTMgPT09IDI1NS4gQWN0dWFsOiAnICsgKDIwOTcxNTEgPj4+IDEzKSk7IAp9IAoKCmlmICg0MTk0MzAzID4+PiAxMyAhPT0gNTExKSB7IAogICRFUlJPUignIzQ1MjogNDE5NDMwMyA+Pj4gMTMgPT09IDUxMS4gQWN0dWFsOiAnICsgKDQxOTQzMDMgPj4+IDEzKSk7IAp9IAoKCmlmICg4Mzg4NjA3ID4+PiAxMyAhPT0gMTAyMykgeyAKICAkRVJST1IoJyM0NTM6IDgzODg2MDcgPj4+IDEzID09PSAxMDIzLiBBY3R1YWw6ICcgKyAoODM4ODYwNyA+Pj4gMTMpKTsgCn0gCgoKaWYgKDE2Nzc3MjE1ID4+PiAxMyAhPT0gMjA0NykgeyAKICAkRVJST1IoJyM0NTQ6IDE2Nzc3MjE1ID4+PiAxMyA9PT0gMjA0Ny4gQWN0dWFsOiAnICsgKDE2Nzc3MjE1ID4+PiAxMykpOyAKfSAKCgppZiAoMzM1NTQ0MzEgPj4+IDEzICE9PSA0MDk1KSB7IAogICRFUlJPUignIzQ1NTogMzM1NTQ0MzEgPj4+IDEzID09PSA0MDk1LiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPj4+IDEzKSk7IAp9IAoKCmlmICg2NzEwODg2MyA+Pj4gMTMgIT09IDgxOTEpIHsgCiAgJEVSUk9SKCcjNDU2OiA2NzEwODg2MyA+Pj4gMTMgPT09IDgxOTEuIEFjdHVhbDogJyArICg2NzEwODg2MyA+Pj4gMTMpKTsgCn0gCgoKaWYgKDEzNDIxNzcyNyA+Pj4gMTMgIT09IDE2MzgzKSB7IAogICRFUlJPUignIzQ1NzogMTM0MjE3NzI3ID4+PiAxMyA9PT0gMTYzODMuIEFjdHVhbDogJyArICgxMzQyMTc3MjcgPj4+IDEzKSk7IAp9IAoKCmlmICgyNjg0MzU0NTUgPj4+IDEzICE9PSAzMjc2NykgeyAKICAkRVJST1IoJyM0NTg6IDI2ODQzNTQ1NSA+Pj4gMTMgPT09IDMyNzY3LiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU1ID4+PiAxMykpOyAKfSAKCgppZiAoNTM2ODcwOTExID4+PiAxMyAhPT0gNjU1MzUpIHsgCiAgJEVSUk9SKCcjNDU5OiA1MzY4NzA5MTEgPj4+IDEzID09PSA2NTUzNS4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMSA+Pj4gMTMpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjMgPj4+IDEzICE9PSAxMzEwNzEpIHsgCiAgJEVSUk9SKCcjNDYwOiAxMDczNzQxODIzID4+PiAxMyA9PT0gMTMxMDcxLiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA+Pj4gMTMpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDcgPj4+IDEzICE9PSAyNjIxNDMpIHsgCiAgJEVSUk9SKCcjNDYxOiAyMTQ3NDgzNjQ3ID4+PiAxMyA9PT0gMjYyMTQzLiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+Pj4gMTMpKTsgCn0gCgoKaWYgKDQyOTQ5NjcyOTUgPj4+IDEzICE9PSA1MjQyODcpIHsgCiAgJEVSUk9SKCcjNDYyOiA0Mjk0OTY3Mjk1ID4+PiAxMyA9PT0gNTI0Mjg3LiBBY3R1YWw6ICcgKyAoNDI5NDk2NzI5NSA+Pj4gMTMpKTsgCn0gCgoKaWYgKDAgPj4+IDE0ICE9PSAwKSB7IAogICRFUlJPUignIzQ2MzogMCA+Pj4gMTQgPT09IDAuIEFjdHVhbDogJyArICgwID4+PiAxNCkpOyAKfSAKCgppZiAoMSA+Pj4gMTQgIT09IDApIHsgCiAgJEVSUk9SKCcjNDY0OiAxID4+PiAxNCA9PT0gMC4gQWN0dWFsOiAnICsgKDEgPj4+IDE0KSk7IAp9IAoKCmlmICgzID4+PiAxNCAhPT0gMCkgeyAKICAkRVJST1IoJyM0NjU6IDMgPj4+IDE0ID09PSAwLiBBY3R1YWw6ICcgKyAoMyA+Pj4gMTQpKTsgCn0gCgoKaWYgKDcgPj4+IDE0ICE9PSAwKSB7IAogICRFUlJPUignIzQ2NjogNyA+Pj4gMTQgPT09IDAuIEFjdHVhbDogJyArICg3ID4+PiAxNCkpOyAKfSAKCgppZiAoMTUgPj4+IDE0ICE9PSAwKSB7IAogICRFUlJPUignIzQ2NzogMTUgPj4+IDE0ID09PSAwLiBBY3R1YWw6ICcgKyAoMTUgPj4+IDE0KSk7IAp9IAoKCmlmICgzMSA+Pj4gMTQgIT09IDApIHsgCiAgJEVSUk9SKCcjNDY4OiAzMSA+Pj4gMTQgPT09IDAuIEFjdHVhbDogJyArICgzMSA+Pj4gMTQpKTsgCn0gCgoKaWYgKDYzID4+PiAxNCAhPT0gMCkgeyAKICAkRVJST1IoJyM0Njk6IDYzID4+PiAxNCA9PT0gMC4gQWN0dWFsOiAnICsgKDYzID4+PiAxNCkpOyAKfSAKCgppZiAoMTI3ID4+PiAxNCAhPT0gMCkgeyAKICAkRVJST1IoJyM0NzA6IDEyNyA+Pj4gMTQgPT09IDAuIEFjdHVhbDogJyArICgxMjcgPj4+IDE0KSk7IAp9IAoKCmlmICgyNTUgPj4+IDE0ICE9PSAwKSB7IAogICRFUlJPUignIzQ3MTogMjU1ID4+PiAxNCA9PT0gMC4gQWN0dWFsOiAnICsgKDI1NSA+Pj4gMTQpKTsgCn0gCgoKaWYgKDUxMSA+Pj4gMTQgIT09IDApIHsgCiAgJEVSUk9SKCcjNDcyOiA1MTEgPj4+IDE0ID09PSAwLiBBY3R1YWw6ICcgKyAoNTExID4+PiAxNCkpOyAKfSAKCgppZiAoMTAyMyA+Pj4gMTQgIT09IDApIHsgCiAgJEVSUk9SKCcjNDczOiAxMDIzID4+PiAxNCA9PT0gMC4gQWN0dWFsOiAnICsgKDEwMjMgPj4+IDE0KSk7IAp9IAoKCmlmICgyMDQ3ID4+PiAxNCAhPT0gMCkgeyAKICAkRVJST1IoJyM0NzQ6IDIwNDcgPj4+IDE0ID09PSAwLiBBY3R1YWw6ICcgKyAoMjA0NyA+Pj4gMTQpKTsgCn0gCgoKaWYgKDQwOTUgPj4+IDE0ICE9PSAwKSB7IAogICRFUlJPUignIzQ3NTogNDA5NSA+Pj4gMTQgPT09IDAuIEFjdHVhbDogJyArICg0MDk1ID4+PiAxNCkpOyAKfSAKCgppZiAoODE5MSA+Pj4gMTQgIT09IDApIHsgCiAgJEVSUk9SKCcjNDc2OiA4MTkxID4+PiAxNCA9PT0gMC4gQWN0dWFsOiAnICsgKDgxOTEgPj4+IDE0KSk7IAp9IAoKCmlmICgxNjM4MyA+Pj4gMTQgIT09IDApIHsgCiAgJEVSUk9SKCcjNDc3OiAxNjM4MyA+Pj4gMTQgPT09IDAuIEFjdHVhbDogJyArICgxNjM4MyA+Pj4gMTQpKTsgCn0gCgoKaWYgKDMyNzY3ID4+PiAxNCAhPT0gMSkgeyAKICAkRVJST1IoJyM0Nzg6IDMyNzY3ID4+PiAxNCA9PT0gMS4gQWN0dWFsOiAnICsgKDMyNzY3ID4+PiAxNCkpOyAKfSAKCgppZiAoNjU1MzUgPj4+IDE0ICE9PSAzKSB7IAogICRFUlJPUignIzQ3OTogNjU1MzUgPj4+IDE0ID09PSAzLiBBY3R1YWw6ICcgKyAoNjU1MzUgPj4+IDE0KSk7IAp9IAoKCmlmICgxMzEwNzEgPj4+IDE0ICE9PSA3KSB7IAogICRFUlJPUignIzQ4MDogMTMxMDcxID4+PiAxNCA9PT0gNy4gQWN0dWFsOiAnICsgKDEzMTA3MSA+Pj4gMTQpKTsgCn0gCgoKaWYgKDI2MjE0MyA+Pj4gMTQgIT09IDE1KSB7IAogICRFUlJPUignIzQ4MTogMjYyMTQzID4+PiAxNCA9PT0gMTUuIEFjdHVhbDogJyArICgyNjIxNDMgPj4+IDE0KSk7IAp9IAoKCmlmICg1MjQyODcgPj4+IDE0ICE9PSAzMSkgeyAKICAkRVJST1IoJyM0ODI6IDUyNDI4NyA+Pj4gMTQgPT09IDMxLiBBY3R1YWw6ICcgKyAoNTI0Mjg3ID4+PiAxNCkpOyAKfSAKCgppZiAoMTA0ODU3NSA+Pj4gMTQgIT09IDYzKSB7IAogICRFUlJPUignIzQ4MzogMTA0ODU3NSA+Pj4gMTQgPT09IDYzLiBBY3R1YWw6ICcgKyAoMTA0ODU3NSA+Pj4gMTQpKTsgCn0gCgoKaWYgKDIwOTcxNTEgPj4+IDE0ICE9PSAxMjcpIHsgCiAgJEVSUk9SKCcjNDg0OiAyMDk3MTUxID4+PiAxNCA9PT0gMTI3LiBBY3R1YWw6ICcgKyAoMjA5NzE1MSA+Pj4gMTQpKTsgCn0gCgoKaWYgKDQxOTQzMDMgPj4+IDE0ICE9PSAyNTUpIHsgCiAgJEVSUk9SKCcjNDg1OiA0MTk0MzAzID4+PiAxNCA9PT0gMjU1LiBBY3R1YWw6ICcgKyAoNDE5NDMwMyA+Pj4gMTQpKTsgCn0gCgoKaWYgKDgzODg2MDcgPj4+IDE0ICE9PSA1MTEpIHsgCiAgJEVSUk9SKCcjNDg2OiA4Mzg4NjA3ID4+PiAxNCA9PT0gNTExLiBBY3R1YWw6ICcgKyAoODM4ODYwNyA+Pj4gMTQpKTsgCn0gCgoKaWYgKDE2Nzc3MjE1ID4+PiAxNCAhPT0gMTAyMykgeyAKICAkRVJST1IoJyM0ODc6IDE2Nzc3MjE1ID4+PiAxNCA9PT0gMTAyMy4gQWN0dWFsOiAnICsgKDE2Nzc3MjE1ID4+PiAxNCkpOyAKfSAKCgppZiAoMzM1NTQ0MzEgPj4+IDE0ICE9PSAyMDQ3KSB7IAogICRFUlJPUignIzQ4ODogMzM1NTQ0MzEgPj4+IDE0ID09PSAyMDQ3LiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPj4+IDE0KSk7IAp9IAoKCmlmICg2NzEwODg2MyA+Pj4gMTQgIT09IDQwOTUpIHsgCiAgJEVSUk9SKCcjNDg5OiA2NzEwODg2MyA+Pj4gMTQgPT09IDQwOTUuIEFjdHVhbDogJyArICg2NzEwODg2MyA+Pj4gMTQpKTsgCn0gCgoKaWYgKDEzNDIxNzcyNyA+Pj4gMTQgIT09IDgxOTEpIHsgCiAgJEVSUk9SKCcjNDkwOiAxMzQyMTc3MjcgPj4+IDE0ID09PSA4MTkxLiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI3ID4+PiAxNCkpOyAKfSAKCgppZiAoMjY4NDM1NDU1ID4+PiAxNCAhPT0gMTYzODMpIHsgCiAgJEVSUk9SKCcjNDkxOiAyNjg0MzU0NTUgPj4+IDE0ID09PSAxNjM4My4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NSA+Pj4gMTQpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMSA+Pj4gMTQgIT09IDMyNzY3KSB7IAogICRFUlJPUignIzQ5MjogNTM2ODcwOTExID4+PiAxNCA9PT0gMzI3NjcuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPj4+IDE0KSk7IAp9IAoKCmlmICgxMDczNzQxODIzID4+PiAxNCAhPT0gNjU1MzUpIHsgCiAgJEVSUk9SKCcjNDkzOiAxMDczNzQxODIzID4+PiAxNCA9PT0gNjU1MzUuIEFjdHVhbDogJyArICgxMDczNzQxODIzID4+PiAxNCkpOyAKfSAKCgppZiAoMjE0NzQ4MzY0NyA+Pj4gMTQgIT09IDEzMTA3MSkgeyAKICAkRVJST1IoJyM0OTQ6IDIxNDc0ODM2NDcgPj4+IDE0ID09PSAxMzEwNzEuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3ID4+PiAxNCkpOyAKfSAKCgppZiAoNDI5NDk2NzI5NSA+Pj4gMTQgIT09IDI2MjE0MykgeyAKICAkRVJST1IoJyM0OTU6IDQyOTQ5NjcyOTUgPj4+IDE0ID09PSAyNjIxNDMuIEFjdHVhbDogJyArICg0Mjk0OTY3Mjk1ID4+PiAxNCkpOyAKfSAKCgppZiAoMCA+Pj4gMTUgIT09IDApIHsgCiAgJEVSUk9SKCcjNDk2OiAwID4+PiAxNSA9PT0gMC4gQWN0dWFsOiAnICsgKDAgPj4+IDE1KSk7IAp9IAoKCmlmICgxID4+PiAxNSAhPT0gMCkgeyAKICAkRVJST1IoJyM0OTc6IDEgPj4+IDE1ID09PSAwLiBBY3R1YWw6ICcgKyAoMSA+Pj4gMTUpKTsgCn0gCgoKaWYgKDMgPj4+IDE1ICE9PSAwKSB7IAogICRFUlJPUignIzQ5ODogMyA+Pj4gMTUgPT09IDAuIEFjdHVhbDogJyArICgzID4+PiAxNSkpOyAKfSAKCgppZiAoNyA+Pj4gMTUgIT09IDApIHsgCiAgJEVSUk9SKCcjNDk5OiA3ID4+PiAxNSA9PT0gMC4gQWN0dWFsOiAnICsgKDcgPj4+IDE1KSk7IAp9IAoKCmlmICgxNSA+Pj4gMTUgIT09IDApIHsgCiAgJEVSUk9SKCcjNTAwOiAxNSA+Pj4gMTUgPT09IDAuIEFjdHVhbDogJyArICgxNSA+Pj4gMTUpKTsgCn0gCgoKaWYgKDMxID4+PiAxNSAhPT0gMCkgeyAKICAkRVJST1IoJyM1MDE6IDMxID4+PiAxNSA9PT0gMC4gQWN0dWFsOiAnICsgKDMxID4+PiAxNSkpOyAKfSAKCgppZiAoNjMgPj4+IDE1ICE9PSAwKSB7IAogICRFUlJPUignIzUwMjogNjMgPj4+IDE1ID09PSAwLiBBY3R1YWw6ICcgKyAoNjMgPj4+IDE1KSk7IAp9IAoKCmlmICgxMjcgPj4+IDE1ICE9PSAwKSB7IAogICRFUlJPUignIzUwMzogMTI3ID4+PiAxNSA9PT0gMC4gQWN0dWFsOiAnICsgKDEyNyA+Pj4gMTUpKTsgCn0gCgoKaWYgKDI1NSA+Pj4gMTUgIT09IDApIHsgCiAgJEVSUk9SKCcjNTA0OiAyNTUgPj4+IDE1ID09PSAwLiBBY3R1YWw6ICcgKyAoMjU1ID4+PiAxNSkpOyAKfSAKCgppZiAoNTExID4+PiAxNSAhPT0gMCkgeyAKICAkRVJST1IoJyM1MDU6IDUxMSA+Pj4gMTUgPT09IDAuIEFjdHVhbDogJyArICg1MTEgPj4+IDE1KSk7IAp9IAoKCmlmICgxMDIzID4+PiAxNSAhPT0gMCkgeyAKICAkRVJST1IoJyM1MDY6IDEwMjMgPj4+IDE1ID09PSAwLiBBY3R1YWw6ICcgKyAoMTAyMyA+Pj4gMTUpKTsgCn0gCgoKaWYgKDIwNDcgPj4+IDE1ICE9PSAwKSB7IAogICRFUlJPUignIzUwNzogMjA0NyA+Pj4gMTUgPT09IDAuIEFjdHVhbDogJyArICgyMDQ3ID4+PiAxNSkpOyAKfSAKCgppZiAoNDA5NSA+Pj4gMTUgIT09IDApIHsgCiAgJEVSUk9SKCcjNTA4OiA0MDk1ID4+PiAxNSA9PT0gMC4gQWN0dWFsOiAnICsgKDQwOTUgPj4+IDE1KSk7IAp9IAoKCmlmICg4MTkxID4+PiAxNSAhPT0gMCkgeyAKICAkRVJST1IoJyM1MDk6IDgxOTEgPj4+IDE1ID09PSAwLiBBY3R1YWw6ICcgKyAoODE5MSA+Pj4gMTUpKTsgCn0gCgoKaWYgKDE2MzgzID4+PiAxNSAhPT0gMCkgeyAKICAkRVJST1IoJyM1MTA6IDE2MzgzID4+PiAxNSA9PT0gMC4gQWN0dWFsOiAnICsgKDE2MzgzID4+PiAxNSkpOyAKfSAKCgppZiAoMzI3NjcgPj4+IDE1ICE9PSAwKSB7IAogICRFUlJPUignIzUxMTogMzI3NjcgPj4+IDE1ID09PSAwLiBBY3R1YWw6ICcgKyAoMzI3NjcgPj4+IDE1KSk7IAp9IAoKCmlmICg2NTUzNSA+Pj4gMTUgIT09IDEpIHsgCiAgJEVSUk9SKCcjNTEyOiA2NTUzNSA+Pj4gMTUgPT09IDEuIEFjdHVhbDogJyArICg2NTUzNSA+Pj4gMTUpKTsgCn0gCgoKaWYgKDEzMTA3MSA+Pj4gMTUgIT09IDMpIHsgCiAgJEVSUk9SKCcjNTEzOiAxMzEwNzEgPj4+IDE1ID09PSAzLiBBY3R1YWw6ICcgKyAoMTMxMDcxID4+PiAxNSkpOyAKfSAKCgppZiAoMjYyMTQzID4+PiAxNSAhPT0gNykgeyAKICAkRVJST1IoJyM1MTQ6IDI2MjE0MyA+Pj4gMTUgPT09IDcuIEFjdHVhbDogJyArICgyNjIxNDMgPj4+IDE1KSk7IAp9IAoKCmlmICg1MjQyODcgPj4+IDE1ICE9PSAxNSkgeyAKICAkRVJST1IoJyM1MTU6IDUyNDI4NyA+Pj4gMTUgPT09IDE1LiBBY3R1YWw6ICcgKyAoNTI0Mjg3ID4+PiAxNSkpOyAKfSAKCgppZiAoMTA0ODU3NSA+Pj4gMTUgIT09IDMxKSB7IAogICRFUlJPUignIzUxNjogMTA0ODU3NSA+Pj4gMTUgPT09IDMxLiBBY3R1YWw6ICcgKyAoMTA0ODU3NSA+Pj4gMTUpKTsgCn0gCgoKaWYgKDIwOTcxNTEgPj4+IDE1ICE9PSA2MykgeyAKICAkRVJST1IoJyM1MTc6IDIwOTcxNTEgPj4+IDE1ID09PSA2My4gQWN0dWFsOiAnICsgKDIwOTcxNTEgPj4+IDE1KSk7IAp9IAoKCmlmICg0MTk0MzAzID4+PiAxNSAhPT0gMTI3KSB7IAogICRFUlJPUignIzUxODogNDE5NDMwMyA+Pj4gMTUgPT09IDEyNy4gQWN0dWFsOiAnICsgKDQxOTQzMDMgPj4+IDE1KSk7IAp9IAoKCmlmICg4Mzg4NjA3ID4+PiAxNSAhPT0gMjU1KSB7IAogICRFUlJPUignIzUxOTogODM4ODYwNyA+Pj4gMTUgPT09IDI1NS4gQWN0dWFsOiAnICsgKDgzODg2MDcgPj4+IDE1KSk7IAp9IAoKCmlmICgxNjc3NzIxNSA+Pj4gMTUgIT09IDUxMSkgeyAKICAkRVJST1IoJyM1MjA6IDE2Nzc3MjE1ID4+PiAxNSA9PT0gNTExLiBBY3R1YWw6ICcgKyAoMTY3NzcyMTUgPj4+IDE1KSk7IAp9IAoKCmlmICgzMzU1NDQzMSA+Pj4gMTUgIT09IDEwMjMpIHsgCiAgJEVSUk9SKCcjNTIxOiAzMzU1NDQzMSA+Pj4gMTUgPT09IDEwMjMuIEFjdHVhbDogJyArICgzMzU1NDQzMSA+Pj4gMTUpKTsgCn0gCgoKaWYgKDY3MTA4ODYzID4+PiAxNSAhPT0gMjA0NykgeyAKICAkRVJST1IoJyM1MjI6IDY3MTA4ODYzID4+PiAxNSA9PT0gMjA0Ny4gQWN0dWFsOiAnICsgKDY3MTA4ODYzID4+PiAxNSkpOyAKfSAKCgppZiAoMTM0MjE3NzI3ID4+PiAxNSAhPT0gNDA5NSkgeyAKICAkRVJST1IoJyM1MjM6IDEzNDIxNzcyNyA+Pj4gMTUgPT09IDQwOTUuIEFjdHVhbDogJyArICgxMzQyMTc3MjcgPj4+IDE1KSk7IAp9IAoKCmlmICgyNjg0MzU0NTUgPj4+IDE1ICE9PSA4MTkxKSB7IAogICRFUlJPUignIzUyNDogMjY4NDM1NDU1ID4+PiAxNSA9PT0gODE5MS4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NSA+Pj4gMTUpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMSA+Pj4gMTUgIT09IDE2MzgzKSB7IAogICRFUlJPUignIzUyNTogNTM2ODcwOTExID4+PiAxNSA9PT0gMTYzODMuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPj4+IDE1KSk7IAp9IAoKCmlmICgxMDczNzQxODIzID4+PiAxNSAhPT0gMzI3NjcpIHsgCiAgJEVSUk9SKCcjNTI2OiAxMDczNzQxODIzID4+PiAxNSA9PT0gMzI3NjcuIEFjdHVhbDogJyArICgxMDczNzQxODIzID4+PiAxNSkpOyAKfSAKCgppZiAoMjE0NzQ4MzY0NyA+Pj4gMTUgIT09IDY1NTM1KSB7IAogICRFUlJPUignIzUyNzogMjE0NzQ4MzY0NyA+Pj4gMTUgPT09IDY1NTM1LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+Pj4gMTUpKTsgCn0gCgoKaWYgKDQyOTQ5NjcyOTUgPj4+IDE1ICE9PSAxMzEwNzEpIHsgCiAgJEVSUk9SKCcjNTI4OiA0Mjk0OTY3Mjk1ID4+PiAxNSA9PT0gMTMxMDcxLiBBY3R1YWw6ICcgKyAoNDI5NDk2NzI5NSA+Pj4gMTUpKTsgCn0gCgo=",
"commentary":"Check operator x >>> y in distinct points",
"description":"ShiftExpression = 2^n - 1, n = 0...15",
"path":"TestCases/ch11/11.7/11.7.3/S11.7.3_A4_T3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBvcGVyYXRvciB4ID4+PiB5IGluIGRpc3RpbmN0IHBvaW50cwogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4zL1MxMS43LjNfQTRfVDQuanMKICogQGRlc2NyaXB0aW9uIFNoaWZ0RXhwcmVzc2lvbiA9IDJebiAtIDEsIG4gPSAxNi4uLjMxCiAqLwoKLy9DSEVDSwogCmlmICgwID4+PiAxNiAhPT0gMCkgeyAKICAkRVJST1IoJyM1Mjk6IDAgPj4+IDE2ID09PSAwLiBBY3R1YWw6ICcgKyAoMCA+Pj4gMTYpKTsgCn0gCgoKaWYgKDEgPj4+IDE2ICE9PSAwKSB7IAogICRFUlJPUignIzUzMDogMSA+Pj4gMTYgPT09IDAuIEFjdHVhbDogJyArICgxID4+PiAxNikpOyAKfSAKCgppZiAoMyA+Pj4gMTYgIT09IDApIHsgCiAgJEVSUk9SKCcjNTMxOiAzID4+PiAxNiA9PT0gMC4gQWN0dWFsOiAnICsgKDMgPj4+IDE2KSk7IAp9IAoKCmlmICg3ID4+PiAxNiAhPT0gMCkgeyAKICAkRVJST1IoJyM1MzI6IDcgPj4+IDE2ID09PSAwLiBBY3R1YWw6ICcgKyAoNyA+Pj4gMTYpKTsgCn0gCgoKaWYgKDE1ID4+PiAxNiAhPT0gMCkgeyAKICAkRVJST1IoJyM1MzM6IDE1ID4+PiAxNiA9PT0gMC4gQWN0dWFsOiAnICsgKDE1ID4+PiAxNikpOyAKfSAKCgppZiAoMzEgPj4+IDE2ICE9PSAwKSB7IAogICRFUlJPUignIzUzNDogMzEgPj4+IDE2ID09PSAwLiBBY3R1YWw6ICcgKyAoMzEgPj4+IDE2KSk7IAp9IAoKCmlmICg2MyA+Pj4gMTYgIT09IDApIHsgCiAgJEVSUk9SKCcjNTM1OiA2MyA+Pj4gMTYgPT09IDAuIEFjdHVhbDogJyArICg2MyA+Pj4gMTYpKTsgCn0gCgoKaWYgKDEyNyA+Pj4gMTYgIT09IDApIHsgCiAgJEVSUk9SKCcjNTM2OiAxMjcgPj4+IDE2ID09PSAwLiBBY3R1YWw6ICcgKyAoMTI3ID4+PiAxNikpOyAKfSAKCgppZiAoMjU1ID4+PiAxNiAhPT0gMCkgeyAKICAkRVJST1IoJyM1Mzc6IDI1NSA+Pj4gMTYgPT09IDAuIEFjdHVhbDogJyArICgyNTUgPj4+IDE2KSk7IAp9IAoKCmlmICg1MTEgPj4+IDE2ICE9PSAwKSB7IAogICRFUlJPUignIzUzODogNTExID4+PiAxNiA9PT0gMC4gQWN0dWFsOiAnICsgKDUxMSA+Pj4gMTYpKTsgCn0gCgoKaWYgKDEwMjMgPj4+IDE2ICE9PSAwKSB7IAogICRFUlJPUignIzUzOTogMTAyMyA+Pj4gMTYgPT09IDAuIEFjdHVhbDogJyArICgxMDIzID4+PiAxNikpOyAKfSAKCgppZiAoMjA0NyA+Pj4gMTYgIT09IDApIHsgCiAgJEVSUk9SKCcjNTQwOiAyMDQ3ID4+PiAxNiA9PT0gMC4gQWN0dWFsOiAnICsgKDIwNDcgPj4+IDE2KSk7IAp9IAoKCmlmICg0MDk1ID4+PiAxNiAhPT0gMCkgeyAKICAkRVJST1IoJyM1NDE6IDQwOTUgPj4+IDE2ID09PSAwLiBBY3R1YWw6ICcgKyAoNDA5NSA+Pj4gMTYpKTsgCn0gCgoKaWYgKDgxOTEgPj4+IDE2ICE9PSAwKSB7IAogICRFUlJPUignIzU0MjogODE5MSA+Pj4gMTYgPT09IDAuIEFjdHVhbDogJyArICg4MTkxID4+PiAxNikpOyAKfSAKCgppZiAoMTYzODMgPj4+IDE2ICE9PSAwKSB7IAogICRFUlJPUignIzU0MzogMTYzODMgPj4+IDE2ID09PSAwLiBBY3R1YWw6ICcgKyAoMTYzODMgPj4+IDE2KSk7IAp9IAoKCmlmICgzMjc2NyA+Pj4gMTYgIT09IDApIHsgCiAgJEVSUk9SKCcjNTQ0OiAzMjc2NyA+Pj4gMTYgPT09IDAuIEFjdHVhbDogJyArICgzMjc2NyA+Pj4gMTYpKTsgCn0gCgoKaWYgKDY1NTM1ID4+PiAxNiAhPT0gMCkgeyAKICAkRVJST1IoJyM1NDU6IDY1NTM1ID4+PiAxNiA9PT0gMC4gQWN0dWFsOiAnICsgKDY1NTM1ID4+PiAxNikpOyAKfSAKCgppZiAoMTMxMDcxID4+PiAxNiAhPT0gMSkgeyAKICAkRVJST1IoJyM1NDY6IDEzMTA3MSA+Pj4gMTYgPT09IDEuIEFjdHVhbDogJyArICgxMzEwNzEgPj4+IDE2KSk7IAp9IAoKCmlmICgyNjIxNDMgPj4+IDE2ICE9PSAzKSB7IAogICRFUlJPUignIzU0NzogMjYyMTQzID4+PiAxNiA9PT0gMy4gQWN0dWFsOiAnICsgKDI2MjE0MyA+Pj4gMTYpKTsgCn0gCgoKaWYgKDUyNDI4NyA+Pj4gMTYgIT09IDcpIHsgCiAgJEVSUk9SKCcjNTQ4OiA1MjQyODcgPj4+IDE2ID09PSA3LiBBY3R1YWw6ICcgKyAoNTI0Mjg3ID4+PiAxNikpOyAKfSAKCgppZiAoMTA0ODU3NSA+Pj4gMTYgIT09IDE1KSB7IAogICRFUlJPUignIzU0OTogMTA0ODU3NSA+Pj4gMTYgPT09IDE1LiBBY3R1YWw6ICcgKyAoMTA0ODU3NSA+Pj4gMTYpKTsgCn0gCgoKaWYgKDIwOTcxNTEgPj4+IDE2ICE9PSAzMSkgeyAKICAkRVJST1IoJyM1NTA6IDIwOTcxNTEgPj4+IDE2ID09PSAzMS4gQWN0dWFsOiAnICsgKDIwOTcxNTEgPj4+IDE2KSk7IAp9IAoKCmlmICg0MTk0MzAzID4+PiAxNiAhPT0gNjMpIHsgCiAgJEVSUk9SKCcjNTUxOiA0MTk0MzAzID4+PiAxNiA9PT0gNjMuIEFjdHVhbDogJyArICg0MTk0MzAzID4+PiAxNikpOyAKfSAKCgppZiAoODM4ODYwNyA+Pj4gMTYgIT09IDEyNykgeyAKICAkRVJST1IoJyM1NTI6IDgzODg2MDcgPj4+IDE2ID09PSAxMjcuIEFjdHVhbDogJyArICg4Mzg4NjA3ID4+PiAxNikpOyAKfSAKCgppZiAoMTY3NzcyMTUgPj4+IDE2ICE9PSAyNTUpIHsgCiAgJEVSUk9SKCcjNTUzOiAxNjc3NzIxNSA+Pj4gMTYgPT09IDI1NS4gQWN0dWFsOiAnICsgKDE2Nzc3MjE1ID4+PiAxNikpOyAKfSAKCgppZiAoMzM1NTQ0MzEgPj4+IDE2ICE9PSA1MTEpIHsgCiAgJEVSUk9SKCcjNTU0OiAzMzU1NDQzMSA+Pj4gMTYgPT09IDUxMS4gQWN0dWFsOiAnICsgKDMzNTU0NDMxID4+PiAxNikpOyAKfSAKCgppZiAoNjcxMDg4NjMgPj4+IDE2ICE9PSAxMDIzKSB7IAogICRFUlJPUignIzU1NTogNjcxMDg4NjMgPj4+IDE2ID09PSAxMDIzLiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPj4+IDE2KSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPj4+IDE2ICE9PSAyMDQ3KSB7IAogICRFUlJPUignIzU1NjogMTM0MjE3NzI3ID4+PiAxNiA9PT0gMjA0Ny4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA+Pj4gMTYpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NSA+Pj4gMTYgIT09IDQwOTUpIHsgCiAgJEVSUk9SKCcjNTU3OiAyNjg0MzU0NTUgPj4+IDE2ID09PSA0MDk1LiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU1ID4+PiAxNikpOyAKfSAKCgppZiAoNTM2ODcwOTExID4+PiAxNiAhPT0gODE5MSkgeyAKICAkRVJST1IoJyM1NTg6IDUzNjg3MDkxMSA+Pj4gMTYgPT09IDgxOTEuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPj4+IDE2KSk7IAp9IAoKCmlmICgxMDczNzQxODIzID4+PiAxNiAhPT0gMTYzODMpIHsgCiAgJEVSUk9SKCcjNTU5OiAxMDczNzQxODIzID4+PiAxNiA9PT0gMTYzODMuIEFjdHVhbDogJyArICgxMDczNzQxODIzID4+PiAxNikpOyAKfSAKCgppZiAoMjE0NzQ4MzY0NyA+Pj4gMTYgIT09IDMyNzY3KSB7IAogICRFUlJPUignIzU2MDogMjE0NzQ4MzY0NyA+Pj4gMTYgPT09IDMyNzY3LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+Pj4gMTYpKTsgCn0gCgoKaWYgKDQyOTQ5NjcyOTUgPj4+IDE2ICE9PSA2NTUzNSkgeyAKICAkRVJST1IoJyM1NjE6IDQyOTQ5NjcyOTUgPj4+IDE2ID09PSA2NTUzNS4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IDE2KSk7IAp9IAoKCmlmICgwID4+PiAxNyAhPT0gMCkgeyAKICAkRVJST1IoJyM1NjI6IDAgPj4+IDE3ID09PSAwLiBBY3R1YWw6ICcgKyAoMCA+Pj4gMTcpKTsgCn0gCgoKaWYgKDEgPj4+IDE3ICE9PSAwKSB7IAogICRFUlJPUignIzU2MzogMSA+Pj4gMTcgPT09IDAuIEFjdHVhbDogJyArICgxID4+PiAxNykpOyAKfSAKCgppZiAoMyA+Pj4gMTcgIT09IDApIHsgCiAgJEVSUk9SKCcjNTY0OiAzID4+PiAxNyA9PT0gMC4gQWN0dWFsOiAnICsgKDMgPj4+IDE3KSk7IAp9IAoKCmlmICg3ID4+PiAxNyAhPT0gMCkgeyAKICAkRVJST1IoJyM1NjU6IDcgPj4+IDE3ID09PSAwLiBBY3R1YWw6ICcgKyAoNyA+Pj4gMTcpKTsgCn0gCgoKaWYgKDE1ID4+PiAxNyAhPT0gMCkgeyAKICAkRVJST1IoJyM1NjY6IDE1ID4+PiAxNyA9PT0gMC4gQWN0dWFsOiAnICsgKDE1ID4+PiAxNykpOyAKfSAKCgppZiAoMzEgPj4+IDE3ICE9PSAwKSB7IAogICRFUlJPUignIzU2NzogMzEgPj4+IDE3ID09PSAwLiBBY3R1YWw6ICcgKyAoMzEgPj4+IDE3KSk7IAp9IAoKCmlmICg2MyA+Pj4gMTcgIT09IDApIHsgCiAgJEVSUk9SKCcjNTY4OiA2MyA+Pj4gMTcgPT09IDAuIEFjdHVhbDogJyArICg2MyA+Pj4gMTcpKTsgCn0gCgoKaWYgKDEyNyA+Pj4gMTcgIT09IDApIHsgCiAgJEVSUk9SKCcjNTY5OiAxMjcgPj4+IDE3ID09PSAwLiBBY3R1YWw6ICcgKyAoMTI3ID4+PiAxNykpOyAKfSAKCgppZiAoMjU1ID4+PiAxNyAhPT0gMCkgeyAKICAkRVJST1IoJyM1NzA6IDI1NSA+Pj4gMTcgPT09IDAuIEFjdHVhbDogJyArICgyNTUgPj4+IDE3KSk7IAp9IAoKCmlmICg1MTEgPj4+IDE3ICE9PSAwKSB7IAogICRFUlJPUignIzU3MTogNTExID4+PiAxNyA9PT0gMC4gQWN0dWFsOiAnICsgKDUxMSA+Pj4gMTcpKTsgCn0gCgoKaWYgKDEwMjMgPj4+IDE3ICE9PSAwKSB7IAogICRFUlJPUignIzU3MjogMTAyMyA+Pj4gMTcgPT09IDAuIEFjdHVhbDogJyArICgxMDIzID4+PiAxNykpOyAKfSAKCgppZiAoMjA0NyA+Pj4gMTcgIT09IDApIHsgCiAgJEVSUk9SKCcjNTczOiAyMDQ3ID4+PiAxNyA9PT0gMC4gQWN0dWFsOiAnICsgKDIwNDcgPj4+IDE3KSk7IAp9IAoKCmlmICg0MDk1ID4+PiAxNyAhPT0gMCkgeyAKICAkRVJST1IoJyM1NzQ6IDQwOTUgPj4+IDE3ID09PSAwLiBBY3R1YWw6ICcgKyAoNDA5NSA+Pj4gMTcpKTsgCn0gCgoKaWYgKDgxOTEgPj4+IDE3ICE9PSAwKSB7IAogICRFUlJPUignIzU3NTogODE5MSA+Pj4gMTcgPT09IDAuIEFjdHVhbDogJyArICg4MTkxID4+PiAxNykpOyAKfSAKCgppZiAoMTYzODMgPj4+IDE3ICE9PSAwKSB7IAogICRFUlJPUignIzU3NjogMTYzODMgPj4+IDE3ID09PSAwLiBBY3R1YWw6ICcgKyAoMTYzODMgPj4+IDE3KSk7IAp9IAoKCmlmICgzMjc2NyA+Pj4gMTcgIT09IDApIHsgCiAgJEVSUk9SKCcjNTc3OiAzMjc2NyA+Pj4gMTcgPT09IDAuIEFjdHVhbDogJyArICgzMjc2NyA+Pj4gMTcpKTsgCn0gCgoKaWYgKDY1NTM1ID4+PiAxNyAhPT0gMCkgeyAKICAkRVJST1IoJyM1Nzg6IDY1NTM1ID4+PiAxNyA9PT0gMC4gQWN0dWFsOiAnICsgKDY1NTM1ID4+PiAxNykpOyAKfSAKCgppZiAoMTMxMDcxID4+PiAxNyAhPT0gMCkgeyAKICAkRVJST1IoJyM1Nzk6IDEzMTA3MSA+Pj4gMTcgPT09IDAuIEFjdHVhbDogJyArICgxMzEwNzEgPj4+IDE3KSk7IAp9IAoKCmlmICgyNjIxNDMgPj4+IDE3ICE9PSAxKSB7IAogICRFUlJPUignIzU4MDogMjYyMTQzID4+PiAxNyA9PT0gMS4gQWN0dWFsOiAnICsgKDI2MjE0MyA+Pj4gMTcpKTsgCn0gCgoKaWYgKDUyNDI4NyA+Pj4gMTcgIT09IDMpIHsgCiAgJEVSUk9SKCcjNTgxOiA1MjQyODcgPj4+IDE3ID09PSAzLiBBY3R1YWw6ICcgKyAoNTI0Mjg3ID4+PiAxNykpOyAKfSAKCgppZiAoMTA0ODU3NSA+Pj4gMTcgIT09IDcpIHsgCiAgJEVSUk9SKCcjNTgyOiAxMDQ4NTc1ID4+PiAxNyA9PT0gNy4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPj4+IDE3KSk7IAp9IAoKCmlmICgyMDk3MTUxID4+PiAxNyAhPT0gMTUpIHsgCiAgJEVSUk9SKCcjNTgzOiAyMDk3MTUxID4+PiAxNyA9PT0gMTUuIEFjdHVhbDogJyArICgyMDk3MTUxID4+PiAxNykpOyAKfSAKCgppZiAoNDE5NDMwMyA+Pj4gMTcgIT09IDMxKSB7IAogICRFUlJPUignIzU4NDogNDE5NDMwMyA+Pj4gMTcgPT09IDMxLiBBY3R1YWw6ICcgKyAoNDE5NDMwMyA+Pj4gMTcpKTsgCn0gCgoKaWYgKDgzODg2MDcgPj4+IDE3ICE9PSA2MykgeyAKICAkRVJST1IoJyM1ODU6IDgzODg2MDcgPj4+IDE3ID09PSA2My4gQWN0dWFsOiAnICsgKDgzODg2MDcgPj4+IDE3KSk7IAp9IAoKCmlmICgxNjc3NzIxNSA+Pj4gMTcgIT09IDEyNykgeyAKICAkRVJST1IoJyM1ODY6IDE2Nzc3MjE1ID4+PiAxNyA9PT0gMTI3LiBBY3R1YWw6ICcgKyAoMTY3NzcyMTUgPj4+IDE3KSk7IAp9IAoKCmlmICgzMzU1NDQzMSA+Pj4gMTcgIT09IDI1NSkgeyAKICAkRVJST1IoJyM1ODc6IDMzNTU0NDMxID4+PiAxNyA9PT0gMjU1LiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPj4+IDE3KSk7IAp9IAoKCmlmICg2NzEwODg2MyA+Pj4gMTcgIT09IDUxMSkgeyAKICAkRVJST1IoJyM1ODg6IDY3MTA4ODYzID4+PiAxNyA9PT0gNTExLiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPj4+IDE3KSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPj4+IDE3ICE9PSAxMDIzKSB7IAogICRFUlJPUignIzU4OTogMTM0MjE3NzI3ID4+PiAxNyA9PT0gMTAyMy4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA+Pj4gMTcpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NSA+Pj4gMTcgIT09IDIwNDcpIHsgCiAgJEVSUk9SKCcjNTkwOiAyNjg0MzU0NTUgPj4+IDE3ID09PSAyMDQ3LiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU1ID4+PiAxNykpOyAKfSAKCgppZiAoNTM2ODcwOTExID4+PiAxNyAhPT0gNDA5NSkgeyAKICAkRVJST1IoJyM1OTE6IDUzNjg3MDkxMSA+Pj4gMTcgPT09IDQwOTUuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPj4+IDE3KSk7IAp9IAoKCmlmICgxMDczNzQxODIzID4+PiAxNyAhPT0gODE5MSkgeyAKICAkRVJST1IoJyM1OTI6IDEwNzM3NDE4MjMgPj4+IDE3ID09PSA4MTkxLiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA+Pj4gMTcpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDcgPj4+IDE3ICE9PSAxNjM4MykgeyAKICAkRVJST1IoJyM1OTM6IDIxNDc0ODM2NDcgPj4+IDE3ID09PSAxNjM4My4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4+IDE3KSk7IAp9IAoKCmlmICg0Mjk0OTY3Mjk1ID4+PiAxNyAhPT0gMzI3NjcpIHsgCiAgJEVSUk9SKCcjNTk0OiA0Mjk0OTY3Mjk1ID4+PiAxNyA9PT0gMzI3NjcuIEFjdHVhbDogJyArICg0Mjk0OTY3Mjk1ID4+PiAxNykpOyAKfSAKCgppZiAoMCA+Pj4gMTggIT09IDApIHsgCiAgJEVSUk9SKCcjNTk1OiAwID4+PiAxOCA9PT0gMC4gQWN0dWFsOiAnICsgKDAgPj4+IDE4KSk7IAp9IAoKCmlmICgxID4+PiAxOCAhPT0gMCkgeyAKICAkRVJST1IoJyM1OTY6IDEgPj4+IDE4ID09PSAwLiBBY3R1YWw6ICcgKyAoMSA+Pj4gMTgpKTsgCn0gCgoKaWYgKDMgPj4+IDE4ICE9PSAwKSB7IAogICRFUlJPUignIzU5NzogMyA+Pj4gMTggPT09IDAuIEFjdHVhbDogJyArICgzID4+PiAxOCkpOyAKfSAKCgppZiAoNyA+Pj4gMTggIT09IDApIHsgCiAgJEVSUk9SKCcjNTk4OiA3ID4+PiAxOCA9PT0gMC4gQWN0dWFsOiAnICsgKDcgPj4+IDE4KSk7IAp9IAoKCmlmICgxNSA+Pj4gMTggIT09IDApIHsgCiAgJEVSUk9SKCcjNTk5OiAxNSA+Pj4gMTggPT09IDAuIEFjdHVhbDogJyArICgxNSA+Pj4gMTgpKTsgCn0gCgoKaWYgKDMxID4+PiAxOCAhPT0gMCkgeyAKICAkRVJST1IoJyM2MDA6IDMxID4+PiAxOCA9PT0gMC4gQWN0dWFsOiAnICsgKDMxID4+PiAxOCkpOyAKfSAKCgppZiAoNjMgPj4+IDE4ICE9PSAwKSB7IAogICRFUlJPUignIzYwMTogNjMgPj4+IDE4ID09PSAwLiBBY3R1YWw6ICcgKyAoNjMgPj4+IDE4KSk7IAp9IAoKCmlmICgxMjcgPj4+IDE4ICE9PSAwKSB7IAogICRFUlJPUignIzYwMjogMTI3ID4+PiAxOCA9PT0gMC4gQWN0dWFsOiAnICsgKDEyNyA+Pj4gMTgpKTsgCn0gCgoKaWYgKDI1NSA+Pj4gMTggIT09IDApIHsgCiAgJEVSUk9SKCcjNjAzOiAyNTUgPj4+IDE4ID09PSAwLiBBY3R1YWw6ICcgKyAoMjU1ID4+PiAxOCkpOyAKfSAKCgppZiAoNTExID4+PiAxOCAhPT0gMCkgeyAKICAkRVJST1IoJyM2MDQ6IDUxMSA+Pj4gMTggPT09IDAuIEFjdHVhbDogJyArICg1MTEgPj4+IDE4KSk7IAp9IAoKCmlmICgxMDIzID4+PiAxOCAhPT0gMCkgeyAKICAkRVJST1IoJyM2MDU6IDEwMjMgPj4+IDE4ID09PSAwLiBBY3R1YWw6ICcgKyAoMTAyMyA+Pj4gMTgpKTsgCn0gCgoKaWYgKDIwNDcgPj4+IDE4ICE9PSAwKSB7IAogICRFUlJPUignIzYwNjogMjA0NyA+Pj4gMTggPT09IDAuIEFjdHVhbDogJyArICgyMDQ3ID4+PiAxOCkpOyAKfSAKCgppZiAoNDA5NSA+Pj4gMTggIT09IDApIHsgCiAgJEVSUk9SKCcjNjA3OiA0MDk1ID4+PiAxOCA9PT0gMC4gQWN0dWFsOiAnICsgKDQwOTUgPj4+IDE4KSk7IAp9IAoKCmlmICg4MTkxID4+PiAxOCAhPT0gMCkgeyAKICAkRVJST1IoJyM2MDg6IDgxOTEgPj4+IDE4ID09PSAwLiBBY3R1YWw6ICcgKyAoODE5MSA+Pj4gMTgpKTsgCn0gCgoKaWYgKDE2MzgzID4+PiAxOCAhPT0gMCkgeyAKICAkRVJST1IoJyM2MDk6IDE2MzgzID4+PiAxOCA9PT0gMC4gQWN0dWFsOiAnICsgKDE2MzgzID4+PiAxOCkpOyAKfSAKCgppZiAoMzI3NjcgPj4+IDE4ICE9PSAwKSB7IAogICRFUlJPUignIzYxMDogMzI3NjcgPj4+IDE4ID09PSAwLiBBY3R1YWw6ICcgKyAoMzI3NjcgPj4+IDE4KSk7IAp9IAoKCmlmICg2NTUzNSA+Pj4gMTggIT09IDApIHsgCiAgJEVSUk9SKCcjNjExOiA2NTUzNSA+Pj4gMTggPT09IDAuIEFjdHVhbDogJyArICg2NTUzNSA+Pj4gMTgpKTsgCn0gCgoKaWYgKDEzMTA3MSA+Pj4gMTggIT09IDApIHsgCiAgJEVSUk9SKCcjNjEyOiAxMzEwNzEgPj4+IDE4ID09PSAwLiBBY3R1YWw6ICcgKyAoMTMxMDcxID4+PiAxOCkpOyAKfSAKCgppZiAoMjYyMTQzID4+PiAxOCAhPT0gMCkgeyAKICAkRVJST1IoJyM2MTM6IDI2MjE0MyA+Pj4gMTggPT09IDAuIEFjdHVhbDogJyArICgyNjIxNDMgPj4+IDE4KSk7IAp9IAoKCmlmICg1MjQyODcgPj4+IDE4ICE9PSAxKSB7IAogICRFUlJPUignIzYxNDogNTI0Mjg3ID4+PiAxOCA9PT0gMS4gQWN0dWFsOiAnICsgKDUyNDI4NyA+Pj4gMTgpKTsgCn0gCgoKaWYgKDEwNDg1NzUgPj4+IDE4ICE9PSAzKSB7IAogICRFUlJPUignIzYxNTogMTA0ODU3NSA+Pj4gMTggPT09IDMuIEFjdHVhbDogJyArICgxMDQ4NTc1ID4+PiAxOCkpOyAKfSAKCgppZiAoMjA5NzE1MSA+Pj4gMTggIT09IDcpIHsgCiAgJEVSUk9SKCcjNjE2OiAyMDk3MTUxID4+PiAxOCA9PT0gNy4gQWN0dWFsOiAnICsgKDIwOTcxNTEgPj4+IDE4KSk7IAp9IAoKCmlmICg0MTk0MzAzID4+PiAxOCAhPT0gMTUpIHsgCiAgJEVSUk9SKCcjNjE3OiA0MTk0MzAzID4+PiAxOCA9PT0gMTUuIEFjdHVhbDogJyArICg0MTk0MzAzID4+PiAxOCkpOyAKfSAKCgppZiAoODM4ODYwNyA+Pj4gMTggIT09IDMxKSB7IAogICRFUlJPUignIzYxODogODM4ODYwNyA+Pj4gMTggPT09IDMxLiBBY3R1YWw6ICcgKyAoODM4ODYwNyA+Pj4gMTgpKTsgCn0gCgoKaWYgKDE2Nzc3MjE1ID4+PiAxOCAhPT0gNjMpIHsgCiAgJEVSUk9SKCcjNjE5OiAxNjc3NzIxNSA+Pj4gMTggPT09IDYzLiBBY3R1YWw6ICcgKyAoMTY3NzcyMTUgPj4+IDE4KSk7IAp9IAoKCmlmICgzMzU1NDQzMSA+Pj4gMTggIT09IDEyNykgeyAKICAkRVJST1IoJyM2MjA6IDMzNTU0NDMxID4+PiAxOCA9PT0gMTI3LiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPj4+IDE4KSk7IAp9IAoKCmlmICg2NzEwODg2MyA+Pj4gMTggIT09IDI1NSkgeyAKICAkRVJST1IoJyM2MjE6IDY3MTA4ODYzID4+PiAxOCA9PT0gMjU1LiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPj4+IDE4KSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPj4+IDE4ICE9PSA1MTEpIHsgCiAgJEVSUk9SKCcjNjIyOiAxMzQyMTc3MjcgPj4+IDE4ID09PSA1MTEuIEFjdHVhbDogJyArICgxMzQyMTc3MjcgPj4+IDE4KSk7IAp9IAoKCmlmICgyNjg0MzU0NTUgPj4+IDE4ICE9PSAxMDIzKSB7IAogICRFUlJPUignIzYyMzogMjY4NDM1NDU1ID4+PiAxOCA9PT0gMTAyMy4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NSA+Pj4gMTgpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMSA+Pj4gMTggIT09IDIwNDcpIHsgCiAgJEVSUk9SKCcjNjI0OiA1MzY4NzA5MTEgPj4+IDE4ID09PSAyMDQ3LiBBY3R1YWw6ICcgKyAoNTM2ODcwOTExID4+PiAxOCkpOyAKfSAKCgppZiAoMTA3Mzc0MTgyMyA+Pj4gMTggIT09IDQwOTUpIHsgCiAgJEVSUk9SKCcjNjI1OiAxMDczNzQxODIzID4+PiAxOCA9PT0gNDA5NS4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjMgPj4+IDE4KSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ3ID4+PiAxOCAhPT0gODE5MSkgeyAKICAkRVJST1IoJyM2MjY6IDIxNDc0ODM2NDcgPj4+IDE4ID09PSA4MTkxLiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+Pj4gMTgpKTsgCn0gCgoKaWYgKDQyOTQ5NjcyOTUgPj4+IDE4ICE9PSAxNjM4MykgeyAKICAkRVJST1IoJyM2Mjc6IDQyOTQ5NjcyOTUgPj4+IDE4ID09PSAxNjM4My4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IDE4KSk7IAp9IAoKCmlmICgwID4+PiAxOSAhPT0gMCkgeyAKICAkRVJST1IoJyM2Mjg6IDAgPj4+IDE5ID09PSAwLiBBY3R1YWw6ICcgKyAoMCA+Pj4gMTkpKTsgCn0gCgoKaWYgKDEgPj4+IDE5ICE9PSAwKSB7IAogICRFUlJPUignIzYyOTogMSA+Pj4gMTkgPT09IDAuIEFjdHVhbDogJyArICgxID4+PiAxOSkpOyAKfSAKCgppZiAoMyA+Pj4gMTkgIT09IDApIHsgCiAgJEVSUk9SKCcjNjMwOiAzID4+PiAxOSA9PT0gMC4gQWN0dWFsOiAnICsgKDMgPj4+IDE5KSk7IAp9IAoKCmlmICg3ID4+PiAxOSAhPT0gMCkgeyAKICAkRVJST1IoJyM2MzE6IDcgPj4+IDE5ID09PSAwLiBBY3R1YWw6ICcgKyAoNyA+Pj4gMTkpKTsgCn0gCgoKaWYgKDE1ID4+PiAxOSAhPT0gMCkgeyAKICAkRVJST1IoJyM2MzI6IDE1ID4+PiAxOSA9PT0gMC4gQWN0dWFsOiAnICsgKDE1ID4+PiAxOSkpOyAKfSAKCgppZiAoMzEgPj4+IDE5ICE9PSAwKSB7IAogICRFUlJPUignIzYzMzogMzEgPj4+IDE5ID09PSAwLiBBY3R1YWw6ICcgKyAoMzEgPj4+IDE5KSk7IAp9IAoKCmlmICg2MyA+Pj4gMTkgIT09IDApIHsgCiAgJEVSUk9SKCcjNjM0OiA2MyA+Pj4gMTkgPT09IDAuIEFjdHVhbDogJyArICg2MyA+Pj4gMTkpKTsgCn0gCgoKaWYgKDEyNyA+Pj4gMTkgIT09IDApIHsgCiAgJEVSUk9SKCcjNjM1OiAxMjcgPj4+IDE5ID09PSAwLiBBY3R1YWw6ICcgKyAoMTI3ID4+PiAxOSkpOyAKfSAKCgppZiAoMjU1ID4+PiAxOSAhPT0gMCkgeyAKICAkRVJST1IoJyM2MzY6IDI1NSA+Pj4gMTkgPT09IDAuIEFjdHVhbDogJyArICgyNTUgPj4+IDE5KSk7IAp9IAoKCmlmICg1MTEgPj4+IDE5ICE9PSAwKSB7IAogICRFUlJPUignIzYzNzogNTExID4+PiAxOSA9PT0gMC4gQWN0dWFsOiAnICsgKDUxMSA+Pj4gMTkpKTsgCn0gCgoKaWYgKDEwMjMgPj4+IDE5ICE9PSAwKSB7IAogICRFUlJPUignIzYzODogMTAyMyA+Pj4gMTkgPT09IDAuIEFjdHVhbDogJyArICgxMDIzID4+PiAxOSkpOyAKfSAKCgppZiAoMjA0NyA+Pj4gMTkgIT09IDApIHsgCiAgJEVSUk9SKCcjNjM5OiAyMDQ3ID4+PiAxOSA9PT0gMC4gQWN0dWFsOiAnICsgKDIwNDcgPj4+IDE5KSk7IAp9IAoKCmlmICg0MDk1ID4+PiAxOSAhPT0gMCkgeyAKICAkRVJST1IoJyM2NDA6IDQwOTUgPj4+IDE5ID09PSAwLiBBY3R1YWw6ICcgKyAoNDA5NSA+Pj4gMTkpKTsgCn0gCgoKaWYgKDgxOTEgPj4+IDE5ICE9PSAwKSB7IAogICRFUlJPUignIzY0MTogODE5MSA+Pj4gMTkgPT09IDAuIEFjdHVhbDogJyArICg4MTkxID4+PiAxOSkpOyAKfSAKCgppZiAoMTYzODMgPj4+IDE5ICE9PSAwKSB7IAogICRFUlJPUignIzY0MjogMTYzODMgPj4+IDE5ID09PSAwLiBBY3R1YWw6ICcgKyAoMTYzODMgPj4+IDE5KSk7IAp9IAoKCmlmICgzMjc2NyA+Pj4gMTkgIT09IDApIHsgCiAgJEVSUk9SKCcjNjQzOiAzMjc2NyA+Pj4gMTkgPT09IDAuIEFjdHVhbDogJyArICgzMjc2NyA+Pj4gMTkpKTsgCn0gCgoKaWYgKDY1NTM1ID4+PiAxOSAhPT0gMCkgeyAKICAkRVJST1IoJyM2NDQ6IDY1NTM1ID4+PiAxOSA9PT0gMC4gQWN0dWFsOiAnICsgKDY1NTM1ID4+PiAxOSkpOyAKfSAKCgppZiAoMTMxMDcxID4+PiAxOSAhPT0gMCkgeyAKICAkRVJST1IoJyM2NDU6IDEzMTA3MSA+Pj4gMTkgPT09IDAuIEFjdHVhbDogJyArICgxMzEwNzEgPj4+IDE5KSk7IAp9IAoKCmlmICgyNjIxNDMgPj4+IDE5ICE9PSAwKSB7IAogICRFUlJPUignIzY0NjogMjYyMTQzID4+PiAxOSA9PT0gMC4gQWN0dWFsOiAnICsgKDI2MjE0MyA+Pj4gMTkpKTsgCn0gCgoKaWYgKDUyNDI4NyA+Pj4gMTkgIT09IDApIHsgCiAgJEVSUk9SKCcjNjQ3OiA1MjQyODcgPj4+IDE5ID09PSAwLiBBY3R1YWw6ICcgKyAoNTI0Mjg3ID4+PiAxOSkpOyAKfSAKCgppZiAoMTA0ODU3NSA+Pj4gMTkgIT09IDEpIHsgCiAgJEVSUk9SKCcjNjQ4OiAxMDQ4NTc1ID4+PiAxOSA9PT0gMS4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPj4+IDE5KSk7IAp9IAoKCmlmICgyMDk3MTUxID4+PiAxOSAhPT0gMykgeyAKICAkRVJST1IoJyM2NDk6IDIwOTcxNTEgPj4+IDE5ID09PSAzLiBBY3R1YWw6ICcgKyAoMjA5NzE1MSA+Pj4gMTkpKTsgCn0gCgoKaWYgKDQxOTQzMDMgPj4+IDE5ICE9PSA3KSB7IAogICRFUlJPUignIzY1MDogNDE5NDMwMyA+Pj4gMTkgPT09IDcuIEFjdHVhbDogJyArICg0MTk0MzAzID4+PiAxOSkpOyAKfSAKCgppZiAoODM4ODYwNyA+Pj4gMTkgIT09IDE1KSB7IAogICRFUlJPUignIzY1MTogODM4ODYwNyA+Pj4gMTkgPT09IDE1LiBBY3R1YWw6ICcgKyAoODM4ODYwNyA+Pj4gMTkpKTsgCn0gCgoKaWYgKDE2Nzc3MjE1ID4+PiAxOSAhPT0gMzEpIHsgCiAgJEVSUk9SKCcjNjUyOiAxNjc3NzIxNSA+Pj4gMTkgPT09IDMxLiBBY3R1YWw6ICcgKyAoMTY3NzcyMTUgPj4+IDE5KSk7IAp9IAoKCmlmICgzMzU1NDQzMSA+Pj4gMTkgIT09IDYzKSB7IAogICRFUlJPUignIzY1MzogMzM1NTQ0MzEgPj4+IDE5ID09PSA2My4gQWN0dWFsOiAnICsgKDMzNTU0NDMxID4+PiAxOSkpOyAKfSAKCgppZiAoNjcxMDg4NjMgPj4+IDE5ICE9PSAxMjcpIHsgCiAgJEVSUk9SKCcjNjU0OiA2NzEwODg2MyA+Pj4gMTkgPT09IDEyNy4gQWN0dWFsOiAnICsgKDY3MTA4ODYzID4+PiAxOSkpOyAKfSAKCgppZiAoMTM0MjE3NzI3ID4+PiAxOSAhPT0gMjU1KSB7IAogICRFUlJPUignIzY1NTogMTM0MjE3NzI3ID4+PiAxOSA9PT0gMjU1LiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI3ID4+PiAxOSkpOyAKfSAKCgppZiAoMjY4NDM1NDU1ID4+PiAxOSAhPT0gNTExKSB7IAogICRFUlJPUignIzY1NjogMjY4NDM1NDU1ID4+PiAxOSA9PT0gNTExLiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU1ID4+PiAxOSkpOyAKfSAKCgppZiAoNTM2ODcwOTExID4+PiAxOSAhPT0gMTAyMykgeyAKICAkRVJST1IoJyM2NTc6IDUzNjg3MDkxMSA+Pj4gMTkgPT09IDEwMjMuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPj4+IDE5KSk7IAp9IAoKCmlmICgxMDczNzQxODIzID4+PiAxOSAhPT0gMjA0NykgeyAKICAkRVJST1IoJyM2NTg6IDEwNzM3NDE4MjMgPj4+IDE5ID09PSAyMDQ3LiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA+Pj4gMTkpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDcgPj4+IDE5ICE9PSA0MDk1KSB7IAogICRFUlJPUignIzY1OTogMjE0NzQ4MzY0NyA+Pj4gMTkgPT09IDQwOTUuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3ID4+PiAxOSkpOyAKfSAKCgppZiAoNDI5NDk2NzI5NSA+Pj4gMTkgIT09IDgxOTEpIHsgCiAgJEVSUk9SKCcjNjYwOiA0Mjk0OTY3Mjk1ID4+PiAxOSA9PT0gODE5MS4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IDE5KSk7IAp9IAoKCmlmICgwID4+PiAyMCAhPT0gMCkgeyAKICAkRVJST1IoJyM2NjE6IDAgPj4+IDIwID09PSAwLiBBY3R1YWw6ICcgKyAoMCA+Pj4gMjApKTsgCn0gCgoKaWYgKDEgPj4+IDIwICE9PSAwKSB7IAogICRFUlJPUignIzY2MjogMSA+Pj4gMjAgPT09IDAuIEFjdHVhbDogJyArICgxID4+PiAyMCkpOyAKfSAKCgppZiAoMyA+Pj4gMjAgIT09IDApIHsgCiAgJEVSUk9SKCcjNjYzOiAzID4+PiAyMCA9PT0gMC4gQWN0dWFsOiAnICsgKDMgPj4+IDIwKSk7IAp9IAoKCmlmICg3ID4+PiAyMCAhPT0gMCkgeyAKICAkRVJST1IoJyM2NjQ6IDcgPj4+IDIwID09PSAwLiBBY3R1YWw6ICcgKyAoNyA+Pj4gMjApKTsgCn0gCgoKaWYgKDE1ID4+PiAyMCAhPT0gMCkgeyAKICAkRVJST1IoJyM2NjU6IDE1ID4+PiAyMCA9PT0gMC4gQWN0dWFsOiAnICsgKDE1ID4+PiAyMCkpOyAKfSAKCgppZiAoMzEgPj4+IDIwICE9PSAwKSB7IAogICRFUlJPUignIzY2NjogMzEgPj4+IDIwID09PSAwLiBBY3R1YWw6ICcgKyAoMzEgPj4+IDIwKSk7IAp9IAoKCmlmICg2MyA+Pj4gMjAgIT09IDApIHsgCiAgJEVSUk9SKCcjNjY3OiA2MyA+Pj4gMjAgPT09IDAuIEFjdHVhbDogJyArICg2MyA+Pj4gMjApKTsgCn0gCgoKaWYgKDEyNyA+Pj4gMjAgIT09IDApIHsgCiAgJEVSUk9SKCcjNjY4OiAxMjcgPj4+IDIwID09PSAwLiBBY3R1YWw6ICcgKyAoMTI3ID4+PiAyMCkpOyAKfSAKCgppZiAoMjU1ID4+PiAyMCAhPT0gMCkgeyAKICAkRVJST1IoJyM2Njk6IDI1NSA+Pj4gMjAgPT09IDAuIEFjdHVhbDogJyArICgyNTUgPj4+IDIwKSk7IAp9IAoKCmlmICg1MTEgPj4+IDIwICE9PSAwKSB7IAogICRFUlJPUignIzY3MDogNTExID4+PiAyMCA9PT0gMC4gQWN0dWFsOiAnICsgKDUxMSA+Pj4gMjApKTsgCn0gCgoKaWYgKDEwMjMgPj4+IDIwICE9PSAwKSB7IAogICRFUlJPUignIzY3MTogMTAyMyA+Pj4gMjAgPT09IDAuIEFjdHVhbDogJyArICgxMDIzID4+PiAyMCkpOyAKfSAKCgppZiAoMjA0NyA+Pj4gMjAgIT09IDApIHsgCiAgJEVSUk9SKCcjNjcyOiAyMDQ3ID4+PiAyMCA9PT0gMC4gQWN0dWFsOiAnICsgKDIwNDcgPj4+IDIwKSk7IAp9IAoKCmlmICg0MDk1ID4+PiAyMCAhPT0gMCkgeyAKICAkRVJST1IoJyM2NzM6IDQwOTUgPj4+IDIwID09PSAwLiBBY3R1YWw6ICcgKyAoNDA5NSA+Pj4gMjApKTsgCn0gCgoKaWYgKDgxOTEgPj4+IDIwICE9PSAwKSB7IAogICRFUlJPUignIzY3NDogODE5MSA+Pj4gMjAgPT09IDAuIEFjdHVhbDogJyArICg4MTkxID4+PiAyMCkpOyAKfSAKCgppZiAoMTYzODMgPj4+IDIwICE9PSAwKSB7IAogICRFUlJPUignIzY3NTogMTYzODMgPj4+IDIwID09PSAwLiBBY3R1YWw6ICcgKyAoMTYzODMgPj4+IDIwKSk7IAp9IAoKCmlmICgzMjc2NyA+Pj4gMjAgIT09IDApIHsgCiAgJEVSUk9SKCcjNjc2OiAzMjc2NyA+Pj4gMjAgPT09IDAuIEFjdHVhbDogJyArICgzMjc2NyA+Pj4gMjApKTsgCn0gCgoKaWYgKDY1NTM1ID4+PiAyMCAhPT0gMCkgeyAKICAkRVJST1IoJyM2Nzc6IDY1NTM1ID4+PiAyMCA9PT0gMC4gQWN0dWFsOiAnICsgKDY1NTM1ID4+PiAyMCkpOyAKfSAKCgppZiAoMTMxMDcxID4+PiAyMCAhPT0gMCkgeyAKICAkRVJST1IoJyM2Nzg6IDEzMTA3MSA+Pj4gMjAgPT09IDAuIEFjdHVhbDogJyArICgxMzEwNzEgPj4+IDIwKSk7IAp9IAoKCmlmICgyNjIxNDMgPj4+IDIwICE9PSAwKSB7IAogICRFUlJPUignIzY3OTogMjYyMTQzID4+PiAyMCA9PT0gMC4gQWN0dWFsOiAnICsgKDI2MjE0MyA+Pj4gMjApKTsgCn0gCgoKaWYgKDUyNDI4NyA+Pj4gMjAgIT09IDApIHsgCiAgJEVSUk9SKCcjNjgwOiA1MjQyODcgPj4+IDIwID09PSAwLiBBY3R1YWw6ICcgKyAoNTI0Mjg3ID4+PiAyMCkpOyAKfSAKCgppZiAoMTA0ODU3NSA+Pj4gMjAgIT09IDApIHsgCiAgJEVSUk9SKCcjNjgxOiAxMDQ4NTc1ID4+PiAyMCA9PT0gMC4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPj4+IDIwKSk7IAp9IAoKCmlmICgyMDk3MTUxID4+PiAyMCAhPT0gMSkgeyAKICAkRVJST1IoJyM2ODI6IDIwOTcxNTEgPj4+IDIwID09PSAxLiBBY3R1YWw6ICcgKyAoMjA5NzE1MSA+Pj4gMjApKTsgCn0gCgoKaWYgKDQxOTQzMDMgPj4+IDIwICE9PSAzKSB7IAogICRFUlJPUignIzY4MzogNDE5NDMwMyA+Pj4gMjAgPT09IDMuIEFjdHVhbDogJyArICg0MTk0MzAzID4+PiAyMCkpOyAKfSAKCgppZiAoODM4ODYwNyA+Pj4gMjAgIT09IDcpIHsgCiAgJEVSUk9SKCcjNjg0OiA4Mzg4NjA3ID4+PiAyMCA9PT0gNy4gQWN0dWFsOiAnICsgKDgzODg2MDcgPj4+IDIwKSk7IAp9IAoKCmlmICgxNjc3NzIxNSA+Pj4gMjAgIT09IDE1KSB7IAogICRFUlJPUignIzY4NTogMTY3NzcyMTUgPj4+IDIwID09PSAxNS4gQWN0dWFsOiAnICsgKDE2Nzc3MjE1ID4+PiAyMCkpOyAKfSAKCgppZiAoMzM1NTQ0MzEgPj4+IDIwICE9PSAzMSkgeyAKICAkRVJST1IoJyM2ODY6IDMzNTU0NDMxID4+PiAyMCA9PT0gMzEuIEFjdHVhbDogJyArICgzMzU1NDQzMSA+Pj4gMjApKTsgCn0gCgoKaWYgKDY3MTA4ODYzID4+PiAyMCAhPT0gNjMpIHsgCiAgJEVSUk9SKCcjNjg3OiA2NzEwODg2MyA+Pj4gMjAgPT09IDYzLiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPj4+IDIwKSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPj4+IDIwICE9PSAxMjcpIHsgCiAgJEVSUk9SKCcjNjg4OiAxMzQyMTc3MjcgPj4+IDIwID09PSAxMjcuIEFjdHVhbDogJyArICgxMzQyMTc3MjcgPj4+IDIwKSk7IAp9IAoKCmlmICgyNjg0MzU0NTUgPj4+IDIwICE9PSAyNTUpIHsgCiAgJEVSUk9SKCcjNjg5OiAyNjg0MzU0NTUgPj4+IDIwID09PSAyNTUuIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPj4+IDIwKSk7IAp9IAoKCmlmICg1MzY4NzA5MTEgPj4+IDIwICE9PSA1MTEpIHsgCiAgJEVSUk9SKCcjNjkwOiA1MzY4NzA5MTEgPj4+IDIwID09PSA1MTEuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPj4+IDIwKSk7IAp9IAoKCmlmICgxMDczNzQxODIzID4+PiAyMCAhPT0gMTAyMykgeyAKICAkRVJST1IoJyM2OTE6IDEwNzM3NDE4MjMgPj4+IDIwID09PSAxMDIzLiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA+Pj4gMjApKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDcgPj4+IDIwICE9PSAyMDQ3KSB7IAogICRFUlJPUignIzY5MjogMjE0NzQ4MzY0NyA+Pj4gMjAgPT09IDIwNDcuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3ID4+PiAyMCkpOyAKfSAKCgppZiAoNDI5NDk2NzI5NSA+Pj4gMjAgIT09IDQwOTUpIHsgCiAgJEVSUk9SKCcjNjkzOiA0Mjk0OTY3Mjk1ID4+PiAyMCA9PT0gNDA5NS4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IDIwKSk7IAp9IAoKCmlmICgwID4+PiAyMSAhPT0gMCkgeyAKICAkRVJST1IoJyM2OTQ6IDAgPj4+IDIxID09PSAwLiBBY3R1YWw6ICcgKyAoMCA+Pj4gMjEpKTsgCn0gCgoKaWYgKDEgPj4+IDIxICE9PSAwKSB7IAogICRFUlJPUignIzY5NTogMSA+Pj4gMjEgPT09IDAuIEFjdHVhbDogJyArICgxID4+PiAyMSkpOyAKfSAKCgppZiAoMyA+Pj4gMjEgIT09IDApIHsgCiAgJEVSUk9SKCcjNjk2OiAzID4+PiAyMSA9PT0gMC4gQWN0dWFsOiAnICsgKDMgPj4+IDIxKSk7IAp9IAoKCmlmICg3ID4+PiAyMSAhPT0gMCkgeyAKICAkRVJST1IoJyM2OTc6IDcgPj4+IDIxID09PSAwLiBBY3R1YWw6ICcgKyAoNyA+Pj4gMjEpKTsgCn0gCgoKaWYgKDE1ID4+PiAyMSAhPT0gMCkgeyAKICAkRVJST1IoJyM2OTg6IDE1ID4+PiAyMSA9PT0gMC4gQWN0dWFsOiAnICsgKDE1ID4+PiAyMSkpOyAKfSAKCgppZiAoMzEgPj4+IDIxICE9PSAwKSB7IAogICRFUlJPUignIzY5OTogMzEgPj4+IDIxID09PSAwLiBBY3R1YWw6ICcgKyAoMzEgPj4+IDIxKSk7IAp9IAoKCmlmICg2MyA+Pj4gMjEgIT09IDApIHsgCiAgJEVSUk9SKCcjNzAwOiA2MyA+Pj4gMjEgPT09IDAuIEFjdHVhbDogJyArICg2MyA+Pj4gMjEpKTsgCn0gCgoKaWYgKDEyNyA+Pj4gMjEgIT09IDApIHsgCiAgJEVSUk9SKCcjNzAxOiAxMjcgPj4+IDIxID09PSAwLiBBY3R1YWw6ICcgKyAoMTI3ID4+PiAyMSkpOyAKfSAKCgppZiAoMjU1ID4+PiAyMSAhPT0gMCkgeyAKICAkRVJST1IoJyM3MDI6IDI1NSA+Pj4gMjEgPT09IDAuIEFjdHVhbDogJyArICgyNTUgPj4+IDIxKSk7IAp9IAoKCmlmICg1MTEgPj4+IDIxICE9PSAwKSB7IAogICRFUlJPUignIzcwMzogNTExID4+PiAyMSA9PT0gMC4gQWN0dWFsOiAnICsgKDUxMSA+Pj4gMjEpKTsgCn0gCgoKaWYgKDEwMjMgPj4+IDIxICE9PSAwKSB7IAogICRFUlJPUignIzcwNDogMTAyMyA+Pj4gMjEgPT09IDAuIEFjdHVhbDogJyArICgxMDIzID4+PiAyMSkpOyAKfSAKCgppZiAoMjA0NyA+Pj4gMjEgIT09IDApIHsgCiAgJEVSUk9SKCcjNzA1OiAyMDQ3ID4+PiAyMSA9PT0gMC4gQWN0dWFsOiAnICsgKDIwNDcgPj4+IDIxKSk7IAp9IAoKCmlmICg0MDk1ID4+PiAyMSAhPT0gMCkgeyAKICAkRVJST1IoJyM3MDY6IDQwOTUgPj4+IDIxID09PSAwLiBBY3R1YWw6ICcgKyAoNDA5NSA+Pj4gMjEpKTsgCn0gCgoKaWYgKDgxOTEgPj4+IDIxICE9PSAwKSB7IAogICRFUlJPUignIzcwNzogODE5MSA+Pj4gMjEgPT09IDAuIEFjdHVhbDogJyArICg4MTkxID4+PiAyMSkpOyAKfSAKCgppZiAoMTYzODMgPj4+IDIxICE9PSAwKSB7IAogICRFUlJPUignIzcwODogMTYzODMgPj4+IDIxID09PSAwLiBBY3R1YWw6ICcgKyAoMTYzODMgPj4+IDIxKSk7IAp9IAoKCmlmICgzMjc2NyA+Pj4gMjEgIT09IDApIHsgCiAgJEVSUk9SKCcjNzA5OiAzMjc2NyA+Pj4gMjEgPT09IDAuIEFjdHVhbDogJyArICgzMjc2NyA+Pj4gMjEpKTsgCn0gCgoKaWYgKDY1NTM1ID4+PiAyMSAhPT0gMCkgeyAKICAkRVJST1IoJyM3MTA6IDY1NTM1ID4+PiAyMSA9PT0gMC4gQWN0dWFsOiAnICsgKDY1NTM1ID4+PiAyMSkpOyAKfSAKCgppZiAoMTMxMDcxID4+PiAyMSAhPT0gMCkgeyAKICAkRVJST1IoJyM3MTE6IDEzMTA3MSA+Pj4gMjEgPT09IDAuIEFjdHVhbDogJyArICgxMzEwNzEgPj4+IDIxKSk7IAp9IAoKCmlmICgyNjIxNDMgPj4+IDIxICE9PSAwKSB7IAogICRFUlJPUignIzcxMjogMjYyMTQzID4+PiAyMSA9PT0gMC4gQWN0dWFsOiAnICsgKDI2MjE0MyA+Pj4gMjEpKTsgCn0gCgoKaWYgKDUyNDI4NyA+Pj4gMjEgIT09IDApIHsgCiAgJEVSUk9SKCcjNzEzOiA1MjQyODcgPj4+IDIxID09PSAwLiBBY3R1YWw6ICcgKyAoNTI0Mjg3ID4+PiAyMSkpOyAKfSAKCgppZiAoMTA0ODU3NSA+Pj4gMjEgIT09IDApIHsgCiAgJEVSUk9SKCcjNzE0OiAxMDQ4NTc1ID4+PiAyMSA9PT0gMC4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPj4+IDIxKSk7IAp9IAoKCmlmICgyMDk3MTUxID4+PiAyMSAhPT0gMCkgeyAKICAkRVJST1IoJyM3MTU6IDIwOTcxNTEgPj4+IDIxID09PSAwLiBBY3R1YWw6ICcgKyAoMjA5NzE1MSA+Pj4gMjEpKTsgCn0gCgoKaWYgKDQxOTQzMDMgPj4+IDIxICE9PSAxKSB7IAogICRFUlJPUignIzcxNjogNDE5NDMwMyA+Pj4gMjEgPT09IDEuIEFjdHVhbDogJyArICg0MTk0MzAzID4+PiAyMSkpOyAKfSAKCgppZiAoODM4ODYwNyA+Pj4gMjEgIT09IDMpIHsgCiAgJEVSUk9SKCcjNzE3OiA4Mzg4NjA3ID4+PiAyMSA9PT0gMy4gQWN0dWFsOiAnICsgKDgzODg2MDcgPj4+IDIxKSk7IAp9IAoKCmlmICgxNjc3NzIxNSA+Pj4gMjEgIT09IDcpIHsgCiAgJEVSUk9SKCcjNzE4OiAxNjc3NzIxNSA+Pj4gMjEgPT09IDcuIEFjdHVhbDogJyArICgxNjc3NzIxNSA+Pj4gMjEpKTsgCn0gCgoKaWYgKDMzNTU0NDMxID4+PiAyMSAhPT0gMTUpIHsgCiAgJEVSUk9SKCcjNzE5OiAzMzU1NDQzMSA+Pj4gMjEgPT09IDE1LiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPj4+IDIxKSk7IAp9IAoKCmlmICg2NzEwODg2MyA+Pj4gMjEgIT09IDMxKSB7IAogICRFUlJPUignIzcyMDogNjcxMDg4NjMgPj4+IDIxID09PSAzMS4gQWN0dWFsOiAnICsgKDY3MTA4ODYzID4+PiAyMSkpOyAKfSAKCgppZiAoMTM0MjE3NzI3ID4+PiAyMSAhPT0gNjMpIHsgCiAgJEVSUk9SKCcjNzIxOiAxMzQyMTc3MjcgPj4+IDIxID09PSA2My4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA+Pj4gMjEpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NSA+Pj4gMjEgIT09IDEyNykgeyAKICAkRVJST1IoJyM3MjI6IDI2ODQzNTQ1NSA+Pj4gMjEgPT09IDEyNy4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NSA+Pj4gMjEpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMSA+Pj4gMjEgIT09IDI1NSkgeyAKICAkRVJST1IoJyM3MjM6IDUzNjg3MDkxMSA+Pj4gMjEgPT09IDI1NS4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMSA+Pj4gMjEpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjMgPj4+IDIxICE9PSA1MTEpIHsgCiAgJEVSUk9SKCcjNzI0OiAxMDczNzQxODIzID4+PiAyMSA9PT0gNTExLiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA+Pj4gMjEpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDcgPj4+IDIxICE9PSAxMDIzKSB7IAogICRFUlJPUignIzcyNTogMjE0NzQ4MzY0NyA+Pj4gMjEgPT09IDEwMjMuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3ID4+PiAyMSkpOyAKfSAKCgppZiAoNDI5NDk2NzI5NSA+Pj4gMjEgIT09IDIwNDcpIHsgCiAgJEVSUk9SKCcjNzI2OiA0Mjk0OTY3Mjk1ID4+PiAyMSA9PT0gMjA0Ny4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IDIxKSk7IAp9IAoKCmlmICgwID4+PiAyMiAhPT0gMCkgeyAKICAkRVJST1IoJyM3Mjc6IDAgPj4+IDIyID09PSAwLiBBY3R1YWw6ICcgKyAoMCA+Pj4gMjIpKTsgCn0gCgoKaWYgKDEgPj4+IDIyICE9PSAwKSB7IAogICRFUlJPUignIzcyODogMSA+Pj4gMjIgPT09IDAuIEFjdHVhbDogJyArICgxID4+PiAyMikpOyAKfSAKCgppZiAoMyA+Pj4gMjIgIT09IDApIHsgCiAgJEVSUk9SKCcjNzI5OiAzID4+PiAyMiA9PT0gMC4gQWN0dWFsOiAnICsgKDMgPj4+IDIyKSk7IAp9IAoKCmlmICg3ID4+PiAyMiAhPT0gMCkgeyAKICAkRVJST1IoJyM3MzA6IDcgPj4+IDIyID09PSAwLiBBY3R1YWw6ICcgKyAoNyA+Pj4gMjIpKTsgCn0gCgoKaWYgKDE1ID4+PiAyMiAhPT0gMCkgeyAKICAkRVJST1IoJyM3MzE6IDE1ID4+PiAyMiA9PT0gMC4gQWN0dWFsOiAnICsgKDE1ID4+PiAyMikpOyAKfSAKCgppZiAoMzEgPj4+IDIyICE9PSAwKSB7IAogICRFUlJPUignIzczMjogMzEgPj4+IDIyID09PSAwLiBBY3R1YWw6ICcgKyAoMzEgPj4+IDIyKSk7IAp9IAoKCmlmICg2MyA+Pj4gMjIgIT09IDApIHsgCiAgJEVSUk9SKCcjNzMzOiA2MyA+Pj4gMjIgPT09IDAuIEFjdHVhbDogJyArICg2MyA+Pj4gMjIpKTsgCn0gCgoKaWYgKDEyNyA+Pj4gMjIgIT09IDApIHsgCiAgJEVSUk9SKCcjNzM0OiAxMjcgPj4+IDIyID09PSAwLiBBY3R1YWw6ICcgKyAoMTI3ID4+PiAyMikpOyAKfSAKCgppZiAoMjU1ID4+PiAyMiAhPT0gMCkgeyAKICAkRVJST1IoJyM3MzU6IDI1NSA+Pj4gMjIgPT09IDAuIEFjdHVhbDogJyArICgyNTUgPj4+IDIyKSk7IAp9IAoKCmlmICg1MTEgPj4+IDIyICE9PSAwKSB7IAogICRFUlJPUignIzczNjogNTExID4+PiAyMiA9PT0gMC4gQWN0dWFsOiAnICsgKDUxMSA+Pj4gMjIpKTsgCn0gCgoKaWYgKDEwMjMgPj4+IDIyICE9PSAwKSB7IAogICRFUlJPUignIzczNzogMTAyMyA+Pj4gMjIgPT09IDAuIEFjdHVhbDogJyArICgxMDIzID4+PiAyMikpOyAKfSAKCgppZiAoMjA0NyA+Pj4gMjIgIT09IDApIHsgCiAgJEVSUk9SKCcjNzM4OiAyMDQ3ID4+PiAyMiA9PT0gMC4gQWN0dWFsOiAnICsgKDIwNDcgPj4+IDIyKSk7IAp9IAoKCmlmICg0MDk1ID4+PiAyMiAhPT0gMCkgeyAKICAkRVJST1IoJyM3Mzk6IDQwOTUgPj4+IDIyID09PSAwLiBBY3R1YWw6ICcgKyAoNDA5NSA+Pj4gMjIpKTsgCn0gCgoKaWYgKDgxOTEgPj4+IDIyICE9PSAwKSB7IAogICRFUlJPUignIzc0MDogODE5MSA+Pj4gMjIgPT09IDAuIEFjdHVhbDogJyArICg4MTkxID4+PiAyMikpOyAKfSAKCgppZiAoMTYzODMgPj4+IDIyICE9PSAwKSB7IAogICRFUlJPUignIzc0MTogMTYzODMgPj4+IDIyID09PSAwLiBBY3R1YWw6ICcgKyAoMTYzODMgPj4+IDIyKSk7IAp9IAoKCmlmICgzMjc2NyA+Pj4gMjIgIT09IDApIHsgCiAgJEVSUk9SKCcjNzQyOiAzMjc2NyA+Pj4gMjIgPT09IDAuIEFjdHVhbDogJyArICgzMjc2NyA+Pj4gMjIpKTsgCn0gCgoKaWYgKDY1NTM1ID4+PiAyMiAhPT0gMCkgeyAKICAkRVJST1IoJyM3NDM6IDY1NTM1ID4+PiAyMiA9PT0gMC4gQWN0dWFsOiAnICsgKDY1NTM1ID4+PiAyMikpOyAKfSAKCgppZiAoMTMxMDcxID4+PiAyMiAhPT0gMCkgeyAKICAkRVJST1IoJyM3NDQ6IDEzMTA3MSA+Pj4gMjIgPT09IDAuIEFjdHVhbDogJyArICgxMzEwNzEgPj4+IDIyKSk7IAp9IAoKCmlmICgyNjIxNDMgPj4+IDIyICE9PSAwKSB7IAogICRFUlJPUignIzc0NTogMjYyMTQzID4+PiAyMiA9PT0gMC4gQWN0dWFsOiAnICsgKDI2MjE0MyA+Pj4gMjIpKTsgCn0gCgoKaWYgKDUyNDI4NyA+Pj4gMjIgIT09IDApIHsgCiAgJEVSUk9SKCcjNzQ2OiA1MjQyODcgPj4+IDIyID09PSAwLiBBY3R1YWw6ICcgKyAoNTI0Mjg3ID4+PiAyMikpOyAKfSAKCgppZiAoMTA0ODU3NSA+Pj4gMjIgIT09IDApIHsgCiAgJEVSUk9SKCcjNzQ3OiAxMDQ4NTc1ID4+PiAyMiA9PT0gMC4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPj4+IDIyKSk7IAp9IAoKCmlmICgyMDk3MTUxID4+PiAyMiAhPT0gMCkgeyAKICAkRVJST1IoJyM3NDg6IDIwOTcxNTEgPj4+IDIyID09PSAwLiBBY3R1YWw6ICcgKyAoMjA5NzE1MSA+Pj4gMjIpKTsgCn0gCgoKaWYgKDQxOTQzMDMgPj4+IDIyICE9PSAwKSB7IAogICRFUlJPUignIzc0OTogNDE5NDMwMyA+Pj4gMjIgPT09IDAuIEFjdHVhbDogJyArICg0MTk0MzAzID4+PiAyMikpOyAKfSAKCgppZiAoODM4ODYwNyA+Pj4gMjIgIT09IDEpIHsgCiAgJEVSUk9SKCcjNzUwOiA4Mzg4NjA3ID4+PiAyMiA9PT0gMS4gQWN0dWFsOiAnICsgKDgzODg2MDcgPj4+IDIyKSk7IAp9IAoKCmlmICgxNjc3NzIxNSA+Pj4gMjIgIT09IDMpIHsgCiAgJEVSUk9SKCcjNzUxOiAxNjc3NzIxNSA+Pj4gMjIgPT09IDMuIEFjdHVhbDogJyArICgxNjc3NzIxNSA+Pj4gMjIpKTsgCn0gCgoKaWYgKDMzNTU0NDMxID4+PiAyMiAhPT0gNykgeyAKICAkRVJST1IoJyM3NTI6IDMzNTU0NDMxID4+PiAyMiA9PT0gNy4gQWN0dWFsOiAnICsgKDMzNTU0NDMxID4+PiAyMikpOyAKfSAKCgppZiAoNjcxMDg4NjMgPj4+IDIyICE9PSAxNSkgeyAKICAkRVJST1IoJyM3NTM6IDY3MTA4ODYzID4+PiAyMiA9PT0gMTUuIEFjdHVhbDogJyArICg2NzEwODg2MyA+Pj4gMjIpKTsgCn0gCgoKaWYgKDEzNDIxNzcyNyA+Pj4gMjIgIT09IDMxKSB7IAogICRFUlJPUignIzc1NDogMTM0MjE3NzI3ID4+PiAyMiA9PT0gMzEuIEFjdHVhbDogJyArICgxMzQyMTc3MjcgPj4+IDIyKSk7IAp9IAoKCmlmICgyNjg0MzU0NTUgPj4+IDIyICE9PSA2MykgeyAKICAkRVJST1IoJyM3NTU6IDI2ODQzNTQ1NSA+Pj4gMjIgPT09IDYzLiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU1ID4+PiAyMikpOyAKfSAKCgppZiAoNTM2ODcwOTExID4+PiAyMiAhPT0gMTI3KSB7IAogICRFUlJPUignIzc1NjogNTM2ODcwOTExID4+PiAyMiA9PT0gMTI3LiBBY3R1YWw6ICcgKyAoNTM2ODcwOTExID4+PiAyMikpOyAKfSAKCgppZiAoMTA3Mzc0MTgyMyA+Pj4gMjIgIT09IDI1NSkgeyAKICAkRVJST1IoJyM3NTc6IDEwNzM3NDE4MjMgPj4+IDIyID09PSAyNTUuIEFjdHVhbDogJyArICgxMDczNzQxODIzID4+PiAyMikpOyAKfSAKCgppZiAoMjE0NzQ4MzY0NyA+Pj4gMjIgIT09IDUxMSkgeyAKICAkRVJST1IoJyM3NTg6IDIxNDc0ODM2NDcgPj4+IDIyID09PSA1MTEuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3ID4+PiAyMikpOyAKfSAKCgppZiAoNDI5NDk2NzI5NSA+Pj4gMjIgIT09IDEwMjMpIHsgCiAgJEVSUk9SKCcjNzU5OiA0Mjk0OTY3Mjk1ID4+PiAyMiA9PT0gMTAyMy4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IDIyKSk7IAp9IAoKCmlmICgwID4+PiAyMyAhPT0gMCkgeyAKICAkRVJST1IoJyM3NjA6IDAgPj4+IDIzID09PSAwLiBBY3R1YWw6ICcgKyAoMCA+Pj4gMjMpKTsgCn0gCgoKaWYgKDEgPj4+IDIzICE9PSAwKSB7IAogICRFUlJPUignIzc2MTogMSA+Pj4gMjMgPT09IDAuIEFjdHVhbDogJyArICgxID4+PiAyMykpOyAKfSAKCgppZiAoMyA+Pj4gMjMgIT09IDApIHsgCiAgJEVSUk9SKCcjNzYyOiAzID4+PiAyMyA9PT0gMC4gQWN0dWFsOiAnICsgKDMgPj4+IDIzKSk7IAp9IAoKCmlmICg3ID4+PiAyMyAhPT0gMCkgeyAKICAkRVJST1IoJyM3NjM6IDcgPj4+IDIzID09PSAwLiBBY3R1YWw6ICcgKyAoNyA+Pj4gMjMpKTsgCn0gCgoKaWYgKDE1ID4+PiAyMyAhPT0gMCkgeyAKICAkRVJST1IoJyM3NjQ6IDE1ID4+PiAyMyA9PT0gMC4gQWN0dWFsOiAnICsgKDE1ID4+PiAyMykpOyAKfSAKCgppZiAoMzEgPj4+IDIzICE9PSAwKSB7IAogICRFUlJPUignIzc2NTogMzEgPj4+IDIzID09PSAwLiBBY3R1YWw6ICcgKyAoMzEgPj4+IDIzKSk7IAp9IAoKCmlmICg2MyA+Pj4gMjMgIT09IDApIHsgCiAgJEVSUk9SKCcjNzY2OiA2MyA+Pj4gMjMgPT09IDAuIEFjdHVhbDogJyArICg2MyA+Pj4gMjMpKTsgCn0gCgoKaWYgKDEyNyA+Pj4gMjMgIT09IDApIHsgCiAgJEVSUk9SKCcjNzY3OiAxMjcgPj4+IDIzID09PSAwLiBBY3R1YWw6ICcgKyAoMTI3ID4+PiAyMykpOyAKfSAKCgppZiAoMjU1ID4+PiAyMyAhPT0gMCkgeyAKICAkRVJST1IoJyM3Njg6IDI1NSA+Pj4gMjMgPT09IDAuIEFjdHVhbDogJyArICgyNTUgPj4+IDIzKSk7IAp9IAoKCmlmICg1MTEgPj4+IDIzICE9PSAwKSB7IAogICRFUlJPUignIzc2OTogNTExID4+PiAyMyA9PT0gMC4gQWN0dWFsOiAnICsgKDUxMSA+Pj4gMjMpKTsgCn0gCgoKaWYgKDEwMjMgPj4+IDIzICE9PSAwKSB7IAogICRFUlJPUignIzc3MDogMTAyMyA+Pj4gMjMgPT09IDAuIEFjdHVhbDogJyArICgxMDIzID4+PiAyMykpOyAKfSAKCgppZiAoMjA0NyA+Pj4gMjMgIT09IDApIHsgCiAgJEVSUk9SKCcjNzcxOiAyMDQ3ID4+PiAyMyA9PT0gMC4gQWN0dWFsOiAnICsgKDIwNDcgPj4+IDIzKSk7IAp9IAoKCmlmICg0MDk1ID4+PiAyMyAhPT0gMCkgeyAKICAkRVJST1IoJyM3NzI6IDQwOTUgPj4+IDIzID09PSAwLiBBY3R1YWw6ICcgKyAoNDA5NSA+Pj4gMjMpKTsgCn0gCgoKaWYgKDgxOTEgPj4+IDIzICE9PSAwKSB7IAogICRFUlJPUignIzc3MzogODE5MSA+Pj4gMjMgPT09IDAuIEFjdHVhbDogJyArICg4MTkxID4+PiAyMykpOyAKfSAKCgppZiAoMTYzODMgPj4+IDIzICE9PSAwKSB7IAogICRFUlJPUignIzc3NDogMTYzODMgPj4+IDIzID09PSAwLiBBY3R1YWw6ICcgKyAoMTYzODMgPj4+IDIzKSk7IAp9IAoKCmlmICgzMjc2NyA+Pj4gMjMgIT09IDApIHsgCiAgJEVSUk9SKCcjNzc1OiAzMjc2NyA+Pj4gMjMgPT09IDAuIEFjdHVhbDogJyArICgzMjc2NyA+Pj4gMjMpKTsgCn0gCgoKaWYgKDY1NTM1ID4+PiAyMyAhPT0gMCkgeyAKICAkRVJST1IoJyM3NzY6IDY1NTM1ID4+PiAyMyA9PT0gMC4gQWN0dWFsOiAnICsgKDY1NTM1ID4+PiAyMykpOyAKfSAKCgppZiAoMTMxMDcxID4+PiAyMyAhPT0gMCkgeyAKICAkRVJST1IoJyM3Nzc6IDEzMTA3MSA+Pj4gMjMgPT09IDAuIEFjdHVhbDogJyArICgxMzEwNzEgPj4+IDIzKSk7IAp9IAoKCmlmICgyNjIxNDMgPj4+IDIzICE9PSAwKSB7IAogICRFUlJPUignIzc3ODogMjYyMTQzID4+PiAyMyA9PT0gMC4gQWN0dWFsOiAnICsgKDI2MjE0MyA+Pj4gMjMpKTsgCn0gCgoKaWYgKDUyNDI4NyA+Pj4gMjMgIT09IDApIHsgCiAgJEVSUk9SKCcjNzc5OiA1MjQyODcgPj4+IDIzID09PSAwLiBBY3R1YWw6ICcgKyAoNTI0Mjg3ID4+PiAyMykpOyAKfSAKCgppZiAoMTA0ODU3NSA+Pj4gMjMgIT09IDApIHsgCiAgJEVSUk9SKCcjNzgwOiAxMDQ4NTc1ID4+PiAyMyA9PT0gMC4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPj4+IDIzKSk7IAp9IAoKCmlmICgyMDk3MTUxID4+PiAyMyAhPT0gMCkgeyAKICAkRVJST1IoJyM3ODE6IDIwOTcxNTEgPj4+IDIzID09PSAwLiBBY3R1YWw6ICcgKyAoMjA5NzE1MSA+Pj4gMjMpKTsgCn0gCgoKaWYgKDQxOTQzMDMgPj4+IDIzICE9PSAwKSB7IAogICRFUlJPUignIzc4MjogNDE5NDMwMyA+Pj4gMjMgPT09IDAuIEFjdHVhbDogJyArICg0MTk0MzAzID4+PiAyMykpOyAKfSAKCgppZiAoODM4ODYwNyA+Pj4gMjMgIT09IDApIHsgCiAgJEVSUk9SKCcjNzgzOiA4Mzg4NjA3ID4+PiAyMyA9PT0gMC4gQWN0dWFsOiAnICsgKDgzODg2MDcgPj4+IDIzKSk7IAp9IAoKCmlmICgxNjc3NzIxNSA+Pj4gMjMgIT09IDEpIHsgCiAgJEVSUk9SKCcjNzg0OiAxNjc3NzIxNSA+Pj4gMjMgPT09IDEuIEFjdHVhbDogJyArICgxNjc3NzIxNSA+Pj4gMjMpKTsgCn0gCgoKaWYgKDMzNTU0NDMxID4+PiAyMyAhPT0gMykgeyAKICAkRVJST1IoJyM3ODU6IDMzNTU0NDMxID4+PiAyMyA9PT0gMy4gQWN0dWFsOiAnICsgKDMzNTU0NDMxID4+PiAyMykpOyAKfSAKCgppZiAoNjcxMDg4NjMgPj4+IDIzICE9PSA3KSB7IAogICRFUlJPUignIzc4NjogNjcxMDg4NjMgPj4+IDIzID09PSA3LiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPj4+IDIzKSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPj4+IDIzICE9PSAxNSkgeyAKICAkRVJST1IoJyM3ODc6IDEzNDIxNzcyNyA+Pj4gMjMgPT09IDE1LiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI3ID4+PiAyMykpOyAKfSAKCgppZiAoMjY4NDM1NDU1ID4+PiAyMyAhPT0gMzEpIHsgCiAgJEVSUk9SKCcjNzg4OiAyNjg0MzU0NTUgPj4+IDIzID09PSAzMS4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NSA+Pj4gMjMpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMSA+Pj4gMjMgIT09IDYzKSB7IAogICRFUlJPUignIzc4OTogNTM2ODcwOTExID4+PiAyMyA9PT0gNjMuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPj4+IDIzKSk7IAp9IAoKCmlmICgxMDczNzQxODIzID4+PiAyMyAhPT0gMTI3KSB7IAogICRFUlJPUignIzc5MDogMTA3Mzc0MTgyMyA+Pj4gMjMgPT09IDEyNy4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjMgPj4+IDIzKSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ3ID4+PiAyMyAhPT0gMjU1KSB7IAogICRFUlJPUignIzc5MTogMjE0NzQ4MzY0NyA+Pj4gMjMgPT09IDI1NS4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4+IDIzKSk7IAp9IAoKCmlmICg0Mjk0OTY3Mjk1ID4+PiAyMyAhPT0gNTExKSB7IAogICRFUlJPUignIzc5MjogNDI5NDk2NzI5NSA+Pj4gMjMgPT09IDUxMS4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IDIzKSk7IAp9IAoKCmlmICgwID4+PiAyNCAhPT0gMCkgeyAKICAkRVJST1IoJyM3OTM6IDAgPj4+IDI0ID09PSAwLiBBY3R1YWw6ICcgKyAoMCA+Pj4gMjQpKTsgCn0gCgoKaWYgKDEgPj4+IDI0ICE9PSAwKSB7IAogICRFUlJPUignIzc5NDogMSA+Pj4gMjQgPT09IDAuIEFjdHVhbDogJyArICgxID4+PiAyNCkpOyAKfSAKCgppZiAoMyA+Pj4gMjQgIT09IDApIHsgCiAgJEVSUk9SKCcjNzk1OiAzID4+PiAyNCA9PT0gMC4gQWN0dWFsOiAnICsgKDMgPj4+IDI0KSk7IAp9IAoKCmlmICg3ID4+PiAyNCAhPT0gMCkgeyAKICAkRVJST1IoJyM3OTY6IDcgPj4+IDI0ID09PSAwLiBBY3R1YWw6ICcgKyAoNyA+Pj4gMjQpKTsgCn0gCgoKaWYgKDE1ID4+PiAyNCAhPT0gMCkgeyAKICAkRVJST1IoJyM3OTc6IDE1ID4+PiAyNCA9PT0gMC4gQWN0dWFsOiAnICsgKDE1ID4+PiAyNCkpOyAKfSAKCgppZiAoMzEgPj4+IDI0ICE9PSAwKSB7IAogICRFUlJPUignIzc5ODogMzEgPj4+IDI0ID09PSAwLiBBY3R1YWw6ICcgKyAoMzEgPj4+IDI0KSk7IAp9IAoKCmlmICg2MyA+Pj4gMjQgIT09IDApIHsgCiAgJEVSUk9SKCcjNzk5OiA2MyA+Pj4gMjQgPT09IDAuIEFjdHVhbDogJyArICg2MyA+Pj4gMjQpKTsgCn0gCgoKaWYgKDEyNyA+Pj4gMjQgIT09IDApIHsgCiAgJEVSUk9SKCcjODAwOiAxMjcgPj4+IDI0ID09PSAwLiBBY3R1YWw6ICcgKyAoMTI3ID4+PiAyNCkpOyAKfSAKCgppZiAoMjU1ID4+PiAyNCAhPT0gMCkgeyAKICAkRVJST1IoJyM4MDE6IDI1NSA+Pj4gMjQgPT09IDAuIEFjdHVhbDogJyArICgyNTUgPj4+IDI0KSk7IAp9IAoKCmlmICg1MTEgPj4+IDI0ICE9PSAwKSB7IAogICRFUlJPUignIzgwMjogNTExID4+PiAyNCA9PT0gMC4gQWN0dWFsOiAnICsgKDUxMSA+Pj4gMjQpKTsgCn0gCgoKaWYgKDEwMjMgPj4+IDI0ICE9PSAwKSB7IAogICRFUlJPUignIzgwMzogMTAyMyA+Pj4gMjQgPT09IDAuIEFjdHVhbDogJyArICgxMDIzID4+PiAyNCkpOyAKfSAKCgppZiAoMjA0NyA+Pj4gMjQgIT09IDApIHsgCiAgJEVSUk9SKCcjODA0OiAyMDQ3ID4+PiAyNCA9PT0gMC4gQWN0dWFsOiAnICsgKDIwNDcgPj4+IDI0KSk7IAp9IAoKCmlmICg0MDk1ID4+PiAyNCAhPT0gMCkgeyAKICAkRVJST1IoJyM4MDU6IDQwOTUgPj4+IDI0ID09PSAwLiBBY3R1YWw6ICcgKyAoNDA5NSA+Pj4gMjQpKTsgCn0gCgoKaWYgKDgxOTEgPj4+IDI0ICE9PSAwKSB7IAogICRFUlJPUignIzgwNjogODE5MSA+Pj4gMjQgPT09IDAuIEFjdHVhbDogJyArICg4MTkxID4+PiAyNCkpOyAKfSAKCgppZiAoMTYzODMgPj4+IDI0ICE9PSAwKSB7IAogICRFUlJPUignIzgwNzogMTYzODMgPj4+IDI0ID09PSAwLiBBY3R1YWw6ICcgKyAoMTYzODMgPj4+IDI0KSk7IAp9IAoKCmlmICgzMjc2NyA+Pj4gMjQgIT09IDApIHsgCiAgJEVSUk9SKCcjODA4OiAzMjc2NyA+Pj4gMjQgPT09IDAuIEFjdHVhbDogJyArICgzMjc2NyA+Pj4gMjQpKTsgCn0gCgoKaWYgKDY1NTM1ID4+PiAyNCAhPT0gMCkgeyAKICAkRVJST1IoJyM4MDk6IDY1NTM1ID4+PiAyNCA9PT0gMC4gQWN0dWFsOiAnICsgKDY1NTM1ID4+PiAyNCkpOyAKfSAKCgppZiAoMTMxMDcxID4+PiAyNCAhPT0gMCkgeyAKICAkRVJST1IoJyM4MTA6IDEzMTA3MSA+Pj4gMjQgPT09IDAuIEFjdHVhbDogJyArICgxMzEwNzEgPj4+IDI0KSk7IAp9IAoKCmlmICgyNjIxNDMgPj4+IDI0ICE9PSAwKSB7IAogICRFUlJPUignIzgxMTogMjYyMTQzID4+PiAyNCA9PT0gMC4gQWN0dWFsOiAnICsgKDI2MjE0MyA+Pj4gMjQpKTsgCn0gCgoKaWYgKDUyNDI4NyA+Pj4gMjQgIT09IDApIHsgCiAgJEVSUk9SKCcjODEyOiA1MjQyODcgPj4+IDI0ID09PSAwLiBBY3R1YWw6ICcgKyAoNTI0Mjg3ID4+PiAyNCkpOyAKfSAKCgppZiAoMTA0ODU3NSA+Pj4gMjQgIT09IDApIHsgCiAgJEVSUk9SKCcjODEzOiAxMDQ4NTc1ID4+PiAyNCA9PT0gMC4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPj4+IDI0KSk7IAp9IAoKCmlmICgyMDk3MTUxID4+PiAyNCAhPT0gMCkgeyAKICAkRVJST1IoJyM4MTQ6IDIwOTcxNTEgPj4+IDI0ID09PSAwLiBBY3R1YWw6ICcgKyAoMjA5NzE1MSA+Pj4gMjQpKTsgCn0gCgoKaWYgKDQxOTQzMDMgPj4+IDI0ICE9PSAwKSB7IAogICRFUlJPUignIzgxNTogNDE5NDMwMyA+Pj4gMjQgPT09IDAuIEFjdHVhbDogJyArICg0MTk0MzAzID4+PiAyNCkpOyAKfSAKCgppZiAoODM4ODYwNyA+Pj4gMjQgIT09IDApIHsgCiAgJEVSUk9SKCcjODE2OiA4Mzg4NjA3ID4+PiAyNCA9PT0gMC4gQWN0dWFsOiAnICsgKDgzODg2MDcgPj4+IDI0KSk7IAp9IAoKCmlmICgxNjc3NzIxNSA+Pj4gMjQgIT09IDApIHsgCiAgJEVSUk9SKCcjODE3OiAxNjc3NzIxNSA+Pj4gMjQgPT09IDAuIEFjdHVhbDogJyArICgxNjc3NzIxNSA+Pj4gMjQpKTsgCn0gCgoKaWYgKDMzNTU0NDMxID4+PiAyNCAhPT0gMSkgeyAKICAkRVJST1IoJyM4MTg6IDMzNTU0NDMxID4+PiAyNCA9PT0gMS4gQWN0dWFsOiAnICsgKDMzNTU0NDMxID4+PiAyNCkpOyAKfSAKCgppZiAoNjcxMDg4NjMgPj4+IDI0ICE9PSAzKSB7IAogICRFUlJPUignIzgxOTogNjcxMDg4NjMgPj4+IDI0ID09PSAzLiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPj4+IDI0KSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPj4+IDI0ICE9PSA3KSB7IAogICRFUlJPUignIzgyMDogMTM0MjE3NzI3ID4+PiAyNCA9PT0gNy4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA+Pj4gMjQpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NSA+Pj4gMjQgIT09IDE1KSB7IAogICRFUlJPUignIzgyMTogMjY4NDM1NDU1ID4+PiAyNCA9PT0gMTUuIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPj4+IDI0KSk7IAp9IAoKCmlmICg1MzY4NzA5MTEgPj4+IDI0ICE9PSAzMSkgeyAKICAkRVJST1IoJyM4MjI6IDUzNjg3MDkxMSA+Pj4gMjQgPT09IDMxLiBBY3R1YWw6ICcgKyAoNTM2ODcwOTExID4+PiAyNCkpOyAKfSAKCgppZiAoMTA3Mzc0MTgyMyA+Pj4gMjQgIT09IDYzKSB7IAogICRFUlJPUignIzgyMzogMTA3Mzc0MTgyMyA+Pj4gMjQgPT09IDYzLiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA+Pj4gMjQpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDcgPj4+IDI0ICE9PSAxMjcpIHsgCiAgJEVSUk9SKCcjODI0OiAyMTQ3NDgzNjQ3ID4+PiAyNCA9PT0gMTI3LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+Pj4gMjQpKTsgCn0gCgoKaWYgKDQyOTQ5NjcyOTUgPj4+IDI0ICE9PSAyNTUpIHsgCiAgJEVSUk9SKCcjODI1OiA0Mjk0OTY3Mjk1ID4+PiAyNCA9PT0gMjU1LiBBY3R1YWw6ICcgKyAoNDI5NDk2NzI5NSA+Pj4gMjQpKTsgCn0gCgoKaWYgKDAgPj4+IDI1ICE9PSAwKSB7IAogICRFUlJPUignIzgyNjogMCA+Pj4gMjUgPT09IDAuIEFjdHVhbDogJyArICgwID4+PiAyNSkpOyAKfSAKCgppZiAoMSA+Pj4gMjUgIT09IDApIHsgCiAgJEVSUk9SKCcjODI3OiAxID4+PiAyNSA9PT0gMC4gQWN0dWFsOiAnICsgKDEgPj4+IDI1KSk7IAp9IAoKCmlmICgzID4+PiAyNSAhPT0gMCkgeyAKICAkRVJST1IoJyM4Mjg6IDMgPj4+IDI1ID09PSAwLiBBY3R1YWw6ICcgKyAoMyA+Pj4gMjUpKTsgCn0gCgoKaWYgKDcgPj4+IDI1ICE9PSAwKSB7IAogICRFUlJPUignIzgyOTogNyA+Pj4gMjUgPT09IDAuIEFjdHVhbDogJyArICg3ID4+PiAyNSkpOyAKfSAKCgppZiAoMTUgPj4+IDI1ICE9PSAwKSB7IAogICRFUlJPUignIzgzMDogMTUgPj4+IDI1ID09PSAwLiBBY3R1YWw6ICcgKyAoMTUgPj4+IDI1KSk7IAp9IAoKCmlmICgzMSA+Pj4gMjUgIT09IDApIHsgCiAgJEVSUk9SKCcjODMxOiAzMSA+Pj4gMjUgPT09IDAuIEFjdHVhbDogJyArICgzMSA+Pj4gMjUpKTsgCn0gCgoKaWYgKDYzID4+PiAyNSAhPT0gMCkgeyAKICAkRVJST1IoJyM4MzI6IDYzID4+PiAyNSA9PT0gMC4gQWN0dWFsOiAnICsgKDYzID4+PiAyNSkpOyAKfSAKCgppZiAoMTI3ID4+PiAyNSAhPT0gMCkgeyAKICAkRVJST1IoJyM4MzM6IDEyNyA+Pj4gMjUgPT09IDAuIEFjdHVhbDogJyArICgxMjcgPj4+IDI1KSk7IAp9IAoKCmlmICgyNTUgPj4+IDI1ICE9PSAwKSB7IAogICRFUlJPUignIzgzNDogMjU1ID4+PiAyNSA9PT0gMC4gQWN0dWFsOiAnICsgKDI1NSA+Pj4gMjUpKTsgCn0gCgoKaWYgKDUxMSA+Pj4gMjUgIT09IDApIHsgCiAgJEVSUk9SKCcjODM1OiA1MTEgPj4+IDI1ID09PSAwLiBBY3R1YWw6ICcgKyAoNTExID4+PiAyNSkpOyAKfSAKCgppZiAoMTAyMyA+Pj4gMjUgIT09IDApIHsgCiAgJEVSUk9SKCcjODM2OiAxMDIzID4+PiAyNSA9PT0gMC4gQWN0dWFsOiAnICsgKDEwMjMgPj4+IDI1KSk7IAp9IAoKCmlmICgyMDQ3ID4+PiAyNSAhPT0gMCkgeyAKICAkRVJST1IoJyM4Mzc6IDIwNDcgPj4+IDI1ID09PSAwLiBBY3R1YWw6ICcgKyAoMjA0NyA+Pj4gMjUpKTsgCn0gCgoKaWYgKDQwOTUgPj4+IDI1ICE9PSAwKSB7IAogICRFUlJPUignIzgzODogNDA5NSA+Pj4gMjUgPT09IDAuIEFjdHVhbDogJyArICg0MDk1ID4+PiAyNSkpOyAKfSAKCgppZiAoODE5MSA+Pj4gMjUgIT09IDApIHsgCiAgJEVSUk9SKCcjODM5OiA4MTkxID4+PiAyNSA9PT0gMC4gQWN0dWFsOiAnICsgKDgxOTEgPj4+IDI1KSk7IAp9IAoKCmlmICgxNjM4MyA+Pj4gMjUgIT09IDApIHsgCiAgJEVSUk9SKCcjODQwOiAxNjM4MyA+Pj4gMjUgPT09IDAuIEFjdHVhbDogJyArICgxNjM4MyA+Pj4gMjUpKTsgCn0gCgoKaWYgKDMyNzY3ID4+PiAyNSAhPT0gMCkgeyAKICAkRVJST1IoJyM4NDE6IDMyNzY3ID4+PiAyNSA9PT0gMC4gQWN0dWFsOiAnICsgKDMyNzY3ID4+PiAyNSkpOyAKfSAKCgppZiAoNjU1MzUgPj4+IDI1ICE9PSAwKSB7IAogICRFUlJPUignIzg0MjogNjU1MzUgPj4+IDI1ID09PSAwLiBBY3R1YWw6ICcgKyAoNjU1MzUgPj4+IDI1KSk7IAp9IAoKCmlmICgxMzEwNzEgPj4+IDI1ICE9PSAwKSB7IAogICRFUlJPUignIzg0MzogMTMxMDcxID4+PiAyNSA9PT0gMC4gQWN0dWFsOiAnICsgKDEzMTA3MSA+Pj4gMjUpKTsgCn0gCgoKaWYgKDI2MjE0MyA+Pj4gMjUgIT09IDApIHsgCiAgJEVSUk9SKCcjODQ0OiAyNjIxNDMgPj4+IDI1ID09PSAwLiBBY3R1YWw6ICcgKyAoMjYyMTQzID4+PiAyNSkpOyAKfSAKCgppZiAoNTI0Mjg3ID4+PiAyNSAhPT0gMCkgeyAKICAkRVJST1IoJyM4NDU6IDUyNDI4NyA+Pj4gMjUgPT09IDAuIEFjdHVhbDogJyArICg1MjQyODcgPj4+IDI1KSk7IAp9IAoKCmlmICgxMDQ4NTc1ID4+PiAyNSAhPT0gMCkgeyAKICAkRVJST1IoJyM4NDY6IDEwNDg1NzUgPj4+IDI1ID09PSAwLiBBY3R1YWw6ICcgKyAoMTA0ODU3NSA+Pj4gMjUpKTsgCn0gCgoKaWYgKDIwOTcxNTEgPj4+IDI1ICE9PSAwKSB7IAogICRFUlJPUignIzg0NzogMjA5NzE1MSA+Pj4gMjUgPT09IDAuIEFjdHVhbDogJyArICgyMDk3MTUxID4+PiAyNSkpOyAKfSAKCgppZiAoNDE5NDMwMyA+Pj4gMjUgIT09IDApIHsgCiAgJEVSUk9SKCcjODQ4OiA0MTk0MzAzID4+PiAyNSA9PT0gMC4gQWN0dWFsOiAnICsgKDQxOTQzMDMgPj4+IDI1KSk7IAp9IAoKCmlmICg4Mzg4NjA3ID4+PiAyNSAhPT0gMCkgeyAKICAkRVJST1IoJyM4NDk6IDgzODg2MDcgPj4+IDI1ID09PSAwLiBBY3R1YWw6ICcgKyAoODM4ODYwNyA+Pj4gMjUpKTsgCn0gCgoKaWYgKDE2Nzc3MjE1ID4+PiAyNSAhPT0gMCkgeyAKICAkRVJST1IoJyM4NTA6IDE2Nzc3MjE1ID4+PiAyNSA9PT0gMC4gQWN0dWFsOiAnICsgKDE2Nzc3MjE1ID4+PiAyNSkpOyAKfSAKCgppZiAoMzM1NTQ0MzEgPj4+IDI1ICE9PSAwKSB7IAogICRFUlJPUignIzg1MTogMzM1NTQ0MzEgPj4+IDI1ID09PSAwLiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPj4+IDI1KSk7IAp9IAoKCmlmICg2NzEwODg2MyA+Pj4gMjUgIT09IDEpIHsgCiAgJEVSUk9SKCcjODUyOiA2NzEwODg2MyA+Pj4gMjUgPT09IDEuIEFjdHVhbDogJyArICg2NzEwODg2MyA+Pj4gMjUpKTsgCn0gCgoKaWYgKDEzNDIxNzcyNyA+Pj4gMjUgIT09IDMpIHsgCiAgJEVSUk9SKCcjODUzOiAxMzQyMTc3MjcgPj4+IDI1ID09PSAzLiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI3ID4+PiAyNSkpOyAKfSAKCgppZiAoMjY4NDM1NDU1ID4+PiAyNSAhPT0gNykgeyAKICAkRVJST1IoJyM4NTQ6IDI2ODQzNTQ1NSA+Pj4gMjUgPT09IDcuIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPj4+IDI1KSk7IAp9IAoKCmlmICg1MzY4NzA5MTEgPj4+IDI1ICE9PSAxNSkgeyAKICAkRVJST1IoJyM4NTU6IDUzNjg3MDkxMSA+Pj4gMjUgPT09IDE1LiBBY3R1YWw6ICcgKyAoNTM2ODcwOTExID4+PiAyNSkpOyAKfSAKCgppZiAoMTA3Mzc0MTgyMyA+Pj4gMjUgIT09IDMxKSB7IAogICRFUlJPUignIzg1NjogMTA3Mzc0MTgyMyA+Pj4gMjUgPT09IDMxLiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA+Pj4gMjUpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDcgPj4+IDI1ICE9PSA2MykgeyAKICAkRVJST1IoJyM4NTc6IDIxNDc0ODM2NDcgPj4+IDI1ID09PSA2My4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4+IDI1KSk7IAp9IAoKCmlmICg0Mjk0OTY3Mjk1ID4+PiAyNSAhPT0gMTI3KSB7IAogICRFUlJPUignIzg1ODogNDI5NDk2NzI5NSA+Pj4gMjUgPT09IDEyNy4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IDI1KSk7IAp9IAoKCmlmICgwID4+PiAyNiAhPT0gMCkgeyAKICAkRVJST1IoJyM4NTk6IDAgPj4+IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoMCA+Pj4gMjYpKTsgCn0gCgoKaWYgKDEgPj4+IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzg2MDogMSA+Pj4gMjYgPT09IDAuIEFjdHVhbDogJyArICgxID4+PiAyNikpOyAKfSAKCgppZiAoMyA+Pj4gMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODYxOiAzID4+PiAyNiA9PT0gMC4gQWN0dWFsOiAnICsgKDMgPj4+IDI2KSk7IAp9IAoKCmlmICg3ID4+PiAyNiAhPT0gMCkgeyAKICAkRVJST1IoJyM4NjI6IDcgPj4+IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoNyA+Pj4gMjYpKTsgCn0gCgoKaWYgKDE1ID4+PiAyNiAhPT0gMCkgeyAKICAkRVJST1IoJyM4NjM6IDE1ID4+PiAyNiA9PT0gMC4gQWN0dWFsOiAnICsgKDE1ID4+PiAyNikpOyAKfSAKCgppZiAoMzEgPj4+IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzg2NDogMzEgPj4+IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoMzEgPj4+IDI2KSk7IAp9IAoKCmlmICg2MyA+Pj4gMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODY1OiA2MyA+Pj4gMjYgPT09IDAuIEFjdHVhbDogJyArICg2MyA+Pj4gMjYpKTsgCn0gCgoKaWYgKDEyNyA+Pj4gMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODY2OiAxMjcgPj4+IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoMTI3ID4+PiAyNikpOyAKfSAKCgppZiAoMjU1ID4+PiAyNiAhPT0gMCkgeyAKICAkRVJST1IoJyM4Njc6IDI1NSA+Pj4gMjYgPT09IDAuIEFjdHVhbDogJyArICgyNTUgPj4+IDI2KSk7IAp9IAoKCmlmICg1MTEgPj4+IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzg2ODogNTExID4+PiAyNiA9PT0gMC4gQWN0dWFsOiAnICsgKDUxMSA+Pj4gMjYpKTsgCn0gCgoKaWYgKDEwMjMgPj4+IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzg2OTogMTAyMyA+Pj4gMjYgPT09IDAuIEFjdHVhbDogJyArICgxMDIzID4+PiAyNikpOyAKfSAKCgppZiAoMjA0NyA+Pj4gMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODcwOiAyMDQ3ID4+PiAyNiA9PT0gMC4gQWN0dWFsOiAnICsgKDIwNDcgPj4+IDI2KSk7IAp9IAoKCmlmICg0MDk1ID4+PiAyNiAhPT0gMCkgeyAKICAkRVJST1IoJyM4NzE6IDQwOTUgPj4+IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoNDA5NSA+Pj4gMjYpKTsgCn0gCgoKaWYgKDgxOTEgPj4+IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzg3MjogODE5MSA+Pj4gMjYgPT09IDAuIEFjdHVhbDogJyArICg4MTkxID4+PiAyNikpOyAKfSAKCgppZiAoMTYzODMgPj4+IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzg3MzogMTYzODMgPj4+IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoMTYzODMgPj4+IDI2KSk7IAp9IAoKCmlmICgzMjc2NyA+Pj4gMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODc0OiAzMjc2NyA+Pj4gMjYgPT09IDAuIEFjdHVhbDogJyArICgzMjc2NyA+Pj4gMjYpKTsgCn0gCgoKaWYgKDY1NTM1ID4+PiAyNiAhPT0gMCkgeyAKICAkRVJST1IoJyM4NzU6IDY1NTM1ID4+PiAyNiA9PT0gMC4gQWN0dWFsOiAnICsgKDY1NTM1ID4+PiAyNikpOyAKfSAKCgppZiAoMTMxMDcxID4+PiAyNiAhPT0gMCkgeyAKICAkRVJST1IoJyM4NzY6IDEzMTA3MSA+Pj4gMjYgPT09IDAuIEFjdHVhbDogJyArICgxMzEwNzEgPj4+IDI2KSk7IAp9IAoKCmlmICgyNjIxNDMgPj4+IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzg3NzogMjYyMTQzID4+PiAyNiA9PT0gMC4gQWN0dWFsOiAnICsgKDI2MjE0MyA+Pj4gMjYpKTsgCn0gCgoKaWYgKDUyNDI4NyA+Pj4gMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODc4OiA1MjQyODcgPj4+IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoNTI0Mjg3ID4+PiAyNikpOyAKfSAKCgppZiAoMTA0ODU3NSA+Pj4gMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODc5OiAxMDQ4NTc1ID4+PiAyNiA9PT0gMC4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPj4+IDI2KSk7IAp9IAoKCmlmICgyMDk3MTUxID4+PiAyNiAhPT0gMCkgeyAKICAkRVJST1IoJyM4ODA6IDIwOTcxNTEgPj4+IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoMjA5NzE1MSA+Pj4gMjYpKTsgCn0gCgoKaWYgKDQxOTQzMDMgPj4+IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzg4MTogNDE5NDMwMyA+Pj4gMjYgPT09IDAuIEFjdHVhbDogJyArICg0MTk0MzAzID4+PiAyNikpOyAKfSAKCgppZiAoODM4ODYwNyA+Pj4gMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODgyOiA4Mzg4NjA3ID4+PiAyNiA9PT0gMC4gQWN0dWFsOiAnICsgKDgzODg2MDcgPj4+IDI2KSk7IAp9IAoKCmlmICgxNjc3NzIxNSA+Pj4gMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODgzOiAxNjc3NzIxNSA+Pj4gMjYgPT09IDAuIEFjdHVhbDogJyArICgxNjc3NzIxNSA+Pj4gMjYpKTsgCn0gCgoKaWYgKDMzNTU0NDMxID4+PiAyNiAhPT0gMCkgeyAKICAkRVJST1IoJyM4ODQ6IDMzNTU0NDMxID4+PiAyNiA9PT0gMC4gQWN0dWFsOiAnICsgKDMzNTU0NDMxID4+PiAyNikpOyAKfSAKCgppZiAoNjcxMDg4NjMgPj4+IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzg4NTogNjcxMDg4NjMgPj4+IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPj4+IDI2KSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPj4+IDI2ICE9PSAxKSB7IAogICRFUlJPUignIzg4NjogMTM0MjE3NzI3ID4+PiAyNiA9PT0gMS4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA+Pj4gMjYpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NSA+Pj4gMjYgIT09IDMpIHsgCiAgJEVSUk9SKCcjODg3OiAyNjg0MzU0NTUgPj4+IDI2ID09PSAzLiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU1ID4+PiAyNikpOyAKfSAKCgppZiAoNTM2ODcwOTExID4+PiAyNiAhPT0gNykgeyAKICAkRVJST1IoJyM4ODg6IDUzNjg3MDkxMSA+Pj4gMjYgPT09IDcuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPj4+IDI2KSk7IAp9IAoKCmlmICgxMDczNzQxODIzID4+PiAyNiAhPT0gMTUpIHsgCiAgJEVSUk9SKCcjODg5OiAxMDczNzQxODIzID4+PiAyNiA9PT0gMTUuIEFjdHVhbDogJyArICgxMDczNzQxODIzID4+PiAyNikpOyAKfSAKCgppZiAoMjE0NzQ4MzY0NyA+Pj4gMjYgIT09IDMxKSB7IAogICRFUlJPUignIzg5MDogMjE0NzQ4MzY0NyA+Pj4gMjYgPT09IDMxLiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+Pj4gMjYpKTsgCn0gCgoKaWYgKDQyOTQ5NjcyOTUgPj4+IDI2ICE9PSA2MykgeyAKICAkRVJST1IoJyM4OTE6IDQyOTQ5NjcyOTUgPj4+IDI2ID09PSA2My4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IDI2KSk7IAp9IAoKCmlmICgwID4+PiAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM4OTI6IDAgPj4+IDI3ID09PSAwLiBBY3R1YWw6ICcgKyAoMCA+Pj4gMjcpKTsgCn0gCgoKaWYgKDEgPj4+IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzg5MzogMSA+Pj4gMjcgPT09IDAuIEFjdHVhbDogJyArICgxID4+PiAyNykpOyAKfSAKCgppZiAoMyA+Pj4gMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjODk0OiAzID4+PiAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKDMgPj4+IDI3KSk7IAp9IAoKCmlmICg3ID4+PiAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM4OTU6IDcgPj4+IDI3ID09PSAwLiBBY3R1YWw6ICcgKyAoNyA+Pj4gMjcpKTsgCn0gCgoKaWYgKDE1ID4+PiAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM4OTY6IDE1ID4+PiAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKDE1ID4+PiAyNykpOyAKfSAKCgppZiAoMzEgPj4+IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzg5NzogMzEgPj4+IDI3ID09PSAwLiBBY3R1YWw6ICcgKyAoMzEgPj4+IDI3KSk7IAp9IAoKCmlmICg2MyA+Pj4gMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjODk4OiA2MyA+Pj4gMjcgPT09IDAuIEFjdHVhbDogJyArICg2MyA+Pj4gMjcpKTsgCn0gCgoKaWYgKDEyNyA+Pj4gMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjODk5OiAxMjcgPj4+IDI3ID09PSAwLiBBY3R1YWw6ICcgKyAoMTI3ID4+PiAyNykpOyAKfSAKCgppZiAoMjU1ID4+PiAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM5MDA6IDI1NSA+Pj4gMjcgPT09IDAuIEFjdHVhbDogJyArICgyNTUgPj4+IDI3KSk7IAp9IAoKCmlmICg1MTEgPj4+IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzkwMTogNTExID4+PiAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKDUxMSA+Pj4gMjcpKTsgCn0gCgoKaWYgKDEwMjMgPj4+IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzkwMjogMTAyMyA+Pj4gMjcgPT09IDAuIEFjdHVhbDogJyArICgxMDIzID4+PiAyNykpOyAKfSAKCgppZiAoMjA0NyA+Pj4gMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjOTAzOiAyMDQ3ID4+PiAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKDIwNDcgPj4+IDI3KSk7IAp9IAoKCmlmICg0MDk1ID4+PiAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM5MDQ6IDQwOTUgPj4+IDI3ID09PSAwLiBBY3R1YWw6ICcgKyAoNDA5NSA+Pj4gMjcpKTsgCn0gCgoKaWYgKDgxOTEgPj4+IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzkwNTogODE5MSA+Pj4gMjcgPT09IDAuIEFjdHVhbDogJyArICg4MTkxID4+PiAyNykpOyAKfSAKCgppZiAoMTYzODMgPj4+IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzkwNjogMTYzODMgPj4+IDI3ID09PSAwLiBBY3R1YWw6ICcgKyAoMTYzODMgPj4+IDI3KSk7IAp9IAoKCmlmICgzMjc2NyA+Pj4gMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjOTA3OiAzMjc2NyA+Pj4gMjcgPT09IDAuIEFjdHVhbDogJyArICgzMjc2NyA+Pj4gMjcpKTsgCn0gCgoKaWYgKDY1NTM1ID4+PiAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM5MDg6IDY1NTM1ID4+PiAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKDY1NTM1ID4+PiAyNykpOyAKfSAKCgppZiAoMTMxMDcxID4+PiAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM5MDk6IDEzMTA3MSA+Pj4gMjcgPT09IDAuIEFjdHVhbDogJyArICgxMzEwNzEgPj4+IDI3KSk7IAp9IAoKCmlmICgyNjIxNDMgPj4+IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzkxMDogMjYyMTQzID4+PiAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKDI2MjE0MyA+Pj4gMjcpKTsgCn0gCgoKaWYgKDUyNDI4NyA+Pj4gMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjOTExOiA1MjQyODcgPj4+IDI3ID09PSAwLiBBY3R1YWw6ICcgKyAoNTI0Mjg3ID4+PiAyNykpOyAKfSAKCgppZiAoMTA0ODU3NSA+Pj4gMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjOTEyOiAxMDQ4NTc1ID4+PiAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPj4+IDI3KSk7IAp9IAoKCmlmICgyMDk3MTUxID4+PiAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM5MTM6IDIwOTcxNTEgPj4+IDI3ID09PSAwLiBBY3R1YWw6ICcgKyAoMjA5NzE1MSA+Pj4gMjcpKTsgCn0gCgoKaWYgKDQxOTQzMDMgPj4+IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzkxNDogNDE5NDMwMyA+Pj4gMjcgPT09IDAuIEFjdHVhbDogJyArICg0MTk0MzAzID4+PiAyNykpOyAKfSAKCgppZiAoODM4ODYwNyA+Pj4gMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjOTE1OiA4Mzg4NjA3ID4+PiAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKDgzODg2MDcgPj4+IDI3KSk7IAp9IAoKCmlmICgxNjc3NzIxNSA+Pj4gMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjOTE2OiAxNjc3NzIxNSA+Pj4gMjcgPT09IDAuIEFjdHVhbDogJyArICgxNjc3NzIxNSA+Pj4gMjcpKTsgCn0gCgoKaWYgKDMzNTU0NDMxID4+PiAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM5MTc6IDMzNTU0NDMxID4+PiAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKDMzNTU0NDMxID4+PiAyNykpOyAKfSAKCgppZiAoNjcxMDg4NjMgPj4+IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzkxODogNjcxMDg4NjMgPj4+IDI3ID09PSAwLiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPj4+IDI3KSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPj4+IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzkxOTogMTM0MjE3NzI3ID4+PiAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA+Pj4gMjcpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NSA+Pj4gMjcgIT09IDEpIHsgCiAgJEVSUk9SKCcjOTIwOiAyNjg0MzU0NTUgPj4+IDI3ID09PSAxLiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU1ID4+PiAyNykpOyAKfSAKCgppZiAoNTM2ODcwOTExID4+PiAyNyAhPT0gMykgeyAKICAkRVJST1IoJyM5MjE6IDUzNjg3MDkxMSA+Pj4gMjcgPT09IDMuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPj4+IDI3KSk7IAp9IAoKCmlmICgxMDczNzQxODIzID4+PiAyNyAhPT0gNykgeyAKICAkRVJST1IoJyM5MjI6IDEwNzM3NDE4MjMgPj4+IDI3ID09PSA3LiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA+Pj4gMjcpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDcgPj4+IDI3ICE9PSAxNSkgeyAKICAkRVJST1IoJyM5MjM6IDIxNDc0ODM2NDcgPj4+IDI3ID09PSAxNS4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4+IDI3KSk7IAp9IAoKCmlmICg0Mjk0OTY3Mjk1ID4+PiAyNyAhPT0gMzEpIHsgCiAgJEVSUk9SKCcjOTI0OiA0Mjk0OTY3Mjk1ID4+PiAyNyA9PT0gMzEuIEFjdHVhbDogJyArICg0Mjk0OTY3Mjk1ID4+PiAyNykpOyAKfSAKCgppZiAoMCA+Pj4gMjggIT09IDApIHsgCiAgJEVSUk9SKCcjOTI1OiAwID4+PiAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKDAgPj4+IDI4KSk7IAp9IAoKCmlmICgxID4+PiAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5MjY6IDEgPj4+IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoMSA+Pj4gMjgpKTsgCn0gCgoKaWYgKDMgPj4+IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzkyNzogMyA+Pj4gMjggPT09IDAuIEFjdHVhbDogJyArICgzID4+PiAyOCkpOyAKfSAKCgppZiAoNyA+Pj4gMjggIT09IDApIHsgCiAgJEVSUk9SKCcjOTI4OiA3ID4+PiAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKDcgPj4+IDI4KSk7IAp9IAoKCmlmICgxNSA+Pj4gMjggIT09IDApIHsgCiAgJEVSUk9SKCcjOTI5OiAxNSA+Pj4gMjggPT09IDAuIEFjdHVhbDogJyArICgxNSA+Pj4gMjgpKTsgCn0gCgoKaWYgKDMxID4+PiAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5MzA6IDMxID4+PiAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKDMxID4+PiAyOCkpOyAKfSAKCgppZiAoNjMgPj4+IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzkzMTogNjMgPj4+IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoNjMgPj4+IDI4KSk7IAp9IAoKCmlmICgxMjcgPj4+IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzkzMjogMTI3ID4+PiAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKDEyNyA+Pj4gMjgpKTsgCn0gCgoKaWYgKDI1NSA+Pj4gMjggIT09IDApIHsgCiAgJEVSUk9SKCcjOTMzOiAyNTUgPj4+IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoMjU1ID4+PiAyOCkpOyAKfSAKCgppZiAoNTExID4+PiAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5MzQ6IDUxMSA+Pj4gMjggPT09IDAuIEFjdHVhbDogJyArICg1MTEgPj4+IDI4KSk7IAp9IAoKCmlmICgxMDIzID4+PiAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5MzU6IDEwMjMgPj4+IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoMTAyMyA+Pj4gMjgpKTsgCn0gCgoKaWYgKDIwNDcgPj4+IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzkzNjogMjA0NyA+Pj4gMjggPT09IDAuIEFjdHVhbDogJyArICgyMDQ3ID4+PiAyOCkpOyAKfSAKCgppZiAoNDA5NSA+Pj4gMjggIT09IDApIHsgCiAgJEVSUk9SKCcjOTM3OiA0MDk1ID4+PiAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKDQwOTUgPj4+IDI4KSk7IAp9IAoKCmlmICg4MTkxID4+PiAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5Mzg6IDgxOTEgPj4+IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoODE5MSA+Pj4gMjgpKTsgCn0gCgoKaWYgKDE2MzgzID4+PiAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5Mzk6IDE2MzgzID4+PiAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKDE2MzgzID4+PiAyOCkpOyAKfSAKCgppZiAoMzI3NjcgPj4+IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzk0MDogMzI3NjcgPj4+IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoMzI3NjcgPj4+IDI4KSk7IAp9IAoKCmlmICg2NTUzNSA+Pj4gMjggIT09IDApIHsgCiAgJEVSUk9SKCcjOTQxOiA2NTUzNSA+Pj4gMjggPT09IDAuIEFjdHVhbDogJyArICg2NTUzNSA+Pj4gMjgpKTsgCn0gCgoKaWYgKDEzMTA3MSA+Pj4gMjggIT09IDApIHsgCiAgJEVSUk9SKCcjOTQyOiAxMzEwNzEgPj4+IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoMTMxMDcxID4+PiAyOCkpOyAKfSAKCgppZiAoMjYyMTQzID4+PiAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5NDM6IDI2MjE0MyA+Pj4gMjggPT09IDAuIEFjdHVhbDogJyArICgyNjIxNDMgPj4+IDI4KSk7IAp9IAoKCmlmICg1MjQyODcgPj4+IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzk0NDogNTI0Mjg3ID4+PiAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKDUyNDI4NyA+Pj4gMjgpKTsgCn0gCgoKaWYgKDEwNDg1NzUgPj4+IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzk0NTogMTA0ODU3NSA+Pj4gMjggPT09IDAuIEFjdHVhbDogJyArICgxMDQ4NTc1ID4+PiAyOCkpOyAKfSAKCgppZiAoMjA5NzE1MSA+Pj4gMjggIT09IDApIHsgCiAgJEVSUk9SKCcjOTQ2OiAyMDk3MTUxID4+PiAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKDIwOTcxNTEgPj4+IDI4KSk7IAp9IAoKCmlmICg0MTk0MzAzID4+PiAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5NDc6IDQxOTQzMDMgPj4+IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoNDE5NDMwMyA+Pj4gMjgpKTsgCn0gCgoKaWYgKDgzODg2MDcgPj4+IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzk0ODogODM4ODYwNyA+Pj4gMjggPT09IDAuIEFjdHVhbDogJyArICg4Mzg4NjA3ID4+PiAyOCkpOyAKfSAKCgppZiAoMTY3NzcyMTUgPj4+IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzk0OTogMTY3NzcyMTUgPj4+IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoMTY3NzcyMTUgPj4+IDI4KSk7IAp9IAoKCmlmICgzMzU1NDQzMSA+Pj4gMjggIT09IDApIHsgCiAgJEVSUk9SKCcjOTUwOiAzMzU1NDQzMSA+Pj4gMjggPT09IDAuIEFjdHVhbDogJyArICgzMzU1NDQzMSA+Pj4gMjgpKTsgCn0gCgoKaWYgKDY3MTA4ODYzID4+PiAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5NTE6IDY3MTA4ODYzID4+PiAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKDY3MTA4ODYzID4+PiAyOCkpOyAKfSAKCgppZiAoMTM0MjE3NzI3ID4+PiAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5NTI6IDEzNDIxNzcyNyA+Pj4gMjggPT09IDAuIEFjdHVhbDogJyArICgxMzQyMTc3MjcgPj4+IDI4KSk7IAp9IAoKCmlmICgyNjg0MzU0NTUgPj4+IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzk1MzogMjY4NDM1NDU1ID4+PiAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NSA+Pj4gMjgpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMSA+Pj4gMjggIT09IDEpIHsgCiAgJEVSUk9SKCcjOTU0OiA1MzY4NzA5MTEgPj4+IDI4ID09PSAxLiBBY3R1YWw6ICcgKyAoNTM2ODcwOTExID4+PiAyOCkpOyAKfSAKCgppZiAoMTA3Mzc0MTgyMyA+Pj4gMjggIT09IDMpIHsgCiAgJEVSUk9SKCcjOTU1OiAxMDczNzQxODIzID4+PiAyOCA9PT0gMy4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjMgPj4+IDI4KSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ3ID4+PiAyOCAhPT0gNykgeyAKICAkRVJST1IoJyM5NTY6IDIxNDc0ODM2NDcgPj4+IDI4ID09PSA3LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+Pj4gMjgpKTsgCn0gCgoKaWYgKDQyOTQ5NjcyOTUgPj4+IDI4ICE9PSAxNSkgeyAKICAkRVJST1IoJyM5NTc6IDQyOTQ5NjcyOTUgPj4+IDI4ID09PSAxNS4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IDI4KSk7IAp9IAoKCmlmICgwID4+PiAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5NTg6IDAgPj4+IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoMCA+Pj4gMjkpKTsgCn0gCgoKaWYgKDEgPj4+IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzk1OTogMSA+Pj4gMjkgPT09IDAuIEFjdHVhbDogJyArICgxID4+PiAyOSkpOyAKfSAKCgppZiAoMyA+Pj4gMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTYwOiAzID4+PiAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKDMgPj4+IDI5KSk7IAp9IAoKCmlmICg3ID4+PiAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5NjE6IDcgPj4+IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoNyA+Pj4gMjkpKTsgCn0gCgoKaWYgKDE1ID4+PiAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5NjI6IDE1ID4+PiAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKDE1ID4+PiAyOSkpOyAKfSAKCgppZiAoMzEgPj4+IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzk2MzogMzEgPj4+IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoMzEgPj4+IDI5KSk7IAp9IAoKCmlmICg2MyA+Pj4gMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTY0OiA2MyA+Pj4gMjkgPT09IDAuIEFjdHVhbDogJyArICg2MyA+Pj4gMjkpKTsgCn0gCgoKaWYgKDEyNyA+Pj4gMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTY1OiAxMjcgPj4+IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoMTI3ID4+PiAyOSkpOyAKfSAKCgppZiAoMjU1ID4+PiAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5NjY6IDI1NSA+Pj4gMjkgPT09IDAuIEFjdHVhbDogJyArICgyNTUgPj4+IDI5KSk7IAp9IAoKCmlmICg1MTEgPj4+IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzk2NzogNTExID4+PiAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKDUxMSA+Pj4gMjkpKTsgCn0gCgoKaWYgKDEwMjMgPj4+IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzk2ODogMTAyMyA+Pj4gMjkgPT09IDAuIEFjdHVhbDogJyArICgxMDIzID4+PiAyOSkpOyAKfSAKCgppZiAoMjA0NyA+Pj4gMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTY5OiAyMDQ3ID4+PiAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKDIwNDcgPj4+IDI5KSk7IAp9IAoKCmlmICg0MDk1ID4+PiAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5NzA6IDQwOTUgPj4+IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoNDA5NSA+Pj4gMjkpKTsgCn0gCgoKaWYgKDgxOTEgPj4+IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzk3MTogODE5MSA+Pj4gMjkgPT09IDAuIEFjdHVhbDogJyArICg4MTkxID4+PiAyOSkpOyAKfSAKCgppZiAoMTYzODMgPj4+IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzk3MjogMTYzODMgPj4+IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoMTYzODMgPj4+IDI5KSk7IAp9IAoKCmlmICgzMjc2NyA+Pj4gMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTczOiAzMjc2NyA+Pj4gMjkgPT09IDAuIEFjdHVhbDogJyArICgzMjc2NyA+Pj4gMjkpKTsgCn0gCgoKaWYgKDY1NTM1ID4+PiAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5NzQ6IDY1NTM1ID4+PiAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKDY1NTM1ID4+PiAyOSkpOyAKfSAKCgppZiAoMTMxMDcxID4+PiAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5NzU6IDEzMTA3MSA+Pj4gMjkgPT09IDAuIEFjdHVhbDogJyArICgxMzEwNzEgPj4+IDI5KSk7IAp9IAoKCmlmICgyNjIxNDMgPj4+IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzk3NjogMjYyMTQzID4+PiAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKDI2MjE0MyA+Pj4gMjkpKTsgCn0gCgoKaWYgKDUyNDI4NyA+Pj4gMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTc3OiA1MjQyODcgPj4+IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoNTI0Mjg3ID4+PiAyOSkpOyAKfSAKCgppZiAoMTA0ODU3NSA+Pj4gMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTc4OiAxMDQ4NTc1ID4+PiAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPj4+IDI5KSk7IAp9IAoKCmlmICgyMDk3MTUxID4+PiAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5Nzk6IDIwOTcxNTEgPj4+IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoMjA5NzE1MSA+Pj4gMjkpKTsgCn0gCgoKaWYgKDQxOTQzMDMgPj4+IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzk4MDogNDE5NDMwMyA+Pj4gMjkgPT09IDAuIEFjdHVhbDogJyArICg0MTk0MzAzID4+PiAyOSkpOyAKfSAKCgppZiAoODM4ODYwNyA+Pj4gMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTgxOiA4Mzg4NjA3ID4+PiAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKDgzODg2MDcgPj4+IDI5KSk7IAp9IAoKCmlmICgxNjc3NzIxNSA+Pj4gMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTgyOiAxNjc3NzIxNSA+Pj4gMjkgPT09IDAuIEFjdHVhbDogJyArICgxNjc3NzIxNSA+Pj4gMjkpKTsgCn0gCgoKaWYgKDMzNTU0NDMxID4+PiAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5ODM6IDMzNTU0NDMxID4+PiAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKDMzNTU0NDMxID4+PiAyOSkpOyAKfSAKCgppZiAoNjcxMDg4NjMgPj4+IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzk4NDogNjcxMDg4NjMgPj4+IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPj4+IDI5KSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPj4+IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzk4NTogMTM0MjE3NzI3ID4+PiAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA+Pj4gMjkpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NSA+Pj4gMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTg2OiAyNjg0MzU0NTUgPj4+IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU1ID4+PiAyOSkpOyAKfSAKCgppZiAoNTM2ODcwOTExID4+PiAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5ODc6IDUzNjg3MDkxMSA+Pj4gMjkgPT09IDAuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPj4+IDI5KSk7IAp9IAoKCmlmICgxMDczNzQxODIzID4+PiAyOSAhPT0gMSkgeyAKICAkRVJST1IoJyM5ODg6IDEwNzM3NDE4MjMgPj4+IDI5ID09PSAxLiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA+Pj4gMjkpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDcgPj4+IDI5ICE9PSAzKSB7IAogICRFUlJPUignIzk4OTogMjE0NzQ4MzY0NyA+Pj4gMjkgPT09IDMuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3ID4+PiAyOSkpOyAKfSAKCgppZiAoNDI5NDk2NzI5NSA+Pj4gMjkgIT09IDcpIHsgCiAgJEVSUk9SKCcjOTkwOiA0Mjk0OTY3Mjk1ID4+PiAyOSA9PT0gNy4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IDI5KSk7IAp9IAoKCmlmICgwID4+PiAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyM5OTE6IDAgPj4+IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoMCA+Pj4gMzApKTsgCn0gCgoKaWYgKDEgPj4+IDMwICE9PSAwKSB7IAogICRFUlJPUignIzk5MjogMSA+Pj4gMzAgPT09IDAuIEFjdHVhbDogJyArICgxID4+PiAzMCkpOyAKfSAKCgppZiAoMyA+Pj4gMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjOTkzOiAzID4+PiAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKDMgPj4+IDMwKSk7IAp9IAoKCmlmICg3ID4+PiAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyM5OTQ6IDcgPj4+IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoNyA+Pj4gMzApKTsgCn0gCgoKaWYgKDE1ID4+PiAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyM5OTU6IDE1ID4+PiAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKDE1ID4+PiAzMCkpOyAKfSAKCgppZiAoMzEgPj4+IDMwICE9PSAwKSB7IAogICRFUlJPUignIzk5NjogMzEgPj4+IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoMzEgPj4+IDMwKSk7IAp9IAoKCmlmICg2MyA+Pj4gMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjOTk3OiA2MyA+Pj4gMzAgPT09IDAuIEFjdHVhbDogJyArICg2MyA+Pj4gMzApKTsgCn0gCgoKaWYgKDEyNyA+Pj4gMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjOTk4OiAxMjcgPj4+IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoMTI3ID4+PiAzMCkpOyAKfSAKCgppZiAoMjU1ID4+PiAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyM5OTk6IDI1NSA+Pj4gMzAgPT09IDAuIEFjdHVhbDogJyArICgyNTUgPj4+IDMwKSk7IAp9IAoKCmlmICg1MTEgPj4+IDMwICE9PSAwKSB7IAogICRFUlJPUignIzEwMDA6IDUxMSA+Pj4gMzAgPT09IDAuIEFjdHVhbDogJyArICg1MTEgPj4+IDMwKSk7IAp9IAoKCmlmICgxMDIzID4+PiAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDAxOiAxMDIzID4+PiAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKDEwMjMgPj4+IDMwKSk7IAp9IAoKCmlmICgyMDQ3ID4+PiAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDAyOiAyMDQ3ID4+PiAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKDIwNDcgPj4+IDMwKSk7IAp9IAoKCmlmICg0MDk1ID4+PiAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDAzOiA0MDk1ID4+PiAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKDQwOTUgPj4+IDMwKSk7IAp9IAoKCmlmICg4MTkxID4+PiAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDA0OiA4MTkxID4+PiAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKDgxOTEgPj4+IDMwKSk7IAp9IAoKCmlmICgxNjM4MyA+Pj4gMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAwNTogMTYzODMgPj4+IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoMTYzODMgPj4+IDMwKSk7IAp9IAoKCmlmICgzMjc2NyA+Pj4gMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAwNjogMzI3NjcgPj4+IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoMzI3NjcgPj4+IDMwKSk7IAp9IAoKCmlmICg2NTUzNSA+Pj4gMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAwNzogNjU1MzUgPj4+IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoNjU1MzUgPj4+IDMwKSk7IAp9IAoKCmlmICgxMzEwNzEgPj4+IDMwICE9PSAwKSB7IAogICRFUlJPUignIzEwMDg6IDEzMTA3MSA+Pj4gMzAgPT09IDAuIEFjdHVhbDogJyArICgxMzEwNzEgPj4+IDMwKSk7IAp9IAoKCmlmICgyNjIxNDMgPj4+IDMwICE9PSAwKSB7IAogICRFUlJPUignIzEwMDk6IDI2MjE0MyA+Pj4gMzAgPT09IDAuIEFjdHVhbDogJyArICgyNjIxNDMgPj4+IDMwKSk7IAp9IAoKCmlmICg1MjQyODcgPj4+IDMwICE9PSAwKSB7IAogICRFUlJPUignIzEwMTA6IDUyNDI4NyA+Pj4gMzAgPT09IDAuIEFjdHVhbDogJyArICg1MjQyODcgPj4+IDMwKSk7IAp9IAoKCmlmICgxMDQ4NTc1ID4+PiAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDExOiAxMDQ4NTc1ID4+PiAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPj4+IDMwKSk7IAp9IAoKCmlmICgyMDk3MTUxID4+PiAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDEyOiAyMDk3MTUxID4+PiAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKDIwOTcxNTEgPj4+IDMwKSk7IAp9IAoKCmlmICg0MTk0MzAzID4+PiAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDEzOiA0MTk0MzAzID4+PiAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKDQxOTQzMDMgPj4+IDMwKSk7IAp9IAoKCmlmICg4Mzg4NjA3ID4+PiAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDE0OiA4Mzg4NjA3ID4+PiAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKDgzODg2MDcgPj4+IDMwKSk7IAp9IAoKCmlmICgxNjc3NzIxNSA+Pj4gMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAxNTogMTY3NzcyMTUgPj4+IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoMTY3NzcyMTUgPj4+IDMwKSk7IAp9IAoKCmlmICgzMzU1NDQzMSA+Pj4gMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAxNjogMzM1NTQ0MzEgPj4+IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPj4+IDMwKSk7IAp9IAoKCmlmICg2NzEwODg2MyA+Pj4gMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAxNzogNjcxMDg4NjMgPj4+IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPj4+IDMwKSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPj4+IDMwICE9PSAwKSB7IAogICRFUlJPUignIzEwMTg6IDEzNDIxNzcyNyA+Pj4gMzAgPT09IDAuIEFjdHVhbDogJyArICgxMzQyMTc3MjcgPj4+IDMwKSk7IAp9IAoKCmlmICgyNjg0MzU0NTUgPj4+IDMwICE9PSAwKSB7IAogICRFUlJPUignIzEwMTk6IDI2ODQzNTQ1NSA+Pj4gMzAgPT09IDAuIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPj4+IDMwKSk7IAp9IAoKCmlmICg1MzY4NzA5MTEgPj4+IDMwICE9PSAwKSB7IAogICRFUlJPUignIzEwMjA6IDUzNjg3MDkxMSA+Pj4gMzAgPT09IDAuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPj4+IDMwKSk7IAp9IAoKCmlmICgxMDczNzQxODIzID4+PiAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDIxOiAxMDczNzQxODIzID4+PiAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjMgPj4+IDMwKSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ3ID4+PiAzMCAhPT0gMSkgeyAKICAkRVJST1IoJyMxMDIyOiAyMTQ3NDgzNjQ3ID4+PiAzMCA9PT0gMS4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4+IDMwKSk7IAp9IAoKCmlmICg0Mjk0OTY3Mjk1ID4+PiAzMCAhPT0gMykgeyAKICAkRVJST1IoJyMxMDIzOiA0Mjk0OTY3Mjk1ID4+PiAzMCA9PT0gMy4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IDMwKSk7IAp9IAoKCmlmICgwID4+PiAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDI0OiAwID4+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDAgPj4+IDMxKSk7IAp9IAoKCmlmICgxID4+PiAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDI1OiAxID4+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDEgPj4+IDMxKSk7IAp9IAoKCmlmICgzID4+PiAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDI2OiAzID4+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDMgPj4+IDMxKSk7IAp9IAoKCmlmICg3ID4+PiAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDI3OiA3ID4+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDcgPj4+IDMxKSk7IAp9IAoKCmlmICgxNSA+Pj4gMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAyODogMTUgPj4+IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoMTUgPj4+IDMxKSk7IAp9IAoKCmlmICgzMSA+Pj4gMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAyOTogMzEgPj4+IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoMzEgPj4+IDMxKSk7IAp9IAoKCmlmICg2MyA+Pj4gMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAzMDogNjMgPj4+IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoNjMgPj4+IDMxKSk7IAp9IAoKCmlmICgxMjcgPj4+IDMxICE9PSAwKSB7IAogICRFUlJPUignIzEwMzE6IDEyNyA+Pj4gMzEgPT09IDAuIEFjdHVhbDogJyArICgxMjcgPj4+IDMxKSk7IAp9IAoKCmlmICgyNTUgPj4+IDMxICE9PSAwKSB7IAogICRFUlJPUignIzEwMzI6IDI1NSA+Pj4gMzEgPT09IDAuIEFjdHVhbDogJyArICgyNTUgPj4+IDMxKSk7IAp9IAoKCmlmICg1MTEgPj4+IDMxICE9PSAwKSB7IAogICRFUlJPUignIzEwMzM6IDUxMSA+Pj4gMzEgPT09IDAuIEFjdHVhbDogJyArICg1MTEgPj4+IDMxKSk7IAp9IAoKCmlmICgxMDIzID4+PiAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDM0OiAxMDIzID4+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDEwMjMgPj4+IDMxKSk7IAp9IAoKCmlmICgyMDQ3ID4+PiAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDM1OiAyMDQ3ID4+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDIwNDcgPj4+IDMxKSk7IAp9IAoKCmlmICg0MDk1ID4+PiAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDM2OiA0MDk1ID4+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDQwOTUgPj4+IDMxKSk7IAp9IAoKCmlmICg4MTkxID4+PiAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDM3OiA4MTkxID4+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDgxOTEgPj4+IDMxKSk7IAp9IAoKCmlmICgxNjM4MyA+Pj4gMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAzODogMTYzODMgPj4+IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoMTYzODMgPj4+IDMxKSk7IAp9IAoKCmlmICgzMjc2NyA+Pj4gMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAzOTogMzI3NjcgPj4+IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoMzI3NjcgPj4+IDMxKSk7IAp9IAoKCmlmICg2NTUzNSA+Pj4gMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjMTA0MDogNjU1MzUgPj4+IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoNjU1MzUgPj4+IDMxKSk7IAp9IAoKCmlmICgxMzEwNzEgPj4+IDMxICE9PSAwKSB7IAogICRFUlJPUignIzEwNDE6IDEzMTA3MSA+Pj4gMzEgPT09IDAuIEFjdHVhbDogJyArICgxMzEwNzEgPj4+IDMxKSk7IAp9IAoKCmlmICgyNjIxNDMgPj4+IDMxICE9PSAwKSB7IAogICRFUlJPUignIzEwNDI6IDI2MjE0MyA+Pj4gMzEgPT09IDAuIEFjdHVhbDogJyArICgyNjIxNDMgPj4+IDMxKSk7IAp9IAoKCmlmICg1MjQyODcgPj4+IDMxICE9PSAwKSB7IAogICRFUlJPUignIzEwNDM6IDUyNDI4NyA+Pj4gMzEgPT09IDAuIEFjdHVhbDogJyArICg1MjQyODcgPj4+IDMxKSk7IAp9IAoKCmlmICgxMDQ4NTc1ID4+PiAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDQ0OiAxMDQ4NTc1ID4+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPj4+IDMxKSk7IAp9IAoKCmlmICgyMDk3MTUxID4+PiAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDQ1OiAyMDk3MTUxID4+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDIwOTcxNTEgPj4+IDMxKSk7IAp9IAoKCmlmICg0MTk0MzAzID4+PiAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDQ2OiA0MTk0MzAzID4+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDQxOTQzMDMgPj4+IDMxKSk7IAp9IAoKCmlmICg4Mzg4NjA3ID4+PiAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDQ3OiA4Mzg4NjA3ID4+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDgzODg2MDcgPj4+IDMxKSk7IAp9IAoKCmlmICgxNjc3NzIxNSA+Pj4gMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjMTA0ODogMTY3NzcyMTUgPj4+IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoMTY3NzcyMTUgPj4+IDMxKSk7IAp9IAoKCmlmICgzMzU1NDQzMSA+Pj4gMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjMTA0OTogMzM1NTQ0MzEgPj4+IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPj4+IDMxKSk7IAp9IAoKCmlmICg2NzEwODg2MyA+Pj4gMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjMTA1MDogNjcxMDg4NjMgPj4+IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPj4+IDMxKSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPj4+IDMxICE9PSAwKSB7IAogICRFUlJPUignIzEwNTE6IDEzNDIxNzcyNyA+Pj4gMzEgPT09IDAuIEFjdHVhbDogJyArICgxMzQyMTc3MjcgPj4+IDMxKSk7IAp9IAoKCmlmICgyNjg0MzU0NTUgPj4+IDMxICE9PSAwKSB7IAogICRFUlJPUignIzEwNTI6IDI2ODQzNTQ1NSA+Pj4gMzEgPT09IDAuIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPj4+IDMxKSk7IAp9IAoKCmlmICg1MzY4NzA5MTEgPj4+IDMxICE9PSAwKSB7IAogICRFUlJPUignIzEwNTM6IDUzNjg3MDkxMSA+Pj4gMzEgPT09IDAuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPj4+IDMxKSk7IAp9IAoKCmlmICgxMDczNzQxODIzID4+PiAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDU0OiAxMDczNzQxODIzID4+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjMgPj4+IDMxKSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ3ID4+PiAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDU1OiAyMTQ3NDgzNjQ3ID4+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4+IDMxKSk7IAp9IAoKCmlmICg0Mjk0OTY3Mjk1ID4+PiAzMSAhPT0gMSkgeyAKICAkRVJST1IoJyMxMDU2OiA0Mjk0OTY3Mjk1ID4+PiAzMSA9PT0gMS4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IDMxKSk7IAp9IAoK",
"commentary":"Check operator x >>> y in distinct points",
"description":"ShiftExpression = 2^n - 1, n = 16...31",
"path":"TestCases/ch11/11.7/11.7.3/S11.7.3_A4_T4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+PiB5IHVzZXMgVG9VaW50MzIoU2hpZnRFeHByZXNzaW9uKQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4zL1MxMS43LjNfQTUuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYm91bmRhcnkgcG9pbnRzCiAqLwoKLy9DSEVDSyMxCmlmICgyMTQ3NDgzNjQ4LjEgPj4+IDAgIT09IDIxNDc0ODM2NDgpIHsgCiAgJEVSUk9SKCcjMTogMjE0NzQ4MzY0OC4xID4+PiAwID09PSAyMTQ3NDgzNjQ4LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0OC4xID4+PiAwKSk7IAp9IAoKLy9DSEVDSyMyCmlmICg0Mjk0OTY3Mjk2LjEgPj4+IDAgIT09IDApIHsgCiAgJEVSUk9SKCcjMjogNDI5NDk2NzI5Ni4xID4+PiAwID09PSAwLiBBY3R1YWw6ICcgKyAoNDI5NDk2NzI5Ni4xID4+PiAwKSk7IAp9IAoKLy9DSEVDSyMzCmlmICg2NDQyNDUwOTQ0LjEgPj4+IDAgIT09IDIxNDc0ODM2NDgpIHsgCiAgJEVSUk9SKCcjMzogNjQ0MjQ1MDk0NC4xID4+PiAwID09PSAyMTQ3NDgzNjQ4LiBBY3R1YWw6ICcgKyAoNjQ0MjQ1MDk0NC4xID4+PiAwKSk7IAp9IAoKLy9DSEVDSyM0CmlmICg0Mjk0OTY3Mjk1LjEgPj4+IDAgIT09IDQyOTQ5NjcyOTUpIHsgCiAgJEVSUk9SKCcjNDogNDI5NDk2NzI5NS4xID4+PiAwID09PSA0Mjk0OTY3Mjk1LiBBY3R1YWw6ICcgKyAoNDI5NDk2NzI5NS4xID4+PiAwKSk7IAp9IAoKLy9DSEVDSyM1CmlmICg2NDQyNDUwOTQzLjEgPj4+IDAgIT09IDIxNDc0ODM2NDcpIHsgCiAgJEVSUk9SKCcjNTogNjQ0MjQ1MDk0My4xID4+PiAwID09PSAyMTQ3NDgzNjQ3LiBBY3R1YWw6ICcgKyAoNjQ0MjQ1MDk0My4xID4+PiAwKSk7IAp9IAoKLy9DSEVDSyM2CmlmICgtMjE0NzQ4MzY0OS4xID4+PiAwICE9PSAyMTQ3NDgzNjQ3KSB7IAogICRFUlJPUignIzY6IC0yMTQ3NDgzNjQ5LjEgPj4+IDAgPT09IDIxNDc0ODM2NDcuIEFjdHVhbDogJyArICgtMjE0NzQ4MzY0OS4xID4+PiAwKSk7IAp9IAoKLy9DSEVDSyM3CmlmICgtNDI5NDk2NzI5Ny4xID4+PiAwICE9PSA0Mjk0OTY3Mjk1KSB7IAogICRFUlJPUignIzc6IC00Mjk0OTY3Mjk3LjEgPj4+IDAgPT09IDQyOTQ5NjcyOTUuIEFjdHVhbDogJyArICgtNDI5NDk2NzI5Ny4xID4+PiAwKSk7IAp9IAoKLy9DSEVDSyM4CmlmICgtNjQ0MjQ1MDk0NS4xID4+PiAwICE9PSAyMTQ3NDgzNjQ3KSB7IAogICRFUlJPUignIzg6IC02NDQyNDUwOTQ1LjEgPj4+IDAgPT09IDIxNDc0ODM2NDcuIEFjdHVhbDogJyArICgtNjQ0MjQ1MDk0NS4xID4+PiAwKSk7IAp9IAoKLy9DSEVDSyM5CmlmICgtNDI5NDk2NzI5Ni4xID4+PiAwICE9PSAwKSB7IAogICRFUlJPUignIzk6IC00Mjk0OTY3Mjk2LjEgPj4+IDAgPT09IDAgLiBBY3R1YWw6ICcgKyAoLTQyOTQ5NjcyOTYuMSA+Pj4gMCkpOyAKfSAKCi8vQ0hFQ0sjMTAKaWYgKC02NDQyNDUwOTQ0LjEgPj4+IDAgIT09IDIxNDc0ODM2NDgpIHsgCiAgJEVSUk9SKCcjMTA6IC02NDQyNDUwOTQ0LjEgPj4+IDAgPT09IDIxNDc0ODM2NDguIEFjdHVhbDogJyArICgtNjQ0MjQ1MDk0NC4xID4+PiAwKSk7IAp9IAoK",
"commentary":"Operator x >>> y uses ToUint32(ShiftExpression)",
"description":"Checking boundary points",
"path":"TestCases/ch11/11.7/11.7.3/S11.7.3_A5.1_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+PiB5IHVzZXMgVG9VaW50MzIoQWRkaXRpdmVFeHByZXNzaW9uKSAmIDMxCiAqCiAqIEBwYXRoIGNoMTEvMTEuNy8xMS43LjMvUzExLjcuM19BNS4yX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBkaXN0aW5jdCBwb2ludHMKICovCgovL0NIRUNLIzEKaWYgKDQyOTQ5NjcyOTUgPj4+IC0zMi4xICE9PSA0Mjk0OTY3Mjk1KSB7IAogICRFUlJPUignIzE6IDQyOTQ5NjcyOTUgPj4+IC0zMi4xID09PSA0Mjk0OTY3Mjk1LiBBY3R1YWw6ICcgKyAoNDI5NDk2NzI5NSA+Pj4gLTMyLjEpKTsgCn0gCgovL0NIRUNLIzIKaWYgKDQyOTQ5NjcyOTUgPj4+IC0zMS4xICE9PSAyMTQ3NDgzNjQ3KSB7IAogICRFUlJPUignIzI6IDQyOTQ5NjcyOTUgPj4+IC0zMS4xID09PSAyMTQ3NDgzNjQ3LiBBY3R1YWw6ICcgKyAoNDI5NDk2NzI5NSA+Pj4gLTMxLjEpKTsgCn0gCgovL0NIRUNLIzMKaWYgKDQyOTQ5NjcyOTUgPj4+IC0zMC4xICE9PSAxMDczNzQxODIzKSB7IAogICRFUlJPUignIzM6IDQyOTQ5NjcyOTUgPj4+IC0zMC4xID09PSAxMDczNzQxODIzLiBBY3R1YWw6ICcgKyAoNDI5NDk2NzI5NSA+Pj4gLTMwLjEpKTsgCn0gCgovL0NIRUNLIzQKaWYgKDQyOTQ5NjcyOTUgPj4+IC0yOS4xICE9PSA1MzY4NzA5MTEpIHsgCiAgJEVSUk9SKCcjNDogNDI5NDk2NzI5NSA+Pj4gLTI5LjEgPT09IDUzNjg3MDkxMS4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IC0yOS4xKSk7IAp9IAoKLy9DSEVDSyM1CmlmICg0Mjk0OTY3Mjk1ID4+PiAtMjguMSAhPT0gMjY4NDM1NDU1KSB7IAogICRFUlJPUignIzU6IDQyOTQ5NjcyOTUgPj4+IC0yOC4xID09PSAyNjg0MzU0NTUuIEFjdHVhbDogJyArICg0Mjk0OTY3Mjk1ID4+PiAtMjguMSkpOyAKfSAKCi8vQ0hFQ0sjNgppZiAoNDI5NDk2NzI5NSA+Pj4gLTI3LjEgIT09IDEzNDIxNzcyNykgeyAKICAkRVJST1IoJyM2OiA0Mjk0OTY3Mjk1ID4+PiAtMjcuMSA9PT0gMTM0MjE3NzI3LiBBY3R1YWw6ICcgKyAoNDI5NDk2NzI5NSA+Pj4gLTI3LjEpKTsgCn0gCgovL0NIRUNLIzcKaWYgKDQyOTQ5NjcyOTUgPj4+IC0yNi4xICE9PSA2NzEwODg2MykgeyAKICAkRVJST1IoJyM3OiA0Mjk0OTY3Mjk1ID4+PiAtMjYuMSA9PT0gNjcxMDg4NjMuIEFjdHVhbDogJyArICg0Mjk0OTY3Mjk1ID4+PiAtMjYuMSkpOyAKfSAKCi8vQ0hFQ0sjOAppZiAoNDI5NDk2NzI5NSA+Pj4gLTI1LjEgIT09IDMzNTU0NDMxKSB7IAogICRFUlJPUignIzg6IDQyOTQ5NjcyOTUgPj4+IC0yNS4xID09PSAzMzU1NDQzMS4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IC0yNS4xKSk7IAp9IAoKLy9DSEVDSyM5CmlmICg0Mjk0OTY3Mjk1ID4+PiAtMjQuMSAhPT0gMTY3NzcyMTUpIHsgCiAgJEVSUk9SKCcjOTogNDI5NDk2NzI5NSA+Pj4gLTI0LjEgPT09IDE2Nzc3MjE1LiBBY3R1YWw6ICcgKyAoNDI5NDk2NzI5NSA+Pj4gLTI0LjEpKTsgCn0gCgovL0NIRUNLIzEwCmlmICg0Mjk0OTY3Mjk1ID4+PiAtMjMuMSAhPT0gODM4ODYwNykgeyAKICAkRVJST1IoJyMxMDogNDI5NDk2NzI5NSA+Pj4gLTIzLjEgPT09IDgzODg2MDcuIEFjdHVhbDogJyArICg0Mjk0OTY3Mjk1ID4+PiAtMjMuMSkpOyAKfSAKCi8vQ0hFQ0sjMTEKaWYgKDQyOTQ5NjcyOTUgPj4+IC0yMi4xICE9PSA0MTk0MzAzKSB7IAogICRFUlJPUignIzExOiA0Mjk0OTY3Mjk1ID4+PiAtMjIuMSA9PT0gNDE5NDMwMy4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IC0yMi4xKSk7IAp9IAoKLy9DSEVDSyMxMgppZiAoNDI5NDk2NzI5NSA+Pj4gLTIxLjEgIT09IDIwOTcxNTEpIHsgCiAgJEVSUk9SKCcjMTI6IDQyOTQ5NjcyOTUgPj4+IC0yMS4xID09PSAyMDk3MTUxLiBBY3R1YWw6ICcgKyAoNDI5NDk2NzI5NSA+Pj4gLTIxLjEpKTsgCn0gCgovL0NIRUNLIzEzCmlmICg0Mjk0OTY3Mjk1ID4+PiAtMjAuMSAhPT0gMTA0ODU3NSkgeyAKICAkRVJST1IoJyMxMzogNDI5NDk2NzI5NSA+Pj4gLTIwLjEgPT09IDEwNDg1NzUuIEFjdHVhbDogJyArICg0Mjk0OTY3Mjk1ID4+PiAtMjAuMSkpOyAKfSAKCi8vQ0hFQ0sjMTQKaWYgKDQyOTQ5NjcyOTUgPj4+IC0xOS4xICE9PSA1MjQyODcpIHsgCiAgJEVSUk9SKCcjMTQ6IDQyOTQ5NjcyOTUgPj4+IC0xOS4xID09PSA1MjQyODcuIEFjdHVhbDogJyArICg0Mjk0OTY3Mjk1ID4+PiAtMTkuMSkpOyAKfSAKCi8vQ0hFQ0sjMTUKaWYgKDQyOTQ5NjcyOTUgPj4+IC0xOC4xICE9PSAyNjIxNDMpIHsgCiAgJEVSUk9SKCcjMTU6IDQyOTQ5NjcyOTUgPj4+IC0xOC4xID09PSAyNjIxNDMuIEFjdHVhbDogJyArICg0Mjk0OTY3Mjk1ID4+PiAtMTguMSkpOyAKfSAKCi8vQ0hFQ0sjMTYKaWYgKDQyOTQ5NjcyOTUgPj4+IC0xNy4xICE9PSAxMzEwNzEpIHsgCiAgJEVSUk9SKCcjMTY6IDQyOTQ5NjcyOTUgPj4+IC0xNy4xID09PSAxMzEwNzEuIEFjdHVhbDogJyArICg0Mjk0OTY3Mjk1ID4+PiAtMTcuMSkpOyAKfSAKCi8vQ0hFQ0sjMTcKaWYgKDQyOTQ5NjcyOTUgPj4+IC0xNi4xICE9PSA2NTUzNSkgeyAKICAkRVJST1IoJyMxNzogNDI5NDk2NzI5NSA+Pj4gLTE2LjEgPT09IDY1NTM1LiBBY3R1YWw6ICcgKyAoNDI5NDk2NzI5NSA+Pj4gLTE2LjEpKTsgCn0gCgovL0NIRUNLIzE4CmlmICg0Mjk0OTY3Mjk1ID4+PiAtMTUuMSAhPT0gMzI3NjcpIHsgCiAgJEVSUk9SKCcjMTg6IDQyOTQ5NjcyOTUgPj4+IC0xNS4xID09PSAzMjc2Ny4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IC0xNS4xKSk7IAp9IAoKLy9DSEVDSyMxOQppZiAoNDI5NDk2NzI5NSA+Pj4gLTE0LjEgIT09IDE2MzgzKSB7IAogICRFUlJPUignIzE5OiA0Mjk0OTY3Mjk1ID4+PiAtMTQuMSA9PT0gMTYzODMuIEFjdHVhbDogJyArICg0Mjk0OTY3Mjk1ID4+PiAtMTQuMSkpOyAKfSAKCi8vQ0hFQ0sjMjAKaWYgKDQyOTQ5NjcyOTUgPj4+IC0xMy4xICE9PSA4MTkxKSB7IAogICRFUlJPUignIzIwOiA0Mjk0OTY3Mjk1ID4+PiAtMTMuMSA9PT0gODE5MS4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IC0xMy4xKSk7IAp9IAoKLy9DSEVDSyMyMQppZiAoNDI5NDk2NzI5NSA+Pj4gLTEyLjEgIT09IDQwOTUpIHsgCiAgJEVSUk9SKCcjMjE6IDQyOTQ5NjcyOTUgPj4+IC0xMi4xID09PSA0MDk1LiBBY3R1YWw6ICcgKyAoNDI5NDk2NzI5NSA+Pj4gLTEyLjEpKTsgCn0gCgovL0NIRUNLIzIyCmlmICg0Mjk0OTY3Mjk1ID4+PiAtMTEuMSAhPT0gMjA0NykgeyAKICAkRVJST1IoJyMyMjogNDI5NDk2NzI5NSA+Pj4gLTExLjEgPT09IDIwNDcuIEFjdHVhbDogJyArICg0Mjk0OTY3Mjk1ID4+PiAtMTEuMSkpOyAKfSAKCi8vQ0hFQ0sjMjMKaWYgKDQyOTQ5NjcyOTUgPj4+IC0xMC4xICE9PSAxMDIzKSB7IAogICRFUlJPUignIzIzOiA0Mjk0OTY3Mjk1ID4+PiAtMTAuMSA9PT0gMTAyMy4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IC0xMC4xKSk7IAp9IAoKLy9DSEVDSyMyNAppZiAoNDI5NDk2NzI5NSA+Pj4gLTkuMSAhPT0gNTExKSB7IAogICRFUlJPUignIzI0OiA0Mjk0OTY3Mjk1ID4+PiAtOS4xID09PSA1MTEuIEFjdHVhbDogJyArICg0Mjk0OTY3Mjk1ID4+PiAtOS4xKSk7IAp9IAoKLy9DSEVDSyMyNQppZiAoNDI5NDk2NzI5NSA+Pj4gLTguMSAhPT0gMjU1KSB7IAogICRFUlJPUignIzI1OiA0Mjk0OTY3Mjk1ID4+PiAtOC4xID09PSAyNTUuIEFjdHVhbDogJyArICg0Mjk0OTY3Mjk1ID4+PiAtOC4xKSk7IAp9IAoKLy9DSEVDSyMyNgppZiAoNDI5NDk2NzI5NSA+Pj4gLTcuMSAhPT0gMTI3KSB7IAogICRFUlJPUignIzI2OiA0Mjk0OTY3Mjk1ID4+PiAtNy4xID09PSAxMjcuIEFjdHVhbDogJyArICg0Mjk0OTY3Mjk1ID4+PiAtNy4xKSk7IAp9IAoKLy9DSEVDSyMyNwppZiAoNDI5NDk2NzI5NSA+Pj4gLTYuMSAhPT0gNjMpIHsgCiAgJEVSUk9SKCcjMjc6IDQyOTQ5NjcyOTUgPj4+IC02LjEgPT09IDYzLiBBY3R1YWw6ICcgKyAoNDI5NDk2NzI5NSA+Pj4gLTYuMSkpOyAKfSAKCi8vQ0hFQ0sjMjgKaWYgKDQyOTQ5NjcyOTUgPj4+IC01LjEgIT09IDMxKSB7IAogICRFUlJPUignIzI4OiA0Mjk0OTY3Mjk1ID4+PiAtNS4xID09PSAzMS4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IC01LjEpKTsgCn0gCgovL0NIRUNLIzI5CmlmICg0Mjk0OTY3Mjk1ID4+PiAtNC4xICE9PSAxNSkgeyAKICAkRVJST1IoJyMyOTogNDI5NDk2NzI5NSA+Pj4gLTQuMSA9PT0gMTUuIEFjdHVhbDogJyArICg0Mjk0OTY3Mjk1ID4+PiAtNC4xKSk7IAp9IAoKLy9DSEVDSyMzMAppZiAoNDI5NDk2NzI5NSA+Pj4gLTMuMSAhPT0gNykgeyAKICAkRVJST1IoJyMzMDogNDI5NDk2NzI5NSA+Pj4gLTMuMSA9PT0gNy4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IC0zLjEpKTsgCn0gCgovL0NIRUNLIzMxCmlmICg0Mjk0OTY3Mjk1ID4+PiAtMi4xICE9PSAzKSB7IAogICRFUlJPUignIzMxOiA0Mjk0OTY3Mjk1ID4+PiAtMi4xID09PSAzLiBBY3R1YWw6ICcgKyAoNDI5NDk2NzI5NSA+Pj4gLTIuMSkpOyAKfSAKCi8vQ0hFQ0sjMzIKaWYgKDQyOTQ5NjcyOTUgPj4+IC0xLjEgIT09IDEpIHsgCiAgJEVSUk9SKCcjMzI6IDQyOTQ5NjcyOTUgPj4+IC0xLjEgPT09IDEuIEFjdHVhbDogJyArICg0Mjk0OTY3Mjk1ID4+PiAtMS4xKSk7IAp9IAoKLy9DSEVDSyMzMwppZiAoNDI5NDk2NzI5NSA+Pj4gMzIuMSAhPT0gNDI5NDk2NzI5NSkgeyAKICAkRVJST1IoJyMzMzogNDI5NDk2NzI5NSA+Pj4gMzIuMSA9PT0gNDI5NDk2NzI5NS4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IDMyLjEpKTsgCn0gCgovL0NIRUNLIzM0CmlmICg0Mjk0OTY3Mjk1ID4+PiAzMy4xICE9PSAyMTQ3NDgzNjQ3KSB7IAogICRFUlJPUignIzM0OiA0Mjk0OTY3Mjk1ID4+PiAzMy4xID09PSAyMTQ3NDgzNjQ3LiBBY3R1YWw6ICcgKyAoNDI5NDk2NzI5NSA+Pj4gMzMuMSkpOyAKfSAKCi8vQ0hFQ0sjMzUKaWYgKDQyOTQ5NjcyOTUgPj4+IDM0LjEgIT09IDEwNzM3NDE4MjMpIHsgCiAgJEVSUk9SKCcjMzU6IDQyOTQ5NjcyOTUgPj4+IDM0LjEgPT09IDEwNzM3NDE4MjMuIEFjdHVhbDogJyArICg0Mjk0OTY3Mjk1ID4+PiAzNC4xKSk7IAp9IAoKLy9DSEVDSyMzNgppZiAoNDI5NDk2NzI5NSA+Pj4gMzUuMSAhPT0gNTM2ODcwOTExKSB7IAogICRFUlJPUignIzM2OiA0Mjk0OTY3Mjk1ID4+PiAzNS4xID09PSA1MzY4NzA5MTEuIEFjdHVhbDogJyArICg0Mjk0OTY3Mjk1ID4+PiAzNS4xKSk7IAp9IAoKLy9DSEVDSyMzNwppZiAoNDI5NDk2NzI5NSA+Pj4gMzYuMSAhPT0gMjY4NDM1NDU1KSB7IAogICRFUlJPUignIzM3OiA0Mjk0OTY3Mjk1ID4+PiAzNi4xID09PSAyNjg0MzU0NTUuIEFjdHVhbDogJyArICg0Mjk0OTY3Mjk1ID4+PiAzNi4xKSk7IAp9IAoKLy9DSEVDSyMzOAppZiAoNDI5NDk2NzI5NSA+Pj4gMzcuMSAhPT0gMTM0MjE3NzI3KSB7IAogICRFUlJPUignIzM4OiA0Mjk0OTY3Mjk1ID4+PiAzNy4xID09PSAxMzQyMTc3MjcuIEFjdHVhbDogJyArICg0Mjk0OTY3Mjk1ID4+PiAzNy4xKSk7IAp9IAoKLy9DSEVDSyMzOQppZiAoNDI5NDk2NzI5NSA+Pj4gMzguMSAhPT0gNjcxMDg4NjMpIHsgCiAgJEVSUk9SKCcjMzk6IDQyOTQ5NjcyOTUgPj4+IDM4LjEgPT09IDY3MTA4ODYzLiBBY3R1YWw6ICcgKyAoNDI5NDk2NzI5NSA+Pj4gMzguMSkpOyAKfSAKCi8vQ0hFQ0sjNDAKaWYgKDQyOTQ5NjcyOTUgPj4+IDM5LjEgIT09IDMzNTU0NDMxKSB7IAogICRFUlJPUignIzQwOiA0Mjk0OTY3Mjk1ID4+PiAzOS4xID09PSAzMzU1NDQzMS4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IDM5LjEpKTsgCn0gCgovL0NIRUNLIzQxCmlmICg0Mjk0OTY3Mjk1ID4+PiA0MC4xICE9PSAxNjc3NzIxNSkgeyAKICAkRVJST1IoJyM0MTogNDI5NDk2NzI5NSA+Pj4gNDAuMSA9PT0gMTY3NzcyMTUuIEFjdHVhbDogJyArICg0Mjk0OTY3Mjk1ID4+PiA0MC4xKSk7IAp9IAoKLy9DSEVDSyM0MgppZiAoNDI5NDk2NzI5NSA+Pj4gNDEuMSAhPT0gODM4ODYwNykgeyAKICAkRVJST1IoJyM0MjogNDI5NDk2NzI5NSA+Pj4gNDEuMSA9PT0gODM4ODYwNy4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IDQxLjEpKTsgCn0gCgovL0NIRUNLIzQzCmlmICg0Mjk0OTY3Mjk1ID4+PiA0Mi4xICE9PSA0MTk0MzAzKSB7IAogICRFUlJPUignIzQzOiA0Mjk0OTY3Mjk1ID4+PiA0Mi4xID09PSA0MTk0MzAzLiBBY3R1YWw6ICcgKyAoNDI5NDk2NzI5NSA+Pj4gNDIuMSkpOyAKfSAKCi8vQ0hFQ0sjNDQKaWYgKDQyOTQ5NjcyOTUgPj4+IDQzLjEgIT09IDIwOTcxNTEpIHsgCiAgJEVSUk9SKCcjNDQ6IDQyOTQ5NjcyOTUgPj4+IDQzLjEgPT09IDIwOTcxNTEuIEFjdHVhbDogJyArICg0Mjk0OTY3Mjk1ID4+PiA0My4xKSk7IAp9IAoKLy9DSEVDSyM0NQppZiAoNDI5NDk2NzI5NSA+Pj4gNDQuMSAhPT0gMTA0ODU3NSkgeyAKICAkRVJST1IoJyM0NTogNDI5NDk2NzI5NSA+Pj4gNDQuMSA9PT0gMTA0ODU3NS4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IDQ0LjEpKTsgCn0gCgovL0NIRUNLIzQ2CmlmICg0Mjk0OTY3Mjk1ID4+PiA0NS4xICE9PSA1MjQyODcpIHsgCiAgJEVSUk9SKCcjNDY6IDQyOTQ5NjcyOTUgPj4+IDQ1LjEgPT09IDUyNDI4Ny4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IDQ1LjEpKTsgCn0gCgovL0NIRUNLIzQ3CmlmICg0Mjk0OTY3Mjk1ID4+PiA0Ni4xICE9PSAyNjIxNDMpIHsgCiAgJEVSUk9SKCcjNDc6IDQyOTQ5NjcyOTUgPj4+IDQ2LjEgPT09IDI2MjE0My4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IDQ2LjEpKTsgCn0gCgovL0NIRUNLIzQ4CmlmICg0Mjk0OTY3Mjk1ID4+PiA0Ny4xICE9PSAxMzEwNzEpIHsgCiAgJEVSUk9SKCcjNDg6IDQyOTQ5NjcyOTUgPj4+IDQ3LjEgPT09IDEzMTA3MS4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IDQ3LjEpKTsgCn0gCgovL0NIRUNLIzQ5CmlmICg0Mjk0OTY3Mjk1ID4+PiA0OC4xICE9PSA2NTUzNSkgeyAKICAkRVJST1IoJyM0OTogNDI5NDk2NzI5NSA+Pj4gNDguMSA9PT0gNjU1MzUuIEFjdHVhbDogJyArICg0Mjk0OTY3Mjk1ID4+PiA0OC4xKSk7IAp9IAoKLy9DSEVDSyM1MAppZiAoNDI5NDk2NzI5NSA+Pj4gNDkuMSAhPT0gMzI3NjcpIHsgCiAgJEVSUk9SKCcjNTA6IDQyOTQ5NjcyOTUgPj4+IDQ5LjEgPT09IDMyNzY3LiBBY3R1YWw6ICcgKyAoNDI5NDk2NzI5NSA+Pj4gNDkuMSkpOyAKfSAKCi8vQ0hFQ0sjNTEKaWYgKDQyOTQ5NjcyOTUgPj4+IDUwLjEgIT09IDE2MzgzKSB7IAogICRFUlJPUignIzUxOiA0Mjk0OTY3Mjk1ID4+PiA1MC4xID09PSAxNjM4My4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IDUwLjEpKTsgCn0gCgovL0NIRUNLIzUyCmlmICg0Mjk0OTY3Mjk1ID4+PiA1MS4xICE9PSA4MTkxKSB7IAogICRFUlJPUignIzUyOiA0Mjk0OTY3Mjk1ID4+PiA1MS4xID09PSA4MTkxLiBBY3R1YWw6ICcgKyAoNDI5NDk2NzI5NSA+Pj4gNTEuMSkpOyAKfSAKCi8vQ0hFQ0sjNTMKaWYgKDQyOTQ5NjcyOTUgPj4+IDUyLjEgIT09IDQwOTUpIHsgCiAgJEVSUk9SKCcjNTM6IDQyOTQ5NjcyOTUgPj4+IDUyLjEgPT09IDQwOTUuIEFjdHVhbDogJyArICg0Mjk0OTY3Mjk1ID4+PiA1Mi4xKSk7IAp9IAoKLy9DSEVDSyM1NAppZiAoNDI5NDk2NzI5NSA+Pj4gNTMuMSAhPT0gMjA0NykgeyAKICAkRVJST1IoJyM1NDogNDI5NDk2NzI5NSA+Pj4gNTMuMSA9PT0gMjA0Ny4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IDUzLjEpKTsgCn0gCgovL0NIRUNLIzU1CmlmICg0Mjk0OTY3Mjk1ID4+PiA1NC4xICE9PSAxMDIzKSB7IAogICRFUlJPUignIzU1OiA0Mjk0OTY3Mjk1ID4+PiA1NC4xID09PSAxMDIzLiBBY3R1YWw6ICcgKyAoNDI5NDk2NzI5NSA+Pj4gNTQuMSkpOyAKfSAKCi8vQ0hFQ0sjNTYKaWYgKDQyOTQ5NjcyOTUgPj4+IDU1LjEgIT09IDUxMSkgeyAKICAkRVJST1IoJyM1NjogNDI5NDk2NzI5NSA+Pj4gNTUuMSA9PT0gNTExLiBBY3R1YWw6ICcgKyAoNDI5NDk2NzI5NSA+Pj4gNTUuMSkpOyAKfSAKCi8vQ0hFQ0sjNTcKaWYgKDQyOTQ5NjcyOTUgPj4+IDU2LjEgIT09IDI1NSkgeyAKICAkRVJST1IoJyM1NzogNDI5NDk2NzI5NSA+Pj4gNTYuMSA9PT0gMjU1LiBBY3R1YWw6ICcgKyAoNDI5NDk2NzI5NSA+Pj4gNTYuMSkpOyAKfSAKCi8vQ0hFQ0sjNTgKaWYgKDQyOTQ5NjcyOTUgPj4+IDU3LjEgIT09IDEyNykgeyAKICAkRVJST1IoJyM1ODogNDI5NDk2NzI5NSA+Pj4gNTcuMSA9PT0gMTI3LiBBY3R1YWw6ICcgKyAoNDI5NDk2NzI5NSA+Pj4gNTcuMSkpOyAKfSAKCi8vQ0hFQ0sjNTkKaWYgKDQyOTQ5NjcyOTUgPj4+IDU4LjEgIT09IDYzKSB7IAogICRFUlJPUignIzU5OiA0Mjk0OTY3Mjk1ID4+PiA1OC4xID09PSA2My4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IDU4LjEpKTsgCn0gCgovL0NIRUNLIzYwCmlmICg0Mjk0OTY3Mjk1ID4+PiA1OS4xICE9PSAzMSkgeyAKICAkRVJST1IoJyM2MDogNDI5NDk2NzI5NSA+Pj4gNTkuMSA9PT0gMzEuIEFjdHVhbDogJyArICg0Mjk0OTY3Mjk1ID4+PiA1OS4xKSk7IAp9IAoKLy9DSEVDSyM2MQppZiAoNDI5NDk2NzI5NSA+Pj4gNjAuMSAhPT0gMTUpIHsgCiAgJEVSUk9SKCcjNjE6IDQyOTQ5NjcyOTUgPj4+IDYwLjEgPT09IDE1LiBBY3R1YWw6ICcgKyAoNDI5NDk2NzI5NSA+Pj4gNjAuMSkpOyAKfSAKCi8vQ0hFQ0sjNjIKaWYgKDQyOTQ5NjcyOTUgPj4+IDYxLjEgIT09IDcpIHsgCiAgJEVSUk9SKCcjNjI6IDQyOTQ5NjcyOTUgPj4+IDYxLjEgPT09IDcuIEFjdHVhbDogJyArICg0Mjk0OTY3Mjk1ID4+PiA2MS4xKSk7IAp9IAoKLy9DSEVDSyM2MwppZiAoNDI5NDk2NzI5NSA+Pj4gNjIuMSAhPT0gMykgeyAKICAkRVJST1IoJyM2MzogNDI5NDk2NzI5NSA+Pj4gNjIuMSA9PT0gMy4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IDYyLjEpKTsgCn0gCgovL0NIRUNLIzY0CmlmICg0Mjk0OTY3Mjk1ID4+PiA2My4xICE9PSAxKSB7IAogICRFUlJPUignIzY0OiA0Mjk0OTY3Mjk1ID4+PiA2My4xID09PSAxLiBBY3R1YWw6ICcgKyAoNDI5NDk2NzI5NSA+Pj4gNjMuMSkpOyAKfSAKIAoK",
"commentary":"Operator x >>> y uses ToUint32(AdditiveExpression) & 31",
"description":"Checking distinct points",
"path":"TestCases/ch11/11.7/11.7.3/S11.7.3_A5.2_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gUmVsYXRpb25hbEV4cHJlc3Npb24gYW5kICI8IiBvciBiZXR3ZWVuICI8IiBhbmQgU2hpZnRFeHByZXNzaW9uIGFyZSBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjEvUzExLjguMV9BMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYnkgdXNpbmcgZXZhbAogKi8KCi8vQ0hFQ0sjMQppZiAoZXZhbCgiMFx1MDAwOTxcdTAwMDkxIikgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiAoMFxcdTAwMDk8XFx1MDAwOTEpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoZXZhbCgiMFx1MDAwQjxcdTAwMEIxIikgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiAoMFxcdTAwMEI8XFx1MDAwQjEpID09PSB0cnVlJyk7ICAKfQoKLy9DSEVDSyMzCmlmIChldmFsKCIwXHUwMDBDPFx1MDAwQzEiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6ICgwXFx1MDAwQzxcXHUwMDBDMSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM0CmlmIChldmFsKCIwXHUwMDIwPFx1MDAyMDEiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6ICgwXFx1MDAyMDxcXHUwMDIwMSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM1CmlmIChldmFsKCIwXHUwMEEwPFx1MDBBMDEiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzU6ICgwXFx1MDBBMDxcXHUwMEEwMSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM2CmlmIChldmFsKCIwXHUwMDBBPFx1MDAwQTEiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzY6ICgwXFx1MDAwQTxcXHUwMDBBMSkgPT09IHRydWUnKTsgIAp9CgovL0NIRUNLIzcKaWYgKGV2YWwoIjBcdTAwMEQ8XHUwMDBEMSIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNzogKDBcXHUwMDBEPFxcdTAwMEQxKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzgKaWYgKGV2YWwoIjBcdTIwMjg8XHUyMDI4MSIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjODogKDBcXHUyMDI4PFxcdTIwMjgxKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzkKaWYgKGV2YWwoIjBcdTIwMjk8XHUyMDI5MSIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjOTogKDBcXHUyMDI5PFxcdTIwMjkxKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzEwCmlmIChldmFsKCIwXHUwMDA5XHUwMDBCXHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5PFx1MDAwOVx1MDAwQlx1MDAwQ1x1MDAyMFx1MDBBMFx1MDAwQVx1MDAwRFx1MjAyOFx1MjAyOTEiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzEwOiAoMFxcdTAwMDlcXHUwMDBCXFx1MDAwQ1xcdTAwMjBcXHUwMEEwXFx1MDAwQVxcdTAwMERcXHUyMDI4XFx1MjAyOTxcXHUwMDA5XFx1MDAwQlxcdTAwMENcXHUwMDIwXFx1MDBBMFxcdTAwMEFcXHUwMDBEXFx1MjAyOFxcdTIwMjkxKSA9PT0gdHJ1ZScpOwp9Cgo=",
"commentary":"White Space and Line Terminator between RelationalExpression and \"<\" or between \"<\" and ShiftExpression are allowed",
"description":"Checking by using eval",
"path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDwgeSB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjEvUzExLjguMV9BMi4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBFaXRoZXIgVHlwZSBpcyBub3QgUmVmZXJlbmNlIG9yIEdldEJhc2UgaXMgbm90IG51bGwKICovCgovL0NIRUNLIzEKaWYgKDEgPCAyICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogMSA8IDIgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gMTsKaWYgKHggPCAyICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSAxOyB4IDwgMiA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzMKdmFyIHkgPSAyOwppZiAoMSA8IHkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiB2YXIgeSA9IDI7IDEgPCB5ID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNAp2YXIgeCA9IDE7CnZhciB5ID0gMjsKaWYgKHggPCB5ICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSAxOyB2YXIgeSA9IDI7IHggPCB5ID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNQp2YXIgb2JqZWN0eCA9IG5ldyBPYmplY3QoKTsKdmFyIG9iamVjdHkgPSBuZXcgT2JqZWN0KCk7Cm9iamVjdHgucHJvcCA9IDE7Cm9iamVjdHkucHJvcCA9IDI7CmlmIChvYmplY3R4LnByb3AgPCBvYmplY3R5LnByb3AgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiB2YXIgb2JqZWN0eCA9IG5ldyBPYmplY3QoKTsgdmFyIG9iamVjdHkgPSBuZXcgT2JqZWN0KCk7IG9iamVjdHgucHJvcCA9IDE7IG9iamVjdHkucHJvcCA9IDI7IG9iamVjdHgucHJvcCA8IG9iamVjdHkucHJvcCA9PT0gdHJ1ZScpOwp9Cgo=",
"commentary":"Operator x < y uses GetValue",
"description":"Either Type is not Reference or GetBase is not null",
"path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A2.1_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDwgeSB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjEvUzExLjguMV9BMi4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBHZXRCYXNlKHgpIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgeCA8IDE7CiAgJEVSUk9SKCcjMS4xOiB4IDwgMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHggPCAxKSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiB4IDwgMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoK",
"commentary":"Operator x < y uses GetValue",
"description":"If GetBase(x) is null, throw ReferenceError",
"path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A2.1_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDwgeSB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjEvUzExLjguMV9BMi4xX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBHZXRCYXNlKHkpIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgMSA8IHk7CiAgJEVSUk9SKCcjMS4xOiAxIDwgeSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKDEgPCB5KSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiAxIDwgeSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoKCg==",
"commentary":"Operator x < y uses GetValue",
"description":"If GetBase(y) is null, throw ReferenceError",
"path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A2.1_T3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDwgeSB1c2VzIFtbRGVmYXVsdCBWYWx1ZV1dCiAqCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjEvUzExLjguMV9BMi4yX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBUeXBlKHZhbHVlKSBpcyBPYmplY3QsIGV2YWx1YXRlIFRvUHJpbWl0aXZlKHZhbHVlLCBOdW1iZXIpCiAqLwoKLy9DSEVDSyMxCmlmICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSA8IDEgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSA8IDEgPT09IHRydWUuIEFjdHVhbDogJyArICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSA8IDEpKTsKfQoKLy9DSEVDSyMyCmlmICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDB9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDJ9fSA8IDEgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSA8IDEgPT09IHRydWUuIEFjdHVhbDogJyArICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSA8IDEpKTsKfQoKLy9DSEVDSyMzCmlmICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDB9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0gPCAxICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzoge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19IDwgMSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSA8IDEpKTsKfQoKLy9DSEVDSyM0CnRyeSB7CiAgaWYgKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMH0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gPCAxICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyM0LjE6IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gPCAxID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fSA8IDEpKTsKICB9Cn0KY2F0Y2ggKGUpIHsKICBpZiAoZSA9PT0gImVycm9yIikgewogICAgJEVSUk9SKCcjNC4yOiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDB9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19IDwgMSBub3QgdGhyb3cgImVycm9yIicpOwogIH0gZWxzZSB7CiAgICAkRVJST1IoJyM0LjM6IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMH0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gPCAxIG5vdCB0aHJvdyBFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCi8vQ0hFQ0sjNQppZiAoMSA8IHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDJ9fSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzU6IDEgPCB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAyfX0gPT09IHRydWUuIEFjdHVhbDogJyArICgxIDwge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMn19KSk7Cn0KCi8vQ0hFQ0sjNgppZiAoMSA8IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDJ9fSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzY6IDEgPCB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAyfX0gPT09IHRydWUuIEFjdHVhbDogJyArICgxIDwge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMn19KSk7Cn0KCi8vQ0hFQ0sjNwp0cnkgewogIDEgPCB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMn19OwogICRFUlJPUignIzcuMTogMSA8IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAyfX0gdGhyb3cgImVycm9yIi4gQWN0dWFsOiAnICsgKDEgPCB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMn19KSk7Cn0gIApjYXRjaCAoZSkgewogIGlmIChlICE9PSAiZXJyb3IiKSB7CiAgICAkRVJST1IoJyM3LjI6IDEgPCB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMn19IHRocm93ICJlcnJvciIuIEFjdHVhbDogJyArIChlKSk7CiAgfSAKfQoKLy9DSEVDSyM4CnRyeSB7CiAgMSA8IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07CiAgJEVSUk9SKCcjOC4xOiAxIDwge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArICgxIDwge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSkpOwp9ICAKY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyM4LjI6IDEgPCB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19IHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9IAp9Cgo=",
"commentary":"Operator x < y uses [[Default Value]]",
"description":"If Type(value) is Object, evaluate ToPrimitive(value, Number)",
"path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A2.2_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUb051bWJlcihmaXJzdCBleHByZXNzaW9uKSBpcyBjYWxsZWQgZmlyc3QsIGFuZCB0aGVuIFRvTnVtYmVyKHNlY29uZCBleHByZXNzaW9uKQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC4xL1MxMS44LjFfQTIuM19UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgd2l0aCAidGhyb3ciCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0geyB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfSB9Owp2YXIgeSA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieSI7IH0gfTsKdHJ5IHsKICAgeCA8IHk7CiAgICRFUlJPUignIzEuMTogdmFyIHggPSB7IHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9IH07IHZhciB5ID0geyB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfSB9OyB4IDwgeSB0aHJvdyAieCIuIEFjdHVhbDogJyArICh4IDwgeSkpOwp9IGNhdGNoIChlKSB7CiAgIGlmIChlID09PSAieSIpIHsKICAgICAkRVJST1IoJyMxLjI6IFRvTnVtYmVyKGZpcnN0IGV4cHJlc3Npb24pIGlzIGNhbGxlZCBmaXJzdCwgYW5kIHRoZW4gVG9OdW1iZXIoc2Vjb25kIGV4cHJlc3Npb24pJyk7CiAgIH0gZWxzZSB7CiAgICAgaWYgKGUgIT09ICJ4IikgewogICAgICAgJEVSUk9SKCcjMS4zOiB2YXIgeCA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieCI7IH0gfTsgdmFyIHkgPSB7IHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9IH07IHggPCB5IHRocm93ICJ4Ii4gQWN0dWFsOiAnICsgKGUpKTsKICAgICB9CiAgIH0KfQoK",
"commentary":"ToNumber(first expression) is called first, and then ToNumber(second expression)",
"description":"Checking with \"throw\"",
"path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A2.3_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMS9TMTEuOC4xX0EyLjRfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggIj0iCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gMTsgCmlmICgoeCA9IDApIDwgeCAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IDE7ICh4ID0gMCkgPCB4ID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAwOyAKaWYgKHggPCAoeCA9IDEpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSAwOyB4IDwgKHggPSAxKSA9PT0gdHJ1ZScpOwp9CgoK",
"commentary":"First expression is evaluated first, and then second expression",
"description":"Checking with \"=\"",
"path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A2.4_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMS9TMTEuOC4xX0EyLjRfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggInRocm93IgogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9Owp2YXIgeSA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9Owp0cnkgewogICB4KCkgPCB5KCk7CiAgICRFUlJPUignIzEuMTogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpIDwgeSgpIHRocm93ICJ4Ii4gQWN0dWFsOiAnICsgKHgoKSA8IHkoKSkpOwp9IGNhdGNoIChlKSB7CiAgIGlmIChlID09PSAieSIpIHsKICAgICAkRVJST1IoJyMxLjI6IEZpcnN0IGV4cHJlc3Npb24gaXMgZXZhbHVhdGVkIGZpcnN0LCBhbmQgdGhlbiBzZWNvbmQgZXhwcmVzc2lvbicpOwogICB9IGVsc2UgewogICAgIGlmIChlICE9PSAieCIpIHsKICAgICAgICRFUlJPUignIzEuMzogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpIDwgeSgpIHRocm93ICJ4Ii4gQWN0dWFsOiAnICsgKGUpKTsKICAgICB9CiAgIH0KfQoK",
"commentary":"First expression is evaluated first, and then second expression",
"description":"Checking with \"throw\"",
"path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A2.4_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMS9TMTEuOC4xX0EyLjRfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggdW5kZWNsYXJhdGVkIHZhcmlhYmxlcwogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHggPCAoeCA9IDEpOwogICRFUlJPUignIzEuMTogeCA8ICh4ID0gMSkgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArICh4IDwgKHggPSAxKSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogeCA8ICh4ID0gMSkgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7ICAKICB9Cn0KCi8vQ0hFQ0sjMgppZiAoKHkgPSAxKSA8IHkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogKHkgPSAxKSA8IHkgPT09IGZhbHNlJyk7Cn0KCgo=",
"commentary":"First expression is evaluated first, and then second expression",
"description":"Checking with undeclarated variables",
"path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A2.4_T3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4IDwgeSByZXR1cm5zIFRvTnVtYmVyKHgpIDwgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMS9TMTEuOC4xX0EzLjFfVDEuMS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGFuZCBUeXBlKFByaW1pdGl2ZSh5KSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBib29sZWFuIGFuZCBCb29sZWFuIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAodHJ1ZSA8IHRydWUgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogdHJ1ZSA8IHRydWUgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAobmV3IEJvb2xlYW4odHJ1ZSkgPCB0cnVlICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6IG5ldyBCb29sZWFuKHRydWUpIDwgdHJ1ZSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMzCmlmICh0cnVlIDwgbmV3IEJvb2xlYW4odHJ1ZSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMzogdHJ1ZSA8IG5ldyBCb29sZWFuKHRydWUpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzQKaWYgKG5ldyBCb29sZWFuKHRydWUpIDwgbmV3IEJvb2xlYW4odHJ1ZSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogbmV3IEJvb2xlYW4odHJ1ZSkgPCBuZXcgQm9vbGVhbih0cnVlKSA9PT0gZmFsc2UnKTsKfQoK",
"commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x < y returns ToNumber(x) < ToNumber(y)",
"description":"Type(Primitive(x)) and Type(Primitive(y)) vary between primitive boolean and Boolean object",
"path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A3.1_T1.1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4IDwgeSByZXR1cm5zIFRvTnVtYmVyKHgpIDwgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMS9TMTEuOC4xX0EzLjFfVDEuMi5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGFuZCBUeXBlKFByaW1pdGl2ZSh5KSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBudW1iZXIgYW5kIE51bWJlciBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKDEgPCAxICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IDEgPCAxID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYgKG5ldyBOdW1iZXIoMSkgPCAxICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6IG5ldyBOdW1iZXIoMSkgPCAxID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzMKaWYgKDEgPCBuZXcgTnVtYmVyKDEpICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6IDEgPCBuZXcgTnVtYmVyKDEpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzQKaWYgKG5ldyBOdW1iZXIoMSkgPCBuZXcgTnVtYmVyKDEpICE9PSBmYWxzZSkgewogICRFUlJPUignIzQ6IG5ldyBOdW1iZXIoMSkgPCBuZXcgTnVtYmVyKDEpID09PSBmYWxzZScpOwp9CgoK",
"commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x < y returns ToNumber(x) < ToNumber(y)",
"description":"Type(Primitive(x)) and Type(Primitive(y)) vary between primitive number and Number object",
"path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A3.1_T1.2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4IDwgeSByZXR1cm5zIFRvTnVtYmVyKHgpIDwgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMS9TMTEuOC4xX0EzLjFfVDEuMy5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGFuZCBUeXBlKFByaW1pdGl2ZSh5KSkgdmFyeSBiZXR3ZWVuIE51bGwgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQppZiAobnVsbCA8IHVuZGVmaW5lZCAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBudWxsIDwgdW5kZWZpbmVkID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYgKHVuZGVmaW5lZCA8IG51bGwgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogdW5kZWZpbmVkIDwgbnVsbCA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMzCmlmICh1bmRlZmluZWQgPCB1bmRlZmluZWQgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMzogdW5kZWZpbmVkIDwgdW5kZWZpbmVkID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzQKaWYgKG51bGwgPCBudWxsICE9PSBmYWxzZSkgewogICRFUlJPUignIzQ6IG51bGwgPCBudWxsID09PSBmYWxzZScpOwp9Cgo=",
"commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x < y returns ToNumber(x) < ToNumber(y)",
"description":"Type(Primitive(x)) and Type(Primitive(y)) vary between Null and Undefined",
"path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A3.1_T1.3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4IDwgeSByZXR1cm5zIFRvTnVtYmVyKHgpIDwgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMS9TMTEuOC4xX0EzLjFfVDIuMS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoUHJpbWl0aXZlKHkpKSBhbmQgYm90aCB0eXBlcyBhcmUgTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBvciBCb29sZWFuIChwcmltaXRpdmUgYW5kIG9iamVjdCkKICovCgovL0NIRUNLIzEKaWYgKHRydWUgPCAxICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IHRydWUgPCAxID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYgKDEgPCB0cnVlICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6IDEgPCB0cnVlID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBCb29sZWFuKHRydWUpIDwgMSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMzOiBuZXcgQm9vbGVhbih0cnVlKSA8IDEgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoMSA8IG5ldyBCb29sZWFuKHRydWUpICE9PSBmYWxzZSkgewogICRFUlJPUignIzQ6IDEgPCBuZXcgQm9vbGVhbih0cnVlKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM1CmlmICh0cnVlIDwgbmV3IE51bWJlcigxKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM1OiB0cnVlIDwgbmV3IE51bWJlcigxKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM2CmlmIChuZXcgTnVtYmVyKDEpIDwgdHJ1ZSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM2OiBuZXcgTnVtYmVyKDEpIDwgdHJ1ZSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM3CmlmIChuZXcgQm9vbGVhbih0cnVlKSA8IG5ldyBOdW1iZXIoMSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNzogbmV3IEJvb2xlYW4odHJ1ZSkgPCBuZXcgTnVtYmVyKDEpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzgKaWYgKG5ldyBOdW1iZXIoMSkgPCBuZXcgQm9vbGVhbih0cnVlKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM4OiBuZXcgTnVtYmVyKDEpIDwgbmV3IEJvb2xlYW4odHJ1ZSkgPT09IGZhbHNlJyk7Cn0KCg==",
"commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x < y returns ToNumber(x) < ToNumber(y)",
"description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types are Number (primitive or object) or Boolean (primitive and object)",
"path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A3.1_T2.1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4IDwgeSByZXR1cm5zIFRvTnVtYmVyKHgpIDwgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMS9TMTEuOC4xX0EzLjFfVDIuMi5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoUHJpbWl0aXZlKHkpKSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgU3RyaW5nIChwcmltaXRpdmUgYW5kIG9iamVjdCkKICovCgovL0NIRUNLIzEKaWYgKCIxIiA8IDEgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogIjEiIDwgMSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyCmlmICgxIDwgIjEiICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6IDEgPCAiMSIgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAobmV3IFN0cmluZygiMSIpIDwgMSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMzOiBuZXcgU3RyaW5nKCIxIikgPCAxID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzQKaWYgKDEgPCBuZXcgU3RyaW5nKCIxIikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogMSA8IG5ldyBTdHJpbmcoIjEiKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM1CmlmICgiMSIgPCBuZXcgTnVtYmVyKDEpICE9PSBmYWxzZSkgewogICRFUlJPUignIzU6ICIxIiA8IG5ldyBOdW1iZXIoMSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNgppZiAobmV3IE51bWJlcigxKSA8ICIxIiAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM2OiBuZXcgTnVtYmVyKDEpIDwgIjEiID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzcKaWYgKG5ldyBTdHJpbmcoIjEiKSA8IG5ldyBOdW1iZXIoMSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNzogbmV3IFN0cmluZygiMSIpIDwgbmV3IE51bWJlcigxKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM4CmlmIChuZXcgTnVtYmVyKDEpIDwgbmV3IFN0cmluZygiMSIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzg6IG5ldyBOdW1iZXIoMSkgPCBuZXcgU3RyaW5nKCIxIikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjOQppZiAoIngiIDwgMSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM5OiAieCIgPCAxID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzEwCmlmICgxIDwgIngiICE9PSBmYWxzZSkgewogICRFUlJPUignIzEwOiAxIDwgIngiID09PSBmYWxzZScpOwp9Cgo=",
"commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x < y returns ToNumber(x) < ToNumber(y)",
"description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Number (primitive or object) and String (primitive and object)",
"path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A3.1_T2.2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4IDwgeSByZXR1cm5zIFRvTnVtYmVyKHgpIDwgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMS9TMTEuOC4xX0EzLjFfVDIuMy5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoUHJpbWl0aXZlKHkpKSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQppZiAoMSA8IG51bGwgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogMSA8IG51bGwgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAobnVsbCA8IDEgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiBudWxsIDwgMSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBOdW1iZXIoMSkgPCBudWxsICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6IG5ldyBOdW1iZXIoMSkgPCBudWxsID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzQKaWYgKG51bGwgPCBuZXcgTnVtYmVyKDEpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogbnVsbCA8IG5ldyBOdW1iZXIoMSkgPT09IHRydWUnKTsKfQoK",
"commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x < y returns ToNumber(x) < ToNumber(y)",
"description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Number (primitive or object) and Null",
"path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A3.1_T2.3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4IDwgeSByZXR1cm5zIFRvTnVtYmVyKHgpIDwgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMS9TMTEuOC4xX0EzLjFfVDIuNC5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoUHJpbWl0aXZlKHkpKSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCmlmICgxIDwgdW5kZWZpbmVkICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IDEgPCB1bmRlZmluZWQgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAodW5kZWZpbmVkIDwgMSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMyOiB1bmRlZmluZWQgPCAxID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBOdW1iZXIoMSkgPCB1bmRlZmluZWQgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMzogbmV3IE51bWJlcigxKSA8IHVuZGVmaW5lZCA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM0CmlmICh1bmRlZmluZWQgPCBuZXcgTnVtYmVyKDEpICE9PSBmYWxzZSkgewogICRFUlJPUignIzQ6IHVuZGVmaW5lZCA8IG5ldyBOdW1iZXIoMSkgPT09IGZhbHNlJyk7Cn0KCg==",
"commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x < y returns ToNumber(x) < ToNumber(y)",
"description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Number (primitive or object) and Undefined",
"path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A3.1_T2.4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4IDwgeSByZXR1cm5zIFRvTnVtYmVyKHgpIDwgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMS9TMTEuOC4xX0EzLjFfVDIuNS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoUHJpbWl0aXZlKHkpKSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgQm9vbGVhbiAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCmlmICh0cnVlIDwgIjEiICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IHRydWUgPCAiMSIgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoIjEiIDwgdHJ1ZSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMyOiAiMSIgPCB0cnVlID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBCb29sZWFuKHRydWUpIDwgIjEiICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6IG5ldyBCb29sZWFuKHRydWUpIDwgIjEiID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzQKaWYgKCIxIiA8IG5ldyBCb29sZWFuKHRydWUpICE9PSBmYWxzZSkgewogICRFUlJPUignIzQ6ICIxIiA8IG5ldyBCb29sZWFuKHRydWUpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzUKaWYgKHRydWUgPCBuZXcgU3RyaW5nKCIxIikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogdHJ1ZSA8IG5ldyBTdHJpbmcoIjEiKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM2CmlmIChuZXcgU3RyaW5nKCIxIikgPCB0cnVlICE9PSBmYWxzZSkgewogICRFUlJPUignIzY6IG5ldyBTdHJpbmcoIjEiKSA8IHRydWUgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNwppZiAobmV3IEJvb2xlYW4odHJ1ZSkgPCBuZXcgU3RyaW5nKCIxIikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNzogbmV3IEJvb2xlYW4odHJ1ZSkgPCBuZXcgU3RyaW5nKCIxIikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjOAppZiAobmV3IFN0cmluZygiMSIpIDwgbmV3IEJvb2xlYW4odHJ1ZSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjODogbmV3IFN0cmluZygiMSIpIDwgbmV3IEJvb2xlYW4odHJ1ZSkgPT09IGZhbHNlJyk7Cn0KCg==",
"commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x < y returns ToNumber(x) < ToNumber(y)",
"description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between String (primitive or object) and Boolean (primitive and object)",
"path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A3.1_T2.5.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4IDwgeSByZXR1cm5zIFRvTnVtYmVyKHgpIDwgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMS9TMTEuOC4xX0EzLjFfVDIuNi5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoUHJpbWl0aXZlKHkpKSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCmlmICgiMSIgPCB1bmRlZmluZWQgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogIjEiIDwgdW5kZWZpbmVkID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYgKHVuZGVmaW5lZCA8ICIxIiAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMyOiB1bmRlZmluZWQgPCAiMSIgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAobmV3IFN0cmluZygiMSIpIDwgdW5kZWZpbmVkICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6IG5ldyBTdHJpbmcoIjEiKSA8IHVuZGVmaW5lZCA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM0CmlmICh1bmRlZmluZWQgPCBuZXcgU3RyaW5nKCIxIikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogdW5kZWZpbmVkIDwgbmV3IFN0cmluZygiMSIpID09PSBmYWxzZScpOwp9Cgo=",
"commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x < y returns ToNumber(x) < ToNumber(y)",
"description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between String (primitive or object) and Undefined",
"path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A3.1_T2.6.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4IDwgeSByZXR1cm5zIFRvTnVtYmVyKHgpIDwgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMS9TMTEuOC4xX0EzLjFfVDIuNy5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoUHJpbWl0aXZlKHkpKSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQppZiAoIjEiIDwgbnVsbCAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiAiMSIgPCBudWxsID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYgKG51bGwgPCAiMSIgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiBudWxsIDwgIjEiID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAobmV3IFN0cmluZygiMSIpIDwgbnVsbCAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMzOiBuZXcgU3RyaW5nKCIxIikgPCBudWxsID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzQKaWYgKG51bGwgPCBuZXcgU3RyaW5nKCIxIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiBudWxsIDwgbmV3IFN0cmluZygiMSIpID09PSB0cnVlJyk7Cn0KCg==",
"commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x < y returns ToNumber(x) < ToNumber(y)",
"description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between String (primitive or object) and Null",
"path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A3.1_T2.7.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4IDwgeSByZXR1cm5zIFRvTnVtYmVyKHgpIDwgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMS9TMTEuOC4xX0EzLjFfVDIuOC5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoUHJpbWl0aXZlKHkpKSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gQm9vbGVhbiAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQppZiAodHJ1ZSA8IHVuZGVmaW5lZCAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiB0cnVlIDwgdW5kZWZpbmVkID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYgKHVuZGVmaW5lZCA8IHRydWUgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogdW5kZWZpbmVkIDwgdHJ1ZSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgQm9vbGVhbih0cnVlKSA8IHVuZGVmaW5lZCAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMzOiBuZXcgQm9vbGVhbih0cnVlKSA8IHVuZGVmaW5lZCA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM0CmlmICh1bmRlZmluZWQgPCBuZXcgQm9vbGVhbih0cnVlKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM0OiB1bmRlZmluZWQgPCBuZXcgQm9vbGVhbih0cnVlKSA9PT0gZmFsc2UnKTsKfQoK",
"commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x < y returns ToNumber(x) < ToNumber(y)",
"description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Boolean (primitive or object) and Undefined",
"path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A3.1_T2.8.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4IDwgeSByZXR1cm5zIFRvTnVtYmVyKHgpIDwgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMS9TMTEuOC4xX0EzLjFfVDIuOS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoUHJpbWl0aXZlKHkpKSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gQm9vbGVhbiAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIE51bGwKICovCgovL0NIRUNLIzEKaWYgKHRydWUgPCBudWxsICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IHRydWUgPCBudWxsID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYgKG51bGwgPCB0cnVlICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogbnVsbCA8IHRydWUgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgQm9vbGVhbih0cnVlKSA8IG51bGwgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMzogbmV3IEJvb2xlYW4odHJ1ZSkgPCBudWxsID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzQKaWYgKG51bGwgPCBuZXcgQm9vbGVhbih0cnVlKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6IG51bGwgPCBuZXcgQm9vbGVhbih0cnVlKSA9PT0gdHJ1ZScpOwp9Cgo=",
"commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x < y returns ToNumber(x) < ToNumber(y)",
"description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Boolean (primitive or object) and Null",
"path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A3.1_T2.9.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDwgeSByZXR1cm5zIFRvU3RyaW5nKHgpIDwgVG9TdHJpbmcoeSksIGlmIFR5cGUoUHJpbWl0aXZlKHgpKSBpcyBTdHJpbmcgYW5kIFR5cGUoUHJpbWl0aXZlKHkpKSBpcyBTdHJpbmcKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMS9TMTEuOC4xX0EzLjJfVDEuMS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGFuZCBUeXBlKFByaW1pdGl2ZSh5KSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBzdHJpbmcgYW5kIFN0cmluZyBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKCIxIiA8ICIxIiAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiAiMSIgPCAiMSIgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAobmV3IFN0cmluZygiMSIpIDwgIjEiICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6IG5ldyBTdHJpbmcoIjEiKSA8ICIxIiA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMzCmlmICgiMSIgPCBuZXcgU3RyaW5nKCIxIikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMzogIjEiIDwgbmV3IFN0cmluZygiMSIpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzQKaWYgKG5ldyBTdHJpbmcoIjEiKSA8IG5ldyBTdHJpbmcoIjEiKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM0OiBuZXcgU3RyaW5nKCIxIikgPCBuZXcgU3RyaW5nKCIxIikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoIngiIDwgIjEiICE9PSBmYWxzZSkgewogICRFUlJPUignIzU6ICJ4IiA8ICIxIiA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM2CmlmICgiMSIgPCAieCIgIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiAiMSIgPCAieCIgPT09IHRydWUnKTsKfQoK",
"commentary":"Operator x < y returns ToString(x) < ToString(y), if Type(Primitive(x)) is String and Type(Primitive(y)) is String",
"description":"Type(Primitive(x)) and Type(Primitive(y)) vary between primitive string and String object",
"path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A3.2_T1.1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDwgeSByZXR1cm5zIFRvU3RyaW5nKHgpIDwgVG9TdHJpbmcoeSksIGlmIFR5cGUoUHJpbWl0aXZlKHgpKSBpcyBTdHJpbmcgYW5kIFR5cGUoUHJpbWl0aXZlKHkpKSBpcyBTdHJpbmcKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMS9TMTEuOC4xX0EzLjJfVDEuMi5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGFuZCBUeXBlKFByaW1pdGl2ZSh5KSkgdmFyeSBiZXR3ZWVuIE9iamVjdCBvYmplY3QgYW5kIEZ1bmN0aW9uIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAoKHt9IDwgZnVuY3Rpb24oKXtyZXR1cm4gMX0pICE9PSAoe30udG9TdHJpbmcoKSA8IGZ1bmN0aW9uKCl7cmV0dXJuIDF9LnRvU3RyaW5nKCkpKSB7CiAgJEVSUk9SKCcjMTogKHt9IDwgZnVuY3Rpb24oKXtyZXR1cm4gMX0pID09PSAoe30udG9TdHJpbmcoKSA8IGZ1bmN0aW9uKCl7cmV0dXJuIDF9LnRvU3RyaW5nKCkpJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKGZ1bmN0aW9uKCl7cmV0dXJuIDF9IDwge30pICE9PSAoZnVuY3Rpb24oKXtyZXR1cm4gMX0udG9TdHJpbmcoKSA8IHt9LnRvU3RyaW5nKCkpKSB7CiAgJEVSUk9SKCcjMjogKGZ1bmN0aW9uKCl7cmV0dXJuIDF9IDwge30pID09PSAoZnVuY3Rpb24oKXtyZXR1cm4gMX0udG9TdHJpbmcoKSA8IHt9LnRvU3RyaW5nKCkpJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKGZ1bmN0aW9uKCl7cmV0dXJuIDF9IDwgZnVuY3Rpb24oKXtyZXR1cm4gMX0pICE9PSAoZnVuY3Rpb24oKXtyZXR1cm4gMX0udG9TdHJpbmcoKSA8IGZ1bmN0aW9uKCl7cmV0dXJuIDF9LnRvU3RyaW5nKCkpKSB7CiAgJEVSUk9SKCcjMzogKGZ1bmN0aW9uKCl7cmV0dXJuIDF9IDwgZnVuY3Rpb24oKXtyZXR1cm4gMX0pID09PSAoZnVuY3Rpb24oKXtyZXR1cm4gMX0udG9TdHJpbmcoKSA8IGZ1bmN0aW9uKCl7cmV0dXJuIDF9LnRvU3RyaW5nKCkpJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKHt9IDwge30pICE9PSAoe30udG9TdHJpbmcoKSA8IHt9LnRvU3RyaW5nKCkpKSB7CiAgJEVSUk9SKCcjNDogKHt9IDwge30pID09PSAoe30udG9TdHJpbmcoKSA8IHt9LnRvU3RyaW5nKCkpJyk7Cn0KCg==",
"commentary":"Operator x < y returns ToString(x) < ToString(y), if Type(Primitive(x)) is String and Type(Primitive(y)) is String",
"description":"Type(Primitive(x)) and Type(Primitive(y)) vary between Object object and Function object",
"path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A3.2_T1.2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIE5hTiwgcmV0dXJuIGZhbHNlIChpZiByZXN1bHQgaW4gMTEuOC41IGlzIHVuZGVmaW5lZCwgcmV0dXJuIGZhbHNlKQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC4xL1MxMS44LjFfQTQuMS5qcwogKiBAZGVzY3JpcHRpb24geSBpcyBudW1iZXIgcHJpbWl0aXZlCiAqLwoKLy9DSEVDSyMxCmlmICgoTnVtYmVyLk5hTiA8IDApICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IChOYU4gPCAwKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyCmlmICgoTnVtYmVyLk5hTiA8IDEuMSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogKE5hTiA8IDEuMSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKE51bWJlci5OYU4gPCAtMS4xKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMzOiAoTmFOIDwgLTEuMSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKE51bWJlci5OYU4gPCBOdW1iZXIuTmFOKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM0OiAoTmFOIDwgTmFOKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM1CmlmICgoTnVtYmVyLk5hTiA8IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogKE5hTiA8ICtJbmZpbml0eSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNgppZiAoKE51bWJlci5OYU4gPCBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpICE9PSBmYWxzZSkgewogICRFUlJPUignIzY6IChOYU4gPCAtSW5maW5pdHkpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzcKaWYgKChOdW1iZXIuTmFOIDwgTnVtYmVyLk1BWF9WQUxVRSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNzogKE5hTiA8IE51bWJlci5NQVhfVkFMVUUpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzgKaWYgKChOdW1iZXIuTmFOIDwgTnVtYmVyLk1JTl9WQUxVRSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjODogKE5hTiA8IE51bWJlci5NSU5fVkFMVUUpID09PSBmYWxzZScpOwp9CgoK",
"commentary":"If x is NaN, return false (if result in 11.8.5 is undefined, return false)",
"description":"y is number primitive",
"path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A4.1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB5IGlzIGEgcHJlZml4IG9mIHgsIHJldHVybiBmYWxzZQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC4xL1MxMS44LjFfQTQuMTAuanMKICogQGRlc2NyaXB0aW9uIHggYW5kIHkgYXJlIHN0cmluZyBwcmltaXRpdmVzCiAqLwoKLy9DSEVDSyMxCmlmICgoIngiIDwgIngiKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiAoIngiIDwgIngiKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyCmlmICgoIngiIDwgIiIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6ICgieCIgPCAiIikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKCJhYmNkIiA8ICJhYiIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6ICgiYWJjZCIgPCBhYiIpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzQKaWYgKCgiYWJjXHUwMDY0IiA8ICJhYmNkIikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogKCJhYmNcXHUwMDY0IiA8IGFiY2QiKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM1CmlmICgoIngiICsgInkiIDwgIngiKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM1OiAoIngiICsgInkiIDwgIngiKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM2CnZhciB4ID0gIngiOwppZiAoKHggKyAieSIgPCB4KSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM2OiB2YXIgeCA9ICJ4IjsgKHggKyAieSIgPCB4KSA9PT0gZmFsc2UnKTsKfQoKCg==",
"commentary":"If y is a prefix of x, return false",
"description":"x and y are string primitives",
"path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A4.10.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIGEgcHJlZml4IG9mIHkgYW5kIHggIT09IHksIHJldHVybiB0cnVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjEvUzExLjguMV9BNC4xMS5qcwogKiBAZGVzY3JpcHRpb24geCBhbmQgeSBhcmUgc3RyaW5nIHByaW1pdGl2ZXMKICovCgovL0NIRUNLIzEKaWYgKCgieCIgPCAieCAiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6ICgieCIgPCAieCAiKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKCgiIiA8ICJ4IikgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiAoIiIgPCAieCIpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKCJhYiIgPCAiYWJjZCIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogKCJhYiIgPCBhYmNkIikgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM0CmlmICgoImFiY2QiIDwgImFiY1x1MDA2NCIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzQ6ICgiYWJjZCIgPCBhYmNcXHUwMDY0IikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoKCJ4IiA8ICJ4IiArICJ5IikgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiAoIngiIDwgIngiICsgInkiKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzYKdmFyIHggPSAieCI7CmlmICgoeCA8IHggKyAieSIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNjogdmFyIHggPSAieCI7ICh4IDwgeCArICJ5IikgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM3CmlmICgoImFcdTAwMDAiIDwgImFcdTAwMDBhIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM3OiAoImFcXHUwMDAwIiA8ICJhXFx1MDAwMGEiKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzgKaWYgKCgieCIgPCAiIHgiKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM4OiAoIngiIDwgIiB4IikgPT09IGZhbHNlJyk7Cn0KCgoK",
"commentary":"If x is a prefix of y and x !== y, return true",
"description":"x and y are string primitives",
"path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A4.11.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBuZWl0aGVyIHgsIG5vciB5IGlzIGEgcHJlZml4IG9mIGVhY2ggb3RoZXIsIHJldHVybmVkIHJlc3VsdCBvZiBzdHJpbmdzIGNvbXBhcmlzb24gYXBwbGllcyBhIHNpbXBsZSBsZXhpY29ncmFwaGljIG9yZGVyaW5nIHRvIHRoZSBzZXF1ZW5jZXMgb2YgY29kZSBwb2ludCB2YWx1ZSB2YWx1ZXMKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMS9TMTEuOC4xX0E0LjEyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiB4IGFuZCB5IGFyZSBzdHJpbmcgcHJpbWl0aXZlcwogKi8KCi8vQ0hFQ0sjMQppZiAoKCJ4eCIgPCAieHkiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6ICgieHgiIDwgInh5IikgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCmlmICgoInh5IiA8ICJ4eCIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6ICgieHkiIDwgInh4IikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKCJ4IiA8ICJ5IikgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiAoIngiIDwgeSIpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKCJhYWIiIDwgImFiYSIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogKCJhYWIiIDwgYWJhIikgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM1CmlmICgoIlx1MDA2MVx1MDA2MVx1MDA2MVx1MDA2MiIgPCAiXHUwMDYxXHUwMDYxXHUwMDYxXHUwMDYxIikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogKCJcXHUwMDYxXFx1MDA2MVxcdTAwNjFcXHUwMDYyIiA8IFxcdTAwNjFcXHUwMDYxXFx1MDA2MVxcdTAwNjEiKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM2CmlmICgoImFcdTAwMDBhIiA8ICJhXHUwMDAwYiIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNjogKCJhXFx1MDAwMGEiIDwgImFcXHUwMDAwYiIpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNwppZiAoKCJhQiIgPCAiYWEiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzc6ICgiYUIiIDwgYWEiKSA9PT0gdHJ1ZScpOwp9Cgo=",
"commentary":"If neither x, nor y is a prefix of each other, returned result of strings comparison applies a simple lexicographic ordering to the sequences of code point value values",
"description":"x and y are string primitives",
"path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A4.12_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBuZWl0aGVyIHgsIG5vciB5IGlzIGEgcHJlZml4IG9mIGVhY2ggb3RoZXIsIHJldHVybmVkIHJlc3VsdCBvZiBzdHJpbmdzIGNvbXBhcmlzb24gYXBwbGllcyBhIHNpbXBsZSBsZXhpY29ncmFwaGljIG9yZGVyaW5nIHRvIHRoZSBzZXF1ZW5jZXMgb2YgY29kZSBwb2ludCB2YWx1ZSB2YWx1ZXMKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMS9TMTEuOC4xX0E0LjEyX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiB4IGFuZCB5IGFyZSBzdHJpbmcgcHJpbWl0aXZlcwogKi8KCi8vQ0hFQ0sjMQppZiAoKCIwIiA8ICJ4IikgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiAoIjAiIDwgIngiKSAhPT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKCgiLSIgPCAiMCIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogKCItIiA8ICIwIikgIT09IHRydWUnKTsKfQoKLy9DSEVDSyMzCmlmICgoIi4iIDwgIjAiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6ICgiLiIgPCAiMCIpICE9PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKCIrIiA8ICItIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiAoIisiIDwgIi0iKSAhPT0gdHJ1ZScpOwp9CgovL0NIRUNLIzUKaWYgKCgiLTAiIDwgIi0xIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiAoIi0wIiA8ICItMSIpICE9PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNgppZiAoKCIrMSIgPCAiLTEiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzY6ICgiKzEiIDwgIi0xIikgIT09IHRydWUnKTsKfQoKLy9DSEVDSyM3CmlmICgoIjEiIDwgIjFlLTEwIikgIT09IHRydWUpIHsKJEVSUk9SKCcjNzogKCIxIiA8ICIxZS0xMCIpICE9PSB0cnVlJyk7Cn0KCg==",
"commentary":"If neither x, nor y is a prefix of each other, returned result of strings comparison applies a simple lexicographic ordering to the sequences of code point value values",
"description":"x and y are string primitives",
"path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A4.12_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB5IGlzIE5hTiwgcmV0dXJuIGZhbHNlIChpZiByZXN1bHQgaW4gMTEuOC41IGlzIHVuZGVmaW5lZCwgcmV0dXJuIGZhbHNlKQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC4xL1MxMS44LjFfQTQuMi5qcwogKiBAZGVzY3JpcHRpb24geCBpcyBudW1iZXIgcHJpbWl0aXZlCiAqLwoKLy9DSEVDSyMxCmlmICgoMCA8IE51bWJlci5OYU4pICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6ICgwIDwgTmFOKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyCmlmICgoMS4xIDwgTnVtYmVyLk5hTikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogKDEuMSA8IE5hTikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKC0xLjEgPCBOdW1iZXIuTmFOKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMzOiAoLTEuMSA8IE5hTikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKE51bWJlci5OYU4gPCBOdW1iZXIuTmFOKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM0OiAoTmFOIDwgTmFOKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM1CmlmICgoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZIDwgTnVtYmVyLk5hTikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogKCtJbmZpbml0eSA8IE5hTikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNgppZiAoKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSA8IE51bWJlci5OYU4pICE9PSBmYWxzZSkgewogICRFUlJPUignIzY6ICgtSW5maW5pdHkgPCBOYU4pID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzcKaWYgKChOdW1iZXIuTUFYX1ZBTFVFIDwgTnVtYmVyLk5hTikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNzogKE51bWJlci5NQVhfVkFMVUUgPCBOYU4pID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzgKaWYgKChOdW1iZXIuTUlOX1ZBTFVFIDwgTnVtYmVyLk5hTikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjODogKE51bWJlci5NSU5fVkFMVUUgPCBOYU4pID09PSBmYWxzZScpOwp9CgoK",
"commentary":"If y is NaN, return false (if result in 11.8.5 is undefined, return false)",
"description":"x is number primitive",
"path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A4.2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGFuZCB5IGFyZSB0aGUgc2FtZSBudW1iZXIgdmFsdWUsIHJldHVybiBmYWxzZQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC4xL1MxMS44LjFfQTQuMy5qcwogKiBAZGVzY3JpcHRpb24geCBhbmQgeSBhcmUgbnVtYmVyIHByaW1pdGl2ZXMKICovCgovL0NIRUNLIzEKaWYgKCgxIDwgMSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogKDEgPCAxKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyCmlmICgoMS4xIDwgMS4xKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMyOiAoMS4xIDwgMS4xKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMzCmlmICgoLTEuMSA8IC0xLjEpICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6ICgtMS4xIDwgLTEuMSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSA8IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogKC1JbmZpbml0eSA8IC1JbmZpbml0eSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSA8IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogKCtJbmZpbml0eSA8ICtJbmZpbml0eSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNgppZiAoKE51bWJlci5NQVhfVkFMVUUgPCBOdW1iZXIuTUFYX1ZBTFVFKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM2OiAoTnVtYmVyLk1BWF9WQUxVRSA8IE51bWJlci5NQVhfVkFMVUUpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzcKaWYgKChOdW1iZXIuTUlOX1ZBTFVFIDwgTnVtYmVyLk1JTl9WQUxVRSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNzogKE51bWJlci5NSU5fVkFMVUUgPCBOdW1iZXIuTUlOX1ZBTFVFKSA9PT0gZmFsc2UnKTsKfQoKCgo=",
"commentary":"If x and y are the same number value, return false",
"description":"x and y are number primitives",
"path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A4.3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGFuZCB5IGFyZSArMCBhbmQgLTAsIHJldHVybiBmYWxzZQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC4xL1MxMS44LjFfQTQuNC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYWxsIGNvbWJpbmF0aW9ucwogKi8KCi8vQ0hFQ0sjMQppZiAoKDAgPCAwKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiAoMCA8IDApID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYgKCgtMCA8IC0wKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMyOiAoLTAgPCAtMCkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKCswIDwgLTApICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6ICgrMCA8IC0wKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM0CmlmICgoLTAgPCArMCkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogKC0wIDwgKzApID09PSBmYWxzZScpOwp9CgoK",
"commentary":"If x and y are +0 and -0, return false",
"description":"Checking all combinations",
"path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A4.4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzICtJbmZpbml0eSwgcmV0dXJuIGZhbHNlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjEvUzExLjguMV9BNC41LmpzCiAqIEBkZXNjcmlwdGlvbiB5IGlzIG51bWJlciBwcmltaXRpdmUKICovCgovL0NIRUNLIzEKaWYgKChOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgPCAwKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiAoK0luZmluaXR5IDwgMCkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSA8IDEuMSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogKCtJbmZpbml0eSA8IDEuMSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSA8IC0xLjEpICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6ICgrSW5maW5pdHkgPCAtMS4xKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM0CmlmICgoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZIDwgTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM0OiAoK0luZmluaXR5IDwgLUluZmluaXR5KSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM1CmlmICgoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZIDwgTnVtYmVyLk1BWF9WQUxVRSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogKCtJbmZpbml0eSA8IE51bWJlci5NQVhfVkFMVUUpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzYKaWYgKChOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgPCBOdW1iZXIuTUlOX1ZBTFVFKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM2OiAoK0luZmluaXR5IDwgTnVtYmVyLk1JTl9WQUxVRSkgPT09IGZhbHNlJyk7Cn0KCgo=",
"commentary":"If x is +Infinity, return false",
"description":"y is number primitive",
"path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A4.5.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB5IGlzICtJbmZpbml0eSBhbmQgeCAhPT0geSwgcmV0dXJuIHRydWUKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMS9TMTEuOC4xX0E0LjYuanMKICogQGRlc2NyaXB0aW9uIHggaXMgbnVtYmVyIHByaW1pdGl2ZQogKi8KCi8vQ0hFQ0sjMQppZiAoKDAgPCBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogKDAgPCArSW5maW5pdHkpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKDEuMSA8IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiAoMS4xIDwgK0luZmluaXR5KSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzMKaWYgKCgtMS4xIDwgTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6ICgtMS4xIDwgK0luZmluaXR5KSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzQKaWYgKChOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgPCBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogKC1JbmZpbml0eSA8ICtJbmZpbml0eSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM1CmlmICgoTnVtYmVyLk1BWF9WQUxVRSA8IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiAoTnVtYmVyLk1BWF9WQUxVRSA8ICtJbmZpbml0eSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM2CmlmICgoTnVtYmVyLk1JTl9WQUxVRSA8IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiAoTnVtYmVyLk1JTl9WQUxVRSA8ICtJbmZpbml0eSkgPT09IHRydWUnKTsKfQoKCg==",
"commentary":"If y is +Infinity and x !== y, return true",
"description":"x is number primitive",
"path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A4.6.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIC1JbmZpbml0eSBhbmQgeCAhPT0geSwgcmV0dXJuIHRydWUKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMS9TMTEuOC4xX0E0LjcuanMKICogQGRlc2NyaXB0aW9uIHkgaXMgbnVtYmVyIHByaW1pdGl2ZQogKi8KCi8vQ0hFQ0sjMQppZiAoKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSA8IDApICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogKC1JbmZpbml0eSA8IDApID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSA8IDEuMSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiAoLUluZmluaXR5IDwgMS4xKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzMKaWYgKChOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgPCAtMS4xKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6ICgtSW5maW5pdHkgPCAtMS4xKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzQKaWYgKChOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgPCBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogKC1JbmZpbml0eSA8ICtJbmZpbml0eSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM1CmlmICgoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZIDwgTnVtYmVyLk1BWF9WQUxVRSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiAoLUluZmluaXR5IDwgTnVtYmVyLk1BWF9WQUxVRSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM2CmlmICgoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZIDwgTnVtYmVyLk1JTl9WQUxVRSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiAoLUluZmluaXR5IDwgTnVtYmVyLk1JTl9WQUxVRSkgPT09IHRydWUnKTsKfQoKCg==",
"commentary":"If x is -Infinity and x !== y, return true",
"description":"y is number primitive",
"path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A4.7.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB5IGlzIC1JbmZpbml0eSwgcmV0dXJuIGZhbHNlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjEvUzExLjguMV9BNC44LmpzCiAqIEBkZXNjcmlwdGlvbiB4IGlzIG51bWJlciBwcmltaXRpdmUKICovCgovL0NIRUNLIzEKaWYgKCgwIDwgTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiAoMCA8IC1JbmZpbml0eSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKDEuMSA8IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogKDEuMSA8IC1JbmZpbml0eSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKC0xLjEgPCBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6ICgtMS4xIDwgLUluZmluaXR5KSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM0CmlmICgoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZIDwgTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM0OiAoK0luZmluaXR5IDwgLUluZmluaXR5KSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM1CmlmICgoTnVtYmVyLk1BWF9WQUxVRSA8IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogKE51bWJlci5NQVhfVkFMVUUgPCAtSW5maW5pdHkpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzYKaWYgKChOdW1iZXIuTUlOX1ZBTFVFIDwgTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM2OiAoTnVtYmVyLk1JTl9WQUxVRSA8IC1JbmZpbml0eSkgPT09IGZhbHNlJyk7Cn0KCgo=",
"commentary":"If y is -Infinity, return false",
"description":"x is number primitive",
"path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A4.8.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIGxlc3MgdGhhbiB5IGFuZCB0aGVzZSB2YWx1ZXMgYXJlIGJvdGggZmluaXRlIG5vbi16ZXJvLCByZXR1cm4gdHJ1ZTsgb3RoZXJ3aXNlLCByZXR1cm4gZmFsc2UKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMS9TMTEuOC4xX0E0LjkuanMKICogQGRlc2NyaXB0aW9uIHggYW5kIHkgYXJlIG51bWJlciBwcmltaXRpdmVzCiAqLwoKLy9DSEVDSyMxCmlmICgoMS4xIDwgMSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogKDEuMSA8IDEpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYgKCgxIDwgMS4xKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6ICgxIDwgMS4xKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzMKaWYgKCgtMS4xIDwgLTEpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogKC0xLjEgPCAtMSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM0CmlmICgoLTEgPCAtMS4xKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM0OiAoLTEgPCAtMS4xKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM1CmlmICgoMCA8IDAuMSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiAoMCA8IDAuMSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM2CmlmICgoLTAuMSA8IDApICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNjogKC0wLjEgPCAwKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzcKaWYgKChOdW1iZXIuTUFYX1ZBTFVFLzIgPCBOdW1iZXIuTUFYX1ZBTFVFKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzc6IChOdW1iZXIuTUFYX1ZBTFVFLzIgPCBOdW1iZXIuTUFYX1ZBTFVFKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzgKaWYgKChOdW1iZXIuTUlOX1ZBTFVFIDwgTnVtYmVyLk1JTl9WQUxVRSoyKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzg6IChOdW1iZXIuTUlOX1ZBTFVFIDwgTnVtYmVyLk1JTl9WQUxVRSoyKSA9PT0gdHJ1ZScpOwp9CgoKCg==",
"commentary":"If x is less than y and these values are both finite non-zero, return true; otherwise, return false",
"description":"x and y are number primitives",
"path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A4.9.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS44LzExLjguMi8xMS44LjItMS5qcw0KICogQGRlc2NyaXB0aW9uIDExLjguMiBHcmVhdGVyLXRoYW4gT3BlcmF0b3IgLSBQYXJ0aWFsIGxlZnQgdG8gcmlnaHQgb3JkZXIgZW5mb3JjZWQgd2hlbiB1c2luZyBHcmVhdGVyLXRoYW4gb3BlcmF0b3I6IHZhbHVlT2YgPiB2YWx1ZU9mDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBvYmoxID0gew0KICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCiAgICAgICAgdmFyIG9iajIgPSB7DQogICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgaWYgKGFjY2Vzc2VkID09PSB0cnVlKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiA0Ow0KICAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCiAgICAgICAgcmV0dXJuICEob2JqMSA+IG9iajIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==",
"commentary":"",
"description":"11.8.2 Greater-than Operator - Partial left to right order enforced when using Greater-than operator: valueOf > valueOf",
"path":"TestCases/ch11/11.8/11.8.2/11.8.2-1.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS44LzExLjguMi8xMS44LjItMi5qcw0KICogQGRlc2NyaXB0aW9uIDExLjguMiBHcmVhdGVyLXRoYW4gT3BlcmF0b3IgLSBQYXJ0aWFsIGxlZnQgdG8gcmlnaHQgb3JkZXIgZW5mb3JjZWQgd2hlbiB1c2luZyBHcmVhdGVyLXRoYW4gb3BlcmF0b3I6IHZhbHVlT2YgPiB0b1N0cmluZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgb2JqMSA9IHsNCiAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIDM7DQogICAgICAgICAgICB9DQogICAgICAgIH07DQogICAgICAgIHZhciBvYmoyID0gew0KICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBpZiAoYWNjZXNzZWQgPT09IHRydWUpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDQ7DQogICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KICAgICAgICByZXR1cm4gIShvYmoxID4gb2JqMik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K",
"commentary":"",
"description":"11.8.2 Greater-than Operator - Partial left to right order enforced when using Greater-than operator: valueOf > toString",
"path":"TestCases/ch11/11.8/11.8.2/11.8.2-2.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS44LzExLjguMi8xMS44LjItMy5qcw0KICogQGRlc2NyaXB0aW9uIDExLjguMiBHcmVhdGVyLXRoYW4gT3BlcmF0b3IgLSBQYXJ0aWFsIGxlZnQgdG8gcmlnaHQgb3JkZXIgZW5mb3JjZWQgd2hlbiB1c2luZyBHcmVhdGVyLXRoYW4gb3BlcmF0b3I6IHRvU3RyaW5nID4gdmFsdWVPZg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgb2JqMSA9IHsNCiAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAzOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KICAgICAgICB2YXIgb2JqMiA9IHsNCiAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBpZiAoYWNjZXNzZWQgPT09IHRydWUpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDQ7DQogICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KICAgICAgICByZXR1cm4gIShvYmoxID4gb2JqMik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K",
"commentary":"",
"description":"11.8.2 Greater-than Operator - Partial left to right order enforced when using Greater-than operator: toString > valueOf",
"path":"TestCases/ch11/11.8/11.8.2/11.8.2-3.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS44LzExLjguMi8xMS44LjItNC5qcw0KICogQGRlc2NyaXB0aW9uIDExLjguMiBHcmVhdGVyLXRoYW4gT3BlcmF0b3IgLSBQYXJ0aWFsIGxlZnQgdG8gcmlnaHQgb3JkZXIgZW5mb3JjZWQgd2hlbiB1c2luZyBHcmVhdGVyLXRoYW4gb3BlcmF0b3I6IHRvU3RyaW5nID4gdG9TdHJpbmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIG9iajEgPSB7DQogICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCiAgICAgICAgdmFyIG9iajIgPSB7DQogICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGlmIChhY2Nlc3NlZCA9PT0gdHJ1ZSkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gNDsNCiAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH07DQogICAgICAgIHJldHVybiAhKG9iajEgPiBvYmoyKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=",
"commentary":"",
"description":"11.8.2 Greater-than Operator - Partial left to right order enforced when using Greater-than operator: toString > toString",
"path":"TestCases/ch11/11.8/11.8.2/11.8.2-4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gUmVsYXRpb25hbEV4cHJlc3Npb24gYW5kICI+IiBvciAiPiIgYW5kIFNoaWZ0RXhwcmVzc2lvbiBhcmUgYWxsb3dlZAogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC4yL1MxMS44LjJfQTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGJ5IHVzaW5nIGV2YWwKICovCgovL0NIRUNLIzEKaWYgKGV2YWwoIjBcdTAwMDk+XHUwMDA5MSIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IDBcXHUwMDA5PlxcdTAwMDkxKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyCmlmIChldmFsKCIwXHUwMDBCPlx1MDAwQjEiKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMyOiAwXFx1MDAwQj5cXHUwMDBCMSkgPT09IGZhbHNlJyk7ICAKfQoKLy9DSEVDSyMzCmlmIChldmFsKCIwXHUwMDBDPlx1MDAwQzEiKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMzOiAoMFxcdTAwMEM+XFx1MDAwQzEpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzQKaWYgKGV2YWwoIjBcdTAwMjA+XHUwMDIwMSIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzQ6ICgwXFx1MDAyMD5cXHUwMDIwMSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoZXZhbCgiMFx1MDBBMD5cdTAwQTAxIikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogKDBcXHUwMEEwPlxcdTAwQTAxKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM2CmlmIChldmFsKCIwXHUwMDBBPlx1MDAwQTEiKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM2OiAoMFxcdTAwMEE+XFx1MDAwQTEpID09PSBmYWxzZScpOyAgCn0KCi8vQ0hFQ0sjNwppZiAoZXZhbCgiMFx1MDAwRD5cdTAwMEQxIikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNzogKDBcXHUwMDBEPlxcdTAwMEQxKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM4CmlmIChldmFsKCIwXHUyMDI4Plx1MjAyODEiKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM4OiAoMFxcdTIwMjg+XFx1MjAyODEpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzkKaWYgKGV2YWwoIjBcdTIwMjk+XHUyMDI5MSIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzk6ICgwXFx1MjAyOT5cXHUyMDI5MSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMTAKaWYgKGV2YWwoIjFcdTAwMDlcdTAwMEJcdTAwMENcdTAwMjBcdTAwQTBcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjk+PVx1MDAwOVx1MDAwQlx1MDAwQ1x1MDAyMFx1MDBBMFx1MDAwQVx1MDAwRFx1MjAyOFx1MjAyOTEiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzEwOiAoMVxcdTAwMDlcXHUwMDBCXFx1MDAwQ1xcdTAwMjBcXHUwMEEwXFx1MDAwQVxcdTAwMERcXHUyMDI4XFx1MjAyOT49XFx1MDAwOVxcdTAwMEJcXHUwMDBDXFx1MDAyMFxcdTAwQTBcXHUwMDBBXFx1MDAwRFxcdTIwMjhcXHUyMDI5MSkgPT09IHRydWUnKTsKfQoK",
"commentary":"White Space and Line Terminator between RelationalExpression and \">\" or \">\" and ShiftExpression are allowed",
"description":"Checking by using eval",
"path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4geSB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjIvUzExLjguMl9BMi4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBFaXRoZXIgVHlwZSBpcyBub3QgUmVmZXJlbmNlIG9yIEdldEJhc2UgaXMgbm90IG51bGwKICovCgovL0NIRUNLIzEKaWYgKDIgPiAxICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogMiA+IDEgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gMjsKaWYgKHggPiAxICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSAyOyB4ID4gMSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzMKdmFyIHkgPSAxOwppZiAoMiA+IHkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiB2YXIgeSA9IDE7IDIgPiB5ID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNAp2YXIgeCA9IDI7CnZhciB5ID0gMTsKaWYgKHggPiB5ICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSAyOyB2YXIgeSA9IDE7IHggPiB5ID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNQp2YXIgb2JqZWN0eCA9IG5ldyBPYmplY3QoKTsKdmFyIG9iamVjdHkgPSBuZXcgT2JqZWN0KCk7Cm9iamVjdHgucHJvcCA9IDI7Cm9iamVjdHkucHJvcCA9IDE7CmlmIChvYmplY3R4LnByb3AgPiBvYmplY3R5LnByb3AgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiB2YXIgb2JqZWN0eCA9IG5ldyBPYmplY3QoKTsgdmFyIG9iamVjdHkgPSBuZXcgT2JqZWN0KCk7IG9iamVjdHgucHJvcCA9IDI7IG9iamVjdHkucHJvcCA9IDE7IG9iamVjdHgucHJvcCA+IG9iamVjdHkucHJvcCA9PT0gdHJ1ZScpOwp9Cgo=",
"commentary":"Operator x > y uses GetValue",
"description":"Either Type is not Reference or GetBase is not null",
"path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A2.1_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4geSB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjIvUzExLjguMl9BMi4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBHZXRCYXNlKHgpIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgeCA+IDE7CiAgJEVSUk9SKCcjMS4xOiB4ID4gMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHggPiAxKSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiB4ID4gMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoKCg==",
"commentary":"Operator x > y uses GetValue",
"description":"If GetBase(x) is null, throw ReferenceError",
"path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A2.1_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4geSB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjIvUzExLjguMl9BMi4xX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBHZXRCYXNlKHkpIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgMSA+IHk7CiAgJEVSUk9SKCcjMS4xOiAxID4geSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKDEgPiB5KSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiAxID4geSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoKCg==",
"commentary":"Operator x > y uses GetValue",
"description":"If GetBase(y) is null, throw ReferenceError",
"path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A2.1_T3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4geSB1c2VzIFtbRGVmYXVsdCBWYWx1ZV1dCiAqCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjIvUzExLjguMl9BMi4yX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBUeXBlKHZhbHVlKSBpcyBPYmplY3QsIGV2YWx1YXRlIFRvUHJpbWl0aXZlKHZhbHVlLCBOdW1iZXIpCiAqLwoKLy9DSEVDSyMxCmlmICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDJ9fSA+IDEgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSA+IDEgPT09IHRydWUuIEFjdHVhbDogJyArICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSA+IDEpKTsKfQoKLy9DSEVDSyMyCmlmICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSA+IDEgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDJ9fSA+IDEgPT09IHRydWUuIEFjdHVhbDogJyArICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDJ9fSA+IDEpKTsKfQoKLy9DSEVDSyMzCmlmICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0gPiAxICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzoge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19ID4gMSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSA+IDEpKTsKfQoKLy9DSEVDSyM0CnRyeSB7CiAgaWYgKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gPiAxICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyM0LjE6IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gPiAxID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fSA+IDEpKTsKICB9Cn0KY2F0Y2ggKGUpIHsKICBpZiAoZSA9PT0gImVycm9yIikgewogICAgJEVSUk9SKCcjNC4yOiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19ID4gMSBub3QgdGhyb3cgImVycm9yIicpOwogIH0gZWxzZSB7CiAgICAkRVJST1IoJyM0LjM6IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gPiAxIG5vdCB0aHJvdyBFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCi8vQ0hFQ0sjNQppZiAoMSA+IHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzU6IDEgPiB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX0gPT09IHRydWUuIEFjdHVhbDogJyArICgxID4ge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19KSk7Cn0KCi8vQ0hFQ0sjNgppZiAoMSA+IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzY6IDEgPiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX0gPT09IHRydWUuIEFjdHVhbDogJyArICgxID4ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19KSk7Cn0KCi8vQ0hFQ0sjNwp0cnkgewogIDEgPiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19OwogICRFUlJPUignIzcuMTogMSA+IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX0gdGhyb3cgImVycm9yIi4gQWN0dWFsOiAnICsgKDEgPiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19KSk7Cn0gIApjYXRjaCAoZSkgewogIGlmIChlICE9PSAiZXJyb3IiKSB7CiAgICAkRVJST1IoJyM3LjI6IDEgPiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19IHRocm93ICJlcnJvciIuIEFjdHVhbDogJyArIChlKSk7CiAgfSAKfQoKLy9DSEVDSyM4CnRyeSB7CiAgMSA+IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07CiAgJEVSUk9SKCcjOC4xOiAxID4ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArICgxID4ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSkpOwp9ICAKY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyM4LjI6IDEgPiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19IHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9IAp9Cgo=",
"commentary":"Operator x > y uses [[Default Value]]",
"description":"If Type(value) is Object, evaluate ToPrimitive(value, Number)",
"path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A2.2_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJbiBFUzUsIEZpcnN0IGV4cHJlc3Npb24gc2hvdWxkIGJlIGV2YWx1YXRlZCBmaXJzdC4KICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMi9TMTEuOC4yX0EyLjNfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHRoYXQgb3BlcmFuZHMgb2YgYSAiPCIgZXZhbHVhdGUgbGVmdC10by1yaWdodAogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieCI7IH0gfTsKdmFyIHkgPSB7IHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9IH07CnRyeSB7CiAgIHggPiB5OwogICAkRVJST1IoJyMxLjE6IFNob3VsZCBoYXZlIHRocm93bicpOwp9IGNhdGNoIChlKSB7CiAgIGlmIChlID09PSAieSIpIHsKICAgICAkRVJST1IoJyMxLjI6IEZpcnN0IGV4cHJlc3Npb24gc2hvdWxkIGJlIGV2YWx1YXRlZCBmaXJzdCcpOwogICB9IGVsc2UgewogICAgIGlmIChlICE9PSAieCIpIHsKICAgICAgICRFUlJPUignIzEuMzogRmFpbGVkIHdpdGg6ICcgKyBlKTsKICAgICB9CiAgIH0KfQoK",
"commentary":"In ES5, First expression should be evaluated first.",
"description":"Checking that operands of a \"<\" evaluate left-to-right",
"path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A2.3_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMi9TMTEuOC4yX0EyLjRfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggIj0iCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gMDsgCmlmICgoeCA9IDEpID4geCAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IDA7ICh4ID0gMSkgPiB4ID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAxOyAKaWYgKHggPiAoeCA9IDApICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSAxOyB4ID4gKHggPSAwKSA9PT0gdHJ1ZScpOwp9CgoK",
"commentary":"First expression is evaluated first, and then second expression",
"description":"Checking with \"=\"",
"path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A2.4_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMi9TMTEuOC4yX0EyLjRfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggInRocm93IgogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9Owp2YXIgeSA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9Owp0cnkgewogICB4KCkgPiB5KCk7CiAgICRFUlJPUignIzEuMTogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpID4geSgpIHRocm93ICJ4Ii4gQWN0dWFsOiAnICsgKHgoKSA+IHkoKSkpOwp9IGNhdGNoIChlKSB7CiAgIGlmIChlID09PSAieSIpIHsKICAgICAkRVJST1IoJyMxLjI6IEZpcnN0IGV4cHJlc3Npb24gaXMgZXZhbHVhdGVkIGZpcnN0LCBhbmQgdGhlbiBzZWNvbmQgZXhwcmVzc2lvbicpOwogICB9IGVsc2UgewogICAgIGlmIChlICE9PSAieCIpIHsKICAgICAgICRFUlJPUignIzEuMzogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpID4geSgpIHRocm93ICJ4Ii4gQWN0dWFsOiAnICsgKGUpKTsKICAgICB9CiAgIH0KfQoK",
"commentary":"First expression is evaluated first, and then second expression",
"description":"Checking with \"throw\"",
"path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A2.4_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMi9TMTEuOC4yX0EyLjRfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggdW5kZWNsYXJhdGVkIHZhcmlhYmxlcwogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHggPiAoeCA9IDEpOwogICRFUlJPUignIzEuMTogeCA+ICh4ID0gMSkgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArICh4ID4gKHggPSAxKSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogeCA+ICh4ID0gMSkgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7ICAKICB9Cn0KCi8vQ0hFQ0sjMgppZiAoKHkgPSAxKSA+IHkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogKHkgPSAxKSA+IHkgPT09IGZhbHNlJyk7Cn0KCgo=",
"commentary":"First expression is evaluated first, and then second expression",
"description":"Checking with undeclarated variables",
"path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A2.4_T3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4ID4geSByZXR1cm5zIFRvTnVtYmVyKHgpID4gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMi9TMTEuOC4yX0EzLjFfVDEuMS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGFuZCBUeXBlKFByaW1pdGl2ZSh5KSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBib29sZWFuIGFuZCBCb29sZWFuIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAodHJ1ZSA+IHRydWUgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogdHJ1ZSA+IHRydWUgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAobmV3IEJvb2xlYW4odHJ1ZSkgPiB0cnVlICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6IG5ldyBCb29sZWFuKHRydWUpID4gdHJ1ZSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMzCmlmICh0cnVlID4gbmV3IEJvb2xlYW4odHJ1ZSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMzogdHJ1ZSA+IG5ldyBCb29sZWFuKHRydWUpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzQKaWYgKG5ldyBCb29sZWFuKHRydWUpID4gbmV3IEJvb2xlYW4odHJ1ZSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogbmV3IEJvb2xlYW4odHJ1ZSkgPiBuZXcgQm9vbGVhbih0cnVlKSA9PT0gZmFsc2UnKTsKfQoK",
"commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x > y returns ToNumber(x) > ToNumber(y)",
"description":"Type(Primitive(x)) and Type(Primitive(y)) vary between primitive boolean and Boolean object",
"path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A3.1_T1.1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4ID4geSByZXR1cm5zIFRvTnVtYmVyKHgpID4gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMi9TMTEuOC4yX0EzLjFfVDEuMi5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGFuZCBUeXBlKFByaW1pdGl2ZSh5KSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBudW1iZXIgYW5kIE51bWJlciBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKDEgPiAxICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IDEgPiAxID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYgKG5ldyBOdW1iZXIoMSkgPiAxICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6IG5ldyBOdW1iZXIoMSkgPiAxID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzMKaWYgKDEgPiBuZXcgTnVtYmVyKDEpICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6IDEgPiBuZXcgTnVtYmVyKDEpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzQKaWYgKG5ldyBOdW1iZXIoMSkgPiBuZXcgTnVtYmVyKDEpICE9PSBmYWxzZSkgewogICRFUlJPUignIzQ6IG5ldyBOdW1iZXIoMSkgPiBuZXcgTnVtYmVyKDEpID09PSBmYWxzZScpOwp9CgoK",
"commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x > y returns ToNumber(x) > ToNumber(y)",
"description":"Type(Primitive(x)) and Type(Primitive(y)) vary between primitive number and Number object",
"path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A3.1_T1.2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4ID4geSByZXR1cm5zIFRvTnVtYmVyKHgpID4gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMi9TMTEuOC4yX0EzLjFfVDEuMy5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGFuZCBUeXBlKFByaW1pdGl2ZSh5KSkgdmFyeSBiZXR3ZWVuIE51bGwgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQppZiAobnVsbCA+IHVuZGVmaW5lZCAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBudWxsID4gdW5kZWZpbmVkID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYgKHVuZGVmaW5lZCA+IG51bGwgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogdW5kZWZpbmVkID4gbnVsbCA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMzCmlmICh1bmRlZmluZWQgPiB1bmRlZmluZWQgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMzogdW5kZWZpbmVkID4gdW5kZWZpbmVkID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzQKaWYgKG51bGwgPiBudWxsICE9PSBmYWxzZSkgewogICRFUlJPUignIzQ6IG51bGwgPiBudWxsID09PSBmYWxzZScpOwp9Cgo=",
"commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x > y returns ToNumber(x) > ToNumber(y)",
"description":"Type(Primitive(x)) and Type(Primitive(y)) vary between Null and Undefined",
"path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A3.1_T1.3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4ID4geSByZXR1cm5zIFRvTnVtYmVyKHgpID4gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMi9TMTEuOC4yX0EzLjFfVDIuMS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoUHJpbWl0aXZlKHkpKSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgQm9vbGVhbiAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCmlmICh0cnVlID4gMSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiB0cnVlID4gMSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyCmlmICgxID4gdHJ1ZSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMyOiAxID4gdHJ1ZSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgQm9vbGVhbih0cnVlKSA+IDEgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMzogbmV3IEJvb2xlYW4odHJ1ZSkgPiAxID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzQKaWYgKDEgPiBuZXcgQm9vbGVhbih0cnVlKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM0OiAxID4gbmV3IEJvb2xlYW4odHJ1ZSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNQppZiAodHJ1ZSA+IG5ldyBOdW1iZXIoMSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogdHJ1ZSA+IG5ldyBOdW1iZXIoMSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNgppZiAobmV3IE51bWJlcigxKSA+IHRydWUgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNjogbmV3IE51bWJlcigxKSA+IHRydWUgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNwppZiAobmV3IEJvb2xlYW4odHJ1ZSkgPiBuZXcgTnVtYmVyKDEpICE9PSBmYWxzZSkgewogICRFUlJPUignIzc6IG5ldyBCb29sZWFuKHRydWUpID4gbmV3IE51bWJlcigxKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM4CmlmIChuZXcgTnVtYmVyKDEpID4gbmV3IEJvb2xlYW4odHJ1ZSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjODogbmV3IE51bWJlcigxKSA+IG5ldyBCb29sZWFuKHRydWUpID09PSBmYWxzZScpOwp9Cgo=",
"commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x > y returns ToNumber(x) > ToNumber(y)",
"description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Number (primitive or object) and Boolean (primitive and object)",
"path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A3.1_T2.1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4ID4geSByZXR1cm5zIFRvTnVtYmVyKHgpID4gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMi9TMTEuOC4yX0EzLjFfVDIuMi5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoUHJpbWl0aXZlKHkpKSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgU3RyaW5nIChwcmltaXRpdmUgYW5kIG9iamVjdCkKICovCgovL0NIRUNLIzEKaWYgKCIxIiA+IDEgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogIjEiID4gMSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyCmlmICgxID4gIjEiICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6IDEgPiAiMSIgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAobmV3IFN0cmluZygiMSIpID4gMSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMzOiBuZXcgU3RyaW5nKCIxIikgPiAxID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzQKaWYgKDEgPiBuZXcgU3RyaW5nKCIxIikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogMSA+IG5ldyBTdHJpbmcoIjEiKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM1CmlmICgiMSIgPiBuZXcgTnVtYmVyKDEpICE9PSBmYWxzZSkgewogICRFUlJPUignIzU6ICIxIiA+IG5ldyBOdW1iZXIoMSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNgppZiAobmV3IE51bWJlcigxKSA+ICIxIiAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM2OiBuZXcgTnVtYmVyKDEpID4gIjEiID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzcKaWYgKG5ldyBTdHJpbmcoIjEiKSA+IG5ldyBOdW1iZXIoMSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNzogbmV3IFN0cmluZygiMSIpID4gbmV3IE51bWJlcigxKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM4CmlmIChuZXcgTnVtYmVyKDEpID4gbmV3IFN0cmluZygiMSIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzg6IG5ldyBOdW1iZXIoMSkgPiBuZXcgU3RyaW5nKCIxIikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjOQppZiAoIngiID4gMSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM5OiAieCIgPiAxID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzEwCmlmICgxID4gIngiICE9PSBmYWxzZSkgewogICRFUlJPUignIzEwOiAxID4gIngiID09PSBmYWxzZScpOwp9Cgo=",
"commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x > y returns ToNumber(x) > ToNumber(y)",
"description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Number (primitive or object) and String (primitive and object)",
"path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A3.1_T2.2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4ID4geSByZXR1cm5zIFRvTnVtYmVyKHgpID4gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMi9TMTEuOC4yX0EzLjFfVDIuMy5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoUHJpbWl0aXZlKHkpKSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQppZiAoMSA+IG51bGwgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiAxID4gbnVsbCA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKG51bGwgPiAxICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6IG51bGwgPiAxID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBOdW1iZXIoMSkgPiBudWxsICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogbmV3IE51bWJlcigxKSA+IG51bGwgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM0CmlmIChudWxsID4gbmV3IE51bWJlcigxKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM0OiBudWxsID4gbmV3IE51bWJlcigxKSA9PT0gZmFsc2UnKTsKfQoK",
"commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x > y returns ToNumber(x) > ToNumber(y)",
"description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Number (primitive or object) and Null",
"path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A3.1_T2.3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4ID4geSByZXR1cm5zIFRvTnVtYmVyKHgpID4gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMi9TMTEuOC4yX0EzLjFfVDIuNC5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoUHJpbWl0aXZlKHkpKSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCmlmICgxID4gdW5kZWZpbmVkICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IDEgPiB1bmRlZmluZWQgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAodW5kZWZpbmVkID4gMSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMyOiB1bmRlZmluZWQgPiAxID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBOdW1iZXIoMSkgPiB1bmRlZmluZWQgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMzogbmV3IE51bWJlcigxKSA+IHVuZGVmaW5lZCA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM0CmlmICh1bmRlZmluZWQgPiBuZXcgTnVtYmVyKDEpICE9PSBmYWxzZSkgewogICRFUlJPUignIzQ6IHVuZGVmaW5lZCA+IG5ldyBOdW1iZXIoMSkgPT09IGZhbHNlJyk7Cn0KCg==",
"commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x > y returns ToNumber(x) > ToNumber(y)",
"description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Number (primitive or object) and Undefined",
"path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A3.1_T2.4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4ID4geSByZXR1cm5zIFRvTnVtYmVyKHgpID4gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMi9TMTEuOC4yX0EzLjFfVDIuNS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoUHJpbWl0aXZlKHkpKSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgQm9vbGVhbiAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCmlmICh0cnVlID4gIjEiICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IHRydWUgPiAiMSIgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoIjEiID4gdHJ1ZSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMyOiAiMSIgPiB0cnVlID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBCb29sZWFuKHRydWUpID4gIjEiICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6IG5ldyBCb29sZWFuKHRydWUpID4gIjEiID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzQKaWYgKCIxIiA+IG5ldyBCb29sZWFuKHRydWUpICE9PSBmYWxzZSkgewogICRFUlJPUignIzQ6ICIxIiA+IG5ldyBCb29sZWFuKHRydWUpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzUKaWYgKHRydWUgPiBuZXcgU3RyaW5nKCIxIikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogdHJ1ZSA+IG5ldyBTdHJpbmcoIjEiKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM2CmlmIChuZXcgU3RyaW5nKCIxIikgPiB0cnVlICE9PSBmYWxzZSkgewogICRFUlJPUignIzY6IG5ldyBTdHJpbmcoIjEiKSA+IHRydWUgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNwppZiAobmV3IEJvb2xlYW4odHJ1ZSkgPiBuZXcgU3RyaW5nKCIxIikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNzogbmV3IEJvb2xlYW4odHJ1ZSkgPiBuZXcgU3RyaW5nKCIxIikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjOAppZiAobmV3IFN0cmluZygiMSIpID4gbmV3IEJvb2xlYW4odHJ1ZSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjODogbmV3IFN0cmluZygiMSIpID4gbmV3IEJvb2xlYW4odHJ1ZSkgPT09IGZhbHNlJyk7Cn0KCg==",
"commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x > y returns ToNumber(x) > ToNumber(y)",
"description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between String (primitive or object) and Boolean (primitive and object)",
"path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A3.1_T2.5.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4ID4geSByZXR1cm5zIFRvTnVtYmVyKHgpID4gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMi9TMTEuOC4yX0EzLjFfVDIuNi5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoUHJpbWl0aXZlKHkpKSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCmlmICgiMSIgPiB1bmRlZmluZWQgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogIjEiID4gdW5kZWZpbmVkID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYgKHVuZGVmaW5lZCA+ICIxIiAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMyOiB1bmRlZmluZWQgPiAiMSIgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAobmV3IFN0cmluZygiMSIpID4gdW5kZWZpbmVkICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6IG5ldyBTdHJpbmcoIjEiKSA+IHVuZGVmaW5lZCA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM0CmlmICh1bmRlZmluZWQgPiBuZXcgU3RyaW5nKCIxIikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogdW5kZWZpbmVkID4gbmV3IFN0cmluZygiMSIpID09PSBmYWxzZScpOwp9Cgo=",
"commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x > y returns ToNumber(x) > ToNumber(y)",
"description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between String (primitive or object) and Undefined",
"path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A3.1_T2.6.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4ID4geSByZXR1cm5zIFRvTnVtYmVyKHgpID4gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMi9TMTEuOC4yX0EzLjFfVDIuNy5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoUHJpbWl0aXZlKHkpKSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQppZiAoIjEiID4gbnVsbCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6ICIxIiA+IG51bGwgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCmlmIChudWxsID4gIjEiICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6IG51bGwgPiAiMSIgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAobmV3IFN0cmluZygiMSIpID4gbnVsbCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IG5ldyBTdHJpbmcoIjEiKSA+IG51bGwgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM0CmlmIChudWxsID4gbmV3IFN0cmluZygiMSIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzQ6IG51bGwgPiBuZXcgU3RyaW5nKCIxIikgPT09IGZhbHNlJyk7Cn0KCg==",
"commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x > y returns ToNumber(x) > ToNumber(y)",
"description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between String (primitive or object) and Null",
"path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A3.1_T2.7.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4ID4geSByZXR1cm5zIFRvTnVtYmVyKHgpID4gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMi9TMTEuOC4yX0EzLjFfVDIuOC5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoUHJpbWl0aXZlKHkpKSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gQm9vbGVhbiAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQppZiAodHJ1ZSA+IHVuZGVmaW5lZCAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiB0cnVlID4gdW5kZWZpbmVkID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYgKHVuZGVmaW5lZCA+IHRydWUgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogdW5kZWZpbmVkID4gdHJ1ZSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgQm9vbGVhbih0cnVlKSA+IHVuZGVmaW5lZCAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMzOiBuZXcgQm9vbGVhbih0cnVlKSA+IHVuZGVmaW5lZCA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM0CmlmICh1bmRlZmluZWQgPiBuZXcgQm9vbGVhbih0cnVlKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM0OiB1bmRlZmluZWQgPiBuZXcgQm9vbGVhbih0cnVlKSA9PT0gZmFsc2UnKTsKfQoK",
"commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x > y returns ToNumber(x) > ToNumber(y)",
"description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Boolean (primitive or object) and Undefined",
"path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A3.1_T2.8.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4ID4geSByZXR1cm5zIFRvTnVtYmVyKHgpID4gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMi9TMTEuOC4yX0EzLjFfVDIuOS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoUHJpbWl0aXZlKHkpKSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gQm9vbGVhbiAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIE51bGwKICovCgovL0NIRUNLIzEKaWYgKHRydWUgPiBudWxsICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogdHJ1ZSA+IG51bGwgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCmlmIChudWxsID4gdHJ1ZSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMyOiBudWxsID4gdHJ1ZSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgQm9vbGVhbih0cnVlKSA+IG51bGwgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiBuZXcgQm9vbGVhbih0cnVlKSA+IG51bGwgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM0CmlmIChudWxsID4gbmV3IEJvb2xlYW4odHJ1ZSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogbnVsbCA+IG5ldyBCb29sZWFuKHRydWUpID09PSBmYWxzZScpOwp9Cgo=",
"commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x > y returns ToNumber(x) > ToNumber(y)",
"description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Boolean (primitive or object) and Null",
"path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A3.1_T2.9.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgU3RyaW5nIGFuZCBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgU3RyaW5nLCB0aGVuIG9wZXJhdG9yIHggPiB5IHJldHVybnMgVG9TdHJpbmcoeCkgPiBUb1N0cmluZyh5KQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC4yL1MxMS44LjJfQTMuMl9UMS4xLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKFByaW1pdGl2ZSh4KSkgYW5kIFR5cGUoUHJpbWl0aXZlKHkpKSB2YXJ5IGJldHdlZW4gcHJpbWl0aXZlIHN0cmluZyBhbmQgU3RyaW5nIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAoIjEiID4gIjEiICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6ICIxIiA+ICIxIiA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyCmlmIChuZXcgU3RyaW5nKCIxIikgPiAiMSIgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogbmV3IFN0cmluZygiMSIpID4gIjEiID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzMKaWYgKCIxIiA+IG5ldyBTdHJpbmcoIjEiKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMzOiAiMSIgPiBuZXcgU3RyaW5nKCIxIikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAobmV3IFN0cmluZygiMSIpID4gbmV3IFN0cmluZygiMSIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzQ6IG5ldyBTdHJpbmcoIjEiKSA+IG5ldyBTdHJpbmcoIjEiKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM1CmlmICgieCIgPiAiMSIgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiAieCIgPiAiMSIgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM2CmlmICgiMSIgPiAieCIgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNjogIjEiID4gIngiID09PSBmYWxzZScpOwp9Cgo=",
"commentary":"If Type(Primitive(x)) is String and Type(Primitive(y)) is String, then operator x > y returns ToString(x) > ToString(y)",
"description":"Type(Primitive(x)) and Type(Primitive(y)) vary between primitive string and String object",
"path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A3.2_T1.1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgU3RyaW5nIGFuZCBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgU3RyaW5nLCB0aGVuIG9wZXJhdG9yIHggPiB5IHJldHVybnMgVG9TdHJpbmcoeCkgPiBUb1N0cmluZyh5KQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC4yL1MxMS44LjJfQTMuMl9UMS4yLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKFByaW1pdGl2ZSh4KSkgYW5kIFR5cGUoUHJpbWl0aXZlKHkpKSB2YXJ5IGJldHdlZW4gT2JqZWN0IG9iamVjdCBhbmQgRnVuY3Rpb24gb2JqZWN0CiAqLwoKLy9DSEVDSyMxCmlmICgoe30gPiBmdW5jdGlvbigpe3JldHVybiAxfSkgIT09ICh7fS50b1N0cmluZygpID4gZnVuY3Rpb24oKXtyZXR1cm4gMX0udG9TdHJpbmcoKSkpIHsKICAkRVJST1IoJyMxOiAoe30gPiBmdW5jdGlvbigpe3JldHVybiAxfSkgPT09ICh7fS50b1N0cmluZygpID4gZnVuY3Rpb24oKXtyZXR1cm4gMX0udG9TdHJpbmcoKSknKTsKfQoKLy9DSEVDSyMyCmlmICgoZnVuY3Rpb24oKXtyZXR1cm4gMX0gPiB7fSkgIT09IChmdW5jdGlvbigpe3JldHVybiAxfS50b1N0cmluZygpID4ge30udG9TdHJpbmcoKSkpIHsKICAkRVJST1IoJyMyOiAoZnVuY3Rpb24oKXtyZXR1cm4gMX0gPiB7fSkgPT09IChmdW5jdGlvbigpe3JldHVybiAxfS50b1N0cmluZygpID4ge30udG9TdHJpbmcoKSknKTsKfQoKLy9DSEVDSyMzCmlmICgoZnVuY3Rpb24oKXtyZXR1cm4gMX0gPiBmdW5jdGlvbigpe3JldHVybiAxfSkgIT09IChmdW5jdGlvbigpe3JldHVybiAxfS50b1N0cmluZygpID4gZnVuY3Rpb24oKXtyZXR1cm4gMX0udG9TdHJpbmcoKSkpIHsKICAkRVJST1IoJyMzOiAoZnVuY3Rpb24oKXtyZXR1cm4gMX0gPiBmdW5jdGlvbigpe3JldHVybiAxfSkgPT09IChmdW5jdGlvbigpe3JldHVybiAxfS50b1N0cmluZygpID4gZnVuY3Rpb24oKXtyZXR1cm4gMX0udG9TdHJpbmcoKSknKTsKfQoKLy9DSEVDSyM0CmlmICgoe30gPiB7fSkgIT09ICh7fS50b1N0cmluZygpID4ge30udG9TdHJpbmcoKSkpIHsKICAkRVJST1IoJyM0OiAoe30gPiB7fSkgPT09ICh7fS50b1N0cmluZygpID4ge30udG9TdHJpbmcoKSknKTsKfQoK",
"commentary":"If Type(Primitive(x)) is String and Type(Primitive(y)) is String, then operator x > y returns ToString(x) > ToString(y)",
"description":"Type(Primitive(x)) and Type(Primitive(y)) vary between Object object and Function object",
"path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A3.2_T1.2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIE5hTiwgcmV0dXJuIGZhbHNlIChpZiByZXN1bHQgaW4gMTEuOC41IGlzIHVuZGVmaW5lZCwgcmV0dXJuIGZhbHNlKQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC4yL1MxMS44LjJfQTQuMS5qcwogKiBAZGVzY3JpcHRpb24geSBpcyBudW1iZXIgcHJpbWl0aXZlCiAqLwoKLy9DSEVDSyMxCmlmICgoTnVtYmVyLk5hTiA+IDApICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IChOYU4gPiAwKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyCmlmICgoTnVtYmVyLk5hTiA+IDEuMSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogKE5hTiA+IDEuMSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKE51bWJlci5OYU4gPiAtMS4xKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMzOiAoTmFOID4gLTEuMSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKE51bWJlci5OYU4gPiBOdW1iZXIuTmFOKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM0OiAoTmFOID4gTmFOKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM1CmlmICgoTnVtYmVyLk5hTiA+IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogKE5hTiA+ICtJbmZpbml0eSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNgppZiAoKE51bWJlci5OYU4gPiBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpICE9PSBmYWxzZSkgewogICRFUlJPUignIzY6IChOYU4gPiAtSW5maW5pdHkpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzcKaWYgKChOdW1iZXIuTmFOID4gTnVtYmVyLk1BWF9WQUxVRSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNzogKE5hTiA+IE51bWJlci5NQVhfVkFMVUUpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzgKaWYgKChOdW1iZXIuTmFOID4gTnVtYmVyLk1JTl9WQUxVRSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjODogKE5hTiA+IE51bWJlci5NSU5fVkFMVUUpID09PSBmYWxzZScpOwp9CgoK",
"commentary":"If x is NaN, return false (if result in 11.8.5 is undefined, return false)",
"description":"y is number primitive",
"path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A4.1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIGEgcHJlZml4IG9mIHksIHJldHVybiBmYWxzZQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC4yL1MxMS44LjJfQTQuMTAuanMKICogQGRlc2NyaXB0aW9uIHggYW5kIHkgYXJlIHN0cmluZyBwcmltaXRpdmVzCiAqLwoKLy9DSEVDSyMxCmlmICgoIngiID4gIngiKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiAoIngiID4gIngiKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyCmlmICgoIiIgPiAieCIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6ICgiIiA+ICJ4IikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKCJhYiIgPiAiYWJjZCIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6ICgiYWIiID4gYWJjZCIpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzQKaWYgKCgiYWJjZCIgPiAiYWJjXHUwMDY0IikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogKCJhYmNkIiA+IGFiY1xcdTAwNjQiKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM1CmlmICgoIngiID4gIngiICsgInkiKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM1OiAoIngiID4gIngiICsgInkiKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM2CnZhciB4ID0gIngiOwppZiAoKHggPiB4ICsgInkiKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM2OiB2YXIgeCA9ICJ4IjsgKHggPiB4ICsgInkiKSA9PT0gZmFsc2UnKTsKfQoK",
"commentary":"If x is a prefix of y, return false",
"description":"x and y are string primitives",
"path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A4.10.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB5IGlzIGEgcHJlZml4IG9mIHggYW5kIHggIT09IHksIHJldHVybiB0cnVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjIvUzExLjguMl9BNC4xMS5qcwogKiBAZGVzY3JpcHRpb24geCBhbmQgeSBhcmUgc3RyaW5nIHByaW1pdGl2ZXMKICovCgovL0NIRUNLIzEKaWYgKCgieCAiID4gIngiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6ICgieCAiID4gIngiKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKCgieCIgPiAiIikgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiAoIngiID4gIiIpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKCJhYmNkIiA+ICJhYiIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogKCJhYmNkIiA+IGFiIikgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM0CmlmICgoImFiY1x1MDA2NCIgPiAiYWJjZCIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzQ6ICgiYWJjXFx1MDA2NCIgPiBhYmMiKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM1CmlmICgoIngiICsgInkiID4gIngiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzU6ICgieCIgKyAieSIgPiAieCIpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNgp2YXIgeCA9ICJ4IjsKaWYgKCh4ICsgJ3knID4geCkgIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiB2YXIgeCA9ICJ4IjsgKHggKyAieSIgPiB4KSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzcKaWYgKCgiYVx1MDAwMGEiID4gImFcdTAwMDAiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzc6ICgiYVxcdTAwMDBhIiA+ICJhXFx1MDAwMCIpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjOAppZiAoKCIgeCIgPiAieCIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzg6ICgiIHgiID4gIngiKSA9PT0gZmFsc2UnKTsKfQoKCg==",
"commentary":"If y is a prefix of x and x !== y, return true",
"description":"x and y are string primitives",
"path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A4.11.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBuZWl0aGVyIHgsIG5vciB5IGlzIGEgcHJlZml4IG9mIGVhY2ggb3RoZXIsIHJldHVybmVkIHJlc3VsdCBvZiBzdHJpbmdzIGNvbXBhcmlzb24gYXBwbGllcyBhIHNpbXBsZSBsZXhpY29ncmFwaGljIG9yZGVyaW5nIHRvIHRoZSBzZXF1ZW5jZXMgb2YgY29kZSBwb2ludCB2YWx1ZSB2YWx1ZXMKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMi9TMTEuOC4yX0E0LjEyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiB4IGFuZCB5IGFyZSBzdHJpbmcgcHJpbWl0aXZlcwogKi8KCi8vQ0hFQ0sjMQppZiAoKCJ4eSIgPiAieHgiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6ICgieHkiID4gInh4IikgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCmlmICgoInh4IiA+ICJ4eSIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6ICgieHgiID4gInh5IikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKCJ5IiA+ICJ4IikgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiAoInkiID4gIngiKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzQKaWYgKCgiYWJhIiA+ICJhYWIiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6ICgiYWJhIiA+IGFhYiIpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoKCJcdTAwNjFcdTAwNjFcdTAwNjFcdTAwNjEiID4gIlx1MDA2MVx1MDA2MVx1MDA2MVx1MDA2MiIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzU6ICgiXFx1MDA2MVxcdTAwNjFcXHUwMDYxXFx1MDA2MSIgPiBcXHUwMDYxXFx1MDA2MVxcdTAwNjFcXHUwMDYyIikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNgppZiAoKCJhXHUwMDAwYiIgPiAiYVx1MDAwMGEiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzY6ICgiYVxcdTAwMDBiIiA+ICJhXFx1MDAwMGEiKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzcKaWYgKCgiYWEiID4gImFCIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM3OiAoImFhIiA+IGFCIikgPT09IHRydWUnKTsKfQoK",
"commentary":"If neither x, nor y is a prefix of each other, returned result of strings comparison applies a simple lexicographic ordering to the sequences of code point value values",
"description":"x and y are string primitives",
"path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A4.12_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBuZWl0aGVyIHgsIG5vciB5IGlzIGEgcHJlZml4IG9mIGVhY2ggb3RoZXIsIHJldHVybmVkIHJlc3VsdCBvZiBzdHJpbmdzIGNvbXBhcmlzb24gYXBwbGllcyBhIHNpbXBsZSBsZXhpY29ncmFwaGljIG9yZGVyaW5nIHRvIHRoZSBzZXF1ZW5jZXMgb2YgY29kZSBwb2ludCB2YWx1ZSB2YWx1ZXMKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMi9TMTEuOC4yX0E0LjEyX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiB4IGFuZCB5IGFyZSBzdHJpbmcgcHJpbWl0aXZlcwogKi8KCi8vQ0hFQ0sjMQppZiAoKCJ4IiA+ICIwIikgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiAoIngiID4gIjAiKSAhPT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKCgiMCIgPiAiLSIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogKCIwIiA+ICItIikgIT09IHRydWUnKTsKfQoKLy9DSEVDSyMzCmlmICgoIjAiID4gIi4iKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6ICgiMCIgPiAiLiIpICE9PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKCItIiA+ICIrIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiAoIi0iID4gIisiKSAhPT0gdHJ1ZScpOwp9CgovL0NIRUNLIzUKaWYgKCgiLTEiID4gIi0wIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiAoIi0xIiA+ICItMCIpICE9PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNgppZiAoKCItMSIgPiAiKzEiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzY6ICgiLTEiID4gIisxIikgIT09IHRydWUnKTsKfQoKLy9DSEVDSyM3CmlmICgoIjFlLTEwIiA+ICIxIikgIT09IHRydWUpIHsKJEVSUk9SKCcjNzogKCIxZS0xMCIgPiAiMSIpICE9PSB0cnVlJyk7Cn0KCg==",
"commentary":"If neither x, nor y is a prefix of each other, returned result of strings comparison applies a simple lexicographic ordering to the sequences of code point value values",
"description":"x and y are string primitives",
"path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A4.12_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB5IGlzIE5hTiwgcmV0dXJuIGZhbHNlIChpZiByZXN1bHQgaW4gMTEuOC41IGlzIHVuZGVmaW5lZCwgcmV0dXJuIGZhbHNlKQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC4yL1MxMS44LjJfQTQuMi5qcwogKiBAZGVzY3JpcHRpb24geCBpcyBudW1iZXIgcHJpbWl0aXZlCiAqLwoKLy9DSEVDSyMxCmlmICgoMCA+IE51bWJlci5OYU4pICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6ICgwID4gTmFOKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyCmlmICgoMS4xID4gTnVtYmVyLk5hTikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogKDEuMSA+IE5hTikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKC0xLjEgPiBOdW1iZXIuTmFOKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMzOiAoLTEuMSA+IE5hTikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKE51bWJlci5OYU4gPiBOdW1iZXIuTmFOKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM0OiAoTmFOID4gTmFOKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM1CmlmICgoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZID4gTnVtYmVyLk5hTikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogKCtJbmZpbml0eSA+IE5hTikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNgppZiAoKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSA+IE51bWJlci5OYU4pICE9PSBmYWxzZSkgewogICRFUlJPUignIzY6ICgtSW5maW5pdHkgPiBOYU4pID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzcKaWYgKChOdW1iZXIuTUFYX1ZBTFVFID4gTnVtYmVyLk5hTikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNzogKE51bWJlci5NQVhfVkFMVUUgPiBOYU4pID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzgKaWYgKChOdW1iZXIuTUlOX1ZBTFVFID4gTnVtYmVyLk5hTikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjODogKE51bWJlci5NSU5fVkFMVUUgPiBOYU4pID09PSBmYWxzZScpOwp9CgoK",
"commentary":"If y is NaN, return false (if result in 11.8.5 is undefined, return false)",
"description":"x is number primitive",
"path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A4.2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGFuZCB5IGFyZSB0aGUgc2FtZSBudW1iZXIgdmFsdWUsIHJldHVybiBmYWxzZQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC4yL1MxMS44LjJfQTQuMy5qcwogKiBAZGVzY3JpcHRpb24geCBhbmQgeSBhcmUgbnVtYmVyIHByaW1pdGl2ZXMKICovCgovL0NIRUNLIzEKaWYgKCgxID4gMSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogKDEgPiAxKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyCmlmICgoMS4xID4gMS4xKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMyOiAoMS4xID4gMS4xKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMzCmlmICgoLTEuMSA+IC0xLjEpICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6ICgtMS4xID4gLTEuMSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSA+IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogKC1JbmZpbml0eSA+IC1JbmZpbml0eSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSA+IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogKCtJbmZpbml0eSA+ICtJbmZpbml0eSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNgppZiAoKE51bWJlci5NQVhfVkFMVUUgPiBOdW1iZXIuTUFYX1ZBTFVFKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM2OiAoTnVtYmVyLk1BWF9WQUxVRSA+IE51bWJlci5NQVhfVkFMVUUpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzcKaWYgKChOdW1iZXIuTUlOX1ZBTFVFID4gTnVtYmVyLk1JTl9WQUxVRSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNzogKE51bWJlci5NSU5fVkFMVUUgPiBOdW1iZXIuTUlOX1ZBTFVFKSA9PT0gZmFsc2UnKTsKfQoKCgo=",
"commentary":"If x and y are the same number value, return false",
"description":"x and y are number primitives",
"path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A4.3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBlaXRoZXIgdmFyaWFibGUgeCBvciB5IGlzICswIGFuZCB0aGUgb3RoZXIgaXMgLTAsIHJldHVybiBmYWxzZQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC4yL1MxMS44LjJfQTQuNC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYWxsIGNvbWJpbmF0aW9ucwogKi8KCi8vQ0hFQ0sjMQppZiAoKDAgPiAwKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiAoMCA+IDApID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYgKCgtMCA+IC0wKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMyOiAoLTAgPiAtMCkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKCswID4gLTApICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6ICgrMCA+IC0wKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM0CmlmICgoLTAgPiArMCkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogKC0wID4gKzApID09PSBmYWxzZScpOwp9CgoK",
"commentary":"If either variable x or y is +0 and the other is -0, return false",
"description":"Checking all combinations",
"path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A4.4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzICtJbmZpbml0eSBhbmQgeCAhPT0geSwgcmV0dXJuIHRydWUKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMi9TMTEuOC4yX0E0LjUuanMKICogQGRlc2NyaXB0aW9uIHkgaXMgbnVtYmVyIHByaW1pdGl2ZQogKi8KCi8vQ0hFQ0sjMQppZiAoKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSA+IDApICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogKCtJbmZpbml0eSA+IDApID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSA+IDEuMSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiAoK0luZmluaXR5ID4gMS4xKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzMKaWYgKChOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgPiAtMS4xKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6ICgrSW5maW5pdHkgPiAtMS4xKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzQKaWYgKChOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgPiBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogKCtJbmZpbml0eSA+IC1JbmZpbml0eSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM1CmlmICgoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZID4gTnVtYmVyLk1BWF9WQUxVRSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiAoK0luZmluaXR5ID4gTnVtYmVyLk1BWF9WQUxVRSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM2CmlmICgoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZID4gTnVtYmVyLk1JTl9WQUxVRSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiAoK0luZmluaXR5ID4gTnVtYmVyLk1JTl9WQUxVRSkgPT09IHRydWUnKTsKfQoKCg==",
"commentary":"If x is +Infinity and x !== y, return true",
"description":"y is number primitive",
"path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A4.5.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB5IGlzICtJbmZpbml0eSwgcmV0dXJuIGZhbHNlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjIvUzExLjguMl9BNC42LmpzCiAqIEBkZXNjcmlwdGlvbiB4IGlzIG51bWJlciBwcmltaXRpdmUKICovCgovL0NIRUNLIzEKaWYgKCgwID4gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiAoMCA+ICtJbmZpbml0eSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKDEuMSA+IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogKDEuMSA+ICtJbmZpbml0eSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKC0xLjEgPiBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6ICgtMS4xID4gK0luZmluaXR5KSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM0CmlmICgoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZID4gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM0OiAoLUluZmluaXR5ID4gK0luZmluaXR5KSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM1CmlmICgoTnVtYmVyLk1BWF9WQUxVRSA+IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogKE51bWJlci5NQVhfVkFMVUUgPiArSW5maW5pdHkpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzYKaWYgKChOdW1iZXIuTUlOX1ZBTFVFID4gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM2OiAoTnVtYmVyLk1JTl9WQUxVRSA+ICtJbmZpbml0eSkgPT09IGZhbHNlJyk7Cn0KCgo=",
"commentary":"If y is +Infinity, return false",
"description":"x is number primitive",
"path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A4.6.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIC1JbmZpbml0eSwgcmV0dXJuIGZhbHNlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjIvUzExLjguMl9BNC43LmpzCiAqIEBkZXNjcmlwdGlvbiB5IGlzIG51bWJlciBwcmltaXRpdmUKICovCgovL0NIRUNLIzEKaWYgKChOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgPiAwKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiAoLUluZmluaXR5ID4gMCkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSA+IDEuMSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogKC1JbmZpbml0eSA+IDEuMSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSA+IC0xLjEpICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6ICgtSW5maW5pdHkgPiAtMS4xKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM0CmlmICgoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZID4gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM0OiAoLUluZmluaXR5ID4gK0luZmluaXR5KSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM1CmlmICgoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZID4gTnVtYmVyLk1BWF9WQUxVRSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogKC1JbmZpbml0eSA+IE51bWJlci5NQVhfVkFMVUUpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzYKaWYgKChOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgPiBOdW1iZXIuTUlOX1ZBTFVFKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM2OiAoLUluZmluaXR5ID4gTnVtYmVyLk1JTl9WQUxVRSkgPT09IGZhbHNlJyk7Cn0KCgo=",
"commentary":"If x is -Infinity, return false",
"description":"y is number primitive",
"path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A4.7.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB5IGlzIC1JbmZpbml0eSBhbmQgeCAhPT0geSwgcmV0dXJuIHRydWUKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMi9TMTEuOC4yX0E0LjguanMKICogQGRlc2NyaXB0aW9uIHggaXMgbnVtYmVyIHByaW1pdGl2ZQogKi8KCi8vQ0hFQ0sjMQppZiAoKDAgPiBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogKDAgPiAtSW5maW5pdHkpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKDEuMSA+IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiAoMS4xID4gLUluZmluaXR5KSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzMKaWYgKCgtMS4xID4gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6ICgtMS4xID4gLUluZmluaXR5KSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzQKaWYgKChOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgPiBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogKCtJbmZpbml0eSA+IC1JbmZpbml0eSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM1CmlmICgoTnVtYmVyLk1BWF9WQUxVRSA+IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiAoTnVtYmVyLk1BWF9WQUxVRSA+IC1JbmZpbml0eSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM2CmlmICgoTnVtYmVyLk1JTl9WQUxVRSA+IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiAoTnVtYmVyLk1JTl9WQUxVRSA+IC1JbmZpbml0eSkgPT09IHRydWUnKTsKfQoKCg==",
"commentary":"If y is -Infinity and x !== y, return true",
"description":"x is number primitive",
"path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A4.8.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBpcyB4IGdyZWF0ZXIgdGhhbiB5IGFuZCB0aGVzZSB2YWx1ZXMgYXJlIGJvdGggZmluaXRlIG5vbi16ZXJvLCByZXR1cm4gdHJ1ZTsgb3RoZXJ3aXNlLCByZXR1cm4gZmFsc2UKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMi9TMTEuOC4yX0E0LjkuanMKICogQGRlc2NyaXB0aW9uIHggYW5kIHkgYXJlIG51bWJlciBwcmltaXRpdmVzCiAqLwoKLy9DSEVDSyMxCmlmICgoMSA+IDEuMSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogKDEgPiAxLjEpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYgKCgxLjEgPiAxKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6ICgxLjEgPiAxKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzMKaWYgKCgtMSA+IC0xLjEpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogKC0xID4gLTEuMSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM0CmlmICgoLTEuMSA+IC0xKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM0OiAoLTEuMSA+IC0xKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM1CmlmICgoMC4xID4gMCkgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiAoMC4xID4gMCkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM2CmlmICgoMCA+IC0wLjEpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNjogKDAgPiAtMC4xKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzcKaWYgKChOdW1iZXIuTUFYX1ZBTFVFID4gTnVtYmVyLk1BWF9WQUxVRS8yKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzc6IChOdW1iZXIuTUFYX1ZBTFVFID4gTnVtYmVyLk1BWF9WQUxVRS8yKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzgKaWYgKChOdW1iZXIuTUlOX1ZBTFVFKjIgPiBOdW1iZXIuTUlOX1ZBTFVFKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzg6IChOdW1iZXIuTUlOX1ZBTFVFKjIgPiBOdW1iZXIuTUlOX1ZBTFVFKSA9PT0gdHJ1ZScpOwp9CgoKCg==",
"commentary":"If is x greater than y and these values are both finite non-zero, return true; otherwise, return false",
"description":"x and y are number primitives",
"path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A4.9.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS44LzExLjguMy8xMS44LjMtMS5qcw0KICogQGRlc2NyaXB0aW9uIDExLjguMyBMZXNzLXRoYW4tb3ItZXF1YWwgT3BlcmF0b3IgLSBQYXJ0aWFsIGxlZnQgdG8gcmlnaHQgb3JkZXIgZW5mb3JjZWQgd2hlbiB1c2luZyBMZXNzLXRoYW4tb3ItZXF1YWwgb3BlcmF0b3I6IHZhbHVlT2YgPD0gdmFsdWVPZg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgb2JqMSA9IHsNCiAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIDM7DQogICAgICAgICAgICB9DQogICAgICAgIH07DQogICAgICAgIHZhciBvYmoyID0gew0KICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGlmIChhY2Nlc3NlZCA9PT0gdHJ1ZSkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gNDsNCiAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH07DQogICAgICAgIHJldHVybiAob2JqMSA8PSBvYmoyKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=",
"commentary":"",
"description":"11.8.3 Less-than-or-equal Operator - Partial left to right order enforced when using Less-than-or-equal operator: valueOf <= valueOf",
"path":"TestCases/ch11/11.8/11.8.3/11.8.3-1.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS44LzExLjguMy8xMS44LjMtMi5qcw0KICogQGRlc2NyaXB0aW9uIDExLjguMyBMZXNzLXRoYW4tb3ItZXF1YWwgT3BlcmF0b3IgLSBQYXJ0aWFsIGxlZnQgdG8gcmlnaHQgb3JkZXIgZW5mb3JjZWQgd2hlbiB1c2luZyBMZXNzLXRoYW4tb3ItZXF1YWwgb3BlcmF0b3I6IHZhbHVlT2YgPD0gdG9TdHJpbmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIG9iajEgPSB7DQogICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAzOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KICAgICAgICB2YXIgb2JqMiA9IHsNCiAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgaWYgKGFjY2Vzc2VkID09PSB0cnVlKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiA0Ow0KICAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCiAgICAgICAgcmV0dXJuIChvYmoxIDw9IG9iajIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==",
"commentary":"",
"description":"11.8.3 Less-than-or-equal Operator - Partial left to right order enforced when using Less-than-or-equal operator: valueOf <= toString",
"path":"TestCases/ch11/11.8/11.8.3/11.8.3-2.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS44LzExLjguMy8xMS44LjMtMy5qcw0KICogQGRlc2NyaXB0aW9uIDExLjguMyBMZXNzLXRoYW4tb3ItZXF1YWwgT3BlcmF0b3IgLSBQYXJ0aWFsIGxlZnQgdG8gcmlnaHQgb3JkZXIgZW5mb3JjZWQgd2hlbiB1c2luZyBMZXNzLXRoYW4tb3ItZXF1YWwgb3BlcmF0b3I6IHRvU3RyaW5nIDw9IHZhbHVlT2YNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIG9iajEgPSB7DQogICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCiAgICAgICAgdmFyIG9iajIgPSB7DQogICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgaWYgKGFjY2Vzc2VkID09PSB0cnVlKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiA0Ow0KICAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCiAgICAgICAgcmV0dXJuIChvYmoxIDw9IG9iajIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==",
"commentary":"",
"description":"11.8.3 Less-than-or-equal Operator - Partial left to right order enforced when using Less-than-or-equal operator: toString <= valueOf",
"path":"TestCases/ch11/11.8/11.8.3/11.8.3-3.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS44LzExLjguMy8xMS44LjMtNC5qcw0KICogQGRlc2NyaXB0aW9uIDExLjguMyBMZXNzLXRoYW4tb3ItZXF1YWwgT3BlcmF0b3IgLSBQYXJ0aWFsIGxlZnQgdG8gcmlnaHQgb3JkZXIgZW5mb3JjZWQgd2hlbiB1c2luZyBMZXNzLXRoYW4tb3ItZXF1YWwgb3BlcmF0b3I6IHRvU3RyaW5nIDw9IHRvU3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBvYmoxID0gew0KICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIDM7DQogICAgICAgICAgICB9DQogICAgICAgIH07DQogICAgICAgIHZhciBvYmoyID0gew0KICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBpZiAoYWNjZXNzZWQgPT09IHRydWUpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDQ7DQogICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KICAgICAgICByZXR1cm4gKG9iajEgPD0gb2JqMik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K",
"commentary":"",
"description":"11.8.3 Less-than-or-equal Operator - Partial left to right order enforced when using Less-than-or-equal operator: toString <= toString",
"path":"TestCases/ch11/11.8/11.8.3/11.8.3-4.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMS8xMS44LzExLjguMy8xMS44LjMtNS5qcw0KICogQGRlc2NyaXB0aW9uIDExLjguMyBMZXNzLXRoYW4tb3ItZXF1YWwgT3BlcmF0b3IgLSBQYXJ0aWFsIGxlZnQgdG8gcmlnaHQgb3JkZXIgZW5mb3JjZWQgd2hlbiB1c2luZyBMZXNzLXRoYW4tb3ItZXF1YWwgb3BlcmF0b3I6IHZhbHVlT2YgPD0gdmFsdWVPZg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgb2JqMSA9IHsNCiAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIDM7DQogICAgICAgICAgICB9DQogICAgICAgIH07DQogICAgICAgIHZhciBvYmoyID0gew0KICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGlmIChhY2Nlc3NlZCA9PT0gdHJ1ZSkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMzsNCiAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH07DQogICAgICAgIHJldHVybiAob2JqMSA8PSBvYmoyKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=",
"commentary":"",
"description":"11.8.3 Less-than-or-equal Operator - Partial left to right order enforced when using Less-than-or-equal operator: valueOf <= valueOf",
"path":"TestCases/ch11/11.8/11.8.3/11.8.3-5.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gUmVsYXRpb25hbEV4cHJlc3Npb24gYW5kICI8PSIgb3IgYmV0d2VlbiAiPD0iIGFuZCBTaGlmdEV4cHJlc3Npb24gYXJlIGFsbG93ZWQKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMy9TMTEuOC4zX0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBieSB1c2luZyBldmFsCiAqLwoKLy9DSEVDSyMxCmlmIChldmFsKCIxXHUwMDA5PD1cdTAwMDkxIikgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiAoMVxcdTAwMDk8PVxcdTAwMDkxKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKGV2YWwoIjFcdTAwMEI8PVx1MDAwQjEiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6ICgxXFx1MDAwQjw9XFx1MDAwQjEpID09PSB0cnVlJyk7ICAKfQoKLy9DSEVDSyMzCmlmIChldmFsKCIxXHUwMDBDPD1cdTAwMEMxIikgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiAoMVxcdTAwMEM8PVxcdTAwMEMxKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzQKaWYgKGV2YWwoIjFcdTAwMjA8PVx1MDAyMDEiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6ICgxXFx1MDAyMDw9XFx1MDAyMDEpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoZXZhbCgiMVx1MDBBMDw9XHUwMEEwMSIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNTogKDFcXHUwMEEwPD1cXHUwMEEwMSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM2CmlmIChldmFsKCIxXHUwMDBBPD1cdTAwMEExIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiAoMVxcdTAwMEE8PVxcdTAwMEExKSA9PT0gdHJ1ZScpOyAgCn0KCi8vQ0hFQ0sjNwppZiAoZXZhbCgiMVx1MDAwRDw9XHUwMDBEMSIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNzogKDFcXHUwMDBEPD1cXHUwMDBEMSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM4CmlmIChldmFsKCIxXHUyMDI4PD1cdTIwMjgxIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM4OiAoMVxcdTIwMjg8PVxcdTIwMjgxKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzkKaWYgKGV2YWwoIjFcdTIwMjk8PVx1MjAyOTEiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzk6ICgxXFx1MjAyOTw9XFx1MjAyOTEpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMTAKaWYgKGV2YWwoIjFcdTAwMDlcdTAwMEJcdTAwMENcdTAwMjBcdTAwQTBcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjk+XHUwMDA5XHUwMDBCXHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5MCIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTA6ICgxXFx1MDAwOVxcdTAwMEJcXHUwMDBDXFx1MDAyMFxcdTAwQTBcXHUwMDBBXFx1MDAwRFxcdTIwMjhcXHUyMDI5PlxcdTAwMDlcXHUwMDBCXFx1MDAwQ1xcdTAwMjBcXHUwMEEwXFx1MDAwQVxcdTAwMERcXHUyMDI4XFx1MjAyOTApID09PSB0cnVlJyk7Cn0KCg==",
"commentary":"White Space and Line Terminator between RelationalExpression and \"<=\" or between \"<=\" and ShiftExpression are allowed",
"description":"Checking by using eval",
"path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw9IHkgdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC4zL1MxMS44LjNfQTIuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gRWl0aGVyIFR5cGUgaXMgbm90IFJlZmVyZW5jZSBvciBHZXRCYXNlIGlzIG5vdCBudWxsCiAqLwoKLy9DSEVDSyMxCmlmICgxIDw9IDEgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiAxIDw9IDEgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gMTsKaWYgKHggPD0gMSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHZhciB4ID0gMTsgeCA8PSAxID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMwp2YXIgeSA9IDE7CmlmICgxIDw9IHkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiB2YXIgeSA9IDE7IDEgPD0geSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzQKdmFyIHggPSAxOwp2YXIgeSA9IDE7CmlmICh4IDw9IHkgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IDE7IHZhciB5ID0gMTsgeCA8PSB5ID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNQp2YXIgb2JqZWN0eCA9IG5ldyBPYmplY3QoKTsKdmFyIG9iamVjdHkgPSBuZXcgT2JqZWN0KCk7Cm9iamVjdHgucHJvcCA9IDE7Cm9iamVjdHkucHJvcCA9IDE7CmlmIChvYmplY3R4LnByb3AgPD0gb2JqZWN0eS5wcm9wICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNTogdmFyIG9iamVjdHggPSBuZXcgT2JqZWN0KCk7IHZhciBvYmplY3R5ID0gbmV3IE9iamVjdCgpOyBvYmplY3R4LnByb3AgPSAxOyBvYmplY3R5LnByb3AgPSAxOyBvYmplY3R4LnByb3AgPD0gb2JqZWN0eS5wcm9wID09PSB0cnVlJyk7Cn0KCg==",
"commentary":"Operator x <= y uses GetValue",
"description":"Either Type is not Reference or GetBase is not null",
"path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A2.1_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw9IHkgdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC4zL1MxMS44LjNfQTIuMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gSWYgR2V0QmFzZSh4KSBpcyBudWxsLCB0aHJvdyBSZWZlcmVuY2VFcnJvcgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHggPD0gMTsKICAkRVJST1IoJyMxLjE6IHggPD0gMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHggPD0gMSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogeCA8PSAxIHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9Cgo=",
"commentary":"Operator x <= y uses GetValue",
"description":"If GetBase(x) is null, throw ReferenceError",
"path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A2.1_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw9IHkgdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC4zL1MxMS44LjNfQTIuMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gSWYgR2V0QmFzZSh5KSBpcyBudWxsLCB0aHJvdyBSZWZlcmVuY2VFcnJvcgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIDEgPD0geTsKICAkRVJST1IoJyMxLjE6IDEgPD0geSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKDEgPD0geSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogMSA8PSB5IHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9CgoK",
"commentary":"Operator x <= y uses GetValue",
"description":"If GetBase(y) is null, throw ReferenceError",
"path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A2.1_T3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw9IHkgdXNlcyBbW0RlZmF1bHQgVmFsdWVdXQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC4zL1MxMS44LjNfQTIuMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gSWYgVHlwZSh2YWx1ZSkgaXMgT2JqZWN0LCBldmFsdWF0ZSBUb1ByaW1pdGl2ZSh2YWx1ZSwgTnVtYmVyKQogKi8KCi8vQ0hFQ0sjMQppZiAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAwfX0gPD0gMSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19IDw9IDEgPT09IHRydWUuIEFjdHVhbDogJyArICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSA8PSAxKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAwfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAyfX0gPD0gMSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19IDw9IDEgPT09IHRydWUuIEFjdHVhbDogJyArICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSA8PSAxKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAwfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19IDw9IDEgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0gPD0gMSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSA8PSAxKSk7Cn0KCi8vQ0hFQ0sjNAp0cnkgewogIGlmICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDB9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19IDw9IDEgIT09IHRydWUpIHsKICAgICRFUlJPUignIzQuMToge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fSA8PSAxID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fSA8PSAxKSk7CiAgfQp9CmNhdGNoIChlKSB7CiAgaWYgKGUgPT09ICJlcnJvciIpIHsKICAgICRFUlJPUignIzQuMjoge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAwfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fSA8PSAxIG5vdCB0aHJvdyAiZXJyb3IiJyk7CiAgfSBlbHNlIHsKICAgICRFUlJPUignIzQuMzoge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAwfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fSA8PSAxIG5vdCB0aHJvdyBFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCi8vQ0hFQ0sjNQppZiAoMSA8PSB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAyfX0gIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiAxIDw9IHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDJ9fSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKDEgPD0ge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMn19KSk7Cn0KCi8vQ0hFQ0sjNgppZiAoMSA8PSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAyfX0gIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiAxIDw9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDJ9fSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKDEgPD0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMn19KSk7Cn0KCi8vQ0hFQ0sjNwp0cnkgewogIDEgPD0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDJ9fTsKICAkRVJST1IoJyM3LjE6IDEgPD0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDJ9fSB0aHJvdyAiZXJyb3IiLiBBY3R1YWw6ICcgKyAoMSA8PSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMn19KSk7Cn0gIApjYXRjaCAoZSkgewogIGlmIChlICE9PSAiZXJyb3IiKSB7CiAgICAkRVJST1IoJyM3LjI6IDEgPD0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDJ9fSB0aHJvdyAiZXJyb3IiLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gCn0KCi8vQ0hFQ0sjOAp0cnkgewogIDEgPD0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsKICAkRVJST1IoJyM4LjE6IDEgPD0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArICgxIDw9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0pKTsKfSAgCmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjOC4yOiAxIDw9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0gdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gCn0KCg==",
"commentary":"Operator x <= y uses [[Default Value]]",
"description":"If Type(value) is Object, evaluate ToPrimitive(value, Number)",
"path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A2.2_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJbiBFUzUsIEZpcnN0IGV4cHJlc3Npb24gc2hvdWxkIGJlIGV2YWx1YXRlZCBmaXJzdC4KICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMy9TMTEuOC4zX0EyLjNfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHRoYXQgb3BlcmFuZHMgb2YgYSAiPD0iIGV2YWx1YXRlIGxlZnQtdG8tcmlnaHQKICovCgovL0NIRUNLIzEKdmFyIHggPSB7IHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9IH07CnZhciB5ID0geyB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfSB9Owp0cnkgewogICB4IDw9IHk7CiAgICRFUlJPUignIzEuMTogU2hvdWxkIGhhdmUgdGhyb3duJyk7Cn0gY2F0Y2ggKGUpIHsKICAgaWYgKGUgPT09ICJ5IikgewogICAgICRFUlJPUignIzEuMjogRmlyc3QgZXhwcmVzc2lvbiBzaG91bGQgYmUgZXZhbHVhdGVkIGZpcnN0Jyk7CiAgIH0gZWxzZSB7CiAgICAgaWYgKGUgIT09ICJ4IikgewogICAgICAgJEVSUk9SKCcjMS4zOiBGYWlsZWQgd2l0aDogJyArIGUpOwogICAgIH0KICAgfQp9Cgo=",
"commentary":"In ES5, First expression should be evaluated first.",
"description":"Checking that operands of a \"<=\" evaluate left-to-right",
"path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A2.3_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMy9TMTEuOC4zX0EyLjRfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggIj0iCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gMDsgCmlmICgoeCA9IDEpIDw9IHggIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IDA7ICh4ID0gMSkgPD0geCA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAxOyAKaWYgKHggPD0gKHggPSAwKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IDE7IHggPD0gKHggPSAwKSA9PT0gZmFsc2UnKTsKfQoKCg==",
"commentary":"First expression is evaluated first, and then second expression",
"description":"Checking with \"=\"",
"path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A2.4_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMy9TMTEuOC4zX0EyLjRfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggInRocm93IgogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9Owp2YXIgeSA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9Owp0cnkgewogICB4KCkgPD0geSgpOwogICAkRVJST1IoJyMxLjE6IHZhciB4ID0gZnVuY3Rpb24gKCkgeyB0aHJvdyAieCI7IH07IHZhciB5ID0gZnVuY3Rpb24gKCkgeyB0aHJvdyAieSI7IH07IHgoKSA8PSB5KCkgdGhyb3cgIngiLiBBY3R1YWw6ICcgKyAoeCgpIDw9IHkoKSkpOwp9IGNhdGNoIChlKSB7CiAgIGlmIChlID09PSAieSIpIHsKICAgICAkRVJST1IoJyMxLjI6IEZpcnN0IGV4cHJlc3Npb24gaXMgZXZhbHVhdGVkIGZpcnN0LCBhbmQgdGhlbiBzZWNvbmQgZXhwcmVzc2lvbicpOwogICB9IGVsc2UgewogICAgIGlmIChlICE9PSAieCIpIHsKICAgICAgICRFUlJPUignIzEuMzogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpIDw9IHkoKSB0aHJvdyAieCIuIEFjdHVhbDogJyArIChlKSk7CiAgICAgfQogICB9Cn0KCg==",
"commentary":"First expression is evaluated first, and then second expression",
"description":"Checking with \"throw\"",
"path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A2.4_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMy9TMTEuOC4zX0EyLjRfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggdW5kZWNsYXJhdGVkIHZhcmlhYmxlcwogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHggPD0gKHggPSAxKTsKICAkRVJST1IoJyMxLjE6IHggPD0gKHggPSAxKSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHggPD0gKHggPSAxKSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogeCA8PSAoeCA9IDEpIHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9CgovL0NIRUNLIzIKaWYgKCh5ID0gMSkgPD0geSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6ICh5ID0gMSkgPD0geSA9PT0gdHJ1ZScpOwp9CgoK",
"commentary":"First expression is evaluated first, and then second expression",
"description":"Checking with undeclarated variables",
"path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A2.4_T3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw9IHkgcmV0dXJucyBUb051bWJlcih4KSA8PSBUb051bWJlcih5KSwgaWYgVHlwZShQcmltaXRpdmUoeCkpIGlzIG5vdCBTdHJpbmcgb3IgVHlwZShQcmltaXRpdmUoeSkpIGlzIG5vdCBTdHJpbmcKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMy9TMTEuOC4zX0EzLjFfVDEuMS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGFuZCBUeXBlKFByaW1pdGl2ZSh5KSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBib29sZWFuIGFuZCBCb29sZWFuIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAodHJ1ZSA8PSB0cnVlICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogdHJ1ZSA8PSB0cnVlID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAobmV3IEJvb2xlYW4odHJ1ZSkgPD0gdHJ1ZSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IG5ldyBCb29sZWFuKHRydWUpIDw9IHRydWUgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMzCmlmICh0cnVlIDw9IG5ldyBCb29sZWFuKHRydWUpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogdHJ1ZSA8PSBuZXcgQm9vbGVhbih0cnVlKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzQKaWYgKG5ldyBCb29sZWFuKHRydWUpIDw9IG5ldyBCb29sZWFuKHRydWUpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogbmV3IEJvb2xlYW4odHJ1ZSkgPD0gbmV3IEJvb2xlYW4odHJ1ZSkgPT09IHRydWUnKTsKfQoK",
"commentary":"Operator x <= y returns ToNumber(x) <= ToNumber(y), if Type(Primitive(x)) is not String or Type(Primitive(y)) is not String",
"description":"Type(Primitive(x)) and Type(Primitive(y)) vary between primitive boolean and Boolean object",
"path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A3.1_T1.1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw9IHkgcmV0dXJucyBUb051bWJlcih4KSA8PSBUb051bWJlcih5KSwgaWYgVHlwZShQcmltaXRpdmUoeCkpIGlzIG5vdCBTdHJpbmcgb3IgVHlwZShQcmltaXRpdmUoeSkpIGlzIG5vdCBTdHJpbmcKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMy9TMTEuOC4zX0EzLjFfVDEuMi5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGFuZCBUeXBlKFByaW1pdGl2ZSh5KSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBudW1iZXIgYW5kIE51bWJlciBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKDEgPD0gMSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IDEgPD0gMSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKG5ldyBOdW1iZXIoMSkgPD0gMSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IG5ldyBOdW1iZXIoMSkgPD0gMSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzMKaWYgKDEgPD0gbmV3IE51bWJlcigxKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IDEgPD0gbmV3IE51bWJlcigxKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzQKaWYgKG5ldyBOdW1iZXIoMSkgPD0gbmV3IE51bWJlcigxKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6IG5ldyBOdW1iZXIoMSkgPD0gbmV3IE51bWJlcigxKSA9PT0gdHJ1ZScpOwp9CgoK",
"commentary":"Operator x <= y returns ToNumber(x) <= ToNumber(y), if Type(Primitive(x)) is not String or Type(Primitive(y)) is not String",
"description":"Type(Primitive(x)) and Type(Primitive(y)) vary between primitive number and Number object",
"path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A3.1_T1.2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw9IHkgcmV0dXJucyBUb051bWJlcih4KSA8PSBUb051bWJlcih5KSwgaWYgVHlwZShQcmltaXRpdmUoeCkpIGlzIG5vdCBTdHJpbmcgb3IgVHlwZShQcmltaXRpdmUoeSkpIGlzIG5vdCBTdHJpbmcKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMy9TMTEuOC4zX0EzLjFfVDEuMy5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGFuZCBUeXBlKFByaW1pdGl2ZSh5KSkgdmFyeSBiZXR3ZWVuIE51bGwgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQppZiAobnVsbCA8PSB1bmRlZmluZWQgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogbnVsbCA8PSB1bmRlZmluZWQgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAodW5kZWZpbmVkIDw9IG51bGwgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogdW5kZWZpbmVkIDw9IG51bGwgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAodW5kZWZpbmVkIDw9IHVuZGVmaW5lZCAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMzOiB1bmRlZmluZWQgPD0gdW5kZWZpbmVkID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzQKaWYgKG51bGwgPD0gbnVsbCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6IG51bGwgPD0gbnVsbCA9PT0gdHJ1ZScpOwp9Cgo=",
"commentary":"Operator x <= y returns ToNumber(x) <= ToNumber(y), if Type(Primitive(x)) is not String or Type(Primitive(y)) is not String",
"description":"Type(Primitive(x)) and Type(Primitive(y)) vary between Null and Undefined",
"path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A3.1_T1.3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw9IHkgcmV0dXJucyBUb051bWJlcih4KSA8PSBUb051bWJlcih5KSwgaWYgVHlwZShQcmltaXRpdmUoeCkpIGlzIG5vdCBTdHJpbmcgb3IgVHlwZShQcmltaXRpdmUoeSkpIGlzIG5vdCBTdHJpbmcKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMy9TMTEuOC4zX0EzLjFfVDIuMS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoUHJpbWl0aXZlKHkpKSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgQm9vbGVhbiAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCmlmICh0cnVlIDw9IDEgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiB0cnVlIDw9IDEgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCmlmICgxIDw9IHRydWUgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiAxIDw9IHRydWUgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgQm9vbGVhbih0cnVlKSA8PSAxICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogbmV3IEJvb2xlYW4odHJ1ZSkgPD0gMSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzQKaWYgKDEgPD0gbmV3IEJvb2xlYW4odHJ1ZSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiAxIDw9IG5ldyBCb29sZWFuKHRydWUpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNQppZiAodHJ1ZSA8PSBuZXcgTnVtYmVyKDEpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNTogdHJ1ZSA8PSBuZXcgTnVtYmVyKDEpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNgppZiAobmV3IE51bWJlcigxKSA8PSB0cnVlICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNjogbmV3IE51bWJlcigxKSA8PSB0cnVlID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNwppZiAobmV3IEJvb2xlYW4odHJ1ZSkgPD0gbmV3IE51bWJlcigxKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzc6IG5ldyBCb29sZWFuKHRydWUpIDw9IG5ldyBOdW1iZXIoMSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM4CmlmIChuZXcgTnVtYmVyKDEpIDw9IG5ldyBCb29sZWFuKHRydWUpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjODogbmV3IE51bWJlcigxKSA8PSBuZXcgQm9vbGVhbih0cnVlKSA9PT0gdHJ1ZScpOwp9Cgo=",
"commentary":"Operator x <= y returns ToNumber(x) <= ToNumber(y), if Type(Primitive(x)) is not String or Type(Primitive(y)) is not String",
"description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Number (primitive or object) and Boolean (primitive and object)",
"path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A3.1_T2.1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw9IHkgcmV0dXJucyBUb051bWJlcih4KSA8PSBUb051bWJlcih5KSwgaWYgVHlwZShQcmltaXRpdmUoeCkpIGlzIG5vdCBTdHJpbmcgb3IgVHlwZShQcmltaXRpdmUoeSkpIGlzIG5vdCBTdHJpbmcKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMy9TMTEuOC4zX0EzLjFfVDIuMi5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoUHJpbWl0aXZlKHkpKSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgU3RyaW5nIChwcmltaXRpdmUgYW5kIG9iamVjdCkKICovCgovL0NIRUNLIzEKaWYgKCIxIiA8PSAxICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogIjEiIDw9IDEgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCmlmICgxIDw9ICIxIiAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IDEgPD0gIjEiID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAobmV3IFN0cmluZygiMSIpIDw9IDEgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiBuZXcgU3RyaW5nKCIxIikgPD0gMSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzQKaWYgKDEgPD0gbmV3IFN0cmluZygiMSIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogMSA8PSBuZXcgU3RyaW5nKCIxIikgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM1CmlmICgiMSIgPD0gbmV3IE51bWJlcigxKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzU6ICIxIiA8PSBuZXcgTnVtYmVyKDEpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNgppZiAobmV3IE51bWJlcigxKSA8PSAiMSIgIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiBuZXcgTnVtYmVyKDEpIDw9ICIxIiA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzcKaWYgKG5ldyBTdHJpbmcoIjEiKSA8PSBuZXcgTnVtYmVyKDEpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNzogbmV3IFN0cmluZygiMSIpIDw9IG5ldyBOdW1iZXIoMSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM4CmlmIChuZXcgTnVtYmVyKDEpIDw9IG5ldyBTdHJpbmcoIjEiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzg6IG5ldyBOdW1iZXIoMSkgPD0gbmV3IFN0cmluZygiMSIpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjOQppZiAoIngiIDw9IDEgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjOTogIngiIDw9IDEgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMTAKaWYgKDEgPD0gIngiICE9PSBmYWxzZSkgewogICRFUlJPUignIzEwOiAxIDw9ICJ4IiA9PT0gZmFsc2UnKTsKfQoK",
"commentary":"Operator x <= y returns ToNumber(x) <= ToNumber(y), if Type(Primitive(x)) is not String or Type(Primitive(y)) is not String",
"description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Number (primitive or object) and String (primitive and object)",
"path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A3.1_T2.2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw9IHkgcmV0dXJucyBUb051bWJlcih4KSA8PSBUb051bWJlcih5KSwgaWYgVHlwZShQcmltaXRpdmUoeCkpIGlzIG5vdCBTdHJpbmcgb3IgVHlwZShQcmltaXRpdmUoeSkpIGlzIG5vdCBTdHJpbmcKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMy9TMTEuOC4zX0EzLjFfVDIuMy5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoUHJpbWl0aXZlKHkpKSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQppZiAoMSA8PSBudWxsICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IDEgPD0gbnVsbCA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyCmlmIChudWxsIDw9IDEgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiBudWxsIDw9IDEgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgTnVtYmVyKDEpIDw9IG51bGwgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMzogbmV3IE51bWJlcigxKSA8PSBudWxsID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzQKaWYgKG51bGwgPD0gbmV3IE51bWJlcigxKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6IG51bGwgPD0gbmV3IE51bWJlcigxKSA9PT0gdHJ1ZScpOwp9Cgo=",
"commentary":"Operator x <= y returns ToNumber(x) <= ToNumber(y), if Type(Primitive(x)) is not String or Type(Primitive(y)) is not String",
"description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Number (primitive or object) and Null",
"path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A3.1_T2.3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw9IHkgcmV0dXJucyBUb051bWJlcih4KSA8PSBUb051bWJlcih5KSwgaWYgVHlwZShQcmltaXRpdmUoeCkpIGlzIG5vdCBTdHJpbmcgb3IgVHlwZShQcmltaXRpdmUoeSkpIGlzIG5vdCBTdHJpbmcKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMy9TMTEuOC4zX0EzLjFfVDIuNC5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoUHJpbWl0aXZlKHkpKSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCmlmICgxIDw9IHVuZGVmaW5lZCAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiAxIDw9IHVuZGVmaW5lZCA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyCmlmICh1bmRlZmluZWQgPD0gMSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMyOiB1bmRlZmluZWQgPD0gMSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgTnVtYmVyKDEpIDw9IHVuZGVmaW5lZCAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMzOiBuZXcgTnVtYmVyKDEpIDw9IHVuZGVmaW5lZCA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM0CmlmICh1bmRlZmluZWQgPD0gbmV3IE51bWJlcigxKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM0OiB1bmRlZmluZWQgPD0gbmV3IE51bWJlcigxKSA9PT0gZmFsc2UnKTsKfQoK",
"commentary":"Operator x <= y returns ToNumber(x) <= ToNumber(y), if Type(Primitive(x)) is not String or Type(Primitive(y)) is not String",
"description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Number (primitive or object) and Undefined",
"path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A3.1_T2.4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw9IHkgcmV0dXJucyBUb051bWJlcih4KSA8PSBUb051bWJlcih5KSwgaWYgVHlwZShQcmltaXRpdmUoeCkpIGlzIG5vdCBTdHJpbmcgb3IgVHlwZShQcmltaXRpdmUoeSkpIGlzIG5vdCBTdHJpbmcKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMy9TMTEuOC4zX0EzLjFfVDIuNS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoUHJpbWl0aXZlKHkpKSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgQm9vbGVhbiAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCmlmICh0cnVlIDw9ICIxIiAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IHRydWUgPD0gIjEiID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoIjEiIDw9IHRydWUgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiAiMSIgPD0gdHJ1ZSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBCb29sZWFuKHRydWUpIDw9ICIxIiAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IG5ldyBCb29sZWFuKHRydWUpIDw9ICIxIiA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzQKaWYgKCIxIiA8PSBuZXcgQm9vbGVhbih0cnVlKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6ICIxIiA8PSBuZXcgQm9vbGVhbih0cnVlKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzUKaWYgKHRydWUgPD0gbmV3IFN0cmluZygiMSIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNTogdHJ1ZSA8PSBuZXcgU3RyaW5nKCIxIikgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM2CmlmIChuZXcgU3RyaW5nKCIxIikgPD0gdHJ1ZSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzY6IG5ldyBTdHJpbmcoIjEiKSA8PSB0cnVlID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNwppZiAobmV3IEJvb2xlYW4odHJ1ZSkgPD0gbmV3IFN0cmluZygiMSIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNzogbmV3IEJvb2xlYW4odHJ1ZSkgPD0gbmV3IFN0cmluZygiMSIpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjOAppZiAobmV3IFN0cmluZygiMSIpIDw9IG5ldyBCb29sZWFuKHRydWUpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjODogbmV3IFN0cmluZygiMSIpIDw9IG5ldyBCb29sZWFuKHRydWUpID09PSB0cnVlJyk7Cn0KCg==",
"commentary":"Operator x <= y returns ToNumber(x) <= ToNumber(y), if Type(Primitive(x)) is not String or Type(Primitive(y)) is not String",
"description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between String (primitive or object) and Boolean (primitive and object)",
"path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A3.1_T2.5.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw9IHkgcmV0dXJucyBUb051bWJlcih4KSA8PSBUb051bWJlcih5KSwgaWYgVHlwZShQcmltaXRpdmUoeCkpIGlzIG5vdCBTdHJpbmcgb3IgVHlwZShQcmltaXRpdmUoeSkpIGlzIG5vdCBTdHJpbmcKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMy9TMTEuOC4zX0EzLjFfVDIuNi5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoUHJpbWl0aXZlKHkpKSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCmlmICgiMSIgPD0gdW5kZWZpbmVkICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6ICIxIiA8PSB1bmRlZmluZWQgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAodW5kZWZpbmVkIDw9ICIxIiAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMyOiB1bmRlZmluZWQgPD0gIjEiID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBTdHJpbmcoIjEiKSA8PSB1bmRlZmluZWQgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMzogbmV3IFN0cmluZygiMSIpIDw9IHVuZGVmaW5lZCA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM0CmlmICh1bmRlZmluZWQgPD0gbmV3IFN0cmluZygiMSIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzQ6IHVuZGVmaW5lZCA8PSBuZXcgU3RyaW5nKCIxIikgPT09IGZhbHNlJyk7Cn0KCg==",
"commentary":"Operator x <= y returns ToNumber(x) <= ToNumber(y), if Type(Primitive(x)) is not String or Type(Primitive(y)) is not String",
"description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between String (primitive or object) and Undefined",
"path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A3.1_T2.6.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw9IHkgcmV0dXJucyBUb051bWJlcih4KSA8PSBUb051bWJlcih5KSwgaWYgVHlwZShQcmltaXRpdmUoeCkpIGlzIG5vdCBTdHJpbmcgb3IgVHlwZShQcmltaXRpdmUoeSkpIGlzIG5vdCBTdHJpbmcKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMy9TMTEuOC4zX0EzLjFfVDIuNy5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoUHJpbWl0aXZlKHkpKSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQppZiAoIjEiIDw9IG51bGwgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogIjEiIDw9IG51bGwgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAobnVsbCA8PSAiMSIgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiBudWxsIDw9ICIxIiA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBTdHJpbmcoIjEiKSA8PSBudWxsICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6IG5ldyBTdHJpbmcoIjEiKSA8PSBudWxsID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzQKaWYgKG51bGwgPD0gbmV3IFN0cmluZygiMSIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogbnVsbCA8PSBuZXcgU3RyaW5nKCIxIikgPT09IHRydWUnKTsKfQoK",
"commentary":"Operator x <= y returns ToNumber(x) <= ToNumber(y), if Type(Primitive(x)) is not String or Type(Primitive(y)) is not String",
"description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between String (primitive or object) and Null",
"path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A3.1_T2.7.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw9IHkgcmV0dXJucyBUb051bWJlcih4KSA8PSBUb051bWJlcih5KSwgaWYgVHlwZShQcmltaXRpdmUoeCkpIGlzIG5vdCBTdHJpbmcgb3IgVHlwZShQcmltaXRpdmUoeSkpIGlzIG5vdCBTdHJpbmcKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMy9TMTEuOC4zX0EzLjFfVDIuOC5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoUHJpbWl0aXZlKHkpKSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gQm9vbGVhbiAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQppZiAodHJ1ZSA8PSB1bmRlZmluZWQgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogdHJ1ZSA8PSB1bmRlZmluZWQgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAodW5kZWZpbmVkIDw9IHRydWUgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogdW5kZWZpbmVkIDw9IHRydWUgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAobmV3IEJvb2xlYW4odHJ1ZSkgPD0gdW5kZWZpbmVkICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6IG5ldyBCb29sZWFuKHRydWUpIDw9IHVuZGVmaW5lZCA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM0CmlmICh1bmRlZmluZWQgPD0gbmV3IEJvb2xlYW4odHJ1ZSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogdW5kZWZpbmVkIDw9IG5ldyBCb29sZWFuKHRydWUpID09PSBmYWxzZScpOwp9Cgo=",
"commentary":"Operator x <= y returns ToNumber(x) <= ToNumber(y), if Type(Primitive(x)) is not String or Type(Primitive(y)) is not String",
"description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Boolean (primitive or object) and Undefined",
"path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A3.1_T2.8.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw9IHkgcmV0dXJucyBUb051bWJlcih4KSA8PSBUb051bWJlcih5KSwgaWYgVHlwZShQcmltaXRpdmUoeCkpIGlzIG5vdCBTdHJpbmcgb3IgVHlwZShQcmltaXRpdmUoeSkpIGlzIG5vdCBTdHJpbmcKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMy9TMTEuOC4zX0EzLjFfVDIuOS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoUHJpbWl0aXZlKHkpKSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gQm9vbGVhbiAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIE51bGwKICovCgovL0NIRUNLIzEKaWYgKHRydWUgPD0gbnVsbCAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiB0cnVlIDw9IG51bGwgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAobnVsbCA8PSB0cnVlICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogbnVsbCA8PSB0cnVlID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAobmV3IEJvb2xlYW4odHJ1ZSkgPD0gbnVsbCAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMzOiBuZXcgQm9vbGVhbih0cnVlKSA8PSBudWxsID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzQKaWYgKG51bGwgPD0gbmV3IEJvb2xlYW4odHJ1ZSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiBudWxsIDw9IG5ldyBCb29sZWFuKHRydWUpID09PSB0cnVlJyk7Cn0KCg==",
"commentary":"Operator x <= y returns ToNumber(x) <= ToNumber(y), if Type(Primitive(x)) is not String or Type(Primitive(y)) is not String",
"description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Boolean (primitive or object) and Null",
"path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A3.1_T2.9.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw9IHkgcmV0dXJucyBUb1N0cmluZyh4KSA8PSBUb1N0cmluZyh5KSwgaWYgVHlwZShQcmltaXRpdmUoeCkpIGlzIFN0cmluZyBhbmQgVHlwZShQcmltaXRpdmUoeSkpIGlzIFN0cmluZwogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC4zL1MxMS44LjNfQTMuMl9UMS4xLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKFByaW1pdGl2ZSh4KSkgYW5kIFR5cGUoUHJpbWl0aXZlKHkpKSB2YXJ5IGJldHdlZW4gcHJpbWl0aXZlIHN0cmluZyBhbmQgU3RyaW5nIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAoIjEiIDw9ICIxIiAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6ICIxIiA8PSAiMSIgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCmlmIChuZXcgU3RyaW5nKCIxIikgPD0gIjEiICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogbmV3IFN0cmluZygiMSIpIDw9ICIxIiA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzMKaWYgKCIxIiA8PSBuZXcgU3RyaW5nKCIxIikgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiAiMSIgPD0gbmV3IFN0cmluZygiMSIpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAobmV3IFN0cmluZygiMSIpIDw9IG5ldyBTdHJpbmcoIjEiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6IG5ldyBTdHJpbmcoIjEiKSA8PSBuZXcgU3RyaW5nKCIxIikgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM1CmlmICgieCIgPD0gIjEiICE9PSBmYWxzZSkgewogICRFUlJPUignIzU6ICJ4IiA8PSAiMSIgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNgppZiAoIjEiIDw9ICJ4IiAhPT0gdHJ1ZSkgewogICRFUlJPUignIzY6ICIxIiA8PSAieCIgPT09IHRydWUnKTsKfQoK",
"commentary":"Operator x <= y returns ToString(x) <= ToString(y), if Type(Primitive(x)) is String and Type(Primitive(y)) is String",
"description":"Type(Primitive(x)) and Type(Primitive(y)) vary between primitive string and String object",
"path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A3.2_T1.1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw9IHkgcmV0dXJucyBUb1N0cmluZyh4KSA8PSBUb1N0cmluZyh5KSwgaWYgVHlwZShQcmltaXRpdmUoeCkpIGlzIFN0cmluZyBhbmQgVHlwZShQcmltaXRpdmUoeSkpIGlzIFN0cmluZwogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC4zL1MxMS44LjNfQTMuMl9UMS4yLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKFByaW1pdGl2ZSh4KSkgYW5kIFR5cGUoUHJpbWl0aXZlKHkpKSB2YXJ5IGJldHdlZW4gT2JqZWN0IG9iamVjdCBhbmQgRnVuY3Rpb24gb2JqZWN0CiAqLwoKLy9DSEVDSyMxCmlmICgoe30gPD0gZnVuY3Rpb24oKXtyZXR1cm4gMX0pICE9PSAoe30udG9TdHJpbmcoKSA8PSBmdW5jdGlvbigpe3JldHVybiAxfS50b1N0cmluZygpKSkgewogICRFUlJPUignIzE6ICh7fSA8PSBmdW5jdGlvbigpe3JldHVybiAxfSkgPT09ICh7fS50b1N0cmluZygpIDw9IGZ1bmN0aW9uKCl7cmV0dXJuIDF9LnRvU3RyaW5nKCkpJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKGZ1bmN0aW9uKCl7cmV0dXJuIDF9IDw9IHt9KSAhPT0gKGZ1bmN0aW9uKCl7cmV0dXJuIDF9LnRvU3RyaW5nKCkgPD0ge30udG9TdHJpbmcoKSkpIHsKICAkRVJST1IoJyMyOiAoZnVuY3Rpb24oKXtyZXR1cm4gMX0gPD0ge30pID09PSAoZnVuY3Rpb24oKXtyZXR1cm4gMX0udG9TdHJpbmcoKSA8PSB7fS50b1N0cmluZygpKScpOwp9CgovL0NIRUNLIzMKaWYgKChmdW5jdGlvbigpe3JldHVybiAxfSA8PSBmdW5jdGlvbigpe3JldHVybiAxfSkgIT09IChmdW5jdGlvbigpe3JldHVybiAxfS50b1N0cmluZygpIDw9IGZ1bmN0aW9uKCl7cmV0dXJuIDF9LnRvU3RyaW5nKCkpKSB7CiAgJEVSUk9SKCcjMzogKGZ1bmN0aW9uKCl7cmV0dXJuIDF9IDw9IGZ1bmN0aW9uKCl7cmV0dXJuIDF9KSA9PT0gKGZ1bmN0aW9uKCl7cmV0dXJuIDF9LnRvU3RyaW5nKCkgPD0gZnVuY3Rpb24oKXtyZXR1cm4gMX0udG9TdHJpbmcoKSknKTsKfQoKLy9DSEVDSyM0CmlmICgoe30gPD0ge30pICE9PSAoe30udG9TdHJpbmcoKSA8PSB7fS50b1N0cmluZygpKSkgewogICRFUlJPUignIzQ6ICh7fSA8PSB7fSkgPT09ICh7fS50b1N0cmluZygpIDw9IHt9LnRvU3RyaW5nKCkpJyk7Cn0KCg==",
"commentary":"Operator x <= y returns ToString(x) <= ToString(y), if Type(Primitive(x)) is String and Type(Primitive(y)) is String",
"description":"Type(Primitive(x)) and Type(Primitive(y)) vary between Object object and Function object",
"path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A3.2_T1.2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIE5hTiwgcmV0dXJuIGZhbHNlIChpZiByZXN1bHQgaW4gMTEuOC41IGlzIHVuZGVmaW5lZCwgcmV0dXJuIGZhbHNlKQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC4zL1MxMS44LjNfQTQuMS5qcwogKiBAZGVzY3JpcHRpb24geSBpcyBudW1iZXIgcHJpbWl0aXZlCiAqLwoKLy9DSEVDSyMxCmlmICgoTnVtYmVyLk5hTiA8PSAwKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiAoTmFOIDw9IDApID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYgKChOdW1iZXIuTmFOIDw9IDEuMSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogKE5hTiA8PSAxLjEpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzMKaWYgKChOdW1iZXIuTmFOIDw9IC0xLjEpICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6IChOYU4gPD0gLTEuMSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKE51bWJlci5OYU4gPD0gTnVtYmVyLk5hTikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogKE5hTiA8PSBOYU4pID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzUKaWYgKChOdW1iZXIuTmFOIDw9IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogKE5hTiA8PSArSW5maW5pdHkpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzYKaWYgKChOdW1iZXIuTmFOIDw9IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNjogKE5hTiA8PSAtSW5maW5pdHkpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzcKaWYgKChOdW1iZXIuTmFOIDw9IE51bWJlci5NQVhfVkFMVUUpICE9PSBmYWxzZSkgewogICRFUlJPUignIzc6IChOYU4gPD0gTnVtYmVyLk1BWF9WQUxVRSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjOAppZiAoKE51bWJlci5OYU4gPD0gTnVtYmVyLk1JTl9WQUxVRSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjODogKE5hTiA8PSBOdW1iZXIuTUlOX1ZBTFVFKSA9PT0gZmFsc2UnKTsKfQoKCg==",
"commentary":"If x is NaN, return false (if result in 11.8.5 is undefined, return false)",
"description":"y is number primitive",
"path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A4.1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB5IGlzIGEgcHJlZml4IG9mIHggYW5kIHggIT09IHksIHJldHVybiBmYWxzZQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC4zL1MxMS44LjNfQTQuMTAuanMKICogQGRlc2NyaXB0aW9uIHggYW5kIHkgYXJlIHN0cmluZyBwcmltaXRpdmVzCiAqLwoKLy9DSEVDSyMxCmlmICgoInggIiA8PSAieCIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6ICgieCAiIDw9ICJ4IikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKCJ4IiA8PSAiIikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogKCJ4IiA8PSAiIikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKCJhYmNkIiA8PSAiYWIiKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMzOiAoImFiY2QiIDw9IGFiIikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKCJhYmNcdTAwNjQiIDw9ICJhYmNkIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiAoImFiY1xcdTAwNjQiIDw9IGFiY2QiKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzUKaWYgKCgieCIgKyAieSIgPD0gIngiKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM1OiAoIngiICsgInkiIDw9ICJ4IikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNgp2YXIgeCA9ICJ4IjsKaWYgKCh4ICsgJ3knIDw9IHgpICE9PSBmYWxzZSkgewogICRFUlJPUignIzY6IHZhciB4ID0gIngiOyAoeCArICJ5IiA8PSB4KSA9PT0gZmFsc2UnKTsKfQoKCg==",
"commentary":"If y is a prefix of x and x !== y, return false",
"description":"x and y are string primitives",
"path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A4.10.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIGEgcHJlZml4IG9mIHksIHJldHVybiB0cnVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjMvUzExLjguM19BNC4xMS5qcwogKiBAZGVzY3JpcHRpb24geCBhbmQgeSBhcmUgc3RyaW5nIHByaW1pdGl2ZXMKICovCgovL0NIRUNLIzEKaWYgKCgieCIgPD0gIngiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6ICgieCIgPD0gIngiKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKCgiIiA8PSAieCIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogKCIiIDw9ICJ4IikgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMzCmlmICgoImFiIiA8PSAiYWJjZCIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogKCJhYiIgPD0gYWJjZCIpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKCJhYmNkIiA8PSAiYWJjXHUwMDY0IikgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiAoImFiY2QiIDw9IGFiY1xcdTAwNjQiKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzUKaWYgKCgieCIgPD0gIngiICsgInkiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzU6ICgieCIgPD0gIngiICsgInkiKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzYKdmFyIHggPSAieCI7CmlmICgoeCA8PSB4ICsgInkiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzY6IHZhciB4ID0gIngiOyAoeCA8PSB4ICsgInkiKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzcKaWYgKCgiYVx1MDAwMCIgPD0gImFcdTAwMDBhIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM3OiAoImFcXHUwMDAwIiA8PSAiYVxcdTAwMDBhIikgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM4CmlmICgoIngiIDw9ICIgeCIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzg6ICgieCIgPD0gIiB4IikgPT09IGZhbHNlJyk7Cn0KCgoK",
"commentary":"If x is a prefix of y, return true",
"description":"x and y are string primitives",
"path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A4.11.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBuZWl0aGVyIHgsIG5vciB5IGlzIGEgcHJlZml4IG9mIGVhY2ggb3RoZXIsIHJldHVybmVkIHJlc3VsdCBvZiBzdHJpbmdzIGNvbXBhcmlzb24gYXBwbGllcyBhIHNpbXBsZSBsZXhpY29ncmFwaGljIG9yZGVyaW5nIHRvIHRoZSBzZXF1ZW5jZXMgb2YgY29kZSBwb2ludCB2YWx1ZSB2YWx1ZXMKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMy9TMTEuOC4zX0E0LjEyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiB4IGFuZCB5IGFyZSBzdHJpbmcgcHJpbWl0aXZlcwogKi8KCi8vQ0hFQ0sjMQppZiAoKCJ4eCIgPD0gInh5IikgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiAoInh4IiA8PSAieHkiKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKCgieHkiIDw9ICJ4eCIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6ICgieHkiIDw9ICJ4eCIpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzMKaWYgKCgieCIgPD0gInkiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6ICgieCIgPD0geSIpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKCJhYWIiIDw9ICJhYmEiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6ICgiYWFiIiA8PSBhYmEiKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzUKaWYgKCgiXHUwMDYxXHUwMDYxXHUwMDYxXHUwMDYyIiA8PSAiXHUwMDYxXHUwMDYxXHUwMDYxXHUwMDYxIikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogKCJcXHUwMDYxXFx1MDA2MVxcdTAwNjFcXHUwMDYyIiA8PSBcXHUwMDYxXFx1MDA2MVxcdTAwNjFcXHUwMDYxIikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNgppZiAoKCJhXHUwMDAwYSIgPD0gImFcdTAwMDBiIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiAoImFcXHUwMDAwYSIgPD0gImFcXHUwMDAwYiIpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNwppZiAoKCJhQiIgPD0gImFhIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM3OiAoImFCIiA8PSBhYSIpID09PSB0cnVlJyk7Cn0KCg==",
"commentary":"If neither x, nor y is a prefix of each other, returned result of strings comparison applies a simple lexicographic ordering to the sequences of code point value values",
"description":"x and y are string primitives",
"path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A4.12_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBuZWl0aGVyIHgsIG5vciB5IGlzIGEgcHJlZml4IG9mIGVhY2ggb3RoZXIsIHJldHVybmVkIHJlc3VsdCBvZiBzdHJpbmdzIGNvbXBhcmlzb24gYXBwbGllcyBhIHNpbXBsZSBsZXhpY29ncmFwaGljIG9yZGVyaW5nIHRvIHRoZSBzZXF1ZW5jZXMgb2YgY29kZSBwb2ludCB2YWx1ZSB2YWx1ZXMKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMy9TMTEuOC4zX0E0LjEyX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiB4IGFuZCB5IGFyZSBzdHJpbmcgcHJpbWl0aXZlcwogKi8KCi8vQ0hFQ0sjMQppZiAoKCIwIiA8PSAieCIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogKCIwIiA8PSAieCIpICE9PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKCItIiA8PSAiMCIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogKCItIiA8PSAiMCIpICE9PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKCIuIiA8PSAiMCIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogKCIuIiA8PSAiMCIpICE9PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKCIrIiA8PSAiLSIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogKCIrIiA8PSAiLSIpICE9PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoKCItMCIgPD0gIi0xIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiAoIi0wIiA8PSAiLTEiKSAhPT0gdHJ1ZScpOwp9CgovL0NIRUNLIzYKaWYgKCgiKzEiIDw9ICItMSIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNjogKCIrMSIgPD0gIi0xIikgIT09IHRydWUnKTsKfQoKLy9DSEVDSyM3CmlmICgoIjEiIDw9ICIxZS0xMCIpICE9PSB0cnVlKSB7CiRFUlJPUignIzc6ICgiMSIgPD0gIjFlLTEwIikgIT09IHRydWUnKTsKfQoK",
"commentary":"If neither x, nor y is a prefix of each other, returned result of strings comparison applies a simple lexicographic ordering to the sequences of code point value values",
"description":"x and y are string primitives",
"path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A4.12_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB5IGlzIE5hTiwgcmV0dXJuIGZhbHNlIChpZiByZXN1bHQgaW4gMTEuOC41IGlzIHVuZGVmaW5lZCwgcmV0dXJuIGZhbHNlKQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC4zL1MxMS44LjNfQTQuMi5qcwogKiBAZGVzY3JpcHRpb24geCBpcyBudW1iZXIgcHJpbWl0aXZlCiAqLwoKLy9DSEVDSyMxCmlmICgoMCA8PSBOdW1iZXIuTmFOKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiAoMCA8PSBOYU4pID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYgKCgxLjEgPD0gTnVtYmVyLk5hTikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogKDEuMSA8PSBOYU4pID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzMKaWYgKCgtMS4xIDw9IE51bWJlci5OYU4pICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6ICgtMS4xIDw9IE5hTikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKE51bWJlci5OYU4gPD0gTnVtYmVyLk5hTikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogKE5hTiA8PSBOYU4pID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzUKaWYgKChOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgPD0gTnVtYmVyLk5hTikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogKCtJbmZpbml0eSA8PSBOYU4pID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzYKaWYgKChOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgPD0gTnVtYmVyLk5hTikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNjogKC1JbmZpbml0eSA8PSBOYU4pID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzcKaWYgKChOdW1iZXIuTUFYX1ZBTFVFIDw9IE51bWJlci5OYU4pICE9PSBmYWxzZSkgewogICRFUlJPUignIzc6IChOdW1iZXIuTUFYX1ZBTFVFIDw9IE5hTikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjOAppZiAoKE51bWJlci5NSU5fVkFMVUUgPD0gTnVtYmVyLk5hTikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjODogKE51bWJlci5NSU5fVkFMVUUgPD0gTmFOKSA9PT0gZmFsc2UnKTsKfQoKCg==",
"commentary":"If y is NaN, return false (if result in 11.8.5 is undefined, return false)",
"description":"x is number primitive",
"path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A4.2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGFuZCB5IGFyZSB0aGUgc2FtZSBudW1iZXIgdmFsdWUsIHJldHVybiB0cnVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjMvUzExLjguM19BNC4zLmpzCiAqIEBkZXNjcmlwdGlvbiB4IGFuZCB5IGFyZSBudW1iZXIgcHJpbWl0aXZlcwogKi8KCi8vQ0hFQ0sjMQppZiAoKDEgPD0gMSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiAoMSA8PSAxKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKCgxLjEgPD0gMS4xKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6ICgxLjEgPD0gMS4xKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzMKaWYgKCgtMS4xIDw9IC0xLjEpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogKC0xLjEgPD0gLTEuMSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM0CmlmICgoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZIDw9IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiAoLUluZmluaXR5IDw9IC1JbmZpbml0eSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM1CmlmICgoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZIDw9IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiAoK0luZmluaXR5IDw9ICtJbmZpbml0eSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM2CmlmICgoTnVtYmVyLk1BWF9WQUxVRSA8PSBOdW1iZXIuTUFYX1ZBTFVFKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzY6IChOdW1iZXIuTUFYX1ZBTFVFIDw9IE51bWJlci5NQVhfVkFMVUUpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNwppZiAoKE51bWJlci5NSU5fVkFMVUUgPD0gTnVtYmVyLk1JTl9WQUxVRSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM3OiAoTnVtYmVyLk1JTl9WQUxVRSA8PSBOdW1iZXIuTUlOX1ZBTFVFKSA9PT0gdHJ1ZScpOwp9CgoKCg==",
"commentary":"If x and y are the same number value, return true",
"description":"x and y are number primitives",
"path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A4.3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBlaXRoZXIgeCBvciB5IGlzICswIGFuZCB0aGUgb3RoZXIgaXMgLTAsIHJldHVybiB0cnVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjMvUzExLjguM19BNC40LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBhbGwgY29tYmluYXRpb25zCiAqLwoKLy9DSEVDSyMxCmlmICgoMCA8PSAwKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6ICgwIDw9IDApID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKC0wIDw9IC0wKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6ICgtMCA8PSAtMCkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMzCmlmICgoKzAgPD0gLTApICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogKCswIDw9IC0wKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzQKaWYgKCgtMCA8PSArMCkgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiAoLTAgPD0gKzApID09PSB0cnVlJyk7Cn0KCgo=",
"commentary":"If either x or y is +0 and the other is -0, return true",
"description":"Checking all combinations",
"path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A4.4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzICtJbmZpbml0eSBhbmQgeCAhPT0geSwgcmV0dXJuIGZhbHNlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjMvUzExLjguM19BNC41LmpzCiAqIEBkZXNjcmlwdGlvbiB5IGlzIG51bWJlciBwcmltaXRpdmUKICovCgovL0NIRUNLIzEKaWYgKChOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgPD0gMCkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogKCtJbmZpbml0eSA8PSAwKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyCmlmICgoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZIDw9IDEuMSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogKCtJbmZpbml0eSA8PSAxLjEpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzMKaWYgKChOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgPD0gLTEuMSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMzogKCtJbmZpbml0eSA8PSAtMS4xKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM0CmlmICgoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZIDw9IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogKCtJbmZpbml0eSA8PSAtSW5maW5pdHkpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzUKaWYgKChOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgPD0gTnVtYmVyLk1BWF9WQUxVRSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogKCtJbmZpbml0eSA8PSBOdW1iZXIuTUFYX1ZBTFVFKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM2CmlmICgoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZIDw9IE51bWJlci5NSU5fVkFMVUUpICE9PSBmYWxzZSkgewogICRFUlJPUignIzY6ICgrSW5maW5pdHkgPD0gTnVtYmVyLk1JTl9WQUxVRSkgPT09IGZhbHNlJyk7Cn0KCgo=",
"commentary":"If x is +Infinity and x !== y, return false",
"description":"y is number primitive",
"path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A4.5.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB5IGlzICtJbmZpbml0eSBhbmQgeCAhPT0geSwgcmV0dXJuIHRydWUKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMy9TMTEuOC4zX0E0LjYuanMKICogQGRlc2NyaXB0aW9uIHggaXMgbnVtYmVyIHByaW1pdGl2ZQogKi8KCi8vQ0hFQ0sjMQppZiAoKDAgPD0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6ICgwIDw9ICtJbmZpbml0eSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCmlmICgoMS4xIDw9IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiAoMS4xIDw9ICtJbmZpbml0eSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMzCmlmICgoLTEuMSA8PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogKC0xLjEgPD0gK0luZmluaXR5KSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzQKaWYgKChOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgPD0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6ICgtSW5maW5pdHkgPD0gK0luZmluaXR5KSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzUKaWYgKChOdW1iZXIuTUFYX1ZBTFVFIDw9IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiAoTnVtYmVyLk1BWF9WQUxVRSA8PSArSW5maW5pdHkpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNgppZiAoKE51bWJlci5NSU5fVkFMVUUgPD0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzY6IChOdW1iZXIuTUlOX1ZBTFVFIDw9ICtJbmZpbml0eSkgPT09IHRydWUnKTsKfQoKCg==",
"commentary":"If y is +Infinity and x !== y, return true",
"description":"x is number primitive",
"path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A4.6.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIC1JbmZpbml0eSwgcmV0dXJuIHRydWUKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMy9TMTEuOC4zX0E0LjcuanMKICogQGRlc2NyaXB0aW9uIHkgaXMgbnVtYmVyIHByaW1pdGl2ZQogKi8KCi8vQ0hFQ0sjMQppZiAoKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSA8PSAwKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6ICgtSW5maW5pdHkgPD0gMCkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCmlmICgoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZIDw9IDEuMSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiAoLUluZmluaXR5IDw9IDEuMSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMzCmlmICgoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZIDw9IC0xLjEpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogKC1JbmZpbml0eSA8PSAtMS4xKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzQKaWYgKChOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgPD0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6ICgtSW5maW5pdHkgPD0gK0luZmluaXR5KSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzUKaWYgKChOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgPD0gTnVtYmVyLk1BWF9WQUxVRSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiAoLUluZmluaXR5IDw9IE51bWJlci5NQVhfVkFMVUUpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNgppZiAoKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSA8PSBOdW1iZXIuTUlOX1ZBTFVFKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzY6ICgtSW5maW5pdHkgPD0gTnVtYmVyLk1JTl9WQUxVRSkgPT09IHRydWUnKTsKfQoKCg==",
"commentary":"If x is -Infinity, return true",
"description":"y is number primitive",
"path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A4.7.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB5IGlzIC1JbmZpbml0eSBhbmQgeCAhPT0geSwgcmV0dXJuIGZhbHNlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjMvUzExLjguM19BNC44LmpzCiAqIEBkZXNjcmlwdGlvbiB4IGlzIG51bWJlciBwcmltaXRpdmUKICovCgovL0NIRUNLIzEKaWYgKCgwIDw9IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogKDAgPD0gLUluZmluaXR5KSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyCmlmICgoMS4xIDw9IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogKDEuMSA8PSAtSW5maW5pdHkpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzMKaWYgKCgtMS4xIDw9IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMzogKC0xLjEgPD0gLUluZmluaXR5KSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM0CmlmICgoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZIDw9IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogKCtJbmZpbml0eSA8PSAtSW5maW5pdHkpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzUKaWYgKChOdW1iZXIuTUFYX1ZBTFVFIDw9IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogKE51bWJlci5NQVhfVkFMVUUgPD0gLUluZmluaXR5KSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM2CmlmICgoTnVtYmVyLk1JTl9WQUxVRSA8PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpICE9PSBmYWxzZSkgewogICRFUlJPUignIzY6IChOdW1iZXIuTUlOX1ZBTFVFIDw9IC1JbmZpbml0eSkgPT09IGZhbHNlJyk7Cn0KCgo=",
"commentary":"If y is -Infinity and x !== y, return false",
"description":"x is number primitive",
"path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A4.8.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIGxlc3Mgb3IgZXF1YWwgdGhhbiB5IGFuZCB0aGVzZSB2YWx1ZXMgYXJlIGJvdGggZmluaXRlIG5vbi16ZXJvLCByZXR1cm4gdHJ1ZTsgb3RoZXJ3aXNlLCByZXR1cm4gZmFsc2UKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMy9TMTEuOC4zX0E0LjkuanMKICogQGRlc2NyaXB0aW9uIHggYW5kIHkgYXJlIG51bWJlciBwcmltaXRpdmVzCiAqLwoKLy9DSEVDSyMxCmlmICgoMS4xIDw9IDEpICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6ICgxLjEgPD0gMSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKDEgPD0gMS4xKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6ICgxIDw9IDEuMSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMzCmlmICgoLTEuMSA8PSAtMSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiAoLTEuMSA8PSAtMSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM0CmlmICgoLTEgPD0gLTEuMSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogKC0xIDw9IC0xLjEpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzUKaWYgKCgwIDw9IDAuMSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiAoMCA8PSAwLjEpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNgppZiAoKC0wLjEgPD0gMCkgIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiAoLTAuMSA8PSAwKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzcKaWYgKChOdW1iZXIuTUFYX1ZBTFVFLzIgPD0gTnVtYmVyLk1BWF9WQUxVRSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM3OiAoTnVtYmVyLk1BWF9WQUxVRS8yIDw9IE51bWJlci5NQVhfVkFMVUUpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjOAppZiAoKE51bWJlci5NSU5fVkFMVUUgPD0gTnVtYmVyLk1JTl9WQUxVRSoyKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzg6IChOdW1iZXIuTUlOX1ZBTFVFIDw9IE51bWJlci5NSU5fVkFMVUUqMikgPT09IHRydWUnKTsKfQoKCgo=",
"commentary":"If x is less or equal than y and these values are both finite non-zero, return true; otherwise, return false",
"description":"x and y are number primitives",
"path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A4.9.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gUmVsYXRpb25hbEV4cHJlc3Npb24gYW5kICI9PiIgb3IgIj0+IiBhbmQgU2hpZnRFeHByZXNzaW9uIGFyZSBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjQvUzExLjguNF9BMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYnkgdXNpbmcgZXZhbAogKi8KCi8vQ0hFQ0sjMQppZiAoZXZhbCgiMVx1MDAwOT49XHUwMDA5MSIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogKDFcXHUwMDA5Pj1cXHUwMDA5MSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCmlmIChldmFsKCIxXHUwMDBCPj1cdTAwMEIxIikgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiAoMVxcdTAwMEI+PVxcdTAwMEIxKSA9PT0gdHJ1ZScpOyAgCn0KCi8vQ0hFQ0sjMwppZiAoZXZhbCgiMVx1MDAwQz49XHUwMDBDMSIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogKDFcXHUwMDBDPj1cXHUwMDBDMSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM0CmlmIChldmFsKCIxXHUwMDIwPj1cdTAwMjAxIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiAoMVxcdTAwMjA+PVxcdTAwMjAxKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzUKaWYgKGV2YWwoIjFcdTAwQTA+PVx1MDBBMDEiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzU6ICgxXFx1MDBBMD49XFx1MDBBMDEpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNgppZiAoZXZhbCgiMVx1MDAwQT49XHUwMDBBMSIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNjogKDFcXHUwMDBBPj1cXHUwMDBBMSkgPT09IHRydWUnKTsgIAp9CgovL0NIRUNLIzcKaWYgKGV2YWwoIjFcdTAwMEQ+PVx1MDAwRDEiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzc6ICgxXFx1MDAwRD49XFx1MDAwRDEpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjOAppZiAoZXZhbCgiMVx1MjAyOD49XHUyMDI4MSIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjODogKDFcXHUyMDI4Pj1cXHUyMDI4MSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM5CmlmIChldmFsKCIxXHUyMDI5Pj1cdTIwMjkxIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM5OiAoMVxcdTIwMjk+PVxcdTIwMjkxKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzEwCmlmIChldmFsKCIxXHUwMDA5XHUwMDBCXHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5Pj1cdTAwMDlcdTAwMEJcdTAwMENcdTAwMjBcdTAwQTBcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjkxIikgIT09IHRydWUpIHsKICAkRVJST1IoJyMxMDogKDFcXHUwMDA5XFx1MDAwQlxcdTAwMENcXHUwMDIwXFx1MDBBMFxcdTAwMEFcXHUwMDBEXFx1MjAyOFxcdTIwMjk+PVxcdTAwMDlcXHUwMDBCXFx1MDAwQ1xcdTAwMjBcXHUwMEEwXFx1MDAwQVxcdTAwMERcXHUyMDI4XFx1MjAyOTEpID09PSB0cnVlJyk7Cn0KCg==",
"commentary":"White Space and Line Terminator between RelationalExpression and \"=>\" or \"=>\" and ShiftExpression are allowed",
"description":"Checking by using eval",
"path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID49IHkgdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC40L1MxMS44LjRfQTIuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gRWl0aGVyIFR5cGUgaXMgbm90IFJlZmVyZW5jZSBvciBHZXRCYXNlIGlzIG5vdCBudWxsCiAqLwoKLy9DSEVDSyMxCmlmICgxID49IDEgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiAxID49IDEgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gMTsKaWYgKHggPj0gMSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHZhciB4ID0gMTsgeCA+PSAxID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMwp2YXIgeSA9IDE7CmlmICgxID49IHkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiB2YXIgeSA9IDE7IDEgPj0geSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzQKdmFyIHggPSAxOwp2YXIgeSA9IDE7CmlmICh4ID49IHkgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IDE7IHZhciB5ID0gMTsgeCA+PSB5ID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNQp2YXIgb2JqZWN0eCA9IG5ldyBPYmplY3QoKTsKdmFyIG9iamVjdHkgPSBuZXcgT2JqZWN0KCk7Cm9iamVjdHgucHJvcCA9IDE7Cm9iamVjdHkucHJvcCA9IDE7CmlmIChvYmplY3R4LnByb3AgPj0gb2JqZWN0eS5wcm9wICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNTogdmFyIG9iamVjdHggPSBuZXcgT2JqZWN0KCk7IHZhciBvYmplY3R5ID0gbmV3IE9iamVjdCgpOyBvYmplY3R4LnByb3AgPSAxOyBvYmplY3R5LnByb3AgPSAxOyBvYmplY3R4LnByb3AgPj0gb2JqZWN0eS5wcm9wID09PSB0cnVlJyk7Cn0KCg==",
"commentary":"Operator x >= y uses GetValue",
"description":"Either Type is not Reference or GetBase is not null",
"path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A2.1_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID49IHkgdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC40L1MxMS44LjRfQTIuMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gSWYgR2V0QmFzZSh4KSBpcyBudWxsLCB0aHJvdyBSZWZlcmVuY2VFcnJvcgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHggPj0gMTsKICAkRVJST1IoJyMxLjE6IHggPj0gMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHggPj0gMSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogeCA+PSAxIHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9CgoK",
"commentary":"Operator x >= y uses GetValue",
"description":"If GetBase(x) is null, throw ReferenceError",
"path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A2.1_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID49IHkgdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC40L1MxMS44LjRfQTIuMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gSWYgR2V0QmFzZSh5KSBpcyBudWxsLCB0aHJvdyBSZWZlcmVuY2VFcnJvcgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIDEgPj0geTsKICAkRVJST1IoJyMxLjE6IDEgPj0geSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKDEgPj0geSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogMSA+PSB5IHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9CgoK",
"commentary":"Operator x >= y uses GetValue",
"description":"If GetBase(y) is null, throw ReferenceError",
"path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A2.1_T3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID49IHkgdXNlcyBbW0RlZmF1bHQgVmFsdWVdXQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC40L1MxMS44LjRfQTIuMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gSWYgVHlwZSh2YWx1ZSkgaXMgT2JqZWN0LCBldmFsdWF0ZSBUb1ByaW1pdGl2ZSh2YWx1ZSwgTnVtYmVyKQogKi8KCi8vQ0hFQ0sjMQppZiAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAyfX0gPj0gMSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19ID49IDEgPT09IHRydWUuIEFjdHVhbDogJyArICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSA+PSAxKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAyfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX0gPj0gMSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMn19ID49IDEgPT09IHRydWUuIEFjdHVhbDogJyArICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDJ9fSA+PSAxKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAyfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19ID49IDEgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0gPj0gMSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSA+PSAxKSk7Cn0KCi8vQ0hFQ0sjNAp0cnkgewogIGlmICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19ID49IDEgIT09IHRydWUpIHsKICAgICRFUlJPUignIzQuMToge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fSA+PSAxID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fSA+PSAxKSk7CiAgfQp9CmNhdGNoIChlKSB7CiAgaWYgKGUgPT09ICJlcnJvciIpIHsKICAgICRFUlJPUignIzQuMjoge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAyfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fSA+PSAxIG5vdCB0aHJvdyAiZXJyb3IiJyk7CiAgfSBlbHNlIHsKICAgICRFUlJPUignIzQuMzoge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAyfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fSA+PSAxIG5vdCB0aHJvdyBFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCi8vQ0hFQ0sjNQppZiAoMSA+PSB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX0gIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiAxID49IHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKDEgPj0ge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19KSk7Cn0KCi8vQ0hFQ0sjNgppZiAoMSA+PSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX0gIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiAxID49IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKDEgPj0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19KSk7Cn0KCi8vQ0hFQ0sjNwp0cnkgewogIDEgPj0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fTsKICAkRVJST1IoJyM3LjE6IDEgPj0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSB0aHJvdyAiZXJyb3IiLiBBY3R1YWw6ICcgKyAoMSA+PSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19KSk7Cn0gIApjYXRjaCAoZSkgewogIGlmIChlICE9PSAiZXJyb3IiKSB7CiAgICAkRVJST1IoJyM3LjI6IDEgPj0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSB0aHJvdyAiZXJyb3IiLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gCn0KCi8vQ0hFQ0sjOAp0cnkgewogIDEgPj0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsKICAkRVJST1IoJyM4LjE6IDEgPj0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArICgxID49IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0pKTsKfSAgCmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjOC4yOiAxID49IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0gdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gCn0KCg==",
"commentary":"Operator x >= y uses [[Default Value]]",
"description":"If Type(value) is Object, evaluate ToPrimitive(value, Number)",
"path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A2.2_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUb051bWJlcihmaXJzdCBleHByZXNzaW9uKSBpcyBjYWxsZWQgZmlyc3QsIGFuZCB0aGVuIFRvTnVtYmVyKHNlY29uZCBleHByZXNzaW9uKQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC40L1MxMS44LjRfQTIuM19UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgd2l0aCAidGhyb3ciCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0geyB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfSB9Owp2YXIgeSA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieSI7IH0gfTsKdHJ5IHsKICAgeCA+PSB5OwogICAkRVJST1IoJyMxLjE6IHZhciB4ID0geyB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfSB9OyB2YXIgeSA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieSI7IH0gfTsgeCA+PSB5IHRocm93ICJ4Ii4gQWN0dWFsOiAnICsgKHggPj0geSkpOwp9IGNhdGNoIChlKSB7CiAgIGlmIChlID09PSAieSIpIHsKICAgICAkRVJST1IoJyMxLjI6IFRvTnVtYmVyKGZpcnN0IGV4cHJlc3Npb24pIGlzIGNhbGxlZCBmaXJzdCwgYW5kIHRoZW4gVG9OdW1iZXIoc2Vjb25kIGV4cHJlc3Npb24pJyk7CiAgIH0gZWxzZSB7CiAgICAgaWYgKGUgIT09ICJ4IikgewogICAgICAgJEVSUk9SKCcjMS4zOiB2YXIgeCA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieCI7IH0gfTsgdmFyIHkgPSB7IHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9IH07IHggPj0geSB0aHJvdyAieCIuIEFjdHVhbDogJyArIChlKSk7CiAgICAgfQogICB9Cn0KCg==",
"commentary":"ToNumber(first expression) is called first, and then ToNumber(second expression)",
"description":"Checking with \"throw\"",
"path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A2.3_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS44LzExLjguNC9TMTEuOC40X0EyLjRfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggIj0iCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gMTsgCmlmICgoeCA9IDApID49IHggIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IDE7ICh4ID0gMCkgPj0geCA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAwOyAKaWYgKHggPj0gKHggPSAxKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IDA7IHggPj0gKHggPSAxKSA9PT0gZmFsc2UnKTsKfQoKCg==",
"commentary":"First expression is evaluated first, and then second expression",
"description":"Checking with \"=\"",
"path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A2.4_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS44LzExLjguNC9TMTEuOC40X0EyLjRfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggInRocm93IgogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9Owp2YXIgeSA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9Owp0cnkgewogICB4KCkgPj0geSgpOwogICAkRVJST1IoJyMxLjE6IHZhciB4ID0gZnVuY3Rpb24gKCkgeyB0aHJvdyAieCI7IH07IHZhciB5ID0gZnVuY3Rpb24gKCkgeyB0aHJvdyAieSI7IH07IHgoKSA+PSB5KCkgdGhyb3cgIngiLiBBY3R1YWw6ICcgKyAoeCgpID49IHkoKSkpOwp9IGNhdGNoIChlKSB7CiAgIGlmIChlID09PSAieSIpIHsKICAgICAkRVJST1IoJyMxLjI6IEZpcnN0IGV4cHJlc3Npb24gaXMgZXZhbHVhdGVkIGZpcnN0LCBhbmQgdGhlbiBzZWNvbmQgZXhwcmVzc2lvbicpOwogICB9IGVsc2UgewogICAgIGlmIChlICE9PSAieCIpIHsKICAgICAgICRFUlJPUignIzEuMzogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpID49IHkoKSB0aHJvdyAieCIuIEFjdHVhbDogJyArIChlKSk7CiAgICAgfQogICB9Cn0KCg==",
"commentary":"First expression is evaluated first, and then second expression",
"description":"Checking with \"throw\"",
"path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A2.4_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS44LzExLjguNC9TMTEuOC40X0EyLjRfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggdW5kZWNsYXJhdGVkIHZhcmlhYmxlcwogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHggPj0gKHggPSAxKTsKICAkRVJST1IoJyMxLjE6IHggPj0gKHggPSAxKSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHggPj0gKHggPSAxKSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogeCA+PSAoeCA9IDEpIHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9CgovL0NIRUNLIzIKaWYgKCh5ID0gMSkgPj0geSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6ICh5ID0gMSkgPj0geSA9PT0gdHJ1ZScpOwp9CgoK",
"commentary":"First expression is evaluated first, and then second expression",
"description":"Checking with undeclarated variables",
"path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A2.4_T3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4ID49IHkgcmV0dXJucyBUb051bWJlcih4KSA+PSBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC40L1MxMS44LjRfQTMuMV9UMS4xLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKFByaW1pdGl2ZSh4KSkgYW5kIFR5cGUoUHJpbWl0aXZlKHkpKSB2YXJ5IGJldHdlZW4gcHJpbWl0aXZlIGJvb2xlYW4gYW5kIEJvb2xlYW4gb2JqZWN0CiAqLwoKLy9DSEVDSyMxCmlmICh0cnVlID49IHRydWUgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiB0cnVlID49IHRydWUgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCmlmIChuZXcgQm9vbGVhbih0cnVlKSA+PSB0cnVlICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogbmV3IEJvb2xlYW4odHJ1ZSkgPj0gdHJ1ZSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzMKaWYgKHRydWUgPj0gbmV3IEJvb2xlYW4odHJ1ZSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiB0cnVlID49IG5ldyBCb29sZWFuKHRydWUpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAobmV3IEJvb2xlYW4odHJ1ZSkgPj0gbmV3IEJvb2xlYW4odHJ1ZSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiBuZXcgQm9vbGVhbih0cnVlKSA+PSBuZXcgQm9vbGVhbih0cnVlKSA9PT0gdHJ1ZScpOwp9Cgo=",
"commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x >= y returns ToNumber(x) >= ToNumber(y)",
"description":"Type(Primitive(x)) and Type(Primitive(y)) vary between primitive boolean and Boolean object",
"path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A3.1_T1.1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4ID49IHkgcmV0dXJucyBUb051bWJlcih4KSA+PSBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC40L1MxMS44LjRfQTMuMV9UMS4yLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKFByaW1pdGl2ZSh4KSkgYW5kIFR5cGUoUHJpbWl0aXZlKHkpKSB2YXJ5IGJldHdlZW4gcHJpbWl0aXZlIG51bWJlciBhbmQgTnVtYmVyIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAoMSA+PSAxICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogMSA+PSAxID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAobmV3IE51bWJlcigxKSA+PSAxICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogbmV3IE51bWJlcigxKSA+PSAxID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoMSA+PSBuZXcgTnVtYmVyKDEpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogMSA+PSBuZXcgTnVtYmVyKDEpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAobmV3IE51bWJlcigxKSA+PSBuZXcgTnVtYmVyKDEpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogbmV3IE51bWJlcigxKSA+PSBuZXcgTnVtYmVyKDEpID09PSB0cnVlJyk7Cn0KCgo=",
"commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x >= y returns ToNumber(x) >= ToNumber(y)",
"description":"Type(Primitive(x)) and Type(Primitive(y)) vary between primitive number and Number object",
"path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A3.1_T1.2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4ID49IHkgcmV0dXJucyBUb051bWJlcih4KSA+PSBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC40L1MxMS44LjRfQTMuMV9UMS4zLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKFByaW1pdGl2ZSh4KSkgYW5kIFR5cGUoUHJpbWl0aXZlKHkpKSB2YXJ5IGJldHdlZW4gTnVsbCBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCmlmIChudWxsID49IHVuZGVmaW5lZCAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBudWxsID49IHVuZGVmaW5lZCA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyCmlmICh1bmRlZmluZWQgPj0gbnVsbCAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMyOiB1bmRlZmluZWQgPj0gbnVsbCA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMzCmlmICh1bmRlZmluZWQgPj0gdW5kZWZpbmVkICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6IHVuZGVmaW5lZCA+PSB1bmRlZmluZWQgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAobnVsbCA+PSBudWxsICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogbnVsbCA+PSBudWxsID09PSB0cnVlJyk7Cn0KCg==",
"commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x >= y returns ToNumber(x) >= ToNumber(y)",
"description":"Type(Primitive(x)) and Type(Primitive(y)) vary between Null and Undefined",
"path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A3.1_T1.3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4ID49IHkgcmV0dXJucyBUb051bWJlcih4KSA+PSBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC40L1MxMS44LjRfQTMuMV9UMi4xLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgZGlmZmVyZW50IGZyb20gVHlwZShQcmltaXRpdmUoeSkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBOdW1iZXIgKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBCb29sZWFuIChwcmltaXRpdmUgYW5kIG9iamVjdCkKICovCgovL0NIRUNLIzEKaWYgKHRydWUgPj0gMSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IHRydWUgPj0gMSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKDEgPj0gdHJ1ZSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IDEgPj0gdHJ1ZSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBCb29sZWFuKHRydWUpID49IDEgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiBuZXcgQm9vbGVhbih0cnVlKSA+PSAxID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoMSA+PSBuZXcgQm9vbGVhbih0cnVlKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6IDEgPj0gbmV3IEJvb2xlYW4odHJ1ZSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM1CmlmICh0cnVlID49IG5ldyBOdW1iZXIoMSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiB0cnVlID49IG5ldyBOdW1iZXIoMSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM2CmlmIChuZXcgTnVtYmVyKDEpID49IHRydWUgIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiBuZXcgTnVtYmVyKDEpID49IHRydWUgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM3CmlmIChuZXcgQm9vbGVhbih0cnVlKSA+PSBuZXcgTnVtYmVyKDEpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNzogbmV3IEJvb2xlYW4odHJ1ZSkgPj0gbmV3IE51bWJlcigxKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzgKaWYgKG5ldyBOdW1iZXIoMSkgPj0gbmV3IEJvb2xlYW4odHJ1ZSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM4OiBuZXcgTnVtYmVyKDEpID49IG5ldyBCb29sZWFuKHRydWUpID09PSB0cnVlJyk7Cn0KCg==",
"commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x >= y returns ToNumber(x) >= ToNumber(y)",
"description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Number (primitive or object) and Boolean (primitive and object)",
"path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A3.1_T2.1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4ID49IHkgcmV0dXJucyBUb051bWJlcih4KSA+PSBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC40L1MxMS44LjRfQTMuMV9UMi4yLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgZGlmZmVyZW50IGZyb20gVHlwZShQcmltaXRpdmUoeSkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBOdW1iZXIgKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBTdHJpbmcgKHByaW1pdGl2ZSBhbmQgb2JqZWN0KQogKi8KCi8vQ0hFQ0sjMQppZiAoIjEiID49IDEgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiAiMSIgPj0gMSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKDEgPj0gIjEiICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogMSA+PSAiMSIgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgU3RyaW5nKCIxIikgPj0gMSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IG5ldyBTdHJpbmcoIjEiKSA+PSAxID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoMSA+PSBuZXcgU3RyaW5nKCIxIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiAxID49IG5ldyBTdHJpbmcoIjEiKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzUKaWYgKCIxIiA+PSBuZXcgTnVtYmVyKDEpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNTogIjEiID49IG5ldyBOdW1iZXIoMSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM2CmlmIChuZXcgTnVtYmVyKDEpID49ICIxIiAhPT0gdHJ1ZSkgewogICRFUlJPUignIzY6IG5ldyBOdW1iZXIoMSkgPj0gIjEiID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNwppZiAobmV3IFN0cmluZygiMSIpID49IG5ldyBOdW1iZXIoMSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM3OiBuZXcgU3RyaW5nKCIxIikgPj0gbmV3IE51bWJlcigxKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzgKaWYgKG5ldyBOdW1iZXIoMSkgPj0gbmV3IFN0cmluZygiMSIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjODogbmV3IE51bWJlcigxKSA+PSBuZXcgU3RyaW5nKCIxIikgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM5CmlmICgieCIgPj0gMSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM5OiAieCIgPj0gMSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMxMAppZiAoMSA+PSAieCIgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTA6IDEgPj0gIngiID09PSBmYWxzZScpOwp9Cgo=",
"commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x >= y returns ToNumber(x) >= ToNumber(y)",
"description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Number (primitive or object) and String (primitive and object)",
"path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A3.1_T2.2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4ID49IHkgcmV0dXJucyBUb051bWJlcih4KSA+PSBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC40L1MxMS44LjRfQTMuMV9UMi4zLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgZGlmZmVyZW50IGZyb20gVHlwZShQcmltaXRpdmUoeSkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBOdW1iZXIgKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBOdWxsCiAqLwoKLy9DSEVDSyMxCmlmICgxID49IG51bGwgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiAxID49IG51bGwgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCmlmIChudWxsID49IDEgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogbnVsbCA+PSAxID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBOdW1iZXIoMSkgPj0gbnVsbCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IG5ldyBOdW1iZXIoMSkgPj0gbnVsbCA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzQKaWYgKG51bGwgPj0gbmV3IE51bWJlcigxKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM0OiBudWxsID49IG5ldyBOdW1iZXIoMSkgPT09IGZhbHNlJyk7Cn0KCg==",
"commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x >= y returns ToNumber(x) >= ToNumber(y)",
"description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Number (primitive or object) and Null",
"path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A3.1_T2.3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4ID49IHkgcmV0dXJucyBUb051bWJlcih4KSA+PSBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC40L1MxMS44LjRfQTMuMV9UMi40LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgZGlmZmVyZW50IGZyb20gVHlwZShQcmltaXRpdmUoeSkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBOdW1iZXIgKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBVbmRlZmluZWQKICovCgovL0NIRUNLIzEKaWYgKDEgPj0gdW5kZWZpbmVkICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IDEgPj0gdW5kZWZpbmVkID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYgKHVuZGVmaW5lZCA+PSAxICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6IHVuZGVmaW5lZCA+PSAxID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBOdW1iZXIoMSkgPj0gdW5kZWZpbmVkICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6IG5ldyBOdW1iZXIoMSkgPj0gdW5kZWZpbmVkID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzQKaWYgKHVuZGVmaW5lZCA+PSBuZXcgTnVtYmVyKDEpICE9PSBmYWxzZSkgewogICRFUlJPUignIzQ6IHVuZGVmaW5lZCA+PSBuZXcgTnVtYmVyKDEpID09PSBmYWxzZScpOwp9Cgo=",
"commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x >= y returns ToNumber(x) >= ToNumber(y)",
"description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Number (primitive or object) and Undefined",
"path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A3.1_T2.4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4ID49IHkgcmV0dXJucyBUb051bWJlcih4KSA+PSBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC40L1MxMS44LjRfQTMuMV9UMi41LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgZGlmZmVyZW50IGZyb20gVHlwZShQcmltaXRpdmUoeSkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBTdHJpbmcgKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBCb29sZWFuIChwcmltaXRpdmUgYW5kIG9iamVjdCkKICovCgovL0NIRUNLIzEKaWYgKHRydWUgPj0gIjEiICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogdHJ1ZSA+PSAiMSIgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCmlmICgiMSIgPj0gdHJ1ZSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6ICIxIiA+PSB0cnVlID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAobmV3IEJvb2xlYW4odHJ1ZSkgPj0gIjEiICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogbmV3IEJvb2xlYW4odHJ1ZSkgPj0gIjEiID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoIjEiID49IG5ldyBCb29sZWFuKHRydWUpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogIjEiID49IG5ldyBCb29sZWFuKHRydWUpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNQppZiAodHJ1ZSA+PSBuZXcgU3RyaW5nKCIxIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiB0cnVlID49IG5ldyBTdHJpbmcoIjEiKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzYKaWYgKG5ldyBTdHJpbmcoIjEiKSA+PSB0cnVlICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNjogbmV3IFN0cmluZygiMSIpID49IHRydWUgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM3CmlmIChuZXcgQm9vbGVhbih0cnVlKSA+PSBuZXcgU3RyaW5nKCIxIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM3OiBuZXcgQm9vbGVhbih0cnVlKSA+PSBuZXcgU3RyaW5nKCIxIikgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM4CmlmIChuZXcgU3RyaW5nKCIxIikgPj0gbmV3IEJvb2xlYW4odHJ1ZSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM4OiBuZXcgU3RyaW5nKCIxIikgPj0gbmV3IEJvb2xlYW4odHJ1ZSkgPT09IHRydWUnKTsKfQoK",
"commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x >= y returns ToNumber(x) >= ToNumber(y)",
"description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between String (primitive or object) and Boolean (primitive and object)",
"path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A3.1_T2.5.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4ID49IHkgcmV0dXJucyBUb051bWJlcih4KSA+PSBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC40L1MxMS44LjRfQTMuMV9UMi42LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgZGlmZmVyZW50IGZyb20gVHlwZShQcmltaXRpdmUoeSkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBTdHJpbmcgKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBVbmRlZmluZWQKICovCgovL0NIRUNLIzEKaWYgKCIxIiA+PSB1bmRlZmluZWQgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogIjEiID49IHVuZGVmaW5lZCA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyCmlmICh1bmRlZmluZWQgPj0gIjEiICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6IHVuZGVmaW5lZCA+PSAiMSIgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAobmV3IFN0cmluZygiMSIpID49IHVuZGVmaW5lZCAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMzOiBuZXcgU3RyaW5nKCIxIikgPj0gdW5kZWZpbmVkID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzQKaWYgKHVuZGVmaW5lZCA+PSBuZXcgU3RyaW5nKCIxIikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogdW5kZWZpbmVkID49IG5ldyBTdHJpbmcoIjEiKSA9PT0gZmFsc2UnKTsKfQoK",
"commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x >= y returns ToNumber(x) >= ToNumber(y)",
"description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between String (primitive or object) and Undefined",
"path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A3.1_T2.6.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4ID49IHkgcmV0dXJucyBUb051bWJlcih4KSA+PSBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC40L1MxMS44LjRfQTMuMV9UMi43LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgZGlmZmVyZW50IGZyb20gVHlwZShQcmltaXRpdmUoeSkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBTdHJpbmcgKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBOdWxsCiAqLwoKLy9DSEVDSyMxCmlmICgiMSIgPj0gbnVsbCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6ICIxIiA+PSBudWxsID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAobnVsbCA+PSAiMSIgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogbnVsbCA+PSAiMSIgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAobmV3IFN0cmluZygiMSIpID49IG51bGwgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiBuZXcgU3RyaW5nKCIxIikgPj0gbnVsbCA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzQKaWYgKG51bGwgPj0gbmV3IFN0cmluZygiMSIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzQ6IG51bGwgPj0gbmV3IFN0cmluZygiMSIpID09PSBmYWxzZScpOwp9Cgo=",
"commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x >= y returns ToNumber(x) >= ToNumber(y)",
"description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between String (primitive or object) and Null",
"path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A3.1_T2.7.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4ID49IHkgcmV0dXJucyBUb051bWJlcih4KSA+PSBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC40L1MxMS44LjRfQTMuMV9UMi44LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgZGlmZmVyZW50IGZyb20gVHlwZShQcmltaXRpdmUoeSkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBCb29sZWFuIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCmlmICh0cnVlID49IHVuZGVmaW5lZCAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiB0cnVlID49IHVuZGVmaW5lZCA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyCmlmICh1bmRlZmluZWQgPj0gdHJ1ZSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMyOiB1bmRlZmluZWQgPj0gdHJ1ZSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgQm9vbGVhbih0cnVlKSA+PSB1bmRlZmluZWQgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMzogbmV3IEJvb2xlYW4odHJ1ZSkgPj0gdW5kZWZpbmVkID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzQKaWYgKHVuZGVmaW5lZCA+PSBuZXcgQm9vbGVhbih0cnVlKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM0OiB1bmRlZmluZWQgPj0gbmV3IEJvb2xlYW4odHJ1ZSkgPT09IGZhbHNlJyk7Cn0KCg==",
"commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x >= y returns ToNumber(x) >= ToNumber(y)",
"description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Boolean (primitive or object) and Undefined",
"path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A3.1_T2.8.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4ID49IHkgcmV0dXJucyBUb051bWJlcih4KSA+PSBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC40L1MxMS44LjRfQTMuMV9UMi45LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgZGlmZmVyZW50IGZyb20gVHlwZShQcmltaXRpdmUoeSkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBCb29sZWFuIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQppZiAodHJ1ZSA+PSBudWxsICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogdHJ1ZSA+PSBudWxsID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAobnVsbCA+PSB0cnVlICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6IG51bGwgPj0gdHJ1ZSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgQm9vbGVhbih0cnVlKSA+PSBudWxsICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogbmV3IEJvb2xlYW4odHJ1ZSkgPj0gbnVsbCA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzQKaWYgKG51bGwgPj0gbmV3IEJvb2xlYW4odHJ1ZSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogbnVsbCA+PSBuZXcgQm9vbGVhbih0cnVlKSA9PT0gZmFsc2UnKTsKfQoK",
"commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x >= y returns ToNumber(x) >= ToNumber(y)",
"description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Boolean (primitive or object) and Null",
"path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A3.1_T2.9.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID49IHkgcmV0dXJucyBUb1N0cmluZyh4KSA+PSBUb1N0cmluZyh5KSwgaWYgVHlwZShQcmltaXRpdmUoeCkpIGlzIFN0cmluZyBhbmQgVHlwZShQcmltaXRpdmUoeSkpIGlzIFN0cmluZwogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC40L1MxMS44LjRfQTMuMl9UMS4xLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKFByaW1pdGl2ZSh4KSkgYW5kIFR5cGUoUHJpbWl0aXZlKHkpKSB2YXJ5IGJldHdlZW4gcHJpbWl0aXZlIHN0cmluZyBhbmQgU3RyaW5nIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAoIjEiID49ICIxIiAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6ICIxIiA+PSAiMSIgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCmlmIChuZXcgU3RyaW5nKCIxIikgPj0gIjEiICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogbmV3IFN0cmluZygiMSIpID49ICIxIiA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzMKaWYgKCIxIiA+PSBuZXcgU3RyaW5nKCIxIikgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiAiMSIgPj0gbmV3IFN0cmluZygiMSIpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAobmV3IFN0cmluZygiMSIpID49IG5ldyBTdHJpbmcoIjEiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6IG5ldyBTdHJpbmcoIjEiKSA+PSBuZXcgU3RyaW5nKCIxIikgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM1CmlmICgieCIgPj0gIjEiICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNTogIngiID49ICIxIiA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzYKaWYgKCIxIiA+PSAieCIgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNjogIjEiID49ICJ4IiA9PT0gZmFsc2UnKTsKfQoK",
"commentary":"Operator x >= y returns ToString(x) >= ToString(y), if Type(Primitive(x)) is String and Type(Primitive(y)) is String",
"description":"Type(Primitive(x)) and Type(Primitive(y)) vary between primitive string and String object",
"path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A3.2_T1.1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID49IHkgcmV0dXJucyBUb1N0cmluZyh4KSA+PSBUb1N0cmluZyh5KSwgaWYgVHlwZShQcmltaXRpdmUoeCkpIGlzIFN0cmluZyBhbmQgVHlwZShQcmltaXRpdmUoeSkpIGlzIFN0cmluZwogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC40L1MxMS44LjRfQTMuMl9UMS4yLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKFByaW1pdGl2ZSh4KSkgYW5kIFR5cGUoUHJpbWl0aXZlKHkpKSB2YXJ5IGJldHdlZW4gT2JqZWN0IG9iamVjdCBhbmQgRnVuY3Rpb24gb2JqZWN0CiAqLwoKLy9DSEVDSyMxCmlmICgoe30gPj0gZnVuY3Rpb24oKXtyZXR1cm4gMX0pICE9PSAoe30udG9TdHJpbmcoKSA+PSBmdW5jdGlvbigpe3JldHVybiAxfS50b1N0cmluZygpKSkgewogICRFUlJPUignIzE6ICh7fSA+PSBmdW5jdGlvbigpe3JldHVybiAxfSkgPT09ICh7fS50b1N0cmluZygpID49IGZ1bmN0aW9uKCl7cmV0dXJuIDF9LnRvU3RyaW5nKCkpJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKGZ1bmN0aW9uKCl7cmV0dXJuIDF9ID49IHt9KSAhPT0gKGZ1bmN0aW9uKCl7cmV0dXJuIDF9LnRvU3RyaW5nKCkgPj0ge30udG9TdHJpbmcoKSkpIHsKICAkRVJST1IoJyMyOiAoZnVuY3Rpb24oKXtyZXR1cm4gMX0gPj0ge30pID09PSAoZnVuY3Rpb24oKXtyZXR1cm4gMX0udG9TdHJpbmcoKSA+PSB7fS50b1N0cmluZygpKScpOwp9CgovL0NIRUNLIzMKaWYgKChmdW5jdGlvbigpe3JldHVybiAxfSA+PSBmdW5jdGlvbigpe3JldHVybiAxfSkgIT09IChmdW5jdGlvbigpe3JldHVybiAxfS50b1N0cmluZygpID49IGZ1bmN0aW9uKCl7cmV0dXJuIDF9LnRvU3RyaW5nKCkpKSB7CiAgJEVSUk9SKCcjMzogKGZ1bmN0aW9uKCl7cmV0dXJuIDF9ID49IGZ1bmN0aW9uKCl7cmV0dXJuIDF9KSA9PT0gKGZ1bmN0aW9uKCl7cmV0dXJuIDF9LnRvU3RyaW5nKCkgPj0gZnVuY3Rpb24oKXtyZXR1cm4gMX0udG9TdHJpbmcoKSknKTsKfQoKLy9DSEVDSyM0CmlmICgoe30gPj0ge30pICE9PSAoe30udG9TdHJpbmcoKSA+PSB7fS50b1N0cmluZygpKSkgewogICRFUlJPUignIzQ6ICh7fSA+PSB7fSkgPT09ICh7fS50b1N0cmluZygpID49IHt9LnRvU3RyaW5nKCkpJyk7Cn0KCg==",
"commentary":"Operator x >= y returns ToString(x) >= ToString(y), if Type(Primitive(x)) is String and Type(Primitive(y)) is String",
"description":"Type(Primitive(x)) and Type(Primitive(y)) vary between Object object and Function object",
"path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A3.2_T1.2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIE5hTiwgcmV0dXJuIGZhbHNlIChpZiByZXN1bHQgaW4gMTEuOC41IGlzIHVuZGVmaW5lZCwgcmV0dXJuIGZhbHNlKQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC40L1MxMS44LjRfQTQuMS5qcwogKiBAZGVzY3JpcHRpb24geSBpcyBudW1iZXIgcHJpbWl0aXZlCiAqLwoKLy9DSEVDSyMxCmlmICgoTnVtYmVyLk5hTiA+PSAwKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiAoTmFOID49IDApID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYgKChOdW1iZXIuTmFOID49IDEuMSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogKE5hTiA+PSAxLjEpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzMKaWYgKChOdW1iZXIuTmFOID49IC0xLjEpICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6IChOYU4gPj0gLTEuMSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKE51bWJlci5OYU4gPj0gTnVtYmVyLk5hTikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogKE5hTiA+PSBOYU4pID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzUKaWYgKChOdW1iZXIuTmFOID49IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogKE5hTiA+PSArSW5maW5pdHkpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzYKaWYgKChOdW1iZXIuTmFOID49IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNjogKE5hTiA+PSAtSW5maW5pdHkpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzcKaWYgKChOdW1iZXIuTmFOID49IE51bWJlci5NQVhfVkFMVUUpICE9PSBmYWxzZSkgewogICRFUlJPUignIzc6IChOYU4gPj0gTnVtYmVyLk1BWF9WQUxVRSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjOAppZiAoKE51bWJlci5OYU4gPj0gTnVtYmVyLk1JTl9WQUxVRSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjODogKE5hTiA+PSBOdW1iZXIuTUlOX1ZBTFVFKSA9PT0gZmFsc2UnKTsKfQoKCg==",
"commentary":"If x is NaN, return false (if result in 11.8.5 is undefined, return false)",
"description":"y is number primitive",
"path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A4.1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIGEgcHJlZml4IG9mIHkgYW5kIHggIT09IHksIHJldHVybiBmYWxzZQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC40L1MxMS44LjRfQTQuMTAuanMKICogQGRlc2NyaXB0aW9uIHggYW5kIHkgYXJlIHN0cmluZyBwcmltaXRpdmVzCiAqLwoKLy9DSEVDSyMxCmlmICgoIngiID49ICJ4ICIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6ICgieCIgPj0gInggIikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKCIiID49ICJ4IikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogKCIiID49ICJ4IikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKCJhYiIgPj0gImFiY2QiKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMzOiAoImFiIiA+PSBhYmNkIikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKCJhYmNkIiA+PSAiYWJjXHUwMDY0IikgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiAoImFiY2QiID49IGFiY1xcdTAwNjQiKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzUKaWYgKCgieCIgPj0gIngiICsgInkiKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM1OiAoIngiID49ICJ4IiArICJ5IikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNgp2YXIgeCA9ICJ4IjsKaWYgKCh4ID49IHggKyAieSIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzY6IHZhciB4ID0gIngiOyAoeCA+PSB4ICsgInkiKSA9PT0gZmFsc2UnKTsKfQoK",
"commentary":"If x is a prefix of y and x !== y, return false",
"description":"x and y are string primitives",
"path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A4.10.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB5IGlzIGEgcHJlZml4IG9mIHgsIHJldHVybiB0cnVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjQvUzExLjguNF9BNC4xMS5qcwogKiBAZGVzY3JpcHRpb24geCBhbmQgeSBhcmUgc3RyaW5nIHByaW1pdGl2ZXMKICovCgovL0NIRUNLIzEKaWYgKCgieCIgPj0gIngiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6ICgieCIgPj0gIngiKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKCgieCIgPj0gIiIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogKCJ4IiA+PSAiIikgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMzCmlmICgoImFiY2QiID49ICJhYiIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogKCJhYmNkIiA+PSBhYiIpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKCJhYmNcdTAwNjQiID49ICJhYmNkIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiAoImFiY1xcdTAwNjQiID49IGFiYyIpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoKCJ4IiArICJ5IiA+PSAieCIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNTogKCJ4IiArICJ5IiA+PSAieCIpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNgp2YXIgeCA9ICJ4IjsKaWYgKCh4ICsgJ3knID49IHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNjogdmFyIHggPSAieCI7ICh4ICsgInkiID49IHgpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNwppZiAoKCJhXHUwMDAwYSIgPj0gImFcdTAwMDAiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzc6ICgiYVxcdTAwMDBhIiA+PSAiYVxcdTAwMDAiKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzgKaWYgKCgiIHgiID49ICJ4IikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjODogKCIgeCIgPj0gIngiKSA9PT0gZmFsc2UnKTsKfQoKCg==",
"commentary":"If y is a prefix of x, return true",
"description":"x and y are string primitives",
"path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A4.11.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBuZWl0aGVyIHgsIG5vciB5IGlzIGEgcHJlZml4IG9mIGVhY2ggb3RoZXIsIHJldHVybmVkIHJlc3VsdCBvZiBzdHJpbmdzIGNvbXBhcmlzb24gYXBwbGllcyBhIHNpbXBsZSBsZXhpY29ncmFwaGljIG9yZGVyaW5nIHRvIHRoZSBzZXF1ZW5jZXMgb2YgY29kZSBwb2ludCB2YWx1ZSB2YWx1ZXMKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguNC9TMTEuOC40X0E0LjEyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiB4IGFuZCB5IGFyZSBzdHJpbmcgcHJpbWl0aXZlcwogKi8KCi8vQ0hFQ0sjMQppZiAoKCJ4eSIgPj0gInh4IikgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiAoInh5IiA+PSAieHgiKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKCgieHgiID49ICJ4eSIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6ICgieHgiID49ICJ4eSIpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzMKaWYgKCgieSIgPj0gIngiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6ICgieSIgPj0gIngiKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzQKaWYgKCgiYWJhIiA+PSAiYWFiIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiAoImFiYSIgPj0gYWFiIikgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM1CmlmICgoIlx1MDA2MVx1MDA2MVx1MDA2MVx1MDA2MSIgPj0gIlx1MDA2MVx1MDA2MVx1MDA2MVx1MDA2MiIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzU6ICgiXFx1MDA2MVxcdTAwNjFcXHUwMDYxXFx1MDA2MSIgPj0gXFx1MDA2MVxcdTAwNjFcXHUwMDYxXFx1MDA2MiIpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzYKaWYgKCgiYVx1MDAwMGIiID49ICJhXHUwMDAwYSIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNjogKCJhXFx1MDAwMGIiID49ICJhXFx1MDAwMGEiKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzcKaWYgKCgiYWEiID49ICJhQiIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNzogKCJhYSIgPj0gYUIiKSA9PT0gdHJ1ZScpOwp9Cgo=",
"commentary":"If neither x, nor y is a prefix of each other, returned result of strings comparison applies a simple lexicographic ordering to the sequences of code point value values",
"description":"x and y are string primitives",
"path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A4.12_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBuZWl0aGVyIHgsIG5vciB5IGlzIGEgcHJlZml4IG9mIGVhY2ggb3RoZXIsIHJldHVybmVkIHJlc3VsdCBvZiBzdHJpbmdzIGNvbXBhcmlzb24gYXBwbGllcyBhIHNpbXBsZSBsZXhpY29ncmFwaGljIG9yZGVyaW5nIHRvIHRoZSBzZXF1ZW5jZXMgb2YgY29kZSBwb2ludCB2YWx1ZSB2YWx1ZXMKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguNC9TMTEuOC40X0E0LjEyX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiB4IGFuZCB5IGFyZSBzdHJpbmcgcHJpbWl0aXZlcwogKi8KCi8vQ0hFQ0sjMQppZiAoKCJ4IiA+PSAiMCIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogKCJ4IiA+PSAiMCIpICE9PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKCIwIiA+PSAiLSIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogKCIwIiA+PSAiLSIpICE9PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKCIwIiA+PSAiLiIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogKCIwIiA+PSAiLiIpICE9PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKCItIiA+PSAiKyIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogKCItIiA+PSAiKyIpICE9PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoKCItMSIgPj0gIi0wIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiAoIi0xIiA+PSAiLTAiKSAhPT0gdHJ1ZScpOwp9CgovL0NIRUNLIzYKaWYgKCgiLTEiID49ICIrMSIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNjogKCItMSIgPj0gIisxIikgIT09IHRydWUnKTsKfQoKLy9DSEVDSyM3CmlmICgoIjFlLTEwIiA+PSAiMSIpICE9PSB0cnVlKSB7CiRFUlJPUignIzc6ICgiMWUtMTAiID49ICIxIikgIT09IHRydWUnKTsKfQoK",
"commentary":"If neither x, nor y is a prefix of each other, returned result of strings comparison applies a simple lexicographic ordering to the sequences of code point value values",
"description":"x and y are string primitives",
"path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A4.12_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB5IGlzIE5hTiwgcmV0dXJuIGZhbHNlIChpZiByZXN1bHQgaW4gMTEuOC41IGlzIHVuZGVmaW5lZCwgcmV0dXJuIGZhbHNlKQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC40L1MxMS44LjRfQTQuMi5qcwogKiBAZGVzY3JpcHRpb24geCBpcyBudW1iZXIgcHJpbWl0aXZlCiAqLwoKLy9DSEVDSyMxCmlmICgoMCA+PSBOdW1iZXIuTmFOKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiAoMCA+PSBOYU4pID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYgKCgxLjEgPj0gTnVtYmVyLk5hTikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogKDEuMSA+PSBOYU4pID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzMKaWYgKCgtMS4xID49IE51bWJlci5OYU4pICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6ICgtMS4xID49IE5hTikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKE51bWJlci5OYU4gPj0gTnVtYmVyLk5hTikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogKE5hTiA+PSBOYU4pID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzUKaWYgKChOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgPj0gTnVtYmVyLk5hTikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogKCtJbmZpbml0eSA+PSBOYU4pID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzYKaWYgKChOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgPj0gTnVtYmVyLk5hTikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNjogKC1JbmZpbml0eSA+PSBOYU4pID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzcKaWYgKChOdW1iZXIuTUFYX1ZBTFVFID49IE51bWJlci5OYU4pICE9PSBmYWxzZSkgewogICRFUlJPUignIzc6IChOdW1iZXIuTUFYX1ZBTFVFID49IE5hTikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjOAppZiAoKE51bWJlci5NSU5fVkFMVUUgPj0gTnVtYmVyLk5hTikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjODogKE51bWJlci5NSU5fVkFMVUUgPj0gTmFOKSA9PT0gZmFsc2UnKTsKfQoKCg==",
"commentary":"If y is NaN, return false (if result in 11.8.5 is undefined, return false)",
"description":"x is number primitive",
"path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A4.2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGFuZCB5IGFyZSB0aGUgc2FtZSBudW1iZXIgdmFsdWUsIHJldHVybiB0cnVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjQvUzExLjguNF9BNC4zLmpzCiAqIEBkZXNjcmlwdGlvbiB4IGFuZCB5IGFyZSBudW1iZXIgcHJpbWl0aXZlcwogKi8KCi8vQ0hFQ0sjMQppZiAoKDEgPj0gMSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiAoMSA+PSAxKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKCgxLjEgPj0gMS4xKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6ICgxLjEgPj0gMS4xKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzMKaWYgKCgtMS4xID49IC0xLjEpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogKC0xLjEgPj0gLTEuMSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM0CmlmICgoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZID49IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiAoLUluZmluaXR5ID49IC1JbmZpbml0eSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM1CmlmICgoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZID49IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiAoK0luZmluaXR5ID49ICtJbmZpbml0eSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM2CmlmICgoTnVtYmVyLk1BWF9WQUxVRSA+PSBOdW1iZXIuTUFYX1ZBTFVFKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzY6IChOdW1iZXIuTUFYX1ZBTFVFID49IE51bWJlci5NQVhfVkFMVUUpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNwppZiAoKE51bWJlci5NSU5fVkFMVUUgPj0gTnVtYmVyLk1JTl9WQUxVRSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM3OiAoTnVtYmVyLk1JTl9WQUxVRSA+PSBOdW1iZXIuTUlOX1ZBTFVFKSA9PT0gdHJ1ZScpOwp9CgoKCg==",
"commentary":"If x and y are the same number value, return true",
"description":"x and y are number primitives",
"path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A4.3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBlaXRoZXIgeCBvciB5IGlzICswIGFuZCB0aGUgb3RoZXIgaXMgLTAsIHJldHVybiB0cnVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjQvUzExLjguNF9BNC40LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBhbGwgY29tYmluYXRpb25zCiAqLwoKLy9DSEVDSyMxCmlmICgoMCA+PSAwKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6ICgwID49IDApID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKC0wID49IC0wKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6ICgtMCA+PSAtMCkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMzCmlmICgoKzAgPj0gLTApICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogKCswID49IC0wKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzQKaWYgKCgtMCA+PSArMCkgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiAoLTAgPj0gKzApID09PSB0cnVlJyk7Cn0KCgo=",
"commentary":"If either x or y is +0 and the other is -0, return true",
"description":"Checking all combinations",
"path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A4.4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzICtJbmZpbml0eSwgcmV0dXJuIHRydWUKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguNC9TMTEuOC40X0E0LjUuanMKICogQGRlc2NyaXB0aW9uIHkgaXMgbnVtYmVyIHByaW1pdGl2ZQogKi8KCi8vQ0hFQ0sjMQppZiAoKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSA+PSAwKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6ICgrSW5maW5pdHkgPj0gMCkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCmlmICgoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZID49IDEuMSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiAoK0luZmluaXR5ID49IDEuMSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMzCmlmICgoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZID49IC0xLjEpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogKCtJbmZpbml0eSA+PSAtMS4xKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzQKaWYgKChOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgPj0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6ICgrSW5maW5pdHkgPj0gLUluZmluaXR5KSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzUKaWYgKChOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgPj0gTnVtYmVyLk1BWF9WQUxVRSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiAoK0luZmluaXR5ID49IE51bWJlci5NQVhfVkFMVUUpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNgppZiAoKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSA+PSBOdW1iZXIuTUlOX1ZBTFVFKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzY6ICgrSW5maW5pdHkgPj0gTnVtYmVyLk1JTl9WQUxVRSkgPT09IHRydWUnKTsKfQoKCg==",
"commentary":"If x is +Infinity, return true",
"description":"y is number primitive",
"path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A4.5.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB5IGlzICtJbmZpbml0eSBhbmQgeCAhPT0geSwgcmV0dXJuIGZhbHNlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjQvUzExLjguNF9BNC42LmpzCiAqIEBkZXNjcmlwdGlvbiB4IGlzIG51bWJlciBwcmltaXRpdmUKICovCgovL0NIRUNLIzEKaWYgKCgwID49IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogKDAgPj0gK0luZmluaXR5KSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyCmlmICgoMS4xID49IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogKDEuMSA+PSArSW5maW5pdHkpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzMKaWYgKCgtMS4xID49IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMzogKC0xLjEgPj0gK0luZmluaXR5KSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM0CmlmICgoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZID49IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogKC1JbmZpbml0eSA+PSArSW5maW5pdHkpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzUKaWYgKChOdW1iZXIuTUFYX1ZBTFVFID49IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogKE51bWJlci5NQVhfVkFMVUUgPj0gK0luZmluaXR5KSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM2CmlmICgoTnVtYmVyLk1JTl9WQUxVRSA+PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpICE9PSBmYWxzZSkgewogICRFUlJPUignIzY6IChOdW1iZXIuTUlOX1ZBTFVFID49ICtJbmZpbml0eSkgPT09IGZhbHNlJyk7Cn0KCgo=",
"commentary":"If y is +Infinity and x !== y, return false",
"description":"x is number primitive",
"path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A4.6.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIC1JbmZpbml0eSBhbmQgeCAhPT0geSwgcmV0dXJuIGZhbHNlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjQvUzExLjguNF9BNC43LmpzCiAqIEBkZXNjcmlwdGlvbiB5IGlzIG51bWJlciBwcmltaXRpdmUKICovCgovL0NIRUNLIzEKaWYgKChOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgPj0gMCkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogKC1JbmZpbml0eSA+PSAwKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyCmlmICgoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZID49IDEuMSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogKC1JbmZpbml0eSA+PSAxLjEpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzMKaWYgKChOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgPj0gLTEuMSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMzogKC1JbmZpbml0eSA+PSAtMS4xKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM0CmlmICgoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZID49IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogKC1JbmZpbml0eSA+PSArSW5maW5pdHkpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzUKaWYgKChOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgPj0gTnVtYmVyLk1BWF9WQUxVRSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogKC1JbmZpbml0eSA+PSBOdW1iZXIuTUFYX1ZBTFVFKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM2CmlmICgoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZID49IE51bWJlci5NSU5fVkFMVUUpICE9PSBmYWxzZSkgewogICRFUlJPUignIzY6ICgtSW5maW5pdHkgPj0gTnVtYmVyLk1JTl9WQUxVRSkgPT09IGZhbHNlJyk7Cn0KCgo=",
"commentary":"If x is -Infinity and x !== y, return false",
"description":"y is number primitive",
"path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A4.7.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB5IGlzIC1JbmZpbml0eSwgcmV0dXJuIHRydWUKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguNC9TMTEuOC40X0E0LjguanMKICogQGRlc2NyaXB0aW9uIHggaXMgbnVtYmVyIHByaW1pdGl2ZQogKi8KCi8vQ0hFQ0sjMQppZiAoKDAgPj0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6ICgwID49IC1JbmZpbml0eSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCmlmICgoMS4xID49IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiAoMS4xID49IC1JbmZpbml0eSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMzCmlmICgoLTEuMSA+PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogKC0xLjEgPj0gLUluZmluaXR5KSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzQKaWYgKChOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgPj0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6ICgrSW5maW5pdHkgPj0gLUluZmluaXR5KSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzUKaWYgKChOdW1iZXIuTUFYX1ZBTFVFID49IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiAoTnVtYmVyLk1BWF9WQUxVRSA+PSAtSW5maW5pdHkpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNgppZiAoKE51bWJlci5NSU5fVkFMVUUgPj0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzY6IChOdW1iZXIuTUlOX1ZBTFVFID49IC1JbmZpbml0eSkgPT09IHRydWUnKTsKfQoKCg==",
"commentary":"If y is -Infinity, return true",
"description":"x is number primitive",
"path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A4.8.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIGdyZWF0ZXIgb3IgZXF1YWwgdGhhbiB5IGFuZCB0aGVzZSB2YWx1ZXMgYXJlIGJvdGggZmluaXRlIG5vbi16ZXJvLCByZXR1cm4gdHJ1ZTsgb3RoZXJ3aXNlLCByZXR1cm4gZmFsc2UKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguNC9TMTEuOC40X0E0LjkuanMKICogQGRlc2NyaXB0aW9uIHggYW5kIHkgYXJlIG51bWJlciBwcmltaXRpdmVzCiAqLwoKLy9DSEVDSyMxCmlmICgoMSA+PSAxLjEpICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6ICgxID49IDEuMSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKDEuMSA+PSAxKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6ICgxLjEgPj0gMSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMzCmlmICgoLTEgPj0gLTEuMSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiAoLTEgPj0gLTEuMSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM0CmlmICgoLTEuMSA+PSAtMSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogKC0xLjEgPj0gLTEpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzUKaWYgKCgwLjEgPj0gMCkgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiAoMC4xID49IDApID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNgppZiAoKDAgPj0gLTAuMSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiAoMCA+PSAtMC4xKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzcKaWYgKChOdW1iZXIuTUFYX1ZBTFVFID49IE51bWJlci5NQVhfVkFMVUUvMikgIT09IHRydWUpIHsKICAkRVJST1IoJyM3OiAoTnVtYmVyLk1BWF9WQUxVRSA+PSBOdW1iZXIuTUFYX1ZBTFVFLzIpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjOAppZiAoKE51bWJlci5NSU5fVkFMVUUqMiA+PSBOdW1iZXIuTUlOX1ZBTFVFKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzg6IChOdW1iZXIuTUlOX1ZBTFVFKjIgPj0gTnVtYmVyLk1JTl9WQUxVRSkgPT09IHRydWUnKTsKfQoKCgo=",
"commentary":"If x is greater or equal than y and these values are both finite non-zero, return true; otherwise, return false",
"description":"x and y are number primitives",
"path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A4.9.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gUmVsYXRpb25hbEV4cHJlc3Npb24gYW5kICJpbnN0YW5jZW9mIiBhbmQgYmV0d2VlbiAiaW5zdGFuY2VvZiIgYW5kIFNoaWZ0RXhwcmVzc2lvbiBhcmUgYWxsb3dlZAogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC42L1MxMS44LjZfQTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGJ5IHVzaW5nIGV2YWwKICovCgovL0NIRUNLIzEKaWYgKGV2YWwoIih7fSlcdTAwMDlpbnN0YW5jZW9mXHUwMDA5T2JqZWN0IikgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiAoe30pXFx1MDAwOWluc3RhbmNlb2ZcXHUwMDA5T2JqZWN0ID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoZXZhbCgiKHt9KVx1MDAwQmluc3RhbmNlb2ZcdTAwMEJPYmplY3QiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6ICh7fSlcXHUwMDBCaW5zdGFuY2VvZlxcdTAwMEJPYmplY3QgPT09IHRydWUnKTsgIAp9CgovL0NIRUNLIzMKaWYgKGV2YWwoIih7fSlcdTAwMENpbnN0YW5jZW9mXHUwMDBDT2JqZWN0IikgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiAoe30pXFx1MDAwQ2luc3RhbmNlb2ZcXHUwMDBDT2JqZWN0ID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoZXZhbCgiKHt9KVx1MDAyMGluc3RhbmNlb2ZcdTAwMjBPYmplY3QiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6ICh7fSlcXHUwMDIwaW5zdGFuY2VvZlxcdTAwMjBPYmplY3QgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM1CmlmIChldmFsKCIoe30pXHUwMEEwaW5zdGFuY2VvZlx1MDBBME9iamVjdCIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNTogKHt9KVxcdTAwQTBpbnN0YW5jZW9mXFx1MDBBME9iamVjdCA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzYKaWYgKGV2YWwoIih7fSlcdTAwMEFpbnN0YW5jZW9mXHUwMDBBT2JqZWN0IikgIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiAoe30pXFx1MDAwQWluc3RhbmNlb2ZcXHUwMDBBT2JqZWN0ID09PSB0cnVlJyk7ICAKfQoKLy9DSEVDSyM3CmlmIChldmFsKCIoe30pXHUwMDBEaW5zdGFuY2VvZlx1MDAwRE9iamVjdCIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNzogKHt9KVxcdTAwMERpbnN0YW5jZW9mXFx1MDAwRE9iamVjdCA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzgKaWYgKGV2YWwoIih7fSlcdTIwMjhpbnN0YW5jZW9mXHUyMDI4T2JqZWN0IikgIT09IHRydWUpIHsKICAkRVJST1IoJyM4OiAoe30pXFx1MjAyOGluc3RhbmNlb2ZcXHUyMDI4T2JqZWN0ID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjOQppZiAoZXZhbCgiKHt9KVx1MjAyOWluc3RhbmNlb2ZcdTIwMjlPYmplY3QiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzk6ICh7fSlcXHUyMDI5aW5zdGFuY2VvZlxcdTIwMjlPYmplY3QgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMxMAppZiAoZXZhbCgiKHt9KVx1MDAwOVx1MDAwQlx1MDAwQ1x1MDAyMFx1MDBBMFx1MDAwQVx1MDAwRFx1MjAyOFx1MjAyOWluc3RhbmNlb2ZcdTAwMDlcdTAwMEJcdTAwMENcdTAwMjBcdTAwQTBcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjlPYmplY3QiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzEwOiAoe30pXFx1MDAwOVxcdTAwMEJcXHUwMDBDXFx1MDAyMFxcdTAwQTBcXHUwMDBBXFx1MDAwRFxcdTIwMjhcXHUyMDI5aW5zdGFuY2VvZlxcdTAwMDlcXHUwMDBCXFx1MDAwQ1xcdTAwMjBcXHUwMEEwXFx1MDAwQVxcdTAwMERcXHUyMDI4XFx1MjAyOU9iamVjdCA9PT0gdHJ1ZScpOwp9Cgo=",
"commentary":"White Space and Line Terminator between RelationalExpression and \"instanceof\" and between \"instanceof\" and ShiftExpression are allowed",
"description":"Checking by using eval",
"path":"TestCases/ch11/11.8/11.8.6/S11.8.6_A1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAiaW5zdGFuY2VvZiIgdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC42L1MxMS44LjZfQTIuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gRWl0aGVyIEV4cHJlc3Npb24gaXMgbm90IFJlZmVyZW5jZSBvciBHZXRCYXNlIGlzIG5vdCBudWxsCiAqLwoKLy9DSEVDSyMxCmlmICgoe30pIGluc3RhbmNlb2YgT2JqZWN0ICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogKHt9KSBpbnN0YW5jZW9mIE9iamVjdCA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKdmFyIG9iamVjdCA9IHt9OwppZiAob2JqZWN0IGluc3RhbmNlb2YgT2JqZWN0ICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogdmFyIG9iamVjdCA9IHt9OyBvYmplY3QgaW5zdGFuY2VvZiBPYmplY3QgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMzCnZhciBPQkpFQ1QgPSBPYmplY3Q7CmlmICgoe30pIGluc3RhbmNlb2YgT0JKRUNUICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogdmFyIE9CSkVDVCA9IE9iamVjdDsgKHt9KSBpbnN0YW5jZW9mIE9CSkVDVCA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzQKdmFyIG9iamVjdCA9IHt9Owp2YXIgT0JKRUNUID0gT2JqZWN0OwppZiAob2JqZWN0IGluc3RhbmNlb2YgT0JKRUNUICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogdmFyIG9iamVjdCA9IHt9OyB2YXIgT0JKRUNUID0gT2JqZWN0OyBvYmplY3QgaW5zdGFuY2VvZiBPQkpFQ1QgPT09IHRydWUnKTsKfQoKCg==",
"commentary":"Operator \"instanceof\" uses GetValue",
"description":"Either Expression is not Reference or GetBase is not null",
"path":"TestCases/ch11/11.8/11.8.6/S11.8.6_A2.1_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAiaW5zdGFuY2VvZiIgdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC42L1MxMS44LjZfQTIuMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gSWYgR2V0QmFzZShSZWxhdGlvbmFsRXhwcmVzc2lvbikgaXMgbnVsbCwgdGhyb3cgUmVmZXJlbmNlRXJyb3IKICovCgovL0NIRUNLIzEKdHJ5IHsKICBvYmplY3QgaW5zdGFuY2VvZiBPYmplY3Q7CiAgJEVSUk9SKCcjMS4xOiBvYmplY3QgaW5zdGFuY2VvZiBPYmplY3QgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArIChvYmplY3QgaW5zdGFuY2VvZiBPYmplY3QpKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IG9iamVjdCBpbnN0YW5jZW9mIE9iamVjdCB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoK",
"commentary":"Operator \"instanceof\" uses GetValue",
"description":"If GetBase(RelationalExpression) is null, throw ReferenceError",
"path":"TestCases/ch11/11.8/11.8.6/S11.8.6_A2.1_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAiaW5zdGFuY2VvZiIgdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC42L1MxMS44LjZfQTIuMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gSWYgR2V0QmFzZShTaGlmdEV4cHJlc3Npb24pIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgKHt9KSBpbnN0YW5jZW9mIE9CSkVDVDsKICAkRVJST1IoJyMxLjE6ICh7fSkgaW5zdGFuY2VvZiBPQkpFQ1QgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArICgoe30pIGluc3RhbmNlb2YgT0JKRUNUKSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiAoe30pIGluc3RhbmNlb2YgT0JKRUNUIHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9Cgo=",
"commentary":"Operator \"instanceof\" uses GetValue",
"description":"If GetBase(ShiftExpression) is null, throw ReferenceError",
"path":"TestCases/ch11/11.8/11.8.6/S11.8.6_A2.1_T3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS44LzExLjguNi9TMTEuOC42X0EyLjRfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggIj0iCiAqLwoKLy9DSEVDSyMxIAp2YXIgT0JKRUNUID0gMDsKaWYgKChPQkpFQ1QgPSBPYmplY3QsIHt9KSBpbnN0YW5jZW9mIE9CSkVDVCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IHZhciBPQkpFQ1QgPSAwOyAoT0JKRUNUID0gT2JqZWN0LCB7fSkgaW5zdGFuY2VvZiBPQkpFQ1QgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCnZhciBvYmplY3QgPSB7fTsgCmlmIChvYmplY3QgaW5zdGFuY2VvZiAob2JqZWN0ID0gMCwgT2JqZWN0KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHZhciBvYmplY3QgPSB7fTsgIG9iamVjdCBpbnN0YW5jZW9mIChvYmplY3QgPSAwLCBPYmplY3QpID09PSB0cnVlJyk7Cn0KCgo=",
"commentary":"First expression is evaluated first, and then second expression",
"description":"Checking with \"=\"",
"path":"TestCases/ch11/11.8/11.8.6/S11.8.6_A2.4_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS44LzExLjguNi9TMTEuOC42X0EyLjRfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggInRocm93IgogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9Owp2YXIgeSA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9Owp0cnkgewogICB4KCkgaW5zdGFuY2VvZiB5KCk7CiAgICRFUlJPUignIzEuMTogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpIGluc3RhbmNlb2YgeSgpIHRocm93ICJ4Ii4gQWN0dWFsOiAnICsgKHgoKSBpbnN0YW5jZW9mIHkoKSkpOwp9IGNhdGNoIChlKSB7CiAgIGlmIChlID09PSAieSIpIHsKICAgICAkRVJST1IoJyMxLjI6IEZpcnN0IGV4cHJlc3Npb24gaXMgZXZhbHVhdGVkIGZpcnN0LCBhbmQgdGhlbiBzZWNvbmQgZXhwcmVzc2lvbicpOwogICB9IGVsc2UgewogICAgIGlmIChlICE9PSAieCIpIHsKICAgICAgICRFUlJPUignIzEuMzogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpIGluc3RhbmNlb2YgeSgpIHRocm93ICJ4Ii4gQWN0dWFsOiAnICsgKGUpKTsKICAgICB9CiAgIH0KfQoK",
"commentary":"First expression is evaluated first, and then second expression",
"description":"Checking with \"throw\"",
"path":"TestCases/ch11/11.8/11.8.6/S11.8.6_A2.4_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS44LzExLjguNi9TMTEuOC42X0EyLjRfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggdW5kZWNsYXJhdGVkIHZhcmlhYmxlcwogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIG9iamVjdCBpbnN0YW5jZW9mIChvYmplY3QgPSB7fSwgT2JqZWN0KTsKICAkRVJST1IoJyMxLjE6IG9iamVjdCBpbnN0YW5jZW9mIChvYmplY3QgPSB7fSwgT2JqZWN0KSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKG9iamVjdCBpbnN0YW5jZW9mIChvYmplY3QgPSB7fSwgT2JqZWN0KSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogb2JqZWN0IGluc3RhbmNlb2YgKG9iamVjdCA9IHt9LCBPYmplY3QpIHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9CgovL0NIRUNLIzIKaWYgKChPQkpFQ1QgPSBPYmplY3QsIHt9KSBpbnN0YW5jZW9mIE9CSkVDVCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IChPQkpFQ1QgPSBPYmplY3QsIHt9KSBpbnN0YW5jZW9mIE9CSkVDVCAhPT0gdHJ1ZScpOwp9CgoK",
"commentary":"First expression is evaluated first, and then second expression",
"description":"Checking with undeclarated variables",
"path":"TestCases/ch11/11.8/11.8.6/S11.8.6_A2.4_T3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBTaGlmdEV4cHJlc3Npb24gaXMgbm90IGFuIG9iamVjdCwgdGhyb3cgVHlwZUVycm9yCiAqCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjYvUzExLjguNl9BMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYWxsIHRoZSB0eXBlcyBvZiBwcmltaXRpdmVzCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgdHJ1ZSBpbnN0YW5jZW9mIHRydWU7CiAgJEVSUk9SKCcjMTogdHJ1ZSBpbnN0YW5jZW9mIHRydWUgdGhyb3cgVHlwZUVycm9yJyk7ICAKfQpjYXRjaCAoZSkgewogIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxOiB0cnVlIGluc3RhbmNlb2YgdHJ1ZSB0aHJvdyBUeXBlRXJyb3InKTsgIAogIH0KfQoKLy9DSEVDSyMyCnRyeSB7CiAgMSBpbnN0YW5jZW9mIDE7CiAgJEVSUk9SKCcjMjogMSBpbnN0YW5jZW9mIDEgdGhyb3cgVHlwZUVycm9yJyk7ICAKfQpjYXRjaCAoZSkgewogIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMyOiAxIGluc3RhbmNlb2YgMSB0aHJvdyBUeXBlRXJyb3InKTsgIAogIH0KfQoKLy9DSEVDSyMzCnRyeSB7CiAgInN0cmluZyIgaW5zdGFuY2VvZiAic3RyaW5nIjsKICAkRVJST1IoJyMzOiAic3RyaW5nIiBpbnN0YW5jZW9mICJzdHJpbmciIHRocm93IFR5cGVFcnJvcicpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMzogInN0cmluZyIgaW5zdGFuY2VvZiAic3RyaW5nIiB0aHJvdyBUeXBlRXJyb3InKTsgIAogIH0KfQoKLy9DSEVDSyM0CnRyeSB7CiAgdW5kZWZpbmVkIGluc3RhbmNlb2YgdW5kZWZpbmVkOwogICRFUlJPUignIzQ6IHVuZGVmaW5lZCBpbnN0YW5jZW9mIHVuZGVmaW5lZCB0aHJvdyBUeXBlRXJyb3InKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgIT09IHRydWUpIHsKICAgICRFUlJPUignIzQ6IHVuZGVmaW5lZCBpbnN0YW5jZW9mIHVuZGVmaW5lZCB0aHJvdyBUeXBlRXJyb3InKTsgIAogIH0KfQoKLy9DSEVDSyM1CnRyeSB7CiAgbnVsbCBpbnN0YW5jZW9mIG51bGw7CiAgJEVSUk9SKCcjNTogbnVsbCBpbnN0YW5jZW9mIG51bGwgdGhyb3cgVHlwZUVycm9yJyk7ICAKfQpjYXRjaCAoZSkgewogIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyM1OiBudWxsIGluc3RhbmNlb2YgbnVsbCB0aHJvdyBUeXBlRXJyb3InKTsgIAogIH0KfQoK",
"commentary":"If ShiftExpression is not an object, throw TypeError",
"description":"Checking all the types of primitives",
"path":"TestCases/ch11/11.8/11.8.6/S11.8.6_A3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPbmx5IGNvbnN0cnVjdG9yIGNhbGwgKHdpdGggIm5ldyIga2V5d29yZCkgbWFrZXMgaW5zdGFuY2UKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguNi9TMTEuOC42X0E0X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBCb29sZWFuIGNhc2UKICovCgovL0NIRUNLIzEKaWYgKGZhbHNlIGluc3RhbmNlb2YgQm9vbGVhbikgewoJJEVSUk9SKCcjMTogZmFsc2UgaXMgbm90IGluc3RhbmNlb2YgQm9vbGVhbicpOwp9CgovL0NIRUNLIzIKaWYgKEJvb2xlYW4oZmFsc2UpIGluc3RhbmNlb2YgQm9vbGVhbikgewoJJEVSUk9SKCcjMjogQm9vbGVhbihmYWxzZSkgaXMgbm90IGluc3RhbmNlb2YgQm9vbGVhbicpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBCb29sZWFuIGluc3RhbmNlb2YgQm9vbGVhbiAhPT0gdHJ1ZSkgewoJJEVSUk9SKCcjMzogbmV3IEJvb2xlYW4gaW5zdGFuY2VvZiBCb29sZWFuJyk7Cn0KCgo=",
"commentary":"Only constructor call (with \"new\" keyword) makes instance",
"description":"Checking Boolean case",
"path":"TestCases/ch11/11.8/11.8.6/S11.8.6_A4_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPbmx5IGNvbnN0cnVjdG9yIGNhbGwgKHdpdGggIm5ldyIga2V5d29yZCkgbWFrZXMgaW5zdGFuY2UKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguNi9TMTEuOC42X0E0X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBOdW1iZXIgY2FzZQogKi8KCi8vQ0hFQ0sjMQppZiAoMCBpbnN0YW5jZW9mIE51bWJlcikgewoJJEVSUk9SKCcjMTogMCBpcyBub3QgaW5zdGFuY2VvZiBOdW1iZXInKTsKfQoKLy9DSEVDSyMyCmlmIChOdW1iZXIoMCkgaW5zdGFuY2VvZiBOdW1iZXIpIHsKCSRFUlJPUignIzI6IE51bWJlcigwKSBpcyBub3QgaW5zdGFuY2VvZiBOdW1iZXInKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgTnVtYmVyIGluc3RhbmNlb2YgTnVtYmVyICE9PSB0cnVlKSB7CgkkRVJST1IoJyMzOiBuZXcgTnVtYmVyIGluc3RhbmNlb2YgTnVtYmVyJyk7Cn0KCgo=",
"commentary":"Only constructor call (with \"new\" keyword) makes instance",
"description":"Checking Number case",
"path":"TestCases/ch11/11.8/11.8.6/S11.8.6_A4_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPbmx5IGNvbnN0cnVjdG9yIGNhbGwgKHdpdGggIm5ldyIga2V5d29yZCkgbWFrZXMgaW5zdGFuY2UKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguNi9TMTEuOC42X0E0X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBTdHJpbmcgY2FzZQogKi8KCi8vQ0hFQ0sjMQppZiAoIiIgaW5zdGFuY2VvZiBTdHJpbmcpIHsKCSRFUlJPUignIzE6ICIiIGlzIG5vdCBpbnN0YW5jZW9mIFN0cmluZycpOwp9CgovL0NIRUNLIzIKaWYgKFN0cmluZygiIikgaW5zdGFuY2VvZiBTdHJpbmcpIHsKCSRFUlJPUignIzI6IFN0cmluZygiIikgaXMgbm90IGluc3RhbmNlb2YgU3RyaW5nJyk7Cn0KCi8vQ0hFQ0sjMwppZiAobmV3IFN0cmluZyBpbnN0YW5jZW9mIFN0cmluZyAhPT0gdHJ1ZSkgewoJJEVSUk9SKCcjMzogbmV3IFN0cmluZyBpbnN0YW5jZW9mIFN0cmluZycpOwp9Cgo=",
"commentary":"Only constructor call (with \"new\" keyword) makes instance",
"description":"Checking String case",
"path":"TestCases/ch11/11.8/11.8.6/S11.8.6_A4_T3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUeXBlRXJyb3IgaXMgc3ViY2xhc3Mgb2YgRXJyb3IgZnJvbSBpbnN0YW5jZW9mIG9wZXJhdG9yIHBvaW50IG9mIHZpZXcKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguNi9TMTEuOC42X0E1X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBFcnJvciBjYXNlCiAqLwoKdmFyIF9fZXJyID0gbmV3IEVycm9yOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoIShfX2VyciBpbnN0YW5jZW9mIEVycm9yKSkgewoJJEVSUk9SKCcjMTogVHlwZUVycm9yIGlzIHN1YmNsYXNzIG9mIEVycm9yIGZyb20gaW5zdGFuY2VvZiBvcGVyYXRvciBwb2l0IG9mIHZpZXcnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fZXJyIGluc3RhbmNlb2YgVHlwZUVycm9yKSB7CgkkRVJST1IoJyMyOiBUeXBlRXJyb3IgaXMgc3ViY2xhc3Mgb2YgRXJyb3IgZnJvbSBpbnN0YW5jZW9mIG9wZXJhdG9yIHBvaXQgb2YgdmlldycpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKdmFyIGVycl9fID0gRXJyb3IoJ2ZhaWxlZCcpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoIShlcnJfXyBpbnN0YW5jZW9mIEVycm9yKSkgewoJJEVSUk9SKCcjMzogVHlwZUVycm9yIGlzIHN1YmNsYXNzIG9mIEVycm9yIGZyb20gaW5zdGFuY2VvZiBvcGVyYXRvciBwb2l0IG9mIHZpZXcnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKaWYgKGVycl9fIGluc3RhbmNlb2YgVHlwZUVycm9yKSB7CgkkRVJST1IoJyM0OiBUeXBlRXJyb3IgaXMgc3ViY2xhc3Mgb2YgRXJyb3IgZnJvbSBpbnN0YW5jZW9mIG9wZXJhdG9yIHBvaXQgb2YgdmlldycpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCg==",
"commentary":"TypeError is subclass of Error from instanceof operator point of view",
"description":"Checking Error case",
"path":"TestCases/ch11/11.8/11.8.6/S11.8.6_A5_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUeXBlRXJyb3IgaXMgc3ViY2xhc3Mgb2YgRXJyb3IgZnJvbSBpbnN0YW5jZW9mIG9wZXJhdG9yIHBvaW50IG9mIHZpZXcKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguNi9TMTEuOC42X0E1X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBUeXBlRXJyb3IgY2FzZQogKi8KCnZhciBfX3RfX2VyciA9IG5ldyBUeXBlRXJyb3I7CgovL0NIRUNLIzEKaWYgKCEoX190X19lcnIgaW5zdGFuY2VvZiBFcnJvcikpIHsKCSRFUlJPUignIzE6IFR5cGVFcnJvciBpcyBzdWJjbGFzcyBvZiBFcnJvciBmcm9tIGluc3RhbmNlb2Ygb3BlcmF0b3IgcG9pdCBvZiB2aWV3Jyk7Cn0KCi8vQ0hFQ0sjMgppZiAoIShfX3RfX2VyciBpbnN0YW5jZW9mIFR5cGVFcnJvcikpIHsKCSRFUlJPUignIzI6IFR5cGVFcnJvciBpcyBzdWJjbGFzcyBvZiBFcnJvciBmcm9tIGluc3RhbmNlb2Ygb3BlcmF0b3IgcG9pdCBvZiB2aWV3Jyk7Cn0KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwp2YXIgZXJyX190X18gPSBUeXBlRXJyb3IoJ2ZhaWxlZCcpOwoKLy9DSEVDSyMzCmlmICghKGVycl9fdF9fIGluc3RhbmNlb2YgRXJyb3IpKSB7CgkkRVJST1IoJyMzOiBUeXBlRXJyb3IgaXMgc3ViY2xhc3Mgb2YgRXJyb3IgZnJvbSBpbnN0YW5jZW9mIG9wZXJhdG9yIHBvaXQgb2YgdmlldycpOwp9CgovL0NIRUNLIzQKaWYgKCEoZXJyX190X18gaW5zdGFuY2VvZiBUeXBlRXJyb3IpKSB7CgkkRVJST1IoJyM0OiBUeXBlRXJyb3IgaXMgc3ViY2xhc3Mgb2YgRXJyb3IgZnJvbSBpbnN0YW5jZW9mIG9wZXJhdG9yIHBvaXQgb2YgdmlldycpOwp9CgoK",
"commentary":"TypeError is subclass of Error from instanceof operator point of view",
"description":"Checking TypeError case",
"path":"TestCases/ch11/11.8/11.8.6/S11.8.6_A5_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPbmx5IEZ1bmN0aW9uIG9iamVjdHMgaW1wbGVtZW50IFtbSGFzSW5zdGFuY2VdXSBhbmQgY2FuIGJlIHByb3BlciBTaGlmdEV4cHJlc3Npb24gZm9yIHRoZSAiaW5zdGFuY2VvZiIgb3BlcmF0b3IgY29uc2VxdWVudGx5CiAqCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjYvUzExLjguNl9BNl9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgInRoaXMiIGNhc2UKICovCgovL0NIRUNLIzEKdHJ5ewoJKHt9KSBpbnN0YW5jZW9mIHRoaXM7CgkkRVJST1IoJyMxOiBPbmx5IEZ1bmN0aW9uIG9iamVjdHMgaW1wbGVtZW50IFtbSGFzSW5zdGFuY2VdXSBhbmQgY29uc2VxdWVudGx5IGNhbiBiZSBwcm9wZXIgU2hpZnRFeHByZXNzaW9uIGZvciBUaGUgaW5zdGFuY2VvZiBvcGVyYXRvcicpOwp9CmNhdGNoKGUpewogIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxOiBPbmx5IEZ1bmN0aW9uIG9iamVjdHMgaW1wbGVtZW50IFtbSGFzSW5zdGFuY2VdXSBhbmQgY29uc2VxdWVudGx5IGNhbiBiZSBwcm9wZXIgU2hpZnRFeHByZXNzaW9uIGZvciBUaGUgaW5zdGFuY2VvZiBvcGVyYXRvcicpOwogIH0KfQoK",
"commentary":"Only Function objects implement [[HasInstance]] and can be proper ShiftExpression for the \"instanceof\" operator consequently",
"description":"Checking \"this\" case",
"path":"TestCases/ch11/11.8/11.8.6/S11.8.6_A6_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPbmx5IEZ1bmN0aW9uIG9iamVjdHMgaW1wbGVtZW50IFtbSGFzSW5zdGFuY2VdXSBhbmQgY2FuIGJlIHByb3BlciBTaGlmdEV4cHJlc3Npb24gZm9yIHRoZSAiaW5zdGFuY2VvZiIgb3BlcmF0b3IgY29uc2VxdWVudGx5CiAqCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjYvUzExLjguNl9BNl9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgTWF0aCBjYXNlCiAqLwoKLy9DSEVDSyMxCnRyeXsKCTEgaW5zdGFuY2VvZiBNYXRoOwoJJEVSUk9SKCcjMTogMSBpbnN0YW5jZW9mIE1hdGggdGhyb3cgVHlwZUVycm9yJyk7Cn0KY2F0Y2goZSl7CiAgaWYgKGUgIGluc3RhbmNlb2YgVHlwZUVycm9yICE9PSB0cnVlKSB7IAogICAgJEVSUk9SKCcjMTogMSBpbnN0YW5jZW9mIE1hdGggdGhyb3cgVHlwZUVycm9yJyk7CiAgfSAgCn0KCg==",
"commentary":"Only Function objects implement [[HasInstance]] and can be proper ShiftExpression for the \"instanceof\" operator consequently",
"description":"Checking Math case",
"path":"TestCases/ch11/11.8/11.8.6/S11.8.6_A6_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPbmx5IEZ1bmN0aW9uIG9iamVjdHMgaW1wbGVtZW50IFtbSGFzSW5zdGFuY2VdXSBhbmQgY2FuIGJlIHByb3BlciBTaGlmdEV4cHJlc3Npb24gZm9yIHRoZSAiaW5zdGFuY2VvZiIgb3BlcmF0b3IgY29uc2VxdWVudGx5CiAqCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjYvUzExLjguNl9BNl9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgUmVsYXRpb25hbEV4cHJlc3Npb24gaXMgZnVuY3Rpb24KICovCgpmdW5jdGlvbiBNeUZ1bmN0KCl7cmV0dXJuIDB9OwoKLy9DSEVDSyMxCmlmIChNeUZ1bmN0IGluc3RhbmNlb2YgTXlGdW5jdCl7CgkkRVJST1IoJyMxIGZ1bmN0aW9uIE15RnVuY3QoKXtyZXR1cm4gMH07IE15RnVuY3QgaW5zdGFuY2VvZiBNeUZ1bmN0ID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYgKE15RnVuY3QgaW5zdGFuY2VvZiBGdW5jdGlvbiAhPT0gdHJ1ZSl7CgkkRVJST1IoJyMyIGZ1bmN0aW9uIE15RnVuY3QoKXtyZXR1cm4gMH07IE15RnVuY3QgaW5zdGFuY2VvZiBGdW5jdGlvbiA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzMKaWYgKE15RnVuY3QgaW5zdGFuY2VvZiBPYmplY3QgIT09IHRydWUpewoJJEVSUk9SKCcjMyBmdW5jdGlvbiBNeUZ1bmN0KCl7cmV0dXJuIDB9OyBNeUZ1bmN0IGluc3RhbmNlb2YgT2JqZWN0ID09PSB0cnVlJyk7Cn0KCg==",
"commentary":"Only Function objects implement [[HasInstance]] and can be proper ShiftExpression for the \"instanceof\" operator consequently",
"description":"Checking if RelationalExpression is function",
"path":"TestCases/ch11/11.8/11.8.6/S11.8.6_A6_T3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPbmx5IEZ1bmN0aW9uIG9iamVjdHMgaW1wbGVtZW50IFtbSGFzSW5zdGFuY2VdXSBhbmQgY2FuIGJlIHByb3BlciBTaGlmdEV4cHJlc3Npb24gZm9yIHRoZSAiaW5zdGFuY2VvZiIgb3BlcmF0b3IgY29uc2VxdWVudGx5CiAqCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjYvUzExLjguNl9BNl9UNC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgUmVsYXRpb25hbEV4cHJlc3Npb24gaXMgb2JqZWN0CiAqLwoKTXlGdW5jdCA9IGZ1bmN0aW9uKCl7fTsKX19teV9fZnVuY3QgPSBuZXcgTXlGdW5jdDsKCgovL0NIRUNLIzEKaWYgKCEoX19teV9fZnVuY3QgaW5zdGFuY2VvZiBNeUZ1bmN0KSl7CgkkRVJST1IoJyMxIE9ubHkgRnVuY3Rpb24gb2JqZWN0cyBpbXBsZW1lbnQgW1tIYXNJbnN0YW5jZV1dIGFuZCBjb25zZXF1ZW50bHkgY2FuIGJlIHByb3BlciBTaGlmdEV4cHJlc3Npb24gZm9yIFRoZSBpbnN0YW5jZW9mIG9wZXJhdG9yJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19teV9fZnVuY3QgaW5zdGFuY2VvZiBGdW5jdGlvbil7CgkkRVJST1IoJyMyIE9ubHkgRnVuY3Rpb24gb2JqZWN0cyBpbXBsZW1lbnQgW1tIYXNJbnN0YW5jZV1dIGFuZCBjb25zZXF1ZW50bHkgY2FuIGJlIHByb3BlciBTaGlmdEV4cHJlc3Npb24gZm9yIFRoZSBpbnN0YW5jZW9mIG9wZXJhdG9yJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoIShfX215X19mdW5jdCBpbnN0YW5jZW9mIE9iamVjdCkpewoJJEVSUk9SKCcjMyBPbmx5IEZ1bmN0aW9uIG9iamVjdHMgaW1wbGVtZW50IFtbSGFzSW5zdGFuY2VdXSBhbmQgY29uc2VxdWVudGx5IGNhbiBiZSBwcm9wZXIgU2hpZnRFeHByZXNzaW9uIGZvciBUaGUgaW5zdGFuY2VvZiBvcGVyYXRvcicpOwp9CgovL0NIRUNLIzQKdHJ5ewoJX19teV9fZnVuY3QgaW5zdGFuY2VvZiBfX215X19mdW5jdDsKCSRFUlJPUignIzQgT25seSBGdW5jdGlvbiBvYmplY3RzIGltcGxlbWVudCBbW0hhc0luc3RhbmNlXV0gYW5kIGNvbnNlcXVlbnRseSBjYW4gYmUgcHJvcGVyIFNoaWZ0RXhwcmVzc2lvbiBmb3IgVGhlIGluc3RhbmNlb2Ygb3BlcmF0b3InKTsKfQpjYXRjaChlKXsgIAoJaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgIT09IHRydWUpIHsKICAgICAgJEVSUk9SKCcjNCBPbmx5IEZ1bmN0aW9uIG9iamVjdHMgaW1wbGVtZW50IFtbSGFzSW5zdGFuY2VdXSBhbmQgY29uc2VxdWVudGx5IGNhbiBiZSBwcm9wZXIgU2hpZnRFeHByZXNzaW9uIGZvciBUaGUgaW5zdGFuY2VvZiBvcGVyYXRvcicpOwoJfQp9Cgo=",
"commentary":"Only Function objects implement [[HasInstance]] and can be proper ShiftExpression for the \"instanceof\" operator consequently",
"description":"Checking if RelationalExpression is object",
"path":"TestCases/ch11/11.8/11.8.6/S11.8.6_A6_T4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuICJpbnN0YW5jZW9mIiByZXR1cm5zIHRydWUgaXQgbWVhbnMgdGhhdCBHZXRWYWx1ZShSZWxhdGlvbmFsRXhwcmVzc2lvbikgaXMgY29uc3RydWN0ZWQgd2l0aCBTaGlmdEV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS44LzExLjguNi9TMTEuOC42X0E3X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBPYmplY3Qgb2JqZWN0CiAqLwoKdmFyIF9fb2JqPXt9OwoKLy9DSEVDSyMxCmlmICghKF9fb2JqIGluc3RhbmNlb2YgT2JqZWN0KSkgewoJJEVSUk9SKCcjMTogSWYgaW5zdGFuY2VvZiByZXR1cm5zIHRydWUgdGhlbiBHZXRWYWx1ZShSZWxhdGlvbmFsRXhwcmVzc2lvbikgd2FzIGNvbnN0cnVjdGVkIHdpdGggU2hpZnRFeHByZXNzaW9uJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19vYmouY29uc3RydWN0b3IgIT09IE9iamVjdCkgewoJJEVSUk9SKCcjMjogSWYgaW5zdGFuY2VvZiByZXR1cm5zIHRydWUgdGhlbiBHZXRWYWx1ZShSZWxhdGlvbmFsRXhwcmVzc2lvbikgd2FzIGNvbnN0cnVjdGVkIHdpdGggU2hpZnRFeHByZXNzaW9uJyk7Cn0KCg==",
"commentary":"When \"instanceof\" returns true it means that GetValue(RelationalExpression) is constructed with ShiftExpression",
"description":"Checking Object object",
"path":"TestCases/ch11/11.8/11.8.6/S11.8.6_A7_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuICJpbnN0YW5jZW9mIiByZXR1cm5zIHRydWUgaXQgbWVhbnMgdGhhdCBHZXRWYWx1ZShSZWxhdGlvbmFsRXhwcmVzc2lvbikgaXMgY29uc3RydWN0ZWQgd2l0aCBTaGlmdEV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS44LzExLjguNi9TMTEuOC42X0E3X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBBcnJheSBvYmplY3QKICovCgp2YXIgX19hcnI9W107CgovL0NIRUNLIzEKaWYgKCEoX19hcnIgaW5zdGFuY2VvZiBBcnJheSkpIHsKCSRFUlJPUignIzE6IElmIGluc3RhbmNlb2YgcmV0dXJucyB0cnVlIHRoZW4gR2V0VmFsdWUoUmVsYXRpb25hbEV4cHJlc3Npb24pIHdhcyBjb25zdHJ1Y3RlZCB3aXRoIFNoaWZ0RXhwcmVzc2lvbicpOwp9CgovL0NIRUNLIzIKaWYgKF9fYXJyLmNvbnN0cnVjdG9yICE9PSBBcnJheSkgewoJJEVSUk9SKCcjMjogSWYgaW5zdGFuY2VvZiByZXR1cm5zIHRydWUgdGhlbiBHZXRWYWx1ZShSZWxhdGlvbmFsRXhwcmVzc2lvbikgd2FzIGNvbnN0cnVjdGVkIHdpdGggU2hpZnRFeHByZXNzaW9uJyk7Cn0KCg==",
"commentary":"When \"instanceof\" returns true it means that GetValue(RelationalExpression) is constructed with ShiftExpression",
"description":"Checking Array object",
"path":"TestCases/ch11/11.8/11.8.6/S11.8.6_A7_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuICJpbnN0YW5jZW9mIiByZXR1cm5zIHRydWUgaXQgbWVhbnMgdGhhdCBHZXRWYWx1ZShSZWxhdGlvbmFsRXhwcmVzc2lvbikgaXMgY29uc3RydWN0ZWQgd2l0aCBTaGlmdEV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS44LzExLjguNi9TMTEuOC42X0E3X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBGdW5jdGlvbiBvYmplY3QKICovCgp2YXIgX19mdW5jID0gbmV3IEZ1bmN0aW9uOwoKLy9DSEVDSyMxCmlmICghKF9fZnVuYyBpbnN0YW5jZW9mIEZ1bmN0aW9uKSkgewoJJEVSUk9SKCcjMTogSWYgaW5zdGFuY2VvZiByZXR1cm5zIHRydWUgdGhlbiBHZXRWYWx1ZShSZWxhdGlvbmFsRXhwcmVzc2lvbikgd2FzIGNvbnN0cnVjdGVkIHdpdGggU2hpZnRFeHByZXNzaW9uJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19mdW5jLmNvbnN0cnVjdG9yICE9PSBGdW5jdGlvbikgewoJJEVSUk9SKCcjMjogSWYgaW5zdGFuY2VvZiByZXR1cm5zIHRydWUgdGhlbiBHZXRWYWx1ZShSZWxhdGlvbmFsRXhwcmVzc2lvbikgd2FzIGNvbnN0cnVjdGVkIHdpdGggU2hpZnRFeHByZXNzaW9uJyk7Cn0KCgo=",
"commentary":"When \"instanceof\" returns true it means that GetValue(RelationalExpression) is constructed with ShiftExpression",
"description":"Checking Function object",
"path":"TestCases/ch11/11.8/11.8.6/S11.8.6_A7_T3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gUmVsYXRpb25hbEV4cHJlc3Npb24gYW5kICJpbiIgYW5kIGJldHdlZW4gImluIiBhbmQgU2hpZnRFeHByZXNzaW9uIGFyZSBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjcvUzExLjguN19BMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYnkgdXNpbmcgZXZhbAogKi8KCi8vQ0hFQ0sjMQppZiAoZXZhbCgiJ01BWF9WQUxVRSdcdTAwMDlpblx1MDAwOU51bWJlciIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogIk1BWF9WQUxVRSJcXHUwMDA5aW5cXHUwMDA5TnVtYmVyID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoZXZhbCgiJ01BWF9WQUxVRSdcdTAwMEJpblx1MDAwQk51bWJlciIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogIk1BWF9WQUxVRSJcXHUwMDBCaW5cXHUwMDBCTnVtYmVyID09PSB0cnVlJyk7ICAKfQoKLy9DSEVDSyMzCmlmIChldmFsKCInTUFYX1ZBTFVFJ1x1MDAwQ2luXHUwMDBDTnVtYmVyIikgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiAiTUFYX1ZBTFVFIlxcdTAwMENpblxcdTAwMENOdW1iZXIgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM0CmlmIChldmFsKCInTUFYX1ZBTFVFJ1x1MDAyMGluXHUwMDIwTnVtYmVyIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiAiTUFYX1ZBTFVFIlxcdTAwMjBpblxcdTAwMjBOdW1iZXIgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM1CmlmIChldmFsKCInTUFYX1ZBTFVFJ1x1MDBBMGluXHUwMEEwTnVtYmVyIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiAiTUFYX1ZBTFVFIlxcdTAwQTBpblxcdTAwQTBOdW1iZXIgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM2CmlmIChldmFsKCInTUFYX1ZBTFVFJ1x1MDAwQWluXHUwMDBBTnVtYmVyIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiAiTUFYX1ZBTFVFIlxcdTAwMEFpblxcdTAwMEFOdW1iZXIgPT09IHRydWUnKTsgIAp9CgovL0NIRUNLIzcKaWYgKGV2YWwoIidNQVhfVkFMVUUnXHUwMDBEaW5cdTAwMEROdW1iZXIiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzc6ICJNQVhfVkFMVUUiXFx1MDAwRGluXFx1MDAwRE51bWJlciA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzgKaWYgKGV2YWwoIidNQVhfVkFMVUUnXHUyMDI4aW5cdTIwMjhOdW1iZXIiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzg6ICJNQVhfVkFMVUUiXFx1MjAyOGluXFx1MjAyOE51bWJlciA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzkKaWYgKGV2YWwoIidNQVhfVkFMVUUnXHUyMDI5aW5cdTIwMjlOdW1iZXIiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzk6ICJNQVhfVkFMVUUiXFx1MjAyOWluXFx1MjAyOU51bWJlciA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzEwCmlmIChldmFsKCInTUFYX1ZBTFVFJ1x1MDAwOVx1MDAwQlx1MDAwQ1x1MDAyMFx1MDBBMFx1MDAwQVx1MDAwRFx1MjAyOFx1MjAyOWluXHUwMDA5XHUwMDBCXHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5TnVtYmVyIikgIT09IHRydWUpIHsKICAkRVJST1IoJyMxMDogIk1BWF9WQUxVRSJcXHUwMDA5XFx1MDAwQlxcdTAwMENcXHUwMDIwXFx1MDBBMFxcdTAwMEFcXHUwMDBEXFx1MjAyOFxcdTIwMjlpblxcdTAwMDlcXHUwMDBCXFx1MDAwQ1xcdTAwMjBcXHUwMEEwXFx1MDAwQVxcdTAwMERcXHUyMDI4XFx1MjAyOU51bWJlciA9PT0gdHJ1ZScpOwp9Cgo=",
"commentary":"White Space and Line Terminator between RelationalExpression and \"in\" and between \"in\" and ShiftExpression are allowed",
"description":"Checking by using eval",
"path":"TestCases/ch11/11.8/11.8.7/S11.8.7_A1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAiaW4iIHVzZXMgR2V0VmFsdWUKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguNy9TMTEuOC43X0EyLjFfVDEuanMKICogQGRlc2NyaXB0aW9uIEVpdGhlciBFeHByZXNzaW9uIGlzIG5vdCBSZWZlcmVuY2Ugb3IgR2V0QmFzZSBpcyBub3QgbnVsbAogKi8KCi8vQ0hFQ0sjMQppZiAoIk1BWF9WQUxVRSIgaW4gTnVtYmVyICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogIk1BWF9WQUxVRSIgaW4gTnVtYmVyID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgp2YXIgeCA9ICJNQVhfVkFMVUUiOwppZiAoeCBpbiBOdW1iZXIgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9ICJNQVhfVkFMVUUiOyB4IGluIE51bWJlciA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzMKdmFyIHkgPSBOdW1iZXI7CmlmICgiTUFYX1ZBTFVFIiBpbiAgeSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IHZhciB5ID0gTnVtYmVyOyAiTUFYX1ZBTFVFIiBpbiB5ID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNAp2YXIgeCA9ICJNQVhfVkFMVUUiOwp2YXIgeSA9IE51bWJlcjsKaWYgKHggaW4geSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6IHZhciB4ID0gIk1BWF9WQUxVRSI7IHZhciB5ID0gTnVtYmVyOyB4IGluIHkgPT09IHRydWUnKTsKfQoKCg==",
"commentary":"Operator \"in\" uses GetValue",
"description":"Either Expression is not Reference or GetBase is not null",
"path":"TestCases/ch11/11.8/11.8.7/S11.8.7_A2.1_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAiaW4iIHVzZXMgR2V0VmFsdWUKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguNy9TMTEuOC43X0EyLjFfVDIuanMKICogQGRlc2NyaXB0aW9uIElmIEdldEJhc2UoUmVsYXRpb25hbEV4cHJlc3Npb24pIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgTUFYX1ZBTFVFIGluIE51bWJlcjsKICAkRVJST1IoJyMxLjE6IE1BWF9WQUxVRSBpbiBOdW1iZXIgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArIChNQVhfVkFMVUUgaW4gTnVtYmVyKSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiBNQVhfVkFMVUUgaW4gTnVtYmVyIHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9Cgo=",
"commentary":"Operator \"in\" uses GetValue",
"description":"If GetBase(RelationalExpression) is null, throw ReferenceError",
"path":"TestCases/ch11/11.8/11.8.7/S11.8.7_A2.1_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAiaW4iIHVzZXMgR2V0VmFsdWUKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguNy9TMTEuOC43X0EyLjFfVDMuanMKICogQGRlc2NyaXB0aW9uIElmIEdldEJhc2UoU2hpZnRFeHByZXNzaW9uKSBpcyBudWxsLCB0aHJvdyBSZWZlcmVuY2VFcnJvcgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogICJNQVhfVkFMVUUiIGluIE5VTUJFUjsKICAkRVJST1IoJyMxLjE6ICJNQVhfVkFMVUUiIGluIE5VTUJFUiB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKCJNQVhfVkFMVUUiIGluIE5VTUJFUikpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogIk1BWF9WQUxVRSIgaW4gTlVNQkVSIHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9Cgo=",
"commentary":"Operator \"in\" uses GetValue",
"description":"If GetBase(ShiftExpression) is null, throw ReferenceError",
"path":"TestCases/ch11/11.8/11.8.7/S11.8.7_A2.1_T3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS44LzExLjguNy9TMTEuOC43X0EyLjRfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggIj0iCiAqLwoKLy9DSEVDSyMxIAp2YXIgTlVNQkVSID0gMDsKaWYgKChOVU1CRVIgPSBOdW1iZXIsICJNQVhfVkFMVUUiKSBpbiBOVU1CRVIgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiB2YXIgTlVNQkVSID0gMDsgKE5VTUJFUiA9IE51bWJlciwgIk1BWF9WQUxVRSIpIGluIE5VTUJFUiA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKdmFyIG1heF92YWx1ZSA9ICJNQVhfVkFMVUUiOyAKaWYgKG1heF92YWx1ZSBpbiAobWF4X3ZhbHVlID0gIm5vbmUiLCBOdW1iZXIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogdmFyIG1heF92YWx1ZSA9ICJNQVhfVkFMVUUiOyBtYXhfdmFsdWUgaW4gKG1heF92YWx1ZSA9ICJub25lIiwgTnVtYmVyKSA9PT0gdHJ1ZScpOwp9CgoK",
"commentary":"First expression is evaluated first, and then second expression",
"description":"Checking with \"=\"",
"path":"TestCases/ch11/11.8/11.8.7/S11.8.7_A2.4_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS44LzExLjguNy9TMTEuOC43X0EyLjRfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggInRocm93IgogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9Owp2YXIgeSA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9Owp0cnkgewogICB4KCkgaW4geSgpOwogICAkRVJST1IoJyMxLjE6IHZhciB4ID0gZnVuY3Rpb24gKCkgeyB0aHJvdyAieCI7IH07IHZhciB5ID0gZnVuY3Rpb24gKCkgeyB0aHJvdyAieSI7IH07IHgoKSBpbiB5KCkgdGhyb3cgIngiLiBBY3R1YWw6ICcgKyAoeCgpIGluIHkoKSkpOwp9IGNhdGNoIChlKSB7CiAgIGlmIChlID09PSAieSIpIHsKICAgICAkRVJST1IoJyMxLjI6IEZpcnN0IGV4cHJlc3Npb24gaXMgZXZhbHVhdGVkIGZpcnN0LCBhbmQgdGhlbiBzZWNvbmQgZXhwcmVzc2lvbicpOwogICB9IGVsc2UgewogICAgIGlmIChlICE9PSAieCIpIHsKICAgICAgICRFUlJPUignIzEuMzogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpIGluIHkoKSB0aHJvdyAieCIuIEFjdHVhbDogJyArIChlKSk7CiAgICAgfQogICB9Cn0KCg==",
"commentary":"First expression is evaluated first, and then second expression",
"description":"Checking with \"throw\"",
"path":"TestCases/ch11/11.8/11.8.7/S11.8.7_A2.4_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS44LzExLjguNy9TMTEuOC43X0EyLjRfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggdW5kZWNsYXJhdGVkIHZhcmlhYmxlcwogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIG1heF92YWx1ZSBpbiAobWF4X3ZhbHVlID0gIk1BWF9WQUxVRSIsIE51bWJlcik7CiAgJEVSUk9SKCcjMS4xOiBtYXhfdmFsdWUgaW4gKG1heF92YWx1ZSA9ICJNQVhfVkFMVUUiLCBOdW1iZXIpIHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAobWF4X3ZhbHVlIGluIChtYXhfdmFsdWUgPSAiTUFYX1ZBTFVFIiwgTnVtYmVyKSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogbWF4X3ZhbHVlIGluIChtYXhfdmFsdWUgPSAiTUFYX1ZBTFVFIiwgTnVtYmVyKSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoKLy9DSEVDSyMyCmlmICgoTlVNQkVSID0gTnVtYmVyLCAiTUFYX1ZBTFVFIikgaW4gTlVNQkVSICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogKE5VTUJFUiA9IE51bWJlciwgIk1BWF9WQUxVRSIpIGluIE5VTUJFUiAhPT0gdHJ1ZScpOwp9CgoK",
"commentary":"First expression is evaluated first, and then second expression",
"description":"Checking with undeclarated variables",
"path":"TestCases/ch11/11.8/11.8.7/S11.8.7_A2.4_T3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBTaGlmdEV4cHJlc3Npb24gaXMgbm90IGFuIG9iamVjdCwgdGhyb3cgVHlwZUVycm9yCiAqCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjcvUzExLjguN19BMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYWxsIHRoZSB0eXBlcyBvZiBwcmltaXRpdmVzCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgInRvU3RyaW5nIiBpbiB0cnVlOwogICRFUlJPUignIzE6ICJ0b1N0cmluZyIgaW4gdHJ1ZSB0aHJvdyBUeXBlRXJyb3InKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMTogInRvU3RyaW5nIiBpbiB0cnVlIHRocm93IFR5cGVFcnJvcicpOyAgCiAgfQp9CgovL0NIRUNLIzIKdHJ5IHsKICAiTUFYX1ZBTFVFIiBpbiAxOwogICRFUlJPUignIzI6ICJNQVhfVkFMVUUiIGluIDEgdGhyb3cgVHlwZUVycm9yJyk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzI6ICJNQVhfVkFMVUUiIGluIDEgdGhyb3cgVHlwZUVycm9yJyk7ICAKICB9Cn0KCi8vQ0hFQ0sjMwp0cnkgewogICJsZW5ndGgiIGluICJzdHJpbmciOwogICRFUlJPUignIzM6ICJsZW5ndGgiIGluICJzdHJpbmciIHRocm93IFR5cGVFcnJvcicpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMzOiAibGVuZ3RoIiBpbiAic3RyaW5nIiB0aHJvdyBUeXBlRXJyb3InKTsgIAogIH0KfQoKLy9DSEVDSyM0CnRyeSB7CiAgInRvU3RyaW5nIiBpbiB1bmRlZmluZWQ7CiAgJEVSUk9SKCcjNDogInRvU3RyaW5nIiBpbiB1bmRlZmluZWQgdGhyb3cgVHlwZUVycm9yJyk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzQ6ICJ0b1N0cmluZyIgaW4gdW5kZWZpbmVkIHRocm93IFR5cGVFcnJvcicpOyAgCiAgfQp9CgovL0NIRUNLIzUKdHJ5IHsKICAidG9TdHJpbmciIGluIG51bGw7CiAgJEVSUk9SKCcjNTogInRvU3RyaW5nIiBpbiBudWxsIHRocm93IFR5cGVFcnJvcicpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyM1OiAidG9TdHJpbmciIGluIG51bGwgdGhyb3cgVHlwZUVycm9yJyk7ICAKICB9Cn0KCg==",
"commentary":"If ShiftExpression is not an object, throw TypeError",
"description":"Checking all the types of primitives",
"path":"TestCases/ch11/11.8/11.8.7/S11.8.7_A3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAiaW4iIGNhbGxzIFRvU3RyaW5nKFNoaWZ0RXhwcmVzc2lvbikKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguNy9TMTEuOC43X0E0LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBUb1N0cmluZyBjb3ZlcnNpb247CiAqLwoKLy9DSEVDSyMxCnZhciBvYmplY3QgPSB7fTsKb2JqZWN0WyJ0cnVlIl0gPSAxOwppZiAodHJ1ZSBpbiBvYmplY3QgIT09ICJ0cnVlIiBpbiBvYmplY3QpIHsgIAogICRFUlJPUignIzE6ICJ2YXIgb2JqZWN0ID0ge307IG9iamVjdFsidHJ1ZSJdID0gMTsgdHJ1ZSBpbiBvYmplY3QgPT09ICJ0cnVlIiBpbiBvYmplY3QnKTsgIAp9CgovL0NIRUNLIzIKdmFyIG9iamVjdCA9IHt9OwpvYmplY3QuSW5maW5pdHkgPSAxOwppZiAoSW5maW5pdHkgaW4gb2JqZWN0ICE9PSAiSW5maW5pdHkiIGluIG9iamVjdCkgeyAgCiAgJEVSUk9SKCcjMjogInZhciBvYmplY3QgPSB7fTsgb2JqZWN0LkluZmluaXR5ID0gMTsgSW5maW5pdHkgaW4gb2JqZWN0ID09PSAiSW5maW5pdHkiIGluIG9iamVjdCcpOyAgCn0KCi8vQ0hFQ0sjNAp2YXIgb2JqZWN0ID0ge307Cm9iamVjdC51bmRlZmluZWQgPSAxOwppZiAodW5kZWZpbmVkIGluIG9iamVjdCAhPT0gInVuZGVmaW5lZCIgaW4gb2JqZWN0KSB7ICAKICAkRVJST1IoJyM0OiAidmFyIG9iamVjdCA9IHt9OyBvYmplY3QudW5kZWZpbmVkID0gMTsgdW5kZWZpbmVkIGluIG9iamVjdCA9PT0gInVuZGVmaW5lZCIgaW4gb2JqZWN0Jyk7ICAKfQoKLy9DSEVDSyM1CnZhciBvYmplY3QgPSB7fTsKb2JqZWN0WyJudWxsIl0gPSAxOwppZiAobnVsbCBpbiBvYmplY3QgIT09ICJudWxsIiBpbiBvYmplY3QpIHsgIAogICRFUlJPUignIzU6ICJ2YXIgb2JqZWN0ID0ge307IG9iamVjdFsibnVsbCJdID0gMTsgbnVsbCBpbiBvYmplY3QgPT09ICJudWxsIiBpbiBvYmplY3QnKTsgIAp9Cgo=",
"commentary":"Operator \"in\" calls ToString(ShiftExpression)",
"description":"Checking ToString coversion",
"path":"TestCases/ch11/11.8/11.8.7/S11.8.7_A4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gRXF1YWxpdHlFeHByZXNzaW9uIGFuZCAiPT0iIG9yIGJldHdlZW4gIj09IiBhbmQgUmVsYXRpb25hbEV4cHJlc3Npb24gYXJlIGFsbG93ZWQKICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuMS9TMTEuOS4xX0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBieSB1c2luZyBldmFsCiAqLwoKLy9DSEVDSyMxCmlmIChldmFsKCJ0cnVlXHUwMDA5PT1cdTAwMDkxIikgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiAodHJ1ZVxcdTAwMDk9PVxcdTAwMDkxKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKGV2YWwoInRydWVcdTAwMEI9PVx1MDAwQjEiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6ICh0cnVlXFx1MDAwQj09XFx1MDAwQjEpID09PSB0cnVlJyk7ICAKfQoKLy9DSEVDSyMzCmlmIChldmFsKCJ0cnVlXHUwMDBDPT1cdTAwMEMxIikgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiAodHJ1ZVxcdTAwMEM9PVxcdTAwMEMxKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzQKaWYgKGV2YWwoInRydWVcdTAwMjA9PVx1MDAyMDEiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6ICh0cnVlXFx1MDAyMD09XFx1MDAyMDEpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoZXZhbCgidHJ1ZVx1MDBBMD09XHUwMEEwMSIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNTogKHRydWVcXHUwMEEwPT1cXHUwMEEwMSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM2CmlmIChldmFsKCJ0cnVlXHUwMDBBPT1cdTAwMEExIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiAodHJ1ZVxcdTAwMEE9PVxcdTAwMEExKSA9PT0gdHJ1ZScpOyAgCn0KCi8vQ0hFQ0sjNwppZiAoZXZhbCgidHJ1ZVx1MDAwRD09XHUwMDBEMSIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNzogKHRydWVcXHUwMDBEPT1cXHUwMDBEMSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM4CmlmIChldmFsKCJ0cnVlXHUyMDI4PT1cdTIwMjgxIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM4OiAodHJ1ZVxcdTIwMjg9PVxcdTIwMjgxKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzkKaWYgKGV2YWwoInRydWVcdTIwMjk9PVx1MjAyOTEiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzk6ICh0cnVlXFx1MjAyOT09XFx1MjAyOTEpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMTAKaWYgKGV2YWwoInRydWVcdTAwMDlcdTAwMEJcdTAwMENcdTAwMjBcdTAwQTBcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjk9PVx1MDAwOVx1MDAwQlx1MDAwQ1x1MDAyMFx1MDBBMFx1MDAwQVx1MDAwRFx1MjAyOFx1MjAyOTEiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzEwOiAodHJ1ZVxcdTAwMDlcXHUwMDBCXFx1MDAwQ1xcdTAwMjBcXHUwMEEwXFx1MDAwQVxcdTAwMERcXHUyMDI4XFx1MjAyOT09XFx1MDAwOVxcdTAwMEJcXHUwMDBDXFx1MDAyMFxcdTAwQTBcXHUwMDBBXFx1MDAwRFxcdTIwMjhcXHUyMDI5MSkgPT09IHRydWUnKTsKfQoK",
"commentary":"White Space and Line Terminator between EqualityExpression and \"==\" or between \"==\" and RelationalExpression are allowed",
"description":"Checking by using eval",
"path":"TestCases/ch11/11.9/11.9.1/S11.9.1_A1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID09IHkgdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS4xL1MxMS45LjFfQTIuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gRWl0aGVyIFR5cGUgaXMgbm90IFJlZmVyZW5jZSBvciBHZXRCYXNlIGlzIG5vdCBudWxsCiAqLwoKLy9DSEVDSyMxCmlmICgoMSA9PSAxKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6ICgxID09IDEpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgp2YXIgeCA9IDE7CmlmICgoeCA9PSAxKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHZhciB4ID0gMTsgKHggPT0gMSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMzCnZhciB5ID0gMTsKaWYgKCgxID09IHkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogdmFyIHkgPSAxOyAoMSA9PSB5KSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzQKdmFyIHggPSAxOwp2YXIgeSA9IDE7CmlmICgoeCA9PSB5KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6IHZhciB4ID0gMTsgdmFyIHkgPSAxOyAoeCA9PSB5KSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzUKdmFyIG9iamVjdHggPSBuZXcgT2JqZWN0KCk7CnZhciBvYmplY3R5ID0gbmV3IE9iamVjdCgpOwpvYmplY3R4LnByb3AgPSAxOwpvYmplY3R5LnByb3AgPSAxOwppZiAoKG9iamVjdHgucHJvcCA9PSBvYmplY3R5LnByb3ApICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNTogdmFyIG9iamVjdHggPSBuZXcgT2JqZWN0KCk7IHZhciBvYmplY3R5ID0gbmV3IE9iamVjdCgpOyBvYmplY3R4LnByb3AgPSAxOyBvYmplY3R5LnByb3AgPSAxOyAob2JqZWN0eC5wcm9wID09IG9iamVjdHkucHJvcCkgPT09IHRydWUnKTsKfQoK",
"commentary":"Operator x == y uses GetValue",
"description":"Either Type is not Reference or GetBase is not null",
"path":"TestCases/ch11/11.9/11.9.1/S11.9.1_A2.1_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID09IHkgdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS4xL1MxMS45LjFfQTIuMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gSWYgR2V0QmFzZSh4KSBpcyBudWxsLCB0aHJvdyBSZWZlcmVuY2VFcnJvcgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHggPT0gMTsKICAkRVJST1IoJyMxLjE6IHggPT0gMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHggPT0gMSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogeCA9PSAxIHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9CgoK",
"commentary":"Operator x == y uses GetValue",
"description":"If GetBase(x) is null, throw ReferenceError",
"path":"TestCases/ch11/11.9/11.9.1/S11.9.1_A2.1_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID09IHkgdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS4xL1MxMS45LjFfQTIuMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gSWYgR2V0QmFzZSh5KSBpcyBudWxsLCB0aHJvdyBSZWZlcmVuY2VFcnJvcgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIDEgPT0geTsKICAkRVJST1IoJyMxLjE6IDEgPT0geSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKDEgPT0geSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogMSA9PSB5IHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9CgoK",
"commentary":"Operator x == y uses GetValue",
"description":"If GetBase(y) is null, throw ReferenceError",
"path":"TestCases/ch11/11.9/11.9.1/S11.9.1_A2.1_T3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuMS9TMTEuOS4xX0EyLjRfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggIj0iCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gMDsgCmlmICgoKHggPSAxKSA9PSB4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IHZhciB4ID0gMDsgKCh4ID0gMSkgPT0geCkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gMDsgCmlmICgoeCA9PSAoeCA9IDEpKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IDA7ICh4ID09ICh4ID0gMSkpID09PSBmYWxzZScpOwp9CgoK",
"commentary":"First expression is evaluated first, and then second expression",
"description":"Checking with \"=\"",
"path":"TestCases/ch11/11.9/11.9.1/S11.9.1_A2.4_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuMS9TMTEuOS4xX0EyLjRfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggInRocm93IgogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9Owp2YXIgeSA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9Owp0cnkgewogICB4KCkgPT0geSgpOwogICAkRVJST1IoJyMxLjE6IHZhciB4ID0gZnVuY3Rpb24gKCkgeyB0aHJvdyAieCI7IH07IHZhciB5ID0gZnVuY3Rpb24gKCkgeyB0aHJvdyAieSI7IH07IHgoKSA9PSB5KCkgdGhyb3cgIngiLiBBY3R1YWw6ICcgKyAoeCgpID09IHkoKSkpOwp9IGNhdGNoIChlKSB7CiAgIGlmIChlID09PSAieSIpIHsKICAgICAkRVJST1IoJyMxLjI6IEZpcnN0IGV4cHJlc3Npb24gaXMgZXZhbHVhdGVkIGZpcnN0LCBhbmQgdGhlbiBzZWNvbmQgZXhwcmVzc2lvbicpOwogICB9IGVsc2UgewogICAgIGlmIChlICE9PSAieCIpIHsKICAgICAgICRFUlJPUignIzEuMzogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpID09IHkoKSB0aHJvdyAieCIuIEFjdHVhbDogJyArIChlKSk7CiAgICAgfQogICB9Cn0KCg==",
"commentary":"First expression is evaluated first, and then second expression",
"description":"Checking with \"throw\"",
"path":"TestCases/ch11/11.9/11.9.1/S11.9.1_A2.4_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuMS9TMTEuOS4xX0EyLjRfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggdW5kZWNsYXJhdGVkIHZhcmlhYmxlcwogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHggPT0gKHggPSAxKTsKICAkRVJST1IoJyMxLjE6IHggPT0gKHggPSAxKSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHggPT0gKHggPSAxKSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogeCA9PSAoeCA9IDEpIHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9CgovL0NIRUNLIzIKaWYgKCgoeSA9IDEpID09IHkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogKCh5ID0gMSkgPT0geSkgPT09IHRydWUnKTsKfQoKCg==",
"commentary":"First expression is evaluated first, and then second expression",
"description":"Checking with undeclarated variables",
"path":"TestCases/ch11/11.9/11.9.1/S11.9.1_A2.4_T3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZXR1cm4gdHJ1ZSwgaWYgeCBhbmQgeSBhcmUgYm90aCB0cnVlIG9yIGJvdGggZmFsc2U7IG90aGVyd2lzZSwgcmV0dXJuIGZhbHNlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOS8xMS45LjEvUzExLjkuMV9BMy4xLmpzCiAqIEBkZXNjcmlwdGlvbiB4IGFuZCB5IGFyZSBib29sZWFuIHByaW1pdGl2ZXMKICovCgovL0NIRUNLIzEKaWYgKCh0cnVlID09IHRydWUpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogKHRydWUgPT0gdHJ1ZSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCmlmICgoZmFsc2UgPT0gZmFsc2UpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogKGZhbHNlID09IGZhbHNlKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzMKaWYgKCh0cnVlID09IGZhbHNlKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMzOiAodHJ1ZSA9PSBmYWxzZSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKGZhbHNlID09IHRydWUpICE9PSBmYWxzZSkgewogICRFUlJPUignIzQ6IChmYWxzZSA9PSB0cnVlKSA9PT0gZmFsc2UnKTsKfQoK",
"commentary":"Return true, if x and y are both true or both false; otherwise, return false",
"description":"x and y are boolean primitives",
"path":"TestCases/ch11/11.9/11.9.1/S11.9.1_A3.1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGlzIEJvb2xlYW4gYW5kIFR5cGUoeSkgaXMgTnVtYmVyLAogKiByZXR1cm4gdGhlIHJlc3VsdCBvZiBjb21wYXJpc29uIFRvTnVtYmVyKHgpID09IHkKICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuMS9TMTEuOS4xX0EzLjIuanMKICogQGRlc2NyaXB0aW9uIHggaXMgcHJpbWl0aXZlIGJvb2xlYW4sIHkgaXMgcHJpbWl0aXZlIG51bWJlcgogKi8KCi8vQ0hFQ0sjMQppZiAoKHRydWUgPT0gMSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiAodHJ1ZSA9PSAxKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKChmYWxzZSA9PSAiMCIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogKGZhbHNlID09ICIwIikgPT09IHRydWUnKTsKfQoK",
"commentary":"If Type(x) is Boolean and Type(y) is Number,\nreturn the result of comparison ToNumber(x) == y",
"description":"x is primitive boolean, y is primitive number",
"path":"TestCases/ch11/11.9/11.9.1/S11.9.1_A3.2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHkpIGlzIE51bWJlciBhbmQgVHlwZSh5KSBpcyBCb29sZWFuLAogKiByZXR1cm4gdGhlIHJlc3VsdCBvZiBjb21wYXJpc29uIHggPT0gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuMS9TMTEuOS4xX0EzLjMuanMKICogQGRlc2NyaXB0aW9uIHggaXMgcHJpbWl0aXZlIG51bWJlciwgeSBpcyBwcmltaXRpdmUgYm9vbGVhbgogKi8KCi8vQ0hFQ0sjMQppZiAoKDAgPT0gZmFsc2UpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogKDAgPT0gZmFsc2UpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKCIxIiA9PSB0cnVlKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6ICgiMSIgPT0gdHJ1ZSkgPT09IHRydWUnKTsKfQoK",
"commentary":"If Type(y) is Number and Type(y) is Boolean,\nreturn the result of comparison x == ToNumber(y)",
"description":"x is primitive number, y is primitive boolean",
"path":"TestCases/ch11/11.9/11.9.1/S11.9.1_A3.3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IG9yIHkgaXMgTmFOLCByZXR1cm4gZmFsc2UKICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuMS9TMTEuOS4xX0E0LjFfVDEuanMKICogQGRlc2NyaXB0aW9uIHggaXMgTmFOCiAqLwoKLy9DSEVDSyMxCmlmICgoTnVtYmVyLk5hTiA9PSB0cnVlKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiAoTmFOID09IHRydWUpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYgKChOdW1iZXIuTmFOID09IDEpICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6IChOYU4gPT0gMSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKE51bWJlci5OYU4gPT0gTnVtYmVyLk5hTikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMzogKE5hTiA9PSBOYU4pID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzQKaWYgKChOdW1iZXIuTmFOID09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogKE5hTiA9PSArSW5maW5pdHkpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzUKaWYgKChOdW1iZXIuTmFOID09IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogKE5hTiA9PSAtSW5maW5pdHkpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzYKaWYgKChOdW1iZXIuTmFOID09IE51bWJlci5NQVhfVkFMVUUpICE9PSBmYWxzZSkgewogICRFUlJPUignIzY6IChOYU4gPT0gTnVtYmVyLk1BWF9WQUxVRSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNwppZiAoKE51bWJlci5OYU4gPT0gTnVtYmVyLk1JTl9WQUxVRSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNzogKE5hTiA9PSBOdW1iZXIuTUlOX1ZBTFVFKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM4CmlmICgoTnVtYmVyLk5hTiA9PSAic3RyaW5nIikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjODogKE5hTiA9PSAic3RyaW5nIikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjOQppZiAoKE51bWJlci5OYU4gPT0gbmV3IE9iamVjdCgpKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM5OiAoTmFOID09IG5ldyBPYmplY3QoKSkgPT09IGZhbHNlJyk7Cn0KCgo=",
"commentary":"If x or y is NaN, return false",
"description":"x is NaN",
"path":"TestCases/ch11/11.9/11.9.1/S11.9.1_A4.1_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IG9yIHkgaXMgTmFOLCByZXR1cm4gZmFsc2UKICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuMS9TMTEuOS4xX0E0LjFfVDIuanMKICogQGRlc2NyaXB0aW9uIHkgaXMgTmFOCiAqLwoKLy9DSEVDSyMxCmlmICgodHJ1ZSA9PSBOdW1iZXIuTmFOKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiAodHJ1ZSA9PSBOYU4pID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYgKCgtMSA9PSBOdW1iZXIuTmFOKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMyOiAoLTEgPT0gTmFOKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMzCmlmICgoTnVtYmVyLk5hTiA9PSBOdW1iZXIuTmFOKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMzOiAoTmFOID09IE5hTikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSA9PSBOdW1iZXIuTmFOKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM0OiAoK0luZmluaXR5ID09IE5hTikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSA9PSBOdW1iZXIuTmFOKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM1OiAoLUluZmluaXR5ID09IE5hTikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNgppZiAoKE51bWJlci5NQVhfVkFMVUUgPT0gTnVtYmVyLk5hTikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNjogKE51bWJlci5NQVhfVkFMVUUgPT0gTmFOKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM3CmlmICgoTnVtYmVyLk1JTl9WQUxVRSA9PSBOdW1iZXIuTmFOKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM3OiAoTnVtYmVyLk1JTl9WQUxVRSA9PSBOYU4pID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzgKaWYgKCgic3RyaW5nIiA9PSBOdW1iZXIuTmFOKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM4OiAoInN0cmluZyIgPT0gTmFOKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM5CmlmICgobmV3IE9iamVjdCgpID09IE51bWJlci5OYU4pICE9PSBmYWxzZSkgewogICRFUlJPUignIzk6IChuZXcgT2JqZWN0KCkgPT0gTmFOKSA9PT0gZmFsc2UnKTsKfQoK",
"commentary":"If x or y is NaN, return false",
"description":"y is NaN",
"path":"TestCases/ch11/11.9/11.9.1/S11.9.1_A4.1_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzICswKC0wKSBhbmQgeSBpcyAtMCgrMCksIHJldHVybiB0cnVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOS8xMS45LjEvUzExLjkuMV9BNC4yLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBhbGwgY29tYmluYXRpb25zCiAqLwoKLy9DSEVDSyMxCmlmICgoKzAgPT0gLTApICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogKCswID09IC0wKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKCgtMCA9PSArMCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiAoLTAgPT0gKzApID09PSB0cnVlJyk7Cn0KCg==",
"commentary":"If x is +0(-0) and y is -0(+0), return true",
"description":"Checking all combinations",
"path":"TestCases/ch11/11.9/11.9.1/S11.9.1_A4.2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUeXBlKHgpIGFuZCBUeXBlKHkpIGFyZSBOdW1iZXItcyBtaW51cyBOYU4sICswLCAtMC4KICogUmV0dXJuIHRydWUsIGlmIHggaXMgdGhlIHNhbWUgbnVtYmVyIHZhbHVlIGFzIHk7IG90aGVyd2lzZSwgcmV0dXJuIGZhbHNlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOS8xMS45LjEvUzExLjkuMV9BNC4zLmpzCiAqIEBkZXNjcmlwdGlvbiB4IGFuZCB5IGFyZSBwcmltaXRpdmUgbnVtYmVycwogKi8KCi8vQ0hFQ0sjMQppZiAoKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSA9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogKCtJbmZpbml0eSA9PSArSW5maW5pdHkpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSA9PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogKC1JbmZpbml0eSA9PSAtSW5maW5pdHkpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSA9PSAtTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6ICgrSW5maW5pdHkgPT0gLSgtSW5maW5pdHkpKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzQKaWYgKCgxID09IDAuOTk5OTk5OTk5OTk5KSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM0OiAoMSA9PSAwLjk5OTk5OTk5OTk5OSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoKDEuMCA9PSAxKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzU6ICgxLjAgPT0gMSkgPT09IHRydWUnKTsKfQoK",
"commentary":"Type(x) and Type(y) are Number-s minus NaN, +0, -0.\nReturn true, if x is the same number value as y; otherwise, return false",
"description":"x and y are primitive numbers",
"path":"TestCases/ch11/11.9/11.9.1/S11.9.1_A4.3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUeXBlKHgpIGFuZCBUeXBlKHkpIGFyZSBTdHJpbmctcy4KICogUmV0dXJuIHRydWUsIGlmIHggYW5kIHkgYXJlIGV4YWN0bHkgdGhlIHNhbWUgc2VxdWVuY2Ugb2YgY2hhcmFjdGVyczsgb3RoZXJ3aXNlLCByZXR1cm4gZmFsc2UKICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuMS9TMTEuOS4xX0E1LjEuanMKICogQGRlc2NyaXB0aW9uIHggYW5kIHkgYXJlIHByaW1pdGl2ZSBzdHJpbmcKICovCgovL0NIRUNLIzEKaWYgKCgiIiA9PSAiIikgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiAoIiIgPT0gIiIpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKCIgIiA9PSAiICIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogIiAoIiA9PSAiICIpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKCIgIiA9PSAiIikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMzogIiAoIiA9PSAiIikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKCJzdHJpbmciID09ICJzdHJpbmciKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6ICgic3RyaW5nIiA9PSAic3RyaW5nIikgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM1CmlmICgoIiBzdHJpbmciID09ICJzdHJpbmcgIikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogKCIgc3RyaW5nIiA9PSAic3RyaW5nICIpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzYKaWYgKCgiMS4wIiA9PSAiMSIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzY6ICgiMS4wIiA9PSAiMSIpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzcKaWYgKCgiMHhmZiIgPT0gIjI1NSIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzc6ICgiMHhmZiIgPT0gIjI1NSIpID09PSBmYWxzZScpOwp9Cgo=",
"commentary":"Type(x) and Type(y) are String-s.\nReturn true, if x and y are exactly the same sequence of characters; otherwise, return false",
"description":"x and y are primitive string",
"path":"TestCases/ch11/11.9/11.9.1/S11.9.1_A5.1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGlzIE51bWJlciBhbmQgVHlwZSh5KSBpcyBTdHJpbmcsCiAqIHJldHVybiB0aGUgcmVzdWx0IG9mIGNvbXBhcmlzb24geCA9PSBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS4xL1MxMS45LjFfQTUuMi5qcwogKiBAZGVzY3JpcHRpb24geCBpcyBwcmltaXRpdmUgbnVtYmVyLCB5IGlzIHByaW1pdGl2ZSBzdHJpbmcKICovCgovL0NIRUNLIzEKaWYgKCgxID09ICIxIikgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiAoMSA9PSAiMSIpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKDEuMTAwID09ICIrMS4xMCIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogKDEuMTAwID09ICIrMS4xMCIpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKDEgPT0gInRydWUiKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMzOiAoMSA9PSAidHJ1ZSIpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzQKaWYgKCgyNTUgPT0gIjB4ZmYiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6ICgyNTUgPT0gIjB4ZmYiKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzUKaWYgKCgwID09ICIiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzU6ICgwID09ICIiKSA9PT0gdHJ1ZScpOwp9Cgo=",
"commentary":"If Type(x) is Number and Type(y) is String,\nreturn the result of comparison x == ToNumber(y)",
"description":"x is primitive number, y is primitive string",
"path":"TestCases/ch11/11.9/11.9.1/S11.9.1_A5.2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGlzIFN0cmluZyBhbmQgVHlwZSh5KSBpcyBOdW1iZXIsCiAqIHJldHVybiB0aGUgcmVzdWx0IG9mIGNvbXBhcmlzb24gVG9OdW1iZXIoeCkgPT0geQogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS4xL1MxMS45LjFfQTUuMy5qcwogKiBAZGVzY3JpcHRpb24geCBpcyBwcmltaXRpdmUgc3RyaW5nLCB5IGlzIHByaW1pdGl2ZSBudW1iZXIKICovCgovL0NIRUNLIzEKaWYgKCgiLTEiID09IC0xKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6ICgiLTEiID09IC0xKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKCgiLTEuMTAwIiA9PSAtMS4xMCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiAoIi0xLjEwMCIgPT0gLTEuMTApID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKCJmYWxzZSIgPT0gMCkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMzogKCJmYWxzZSIgPT0gMCkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKCI1ZS0zMjQiID09IDVlLTMyNCkgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiAoIjVlLTMyNCIgPT0gNWUtMzI0KSA9PT0gdHJ1ZScpOwp9CgoK",
"commentary":"If Type(x) is String and Type(y) is Number,\nreturn the result of comparison ToNumber(x) == y",
"description":"x is primitive string, y is primitive number",
"path":"TestCases/ch11/11.9/11.9.1/S11.9.1_A5.3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGFzIHdlbGwgYXMgVHlwZSh5KSBpcyB1bmRlZmluZWQgb3IgbnVsbCwgcmV0dXJuIHRydWUKICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuMS9TMTEuOS4xX0E2LjEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGFsbCBjb21iaW5hdGlvbnMKICovCgovL0NIRUNLIzEKaWYgKCh1bmRlZmluZWQgPT0gdW5kZWZpbmVkKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6ICh1bmRlZmluZWQgPT0gdW5kZWZpbmVkKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKCh2b2lkIDAgPT0gdW5kZWZpbmVkKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6ICh2b2lkIDAgPT0gdW5kZWZpbmVkKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzMKaWYgKCh1bmRlZmluZWQgPT0gZXZhbCgidmFyIHgiKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiAodW5kZWZpbmVkID09IGV2YWwoInZhciB4IikpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKHVuZGVmaW5lZCA9PSBudWxsKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6ICh1bmRlZmluZWQgPT0gbnVsbCkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM1CmlmICgobnVsbCA9PSB2b2lkIDApICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNTogKG51bGwgPT0gdm9pZCAwKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzYKaWYgKChudWxsID09IG51bGwpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNjogKG51bGwgPT0gbnVsbCkgPT09IHRydWUnKTsKfQoK",
"commentary":"If Type(x) as well as Type(y) is undefined or null, return true",
"description":"Checking all combinations",
"path":"TestCases/ch11/11.9/11.9.1/S11.9.1_A6.1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBvbmUgZXhwcmVzc2lvbiBpcyB1bmRlZmluZWQgb3IgbnVsbCBhbmQgYW5vdGhlciBpcyBub3QsIHJldHVybiBmYWxzZQogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS4xL1MxMS45LjFfQTYuMl9UMS5qcwogKiBAZGVzY3JpcHRpb24geCBpcyBudWxsIG9yIHVuZGVmaW5lZCwgeSBpcyBub3QKICovCgovL0NIRUNLIzEKaWYgKCh1bmRlZmluZWQgPT0gdHJ1ZSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogKHVuZGVmaW5lZCA9PSB0cnVlKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyCmlmICgodW5kZWZpbmVkID09IDApICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6ICh1bmRlZmluZWQgPT0gMCkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKHVuZGVmaW5lZCA9PSAidW5kZWZpbmVkIikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMzogKHVuZGVmaW5lZCA9PSAidW5kZWZpbmVkIikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKHVuZGVmaW5lZCA9PSB7fSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogKHVuZGVmaW5lZCA9PSB7fSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoKG51bGwgPT0gZmFsc2UpICE9PSBmYWxzZSkgewogICRFUlJPUignIzU6IChudWxsID09IGZhbHNlKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM2CmlmICgobnVsbCA9PSAwKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM2OiAobnVsbCA9PSAwKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM3CmlmICgobnVsbCA9PSAibnVsbCIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzc6IChudWxsID09ICJudWxsIikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjOAppZiAoKG51bGwgPT0ge30pICE9PSBmYWxzZSkgewogICRFUlJPUignIzg6IChudWxsID09IHt9KSA9PT0gZmFsc2UnKTsKfQoK",
"commentary":"If one expression is undefined or null and another is not, return false",
"description":"x is null or undefined, y is not",
"path":"TestCases/ch11/11.9/11.9.1/S11.9.1_A6.2_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBvbmUgZXhwcmVzc2lvbiBpcyB1bmRlZmluZWQgb3IgbnVsbCBhbmQgYW5vdGhlciBpcyBub3QsIHJldHVybiBmYWxzZQogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS4xL1MxMS45LjFfQTYuMl9UMi5qcwogKiBAZGVzY3JpcHRpb24geSBpcyBudWxsIG9yIHVuZGVmaW5lZCwgeCBpcyBub3QKICovCgovL0NIRUNLIzEKaWYgKChmYWxzZSA9PSB1bmRlZmluZWQpICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IChmYWxzZSA9PSB1bmRlZmluZWQpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYgKChOdW1iZXIuTmFOID09IHVuZGVmaW5lZCkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogKE51bWJlci5OYU4gPT0gdW5kZWZpbmVkKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMzCmlmICgoInVuZGVmaW5lZCIgPT0gdW5kZWZpbmVkKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMzOiAoInVuZGVmaW5lZCIgPT0gdW5kZWZpbmVkKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM0CmlmICgoe30gPT0gdW5kZWZpbmVkKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM0OiAoe30gPT0gdW5kZWZpbmVkKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM1CmlmICgoZmFsc2UgPT0gbnVsbCkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogKGZhbHNlID09IG51bGwpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzYKaWYgKCgwID09IG51bGwpICE9PSBmYWxzZSkgewogICRFUlJPUignIzY6ICgwID09IG51bGwpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzcKaWYgKCgibnVsbCIgPT0gbnVsbCkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNzogKCJudWxsIiA9PSBudWxsKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM4CmlmICgoe30gPT0gbnVsbCkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjODogKHt9ID09IG51bGwpID09PSBmYWxzZScpOwp9Cgo=",
"commentary":"If one expression is undefined or null and another is not, return false",
"description":"y is null or undefined, x is not",
"path":"TestCases/ch11/11.9/11.9.1/S11.9.1_A6.2_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUeXBlKHgpIGFuZCBUeXBlKHkpIGFyZSBPYmplY3Qtcy4KICogUmV0dXJuIHRydWUsIGlmIHggYW5kIHkgYXJlIHJlZmVyZW5jZXMgdG8gdGhlIHNhbWUgT2JqZWN0OyBvdGhlcndpc2UsIHJldHVybiBmYWxzZQogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS4xL1MxMS45LjFfQTcuMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgQm9vbGVhbiBvYmplY3QsIE51bWJlciBvYmplY3QsIFN0cmluZyBvYmplY3QsIE9iamVjdCBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKChuZXcgQm9vbGVhbih0cnVlKSA9PSBuZXcgQm9vbGVhbih0cnVlKSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogKG5ldyBCb29sZWFuKHRydWUpID09IG5ldyBCb29sZWFuKHRydWUpKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyCmlmICgobmV3IE51bWJlcigxKSA9PSBuZXcgTnVtYmVyKDEpKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMyOiAobmV3IE51bWJlcigxKSA9PSBuZXcgTnVtYmVyKDEpKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMzCmlmICgobmV3IFN0cmluZygieCIpID09IG5ldyBTdHJpbmcoIngiKSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMzogKG5ldyBTdHJpbmcoIngiKSA9PSBuZXcgU3RyaW5nKCJ4IikpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzQKaWYgKChuZXcgT2JqZWN0KCkgPT0gbmV3IE9iamVjdCgpKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM0OiAobmV3IE9iamVjdCgpID09IG5ldyBPYmplY3QoKSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNQp4ID0ge307IAp5ID0geDsKaWYgKCh4ID09IHkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNTogeCA9IHt9OyB5ID0geDsgKHggPT0geSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM2CmlmICgobmV3IEJvb2xlYW4odHJ1ZSkgPT0gbmV3IE51bWJlcigxKSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNiAobmV3IEJvb2xlYW4odHJ1ZSkgPT0gbmV3IE51bWJlcigxKSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNwppZiAoKG5ldyBOdW1iZXIoMSkgPT0gbmV3IFN0cmluZygiMSIpKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM3OiAobmV3IE51bWJlcigxKSA9PSBuZXcgU3RyaW5nKCIxIikpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzgKaWYgKChuZXcgU3RyaW5nKCIxIikgPT0gbmV3IEJvb2xlYW4odHJ1ZSkpICE9PSBmYWxzZSkgewogICRFUlJPUignIzg6IChuZXcgU3RyaW5nKCJ4IikgPT0gbmV3IEJvb2xlYW4odHJ1ZSkpID09PSBmYWxzZScpOwp9Cgo=",
"commentary":"Type(x) and Type(y) are Object-s.\nReturn true, if x and y are references to the same Object; otherwise, return false",
"description":"Checking Boolean object, Number object, String object, Object object",
"path":"TestCases/ch11/11.9/11.9.1/S11.9.1_A7.1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGlzIE9iamVjdCBhbmQgVHlwZSh5KSBpcyBCb29sZWFuLAogKiByZXR1cm4gVG9QcmltaXRpdmUoeCkgPT0geQogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS4xL1MxMS45LjFfQTcuMi5qcwogKiBAZGVzY3JpcHRpb24geCBpcyBvYmplY3QsIHkgaXMgcHJpbWl0aXZlIGJvb2xlYW4KICovCgovL0NIRUNLIzEKaWYgKChuZXcgQm9vbGVhbih0cnVlKSA9PSB0cnVlKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IChuZXcgQm9vbGVhbih0cnVlKSA9PSB0cnVlKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKChuZXcgTnVtYmVyKDEpID09IHRydWUpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogKG5ldyBOdW1iZXIoMSkgPT0gdHJ1ZSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMzCmlmICgobmV3IFN0cmluZygiMSIpID09IHRydWUpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogKG5ldyBTdHJpbmcoIjEiKSA9PSB0cnVlKSA9PT0gdHJ1ZScpOwp9Cgo=",
"commentary":"If Type(x) is Object and Type(y) is Boolean,\nreturn ToPrimitive(x) == y",
"description":"x is object, y is primitive boolean",
"path":"TestCases/ch11/11.9/11.9.1/S11.9.1_A7.2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGlzIEJvb2xlYW4gYW5kIFR5cGUoeSkgaXMgT2JqZWN0LAogKiByZXR1cm4geCA9PSBUb1ByaW1pdGl2ZSh5KQogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS4xL1MxMS45LjFfQTcuMy5qcwogKiBAZGVzY3JpcHRpb24geSBpcyBvYmplY3QsIHggaXMgcHJpbWl0aXZlIGJvb2xlYW4KICovCgovL0NIRUNLIzEKaWYgKCh0cnVlID09IG5ldyBCb29sZWFuKHRydWUpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6ICh0cnVlID09IG5ldyBCb29sZWFuKHRydWUpKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKCh0cnVlID09IG5ldyBOdW1iZXIoMSkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogKHRydWUgPT0gbmV3IE51bWJlcigxKSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMzCmlmICgodHJ1ZSA9PSBuZXcgU3RyaW5nKCIrMSIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6ICh0cnVlID09IG5ldyBTdHJpbmcoIisxIikpID09PSB0cnVlJyk7Cn0KCg==",
"commentary":"If Type(x) is Boolean and Type(y) is Object,\nreturn x == ToPrimitive(y)",
"description":"y is object, x is primitive boolean",
"path":"TestCases/ch11/11.9/11.9.1/S11.9.1_A7.3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGlzIE9iamVjdCBhbmQgVHlwZSh5KSBpcyBOdW1iZXIsCiAqIHJldHVybiBUb1ByaW1pdGl2ZSh4KSA9PSB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuOS8xMS45LjEvUzExLjkuMV9BNy40LmpzCiAqIEBkZXNjcmlwdGlvbiB4IGlzIG9iamVjdCwgeSBpcyBwcmltaXRpdmUgbnVtYmVyCiAqLwoKLy9DSEVDSyMxCmlmICgobmV3IEJvb2xlYW4odHJ1ZSkgPT0gMSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiAobmV3IEJvb2xlYW4odHJ1ZSkgPT0gMSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCmlmICgobmV3IE51bWJlcigtMSkgPT0gLTEpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogKG5ldyBOdW1iZXIoLTEpID09IC0xKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzMKaWYgKChuZXcgU3RyaW5nKCItMSIpID09IC0xKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IChuZXcgU3RyaW5nKCItMSIpID09IC0xKSA9PT0gdHJ1ZScpOwp9Cgo=",
"commentary":"If Type(x) is Object and Type(y) is Number,\nreturn ToPrimitive(x) == y",
"description":"x is object, y is primitive number",
"path":"TestCases/ch11/11.9/11.9.1/S11.9.1_A7.4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGlzIE51bWJlciBhbmQgVHlwZSh5KSBpcyBPYmplY3QsCiAqIHJldHVybiB4ID09IFRvUHJpbWl0aXZlKHkpCiAqCiAqIEBwYXRoIGNoMTEvMTEuOS8xMS45LjEvUzExLjkuMV9BNy41LmpzCiAqIEBkZXNjcmlwdGlvbiB5IGlzIG9iamVjdCwgeCBpcyBwcmltaXRpdmUgbnVtYmVyCiAqLwoKLy9DSEVDSyMxCmlmICgoMSA9PSBuZXcgQm9vbGVhbih0cnVlKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiAoMSA9PSBuZXcgQm9vbGVhbih0cnVlKSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCmlmICgoLTEgPT0gbmV3IE51bWJlcigtMSkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogKC0xID09IG5ldyBOdW1iZXIoLTEpKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzMKaWYgKCgtMSA9PSBuZXcgU3RyaW5nKCItMSIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6ICgtMSA9PSBuZXcgU3RyaW5nKCItMSIpKSA9PT0gdHJ1ZScpOwp9Cgo=",
"commentary":"If Type(x) is Number and Type(y) is Object,\nreturn x == ToPrimitive(y)",
"description":"y is object, x is primitive number",
"path":"TestCases/ch11/11.9/11.9.1/S11.9.1_A7.5.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGlzIE9iamVjdCBhbmQgVHlwZSh5KSBpcyBTdHJpbmcsCiAqIHJldHVybiBUb1ByaW1pdGl2ZSh4KSA9PSB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuOS8xMS45LjEvUzExLjkuMV9BNy42LmpzCiAqIEBkZXNjcmlwdGlvbiB4IGlzIG9iamVjdCwgeSBpcyBwcmltaXRpdmUgc3RyaW5nCiAqLwoKLy9DSEVDSyMxCmlmICgobmV3IEJvb2xlYW4odHJ1ZSkgPT0gIjEiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IChuZXcgQm9vbGVhbih0cnVlKSA9PSAiMSIpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKG5ldyBOdW1iZXIoLTEpID09ICItMSIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogKG5ldyBOdW1iZXIoLTEpID09ICItMSIpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKG5ldyBTdHJpbmcoIngiKSA9PSAieCIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogKG5ldyBTdHJpbmcoIngiKSA9PSAieCIpID09PSB0cnVlJyk7Cn0KCg==",
"commentary":"If Type(x) is Object and Type(y) is String,\nreturn ToPrimitive(x) == y",
"description":"x is object, y is primitive string",
"path":"TestCases/ch11/11.9/11.9.1/S11.9.1_A7.6.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGlzIFN0cmluZyBhbmQgVHlwZSh5KSBpcyBPYmplY3QsCiAqIHJldHVybiB4ID09IFRvUHJpbWl0aXZlKHkpCiAqCiAqIEBwYXRoIGNoMTEvMTEuOS8xMS45LjEvUzExLjkuMV9BNy43LmpzCiAqIEBkZXNjcmlwdGlvbiB5IGlzIG9iamVjdCwgeCBpcyBwcmltaXRpdmUgc3RyaW5nCiAqLwoKLy9DSEVDSyMxCmlmICgoIjEiID09IG5ldyBCb29sZWFuKHRydWUpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6ICgiMSIgPT0gbmV3IEJvb2xlYW4odHJ1ZSkpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKCItMSIgPT0gbmV3IE51bWJlcigtMSkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogKCItMSIgPT0gbmV3IE51bWJlcigtMSkpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKCJ4IiA9PSBuZXcgU3RyaW5nKCJ4IikpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogKCJ4IiA9PSBuZXcgU3RyaW5nKCJ4IikpID09PSB0cnVlJyk7Cn0KCg==",
"commentary":"If Type(x) is String and Type(y) is Object,\nreturn x == ToPrimitive(y)",
"description":"y is object, x is primitive string",
"path":"TestCases/ch11/11.9/11.9.1/S11.9.1_A7.7.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGlzIE9iamVjdCBhbmQgVHlwZSh5KSBpcyBwcmltaXRpdmUgdHlwZSwKICogcmV0dXJuIFRvUHJpbWl0aXZlKHgpID09IHkKICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuMS9TMTEuOS4xX0E3LjguanMKICogQGRlc2NyaXB0aW9uIHggaXMgb2JqZWN0LCB5IGlzIHByaW10aXRpdmUKICovCgovL0NIRUNLIzEKaWYgKCh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSA9PSB0cnVlKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6ICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSA9PSB0cnVlKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKCh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSA9PSAxKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6ICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSA9PSAxKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzMKaWYgKCh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0gPT0gIisxIikgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19ID09ICIrMSIpID09PSB0cnVlJyk7Cn0gCiAgCi8vQ0hFQ0sjNAp0cnkgewogIGlmICgoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAiKzEifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fSA9PSB0cnVlKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjNC4xOiAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAiKzEifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fSA9PSB0cnVlKSA9PT0gdHJ1ZScpOwogIH0KfQpjYXRjaCAoZSkgewogIGlmIChlID09PSAiZXJyb3IiKSB7CiAgICAkRVJST1IoJyM0LjI6ICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuICIrMSJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19ID09IHRydWUpIG5vdCB0aHJvdyAiZXJyb3IiJyk7CiAgfSBlbHNlIHsKICAgICRFUlJPUignIzQuMzogKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gIisxIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gPT0gdHJ1ZSkgbm90IHRocm93IEVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0KfQoKLy9DSEVDSyM1CmlmICgoe3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIisxIn19ID09IDEpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNTogKHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuICIrMSJ9fSA9PSAxKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzYKaWYgKCh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAiKzEifX0gPT0gIjEiKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM2LjE6ICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAiKzEifX0gPT0gIjEiKSA9PT0gZmFsc2UnKTsKfSBlbHNlIHsKICBpZiAoKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuICIrMSJ9fSA9PSAiKzEiKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjNi4yOiAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIisxIn19ID09ICIrMSIpID09PSB0cnVlJyk7CiAgfQp9CgovL0NIRUNLIzcKdHJ5IHsKICAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSA9PSAxKTsKICAkRVJST1IoJyM3LjE6ICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19ID09IDEpIHRocm93ICJlcnJvciIuIEFjdHVhbDogJyArICgoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSA9PSAxKSkpOwp9ICAKY2F0Y2ggKGUpIHsKICBpZiAoZSAhPT0gImVycm9yIikgewogICAgJEVSUk9SKCcjNy4yOiAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSA9PSAxKSB0aHJvdyAiZXJyb3IiLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gCn0KCi8vQ0hFQ0sjOAp0cnkgewogICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19ID09IDEpOwogICRFUlJPUignIzguMTogKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0gPT0gMSkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0gPT0gMSkpKTsKfSAgCmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjOC4yOiAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSA9PSAxKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfSAKfQoK",
"commentary":"If Type(x) is Object and Type(y) is primitive type,\nreturn ToPrimitive(x) == y",
"description":"x is object, y is primtitive",
"path":"TestCases/ch11/11.9/11.9.1/S11.9.1_A7.8.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGlzIHByaW1pdGl2ZSB0eXBlIGFuZCBUeXBlKHkpIGlzIE9iamVjdCwKICogcmV0dXJuIHggPT0gVG9QcmltaXRpdmUoeSkKICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuMS9TMTEuOS4xX0E3LjkuanMKICogQGRlc2NyaXB0aW9uIHkgaXMgb2JqZWN0LCB4IGlzIHByaW10aXRpdmUKICovCgovL0NIRUNLIzEKaWYgKCh0cnVlID09IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6ICh0cnVlID09IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKCgxID09IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6ICgxID09IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19KSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzMKaWYgKCgiKzEiID09IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiAoIisxIiA9PSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0pID09PSB0cnVlJyk7Cn0gCiAgCi8vQ0hFQ0sjNAp0cnkgewogIGlmICgodHJ1ZSA9PSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuICIrMSJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19KSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjNC4xOiAodHJ1ZSA9PSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuICIrMSJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19KSA9PT0gdHJ1ZScpOwogIH0KfQpjYXRjaCAoZSkgewogIGlmIChlID09PSAiZXJyb3IiKSB7CiAgICAkRVJST1IoJyM0LjI6ICh0cnVlID09IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gIisxIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0pIG5vdCB0aHJvdyAiZXJyb3IiJyk7CiAgfSBlbHNlIHsKICAgICRFUlJPUignIzQuMzogKHRydWUgPT0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAiKzEifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fSkgbm90IHRocm93IEVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0KfQoKLy9DSEVDSyM1CmlmICgoMSA9PSB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAiKzEifX0pICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNTogKDEgPT0ge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIisxIn19KSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzYKaWYgKCgiMSIgPT0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIisxIn19KSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM2LjE6ICgiMSIgPT0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIisxIn19KSA9PT0gZmFsc2UnKTsKfSBlbHNlIHsKICBpZiAoKCIrMSIgPT0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIisxIn19KSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjNi4yOiAoIisxIiA9PSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAiKzEifX0pID09PSB0cnVlJyk7CiAgfQp9CgovL0NIRUNLIzcKdHJ5IHsKICAoMSA9PSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KTsKICAkRVJST1IoJyM3LjE6ICgxID09IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0pIHRocm93ICJlcnJvciIuIEFjdHVhbDogJyArICgoMSA9PSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSkpOwp9ICAKY2F0Y2ggKGUpIHsKICBpZiAoZSAhPT0gImVycm9yIikgewogICAgJEVSUk9SKCcjNy4yOiAoMSA9PSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSB0aHJvdyAiZXJyb3IiLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gCn0KCi8vQ0hFQ0sjOAp0cnkgewogICgxID09IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0pOwogICRFUlJPUignIzguMTogKDEgPT0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoKDEgPT0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSkpKTsKfSAgCmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjOC4yOiAoMSA9PSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19KSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfSAKfQoK",
"commentary":"If Type(x) is primitive type and Type(y) is Object,\nreturn x == ToPrimitive(y)",
"description":"y is object, x is primtitive",
"path":"TestCases/ch11/11.9/11.9.1/S11.9.1_A7.9.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gRXF1YWxpdHlFeHByZXNzaW9uIGFuZCAiIT0iIG9yIGJldHdlZW4gIiE9IiBhbmQgUmVsYXRpb25hbEV4cHJlc3Npb24gYXJlIGFsbG93ZWQKICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuMi9TMTEuOS4yX0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBieSB1c2luZyBldmFsCiAqLwoKLy9DSEVDSyMxCmlmIChldmFsKCJ0cnVlXHUwMDA5IT1cdTAwMDkxIikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogKHRydWVcXHUwMDA5IT1cXHUwMDA5MSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoZXZhbCgidHJ1ZVx1MDAwQiE9XHUwMDBCMSIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6ICh0cnVlXFx1MDAwQiE9XFx1MDAwQjEpID09PSBmYWxzZScpOyAgCn0KCi8vQ0hFQ0sjMwppZiAoZXZhbCgidHJ1ZVx1MDAwQyE9XHUwMDBDMSIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6ICh0cnVlXFx1MDAwQyE9XFx1MDAwQzEpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzQKaWYgKGV2YWwoInRydWVcdTAwMjAhPVx1MDAyMDEiKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM0OiAodHJ1ZVxcdTAwMjAhPVxcdTAwMjAxKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM1CmlmIChldmFsKCJ0cnVlXHUwMEEwIT1cdTAwQTAxIikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogKHRydWVcXHUwMEEwIT1cXHUwMEEwMSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNgppZiAoZXZhbCgidHJ1ZVx1MDAwQSE9XHUwMDBBMSIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzY6ICh0cnVlXFx1MDAwQSE9XFx1MDAwQTEpID09PSBmYWxzZScpOyAgCn0KCi8vQ0hFQ0sjNwppZiAoZXZhbCgidHJ1ZVx1MDAwRCE9XHUwMDBEMSIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzc6ICh0cnVlXFx1MDAwRCE9XFx1MDAwRDEpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzgKaWYgKGV2YWwoInRydWVcdTIwMjghPVx1MjAyODEiKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM4OiAodHJ1ZVxcdTIwMjghPVxcdTIwMjgxKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM5CmlmIChldmFsKCJ0cnVlXHUyMDI5IT1cdTIwMjkxIikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjOTogKHRydWVcXHUyMDI5IT1cXHUyMDI5MSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMTAKaWYgKGV2YWwoInRydWVcdTAwMDlcdTAwMEJcdTAwMENcdTAwMjBcdTAwQTBcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjkhPVx1MDAwOVx1MDAwQlx1MDAwQ1x1MDAyMFx1MDBBMFx1MDAwQVx1MDAwRFx1MjAyOFx1MjAyOTEiKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxMDogKHRydWVcXHUwMDA5XFx1MDAwQlxcdTAwMENcXHUwMDIwXFx1MDBBMFxcdTAwMEFcXHUwMDBEXFx1MjAyOFxcdTIwMjkhPVxcdTAwMDlcXHUwMDBCXFx1MDAwQ1xcdTAwMjBcXHUwMEEwXFx1MDAwQVxcdTAwMERcXHUyMDI4XFx1MjAyOTEpID09PSBmYWxzZScpOwp9Cgo=",
"commentary":"White Space and Line Terminator between EqualityExpression and \"!=\" or between \"!=\" and RelationalExpression are allowed",
"description":"Checking by using eval",
"path":"TestCases/ch11/11.9/11.9.2/S11.9.2_A1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICE9IHkgdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS4yL1MxMS45LjJfQTIuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gRWl0aGVyIFR5cGUgaXMgbm90IFJlZmVyZW5jZSBvciBHZXRCYXNlIGlzIG5vdCBudWxsCiAqLwoKLy9DSEVDSyMxCmlmICgoMSAhPSAxKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiAoMSAhPSAxKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gMTsKaWYgKCh4ICE9IDEpICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6IHZhciB4ID0gMTsgKHggIT0gMSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwp2YXIgeSA9IDE7CmlmICgoMSAhPSB5KSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMzOiB2YXIgeSA9IDE7ICgxICE9IHkpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzQKdmFyIHggPSAxOwp2YXIgeSA9IDE7CmlmICgoeCAhPSB5KSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IDE7IHZhciB5ID0gMTsgKHggIT0geSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNQp2YXIgb2JqZWN0eCA9IG5ldyBPYmplY3QoKTsKdmFyIG9iamVjdHkgPSBuZXcgT2JqZWN0KCk7Cm9iamVjdHgucHJvcCA9IDE7Cm9iamVjdHkucHJvcCA9IDE7CmlmICgob2JqZWN0eC5wcm9wICE9IG9iamVjdHkucHJvcCkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogdmFyIG9iamVjdHggPSBuZXcgT2JqZWN0KCk7IHZhciBvYmplY3R5ID0gbmV3IE9iamVjdCgpOyBvYmplY3R4LnByb3AgPSAxOyBvYmplY3R5LnByb3AgPSAxOyAob2JqZWN0eC5wcm9wICE9IG9iamVjdHkucHJvcCkgPT09IGZhbHNlJyk7Cn0KCg==",
"commentary":"Operator x != y uses GetValue",
"description":"Either Type is not Reference or GetBase is not null",
"path":"TestCases/ch11/11.9/11.9.2/S11.9.2_A2.1_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICE9IHkgdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS4yL1MxMS45LjJfQTIuMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gSWYgR2V0QmFzZSh4KSBpcyBudWxsLCB0aHJvdyBSZWZlcmVuY2VFcnJvcgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHggIT0gMTsKICAkRVJST1IoJyMxLjE6IHggIT0gMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHggIT0gMSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogeCAhPSAxIHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9CgoK",
"commentary":"Operator x != y uses GetValue",
"description":"If GetBase(x) is null, throw ReferenceError",
"path":"TestCases/ch11/11.9/11.9.2/S11.9.2_A2.1_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICE9IHkgdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS4yL1MxMS45LjJfQTIuMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gSWYgR2V0QmFzZSh5KSBpcyBudWxsLCB0aHJvdyBSZWZlcmVuY2VFcnJvcgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIDEgIT0geTsKICAkRVJST1IoJyMxOiAxICE9IHkgdGhyb3cgUmVmZXJlbmNlRXJyb3InKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IDEgIT0geSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoKCg==",
"commentary":"Operator x != y uses GetValue",
"description":"If GetBase(y) is null, throw ReferenceError",
"path":"TestCases/ch11/11.9/11.9.2/S11.9.2_A2.1_T3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuMi9TMTEuOS4yX0EyLjRfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggIj0iCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gMDsgCmlmICgoKHggPSAxKSAhPSB4KSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IDA7ICgoeCA9IDEpICE9IHgpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAwOyAKaWYgKCh4ICE9ICh4ID0gMSkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSAwOyAoeCAhPSAoeCA9IDEpKSA9PT0gdHJ1ZScpOwp9CgoK",
"commentary":"First expression is evaluated first, and then second expression",
"description":"Checking with \"=\"",
"path":"TestCases/ch11/11.9/11.9.2/S11.9.2_A2.4_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuMi9TMTEuOS4yX0EyLjRfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggInRocm93IgogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9Owp2YXIgeSA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9Owp0cnkgewogICB4KCkgIT0geSgpOwogICAkRVJST1IoJyMxLjE6IHZhciB4ID0gZnVuY3Rpb24gKCkgeyB0aHJvdyAieCI7IH07IHZhciB5ID0gZnVuY3Rpb24gKCkgeyB0aHJvdyAieSI7IH07IHgoKSAhPSB5KCkgdGhyb3cgIngiLiBBY3R1YWw6ICcgKyAoeCgpICE9IHkoKSkpOwp9IGNhdGNoIChlKSB7CiAgIGlmIChlID09PSAieSIpIHsKICAgICAkRVJST1IoJyMxLjI6IEZpcnN0IGV4cHJlc3Npb24gaXMgZXZhbHVhdGVkIGZpcnN0LCBhbmQgdGhlbiBzZWNvbmQgZXhwcmVzc2lvbicpOwogICB9IGVsc2UgewogICAgIGlmIChlICE9PSAieCIpIHsKICAgICAgICRFUlJPUignIzEuMzogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpICE9IHkoKSB0aHJvdyAieCIuIEFjdHVhbDogJyArIChlKSk7CiAgICAgfQogICB9Cn0KCg==",
"commentary":"First expression is evaluated first, and then second expression",
"description":"Checking with \"throw\"",
"path":"TestCases/ch11/11.9/11.9.2/S11.9.2_A2.4_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuMi9TMTEuOS4yX0EyLjRfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggdW5kZWNsYXJhdGVkIHZhcmlhYmxlcwogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHggIT0gKHggPSAxKTsKICAkRVJST1IoJyMxLjE6IHggIT0gKHggPSAxKSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHggIT0gKHggPSAxKSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogeCAhPSAoeCA9IDEpIHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9CgovL0NIRUNLIzIKaWYgKCgoeSA9IDEpICE9IHkpICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6ICgoeSA9IDEpICE9IHkpID09PSBmYWxzZScpOwp9CgoK",
"commentary":"First expression is evaluated first, and then second expression",
"description":"Checking with undeclarated variables",
"path":"TestCases/ch11/11.9/11.9.2/S11.9.2_A2.4_T3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZXR1cm4gZmFsc2UsIGlmIHggYW5kIHkgYXJlIGJvdGggdHJ1ZSBvciBib3RoIGZhbHNlOyBvdGhlcndpc2UsIHJldHVybiB0cnVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOS8xMS45LjIvUzExLjkuMl9BMy4xLmpzCiAqIEBkZXNjcmlwdGlvbiB4IGFuZCB5IGFyZSBib29sZWFuIHByaW1pdGl2ZXMKICovCgovL0NIRUNLIzEKaWYgKCh0cnVlICE9IHRydWUpICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6ICh0cnVlICE9IHRydWUpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYgKChmYWxzZSAhPSBmYWxzZSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogKGZhbHNlICE9IGZhbHNlKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMzCmlmICgodHJ1ZSAhPSBmYWxzZSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiAodHJ1ZSAhPSBmYWxzZSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM0CmlmICgoZmFsc2UgIT0gdHJ1ZSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiAoZmFsc2UgIT0gdHJ1ZSkgPT09IHRydWUnKTsKfQoK",
"commentary":"Return false, if x and y are both true or both false; otherwise, return true",
"description":"x and y are boolean primitives",
"path":"TestCases/ch11/11.9/11.9.2/S11.9.2_A3.1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGlzIEJvb2xlYW4gYW5kIFR5cGUoeSkgaXMgTnVtYmVyLAogKiByZXR1cm4gdGhlIHJlc3VsdCBvZiBjb21wYXJpc29uIFRvTnVtYmVyKHgpICE9IHkKICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuMi9TMTEuOS4yX0EzLjIuanMKICogQGRlc2NyaXB0aW9uIHggaXMgcHJpbWl0aXZlIGJvb2xlYW4sIHkgaXMgcHJpbWl0aXZlIG51bWJlcgogKi8KCi8vQ0hFQ0sjMQppZiAoKHRydWUgIT0gMSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogKHRydWUgIT0gMSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKGZhbHNlICE9ICIwIikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogKGZhbHNlICE9ICIwIikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKHRydWUgIT0gbmV3IEJvb2xlYW4odHJ1ZSkpICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6ICh0cnVlICE9IG5ldyBCb29sZWFuKHRydWUpKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM0CmlmICgodHJ1ZSAhPSB7dmFsdWVPZjogZnVuY3Rpb24gKCkge3JldHVybiAxfX0pICE9PSBmYWxzZSkgewogICRFUlJPUignIzQ6ICh0cnVlICE9IHt2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7cmV0dXJuIDF9fSkgPT09IGZhbHNlJyk7Cn0KCgo=",
"commentary":"If Type(x) is Boolean and Type(y) is Number,\nreturn the result of comparison ToNumber(x) != y",
"description":"x is primitive boolean, y is primitive number",
"path":"TestCases/ch11/11.9/11.9.2/S11.9.2_A3.2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHkpIGlzIE51bWJlciBhbmQgVHlwZSh5KSBpcyBCb29sZWFuLAogKiByZXR1cm4gdGhlIHJlc3VsdCBvZiBjb21wYXJpc29uIHggIT0gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuMi9TMTEuOS4yX0EzLjMuanMKICogQGRlc2NyaXB0aW9uIHggaXMgcHJpbWl0aXZlIG51bWJlciwgeSBpcyBwcmltaXRpdmUgYm9vbGVhbgogKi8KCi8vQ0hFQ0sjMQppZiAoKDAgIT0gZmFsc2UpICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6ICgwICE9IGZhbHNlKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyCmlmICgoIjEiICE9IHRydWUpICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6ICgiMSIgIT0gdHJ1ZSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKG5ldyBCb29sZWFuKGZhbHNlKSAhPSBmYWxzZSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMzogKG5ldyBCb29sZWFuKGZhbHNlKSAhPSBmYWxzZSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKHt2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7cmV0dXJuICIwIn19ICE9IGZhbHNlKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM0OiAoe3ZhbHVlT2Y6IGZ1bmN0aW9uICgpIHtyZXR1cm4gIjAifX0gIT0gZmFsc2UpID09PSBmYWxzZScpOwp9Cgo=",
"commentary":"If Type(y) is Number and Type(y) is Boolean,\nreturn the result of comparison x != ToNumber(y)",
"description":"x is primitive number, y is primitive boolean",
"path":"TestCases/ch11/11.9/11.9.2/S11.9.2_A3.3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IG9yIHkgaXMgTmFOLCByZXR1cm4gdHJ1ZQogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS4yL1MxMS45LjJfQTQuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24geCBpcyBOYU4KICovCgovL0NIRUNLIzEKaWYgKChOdW1iZXIuTmFOICE9IHRydWUpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogKE5hTiAhPSB0cnVlKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKChOdW1iZXIuTmFOICE9IDEpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogKE5hTiAhPSAxKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzMKaWYgKChOdW1iZXIuTmFOICE9IE51bWJlci5OYU4pICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogKE5hTiAhPSBOYU4pID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKE51bWJlci5OYU4gIT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6IChOYU4gIT0gK0luZmluaXR5KSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzUKaWYgKChOdW1iZXIuTmFOICE9IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiAoTmFOICE9IC1JbmZpbml0eSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM2CmlmICgoTnVtYmVyLk5hTiAhPSBOdW1iZXIuTUFYX1ZBTFVFKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzY6IChOYU4gIT0gTnVtYmVyLk1BWF9WQUxVRSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM3CmlmICgoTnVtYmVyLk5hTiAhPSBOdW1iZXIuTUlOX1ZBTFVFKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzc6IChOYU4gIT0gTnVtYmVyLk1JTl9WQUxVRSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM4CmlmICgoTnVtYmVyLk5hTiAhPSAic3RyaW5nIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM4OiAoTmFOICE9ICJzdHJpbmciKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzkKaWYgKChOdW1iZXIuTmFOICE9IG5ldyBPYmplY3QoKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM5OiAoTmFOICE9IG5ldyBPYmplY3QoKSkgPT09IHRydWUnKTsKfQoKCg==",
"commentary":"If x or y is NaN, return true",
"description":"x is NaN",
"path":"TestCases/ch11/11.9/11.9.2/S11.9.2_A4.1_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IG9yIHkgaXMgTmFOLCByZXR1cm4gdHJ1ZQogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS4yL1MxMS45LjJfQTQuMV9UMi5qcwogKiBAZGVzY3JpcHRpb24geSBpcyBOYU4KICovCgovL0NIRUNLIzEKaWYgKCh0cnVlICE9IE51bWJlci5OYU4pICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogKHRydWUgIT0gTmFOKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKCgtMSAhPSBOdW1iZXIuTmFOKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6ICgtMSAhPSBOYU4pID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKE51bWJlci5OYU4gIT0gTnVtYmVyLk5hTikgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiAoTmFOICE9IE5hTikgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM0CmlmICgoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZICE9IE51bWJlci5OYU4pICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogKCtJbmZpbml0eSAhPSBOYU4pID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSAhPSBOdW1iZXIuTmFOKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzU6ICgtSW5maW5pdHkgIT0gTmFOKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzYKaWYgKChOdW1iZXIuTUFYX1ZBTFVFICE9IE51bWJlci5OYU4pICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNjogKE51bWJlci5NQVhfVkFMVUUgIT0gTmFOKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzcKaWYgKChOdW1iZXIuTUlOX1ZBTFVFICE9IE51bWJlci5OYU4pICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNzogKE51bWJlci5NSU5fVkFMVUUgIT0gTmFOKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzgKaWYgKCgic3RyaW5nIiAhPSBOdW1iZXIuTmFOKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzg6ICgic3RyaW5nIiAhPSBOYU4pID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjOQppZiAoKG5ldyBPYmplY3QoKSAhPSBOdW1iZXIuTmFOKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzk6IChuZXcgT2JqZWN0KCkgIT0gTmFOKSA9PT0gdHJ1ZScpOwp9Cgo=",
"commentary":"If x or y is NaN, return true",
"description":"y is NaN",
"path":"TestCases/ch11/11.9/11.9.2/S11.9.2_A4.1_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzICswKC0wKSBhbmQgeSBpcyAtMCgrMCksIHJldHVybiBmYWxzZQogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS4yL1MxMS45LjJfQTQuMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYWxsIGNvbWJpbmF0aW9ucwogKi8KCi8vQ0hFQ0sjMQppZiAoKCswICE9IC0wKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiAoKzAgIT0gLTApID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYgKCgtMCAhPSArMCkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogKC0wICE9ICswKSA9PT0gZmFsc2UnKTsKfQoK",
"commentary":"If x is +0(-0) and y is -0(+0), return false",
"description":"Checking all combinations",
"path":"TestCases/ch11/11.9/11.9.2/S11.9.2_A4.2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUeXBlKHgpIGFuZCBUeXBlKHkpIGFyZSBOdW1iZXItcyBtaW51cyBOYU4sICswLCAtMC4KICogUmV0dXJuIGZhbHNlLCBpZiB4IGlzIHRoZSBzYW1lIG51bWJlciB2YWx1ZSBhcyB5OyBvdGhlcndpc2UsIHJldHVybiB0cnVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOS8xMS45LjIvUzExLjkuMl9BNC4zLmpzCiAqIEBkZXNjcmlwdGlvbiB4IGFuZCB5IGFyZSBwcmltaXRpdmUgbnVtYmVycwogKi8KCi8vQ0hFQ0sjMQppZiAoKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSAhPSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6ICgrSW5maW5pdHkgIT0gK0luZmluaXR5KSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyCmlmICgoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZICE9IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogKC1JbmZpbml0eSAhPSAtSW5maW5pdHkpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzMKaWYgKChOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgIT0gLU51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMzogKCtJbmZpbml0eSAhPSAtKC1JbmZpbml0eSkpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzQKaWYgKCgxICE9IDAuOTk5OTk5OTk5OTk5KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6ICgxICE9IDAuOTk5OTk5OTk5OTk5KSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzUKaWYgKCgxLjAgIT0gMSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogKDEuMCAhPSAxKSA9PT0gZmFsc2UnKTsKfQoK",
"commentary":"Type(x) and Type(y) are Number-s minus NaN, +0, -0.\nReturn false, if x is the same number value as y; otherwise, return true",
"description":"x and y are primitive numbers",
"path":"TestCases/ch11/11.9/11.9.2/S11.9.2_A4.3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUeXBlKHgpIGFuZCBUeXBlKHkpIGFyZSBTdHJpbmctcy4KICogUmV0dXJuIHRydWUsIGlmIHggYW5kIHkgYXJlIGV4YWN0bHkgdGhlIHNhbWUgc2VxdWVuY2Ugb2YgY2hhcmFjdGVyczsgb3RoZXJ3aXNlLCByZXR1cm4gZmFsc2UKICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuMi9TMTEuOS4yX0E1LjEuanMKICogQGRlc2NyaXB0aW9uIHggYW5kIHkgYXJlIHByaW1pdGl2ZSBzdHJpbmdzCiAqLwoKLy9DSEVDSyMxCmlmICgoIiIgIT0gIiIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6ICgiIiAhPSAiIikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKCIgIiAhPSAiICIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6ICIgKCIgIT0gIiAiKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMzCmlmICgoIiAiICE9ICIiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6ICIgKCIgIT0gIiIpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKCJzdHJpbmciICE9ICJzdHJpbmciKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM0OiAoInN0cmluZyIgIT0gInN0cmluZyIpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzUKaWYgKCgiIHN0cmluZyIgIT0gInN0cmluZyAiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzU6ICgiIHN0cmluZyIgIT0gInN0cmluZyAiKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzYKaWYgKCgiMS4wIiAhPSAiMSIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNjogKCIxLjAiICE9ICIxIikgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM3CmlmICgoIjB4ZmYiICE9ICIyNTUiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzc6ICgiMHhmZiIgIT0gIjI1NSIpID09PSB0cnVlJyk7Cn0KCg==",
"commentary":"Type(x) and Type(y) are String-s.\nReturn true, if x and y are exactly the same sequence of characters; otherwise, return false",
"description":"x and y are primitive strings",
"path":"TestCases/ch11/11.9/11.9.2/S11.9.2_A5.1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGlzIE51bWJlciBhbmQgVHlwZSh5KSBpcyBTdHJpbmcsCiAqIHJldHVybiB0aGUgcmVzdWx0IG9mIGNvbXBhcmlzb24geCAhPSBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS4yL1MxMS45LjJfQTUuMi5qcwogKiBAZGVzY3JpcHRpb24geCBpcyBwcmltaXRpdmUgbnVtYmVyLCB5IGlzIHByaW1pdGl2ZSBzdHJpbmcKICovCgovL0NIRUNLIzEKaWYgKCgxICE9ICIxIikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogKDEgIT0gIjEiKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyCmlmICgoMS4xMDAgIT0gIisxLjEwIikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogKDEuMTAwICE9ICIrMS4xMCIpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzMKaWYgKCgxICE9ICJ0cnVlIikgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiAoMSAhPSAidHJ1ZSIpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKDI1NSAhPSAiMHhmZiIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzQ6ICgyNTUgIT0gIjB4ZmYiKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM1CmlmICgoMCAhPSAiIikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogKDAgIT0gIiIpID09PSBmYWxzZScpOwp9Cgo=",
"commentary":"If Type(x) is Number and Type(y) is String,\nreturn the result of comparison x != ToNumber(y)",
"description":"x is primitive number, y is primitive string",
"path":"TestCases/ch11/11.9/11.9.2/S11.9.2_A5.2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGlzIFN0cmluZyBhbmQgVHlwZSh5KSBpcyBOdW1iZXIsCiAqIHJldHVybiB0aGUgcmVzdWx0IG9mIGNvbXBhcmlzb24gVG9OdW1iZXIoeCkgIT0geQogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS4yL1MxMS45LjJfQTUuMy5qcwogKiBAZGVzY3JpcHRpb24geCBpcyBwcmltaXRpdmUgc3RyaW5nLCB5IGlzIHByaW1pdGl2ZSBudW1iZXIKICovCgovL0NIRUNLIzEKaWYgKCgiLTEiICE9IC0xKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiAoIi0xIiAhPSAtMSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKCItMS4xMDAiICE9IC0xLjEwKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMyOiAoIi0xLjEwMCIgIT0gLTEuMTApID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzMKaWYgKCgiZmFsc2UiICE9IDApICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogKCJmYWxzZSIgIT0gMCkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM0CmlmICgoIjVlLTMyNCIgIT0gNWUtMzI0KSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM0OiAoIjVlLTMyNCIgIT0gNWUtMzI0KSA9PT0gZmFsc2UnKTsKfQoKCg==",
"commentary":"If Type(x) is String and Type(y) is Number,\nreturn the result of comparison ToNumber(x) != y",
"description":"x is primitive string, y is primitive number",
"path":"TestCases/ch11/11.9/11.9.2/S11.9.2_A5.3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGFzIHdlbGwgYXMgVHlwZSh5KSBpcyBVbmRlZmluZWQgb3IgTnVsbCwgcmV0dXJuIHRydWUKICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuMi9TMTEuOS4yX0E2LjEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGFsbCBjb21iaW5hdGlvbnMKICovCgovL0NIRUNLIzEKaWYgKCh1bmRlZmluZWQgIT0gdW5kZWZpbmVkKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiAodW5kZWZpbmVkICE9IHVuZGVmaW5lZCkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKHZvaWQgMCAhPSB1bmRlZmluZWQpICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6ICh2b2lkIDAgIT0gdW5kZWZpbmVkKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMzCmlmICgodW5kZWZpbmVkICE9IGV2YWwoInZhciB4IikpICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6ICh1bmRlZmluZWQgIT0gZXZhbCgidmFyIHgiKSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKHVuZGVmaW5lZCAhPSBudWxsKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM0OiAodW5kZWZpbmVkICE9IG51bGwpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzUKaWYgKChudWxsICE9IHZvaWQgMCkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogKG51bGwgIT0gdm9pZCAwKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM2CmlmICgobnVsbCAhPSBudWxsKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM2OiAobnVsbCAhPSBudWxsKSA9PT0gZmFsc2UnKTsKfQoK",
"commentary":"If Type(x) as well as Type(y) is Undefined or Null, return true",
"description":"Checking all combinations",
"path":"TestCases/ch11/11.9/11.9.2/S11.9.2_A6.1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBvbmUgZXhwcmVzc2lvbiBpcyB1bmRlZmluZWQgb3IgbnVsbCBhbmQgYW5vdGhlciBpcyBub3QsIHJldHVybiBmYWxzZQogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS4yL1MxMS45LjJfQTYuMl9UMS5qcwogKiBAZGVzY3JpcHRpb24geCBpcyBudWxsIG9yIHVuZGVmaW5lZCwgeSBpcyBub3QKICovCgovL0NIRUNLIzEKaWYgKCh1bmRlZmluZWQgIT0gdHJ1ZSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiAodW5kZWZpbmVkICE9IHRydWUpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKHVuZGVmaW5lZCAhPSAwKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6ICh1bmRlZmluZWQgIT0gMCkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMzCmlmICgodW5kZWZpbmVkICE9ICJ1bmRlZmluZWQiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6ICh1bmRlZmluZWQgIT0gInVuZGVmaW5lZCIpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKHVuZGVmaW5lZCAhPSB7fSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiAodW5kZWZpbmVkICE9IHt9KSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzUKaWYgKChudWxsICE9IGZhbHNlKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzU6IChudWxsICE9IGZhbHNlKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzYKaWYgKChudWxsICE9IDApICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNjogKG51bGwgIT0gMCkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM3CmlmICgobnVsbCAhPSAibnVsbCIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNzogKG51bGwgIT0gIm51bGwiKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzgKaWYgKChudWxsICE9IHt9KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzg6IChudWxsICE9IHt9KSA9PT0gdHJ1ZScpOwp9Cgo=",
"commentary":"If one expression is undefined or null and another is not, return false",
"description":"x is null or undefined, y is not",
"path":"TestCases/ch11/11.9/11.9.2/S11.9.2_A6.2_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBvbmUgZXhwcmVzc2lvbiBpcyB1bmRlZmluZWQgb3IgbnVsbCBhbmQgYW5vdGhlciBpcyBub3QsIHJldHVybiBmYWxzZQogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS4yL1MxMS45LjJfQTYuMl9UMi5qcwogKiBAZGVzY3JpcHRpb24geSBpcyBudWxsIG9yIHVuZGVmaW5lZCwgeCBpcyBub3QKICovCgovL0NIRUNLIzEKaWYgKChmYWxzZSAhPSB1bmRlZmluZWQpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogKGZhbHNlICE9IHVuZGVmaW5lZCkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCmlmICgoTnVtYmVyLk5hTiAhPSB1bmRlZmluZWQpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogKE51bWJlci5OYU4gIT0gdW5kZWZpbmVkKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzMKaWYgKCgidW5kZWZpbmVkIiAhPSB1bmRlZmluZWQpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogKCJ1bmRlZmluZWQiICE9IHVuZGVmaW5lZCkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM0CmlmICgoe30gIT0gdW5kZWZpbmVkKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6ICh7fSAhPSB1bmRlZmluZWQpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoKGZhbHNlICE9IG51bGwpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNTogKGZhbHNlICE9IG51bGwpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNgppZiAoKDAgIT0gbnVsbCkgIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiAoMCAhPSBudWxsKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzcKaWYgKCgibnVsbCIgIT0gbnVsbCkgIT09IHRydWUpIHsKICAkRVJST1IoJyM3OiAoIm51bGwiICE9IG51bGwpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjOAppZiAoKHt9ICE9IG51bGwpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjODogKHt9ICE9IG51bGwpID09PSB0cnVlJyk7Cn0KCg==",
"commentary":"If one expression is undefined or null and another is not, return false",
"description":"y is null or undefined, x is not",
"path":"TestCases/ch11/11.9/11.9.2/S11.9.2_A6.2_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUeXBlKHgpIGFuZCBUeXBlKHkpIGFyZSBPYmplY3Qtcy4KICogUmV0dXJuIHRydWUsIGlmIHggYW5kIHkgYXJlIHJlZmVyZW5jZXMgdG8gdGhlIHNhbWUgT2JqZWN0OyBvdGhlcndpc2UsIHJldHVybiBmYWxzZQogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS4yL1MxMS45LjJfQTcuMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgQm9vbGVhbiBvYmplY3QsIE51bWJlciBvYmplY3QsIFN0cmluZyBvYmplY3QsIE9iamVjdCBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKChuZXcgQm9vbGVhbih0cnVlKSAhPSBuZXcgQm9vbGVhbih0cnVlKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiAobmV3IEJvb2xlYW4odHJ1ZSkgIT0gbmV3IEJvb2xlYW4odHJ1ZSkpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKG5ldyBOdW1iZXIoMSkgIT0gbmV3IE51bWJlcigxKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiAobmV3IE51bWJlcigxKSAhPSBuZXcgTnVtYmVyKDEpKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzMKaWYgKChuZXcgU3RyaW5nKCJ4IikgIT0gbmV3IFN0cmluZygieCIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IChuZXcgU3RyaW5nKCJ4IikgIT0gbmV3IFN0cmluZygieCIpKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzQKaWYgKChuZXcgT2JqZWN0KCkgIT0gbmV3IE9iamVjdCgpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6IChuZXcgT2JqZWN0KCkgIT0gbmV3IE9iamVjdCgpKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzUKeCA9IHt9OyAKeSA9IHg7CmlmICgoeCAhPSB5KSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM1OiB4ID0ge307IHkgPSB4OyAoeCAhPSB5KSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM2CmlmICgobmV3IEJvb2xlYW4odHJ1ZSkgIT0gbmV3IE51bWJlcigxKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM2IChuZXcgQm9vbGVhbih0cnVlKSAhPSBuZXcgTnVtYmVyKDEpKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzcKaWYgKChuZXcgTnVtYmVyKDEpICE9IG5ldyBTdHJpbmcoIjEiKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM3OiAobmV3IE51bWJlcigxKSAhPSBuZXcgU3RyaW5nKCIxIikpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjOAppZiAoKG5ldyBTdHJpbmcoIjEiKSAhPSBuZXcgQm9vbGVhbih0cnVlKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM4OiAobmV3IFN0cmluZygieCIpICE9IG5ldyBCb29sZWFuKHRydWUpKSA9PT0gdHJ1ZScpOwp9Cgo=",
"commentary":"Type(x) and Type(y) are Object-s.\nReturn true, if x and y are references to the same Object; otherwise, return false",
"description":"Checking Boolean object, Number object, String object, Object object",
"path":"TestCases/ch11/11.9/11.9.2/S11.9.2_A7.1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGlzIE9iamVjdCBhbmQgVHlwZSh5KSBpcyBCb29sZWFuLAogKiByZXR1cm4gVG9QcmltaXRpdmUoeCkgIT0geQogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS4yL1MxMS45LjJfQTcuMi5qcwogKiBAZGVzY3JpcHRpb24geCBpcyBvYmplY3QsIHkgaXMgcHJpbWl0aXZlIGJvb2xlYW4KICovCgovL0NIRUNLIzEKaWYgKChuZXcgQm9vbGVhbih0cnVlKSAhPSB0cnVlKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiAobmV3IEJvb2xlYW4odHJ1ZSkgIT0gdHJ1ZSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKG5ldyBOdW1iZXIoMSkgIT0gdHJ1ZSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogKG5ldyBOdW1iZXIoMSkgIT0gdHJ1ZSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKG5ldyBTdHJpbmcoIjEiKSAhPSB0cnVlKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMzOiAobmV3IFN0cmluZygiMSIpICE9IHRydWUpID09PSBmYWxzZScpOwp9Cgo=",
"commentary":"If Type(x) is Object and Type(y) is Boolean,\nreturn ToPrimitive(x) != y",
"description":"x is object, y is primitive boolean",
"path":"TestCases/ch11/11.9/11.9.2/S11.9.2_A7.2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGlzIEJvb2xlYW4gYW5kIFR5cGUoeSkgaXMgT2JqZWN0LAogKiByZXR1cm4geCAhPSBUb1ByaW1pdGl2ZSh5KQogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS4yL1MxMS45LjJfQTcuMy5qcwogKiBAZGVzY3JpcHRpb24geSBpcyBvYmplY3QsIHggaXMgcHJpbWl0aXZlIGJvb2xlYW4KICovCgovL0NIRUNLIzEKaWYgKCh0cnVlICE9IG5ldyBCb29sZWFuKHRydWUpKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiAodHJ1ZSAhPSBuZXcgQm9vbGVhbih0cnVlKSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKHRydWUgIT0gbmV3IE51bWJlcigxKSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogKHRydWUgIT0gbmV3IE51bWJlcigxKSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKHRydWUgIT0gbmV3IFN0cmluZygiKzEiKSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMzogKHRydWUgIT0gbmV3IFN0cmluZygiKzEiKSkgPT09IGZhbHNlJyk7Cn0KCg==",
"commentary":"If Type(x) is Boolean and Type(y) is Object,\nreturn x != ToPrimitive(y)",
"description":"y is object, x is primitive boolean",
"path":"TestCases/ch11/11.9/11.9.2/S11.9.2_A7.3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGlzIE9iamVjdCBhbmQgVHlwZSh5KSBpcyBOdW1iZXIsCiAqIHJldHVybiBUb1ByaW1pdGl2ZSh4KSAhPSB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuOS8xMS45LjIvUzExLjkuMl9BNy40LmpzCiAqIEBkZXNjcmlwdGlvbiB4IGlzIG9iamVjdCwgeSBpcyBwcmltaXRpdmUgbnVtYmVyCiAqLwoKLy9DSEVDSyMxCmlmICgobmV3IEJvb2xlYW4odHJ1ZSkgIT0gMSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogKG5ldyBCb29sZWFuKHRydWUpICE9IDEpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYgKChuZXcgTnVtYmVyKC0xKSAhPSAtMSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogKG5ldyBOdW1iZXIoLTEpICE9IC0xKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMzCmlmICgobmV3IFN0cmluZygiLTEiKSAhPSAtMSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMzogKG5ldyBTdHJpbmcoIi0xIikgIT0gLTEpID09PSBmYWxzZScpOwp9Cgo=",
"commentary":"If Type(x) is Object and Type(y) is Number,\nreturn ToPrimitive(x) != y",
"description":"x is object, y is primitive number",
"path":"TestCases/ch11/11.9/11.9.2/S11.9.2_A7.4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGlzIE51bWJlciBhbmQgVHlwZSh5KSBpcyBPYmplY3QsCiAqIHJldHVybiB4ICE9IFRvUHJpbWl0aXZlKHkpCiAqCiAqIEBwYXRoIGNoMTEvMTEuOS8xMS45LjIvUzExLjkuMl9BNy41LmpzCiAqIEBkZXNjcmlwdGlvbiB5IGlzIG9iamVjdCwgeCBpcyBwcmltaXRpdmUgbnVtYmVyCiAqLwoKLy9DSEVDSyMxCmlmICgoMSAhPSBuZXcgQm9vbGVhbih0cnVlKSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogKDEgIT0gbmV3IEJvb2xlYW4odHJ1ZSkpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYgKCgtMSAhPSBuZXcgTnVtYmVyKC0xKSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogKC0xICE9IG5ldyBOdW1iZXIoLTEpKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMzCmlmICgoLTEgIT0gbmV3IFN0cmluZygiLTEiKSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMzogKC0xICE9IG5ldyBTdHJpbmcoIi0xIikpID09PSBmYWxzZScpOwp9Cgo=",
"commentary":"If Type(x) is Number and Type(y) is Object,\nreturn x != ToPrimitive(y)",
"description":"y is object, x is primitive number",
"path":"TestCases/ch11/11.9/11.9.2/S11.9.2_A7.5.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGlzIE9iamVjdCBhbmQgVHlwZSh5KSBpcyBTdHJpbmcsCiAqIHJldHVybiBUb1ByaW1pdGl2ZSh4KSAhPSB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuOS8xMS45LjIvUzExLjkuMl9BNy42LmpzCiAqIEBkZXNjcmlwdGlvbiB4IGlzIG9iamVjdCwgeSBpcyBwcmltaXRpdmUgc3RyaW5nCiAqLwoKLy9DSEVDSyMxCmlmICgobmV3IEJvb2xlYW4odHJ1ZSkgIT0gIjEiKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiAobmV3IEJvb2xlYW4odHJ1ZSkgIT0gIjEiKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyCmlmICgobmV3IE51bWJlcigtMSkgIT0gIi0xIikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogKG5ldyBOdW1iZXIoLTEpICE9ICItMSIpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzMKaWYgKChuZXcgU3RyaW5nKCJ4IikgIT0gIngiKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMzOiAobmV3IFN0cmluZygieCIpICE9ICJ4IikgPT09IGZhbHNlJyk7Cn0KCg==",
"commentary":"If Type(x) is Object and Type(y) is String,\nreturn ToPrimitive(x) != y",
"description":"x is object, y is primitive string",
"path":"TestCases/ch11/11.9/11.9.2/S11.9.2_A7.6.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGlzIFN0cmluZyBhbmQgVHlwZSh5KSBpcyBPYmplY3QsCiAqIHJldHVybiB4ICE9IFRvUHJpbWl0aXZlKHkpCiAqCiAqIEBwYXRoIGNoMTEvMTEuOS8xMS45LjIvUzExLjkuMl9BNy43LmpzCiAqIEBkZXNjcmlwdGlvbiB5IGlzIG9iamVjdCwgeCBpcyBwcmltaXRpdmUgc3RyaW5nCiAqLwoKLy9DSEVDSyMxCmlmICgoIjEiICE9IG5ldyBCb29sZWFuKHRydWUpKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiAoIjEiICE9IG5ldyBCb29sZWFuKHRydWUpKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyCmlmICgoIi0xIiAhPSBuZXcgTnVtYmVyKC0xKSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogKCItMSIgIT0gbmV3IE51bWJlcigtMSkpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzMKaWYgKCgieCIgIT0gbmV3IFN0cmluZygieCIpKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMzOiAoIngiICE9IG5ldyBTdHJpbmcoIngiKSkgPT09IGZhbHNlJyk7Cn0KCg==",
"commentary":"If Type(x) is String and Type(y) is Object,\nreturn x != ToPrimitive(y)",
"description":"y is object, x is primitive string",
"path":"TestCases/ch11/11.9/11.9.2/S11.9.2_A7.7.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGlzIE9iamVjdCBhbmQgVHlwZSh5KSBpcyBwcmltaXRpdmUgdHlwZSwKICogcmV0dXJuIFRvUHJpbWl0aXZlKHgpICE9IHkKICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuMi9TMTEuOS4yX0E3LjguanMKICogQGRlc2NyaXB0aW9uIHggaXMgb2JqZWN0LCB5IGlzIHByaW10aXRpdmUKICovCgovL0NIRUNLIzEKaWYgKCh0cnVlICE9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiAodHJ1ZSAhPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKDEgIT0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX0pICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6ICgxICE9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19KSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMzCmlmICgoIisxIiAhPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0pICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6ICgiKzEiICE9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSkgPT09IGZhbHNlJyk7Cn0gCiAgCi8vQ0hFQ0sjNAp0cnkgewogIGlmICgodHJ1ZSAhPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuICIrMSJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19KSAhPT0gZmFsc2UpIHsKICAgICRFUlJPUignIzQuMTogKHRydWUgIT0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAiKzEifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fSkgPT09IGZhbHNlJyk7CiAgfQp9CmNhdGNoIChlKSB7CiAgaWYgKGUgPT09ICJlcnJvciIpIHsKICAgICRFUlJPUignIzQuMjogKHRydWUgIT0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAiKzEifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fSkgbm90IHRocm93ICJlcnJvciInKTsKICB9IGVsc2UgewogICAgJEVSUk9SKCcjNC4zOiAodHJ1ZSAhPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuICIrMSJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19KSBub3QgdGhyb3cgRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9CgovL0NIRUNLIzUKaWYgKCgxICE9IHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuICIrMSJ9fSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogKDEgIT0ge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIisxIn19KSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM2CmlmICgoIjEiICE9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuICIrMSJ9fSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM2LjE6ICgiMSIgIT0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIisxIn19KSA9PT0gdHJ1ZScpOwp9IGVsc2UgewogIGlmICgoIisxIiAhPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAiKzEifX0pICE9PSBmYWxzZSkgewogICAgJEVSUk9SKCcjNi4yOiAoIisxIiAhPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAiKzEifX0pID09PSBmYWxzZScpOwogIH0KfQoKLy9DSEVDSyM3CnRyeSB7CiAgKDEgIT0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSk7CiAgJEVSUk9SKCcjNzogKDEgIT0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSkgdGhyb3cgImVycm9yIicpOwp9ICAKY2F0Y2ggKGUpIHsKICBpZiAoZSAhPT0gImVycm9yIikgewogICAgJEVSUk9SKCcjNzogKDEgIT0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSkgdGhyb3cgImVycm9yIicpOwogIH0gCn0KCi8vQ0hFQ0sjOAp0cnkgewogICgxICE9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0pOwogICRFUlJPUignIzg6ICgxICE9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0pIHRocm93IFR5cGVFcnJvcicpOwp9ICAKY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyM4OiAoMSAhPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19KSB0aHJvdyBUeXBlRXJyb3InKTsKICB9IAp9Cgo=",
"commentary":"If Type(x) is Object and Type(y) is primitive type,\nreturn ToPrimitive(x) != y",
"description":"x is object, y is primtitive",
"path":"TestCases/ch11/11.9/11.9.2/S11.9.2_A7.8.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGlzIHByaW1pdGl2ZSB0eXBlIGFuZCBUeXBlKHkpIGlzIE9iamVjdCwKICogcmV0dXJuIHggIT0gVG9QcmltaXRpdmUoeSkKICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuMi9TMTEuOS4yX0E3LjkuanMKICogQGRlc2NyaXB0aW9uIHkgaXMgb2JqZWN0LCB4IGlzIHByaW10aXRpdmUKICovCgovL0NIRUNLIzEKaWYgKCh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSAhPSB0cnVlKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0gIT0gdHJ1ZSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19ICE9IDEpICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6ICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSAhPSAxKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMzCmlmICgoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19ICE9ICIrMSIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6ICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0gIT0gIisxIikgPT09IGZhbHNlJyk7Cn0gCiAgCi8vQ0hFQ0sjNAp0cnkgewogIGlmICgoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAiKzEifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fSAhPSB0cnVlKSAhPT0gZmFsc2UpIHsKICAgICRFUlJPUignIzQuMTogKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gIisxIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gIT0gdHJ1ZSkgPT09IGZhbHNlJyk7CiAgfQp9CmNhdGNoIChlKSB7CiAgaWYgKGUgPT09ICJlcnJvciIpIHsKICAgICRFUlJPUignIzQuMjogKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gIisxIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gIT0gdHJ1ZSkgbm90IHRocm93ICJlcnJvciInKTsKICB9IGVsc2UgewogICAgJEVSUk9SKCcjNC4zOiAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAiKzEifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fSAhPSB0cnVlKSBub3QgdGhyb3cgRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9CgovL0NIRUNLIzUKaWYgKCh7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAiKzEifX0gIT0gMSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogKHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuICIrMSJ9fSAhPSAxKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM2CmlmICgoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIisxIn19ICE9ICIxIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM2LjE6ICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAiKzEifX0gIT0gIjEiKSA9PT0gdHJ1ZScpOwp9IGVsc2UgewogIGlmICgoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIisxIn19ICE9ICIrMSIpICE9PSBmYWxzZSkgewogICAgJEVSUk9SKCcjNi4yOiAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIisxIn19ICE9ICIrMSIpID09PSBmYWxzZScpOwogIH0KfQoKLy9DSEVDSyM3CnRyeSB7CiAgKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0gIT0gMSk7CiAgJEVSUk9SKCcjNy4xOiAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSAhPSAxKSB0aHJvdyAiZXJyb3IiLiBBY3R1YWw6ICcgKyAoKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0gIT0gMSkpKTsKfSAgCmNhdGNoIChlKSB7CiAgaWYgKGUgIT09ICJlcnJvciIpIHsKICAgICRFUlJPUignIzcuMjogKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0gIT0gMSkgdGhyb3cgImVycm9yIi4gQWN0dWFsOiAnICsgKGUpKTsKICB9IAp9CgovL0NIRUNLIzgKdHJ5IHsKICAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSAhPSAxKTsKICAkRVJST1IoJyM4LjE6ICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19ICE9IDEpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKCh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19ICE9IDEpKSk7Cn0gIApjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzguMjogKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0gIT0gMSkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gCn0KCg==",
"commentary":"If Type(x) is primitive type and Type(y) is Object,\nreturn x != ToPrimitive(y)",
"description":"y is object, x is primtitive",
"path":"TestCases/ch11/11.9/11.9.2/S11.9.2_A7.9.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gRXF1YWxpdHlFeHByZXNzaW9uIGFuZCAiPT09IiBvciBiZXR3ZWVuICI9PT0iIGFuZCBSZWxhdGlvbmFsRXhwcmVzc2lvbiBhcmUgYWxsb3dlZAogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS40L1MxMS45LjRfQTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGJ5IHVzaW5nIGV2YWwKICovCgovL0NIRUNLIzEKaWYgKCEoZXZhbCgiMVx1MDAwOT09PVx1MDAwOTEiKSkpIHsKICAkRVJST1IoJyMxOiAxXFx1MDAwOT09PVxcdTAwMDkxJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoIShldmFsKCIxXHUwMDBCPT09XHUwMDBCMSIpKSkgewogICRFUlJPUignIzI6IDFcXHUwMDBCPT09XFx1MDAwQjEnKTsgIAp9CgovL0NIRUNLIzMKaWYgKCEoZXZhbCgiMVx1MDAwQz09PVx1MDAwQzEiKSkpIHsKICAkRVJST1IoJyMzOiAxXFx1MDAwQz09PVxcdTAwMEMxJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoIShldmFsKCIxXHUwMDIwPT09XHUwMDIwMSIpKSkgewogICRFUlJPUignIzQ6IDFcXHUwMDIwPT09XFx1MDAyMDEnKTsKfQoKLy9DSEVDSyM1CmlmICghKGV2YWwoIjFcdTAwQTA9PT1cdTAwQTAxIikpKSB7CiAgJEVSUk9SKCcjNTogMVxcdTAwQTA9PT1cXHUwMEEwMScpOwp9CgovL0NIRUNLIzYKaWYgKCEoZXZhbCgiMVx1MDAwQT09PVx1MDAwQTEiKSkpIHsKICAkRVJST1IoJyM2OiAxXFx1MDAwQT09PVxcdTAwMEExJyk7ICAKfQoKLy9DSEVDSyM3CmlmICghKGV2YWwoIjFcdTAwMEQ9PT1cdTAwMEQxIikpKSB7CiAgJEVSUk9SKCcjNzogMVxcdTAwMEQ9PT1cXHUwMDBEMScpOwp9CgovL0NIRUNLIzgKaWYgKCEoZXZhbCgiMVx1MjAyOD09PVx1MjAyODEiKSkpIHsKICAkRVJST1IoJyM4OiAxXFx1MjAyOD09PVxcdTIwMjgxJyk7Cn0KCi8vQ0hFQ0sjOQppZiAoIShldmFsKCIxXHUyMDI5PT09XHUyMDI5MSIpKSkgewogICRFUlJPUignIzk6IDFcXHUyMDI5PT09XFx1MjAyOTEnKTsKfQoKLy9DSEVDSyMxMAppZiAoIShldmFsKCIxXHUwMDA5XHUwMDBCXHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5PT09XHUwMDA5XHUwMDBCXHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5MSIpKSkgewogICRFUlJPUignIzEwOiAxXFx1MDAwOVxcdTAwMEJcXHUwMDBDXFx1MDAyMFxcdTAwQTBcXHUwMDBBXFx1MDAwRFxcdTIwMjhcXHUyMDI5PT09XFx1MDAwOVxcdTAwMEJcXHUwMDBDXFx1MDAyMFxcdTAwQTBcXHUwMDBBXFx1MDAwRFxcdTIwMjhcXHUyMDI5MScpOwp9Cgo=",
"commentary":"White Space and Line Terminator between EqualityExpression and \"===\" or between \"===\" and RelationalExpression are allowed",
"description":"Checking by using eval",
"path":"TestCases/ch11/11.9/11.9.4/S11.9.4_A1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID09PSB5IHVzZXMgR2V0VmFsdWUKICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuNC9TMTEuOS40X0EyLjFfVDEuanMKICogQGRlc2NyaXB0aW9uIEVpdGhlciBUeXBlIGlzIG5vdCBSZWZlcmVuY2Ugb3IgR2V0QmFzZSBpcyBub3QgbnVsbAogKi8KCi8vQ0hFQ0sjMQppZiAoISgxID09PSAxKSkgewogICRFUlJPUignIzE6IDEgPT09IDEnKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gMTsKaWYgKCEoeCA9PT0gMSkpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IDE7IHggPT09IDEnKTsKfQoKLy9DSEVDSyMzCnZhciB5ID0gMTsKaWYgKCEoMSA9PT0geSkpIHsKICAkRVJST1IoJyMzOiB2YXIgeSA9IDE7IDEgPT09IHknKTsKfQoKLy9DSEVDSyM0CnZhciB4ID0gMTsKdmFyIHkgPSAxOwppZiAoISh4ID09PSB5KSkgewogICRFUlJPUignIzQ6IHZhciB4ID0gMTsgdmFyIHkgPSAxOyB4ID09PSB5Jyk7Cn0KCi8vQ0hFQ0sjNQp2YXIgb2JqZWN0eCA9IG5ldyBPYmplY3QoKTsKdmFyIG9iamVjdHkgPSBuZXcgT2JqZWN0KCk7Cm9iamVjdHgucHJvcCA9IDE7Cm9iamVjdHkucHJvcCA9IDE7CmlmICghKG9iamVjdHgucHJvcCA9PT0gb2JqZWN0eS5wcm9wKSkgewogICRFUlJPUignIzU6IHZhciBvYmplY3R4ID0gbmV3IE9iamVjdCgpOyB2YXIgb2JqZWN0eSA9IG5ldyBPYmplY3QoKTsgb2JqZWN0eC5wcm9wID0gMTsgb2JqZWN0eS5wcm9wID0gMTsgb2JqZWN0eC5wcm9wID09PSBvYmplY3R5LnByb3AnKTsKfQoKCg==",
"commentary":"Operator x === y uses GetValue",
"description":"Either Type is not Reference or GetBase is not null",
"path":"TestCases/ch11/11.9/11.9.4/S11.9.4_A2.1_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID09PSB5IHVzZXMgR2V0VmFsdWUKICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuNC9TMTEuOS40X0EyLjFfVDIuanMKICogQGRlc2NyaXB0aW9uIElmIEdldEJhc2UoeCkgaXMgbnVsbCwgdGhyb3cgUmVmZXJlbmNlRXJyb3IKICovCgovL0NIRUNLIzEKdHJ5IHsKICB4ID09PSAxOwogICRFUlJPUignIzEuMTogeCA9PT0gMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHggPT09IDEpKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IHggPT09IDEgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7ICAKICB9Cn0KCgo=",
"commentary":"Operator x === y uses GetValue",
"description":"If GetBase(x) is null, throw ReferenceError",
"path":"TestCases/ch11/11.9/11.9.4/S11.9.4_A2.1_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID09PSB5IHVzZXMgR2V0VmFsdWUKICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuNC9TMTEuOS40X0EyLjFfVDMuanMKICogQGRlc2NyaXB0aW9uIElmIEdldEJhc2UoeSkgaXMgbnVsbCwgdGhyb3cgUmVmZXJlbmNlRXJyb3IKICovCgovL0NIRUNLIzEKdHJ5IHsKICAxID09PSB5OwogICRFUlJPUignIzEuMTogMSA9PT0geSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKDEgPT09IHkpKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IDEgPT09IHkgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7ICAKICB9Cn0KCgo=",
"commentary":"Operator x === y uses GetValue",
"description":"If GetBase(y) is null, throw ReferenceError",
"path":"TestCases/ch11/11.9/11.9.4/S11.9.4_A2.1_T3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuNC9TMTEuOS40X0EyLjRfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggIj0iCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gMDsgCmlmICghKCh4ID0gMSkgPT09IHgpKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSAwOyAoeCA9IDEpID09PSB4Jyk7Cn0KCi8vQ0hFQ0sjMgp2YXIgeCA9IDA7IAppZiAoeCA9PT0gKHggPSAxKSkgewogICRFUlJPUignIzI6IHZhciB4ID0gMDsgeCAhPT0gKHggPSAxKScpOwp9CgoK",
"commentary":"First expression is evaluated first, and then second expression",
"description":"Checking with \"=\"",
"path":"TestCases/ch11/11.9/11.9.4/S11.9.4_A2.4_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuNC9TMTEuOS40X0EyLjRfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggInRocm93IgogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9Owp2YXIgeSA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9Owp0cnkgewogICB4KCkgPT09IHkoKTsKICAgJEVSUk9SKCcjMS4xOiB2YXIgeCA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9OyB2YXIgeSA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9OyB4KCkgPT09IHkoKSB0aHJvdyAieCIuIEFjdHVhbDogJyArICh4KCkgPT09IHkoKSkpOwp9IGNhdGNoIChlKSB7CiAgIGlmIChlID09PSAieSIpIHsKICAgICAkRVJST1IoJyMxLjI6IEZpcnN0IGV4cHJlc3Npb24gaXMgZXZhbHVhdGVkIGZpcnN0LCBhbmQgdGhlbiBzZWNvbmQgZXhwcmVzc2lvbicpOwogICB9IGVsc2UgewogICAgIGlmICghKGUgPT09ICJ4IikpIHsKICAgICAgICRFUlJPUignIzEuMzogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpID09PSB5KCkgdGhyb3cgIngiLiBBY3R1YWw6ICcgKyAoZSkpOwogICAgIH0KICAgfQp9Cgo=",
"commentary":"First expression is evaluated first, and then second expression",
"description":"Checking with \"throw\"",
"path":"TestCases/ch11/11.9/11.9.4/S11.9.4_A2.4_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuNC9TMTEuOS40X0EyLjRfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggdW5kZWNsYXJhdGVkIHZhcmlhYmxlcwogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHggPT09ICh4ID0gMSk7CiAgJEVSUk9SKCcjMS4xOiB4ID09PSAoeCA9IDEpIHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoeCA9PT0gKHggPSAxKSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogeCA9PT0gKHggPSAxKSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoKLy9DSEVDSyMyCmlmICghKCh5ID0gMSkgPT09IHkpKSB7CiAgJEVSUk9SKCcjMjogKHkgPSAxKSA9PT0geScpOwp9CgoK",
"commentary":"First expression is evaluated first, and then second expression",
"description":"Checking with undeclarated variables",
"path":"TestCases/ch11/11.9/11.9.4/S11.9.4_A2.4_T3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUeXBlKHgpIGFuZCBUeXBlKHkpIGFyZSBCb29sZWFuLXMuCiAqIFJldHVybiB0cnVlLCBpZiB4IGFuZCB5IGFyZSBib3RoIHRydWUgYW5kIGJvdGggZmFsc2U7IG90aGVyd2lzZSwgcmV0dXJuIGZhbHNlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOS8xMS45LjQvUzExLjkuNF9BMy5qcwogKiBAZGVzY3JpcHRpb24geCBhbmQgeSBhcmUgcHJpbWl0aXZlIGJvb2xlYW5zCiAqLwoKLy9DSEVDSyMxCmlmICghKHRydWUgPT09IHRydWUpKSB7CiAgJEVSUk9SKCcjMTogdHJ1ZSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKCEoZmFsc2UgPT09IGZhbHNlKSkgewogICRFUlJPUignIzI6IGZhbHNlID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzMKaWYgKHRydWUgPT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMzogdHJ1ZSAhPT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM0CmlmIChmYWxzZSA9PT0gdHJ1ZSkgewogICRFUlJPUignIzQ6IGZhbHNlICE9PSB0cnVlJyk7Cn0KCg==",
"commentary":"Type(x) and Type(y) are Boolean-s.\nReturn true, if x and y are both true and both false; otherwise, return false",
"description":"x and y are primitive booleans",
"path":"TestCases/ch11/11.9/11.9.4/S11.9.4_A3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IG9yIHkgaXMgTmFOLCByZXR1cm4gZmFsc2UKICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuNC9TMTEuOS40X0E0LjFfVDEuanMKICogQGRlc2NyaXB0aW9uIHggaXMgTmFOCiAqLwoKLy9DSEVDSyMxCmlmIChOdW1iZXIuTmFOID09PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogTmFOICE9PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoTnVtYmVyLk5hTiA9PT0gMSkgewogICRFUlJPUignIzI6IE5hTiAhPT0gMScpOwp9CgovL0NIRUNLIzMKaWYgKE51bWJlci5OYU4gPT09IE51bWJlci5OYU4pIHsKICAkRVJST1IoJyMzOiBOYU4gIT09IE5hTicpOwp9CgovL0NIRUNLIzQKaWYgKE51bWJlci5OYU4gPT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICRFUlJPUignIzQ6IE5hTiAhPT0gK0luZmluaXR5Jyk7Cn0KCi8vQ0hFQ0sjNQppZiAoTnVtYmVyLk5hTiA9PT0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSB7CiAgJEVSUk9SKCcjNTogTmFOICE9PSAtSW5maW5pdHknKTsKfQoKLy9DSEVDSyM2CmlmIChOdW1iZXIuTmFOID09PSBOdW1iZXIuTUFYX1ZBTFVFKSB7CiAgJEVSUk9SKCcjNjogTmFOICE9PSBOdW1iZXIuTUFYX1ZBTFVFJyk7Cn0KCi8vQ0hFQ0sjNwppZiAoTnVtYmVyLk5hTiA9PT0gTnVtYmVyLk1JTl9WQUxVRSkgewogICRFUlJPUignIzc6IE5hTiAhPT0gTnVtYmVyLk1JTl9WQUxVRScpOwp9CgovL0NIRUNLIzgKaWYgKE51bWJlci5OYU4gPT09ICJzdHJpbmciKSB7CiAgJEVSUk9SKCcjODogTmFOICE9PSAic3RyaW5nIicpOwp9CgovL0NIRUNLIzkKaWYgKE51bWJlci5OYU4gPT09IG5ldyBPYmplY3QoKSkgewogICRFUlJPUignIzk6IE5hTiAhPT0gbmV3IE9iamVjdCgpJyk7Cn0KCgo=",
"commentary":"If x or y is NaN, return false",
"description":"x is NaN",
"path":"TestCases/ch11/11.9/11.9.4/S11.9.4_A4.1_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IG9yIHkgaXMgTmFOLCByZXR1cm4gZmFsc2UKICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuNC9TMTEuOS40X0E0LjFfVDIuanMKICogQGRlc2NyaXB0aW9uIHkgaXMgTmFOCiAqLwoKLy9DSEVDSyMxCmlmICh0cnVlID09PSBOdW1iZXIuTmFOKSB7CiAgJEVSUk9SKCcjMTogdHJ1ZSAhPT0gTmFOJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoLTEgPT09IE51bWJlci5OYU4pIHsKICAkRVJST1IoJyMyOiAtMSAhPT0gTmFOJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoTnVtYmVyLk5hTiA9PT0gTnVtYmVyLk5hTikgewogICRFUlJPUignIzM6IE5hTiAhPT0gTmFOJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZID09PSBOdW1iZXIuTmFOKSB7CiAgJEVSUk9SKCcjNDogK0luZmluaXR5ICE9PSBOYU4nKTsKfQoKLy9DSEVDSyM1CmlmIChOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgPT09IE51bWJlci5OYU4pIHsKICAkRVJST1IoJyM1OiAtSW5maW5pdHkgIT09IE5hTicpOwp9CgovL0NIRUNLIzYKaWYgKE51bWJlci5NQVhfVkFMVUUgPT09IE51bWJlci5OYU4pIHsKICAkRVJST1IoJyM2OiBOdW1iZXIuTUFYX1ZBTFVFICE9PSBOYU4nKTsKfQoKLy9DSEVDSyM3CmlmIChOdW1iZXIuTUlOX1ZBTFVFID09PSBOdW1iZXIuTmFOKSB7CiAgJEVSUk9SKCcjNzogTnVtYmVyLk1JTl9WQUxVRSAhPT0gTmFOJyk7Cn0KCi8vQ0hFQ0sjOAppZiAoInN0cmluZyIgPT09IE51bWJlci5OYU4pIHsKICAkRVJST1IoJyM4OiAic3RyaW5nIiAhPT0gTmFOJyk7Cn0KCi8vQ0hFQ0sjOQppZiAobmV3IE9iamVjdCgpID09PSBOdW1iZXIuTmFOKSB7CiAgJEVSUk9SKCcjOTogbmV3IE9iamVjdCgpICE9PSBOYU4nKTsKfQoK",
"commentary":"If x or y is NaN, return false",
"description":"y is NaN",
"path":"TestCases/ch11/11.9/11.9.4/S11.9.4_A4.1_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzICswKC0wKSBhbmQgeSBpcyAtMCgrMCksIHJldHVybiB0cnVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOS8xMS45LjQvUzExLjkuNF9BNC4yLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBhbGwgY29tYmluYXRpb25zCiAqLwoKLy9DSEVDSyMxCmlmICghKCswID09PSAtMCkpIHsKICAkRVJST1IoJyMxOiArMCA9PT0gLTAnKTsKfQoKLy9DSEVDSyMyCmlmICghKC0wID09PSArMCkpIHsKICAkRVJST1IoJyMyOiAtMCA9PT0gKzAnKTsKfQoK",
"commentary":"If x is +0(-0) and y is -0(+0), return true",
"description":"Checking all combinations",
"path":"TestCases/ch11/11.9/11.9.4/S11.9.4_A4.2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUeXBlKHgpIGFuZCBUeXBlKHkpIGFyZSBOdW1iZXItcyBtaW51cyBOYU4sICswLCAtMC4KICogUmV0dXJuIHRydWUsIGlmIHggaXMgdGhlIHNhbWUgbnVtYmVyIHZhbHVlIGFzIHk7IG90aGVyd2lzZSwgcmV0dXJuIGZhbHNlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOS8xMS45LjQvUzExLjkuNF9BNC4zLmpzCiAqIEBkZXNjcmlwdGlvbiB4IGFuZCB5IGFyZSBwcmltaXRpdmUgbnVtYmVycwogKi8KCi8vQ0hFQ0sjMQppZiAoIShOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgPT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpIHsKICAkRVJST1IoJyMxOiArSW5maW5pdHkgPT09ICtJbmZpbml0eScpOwp9CgovL0NIRUNLIzIKaWYgKCEoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZID09PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpKSB7CiAgJEVSUk9SKCcjMjogLUluZmluaXR5ID09PSAtSW5maW5pdHknKTsKfQoKLy9DSEVDSyMzCmlmICghKDEzID09PSAxMykpIHsKICAkRVJST1IoJyMzOiAxMyA9PT0gMTMnKTsKfQoKLy9DSEVDSyM0CmlmICghKC0xMyA9PT0gLTEzKSkgewogICRFUlJPUignIzQ6IC0xMyA9PT0gLTEzJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoISgxLjMgPT09IDEuMykpIHsKICAkRVJST1IoJyM1OiAxLjMgPT09IDEuMycpOwp9CgovL0NIRUNLIzYKaWYgKCEoLTEuMyA9PT0gLTEuMykpIHsKICAkRVJST1IoJyM2OiAtMS4zID09PSAtMS4zJyk7Cn0KCi8vQ0hFQ0sjNwppZiAoIShOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgPT09IC1OdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpKSB7CiAgJEVSUk9SKCcjNzogK0luZmluaXR5ID09PSAtKC1JbmZpbml0eSknKTsKfQoKLy9DSEVDSyM4CmlmICgxID09PSAwLjk5OTk5OTk5OTk5OSkgewogICRFUlJPUignIzg6IDEgIT09IDAuOTk5OTk5OTk5OTk5Jyk7Cn0KCi8vQ0hFQ0sjOQppZiAoISgxLjAgPT09IDEpKSB7CiAgJEVSUk9SKCcjOTogMS4wID09PSAxJyk7Cn0KCg==",
"commentary":"Type(x) and Type(y) are Number-s minus NaN, +0, -0.\nReturn true, if x is the same number value as y; otherwise, return false",
"description":"x and y are primitive numbers",
"path":"TestCases/ch11/11.9/11.9.4/S11.9.4_A4.3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUeXBlKHgpIGFuZCBUeXBlKHkpIGFyZSBTdHJpbmctcy4KICogUmV0dXJuIHRydWUsIGlmIHggYW5kIHkgYXJlIGV4YWN0bHkgdGhlIHNhbWUgc2VxdWVuY2Ugb2YgY2hhcmFjdGVyczsgb3RoZXJ3aXNlLCByZXR1cm4gZmFsc2UKICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuNC9TMTEuOS40X0E1LmpzCiAqIEBkZXNjcmlwdGlvbiB4IGFuZCB5IGFyZSBwcmltaXRpdmUgc3RyaW5ncwogKi8KCi8vQ0hFQ0sjMQppZiAoISgiIiA9PT0gIiIpKSB7CiAgJEVSUk9SKCcjMTogIiIgPT09ICIiJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoISgiICIgPT09ICIgIikpIHsKICAkRVJST1IoJyMyOiAiICIgPT09ICIgIicpOwp9CgovL0NIRUNLIzMKaWYgKCEoInN0cmluZyIgPT09ICJzdHJpbmciKSkgewogICRFUlJPUignIzM6ICJzdHJpbmciID09PSAic3RyaW5nIicpOwp9CgovL0NIRUNLIzQKaWYgKCIgc3RyaW5nIiA9PT0gInN0cmluZyAiKSB7CiAgJEVSUk9SKCcjNDogIiBzdHJpbmciICE9PSAic3RyaW5nICInKTsKfQoKLy9DSEVDSyM1CmlmICgiMS4wIiA9PT0gIjEiKSB7CiAgJEVSUk9SKCcjNTogIjEuMCIgIT09ICIxIicpOwp9Cgo=",
"commentary":"Type(x) and Type(y) are String-s.\nReturn true, if x and y are exactly the same sequence of characters; otherwise, return false",
"description":"x and y are primitive strings",
"path":"TestCases/ch11/11.9/11.9.4/S11.9.4_A5.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGFuZCBUeXBlKHkpIGFyZSBVbmRlZmluZWQtcywgcmV0dXJuIHRydWUKICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuNC9TMTEuOS40X0E2LjEuanMKICogQGRlc2NyaXB0aW9uIHZvaWQgMCwgZXZhbCgidmFyIHgiKSBpcyB1bmRlZmluZWQKICovCgovL0NIRUNLIzEKaWYgKCEodW5kZWZpbmVkID09PSB1bmRlZmluZWQpKSB7CiAgJEVSUk9SKCcjMTogdW5kZWZpbmVkID09PSB1bmRlZmluZWQnKTsKfQoKLy9DSEVDSyMyCmlmICghKHZvaWQgMCA9PT0gdW5kZWZpbmVkKSkgewogICRFUlJPUignIzI6IHZvaWQgMCA9PT0gdW5kZWZpbmVkJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoISh1bmRlZmluZWQgPT09IGV2YWwoInZhciB4IikpKSB7CiAgJEVSUk9SKCcjMzogdW5kZWZpbmVkID09PSBldmFsKCJ2YXIgeCIpJyk7Cn0KCg==",
"commentary":"If Type(x) and Type(y) are Undefined-s, return true",
"description":"void 0, eval(\"var x\") is undefined",
"path":"TestCases/ch11/11.9/11.9.4/S11.9.4_A6.1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGFuZCBUeXBlKHkpIGFyZSBOdWxsLXMsIHJldHVybiB0cnVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOS8xMS45LjQvUzExLjkuNF9BNi4yLmpzCiAqIEBkZXNjcmlwdGlvbiBudWxsID09PSBudWxsCiAqLwoKLy9DSEVDSyMxCmlmICghKG51bGwgPT09IG51bGwpKSB7CiAgJEVSUk9SKCcjMTogbnVsbCA9PT0gbnVsbCcpOwp9Cgo=",
"commentary":"If Type(x) and Type(y) are Null-s, return true",
"description":"null === null",
"path":"TestCases/ch11/11.9/11.9.4/S11.9.4_A6.2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUeXBlKHgpIGFuZCBUeXBlKHkpIGFyZSBPYmplY3Qtcy4KICogUmV0dXJuIHRydWUsIGlmIHggYW5kIHkgYXJlIHJlZmVyZW5jZXMgdG8gdGhlIHNhbWUgT2JqZWN0OyBvdGhlcndpc2UsIHJldHVybiBmYWxzZQogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS40L1MxMS45LjRfQTcuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIEJvb2xlYW4gb2JqZWN0LCBOdW1iZXIgb2JqZWN0LCBTdHJpbmcgb2JqZWN0LCBPYmplY3Qgb2JqZWN0CiAqLwoKLy9DSEVDSyMxCmlmIChuZXcgT2JqZWN0KCkgPT09IG5ldyBPYmplY3QoKSkgewogICRFUlJPUignIzE6IG5ldyBPYmplY3QoKSAhPT0gbmV3IE9iamVjdCgpJyk7Cn0KCi8vQ0hFQ0sjMgppZiAobmV3IE9iamVjdCh0cnVlKSA9PT0gbmV3IE9iamVjdCh0cnVlKSkgewogICRFUlJPUignIzI6IG5ldyBPYmplY3QoKSAhPT0gbmV3IE9iamVjdCgpJyk7Cn0KCi8vQ0hFQ0sjMwppZiAobmV3IE9iamVjdChmYWxzZSkgPT09IG5ldyBPYmplY3QoZmFsc2UpKSB7CiAgJEVSUk9SKCcjMzogbmV3IE9iamVjdCgpICE9PSBuZXcgT2JqZWN0KCknKTsKfQoKLy9DSEVDSyM0CmlmIChuZXcgT2JqZWN0KCswKSA9PT0gbmV3IE9iamVjdCgtMCkpIHsKICAkRVJST1IoJyM0OiBuZXcgT2JqZWN0KCswKSAhPT0gbmV3IE9iamVjdCgtMCknKTsKfQoKLy9DSEVDSyM1CnggPSB7fTsgCnkgPSB4OwppZiAoISh4ID09PSB5KSkgewogICRFUlJPUignIzU6IHggPSB7fTsgeSA9IHg7IHggPT09IHknKTsKfQoKLy9DSEVDSyM2CmlmIChuZXcgQm9vbGVhbih0cnVlKSA9PT0gbmV3IE51bWJlcigxKSkgewogICRFUlJPUignIzYgbmV3IEJvb2xlYW4odHJ1ZSkgPT09IG5ldyBOdW1iZXIoMSknKTsKfQoKLy9DSEVDSyM3CmlmIChuZXcgTnVtYmVyKDEpID09PSBuZXcgU3RyaW5nKCIxIikpIHsKICAkRVJST1IoJyM3OiBuZXcgTnVtYmVyKDEpID09PSBuZXcgU3RyaW5nKCIxIiknKTsKfQoKLy9DSEVDSyM4CmlmIChuZXcgU3RyaW5nKCIxIikgPT09IG5ldyBCb29sZWFuKHRydWUpKSB7CiAgJEVSUk9SKCcjODogbmV3IFN0cmluZygieCIpID09PSBuZXcgQm9vbGVhbih0cnVlKScpOwp9Cgo=",
"commentary":"Type(x) and Type(y) are Object-s.\nReturn true, if x and y are references to the same Object; otherwise, return false",
"description":"Checking Boolean object, Number object, String object, Object object",
"path":"TestCases/ch11/11.9/11.9.4/S11.9.4_A7.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSksIHJldHVybiBmYWxzZQogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS40L1MxMS45LjRfQThfVDEuanMKICogQGRlc2NyaXB0aW9uIHggb3IgeSBpcyBwcmltaXRpdmUgYm9vbGVhbgogKi8KCi8vQ0hFQ0sjMQppZiAodHJ1ZSA9PT0gbmV3IEJvb2xlYW4odHJ1ZSkpIHsKICAkRVJST1IoJyMxOiB0cnVlICE9PSBuZXcgTnVtYmVyKHRydWUpJyk7Cn0KCi8vQ0hFQ0sjMgppZiAodHJ1ZSA9PT0gMSkgewogICRFUlJPUignIzI6IHRydWUgIT09IDEnKTsKfQoKLy9DSEVDSyMzCmlmICh0cnVlID09PSBuZXcgTnVtYmVyKHRydWUpKSB7CiAgJEVSUk9SKCcjMzogdHJ1ZSAhPT0gbmV3IE51bWJlcih0cnVlKScpOwp9CgovL0NIRUNLIzQKaWYgKHRydWUgPT09ICIxIikgewogICRFUlJPUignIzQ6IHRydWUgIT09ICIxIicpOwp9CgovL0NIRUNLIzUKaWYgKHRydWUgPT09IG5ldyBTdHJpbmcodHJ1ZSkpIHsKICAkRVJST1IoJyM1OiB0cnVlICE9PSBuZXcgU3RyaW5nKHRydWUpJyk7Cn0KCi8vQ0hFQ0sjNgppZiAobmV3IEJvb2xlYW4oZmFsc2UpID09PSBmYWxzZSkgewogICRFUlJPUignIzY6IG5ldyBOdW1iZXIoZmFsc2UpICE9PSBmYWxzZScpOwp9CgovL0NIRUNLIzcKaWYgKDAgPT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNzogMCAhPT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM4CmlmIChuZXcgTnVtYmVyKGZhbHNlKSA9PT0gZmFsc2UpIHsKICAkRVJST1IoJyM4OiBuZXcgTnVtYmVyKGZhbHNlKSAhPT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM5CmlmICgiMCIgPT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjOTogIjAiICE9PSBmYWxzZScpOwp9CgovL0NIRUNLIzEwCmlmIChmYWxzZSA9PT0gbmV3IFN0cmluZyhmYWxzZSkpIHsKICAkRVJST1IoJyMxMDogZmFsc2UgIT09IG5ldyBTdHJpbmcoZmFsc2UpJyk7Cn0KCi8vQ0hFQ0sjMTEKaWYgKHRydWUgPT09IHt2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7cmV0dXJuIHRydWV9fSkgewogICRFUlJPUignIzExOiB0cnVlID09PSB7dmFsdWVPZjogZnVuY3Rpb24gKCkge3JldHVybiB0cnVlfX0nKTsKfQoK",
"commentary":"If Type(x) is different from Type(y), return false",
"description":"x or y is primitive boolean",
"path":"TestCases/ch11/11.9/11.9.4/S11.9.4_A8_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSksIHJldHVybiBmYWxzZQogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS40L1MxMS45LjRfQThfVDIuanMKICogQGRlc2NyaXB0aW9uIHggb3IgeSBpcyBwcmltaXRpdmUgbnVtYmVyCiAqLwoKLy9DSEVDSyMxCmlmICgxID09PSBuZXcgTnVtYmVyKDEpKSB7CiAgJEVSUk9SKCcjMTogMSAhPT0gbmV3IE51bWJlcigxKScpOwp9CgovL0NIRUNLIzIKaWYgKDEgPT09IHRydWUpIHsKICAkRVJST1IoJyMyOiAxICE9PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoMSA9PT0gbmV3IEJvb2xlYW4oMSkpIHsKICAkRVJST1IoJyMzOiAxICE9PSBuZXcgQm9vbGVhbigxKScpOwp9CgovL0NIRUNLIzQKaWYgKDEgPT09ICIxIikgewogICRFUlJPUignIzQ6IDEgIT09ICIxIicpOwp9CgovL0NIRUNLIzUKaWYgKDEgPT09IG5ldyBTdHJpbmcoMSkpIHsKICAkRVJST1IoJyM1OiAxICE9PSBuZXcgU3RyaW5nKDEpJyk7Cn0KCi8vQ0hFQ0sjNgppZiAobmV3IE51bWJlcigwKSA9PT0gMCkgewogICRFUlJPUignIzY6IG5ldyBOdW1iZXIoMCkgIT09IDAnKTsKfQoKLy9DSEVDSyM3CmlmIChmYWxzZSA9PT0gMCkgewogICRFUlJPUignIzc6IGZhbHNlICE9PSAwJyk7Cn0KCi8vQ0hFQ0sjOAppZiAobmV3IEJvb2xlYW4oMCkgPT09IDApIHsKICAkRVJST1IoJyM4OiBuZXcgQm9vbGVhbigwKSAhPT0gMCcpOwp9CgovL0NIRUNLIzkKaWYgKCIwIiA9PT0gMCkgewogICRFUlJPUignIzk6ICIwIiAhPT0gMCcpOwp9CgovL0NIRUNLIzEwCmlmIChuZXcgU3RyaW5nKDApID09PSAwKSB7CiAgJEVSUk9SKCcjMTA6IG5ldyBTdHJpbmcoMCkgIT09IDAnKTsKfQoKLy9DSEVDSyMxMQppZiAoMSA9PT0ge3ZhbHVlT2Y6IGZ1bmN0aW9uICgpIHtyZXR1cm4gMX19KSB7CiAgJEVSUk9SKCcjMTE6IDEgPT09IHt2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7cmV0dXJuIDF9fScpOwp9Cgo=",
"commentary":"If Type(x) is different from Type(y), return false",
"description":"x or y is primitive number",
"path":"TestCases/ch11/11.9/11.9.4/S11.9.4_A8_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSksIHJldHVybiBmYWxzZQogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS40L1MxMS45LjRfQThfVDMuanMKICogQGRlc2NyaXB0aW9uIHggb3IgeSBpcyBwcmltaXRpdmUgc3RyaW5nCiAqLwoKLy9DSEVDSyMxCmlmICgiMSIgPT09IG5ldyBTdHJpbmcoIjEiKSkgewogICRFUlJPUignIzE6ICIxIiAhPT0gbmV3IFN0cmluZygiMSIpJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoIjEiID09PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogIjEiICE9PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoIjEiID09PSBuZXcgQm9vbGVhbigiMSIpKSB7CiAgJEVSUk9SKCcjMzogIjEiICE9PSBuZXcgQm9vbGVhbigiMSIpJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoIjEiID09PSAxKSB7CiAgJEVSUk9SKCcjNDogIjEiID09PSAxJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoIjEiID09PSBuZXcgTnVtYmVyKCIxIikpIHsKICAkRVJST1IoJyM1OiAiMSIgPT09IG5ldyBOdW1iZXIoIjEiKScpOwp9CgovL0NIRUNLIzYKaWYgKG5ldyBTdHJpbmcoZmFsc2UpID09PSBmYWxzZSkgewogICRFUlJPUignIzY6IG5ldyBOdW1iZXIoZmFsc2UpICE9PSBmYWxzZScpOwp9CgovL0NIRUNLIzcKaWYgKGZhbHNlID09PSAiMCIpIHsKICAkRVJST1IoJyM3OiBmYWxzZSAhPT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjOAppZiAoIjAiID09PSBuZXcgQm9vbGVhbigiMCIpKSB7CiAgJEVSUk9SKCcjODogIjAiICE9PSBuZXcgQm9vbGVhbigiMCIpJyk7Cn0KCi8vQ0hFQ0sjOQppZiAoZmFsc2UgPT09IDApIHsKICAkRVJST1IoJyM5OiBmYWxzZSAhPT0gMCcpOwp9CgovL0NIRUNLIzEwCmlmIChmYWxzZSA9PT0gbmV3IE51bWJlcihmYWxzZSkpIHsKICAkRVJST1IoJyMxMDogZmFsc2UgIT09IG5ldyBOdW1iZXIoZmFsc2UpJyk7Cn0KCi8vQ0hFQ0sjMTEKaWYgKCIxIiA9PT0ge3ZhbHVlT2Y6IGZ1bmN0aW9uICgpIHtyZXR1cm4gIjEifX0pIHsKICAkRVJST1IoJyMxMTogIjEiID09PSB7dmFsdWVPZjogZnVuY3Rpb24gKCkge3JldHVybiAiMSJ9fScpOwp9Cgo=",
"commentary":"If Type(x) is different from Type(y), return false",
"description":"x or y is primitive string",
"path":"TestCases/ch11/11.9/11.9.4/S11.9.4_A8_T3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSksIHJldHVybiBmYWxzZQogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS40L1MxMS45LjRfQThfVDQuanMKICogQGRlc2NyaXB0aW9uIHggb3IgeSBpcyBudWxsIG9yIHVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQppZiAodW5kZWZpbmVkID09PSBudWxsKSB7CiAgJEVSUk9SKCcjMTogdW5kZWZpbmVkICE9PSBudWxsJyk7Cn0KCi8vQ0hFQ0sjMgppZiAobnVsbCA9PT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMjogbnVsbCAhPT0gdW5kZWZpbmVkJyk7Cn0KCi8vQ0hFQ0sjMwppZiAobnVsbCA9PT0gMCkgewogICRFUlJPUignIzM6IG51bGwgIT09IDAnKTsKfQoKLy9DSEVDSyM0CmlmICgwID09PSBudWxsKSB7CiAgJEVSUk9SKCcjNDogMCAhPT0gbnVsbCcpOwp9CgovL0NIRUNLIzUKaWYgKG51bGwgPT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogbnVsbCAhPT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM2CmlmIChmYWxzZSA9PT0gbnVsbCkgewogICRFUlJPUignIzY6IGZhbHNlICE9PSBudWxsJyk7Cn0KCi8vQ0hFQ0sjNwppZiAodW5kZWZpbmVkID09PSBmYWxzZSkgewogICRFUlJPUignIzc6IHVuZGVmaW5lZCAhPT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM4CmlmIChmYWxzZSA9PT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjODogZmFsc2UgIT09IHVuZGVmaW5lZCcpOwp9CgovL0NIRUNLIzkKaWYgKG51bGwgPT09IG5ldyBPYmplY3QoKSkgewogICRFUlJPUignIzk6IG51bGwgIT09IG5ldyBPYmplY3QoKScpOwp9CgovL0NIRUNLIzEwCmlmIChuZXcgT2JqZWN0KCkgPT09IG51bGwpIHsKICAkRVJST1IoJyMxMDogbmV3IE9iamVjdCgpICE9PSBudWxsJyk7Cn0KCi8vQ0hFQ0sjMTEKaWYgKG51bGwgPT09ICJudWxsIikgewogICRFUlJPUignIzExOiBudWxsICE9PSAibnVsbCInKTsKfQoKLy9DSEVDSyMxMgppZiAoIm51bGwiID09PSBudWxsKSB7CiAgJEVSUk9SKCcjMTI6ICJudWxsIiAhPT0gbnVsbCcpOwp9CgovL0NIRUNLIzEzCmlmICh1bmRlZmluZWQgPT09ICJ1bmRlZmluZWQiKSB7CiAgJEVSUk9SKCcjMTM6IHVuZGVmaW5lZCAhPT0gInVuZGVmaW5lZCInKTsKfQoKLy9DSEVDSyMxNAppZiAoInVuZGVmaW5lZCIgPT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE0OiAidW5kZWZpbmVkIiAhPT0gdW5kZWZpbmVkJyk7Cn0KCg==",
"commentary":"If Type(x) is different from Type(y), return false",
"description":"x or y is null or undefined",
"path":"TestCases/ch11/11.9/11.9.4/S11.9.4_A8_T4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSksIHJldHVybiBmYWxzZQogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS40L1MxMS45LjRfQThfVDUuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggc3VjaCB4IGFuZCB5IHRoYXQgZWl0aGVyIHggb3IgeSBpcyBwcmltaXRpdmUgc3RyaW5nIGFuZCB0aGUgb3RoZXIgaXMgcHJpbWl0aXZlIG51bWJlcgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHRocm93IDE7Cn0gY2F0Y2goZSkgewogIGlmIChlID09PSAiMSIpIHsKICAgICRFUlJPUignIzE6IHRocm93IDEgIT09ICIxIicpOwogIH0KfQoKLy9DSEVDSyMyCnRyeSB7CiAgdGhyb3cgIjEiOwp9IGNhdGNoKGUpIHsKICBpZiAoMSA9PT0gZSkgewogICAgJEVSUk9SKCcjMjogMSAhPT0gdGhyb3cgIjEiJyk7CiAgfQp9IAoK",
"commentary":"If Type(x) is different from Type(y), return false",
"description":"Checking with such x and y that either x or y is primitive string and the other is primitive number",
"path":"TestCases/ch11/11.9/11.9.4/S11.9.4_A8_T5.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gRXF1YWxpdHlFeHByZXNzaW9uIGFuZCAiIT09IiBvciBiZXR3ZWVuICIhPT0iIGFuZCBSZWxhdGlvbmFsRXhwcmVzc2lvbiBhcmUgYWxsb3dlZAogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS41L1MxMS45LjVfQTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGJ5IHVzaW5nIGV2YWwKICovCgovL0NIRUNLIzEKaWYgKGV2YWwoIjFcdTAwMDkhPT1cdTAwMDkxIikpIHsKICAkRVJST1IoJyMxOiAxXFx1MDAwOSE9PVxcdTAwMDkxJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoZXZhbCgiMVx1MDAwQiE9PVx1MDAwQjEiKSkgewogICRFUlJPUignIzI6IDFcXHUwMDBCIT09XFx1MDAwQjEnKTsgIAp9CgovL0NIRUNLIzMKaWYgKGV2YWwoIjFcdTAwMEMhPT1cdTAwMEMxIikpIHsKICAkRVJST1IoJyMzOiAxXFx1MDAwQyE9PVxcdTAwMEMxJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoZXZhbCgiMVx1MDAyMCE9PVx1MDAyMDEiKSkgewogICRFUlJPUignIzQ6IDFcXHUwMDIwIT09XFx1MDAyMDEnKTsKfQoKLy9DSEVDSyM1CmlmIChldmFsKCIxXHUwMEEwIT09XHUwMEEwMSIpKSB7CiAgJEVSUk9SKCcjNTogMVxcdTAwQTAhPT1cXHUwMEEwMScpOwp9CgovL0NIRUNLIzYKaWYgKGV2YWwoIjFcdTAwMEEhPT1cdTAwMEExIikpIHsKICAkRVJST1IoJyM2OiAxXFx1MDAwQSE9PVxcdTAwMEExJyk7ICAKfQoKLy9DSEVDSyM3CmlmIChldmFsKCIxXHUwMDBEIT09XHUwMDBEMSIpKSB7CiAgJEVSUk9SKCcjNzogMVxcdTAwMEQhPT1cXHUwMDBEMScpOwp9CgovL0NIRUNLIzgKaWYgKGV2YWwoIjFcdTIwMjghPT1cdTIwMjgxIikpIHsKICAkRVJST1IoJyM4OiAxXFx1MjAyOCE9PVxcdTIwMjgxJyk7Cn0KCi8vQ0hFQ0sjOQppZiAoZXZhbCgiMVx1MjAyOSE9PVx1MjAyOTEiKSkgewogICRFUlJPUignIzk6IDFcXHUyMDI5IT09XFx1MjAyOTEnKTsKfQoKLy9DSEVDSyMxMAppZiAoZXZhbCgiMVx1MDAwOVx1MDAwQlx1MDAwQ1x1MDAyMFx1MDBBMFx1MDAwQVx1MDAwRFx1MjAyOFx1MjAyOSE9PVx1MDAwOVx1MDAwQlx1MDAwQ1x1MDAyMFx1MDBBMFx1MDAwQVx1MDAwRFx1MjAyOFx1MjAyOTEiKSkgewogICRFUlJPUignIzEwOiAxXFx1MDAwOVxcdTAwMEJcXHUwMDBDXFx1MDAyMFxcdTAwQTBcXHUwMDBBXFx1MDAwRFxcdTIwMjhcXHUyMDI5IT09XFx1MDAwOVxcdTAwMEJcXHUwMDBDXFx1MDAyMFxcdTAwQTBcXHUwMDBBXFx1MDAwRFxcdTIwMjhcXHUyMDI5MScpOwp9Cgo=",
"commentary":"White Space and Line Terminator between EqualityExpression and \"!==\" or between \"!==\" and RelationalExpression are allowed",
"description":"Checking by using eval",
"path":"TestCases/ch11/11.9/11.9.5/S11.9.5_A1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICE9PSB5IHVzZXMgR2V0VmFsdWUKICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuNS9TMTEuOS41X0EyLjFfVDEuanMKICogQGRlc2NyaXB0aW9uIEVpdGhlciBUeXBlIGlzIG5vdCBSZWZlcmVuY2Ugb3IgR2V0QmFzZSBpcyBub3QgbnVsbAogKi8KCi8vQ0hFQ0sjMQppZiAoMSAhPT0gMSkgewogICRFUlJPUignIzE6IDEgPT09IDEnKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gMTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IDE7IHggPT09IDEnKTsKfQoKLy9DSEVDSyMzCnZhciB5ID0gMTsKaWYgKDEgIT09IHkpIHsKICAkRVJST1IoJyMzOiB2YXIgeSA9IDE7IDEgPT09IHknKTsKfQoKLy9DSEVDSyM0CnZhciB4ID0gMTsKdmFyIHkgPSAxOwppZiAoeCAhPT0geSkgewogICRFUlJPUignIzQ6IHZhciB4ID0gMTsgdmFyIHkgPSAxOyB4ID09PSB5Jyk7Cn0KCi8vQ0hFQ0sjNQp2YXIgb2JqZWN0eCA9IG5ldyBPYmplY3QoKTsKdmFyIG9iamVjdHkgPSBuZXcgT2JqZWN0KCk7Cm9iamVjdHgucHJvcCA9IDE7Cm9iamVjdHkucHJvcCA9IDE7CmlmIChvYmplY3R4LnByb3AgIT09IG9iamVjdHkucHJvcCkgewogICRFUlJPUignIzU6IHZhciBvYmplY3R4ID0gbmV3IE9iamVjdCgpOyB2YXIgb2JqZWN0eSA9IG5ldyBPYmplY3QoKTsgb2JqZWN0eC5wcm9wID0gMTsgb2JqZWN0eS5wcm9wID0gMTsgb2JqZWN0eC5wcm9wID09PSBvYmplY3R5LnByb3AnKTsKfQoKCg==",
"commentary":"Operator x !== y uses GetValue",
"description":"Either Type is not Reference or GetBase is not null",
"path":"TestCases/ch11/11.9/11.9.5/S11.9.5_A2.1_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICE9PSB5IHVzZXMgR2V0VmFsdWUKICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuNS9TMTEuOS41X0EyLjFfVDIuanMKICogQGRlc2NyaXB0aW9uIElmIEdldEJhc2UoeCkgaXMgbnVsbCwgdGhyb3cgUmVmZXJlbmNlRXJyb3IKICovCgovL0NIRUNLIzEKdHJ5IHsKICB4ICE9PSAxOwogICRFUlJPUignIzEuMTogeCAhPT0gMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHggIT09IDEpKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IHggIT09IDEgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7ICAKICB9Cn0KCgo=",
"commentary":"Operator x !== y uses GetValue",
"description":"If GetBase(x) is null, throw ReferenceError",
"path":"TestCases/ch11/11.9/11.9.5/S11.9.5_A2.1_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICE9PSB5IHVzZXMgR2V0VmFsdWUKICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuNS9TMTEuOS41X0EyLjFfVDMuanMKICogQGRlc2NyaXB0aW9uIElmIEdldEJhc2UoeSkgaXMgbnVsbCwgdGhyb3cgUmVmZXJlbmNlRXJyb3IKICovCgovL0NIRUNLIzEKdHJ5IHsKICAxICE9PSB5OwogICRFUlJPUignIzEuMTogMSAhPT0geSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKDEgIT09IHkpKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IDEgIT09IHkgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7ICAKICB9Cn0KCgo=",
"commentary":"Operator x !== y uses GetValue",
"description":"If GetBase(y) is null, throw ReferenceError",
"path":"TestCases/ch11/11.9/11.9.5/S11.9.5_A2.1_T3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuNS9TMTEuOS41X0EyLjRfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggIj0iCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gMDsgCmlmICgoeCA9IDEpICE9PSB4KSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSAwOyAoeCA9IDEpID09PSB4Jyk7Cn0KCi8vQ0hFQ0sjMgp2YXIgeCA9IDA7IAppZiAoISh4ICE9PSAoeCA9IDEpKSkgewogICRFUlJPUignIzI6IHZhciB4ID0gMDsgeCAhPT0gKHggPSAxKScpOwp9CgoK",
"commentary":"First expression is evaluated first, and then second expression",
"description":"Checking with \"=\"",
"path":"TestCases/ch11/11.9/11.9.5/S11.9.5_A2.4_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuNS9TMTEuOS41X0EyLjRfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggInRocm93IgogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9Owp2YXIgeSA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9Owp0cnkgewogICB4KCkgIT09IHkoKTsKICAgJEVSUk9SKCcjMS4xOiB2YXIgeCA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9OyB2YXIgeSA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9OyB4KCkgIT09IHkoKSB0aHJvdyAieCIuIEFjdHVhbDogJyArICh4KCkgIT09IHkoKSkpOwp9IGNhdGNoIChlKSB7CiAgIGlmICghKGUgIT09ICJ5IikpIHsKICAgICAkRVJST1IoJyMxLjI6IEZpcnN0IGV4cHJlc3Npb24gaXMgZXZhbHVhdGVkIGZpcnN0LCBhbmQgdGhlbiBzZWNvbmQgZXhwcmVzc2lvbicpOwogICB9IGVsc2UgewogICAgIGlmIChlICE9PSAieCIpIHsKICAgICAgICRFUlJPUignIzEuMzogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpICE9PSB5KCkgdGhyb3cgIngiLiBBY3R1YWw6ICcgKyAoZSkpOwogICAgIH0KICAgfQp9Cgo=",
"commentary":"First expression is evaluated first, and then second expression",
"description":"Checking with \"throw\"",
"path":"TestCases/ch11/11.9/11.9.5/S11.9.5_A2.4_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuNS9TMTEuOS41X0EyLjRfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHVuZGVjbGFyYXRlZCB2YXJpYWJsZXMKICovCgovL0NIRUNLIzEKdHJ5IHsKICB4ICE9PSAoeCA9IDEpOwogICRFUlJPUignIzEuMTogeCAhPT0gKHggPSAxKSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHggIT09ICh4ID0gMSkpKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IHggIT09ICh4ID0gMSkgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7ICAKICB9Cn0KCi8vQ0hFQ0sjMgppZiAoKHkgPSAxKSAhPT0geSkgewogICRFUlJPUignIzI6ICh5ID0gMSkgPT09IHknKTsKfQoKCg==",
"commentary":"First expression is evaluated first, and then second expression",
"description":"Checking undeclarated variables",
"path":"TestCases/ch11/11.9/11.9.5/S11.9.5_A2.4_T3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUeXBlKHgpIGFuZCBUeXBlKHkpIGFyZSBCb29sZWFuLXMuCiAqIFJldHVybiBmYWxzZSwgaWYgeCBhbmQgeSBhcmUgYm90aCB0cnVlIG9yIGJvdGggZmFsc2U7IG90aGVyd2lzZSwgcmV0dXJuIHRydWUKICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuNS9TMTEuOS41X0EzLmpzCiAqIEBkZXNjcmlwdGlvbiB4IGFuZCB5IGFyZSBwcmltaXRpdmUgYm9vbGVhbnMKICovCgovL0NIRUNLIzEKaWYgKHRydWUgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiB0cnVlID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoZmFsc2UgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogZmFsc2UgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoISh0cnVlICE9PSBmYWxzZSkpIHsKICAkRVJST1IoJyMzOiB0cnVlICE9PSBmYWxzZScpOwp9CgovL0NIRUNLIzQKaWYgKCEoZmFsc2UgIT09IHRydWUpKSB7CiAgJEVSUk9SKCcjNDogZmFsc2UgIT09IHRydWUnKTsKfQoK",
"commentary":"Type(x) and Type(y) are Boolean-s.\nReturn false, if x and y are both true or both false; otherwise, return true",
"description":"x and y are primitive booleans",
"path":"TestCases/ch11/11.9/11.9.5/S11.9.5_A3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IG9yIHkgaXMgTmFOLCByZXR1cm4gdHJ1ZQogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS41L1MxMS45LjVfQTQuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24geCBpcyBOYU4KICovCgovL0NIRUNLIzEKaWYgKCEoTnVtYmVyLk5hTiAhPT0gdHJ1ZSkpIHsKICAkRVJST1IoJyMxOiBOYU4gIT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCmlmICghKE51bWJlci5OYU4gIT09IDEpKSB7CiAgJEVSUk9SKCcjMjogTmFOICE9PSAxJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoIShOdW1iZXIuTmFOICE9PSBOdW1iZXIuTmFOKSkgewogICRFUlJPUignIzM6IE5hTiAhPT0gTmFOJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoIShOdW1iZXIuTmFOICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKSB7CiAgJEVSUk9SKCcjNDogTmFOICE9PSArSW5maW5pdHknKTsKfQoKLy9DSEVDSyM1CmlmICghKE51bWJlci5OYU4gIT09IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkpIHsKICAkRVJST1IoJyM1OiBOYU4gIT09IC1JbmZpbml0eScpOwp9CgovL0NIRUNLIzYKaWYgKCEoTnVtYmVyLk5hTiAhPT0gTnVtYmVyLk1BWF9WQUxVRSkpIHsKICAkRVJST1IoJyM2OiBOYU4gIT09IE51bWJlci5NQVhfVkFMVUUnKTsKfQoKLy9DSEVDSyM3CmlmICghKE51bWJlci5OYU4gIT09IE51bWJlci5NSU5fVkFMVUUpKSB7CiAgJEVSUk9SKCcjNzogTmFOICE9PSBOdW1iZXIuTUlOX1ZBTFVFJyk7Cn0KCi8vQ0hFQ0sjOAppZiAoIShOdW1iZXIuTmFOICE9PSAic3RyaW5nIikpIHsKICAkRVJST1IoJyM4OiBOYU4gIT09ICJzdHJpbmciJyk7Cn0KCi8vQ0hFQ0sjOQppZiAoIShOdW1iZXIuTmFOICE9PSBuZXcgT2JqZWN0KCkpKSB7CiAgJEVSUk9SKCcjOTogTmFOICE9PSBuZXcgT2JqZWN0KCknKTsKfQoKCg==",
"commentary":"If x or y is NaN, return true",
"description":"x is NaN",
"path":"TestCases/ch11/11.9/11.9.5/S11.9.5_A4.1_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IG9yIHkgaXMgTmFOLCByZXR1cm4gdHJ1ZQogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS41L1MxMS45LjVfQTQuMV9UMi5qcwogKiBAZGVzY3JpcHRpb24geSBpcyBOYU4KICovCgovL0NIRUNLIzEKaWYgKCEodHJ1ZSAhPT0gTnVtYmVyLk5hTikpIHsKICAkRVJST1IoJyMxOiB0cnVlICE9PSBOYU4nKTsKfQoKLy9DSEVDSyMyCmlmICghKC0xICE9PSBOdW1iZXIuTmFOKSkgewogICRFUlJPUignIzI6IC0xICE9PSBOYU4nKTsKfQoKLy9DSEVDSyMzCmlmICghKE51bWJlci5OYU4gIT09IE51bWJlci5OYU4pKSB7CiAgJEVSUk9SKCcjMzogTmFOICE9PSBOYU4nKTsKfQoKLy9DSEVDSyM0CmlmICghKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSAhPT0gTnVtYmVyLk5hTikpIHsKICAkRVJST1IoJyM0OiArSW5maW5pdHkgIT09IE5hTicpOwp9CgovL0NIRUNLIzUKaWYgKCEoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZICE9PSBOdW1iZXIuTmFOKSkgewogICRFUlJPUignIzU6IC1JbmZpbml0eSAhPT0gTmFOJyk7Cn0KCi8vQ0hFQ0sjNgppZiAoIShOdW1iZXIuTUFYX1ZBTFVFICE9PSBOdW1iZXIuTmFOKSkgewogICRFUlJPUignIzY6IE51bWJlci5NQVhfVkFMVUUgIT09IE5hTicpOwp9CgovL0NIRUNLIzcKaWYgKCEoTnVtYmVyLk1JTl9WQUxVRSAhPT0gTnVtYmVyLk5hTikpIHsKICAkRVJST1IoJyM3OiBOdW1iZXIuTUlOX1ZBTFVFICE9PSBOYU4nKTsKfQoKLy9DSEVDSyM4CmlmICghKCJzdHJpbmciICE9PSBOdW1iZXIuTmFOKSkgewogICRFUlJPUignIzg6ICJzdHJpbmciICE9PSBOYU4nKTsKfQoKLy9DSEVDSyM5CmlmICghKG5ldyBPYmplY3QoKSAhPT0gTnVtYmVyLk5hTikpIHsKICAkRVJST1IoJyM5OiBuZXcgT2JqZWN0KCkgIT09IE5hTicpOwp9Cgo=",
"commentary":"If x or y is NaN, return true",
"description":"y is NaN",
"path":"TestCases/ch11/11.9/11.9.5/S11.9.5_A4.1_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzICswKC0wKSBhbmQgeSBpcyAtMCgrMCksIHJldHVybiBmYWxzZQogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS41L1MxMS45LjVfQTQuMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYWxsIGNvbWJpbmF0aW9ucwogKi8KCi8vQ0hFQ0sjMQppZiAoKzAgIT09IC0wKSB7CiAgJEVSUk9SKCcjMTogKzAgPT09IC0wJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoLTAgIT09ICswKSB7CiAgJEVSUk9SKCcjMjogLTAgPT09ICswJyk7Cn0KCg==",
"commentary":"If x is +0(-0) and y is -0(+0), return false",
"description":"Checking all combinations",
"path":"TestCases/ch11/11.9/11.9.5/S11.9.5_A4.2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUeXBlKHgpIGFuZCBUeXBlKHkpIGFyZSBOdW1iZXItcyBtaW51cyBOYU4sICswLCAtMC4KICogUmV0dXJuIGZhbHNlLCBpZiB4IGlzIHRoZSBzYW1lIG51bWJlciB2YWx1ZSBhcyB5OyBvdGhlcndpc2UsIHJldHVybiB0cnVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOS8xMS45LjUvUzExLjkuNV9BNC4zLmpzCiAqIEBkZXNjcmlwdGlvbiB4IGFuZCB5IGFyZSBwcmltaXRpdmUgbnVtYmVycwogKi8KCi8vQ0hFQ0sjMQppZiAoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHsKICAkRVJST1IoJyMxOiArSW5maW5pdHkgPT09ICtJbmZpbml0eScpOwp9CgovL0NIRUNLIzIKaWYgKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSAhPT0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSB7CiAgJEVSUk9SKCcjMjogLUluZmluaXR5ID09PSAtSW5maW5pdHknKTsKfQoKLy9DSEVDSyMzCmlmICgxMyAhPT0gMTMpIHsKICAkRVJST1IoJyMzOiAxMyA9PT0gMTMnKTsKfQoKLy9DSEVDSyM0CmlmICgtMTMgIT09IC0xMykgewogICRFUlJPUignIzQ6IC0xMyA9PT0gLTEzJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoMS4zICE9PSAxLjMpIHsKICAkRVJST1IoJyM1OiAxLjMgPT09IDEuMycpOwp9CgovL0NIRUNLIzYKaWYgKC0xLjMgIT09IC0xLjMpIHsKICAkRVJST1IoJyM2OiAtMS4zID09PSAtMS4zJyk7Cn0KCi8vQ0hFQ0sjNwppZiAoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZICE9PSAtTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSB7CiAgJEVSUk9SKCcjNzogK0luZmluaXR5ID09PSAtKC1JbmZpbml0eSknKTsKfQoKLy9DSEVDSyM4CmlmICghKDEgIT09IDAuOTk5OTk5OTk5OTk5KSkgewogICRFUlJPUignIzg6IDEgIT09IDAuOTk5OTk5OTk5OTk5Jyk7Cn0KCi8vQ0hFQ0sjOQppZiAoMS4wICE9PSAxKSB7CiAgJEVSUk9SKCcjOTogMS4wID09PSAxJyk7Cn0KCg==",
"commentary":"Type(x) and Type(y) are Number-s minus NaN, +0, -0.\nReturn false, if x is the same number value as y; otherwise, return true",
"description":"x and y are primitive numbers",
"path":"TestCases/ch11/11.9/11.9.5/S11.9.5_A4.3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUeXBlKHgpIGFuZCBUeXBlKHkpIGFyZSBTdHJpbmctcy4KICogUmV0dXJuIGZhbHNlLCBpZiB4IGFuZCB5IGFyZSBleGFjdGx5IHRoZSBzYW1lIHNlcXVlbmNlIG9mIGNoYXJhY3RlcnM7IG90aGVyd2lzZSwgcmV0dXJuIHRydWUKICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuNS9TMTEuOS41X0E1LmpzCiAqIEBkZXNjcmlwdGlvbiB4IGFuZCB5IGFyZSBwcmltaXRpdmUgc3RyaW5ncwogKi8KCi8vQ0hFQ0sjMQppZiAoIiIgIT09ICIiKSB7CiAgJEVSUk9SKCcjMTogIiIgPT09ICIiJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoIiAiICE9PSAiICIpIHsKICAkRVJST1IoJyMyOiAiICIgPT09ICIgIicpOwp9CgovL0NIRUNLIzMKaWYgKCJzdHJpbmciICE9PSAic3RyaW5nIikgewogICRFUlJPUignIzM6ICJzdHJpbmciID09PSAic3RyaW5nIicpOwp9CgovL0NIRUNLIzQKaWYgKCEoIiBzdHJpbmciICE9PSAic3RyaW5nICIpKSB7CiAgJEVSUk9SKCcjNDogIiBzdHJpbmciICE9PSAic3RyaW5nICInKTsKfQoKLy9DSEVDSyM1CmlmICghKCIxLjAiICE9PSAiMSIpKSB7CiAgJEVSUk9SKCcjNTogIjEuMCIgIT09ICIxIicpOwp9Cgo=",
"commentary":"Type(x) and Type(y) are String-s.\nReturn false, if x and y are exactly the same sequence of characters; otherwise, return true",
"description":"x and y are primitive strings",
"path":"TestCases/ch11/11.9/11.9.5/S11.9.5_A5.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGFuZCBUeXBlKHkpIGFyZSBVbmRlZmluZWQtcywgcmV0dXJuIGZhbHNlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOS8xMS45LjUvUzExLjkuNV9BNi4xLmpzCiAqIEBkZXNjcmlwdGlvbiB2b2lkIDAsIGV2YWwoInZhciB4IikgaXMgdW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCmlmICh1bmRlZmluZWQgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6IHVuZGVmaW5lZCA9PT0gdW5kZWZpbmVkJyk7Cn0KCi8vQ0hFQ0sjMgppZiAodm9pZCAwICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMyOiB2b2lkIDAgPT09IHVuZGVmaW5lZCcpOwp9CgovL0NIRUNLIzMKaWYgKHVuZGVmaW5lZCAhPT0gZXZhbCgidmFyIHgiKSkgewogICRFUlJPUignIzM6IHVuZGVmaW5lZCA9PT0gZXZhbCgidmFyIHgiKScpOwp9Cgo=",
"commentary":"If Type(x) and Type(y) are Undefined-s, return false",
"description":"void 0, eval(\"var x\") is undefined",
"path":"TestCases/ch11/11.9/11.9.5/S11.9.5_A6.1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGFuZCBUeXBlKHkpIGFyZSBOdWxsLXMsIHJldHVybiBmYWxzZQogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS41L1MxMS45LjVfQTYuMi5qcwogKiBAZGVzY3JpcHRpb24gbnVsbCA9PT0gbnVsbAogKi8KCi8vQ0hFQ0sjMQppZiAobnVsbCAhPT0gbnVsbCkgewogICRFUlJPUignIzE6IG51bGwgPT09IG51bGwnKTsKfQoK",
"commentary":"If Type(x) and Type(y) are Null-s, return false",
"description":"null === null",
"path":"TestCases/ch11/11.9/11.9.5/S11.9.5_A6.2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUeXBlKHgpIGFuZCBUeXBlKHkpIGFyZSBPYmplY3Qtcy4KICogUmV0dXJuIGZhbHNlLCBpZiB4IGFuZCB5IGFyZSByZWZlcmVuY2VzIHRvIHRoZSBzYW1lIE9iamVjdDsgb3RoZXJ3aXNlLCByZXR1cm4gdHJ1ZQogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS41L1MxMS45LjVfQTcuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIEJvb2xlYW4gb2JqZWN0LCBOdW1iZXIgb2JqZWN0LCBTdHJpbmcgb2JqZWN0LCBPYmplY3Qgb2JqZWN0CiAqLwoKLy9DSEVDSyMxCmlmICghKG5ldyBPYmplY3QoKSAhPT0gbmV3IE9iamVjdCgpKSkgewogICRFUlJPUignIzE6IG5ldyBPYmplY3QoKSAhPT0gbmV3IE9iamVjdCgpJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoIShuZXcgT2JqZWN0KHRydWUpICE9PSBuZXcgT2JqZWN0KHRydWUpKSkgewogICRFUlJPUignIzI6IG5ldyBPYmplY3QoKSAhPT0gbmV3IE9iamVjdCgpJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoIShuZXcgT2JqZWN0KGZhbHNlKSAhPT0gbmV3IE9iamVjdChmYWxzZSkpKSB7CiAgJEVSUk9SKCcjMzogbmV3IE9iamVjdCgpICE9PSBuZXcgT2JqZWN0KCknKTsKfQoKLy9DSEVDSyM0CmlmICghKG5ldyBPYmplY3QoKzApICE9PSBuZXcgT2JqZWN0KC0wKSkpIHsKICAkRVJST1IoJyM0OiBuZXcgT2JqZWN0KCswKSAhPT0gbmV3IE9iamVjdCgtMCknKTsKfQoKLy9DSEVDSyM1CnggPSB7fTsgCnkgPSB4OwppZiAoeCAhPT0geSkgewogICRFUlJPUignIzU6IHggPSB7fTsgeSA9IHg7IHggPT09IHknKTsKfQoKLy9DSEVDSyM2CmlmICghKG5ldyBCb29sZWFuKHRydWUpICE9PSBuZXcgTnVtYmVyKDEpKSkgewogICRFUlJPUignIzYgbmV3IEJvb2xlYW4odHJ1ZSkgIT09IG5ldyBOdW1iZXIoMSknKTsKfQoKLy9DSEVDSyM3CmlmICghKG5ldyBOdW1iZXIoMSkgIT09IG5ldyBTdHJpbmcoIjEiKSkpIHsKICAkRVJST1IoJyM3OiBuZXcgTnVtYmVyKDEpICE9PSBuZXcgU3RyaW5nKCIxIiknKTsKfQoKLy9DSEVDSyM4CmlmICghKG5ldyBTdHJpbmcoIjEiKSAhPT0gbmV3IEJvb2xlYW4odHJ1ZSkpKSB7CiAgJEVSUk9SKCcjODogbmV3IFN0cmluZygieCIpICE9PSBuZXcgQm9vbGVhbih0cnVlKScpOwp9CgoKCg==",
"commentary":"Type(x) and Type(y) are Object-s.\nReturn false, if x and y are references to the same Object; otherwise, return true",
"description":"Checking Boolean object, Number object, String object, Object object",
"path":"TestCases/ch11/11.9/11.9.5/S11.9.5_A7.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSksIHJldHVybiB0cnVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOS8xMS45LjUvUzExLjkuNV9BOF9UMS5qcwogKiBAZGVzY3JpcHRpb24geCBvciB5IGlzIHByaW1pdGl2ZSBib29sZWFuCiAqLwoKLy9DSEVDSyMxCmlmICghKHRydWUgIT09IG5ldyBCb29sZWFuKHRydWUpKSkgewogICRFUlJPUignIzE6IHRydWUgIT09IG5ldyBOdW1iZXIodHJ1ZSknKTsKfQoKLy9DSEVDSyMyCmlmICghKHRydWUgIT09IDEpKSB7CiAgJEVSUk9SKCcjMjogdHJ1ZSAhPT0gMScpOwp9CgovL0NIRUNLIzMKaWYgKCEodHJ1ZSAhPT0gbmV3IE51bWJlcih0cnVlKSkpIHsKICAkRVJST1IoJyMzOiB0cnVlICE9PSBuZXcgTnVtYmVyKHRydWUpJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoISh0cnVlICE9PSAiMSIpKSB7CiAgJEVSUk9SKCcjNDogdHJ1ZSAhPT0gIjEiJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoISh0cnVlICE9PSBuZXcgU3RyaW5nKHRydWUpKSkgewogICRFUlJPUignIzU6IHRydWUgIT09IG5ldyBTdHJpbmcodHJ1ZSknKTsKfQoKLy9DSEVDSyM2CmlmICghKG5ldyBCb29sZWFuKGZhbHNlKSAhPT0gZmFsc2UpKSB7CiAgJEVSUk9SKCcjNjogbmV3IE51bWJlcihmYWxzZSkgIT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNwppZiAoISgwICE9PSBmYWxzZSkpIHsKICAkRVJST1IoJyM3OiAwICE9PSBmYWxzZScpOwp9CgovL0NIRUNLIzgKaWYgKCEobmV3IE51bWJlcihmYWxzZSkgIT09IGZhbHNlKSkgewogICRFUlJPUignIzg6IG5ldyBOdW1iZXIoZmFsc2UpICE9PSBmYWxzZScpOwp9CgovL0NIRUNLIzkKaWYgKCEoIjAiICE9PSBmYWxzZSkpIHsKICAkRVJST1IoJyM5OiAiMCIgIT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMTAKaWYgKCEoZmFsc2UgIT09IG5ldyBTdHJpbmcoZmFsc2UpKSkgewogICRFUlJPUignIzEwOiBmYWxzZSAhPT0gbmV3IFN0cmluZyhmYWxzZSknKTsKfQoKLy9DSEVDSyMxMQppZiAoISh0cnVlICE9PSB7dmFsdWVPZjogZnVuY3Rpb24gKCkge3JldHVybiB0cnVlfX0pKSB7CiAgJEVSUk9SKCcjMTE6IHRydWUgIT09IHt2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7cmV0dXJuIHRydWV9fScpOwp9Cgo=",
"commentary":"If Type(x) is different from Type(y), return true",
"description":"x or y is primitive boolean",
"path":"TestCases/ch11/11.9/11.9.5/S11.9.5_A8_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSksIHJldHVybiB0cnVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOS8xMS45LjUvUzExLjkuNV9BOF9UMi5qcwogKiBAZGVzY3JpcHRpb24geCBvciB5IGlzIHByaW1pdGl2ZSBudW1iZXIKICovCgovL0NIRUNLIzEKaWYgKCEoMSAhPT0gbmV3IE51bWJlcigxKSkpIHsKICAkRVJST1IoJyMxOiAxICE9PSBuZXcgTnVtYmVyKDEpJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoISgxICE9PSB0cnVlKSkgewogICRFUlJPUignIzI6IDEgIT09IHRydWUnKTsKfQoKLy9DSEVDSyMzCmlmICghKDEgIT09IG5ldyBCb29sZWFuKDEpKSkgewogICRFUlJPUignIzM6IDEgIT09IG5ldyBCb29sZWFuKDEpJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoISgxICE9PSAiMSIpKSB7CiAgJEVSUk9SKCcjNDogMSAhPT0gIjEiJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoISgxICE9PSBuZXcgU3RyaW5nKDEpKSkgewogICRFUlJPUignIzU6IDEgIT09IG5ldyBTdHJpbmcoMSknKTsKfQoKLy9DSEVDSyM2CmlmICghKG5ldyBOdW1iZXIoMCkgIT09IDApKSB7CiAgJEVSUk9SKCcjNjogbmV3IE51bWJlcigwKSAhPT0gMCcpOwp9CgovL0NIRUNLIzcKaWYgKCEoZmFsc2UgIT09IDApKSB7CiAgJEVSUk9SKCcjNzogZmFsc2UgIT09IDAnKTsKfQoKLy9DSEVDSyM4CmlmICghKG5ldyBCb29sZWFuKDApICE9PSAwKSkgewogICRFUlJPUignIzg6IG5ldyBCb29sZWFuKDApICE9PSAwJyk7Cn0KCi8vQ0hFQ0sjOQppZiAoISgiMCIgIT09IDApKSB7CiAgJEVSUk9SKCcjOTogIjAiICE9PSAwJyk7Cn0KCi8vQ0hFQ0sjMTAKaWYgKCEobmV3IFN0cmluZygwKSAhPT0gMCkpIHsKICAkRVJST1IoJyMxMDogbmV3IFN0cmluZygwKSAhPT0gMCcpOwp9CgovL0NIRUNLIzExCmlmICghKDEgIT09IHt2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7cmV0dXJuIDF9fSkpIHsKICAkRVJST1IoJyMxMTogMSAhPT0ge3ZhbHVlT2Y6IGZ1bmN0aW9uICgpIHtyZXR1cm4gMX19Jyk7Cn0KCg==",
"commentary":"If Type(x) is different from Type(y), return true",
"description":"x or y is primitive number",
"path":"TestCases/ch11/11.9/11.9.5/S11.9.5_A8_T2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSksIHJldHVybiB0cnVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOS8xMS45LjUvUzExLjkuNV9BOF9UMy5qcwogKiBAZGVzY3JpcHRpb24geCBvciB5IGlzIHByaW1pdGl2ZSBzdHJpbmcKICovCgovL0NIRUNLIzEKaWYgKCEoIjEiICE9PSBuZXcgU3RyaW5nKCIxIikpKSB7CiAgJEVSUk9SKCcjMTogIjEiICE9PSBuZXcgU3RyaW5nKCIxIiknKTsKfQoKLy9DSEVDSyMyCmlmICghKCIxIiAhPT0gdHJ1ZSkpIHsKICAkRVJST1IoJyMyOiAiMSIgIT09IHRydWUnKTsKfQoKLy9DSEVDSyMzCmlmICghKCIxIiAhPT0gbmV3IEJvb2xlYW4oIjEiKSkpIHsKICAkRVJST1IoJyMzOiAiMSIgIT09IG5ldyBCb29sZWFuKCIxIiknKTsKfQoKLy9DSEVDSyM0CmlmICghKCIxIiAhPT0gMSkpIHsKICAkRVJST1IoJyM0OiAiMSIgPT09IDEnKTsKfQoKLy9DSEVDSyM1CmlmICghKCIxIiAhPT0gbmV3IE51bWJlcigiMSIpKSkgewogICRFUlJPUignIzU6ICIxIiA9PT0gbmV3IE51bWJlcigiMSIpJyk7Cn0KCi8vQ0hFQ0sjNgppZiAoIShuZXcgU3RyaW5nKGZhbHNlKSAhPT0gZmFsc2UpKSB7CiAgJEVSUk9SKCcjNjogbmV3IE51bWJlcihmYWxzZSkgIT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNwppZiAoIShmYWxzZSAhPT0gIjAiKSkgewogICRFUlJPUignIzc6IGZhbHNlICE9PSAiMCInKTsKfQoKLy9DSEVDSyM4CmlmICghKCIwIiAhPT0gbmV3IEJvb2xlYW4oIjAiKSkpIHsKICAkRVJST1IoJyM4OiAiMCIgIT09IG5ldyBCb29sZWFuKCIwIiknKTsKfQoKLy9DSEVDSyM5CmlmICghKGZhbHNlICE9PSAwKSkgewogICRFUlJPUignIzk6IGZhbHNlICE9PSAwJyk7Cn0KCi8vQ0hFQ0sjMTAKaWYgKCEoZmFsc2UgIT09IG5ldyBOdW1iZXIoZmFsc2UpKSkgewogICRFUlJPUignIzEwOiBmYWxzZSAhPT0gbmV3IE51bWJlcihmYWxzZSknKTsKfQoKLy9DSEVDSyMxMQppZiAoISgiMSIgIT09IHt2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7cmV0dXJuICIxIn19KSkgewogICRFUlJPUignIzExOiAiMSIgIT09IHt2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7cmV0dXJuICIxIn19Jyk7Cn0KCgo=",
"commentary":"If Type(x) is different from Type(y), return true",
"description":"x or y is primitive string",
"path":"TestCases/ch11/11.9/11.9.5/S11.9.5_A8_T3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSksIHJldHVybiB0cnVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOS8xMS45LjUvUzExLjkuNV9BOF9UNC5qcwogKiBAZGVzY3JpcHRpb24geCBvciB5IGlzIG51bGwgb3IgdW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCmlmICghKHVuZGVmaW5lZCAhPT0gbnVsbCkpIHsKICAkRVJST1IoJyMxOiB1bmRlZmluZWQgIT09IG51bGwnKTsKfQoKLy9DSEVDSyMyCmlmICghKG51bGwgIT09IHVuZGVmaW5lZCkpIHsKICAkRVJST1IoJyMyOiBudWxsICE9PSB1bmRlZmluZWQnKTsKfQoKLy9DSEVDSyMzCmlmICghKG51bGwgIT09IDApKSB7CiAgJEVSUk9SKCcjMzogbnVsbCAhPT0gMCcpOwp9CgovL0NIRUNLIzQKaWYgKCEoMCAhPT0gbnVsbCkpIHsKICAkRVJST1IoJyM0OiAwICE9PSBudWxsJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoIShudWxsICE9PSBmYWxzZSkpIHsKICAkRVJST1IoJyM1OiBudWxsICE9PSBmYWxzZScpOwp9CgovL0NIRUNLIzYKaWYgKCEoZmFsc2UgIT09IG51bGwpKSB7CiAgJEVSUk9SKCcjNjogZmFsc2UgIT09IG51bGwnKTsKfQoKLy9DSEVDSyM3CmlmICghKHVuZGVmaW5lZCAhPT0gZmFsc2UpKSB7CiAgJEVSUk9SKCcjNzogdW5kZWZpbmVkICE9PSBmYWxzZScpOwp9CgovL0NIRUNLIzgKaWYgKCEoZmFsc2UgIT09IHVuZGVmaW5lZCkpIHsKICAkRVJST1IoJyM4OiBmYWxzZSAhPT0gdW5kZWZpbmVkJyk7Cn0KCi8vQ0hFQ0sjOQppZiAoIShudWxsICE9PSBuZXcgT2JqZWN0KCkpKSB7CiAgJEVSUk9SKCcjOTogbnVsbCAhPT0gbmV3IE9iamVjdCgpJyk7Cn0KCi8vQ0hFQ0sjMTAKaWYgKCEobmV3IE9iamVjdCgpICE9PSBudWxsKSkgewogICRFUlJPUignIzEwOiBuZXcgT2JqZWN0KCkgIT09IG51bGwnKTsKfQoKLy9DSEVDSyMxMQppZiAoIShudWxsICE9PSAibnVsbCIpKSB7CiAgJEVSUk9SKCcjMTE6IG51bGwgIT09ICJudWxsIicpOwp9CgovL0NIRUNLIzEyCmlmICghKCJudWxsIiAhPT0gbnVsbCkpIHsKICAkRVJST1IoJyMxMjogIm51bGwiICE9PSBudWxsJyk7Cn0KCi8vQ0hFQ0sjMTMKaWYgKCEodW5kZWZpbmVkICE9PSAidW5kZWZpbmVkIikpIHsKICAkRVJST1IoJyMxMzogdW5kZWZpbmVkICE9PSAidW5kZWZpbmVkIicpOwp9CgovL0NIRUNLIzE0CmlmICghKCJ1bmRlZmluZWQiICE9PSB1bmRlZmluZWQpKSB7CiAgJEVSUk9SKCcjMTQ6ICJ1bmRlZmluZWQiICE9PSB1bmRlZmluZWQnKTsKfQoK",
"commentary":"If Type(x) is different from Type(y), return true",
"description":"x or y is null or undefined",
"path":"TestCases/ch11/11.9/11.9.5/S11.9.5_A8_T4.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSksIHJldHVybiB0cnVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOS8xMS45LjUvUzExLjkuNV9BOF9UNS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgc3VjaCB4IGFuZCB5IHRoYXQgZWl0aGVyIHggb3IgeSBpcyBwcmltaXRpdmUgc3RyaW5nIGFuZCB0aGUgb3RoZXIgaXMgcHJpbWl0aXZlIG51bWJlcgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHRocm93IDE7Cn0gY2F0Y2goZSkgewogIGlmICghKGUgIT09ICIxIikpIHsKICAgICRFUlJPUignIzE6IHRocm93IDEgIT09ICIxIicpOwogIH0KfQoKLy9DSEVDSyMyCnRyeSB7CiAgdGhyb3cgIjEiOwp9IGNhdGNoKGUpIHsKICBpZiAoISgxICE9PSBlKSkgewogICAgJEVSUk9SKCcjMjogMSAhPT0gdGhyb3cgIjEiJyk7CiAgfQp9IAoK",
"commentary":"If Type(x) is different from Type(y), return true",
"description":"Checking such x and y that either x or y is primitive string and the other is primitive number",
"path":"TestCases/ch11/11.9/11.9.5/S11.9.5_A8_T5.js"
}
]
}
}