{ "type": "Program", "start": 0, "end": 5750, "range": [0, 5750], "body": [{ "type": "ClassDeclaration", "start": 1, "end": 5682, "range": [1, 5682], "id": { "type": "Identifier", "start": 7, "end": 13, "range": [7, 13], "name": "Events" }, "superClass": null, "body": { "type": "ClassBody", "start": 14, "end": 5682, "range": [14, 5682], "body": [{ "type": "MethodDefinition", "start": 21, "end": 468, "range": [21, 468], "computed": false, "key": { "type": "Identifier", "start": 28, "end": 39, "range": [28, 39], "name": "isMouseDown" }, "static": true, "kind": "method", "value": { "type": "FunctionExpression", "start": 39, "end": 468, "range": [39, 468], "id": null, "generator": false, "expression": false, "params": [{ "type": "Identifier", "start": 40, "end": 45, "range": [40, 45], "name": "event" }], "body": { "type": "BlockStatement", "start": 47, "end": 468, "range": [47, 468], "body": [{ "type": "IfStatement", "start": 327, "end": 418, "range": [327, 418], "test": { "type": "CallExpression", "start": 331, "end": 372, "range": [331, 372], "callee": { "type": "MemberExpression", "start": 331, "end": 342, "range": [331, 342], "object": { "type": "Identifier", "start": 331, "end": 338, "range": [331, 338], "name": "Reflect" }, "property": { "type": "Identifier", "start": 339, "end": 342, "range": [339, 342], "name": "has" }, "computed": false }, "arguments": [{ "type": "Identifier", "start": 343, "end": 348, "range": [343, 348], "name": "event" }, { "type": "Literal", "start": 350, "end": 371, "range": [350, 371], "value": "mouseDownSubstitute", "raw": "'mouseDownSubstitute'" }] }, "consequent": { "type": "ReturnStatement", "start": 386, "end": 418, "range": [386, 418], "argument": { "type": "MemberExpression", "start": 393, "end": 418, "range": [393, 418], "object": { "type": "Identifier", "start": 393, "end": 398, "range": [393, 398], "name": "event" }, "property": { "type": "Identifier", "start": 399, "end": 418, "range": [399, 418], "name": "mouseDownSubstitute" }, "computed": false } }, "alternate": null }, { "type": "ReturnStatement", "start": 427, "end": 462, "range": [427, 462], "argument": { "type": "LogicalExpression", "start": 434, "end": 462, "range": [434, 462], "left": { "type": "MemberExpression", "start": 434, "end": 447, "range": [434, 447], "object": { "type": "Identifier", "start": 434, "end": 439, "range": [434, 439], "name": "event" }, "property": { "type": "Identifier", "start": 440, "end": 447, "range": [440, 447], "name": "buttons" }, "computed": false }, "operator": "||", "right": { "type": "MemberExpression", "start": 451, "end": 462, "range": [451, 462], "object": { "type": "Identifier", "start": 451, "end": 456, "range": [451, 456], "name": "event" }, "property": { "type": "Identifier", "start": 457, "end": 462, "range": [457, 462], "name": "which" }, "computed": false } } }] } } }, { "type": "MethodDefinition", "start": 474, "end": 996, "range": [474, 996], "computed": false, "key": { "type": "Identifier", "start": 481, "end": 495, "range": [481, 495], "name": "extractTouches" }, "static": true, "kind": "method", "value": { "type": "FunctionExpression", "start": 495, "end": 996, "range": [495, 996], "id": null, "generator": false, "expression": false, "params": [{ "type": "Identifier", "start": 496, "end": 503, "range": [496, 503], "name": "targets" }], "body": { "type": "BlockStatement", "start": 505, "end": 996, "range": [505, 996], "body": [{ "type": "VariableDeclaration", "start": 515, "end": 531, "range": [515, 531], "declarations": [{ "type": "VariableDeclarator", "start": 519, "end": 531, "range": [519, 531], "id": { "type": "Identifier", "start": 519, "end": 526, "range": [519, 526], "name": "touches" }, "init": { "type": "ArrayExpression", "start": 529, "end": 531, "range": [529, 531], "elements": [] } }], "kind": "let" }, { "type": "ForStatement", "start": 540, "end": 967, "range": [540, 967], "init": { "type": "VariableDeclaration", "start": 545, "end": 552, "range": [545, 552], "declarations": [{ "type": "VariableDeclarator", "start": 549, "end": 552, "range": [549, 552], "id": { "type": "Identifier", "start": 549, "end": 550, "range": [549, 550], "name": "i" }, "init": { "type": "Literal", "start": 551, "end": 552, "range": [551, 552], "value": 0, "raw": "0" } }], "kind": "let" }, "test": { "type": "BinaryExpression", "start": 554, "end": 570, "range": [554, 570], "left": { "type": "Identifier", "start": 554, "end": 555, "range": [554, 555], "name": "i" }, "operator": "<", "right": { "type": "MemberExpression", "start": 556, "end": 570, "range": [556, 570], "object": { "type": "Identifier", "start": 556, "end": 563, "range": [556, 563], "name": "targets" }, "property": { "type": "Identifier", "start": 564, "end": 570, "range": [564, 570], "name": "length" }, "computed": false } }, "update": { "type": "UpdateExpression", "start": 572, "end": 575, "range": [572, 575], "operator": "++", "prefix": false, "argument": { "type": "Identifier", "start": 572, "end": 573, "range": [572, 573], "name": "i" } }, "body": { "type": "BlockStatement", "start": 577, "end": 967, "range": [577, 967], "body": [{ "type": "VariableDeclaration", "start": 591, "end": 609, "range": [591, 609], "declarations": [{ "type": "VariableDeclarator", "start": 595, "end": 609, "range": [595, 609], "id": { "type": "Identifier", "start": 595, "end": 596, "range": [595, 596], "name": "t" }, "init": { "type": "MemberExpression", "start": 599, "end": 609, "range": [599, 609], "object": { "type": "Identifier", "start": 599, "end": 606, "range": [599, 606], "name": "targets" }, "property": { "type": "Identifier", "start": 607, "end": 608, "range": [607, 608], "name": "i" }, "computed": true } }], "kind": "let" }, { "type": "ExpressionStatement", "start": 622, "end": 957, "range": [622, 957], "expression": { "type": "CallExpression", "start": 622, "end": 957, "range": [622, 957], "callee": { "type": "MemberExpression", "start": 622, "end": 634, "range": [622, 634], "object": { "type": "Identifier", "start": 622, "end": 629, "range": [622, 629], "name": "touches" }, "property": { "type": "Identifier", "start": 630, "end": 634, "range": [630, 634], "name": "push" }, "computed": false }, "arguments": [{ "type": "ObjectExpression", "start": 635, "end": 956, "range": [635, 956], "properties": [{ "type": "Property", "start": 653, "end": 692, "range": [653, 692], "method": false, "shorthand": false, "computed": false, "key": { "type": "Identifier", "start": 653, "end": 667, "range": [653, 667], "name": "targetSelector" }, "value": { "type": "CallExpression", "start": 669, "end": 692, "range": [669, 692], "callee": { "type": "MemberExpression", "start": 669, "end": 682, "range": [669, 682], "object": { "type": "ThisExpression", "start": 669, "end": 673, "range": [669, 673] }, "property": { "type": "Identifier", "start": 674, "end": 682, "range": [674, 682], "name": "selector" }, "computed": false }, "arguments": [{ "type": "MemberExpression", "start": 683, "end": 691, "range": [683, 691], "object": { "type": "Identifier", "start": 683, "end": 684, "range": [683, 684], "name": "t" }, "property": { "type": "Identifier", "start": 685, "end": 691, "range": [685, 691], "name": "target" }, "computed": false }] }, "kind": "init" }, { "type": "Property", "start": 710, "end": 734, "range": [710, 734], "method": false, "shorthand": false, "computed": false, "key": { "type": "Identifier", "start": 710, "end": 720, "range": [710, 720], "name": "identifier" }, "value": { "type": "MemberExpression", "start": 722, "end": 734, "range": [722, 734], "object": { "type": "Identifier", "start": 722, "end": 723, "range": [722, 723], "name": "t" }, "property": { "type": "Identifier", "start": 724, "end": 734, "range": [724, 734], "name": "identifier" }, "computed": false }, "kind": "init" }, { "type": "Property", "start": 752, "end": 770, "range": [752, 770], "method": false, "shorthand": false, "computed": false, "key": { "type": "Identifier", "start": 752, "end": 759, "range": [752, 759], "name": "screenX" }, "value": { "type": "MemberExpression", "start": 761, "end": 770, "range": [761, 770], "object": { "type": "Identifier", "start": 761, "end": 762, "range": [761, 762], "name": "t" }, "property": { "type": "Identifier", "start": 763, "end": 770, "range": [763, 770], "name": "screenX" }, "computed": false }, "kind": "init" }, { "type": "Property", "start": 788, "end": 806, "range": [788, 806], "method": false, "shorthand": false, "computed": false, "key": { "type": "Identifier", "start": 788, "end": 795, "range": [788, 795], "name": "screenY" }, "value": { "type": "MemberExpression", "start": 797, "end": 806, "range": [797, 806], "object": { "type": "Identifier", "start": 797, "end": 798, "range": [797, 798], "name": "t" }, "property": { "type": "Identifier", "start": 799, "end": 806, "range": [799, 806], "name": "screenY" }, "computed": false }, "kind": "init" }, { "type": "Property", "start": 824, "end": 842, "range": [824, 842], "method": false, "shorthand": false, "computed": false, "key": { "type": "Identifier", "start": 824, "end": 831, "range": [824, 831], "name": "clientX" }, "value": { "type": "MemberExpression", "start": 833, "end": 842, "range": [833, 842], "object": { "type": "Identifier", "start": 833, "end": 834, "range": [833, 834], "name": "t" }, "property": { "type": "Identifier", "start": 835, "end": 842, "range": [835, 842], "name": "clientX" }, "computed": false }, "kind": "init" }, { "type": "Property", "start": 860, "end": 878, "range": [860, 878], "method": false, "shorthand": false, "computed": false, "key": { "type": "Identifier", "start": 860, "end": 867, "range": [860, 867], "name": "clientY" }, "value": { "type": "MemberExpression", "start": 869, "end": 878, "range": [869, 878], "object": { "type": "Identifier", "start": 869, "end": 870, "range": [869, 870], "name": "t" }, "property": { "type": "Identifier", "start": 871, "end": 878, "range": [871, 878], "name": "clientY" }, "computed": false }, "kind": "init" }, { "type": "Property", "start": 896, "end": 910, "range": [896, 910], "method": false, "shorthand": false, "computed": false, "key": { "type": "Identifier", "start": 896, "end": 901, "range": [896, 901], "name": "pageX" }, "value": { "type": "MemberExpression", "start": 903, "end": 910, "range": [903, 910], "object": { "type": "Identifier", "start": 903, "end": 904, "range": [903, 904], "name": "t" }, "property": { "type": "Identifier", "start": 905, "end": 910, "range": [905, 910], "name": "pageX" }, "computed": false }, "kind": "init" }, { "type": "Property", "start": 928, "end": 942, "range": [928, 942], "method": false, "shorthand": false, "computed": false, "key": { "type": "Identifier", "start": 928, "end": 933, "range": [928, 933], "name": "pageY" }, "value": { "type": "MemberExpression", "start": 935, "end": 942, "range": [935, 942], "object": { "type": "Identifier", "start": 935, "end": 936, "range": [935, 936], "name": "t" }, "property": { "type": "Identifier", "start": 937, "end": 942, "range": [937, 942], "name": "pageY" }, "computed": false }, "kind": "init" }] }] } }] } }, { "type": "ReturnStatement", "start": 976, "end": 990, "range": [976, 990], "argument": { "type": "Identifier", "start": 983, "end": 990, "range": [983, 990], "name": "touches" } }] } } }, { "type": "MethodDefinition", "start": 1002, "end": 1449, "range": [1002, 1449], "computed": false, "key": { "type": "Identifier", "start": 1009, "end": 1024, "range": [1009, 1024], "name": "createTouchList" }, "static": true, "kind": "method", "value": { "type": "FunctionExpression", "start": 1024, "end": 1449, "range": [1024, 1449], "id": null, "generator": false, "expression": false, "params": [{ "type": "Identifier", "start": 1025, "end": 1032, "range": [1025, 1032], "name": "targets" }], "body": { "type": "BlockStatement", "start": 1034, "end": 1449, "range": [1034, 1449], "body": [{ "type": "VariableDeclaration", "start": 1044, "end": 1060, "range": [1044, 1060], "declarations": [{ "type": "VariableDeclarator", "start": 1048, "end": 1060, "range": [1048, 1060], "id": { "type": "Identifier", "start": 1048, "end": 1055, "range": [1048, 1055], "name": "touches" }, "init": { "type": "ArrayExpression", "start": 1058, "end": 1060, "range": [1058, 1060], "elements": [] } }], "kind": "let" }, { "type": "ForStatement", "start": 1069, "end": 1402, "range": [1069, 1402], "init": { "type": "VariableDeclaration", "start": 1074, "end": 1081, "range": [1074, 1081], "declarations": [{ "type": "VariableDeclarator", "start": 1078, "end": 1081, "range": [1078, 1081], "id": { "type": "Identifier", "start": 1078, "end": 1079, "range": [1078, 1079], "name": "i" }, "init": { "type": "Literal", "start": 1080, "end": 1081, "range": [1080, 1081], "value": 0, "raw": "0" } }], "kind": "let" }, "test": { "type": "BinaryExpression", "start": 1083, "end": 1099, "range": [1083, 1099], "left": { "type": "Identifier", "start": 1083, "end": 1084, "range": [1083, 1084], "name": "i" }, "operator": "<", "right": { "type": "MemberExpression", "start": 1085, "end": 1099, "range": [1085, 1099], "object": { "type": "Identifier", "start": 1085, "end": 1092, "range": [1085, 1092], "name": "targets" }, "property": { "type": "Identifier", "start": 1093, "end": 1099, "range": [1093, 1099], "name": "length" }, "computed": false } }, "update": { "type": "UpdateExpression", "start": 1101, "end": 1104, "range": [1101, 1104], "operator": "++", "prefix": false, "argument": { "type": "Identifier", "start": 1101, "end": 1102, "range": [1101, 1102], "name": "i" } }, "body": { "type": "BlockStatement", "start": 1106, "end": 1402, "range": [1106, 1402], "body": [{ "type": "VariableDeclaration", "start": 1120, "end": 1138, "range": [1120, 1138], "declarations": [{ "type": "VariableDeclarator", "start": 1124, "end": 1138, "range": [1124, 1138], "id": { "type": "Identifier", "start": 1124, "end": 1125, "range": [1124, 1125], "name": "t" }, "init": { "type": "MemberExpression", "start": 1128, "end": 1138, "range": [1128, 1138], "object": { "type": "Identifier", "start": 1128, "end": 1135, "range": [1128, 1135], "name": "targets" }, "property": { "type": "Identifier", "start": 1136, "end": 1137, "range": [1136, 1137], "name": "i" }, "computed": true } }], "kind": "let" }, { "type": "VariableDeclaration", "start": 1151, "end": 1212, "range": [1151, 1212], "declarations": [{ "type": "VariableDeclarator", "start": 1155, "end": 1212, "range": [1155, 1212], "id": { "type": "Identifier", "start": 1155, "end": 1166, "range": [1155, 1166], "name": "touchTarget" }, "init": { "type": "CallExpression", "start": 1169, "end": 1212, "range": [1169, 1212], "callee": { "type": "MemberExpression", "start": 1169, "end": 1194, "range": [1169, 1194], "object": { "type": "Identifier", "start": 1169, "end": 1177, "range": [1169, 1177], "name": "document" }, "property": { "type": "Identifier", "start": 1178, "end": 1194, "range": [1178, 1194], "name": "elementFromPoint" }, "computed": false }, "arguments": [{ "type": "MemberExpression", "start": 1195, "end": 1202, "range": [1195, 1202], "object": { "type": "Identifier", "start": 1195, "end": 1196, "range": [1195, 1196], "name": "t" }, "property": { "type": "Identifier", "start": 1197, "end": 1202, "range": [1197, 1202], "name": "pageX" }, "computed": false }, { "type": "MemberExpression", "start": 1204, "end": 1211, "range": [1204, 1211], "object": { "type": "Identifier", "start": 1204, "end": 1205, "range": [1204, 1205], "name": "t" }, "property": { "type": "Identifier", "start": 1206, "end": 1211, "range": [1206, 1211], "name": "pageY" }, "computed": false }] } }], "kind": "let" }, { "type": "VariableDeclaration", "start": 1225, "end": 1360, "range": [1225, 1360], "declarations": [{ "type": "VariableDeclarator", "start": 1229, "end": 1360, "range": [1229, 1360], "id": { "type": "Identifier", "start": 1229, "end": 1234, "range": [1229, 1234], "name": "touch" }, "init": { "type": "NewExpression", "start": 1237, "end": 1360, "range": [1237, 1360], "callee": { "type": "Identifier", "start": 1241, "end": 1246, "range": [1241, 1246], "name": "Touch" }, "arguments": [{ "type": "Identifier", "start": 1247, "end": 1256, "range": [1247, 1256], "name": "undefined" }, { "type": "Identifier", "start": 1258, "end": 1269, "range": [1258, 1269], "name": "touchTarget" }, { "type": "MemberExpression", "start": 1271, "end": 1283, "range": [1271, 1283], "object": { "type": "Identifier", "start": 1271, "end": 1272, "range": [1271, 1272], "name": "t" }, "property": { "type": "Identifier", "start": 1273, "end": 1283, "range": [1273, 1283], "name": "identifier" }, "computed": false }, { "type": "MemberExpression", "start": 1321, "end": 1328, "range": [1321, 1328], "object": { "type": "Identifier", "start": 1321, "end": 1322, "range": [1321, 1322], "name": "t" }, "property": { "type": "Identifier", "start": 1323, "end": 1328, "range": [1323, 1328], "name": "pageX" }, "computed": false }, { "type": "MemberExpression", "start": 1330, "end": 1337, "range": [1330, 1337], "object": { "type": "Identifier", "start": 1330, "end": 1331, "range": [1330, 1331], "name": "t" }, "property": { "type": "Identifier", "start": 1332, "end": 1337, "range": [1332, 1337], "name": "pageY" }, "computed": false }, { "type": "MemberExpression", "start": 1339, "end": 1348, "range": [1339, 1348], "object": { "type": "Identifier", "start": 1339, "end": 1340, "range": [1339, 1340], "name": "t" }, "property": { "type": "Identifier", "start": 1341, "end": 1348, "range": [1341, 1348], "name": "screenX" }, "computed": false }, { "type": "MemberExpression", "start": 1350, "end": 1359, "range": [1350, 1359], "object": { "type": "Identifier", "start": 1350, "end": 1351, "range": [1350, 1351], "name": "t" }, "property": { "type": "Identifier", "start": 1352, "end": 1359, "range": [1352, 1359], "name": "screenY" }, "computed": false }] } }], "kind": "let" }, { "type": "ExpressionStatement", "start": 1373, "end": 1392, "range": [1373, 1392], "expression": { "type": "CallExpression", "start": 1373, "end": 1392, "range": [1373, 1392], "callee": { "type": "MemberExpression", "start": 1373, "end": 1385, "range": [1373, 1385], "object": { "type": "Identifier", "start": 1373, "end": 1380, "range": [1373, 1380], "name": "touches" }, "property": { "type": "Identifier", "start": 1381, "end": 1385, "range": [1381, 1385], "name": "push" }, "computed": false }, "arguments": [{ "type": "Identifier", "start": 1386, "end": 1391, "range": [1386, 1391], "name": "touch" }] } }] } }, { "type": "ReturnStatement", "start": 1411, "end": 1443, "range": [1411, 1443], "argument": { "type": "NewExpression", "start": 1418, "end": 1443, "range": [1418, 1443], "callee": { "type": "Identifier", "start": 1422, "end": 1431, "range": [1422, 1431], "name": "TouchList" }, "arguments": [{ "type": "SpreadElement", "start": 1432, "end": 1442, "range": [1432, 1442], "argument": { "type": "Identifier", "start": 1435, "end": 1442, "range": [1435, 1442], "name": "touches" } }] } }] } } }, { "type": "MethodDefinition", "start": 1455, "end": 2891, "range": [1455, 2891], "computed": false, "key": { "type": "Identifier", "start": 1462, "end": 1474, "range": [1462, 1474], "name": "extractEvent" }, "static": true, "kind": "method", "value": { "type": "FunctionExpression", "start": 1474, "end": 2891, "range": [1474, 2891], "id": null, "generator": false, "expression": false, "params": [{ "type": "Identifier", "start": 1475, "end": 1484, "range": [1475, 1484], "name": "timestamp" }, { "type": "Identifier", "start": 1486, "end": 1491, "range": [1486, 1491], "name": "event" }], "body": { "type": "BlockStatement", "start": 1493, "end": 2891, "range": [1493, 2891], "body": [{ "type": "VariableDeclaration", "start": 1503, "end": 2392, "range": [1503, 2392], "declarations": [{ "type": "VariableDeclarator", "start": 1507, "end": 2392, "range": [1507, 2392], "id": { "type": "Identifier", "start": 1507, "end": 1512, "range": [1507, 1512], "name": "infos" }, "init": { "type": "ObjectExpression", "start": 1515, "end": 2392, "range": [1515, 2392], "properties": [{ "type": "Property", "start": 1517, "end": 1533, "range": [1517, 1533], "method": false, "shorthand": false, "computed": false, "key": { "type": "Identifier", "start": 1517, "end": 1521, "range": [1517, 1521], "name": "type" }, "value": { "type": "MemberExpression", "start": 1523, "end": 1533, "range": [1523, 1533], "object": { "type": "Identifier", "start": 1523, "end": 1528, "range": [1523, 1528], "name": "event" }, "property": { "type": "Identifier", "start": 1529, "end": 1533, "range": [1529, 1533], "name": "type" }, "computed": false }, "kind": "init" }, { "type": "Property", "start": 1547, "end": 1562, "range": [1547, 1562], "method": false, "shorthand": false, "computed": false, "key": { "type": "Identifier", "start": 1547, "end": 1551, "range": [1547, 1551], "name": "time" }, "value": { "type": "Identifier", "start": 1553, "end": 1562, "range": [1553, 1562], "name": "timestamp" }, "kind": "init" }, { "type": "Property", "start": 1576, "end": 1606, "range": [1576, 1606], "method": false, "shorthand": false, "computed": false, "key": { "type": "Identifier", "start": 1576, "end": 1587, "range": [1576, 1587], "name": "constructor" }, "value": { "type": "MemberExpression", "start": 1589, "end": 1606, "range": [1589, 1606], "object": { "type": "Identifier", "start": 1589, "end": 1594, "range": [1589, 1594], "name": "event" }, "property": { "type": "Identifier", "start": 1595, "end": 1606, "range": [1595, 1606], "name": "constructor" }, "computed": false }, "kind": "init" }, { "type": "Property", "start": 1620, "end": 2378, "range": [1620, 2378], "method": false, "shorthand": false, "computed": false, "key": { "type": "Identifier", "start": 1620, "end": 1624, "range": [1620, 1624], "name": "data" }, "value": { "type": "ObjectExpression", "start": 1626, "end": 2378, "range": [1626, 2378], "properties": [{ "type": "Property", "start": 1644, "end": 1687, "range": [1644, 1687], "method": false, "shorthand": false, "computed": false, "key": { "type": "Identifier", "start": 1644, "end": 1658, "range": [1644, 1658], "name": "targetSelector" }, "value": { "type": "CallExpression", "start": 1660, "end": 1687, "range": [1660, 1687], "callee": { "type": "MemberExpression", "start": 1660, "end": 1673, "range": [1660, 1673], "object": { "type": "ThisExpression", "start": 1660, "end": 1664, "range": [1660, 1664] }, "property": { "type": "Identifier", "start": 1665, "end": 1673, "range": [1665, 1673], "name": "selector" }, "computed": false }, "arguments": [{ "type": "MemberExpression", "start": 1674, "end": 1686, "range": [1674, 1686], "object": { "type": "Identifier", "start": 1674, "end": 1679, "range": [1674, 1679], "name": "event" }, "property": { "type": "Identifier", "start": 1680, "end": 1686, "range": [1680, 1686], "name": "target" }, "computed": false }] }, "kind": "init" }, { "type": "Property", "start": 1705, "end": 1721, "range": [1705, 1721], "method": false, "shorthand": false, "computed": false, "key": { "type": "Identifier", "start": 1705, "end": 1709, "range": [1705, 1709], "name": "view" }, "value": { "type": "MemberExpression", "start": 1711, "end": 1721, "range": [1711, 1721], "object": { "type": "Identifier", "start": 1711, "end": 1716, "range": [1711, 1716], "name": "event" }, "property": { "type": "Identifier", "start": 1717, "end": 1721, "range": [1717, 1721], "name": "view" }, "computed": false }, "kind": "init" }, { "type": "Property", "start": 1739, "end": 1788, "range": [1739, 1788], "method": false, "shorthand": false, "computed": false, "key": { "type": "Identifier", "start": 1739, "end": 1758, "range": [1739, 1758], "name": "mouseDownSubstitute" }, "value": { "type": "LogicalExpression", "start": 1760, "end": 1788, "range": [1760, 1788], "left": { "type": "MemberExpression", "start": 1760, "end": 1773, "range": [1760, 1773], "object": { "type": "Identifier", "start": 1760, "end": 1765, "range": [1760, 1765], "name": "event" }, "property": { "type": "Identifier", "start": 1766, "end": 1773, "range": [1766, 1773], "name": "buttons" }, "computed": false }, "operator": "||", "right": { "type": "MemberExpression", "start": 1777, "end": 1788, "range": [1777, 1788], "object": { "type": "Identifier", "start": 1777, "end": 1782, "range": [1777, 1782], "name": "event" }, "property": { "type": "Identifier", "start": 1783, "end": 1788, "range": [1783, 1788], "name": "which" }, "computed": false } }, "kind": "init" }, { "type": "Property", "start": 1841, "end": 1863, "range": [1841, 1863], "method": false, "shorthand": false, "computed": false, "key": { "type": "Identifier", "start": 1841, "end": 1848, "range": [1841, 1848], "name": "bubbles" }, "value": { "type": "MemberExpression", "start": 1850, "end": 1863, "range": [1850, 1863], "object": { "type": "Identifier", "start": 1850, "end": 1855, "range": [1850, 1855], "name": "event" }, "property": { "type": "Identifier", "start": 1856, "end": 1863, "range": [1856, 1863], "name": "bubbles" }, "computed": false }, "kind": "init" }, { "type": "Property", "start": 1881, "end": 1909, "range": [1881, 1909], "method": false, "shorthand": false, "computed": false, "key": { "type": "Identifier", "start": 1881, "end": 1891, "range": [1881, 1891], "name": "cancelable" }, "value": { "type": "MemberExpression", "start": 1893, "end": 1909, "range": [1893, 1909], "object": { "type": "Identifier", "start": 1893, "end": 1898, "range": [1893, 1898], "name": "event" }, "property": { "type": "Identifier", "start": 1899, "end": 1909, "range": [1899, 1909], "name": "cancelable" }, "computed": false }, "kind": "init" }, { "type": "Property", "start": 1927, "end": 1949, "range": [1927, 1949], "method": false, "shorthand": false, "computed": false, "key": { "type": "Identifier", "start": 1927, "end": 1934, "range": [1927, 1934], "name": "screenX" }, "value": { "type": "MemberExpression", "start": 1936, "end": 1949, "range": [1936, 1949], "object": { "type": "Identifier", "start": 1936, "end": 1941, "range": [1936, 1941], "name": "event" }, "property": { "type": "Identifier", "start": 1942, "end": 1949, "range": [1942, 1949], "name": "screenX" }, "computed": false }, "kind": "init" }, { "type": "Property", "start": 1967, "end": 1989, "range": [1967, 1989], "method": false, "shorthand": false, "computed": false, "key": { "type": "Identifier", "start": 1967, "end": 1974, "range": [1967, 1974], "name": "screenY" }, "value": { "type": "MemberExpression", "start": 1976, "end": 1989, "range": [1976, 1989], "object": { "type": "Identifier", "start": 1976, "end": 1981, "range": [1976, 1981], "name": "event" }, "property": { "type": "Identifier", "start": 1982, "end": 1989, "range": [1982, 1989], "name": "screenY" }, "computed": false }, "kind": "init" }, { "type": "Property", "start": 2007, "end": 2029, "range": [2007, 2029], "method": false, "shorthand": false, "computed": false, "key": { "type": "Identifier", "start": 2007, "end": 2014, "range": [2007, 2014], "name": "clientX" }, "value": { "type": "MemberExpression", "start": 2016, "end": 2029, "range": [2016, 2029], "object": { "type": "Identifier", "start": 2016, "end": 2021, "range": [2016, 2021], "name": "event" }, "property": { "type": "Identifier", "start": 2022, "end": 2029, "range": [2022, 2029], "name": "clientX" }, "computed": false }, "kind": "init" }, { "type": "Property", "start": 2047, "end": 2069, "range": [2047, 2069], "method": false, "shorthand": false, "computed": false, "key": { "type": "Identifier", "start": 2047, "end": 2054, "range": [2047, 2054], "name": "clientY" }, "value": { "type": "MemberExpression", "start": 2056, "end": 2069, "range": [2056, 2069], "object": { "type": "Identifier", "start": 2056, "end": 2061, "range": [2056, 2061], "name": "event" }, "property": { "type": "Identifier", "start": 2062, "end": 2069, "range": [2062, 2069], "name": "clientY" }, "computed": false }, "kind": "init" }, { "type": "Property", "start": 2087, "end": 2107, "range": [2087, 2107], "method": false, "shorthand": false, "computed": false, "key": { "type": "Identifier", "start": 2087, "end": 2093, "range": [2087, 2093], "name": "layerX" }, "value": { "type": "MemberExpression", "start": 2095, "end": 2107, "range": [2095, 2107], "object": { "type": "Identifier", "start": 2095, "end": 2100, "range": [2095, 2100], "name": "event" }, "property": { "type": "Identifier", "start": 2101, "end": 2107, "range": [2101, 2107], "name": "layerX" }, "computed": false }, "kind": "init" }, { "type": "Property", "start": 2125, "end": 2145, "range": [2125, 2145], "method": false, "shorthand": false, "computed": false, "key": { "type": "Identifier", "start": 2125, "end": 2131, "range": [2125, 2131], "name": "layerY" }, "value": { "type": "MemberExpression", "start": 2133, "end": 2145, "range": [2133, 2145], "object": { "type": "Identifier", "start": 2133, "end": 2138, "range": [2133, 2138], "name": "event" }, "property": { "type": "Identifier", "start": 2139, "end": 2145, "range": [2139, 2145], "name": "layerY" }, "computed": false }, "kind": "init" }, { "type": "Property", "start": 2163, "end": 2181, "range": [2163, 2181], "method": false, "shorthand": false, "computed": false, "key": { "type": "Identifier", "start": 2163, "end": 2168, "range": [2163, 2168], "name": "pageX" }, "value": { "type": "MemberExpression", "start": 2170, "end": 2181, "range": [2170, 2181], "object": { "type": "Identifier", "start": 2170, "end": 2175, "range": [2170, 2175], "name": "event" }, "property": { "type": "Identifier", "start": 2176, "end": 2181, "range": [2176, 2181], "name": "pageX" }, "computed": false }, "kind": "init" }, { "type": "Property", "start": 2199, "end": 2217, "range": [2199, 2217], "method": false, "shorthand": false, "computed": false, "key": { "type": "Identifier", "start": 2199, "end": 2204, "range": [2199, 2204], "name": "pageY" }, "value": { "type": "MemberExpression", "start": 2206, "end": 2217, "range": [2206, 2217], "object": { "type": "Identifier", "start": 2206, "end": 2211, "range": [2206, 2211], "name": "event" }, "property": { "type": "Identifier", "start": 2212, "end": 2217, "range": [2212, 2217], "name": "pageY" }, "computed": false }, "kind": "init" }, { "type": "Property", "start": 2235, "end": 2257, "range": [2235, 2257], "method": false, "shorthand": false, "computed": false, "key": { "type": "Identifier", "start": 2235, "end": 2242, "range": [2235, 2242], "name": "ctrlKey" }, "value": { "type": "MemberExpression", "start": 2244, "end": 2257, "range": [2244, 2257], "object": { "type": "Identifier", "start": 2244, "end": 2249, "range": [2244, 2249], "name": "event" }, "property": { "type": "Identifier", "start": 2250, "end": 2257, "range": [2250, 2257], "name": "ctrlKey" }, "computed": false }, "kind": "init" }, { "type": "Property", "start": 2275, "end": 2295, "range": [2275, 2295], "method": false, "shorthand": false, "computed": false, "key": { "type": "Identifier", "start": 2275, "end": 2281, "range": [2275, 2281], "name": "altKey" }, "value": { "type": "MemberExpression", "start": 2283, "end": 2295, "range": [2283, 2295], "object": { "type": "Identifier", "start": 2283, "end": 2288, "range": [2283, 2288], "name": "event" }, "property": { "type": "Identifier", "start": 2289, "end": 2295, "range": [2289, 2295], "name": "altKey" }, "computed": false }, "kind": "init" }, { "type": "Property", "start": 2313, "end": 2337, "range": [2313, 2337], "method": false, "shorthand": false, "computed": false, "key": { "type": "Identifier", "start": 2313, "end": 2321, "range": [2313, 2321], "name": "shiftKey" }, "value": { "type": "MemberExpression", "start": 2323, "end": 2337, "range": [2323, 2337], "object": { "type": "Identifier", "start": 2323, "end": 2328, "range": [2323, 2328], "name": "event" }, "property": { "type": "Identifier", "start": 2329, "end": 2337, "range": [2329, 2337], "name": "shiftKey" }, "computed": false }, "kind": "init" }, { "type": "Property", "start": 2355, "end": 2377, "range": [2355, 2377], "method": false, "shorthand": false, "computed": false, "key": { "type": "Identifier", "start": 2355, "end": 2362, "range": [2355, 2362], "name": "metaKey" }, "value": { "type": "MemberExpression", "start": 2364, "end": 2377, "range": [2364, 2377], "object": { "type": "Identifier", "start": 2364, "end": 2369, "range": [2364, 2369], "name": "event" }, "property": { "type": "Identifier", "start": 2370, "end": 2377, "range": [2370, 2377], "name": "metaKey" }, "computed": false }, "kind": "init" }] }, "kind": "init" }] } }], "kind": "let" }, { "type": "IfStatement", "start": 2401, "end": 2772, "range": [2401, 2772], "test": { "type": "CallExpression", "start": 2405, "end": 2435, "range": [2405, 2435], "callee": { "type": "MemberExpression", "start": 2405, "end": 2426, "range": [2405, 2426], "object": { "type": "MemberExpression", "start": 2405, "end": 2415, "range": [2405, 2415], "object": { "type": "Identifier", "start": 2405, "end": 2410, "range": [2405, 2410], "name": "event" }, "property": { "type": "Identifier", "start": 2411, "end": 2415, "range": [2411, 2415], "name": "type" }, "computed": false }, "property": { "type": "Identifier", "start": 2416, "end": 2426, "range": [2416, 2426], "name": "startsWith" }, "computed": false }, "arguments": [{ "type": "Literal", "start": 2427, "end": 2434, "range": [2427, 2434], "value": "touch", "raw": "'touch'" }] }, "consequent": { "type": "BlockStatement", "start": 2437, "end": 2772, "range": [2437, 2772], "body": [{ "type": "VariableDeclaration", "start": 2529, "end": 2550, "range": [2529, 2550], "declarations": [{ "type": "VariableDeclarator", "start": 2533, "end": 2550, "range": [2533, 2550], "id": { "type": "Identifier", "start": 2533, "end": 2537, "range": [2533, 2537], "name": "data" }, "init": { "type": "MemberExpression", "start": 2540, "end": 2550, "range": [2540, 2550], "object": { "type": "Identifier", "start": 2540, "end": 2545, "range": [2540, 2545], "name": "infos" }, "property": { "type": "Identifier", "start": 2546, "end": 2550, "range": [2546, 2550], "name": "data" }, "computed": false } }], "kind": "let" }, { "type": "ExpressionStatement", "start": 2563, "end": 2624, "range": [2563, 2624], "expression": { "type": "AssignmentExpression", "start": 2563, "end": 2624, "range": [2563, 2624], "operator": "=", "left": { "type": "MemberExpression", "start": 2563, "end": 2581, "range": [2563, 2581], "object": { "type": "Identifier", "start": 2563, "end": 2567, "range": [2563, 2567], "name": "data" }, "property": { "type": "Identifier", "start": 2568, "end": 2581, "range": [2568, 2581], "name": "targetTouches" }, "computed": false }, "right": { "type": "CallExpression", "start": 2584, "end": 2624, "range": [2584, 2624], "callee": { "type": "MemberExpression", "start": 2584, "end": 2603, "range": [2584, 2603], "object": { "type": "ThisExpression", "start": 2584, "end": 2588, "range": [2584, 2588] }, "property": { "type": "Identifier", "start": 2589, "end": 2603, "range": [2589, 2603], "name": "extractTouches" }, "computed": false }, "arguments": [{ "type": "MemberExpression", "start": 2604, "end": 2623, "range": [2604, 2623], "object": { "type": "Identifier", "start": 2604, "end": 2609, "range": [2604, 2609], "name": "event" }, "property": { "type": "Identifier", "start": 2610, "end": 2623, "range": [2610, 2623], "name": "targetTouches" }, "computed": false }] } } }, { "type": "ExpressionStatement", "start": 2637, "end": 2700, "range": [2637, 2700], "expression": { "type": "AssignmentExpression", "start": 2637, "end": 2700, "range": [2637, 2700], "operator": "=", "left": { "type": "MemberExpression", "start": 2637, "end": 2656, "range": [2637, 2656], "object": { "type": "Identifier", "start": 2637, "end": 2641, "range": [2637, 2641], "name": "data" }, "property": { "type": "Identifier", "start": 2642, "end": 2656, "range": [2642, 2656], "name": "changedTouches" }, "computed": false }, "right": { "type": "CallExpression", "start": 2659, "end": 2700, "range": [2659, 2700], "callee": { "type": "MemberExpression", "start": 2659, "end": 2678, "range": [2659, 2678], "object": { "type": "ThisExpression", "start": 2659, "end": 2663, "range": [2659, 2663] }, "property": { "type": "Identifier", "start": 2664, "end": 2678, "range": [2664, 2678], "name": "extractTouches" }, "computed": false }, "arguments": [{ "type": "MemberExpression", "start": 2679, "end": 2699, "range": [2679, 2699], "object": { "type": "Identifier", "start": 2679, "end": 2684, "range": [2679, 2684], "name": "event" }, "property": { "type": "Identifier", "start": 2685, "end": 2699, "range": [2685, 2699], "name": "changedTouches" }, "computed": false }] } } }, { "type": "ExpressionStatement", "start": 2713, "end": 2762, "range": [2713, 2762], "expression": { "type": "AssignmentExpression", "start": 2713, "end": 2762, "range": [2713, 2762], "operator": "=", "left": { "type": "MemberExpression", "start": 2713, "end": 2725, "range": [2713, 2725], "object": { "type": "Identifier", "start": 2713, "end": 2717, "range": [2713, 2717], "name": "data" }, "property": { "type": "Identifier", "start": 2718, "end": 2725, "range": [2718, 2725], "name": "touches" }, "computed": false }, "right": { "type": "CallExpression", "start": 2728, "end": 2762, "range": [2728, 2762], "callee": { "type": "MemberExpression", "start": 2728, "end": 2747, "range": [2728, 2747], "object": { "type": "ThisExpression", "start": 2728, "end": 2732, "range": [2728, 2732] }, "property": { "type": "Identifier", "start": 2733, "end": 2747, "range": [2733, 2747], "name": "extractTouches" }, "computed": false }, "arguments": [{ "type": "MemberExpression", "start": 2748, "end": 2761, "range": [2748, 2761], "object": { "type": "Identifier", "start": 2748, "end": 2753, "range": [2748, 2753], "name": "event" }, "property": { "type": "Identifier", "start": 2754, "end": 2761, "range": [2754, 2761], "name": "touches" }, "computed": false }] } } }] }, "alternate": null }, { "type": "IfStatement", "start": 2781, "end": 2864, "range": [2781, 2864], "test": { "type": "MemberExpression", "start": 2785, "end": 2797, "range": [2785, 2797], "object": { "type": "Identifier", "start": 2785, "end": 2791, "range": [2785, 2791], "name": "Events" }, "property": { "type": "Identifier", "start": 2792, "end": 2797, "range": [2792, 2797], "name": "debug" }, "computed": false }, "consequent": { "type": "BlockStatement", "start": 2799, "end": 2864, "range": [2799, 2864], "body": [{ "type": "ExpressionStatement", "start": 2813, "end": 2854, "range": [2813, 2854], "expression": { "type": "CallExpression", "start": 2813, "end": 2854, "range": [2813, 2854], "callee": { "type": "MemberExpression", "start": 2813, "end": 2834, "range": [2813, 2834], "object": { "type": "MemberExpression", "start": 2813, "end": 2829, "range": [2813, 2829], "object": { "type": "Identifier", "start": 2813, "end": 2819, "range": [2813, 2819], "name": "Events" }, "property": { "type": "Identifier", "start": 2820, "end": 2829, "range": [2820, 2829], "name": "extracted" }, "computed": false }, "property": { "type": "Identifier", "start": 2830, "end": 2834, "range": [2830, 2834], "name": "push" }, "computed": false }, "arguments": [{ "type": "CallExpression", "start": 2835, "end": 2853, "range": [2835, 2853], "callee": { "type": "MemberExpression", "start": 2835, "end": 2846, "range": [2835, 2846], "object": { "type": "ThisExpression", "start": 2835, "end": 2839, "range": [2835, 2839] }, "property": { "type": "Identifier", "start": 2840, "end": 2846, "range": [2840, 2846], "name": "toLine" }, "computed": false }, "arguments": [{ "type": "Identifier", "start": 2847, "end": 2852, "range": [2847, 2852], "name": "event" }] }] } }] }, "alternate": null }, { "type": "ReturnStatement", "start": 2873, "end": 2885, "range": [2873, 2885], "argument": { "type": "Identifier", "start": 2880, "end": 2885, "range": [2880, 2885], "name": "infos" } }] } } }, { "type": "MethodDefinition", "start": 2897, "end": 3714, "range": [2897, 3714], "computed": false, "key": { "type": "Identifier", "start": 2904, "end": 2914, "range": [2904, 2914], "name": "cloneEvent" }, "static": true, "kind": "method", "value": { "type": "FunctionExpression", "start": 2914, "end": 3714, "range": [2914, 3714], "id": null, "generator": false, "expression": false, "params": [{ "type": "Identifier", "start": 2915, "end": 2919, "range": [2915, 2919], "name": "type" }, { "type": "Identifier", "start": 2921, "end": 2932, "range": [2921, 2932], "name": "constructor" }, { "type": "Identifier", "start": 2934, "end": 2938, "range": [2934, 2938], "name": "data" }], "body": { "type": "BlockStatement", "start": 2940, "end": 3714, "range": [2940, 3714], "body": [{ "type": "IfStatement", "start": 2950, "end": 3425, "range": [2950, 3425], "test": { "type": "CallExpression", "start": 2954, "end": 2978, "range": [2954, 2978], "callee": { "type": "MemberExpression", "start": 2954, "end": 2969, "range": [2954, 2969], "object": { "type": "Identifier", "start": 2954, "end": 2958, "range": [2954, 2958], "name": "type" }, "property": { "type": "Identifier", "start": 2959, "end": 2969, "range": [2959, 2969], "name": "startsWith" }, "computed": false }, "arguments": [{ "type": "Literal", "start": 2970, "end": 2977, "range": [2970, 2977], "value": "touch", "raw": "'touch'" }] }, "consequent": { "type": "BlockStatement", "start": 2980, "end": 3425, "range": [2980, 3425], "body": [{ "type": "ExpressionStatement", "start": 3216, "end": 3277, "range": [3216, 3277], "expression": { "type": "AssignmentExpression", "start": 3216, "end": 3277, "range": [3216, 3277], "operator": "=", "left": { "type": "MemberExpression", "start": 3216, "end": 3234, "range": [3216, 3234], "object": { "type": "Identifier", "start": 3216, "end": 3220, "range": [3216, 3220], "name": "data" }, "property": { "type": "Identifier", "start": 3221, "end": 3234, "range": [3221, 3234], "name": "targetTouches" }, "computed": false }, "right": { "type": "CallExpression", "start": 3237, "end": 3277, "range": [3237, 3277], "callee": { "type": "MemberExpression", "start": 3237, "end": 3257, "range": [3237, 3257], "object": { "type": "ThisExpression", "start": 3237, "end": 3241, "range": [3237, 3241] }, "property": { "type": "Identifier", "start": 3242, "end": 3257, "range": [3242, 3257], "name": "createTouchList" }, "computed": false }, "arguments": [{ "type": "MemberExpression", "start": 3258, "end": 3276, "range": [3258, 3276], "object": { "type": "Identifier", "start": 3258, "end": 3262, "range": [3258, 3262], "name": "data" }, "property": { "type": "Identifier", "start": 3263, "end": 3276, "range": [3263, 3276], "name": "targetTouches" }, "computed": false }] } } }, { "type": "ExpressionStatement", "start": 3290, "end": 3353, "range": [3290, 3353], "expression": { "type": "AssignmentExpression", "start": 3290, "end": 3353, "range": [3290, 3353], "operator": "=", "left": { "type": "MemberExpression", "start": 3290, "end": 3309, "range": [3290, 3309], "object": { "type": "Identifier", "start": 3290, "end": 3294, "range": [3290, 3294], "name": "data" }, "property": { "type": "Identifier", "start": 3295, "end": 3309, "range": [3295, 3309], "name": "changedTouches" }, "computed": false }, "right": { "type": "CallExpression", "start": 3312, "end": 3353, "range": [3312, 3353], "callee": { "type": "MemberExpression", "start": 3312, "end": 3332, "range": [3312, 3332], "object": { "type": "ThisExpression", "start": 3312, "end": 3316, "range": [3312, 3316] }, "property": { "type": "Identifier", "start": 3317, "end": 3332, "range": [3317, 3332], "name": "createTouchList" }, "computed": false }, "arguments": [{ "type": "MemberExpression", "start": 3333, "end": 3352, "range": [3333, 3352], "object": { "type": "Identifier", "start": 3333, "end": 3337, "range": [3333, 3337], "name": "data" }, "property": { "type": "Identifier", "start": 3338, "end": 3352, "range": [3338, 3352], "name": "changedTouches" }, "computed": false }] } } }, { "type": "ExpressionStatement", "start": 3366, "end": 3415, "range": [3366, 3415], "expression": { "type": "AssignmentExpression", "start": 3366, "end": 3415, "range": [3366, 3415], "operator": "=", "left": { "type": "MemberExpression", "start": 3366, "end": 3378, "range": [3366, 3378], "object": { "type": "Identifier", "start": 3366, "end": 3370, "range": [3366, 3370], "name": "data" }, "property": { "type": "Identifier", "start": 3371, "end": 3378, "range": [3371, 3378], "name": "touches" }, "computed": false }, "right": { "type": "CallExpression", "start": 3381, "end": 3415, "range": [3381, 3415], "callee": { "type": "MemberExpression", "start": 3381, "end": 3401, "range": [3381, 3401], "object": { "type": "ThisExpression", "start": 3381, "end": 3385, "range": [3381, 3385] }, "property": { "type": "Identifier", "start": 3386, "end": 3401, "range": [3386, 3401], "name": "createTouchList" }, "computed": false }, "arguments": [{ "type": "MemberExpression", "start": 3402, "end": 3414, "range": [3402, 3414], "object": { "type": "Identifier", "start": 3402, "end": 3406, "range": [3402, 3406], "name": "data" }, "property": { "type": "Identifier", "start": 3407, "end": 3414, "range": [3407, 3414], "name": "touches" }, "computed": false }] } } }] }, "alternate": null }, { "type": "VariableDeclaration", "start": 3570, "end": 3626, "range": [3570, 3626], "declarations": [{ "type": "VariableDeclarator", "start": 3574, "end": 3626, "range": [3574, 3626], "id": { "type": "Identifier", "start": 3574, "end": 3579, "range": [3574, 3579], "name": "clone" }, "init": { "type": "CallExpression", "start": 3582, "end": 3626, "range": [3582, 3626], "callee": { "type": "MemberExpression", "start": 3582, "end": 3599, "range": [3582, 3599], "object": { "type": "Identifier", "start": 3582, "end": 3589, "range": [3582, 3589], "name": "Reflect" }, "property": { "type": "Identifier", "start": 3590, "end": 3599, "range": [3590, 3599], "name": "construct" }, "computed": false }, "arguments": [{ "type": "Identifier", "start": 3600, "end": 3611, "range": [3600, 3611], "name": "constructor" }, { "type": "ArrayExpression", "start": 3613, "end": 3625, "range": [3613, 3625], "elements": [{ "type": "Identifier", "start": 3614, "end": 3618, "range": [3614, 3618], "name": "type" }, { "type": "Identifier", "start": 3620, "end": 3624, "range": [3620, 3624], "name": "data" }] }] } }], "kind": "let" }, { "type": "ExpressionStatement", "start": 3635, "end": 3687, "range": [3635, 3687], "expression": { "type": "AssignmentExpression", "start": 3635, "end": 3687, "range": [3635, 3687], "operator": "=", "left": { "type": "MemberExpression", "start": 3635, "end": 3660, "range": [3635, 3660], "object": { "type": "Identifier", "start": 3635, "end": 3640, "range": [3635, 3640], "name": "clone" }, "property": { "type": "Identifier", "start": 3641, "end": 3660, "range": [3641, 3660], "name": "mouseDownSubstitute" }, "computed": false }, "right": { "type": "MemberExpression", "start": 3663, "end": 3687, "range": [3663, 3687], "object": { "type": "Identifier", "start": 3663, "end": 3667, "range": [3663, 3667], "name": "data" }, "property": { "type": "Identifier", "start": 3668, "end": 3687, "range": [3668, 3687], "name": "mouseDownSubstitute" }, "computed": false } } }, { "type": "ReturnStatement", "start": 3696, "end": 3708, "range": [3696, 3708], "argument": { "type": "Identifier", "start": 3703, "end": 3708, "range": [3703, 3708], "name": "clone" } }] } } }, { "type": "MethodDefinition", "start": 3720, "end": 4082, "range": [3720, 4082], "computed": false, "key": { "type": "Identifier", "start": 3727, "end": 3740, "range": [3727, 3740], "name": "simulateEvent" }, "static": true, "kind": "method", "value": { "type": "FunctionExpression", "start": 3740, "end": 4082, "range": [3740, 4082], "id": null, "generator": false, "expression": false, "params": [{ "type": "Identifier", "start": 3741, "end": 3745, "range": [3741, 3745], "name": "type" }, { "type": "Identifier", "start": 3747, "end": 3758, "range": [3747, 3758], "name": "constructor" }, { "type": "Identifier", "start": 3760, "end": 3764, "range": [3760, 3764], "name": "data" }], "body": { "type": "BlockStatement", "start": 3766, "end": 4082, "range": [3766, 4082], "body": [{ "type": "ExpressionStatement", "start": 3776, "end": 3833, "range": [3776, 3833], "expression": { "type": "AssignmentExpression", "start": 3776, "end": 3833, "range": [3776, 3833], "operator": "=", "left": { "type": "MemberExpression", "start": 3776, "end": 3787, "range": [3776, 3787], "object": { "type": "Identifier", "start": 3776, "end": 3780, "range": [3776, 3780], "name": "data" }, "property": { "type": "Identifier", "start": 3781, "end": 3787, "range": [3781, 3787], "name": "target" }, "computed": false }, "right": { "type": "CallExpression", "start": 3790, "end": 3833, "range": [3790, 3833], "callee": { "type": "MemberExpression", "start": 3790, "end": 3812, "range": [3790, 3812], "object": { "type": "Identifier", "start": 3790, "end": 3798, "range": [3790, 3798], "name": "document" }, "property": { "type": "Identifier", "start": 3799, "end": 3812, "range": [3799, 3812], "name": "querySelector" }, "computed": false }, "arguments": [{ "type": "MemberExpression", "start": 3813, "end": 3832, "range": [3813, 3832], "object": { "type": "Identifier", "start": 3813, "end": 3817, "range": [3813, 3817], "name": "data" }, "property": { "type": "Identifier", "start": 3818, "end": 3832, "range": [3818, 3832], "name": "targetSelector" }, "computed": false }] } } }, { "type": "VariableDeclaration", "start": 3842, "end": 3894, "range": [3842, 3894], "declarations": [{ "type": "VariableDeclarator", "start": 3846, "end": 3894, "range": [3846, 3894], "id": { "type": "Identifier", "start": 3846, "end": 3851, "range": [3846, 3851], "name": "clone" }, "init": { "type": "CallExpression", "start": 3854, "end": 3894, "range": [3854, 3894], "callee": { "type": "MemberExpression", "start": 3854, "end": 3869, "range": [3854, 3869], "object": { "type": "ThisExpression", "start": 3854, "end": 3858, "range": [3854, 3858] }, "property": { "type": "Identifier", "start": 3859, "end": 3869, "range": [3859, 3869], "name": "cloneEvent" }, "computed": false }, "arguments": [{ "type": "Identifier", "start": 3870, "end": 3874, "range": [3870, 3874], "name": "type" }, { "type": "Identifier", "start": 3876, "end": 3887, "range": [3876, 3887], "name": "constructor" }, { "type": "Identifier", "start": 3889, "end": 3893, "range": [3889, 3893], "name": "data" }] } }], "kind": "let" }, { "type": "IfStatement", "start": 3903, "end": 3984, "range": [3903, 3984], "test": { "type": "BinaryExpression", "start": 3907, "end": 3926, "range": [3907, 3926], "left": { "type": "MemberExpression", "start": 3907, "end": 3918, "range": [3907, 3918], "object": { "type": "Identifier", "start": 3907, "end": 3911, "range": [3907, 3911], "name": "data" }, "property": { "type": "Identifier", "start": 3912, "end": 3918, "range": [3912, 3918], "name": "target" }, "computed": false }, "operator": "!=", "right": { "type": "Literal", "start": 3922, "end": 3926, "range": [3922, 3926], "value": null, "raw": "null" } }, "consequent": { "type": "BlockStatement", "start": 3928, "end": 3984, "range": [3928, 3984], "body": [{ "type": "ExpressionStatement", "start": 3942, "end": 3974, "range": [3942, 3974], "expression": { "type": "CallExpression", "start": 3942, "end": 3974, "range": [3942, 3974], "callee": { "type": "MemberExpression", "start": 3942, "end": 3967, "range": [3942, 3967], "object": { "type": "MemberExpression", "start": 3942, "end": 3953, "range": [3942, 3953], "object": { "type": "Identifier", "start": 3942, "end": 3946, "range": [3942, 3946], "name": "data" }, "property": { "type": "Identifier", "start": 3947, "end": 3953, "range": [3947, 3953], "name": "target" }, "computed": false }, "property": { "type": "Identifier", "start": 3954, "end": 3967, "range": [3954, 3967], "name": "dispatchEvent" }, "computed": false }, "arguments": [{ "type": "Identifier", "start": 3968, "end": 3973, "range": [3968, 3973], "name": "clone" }] } }] }, "alternate": null }, { "type": "IfStatement", "start": 3993, "end": 4076, "range": [3993, 4076], "test": { "type": "MemberExpression", "start": 3997, "end": 4009, "range": [3997, 4009], "object": { "type": "Identifier", "start": 3997, "end": 4003, "range": [3997, 4003], "name": "Events" }, "property": { "type": "Identifier", "start": 4004, "end": 4009, "range": [4004, 4009], "name": "debug" }, "computed": false }, "consequent": { "type": "BlockStatement", "start": 4011, "end": 4076, "range": [4011, 4076], "body": [{ "type": "ExpressionStatement", "start": 4025, "end": 4066, "range": [4025, 4066], "expression": { "type": "CallExpression", "start": 4025, "end": 4066, "range": [4025, 4066], "callee": { "type": "MemberExpression", "start": 4025, "end": 4046, "range": [4025, 4046], "object": { "type": "MemberExpression", "start": 4025, "end": 4041, "range": [4025, 4041], "object": { "type": "Identifier", "start": 4025, "end": 4031, "range": [4025, 4031], "name": "Events" }, "property": { "type": "Identifier", "start": 4032, "end": 4041, "range": [4032, 4041], "name": "simulated" }, "computed": false }, "property": { "type": "Identifier", "start": 4042, "end": 4046, "range": [4042, 4046], "name": "push" }, "computed": false }, "arguments": [{ "type": "CallExpression", "start": 4047, "end": 4065, "range": [4047, 4065], "callee": { "type": "MemberExpression", "start": 4047, "end": 4058, "range": [4047, 4058], "object": { "type": "ThisExpression", "start": 4047, "end": 4051, "range": [4047, 4051] }, "property": { "type": "Identifier", "start": 4052, "end": 4058, "range": [4052, 4058], "name": "toLine" }, "computed": false }, "arguments": [{ "type": "Identifier", "start": 4059, "end": 4064, "range": [4059, 4064], "name": "clone" }] }] } }] }, "alternate": null }] } } }, { "type": "MethodDefinition", "start": 4088, "end": 4704, "range": [4088, 4704], "computed": false, "key": { "type": "Identifier", "start": 4095, "end": 4101, "range": [4095, 4101], "name": "toLine" }, "static": true, "kind": "method", "value": { "type": "FunctionExpression", "start": 4101, "end": 4704, "range": [4101, 4704], "id": null, "generator": false, "expression": false, "params": [{ "type": "Identifier", "start": 4102, "end": 4107, "range": [4102, 4107], "name": "event" }], "body": { "type": "BlockStatement", "start": 4109, "end": 4704, "range": [4109, 4704], "body": [{ "type": "VariableDeclaration", "start": 4119, "end": 4142, "range": [4119, 4142], "declarations": [{ "type": "VariableDeclarator", "start": 4123, "end": 4142, "range": [4123, 4142], "id": { "type": "Identifier", "start": 4123, "end": 4129, "range": [4123, 4129], "name": "result" }, "init": { "type": "MemberExpression", "start": 4132, "end": 4142, "range": [4132, 4142], "object": { "type": "Identifier", "start": 4132, "end": 4137, "range": [4132, 4137], "name": "event" }, "property": { "type": "Identifier", "start": 4138, "end": 4142, "range": [4138, 4142], "name": "type" }, "computed": false } }], "kind": "let" }, { "type": "VariableDeclaration", "start": 4151, "end": 4193, "range": [4151, 4193], "declarations": [{ "type": "VariableDeclarator", "start": 4155, "end": 4193, "range": [4155, 4193], "id": { "type": "Identifier", "start": 4155, "end": 4163, "range": [4155, 4163], "name": "selector" }, "init": { "type": "CallExpression", "start": 4166, "end": 4193, "range": [4166, 4193], "callee": { "type": "MemberExpression", "start": 4166, "end": 4179, "range": [4166, 4179], "object": { "type": "ThisExpression", "start": 4166, "end": 4170, "range": [4166, 4170] }, "property": { "type": "Identifier", "start": 4171, "end": 4179, "range": [4171, 4179], "name": "selector" }, "computed": false }, "arguments": [{ "type": "MemberExpression", "start": 4180, "end": 4192, "range": [4180, 4192], "object": { "type": "Identifier", "start": 4180, "end": 4185, "range": [4180, 4185], "name": "event" }, "property": { "type": "Identifier", "start": 4186, "end": 4192, "range": [4186, 4192], "name": "target" }, "computed": false }] } }], "kind": "let" }, { "type": "ExpressionStatement", "start": 4202, "end": 4236, "range": [4202, 4236], "expression": { "type": "AssignmentExpression", "start": 4202, "end": 4236, "range": [4202, 4236], "operator": "+=", "left": { "type": "Identifier", "start": 4202, "end": 4208, "range": [4202, 4208], "name": "result" }, "right": { "type": "BinaryExpression", "start": 4212, "end": 4236, "range": [4212, 4236], "left": { "type": "Literal", "start": 4212, "end": 4225, "range": [4212, 4225], "value": " selector: ", "raw": "\" selector: \"" }, "operator": "+", "right": { "type": "Identifier", "start": 4228, "end": 4236, "range": [4228, 4236], "name": "selector" } } } }, { "type": "IfStatement", "start": 4245, "end": 4350, "range": [4245, 4350], "test": { "type": "BinaryExpression", "start": 4249, "end": 4297, "range": [4249, 4297], "left": { "type": "MemberExpression", "start": 4249, "end": 4261, "range": [4249, 4261], "object": { "type": "Identifier", "start": 4249, "end": 4254, "range": [4249, 4254], "name": "event" }, "property": { "type": "Identifier", "start": 4255, "end": 4261, "range": [4255, 4261], "name": "target" }, "computed": false }, "operator": "!=", "right": { "type": "CallExpression", "start": 4265, "end": 4297, "range": [4265, 4297], "callee": { "type": "MemberExpression", "start": 4265, "end": 4287, "range": [4265, 4287], "object": { "type": "Identifier", "start": 4265, "end": 4273, "range": [4265, 4273], "name": "document" }, "property": { "type": "Identifier", "start": 4274, "end": 4287, "range": [4274, 4287], "name": "querySelector" }, "computed": false }, "arguments": [{ "type": "Identifier", "start": 4288, "end": 4296, "range": [4288, 4296], "name": "selector" }] } }, "consequent": { "type": "ExpressionStatement", "start": 4311, "end": 4350, "range": [4311, 4350], "expression": { "type": "CallExpression", "start": 4311, "end": 4350, "range": [4311, 4350], "callee": { "type": "MemberExpression", "start": 4311, "end": 4322, "range": [4311, 4322], "object": { "type": "Identifier", "start": 4311, "end": 4318, "range": [4311, 4318], "name": "console" }, "property": { "type": "Identifier", "start": 4319, "end": 4322, "range": [4319, 4322], "name": "log" }, "computed": false }, "arguments": [{ "type": "Literal", "start": 4323, "end": 4339, "range": [4323, 4339], "value": "Cannot resolve", "raw": "\"Cannot resolve\"" }, { "type": "Identifier", "start": 4341, "end": 4349, "range": [4341, 4349], "name": "selector" }] } }, "alternate": null }, { "type": "VariableDeclaration", "start": 4359, "end": 4430, "range": [4359, 4430], "declarations": [{ "type": "VariableDeclarator", "start": 4363, "end": 4430, "range": [4363, 4430], "id": { "type": "Identifier", "start": 4363, "end": 4367, "range": [4363, 4367], "name": "keys" }, "init": { "type": "ArrayExpression", "start": 4370, "end": 4430, "range": [4370, 4430], "elements": [{ "type": "Literal", "start": 4371, "end": 4379, "range": [4371, 4379], "value": "layerX", "raw": "'layerX'" }, { "type": "Literal", "start": 4381, "end": 4389, "range": [4381, 4389], "value": "layerY", "raw": "'layerY'" }, { "type": "Literal", "start": 4391, "end": 4398, "range": [4391, 4398], "value": "pageX", "raw": "'pageX'" }, { "type": "Literal", "start": 4400, "end": 4407, "range": [4400, 4407], "value": "pageY", "raw": "'pageY'" }, { "type": "Literal", "start": 4409, "end": 4418, "range": [4409, 4418], "value": "clientX", "raw": "'clientX'" }, { "type": "Literal", "start": 4420, "end": 4429, "range": [4420, 4429], "value": "clientY", "raw": "'clientY'" }] } }], "kind": "let" }, { "type": "ForOfStatement", "start": 4439, "end": 4646, "range": [4439, 4646], "left": { "type": "VariableDeclaration", "start": 4443, "end": 4450, "range": [4443, 4450], "declarations": [{ "type": "VariableDeclarator", "start": 4447, "end": 4450, "range": [4447, 4450], "id": { "type": "Identifier", "start": 4447, "end": 4450, "range": [4447, 4450], "name": "key" }, "init": null }], "kind": "let" }, "right": { "type": "Identifier", "start": 4454, "end": 4458, "range": [4454, 4458], "name": "keys" }, "body": { "type": "BlockStatement", "start": 4460, "end": 4646, "range": [4460, 4646], "body": [{ "type": "TryStatement", "start": 4474, "end": 4636, "range": [4474, 4636], "block": { "type": "BlockStatement", "start": 4478, "end": 4548, "range": [4478, 4548], "body": [{ "type": "ExpressionStatement", "start": 4496, "end": 4534, "range": [4496, 4534], "expression": { "type": "AssignmentExpression", "start": 4496, "end": 4534, "range": [4496, 4534], "operator": "+=", "left": { "type": "Identifier", "start": 4496, "end": 4502, "range": [4496, 4502], "name": "result" }, "right": { "type": "BinaryExpression", "start": 4506, "end": 4534, "range": [4506, 4534], "left": { "type": "BinaryExpression", "start": 4506, "end": 4521, "range": [4506, 4521], "left": { "type": "BinaryExpression", "start": 4506, "end": 4515, "range": [4506, 4515], "left": { "type": "Literal", "start": 4506, "end": 4509, "range": [4506, 4509], "value": " ", "raw": "\" \"" }, "operator": "+", "right": { "type": "Identifier", "start": 4512, "end": 4515, "range": [4512, 4515], "name": "key" } }, "operator": "+", "right": { "type": "Literal", "start": 4518, "end": 4521, "range": [4518, 4521], "value": ":", "raw": "\":\"" } }, "operator": "+", "right": { "type": "MemberExpression", "start": 4524, "end": 4534, "range": [4524, 4534], "object": { "type": "Identifier", "start": 4524, "end": 4529, "range": [4524, 4529], "name": "event" }, "property": { "type": "Identifier", "start": 4530, "end": 4533, "range": [4530, 4533], "name": "key" }, "computed": true } } } }] }, "handler": { "type": "CatchClause", "start": 4561, "end": 4636, "range": [4561, 4636], "param": { "type": "Identifier", "start": 4567, "end": 4568, "range": [4567, 4568], "name": "e" }, "body": { "type": "BlockStatement", "start": 4570, "end": 4636, "range": [4570, 4636], "body": [{ "type": "ExpressionStatement", "start": 4588, "end": 4622, "range": [4588, 4622], "expression": { "type": "CallExpression", "start": 4588, "end": 4622, "range": [4588, 4622], "callee": { "type": "MemberExpression", "start": 4588, "end": 4599, "range": [4588, 4599], "object": { "type": "Identifier", "start": 4588, "end": 4595, "range": [4588, 4595], "name": "console" }, "property": { "type": "Identifier", "start": 4596, "end": 4599, "range": [4596, 4599], "name": "log" }, "computed": false }, "arguments": [{ "type": "BinaryExpression", "start": 4600, "end": 4621, "range": [4600, 4621], "left": { "type": "Literal", "start": 4600, "end": 4615, "range": [4600, 4615], "value": "Invalid key: ", "raw": "\"Invalid key: \"" }, "operator": "+", "right": { "type": "Identifier", "start": 4618, "end": 4621, "range": [4618, 4621], "name": "key" } }] } }] } }, "finalizer": null }] } }, { "type": "ReturnStatement", "start": 4685, "end": 4698, "range": [4685, 4698], "argument": { "type": "Identifier", "start": 4692, "end": 4698, "range": [4692, 4698], "name": "result" } }] } } }, { "type": "MethodDefinition", "start": 4710, "end": 5448, "range": [4710, 5448], "computed": false, "key": { "type": "Identifier", "start": 4717, "end": 4746, "range": [4717, 4746], "name": "compareExtractedWithSimulated" }, "static": true, "kind": "method", "value": { "type": "FunctionExpression", "start": 4746, "end": 5448, "range": [4746, 5448], "id": null, "generator": false, "expression": false, "params": [], "body": { "type": "BlockStatement", "start": 4749, "end": 5448, "range": [4749, 5448], "body": [{ "type": "VariableDeclaration", "start": 4759, "end": 4772, "range": [4759, 4772], "declarations": [{ "type": "VariableDeclarator", "start": 4763, "end": 4772, "range": [4763, 4772], "id": { "type": "Identifier", "start": 4763, "end": 4768, "range": [4763, 4768], "name": "diffs" }, "init": { "type": "Literal", "start": 4771, "end": 4772, "range": [4771, 4772], "value": 0, "raw": "0" } }], "kind": "var" }, { "type": "IfStatement", "start": 4781, "end": 5393, "range": [4781, 5393], "test": { "type": "BinaryExpression", "start": 4785, "end": 4831, "range": [4785, 4831], "left": { "type": "MemberExpression", "start": 4785, "end": 4806, "range": [4785, 4806], "object": { "type": "MemberExpression", "start": 4785, "end": 4799, "range": [4785, 4799], "object": { "type": "ThisExpression", "start": 4785, "end": 4789, "range": [4785, 4789] }, "property": { "type": "Identifier", "start": 4790, "end": 4799, "range": [4790, 4799], "name": "extracted" }, "computed": false }, "property": { "type": "Identifier", "start": 4800, "end": 4806, "range": [4800, 4806], "name": "length" }, "computed": false }, "operator": "!=", "right": { "type": "MemberExpression", "start": 4810, "end": 4831, "range": [4810, 4831], "object": { "type": "MemberExpression", "start": 4810, "end": 4824, "range": [4810, 4824], "object": { "type": "ThisExpression", "start": 4810, "end": 4814, "range": [4810, 4814] }, "property": { "type": "Identifier", "start": 4815, "end": 4824, "range": [4815, 4824], "name": "simulated" }, "computed": false }, "property": { "type": "Identifier", "start": 4825, "end": 4831, "range": [4825, 4831], "name": "length" }, "computed": false } }, "consequent": { "type": "BlockStatement", "start": 4833, "end": 5022, "range": [4833, 5022], "body": [{ "type": "ExpressionStatement", "start": 4847, "end": 4989, "range": [4847, 4989], "expression": { "type": "CallExpression", "start": 4847, "end": 4989, "range": [4847, 4989], "callee": { "type": "Identifier", "start": 4847, "end": 4852, "range": [4847, 4852], "name": "alert" }, "arguments": [{ "type": "BinaryExpression", "start": 4853, "end": 4988, "range": [4853, 4988], "left": { "type": "BinaryExpression", "start": 4853, "end": 4981, "range": [4853, 4981], "left": { "type": "BinaryExpression", "start": 4853, "end": 4957, "range": [4853, 4957], "left": { "type": "BinaryExpression", "start": 4853, "end": 4908, "range": [4853, 4908], "left": { "type": "Literal", "start": 4853, "end": 4884, "range": [4853, 4884], "value": "Unequal length of extracted [", "raw": "\"Unequal length of extracted [\"" }, "operator": "+", "right": { "type": "MemberExpression", "start": 4887, "end": 4908, "range": [4887, 4908], "object": { "type": "MemberExpression", "start": 4887, "end": 4901, "range": [4887, 4901], "object": { "type": "ThisExpression", "start": 4887, "end": 4891, "range": [4887, 4891] }, "property": { "type": "Identifier", "start": 4892, "end": 4901, "range": [4892, 4901], "name": "extracted" }, "computed": false }, "property": { "type": "Identifier", "start": 4902, "end": 4908, "range": [4902, 4908], "name": "length" }, "computed": false } }, "operator": "+", "right": { "type": "Literal", "start": 4931, "end": 4957, "range": [4931, 4957], "value": "] and simulated events [", "raw": "\"] and simulated events [\"" } }, "operator": "+", "right": { "type": "MemberExpression", "start": 4960, "end": 4981, "range": [4960, 4981], "object": { "type": "MemberExpression", "start": 4960, "end": 4974, "range": [4960, 4974], "object": { "type": "ThisExpression", "start": 4960, "end": 4964, "range": [4960, 4964] }, "property": { "type": "Identifier", "start": 4965, "end": 4974, "range": [4965, 4974], "name": "simulated" }, "computed": false }, "property": { "type": "Identifier", "start": 4975, "end": 4981, "range": [4975, 4981], "name": "length" }, "computed": false } }, "operator": "+", "right": { "type": "Literal", "start": 4984, "end": 4988, "range": [4984, 4988], "value": "].", "raw": "\"].\"" } }] } }, { "type": "ExpressionStatement", "start": 5002, "end": 5012, "range": [5002, 5012], "expression": { "type": "AssignmentExpression", "start": 5002, "end": 5012, "range": [5002, 5012], "operator": "+=", "left": { "type": "Identifier", "start": 5002, "end": 5007, "range": [5002, 5007], "name": "diffs" }, "right": { "type": "Literal", "start": 5011, "end": 5012, "range": [5011, 5012], "value": 1, "raw": "1" } } }] }, "alternate": { "type": "BlockStatement", "start": 5036, "end": 5393, "range": [5036, 5393], "body": [{ "type": "ForStatement", "start": 5050, "end": 5383, "range": [5050, 5383], "init": { "type": "VariableDeclaration", "start": 5054, "end": 5061, "range": [5054, 5061], "declarations": [{ "type": "VariableDeclarator", "start": 5058, "end": 5061, "range": [5058, 5061], "id": { "type": "Identifier", "start": 5058, "end": 5059, "range": [5058, 5059], "name": "i" }, "init": { "type": "Literal", "start": 5060, "end": 5061, "range": [5060, 5061], "value": 0, "raw": "0" } }], "kind": "let" }, "test": { "type": "BinaryExpression", "start": 5063, "end": 5086, "range": [5063, 5086], "left": { "type": "Identifier", "start": 5063, "end": 5064, "range": [5063, 5064], "name": "i" }, "operator": "<", "right": { "type": "MemberExpression", "start": 5065, "end": 5086, "range": [5065, 5086], "object": { "type": "MemberExpression", "start": 5065, "end": 5079, "range": [5065, 5079], "object": { "type": "ThisExpression", "start": 5065, "end": 5069, "range": [5065, 5069] }, "property": { "type": "Identifier", "start": 5070, "end": 5079, "range": [5070, 5079], "name": "extracted" }, "computed": false }, "property": { "type": "Identifier", "start": 5080, "end": 5086, "range": [5080, 5086], "name": "length" }, "computed": false } }, "update": { "type": "UpdateExpression", "start": 5088, "end": 5091, "range": [5088, 5091], "operator": "++", "prefix": false, "argument": { "type": "Identifier", "start": 5088, "end": 5089, "range": [5088, 5089], "name": "i" } }, "body": { "type": "BlockStatement", "start": 5093, "end": 5383, "range": [5093, 5383], "body": [{ "type": "VariableDeclaration", "start": 5111, "end": 5144, "range": [5111, 5144], "declarations": [{ "type": "VariableDeclarator", "start": 5115, "end": 5144, "range": [5115, 5144], "id": { "type": "Identifier", "start": 5115, "end": 5124, "range": [5115, 5124], "name": "extracted" }, "init": { "type": "MemberExpression", "start": 5127, "end": 5144, "range": [5127, 5144], "object": { "type": "MemberExpression", "start": 5127, "end": 5141, "range": [5127, 5141], "object": { "type": "ThisExpression", "start": 5127, "end": 5131, "range": [5127, 5131] }, "property": { "type": "Identifier", "start": 5132, "end": 5141, "range": [5132, 5141], "name": "extracted" }, "computed": false }, "property": { "type": "Identifier", "start": 5142, "end": 5143, "range": [5142, 5143], "name": "i" }, "computed": true } }], "kind": "var" }, { "type": "VariableDeclaration", "start": 5161, "end": 5194, "range": [5161, 5194], "declarations": [{ "type": "VariableDeclarator", "start": 5165, "end": 5194, "range": [5165, 5194], "id": { "type": "Identifier", "start": 5165, "end": 5174, "range": [5165, 5174], "name": "simulated" }, "init": { "type": "MemberExpression", "start": 5177, "end": 5194, "range": [5177, 5194], "object": { "type": "MemberExpression", "start": 5177, "end": 5191, "range": [5177, 5191], "object": { "type": "ThisExpression", "start": 5177, "end": 5181, "range": [5177, 5181] }, "property": { "type": "Identifier", "start": 5182, "end": 5191, "range": [5182, 5191], "name": "simulated" }, "computed": false }, "property": { "type": "Identifier", "start": 5192, "end": 5193, "range": [5192, 5193], "name": "i" }, "computed": true } }], "kind": "var" }, { "type": "IfStatement", "start": 5211, "end": 5369, "range": [5211, 5369], "test": { "type": "BinaryExpression", "start": 5215, "end": 5237, "range": [5215, 5237], "left": { "type": "Identifier", "start": 5215, "end": 5224, "range": [5215, 5224], "name": "extracted" }, "operator": "!=", "right": { "type": "Identifier", "start": 5228, "end": 5237, "range": [5228, 5237], "name": "simulated" } }, "consequent": { "type": "BlockStatement", "start": 5239, "end": 5369, "range": [5239, 5369], "body": [{ "type": "ExpressionStatement", "start": 5261, "end": 5320, "range": [5261, 5320], "expression": { "type": "CallExpression", "start": 5261, "end": 5320, "range": [5261, 5320], "callee": { "type": "MemberExpression", "start": 5261, "end": 5272, "range": [5261, 5272], "object": { "type": "Identifier", "start": 5261, "end": 5268, "range": [5261, 5268], "name": "console" }, "property": { "type": "Identifier", "start": 5269, "end": 5272, "range": [5269, 5272], "name": "log" }, "computed": false }, "arguments": [{ "type": "BinaryExpression", "start": 5273, "end": 5319, "range": [5273, 5319], "left": { "type": "BinaryExpression", "start": 5273, "end": 5307, "range": [5273, 5307], "left": { "type": "BinaryExpression", "start": 5273, "end": 5301, "range": [5273, 5301], "left": { "type": "Literal", "start": 5273, "end": 5289, "range": [5273, 5289], "value": "Events differ:", "raw": "\"Events differ:\"" }, "operator": "+", "right": { "type": "Identifier", "start": 5292, "end": 5301, "range": [5292, 5301], "name": "extracted" } }, "operator": "+", "right": { "type": "Literal", "start": 5304, "end": 5307, "range": [5304, 5307], "value": "|", "raw": "\"|\"" } }, "operator": "+", "right": { "type": "Identifier", "start": 5310, "end": 5319, "range": [5310, 5319], "name": "simulated" } }] } }, { "type": "ExpressionStatement", "start": 5341, "end": 5351, "range": [5341, 5351], "expression": { "type": "AssignmentExpression", "start": 5341, "end": 5351, "range": [5341, 5351], "operator": "+=", "left": { "type": "Identifier", "start": 5341, "end": 5346, "range": [5341, 5346], "name": "diffs" }, "right": { "type": "Literal", "start": 5350, "end": 5351, "range": [5350, 5351], "value": 1, "raw": "1" } } }] }, "alternate": null }] } }] } }, { "type": "ExpressionStatement", "start": 5402, "end": 5442, "range": [5402, 5442], "expression": { "type": "CallExpression", "start": 5402, "end": 5442, "range": [5402, 5442], "callee": { "type": "MemberExpression", "start": 5402, "end": 5413, "range": [5402, 5413], "object": { "type": "Identifier", "start": 5402, "end": 5409, "range": [5402, 5409], "name": "console" }, "property": { "type": "Identifier", "start": 5410, "end": 5413, "range": [5410, 5413], "name": "log" }, "computed": false }, "arguments": [{ "type": "BinaryExpression", "start": 5414, "end": 5441, "range": [5414, 5441], "left": { "type": "BinaryExpression", "start": 5414, "end": 5430, "range": [5414, 5430], "left": { "type": "Literal", "start": 5414, "end": 5422, "range": [5414, 5422], "value": "Found ", "raw": "\"Found \"" }, "operator": "+", "right": { "type": "Identifier", "start": 5425, "end": 5430, "range": [5425, 5430], "name": "diffs" } }, "operator": "+", "right": { "type": "Literal", "start": 5433, "end": 5441, "range": [5433, 5441], "value": " diffs", "raw": "\" diffs\"" } }] } }] } } }, { "type": "MethodDefinition", "start": 5454, "end": 5531, "range": [5454, 5531], "computed": false, "key": { "type": "Identifier", "start": 5461, "end": 5469, "range": [5461, 5469], "name": "selector" }, "static": true, "kind": "method", "value": { "type": "FunctionExpression", "start": 5469, "end": 5531, "range": [5469, 5531], "id": null, "generator": false, "expression": false, "params": [{ "type": "Identifier", "start": 5470, "end": 5477, "range": [5470, 5477], "name": "context" }], "body": { "type": "BlockStatement", "start": 5479, "end": 5531, "range": [5479, 5531], "body": [{ "type": "ReturnStatement", "start": 5489, "end": 5525, "range": [5489, 5525], "argument": { "type": "CallExpression", "start": 5496, "end": 5525, "range": [5496, 5525], "callee": { "type": "MemberExpression", "start": 5496, "end": 5516, "range": [5496, 5516], "object": { "type": "Identifier", "start": 5496, "end": 5509, "range": [5496, 5509], "name": "OptimalSelect" }, "property": { "type": "Identifier", "start": 5510, "end": 5516, "range": [5510, 5516], "name": "select" }, "computed": false }, "arguments": [{ "type": "Identifier", "start": 5517, "end": 5524, "range": [5517, 5524], "name": "context" }] } }] } } }, { "type": "MethodDefinition", "start": 5537, "end": 5615, "range": [5537, 5615], "computed": false, "key": { "type": "Identifier", "start": 5544, "end": 5549, "range": [5544, 5549], "name": "reset" }, "static": true, "kind": "method", "value": { "type": "FunctionExpression", "start": 5549, "end": 5615, "range": [5549, 5615], "id": null, "generator": false, "expression": false, "params": [], "body": { "type": "BlockStatement", "start": 5552, "end": 5615, "range": [5552, 5615], "body": [{ "type": "ExpressionStatement", "start": 5562, "end": 5581, "range": [5562, 5581], "expression": { "type": "AssignmentExpression", "start": 5562, "end": 5581, "range": [5562, 5581], "operator": "=", "left": { "type": "MemberExpression", "start": 5562, "end": 5576, "range": [5562, 5576], "object": { "type": "ThisExpression", "start": 5562, "end": 5566, "range": [5562, 5566] }, "property": { "type": "Identifier", "start": 5567, "end": 5576, "range": [5567, 5576], "name": "extracted" }, "computed": false }, "right": { "type": "ArrayExpression", "start": 5579, "end": 5581, "range": [5579, 5581], "elements": [] } } }, { "type": "ExpressionStatement", "start": 5590, "end": 5609, "range": [5590, 5609], "expression": { "type": "AssignmentExpression", "start": 5590, "end": 5609, "range": [5590, 5609], "operator": "=", "left": { "type": "MemberExpression", "start": 5590, "end": 5604, "range": [5590, 5604], "object": { "type": "ThisExpression", "start": 5590, "end": 5594, "range": [5590, 5594] }, "property": { "type": "Identifier", "start": 5595, "end": 5604, "range": [5595, 5604], "name": "simulated" }, "computed": false }, "right": { "type": "ArrayExpression", "start": 5607, "end": 5609, "range": [5607, 5609], "elements": [] } } }] } } }, { "type": "MethodDefinition", "start": 5621, "end": 5680, "range": [5621, 5680], "computed": false, "key": { "type": "Identifier", "start": 5628, "end": 5642, "range": [5628, 5642], "name": "resetSimulated" }, "static": true, "kind": "method", "value": { "type": "FunctionExpression", "start": 5642, "end": 5680, "range": [5642, 5680], "id": null, "generator": false, "expression": false, "params": [], "body": { "type": "BlockStatement", "start": 5645, "end": 5680, "range": [5645, 5680], "body": [{ "type": "ExpressionStatement", "start": 5655, "end": 5674, "range": [5655, 5674], "expression": { "type": "AssignmentExpression", "start": 5655, "end": 5674, "range": [5655, 5674], "operator": "=", "left": { "type": "MemberExpression", "start": 5655, "end": 5669, "range": [5655, 5669], "object": { "type": "ThisExpression", "start": 5655, "end": 5659, "range": [5655, 5659] }, "property": { "type": "Identifier", "start": 5660, "end": 5669, "range": [5660, 5669], "name": "simulated" }, "computed": false }, "right": { "type": "ArrayExpression", "start": 5672, "end": 5674, "range": [5672, 5674], "elements": [] } } }] } } }] } }, { "type": "ExpressionStatement", "start": 5684, "end": 5704, "range": [5684, 5704], "expression": { "type": "AssignmentExpression", "start": 5684, "end": 5704, "range": [5684, 5704], "operator": "=", "left": { "type": "MemberExpression", "start": 5684, "end": 5696, "range": [5684, 5696], "object": { "type": "Identifier", "start": 5684, "end": 5690, "range": [5684, 5690], "name": "Events" }, "property": { "type": "Identifier", "start": 5691, "end": 5696, "range": [5691, 5696], "name": "debug" }, "computed": false }, "right": { "type": "Literal", "start": 5699, "end": 5704, "range": [5699, 5704], "value": false, "raw": "false" } } }, { "type": "ExpressionStatement", "start": 5705, "end": 5726, "range": [5705, 5726], "expression": { "type": "AssignmentExpression", "start": 5705, "end": 5726, "range": [5705, 5726], "operator": "=", "left": { "type": "MemberExpression", "start": 5705, "end": 5721, "range": [5705, 5721], "object": { "type": "Identifier", "start": 5705, "end": 5711, "range": [5705, 5711], "name": "Events" }, "property": { "type": "Identifier", "start": 5712, "end": 5721, "range": [5712, 5721], "name": "extracted" }, "computed": false }, "right": { "type": "ArrayExpression", "start": 5724, "end": 5726, "range": [5724, 5726], "elements": [] } } }, { "type": "ExpressionStatement", "start": 5727, "end": 5748, "range": [5727, 5748], "expression": { "type": "AssignmentExpression", "start": 5727, "end": 5748, "range": [5727, 5748], "operator": "=", "left": { "type": "MemberExpression", "start": 5727, "end": 5743, "range": [5727, 5743], "object": { "type": "Identifier", "start": 5727, "end": 5733, "range": [5727, 5733], "name": "Events" }, "property": { "type": "Identifier", "start": 5734, "end": 5743, "range": [5734, 5743], "name": "simulated" }, "computed": false }, "right": { "type": "ArrayExpression", "start": 5746, "end": 5748, "range": [5746, 5748], "elements": [] } } }], "sourceType": "script" }