duplicated block id: 1 size: 42 cleaned lines of code in 2 files: - bots/scripts/setup.js (11:65) - frontend/scripts/setup.js (17:71) duplicated block id: 2 size: 39 cleaned lines of code in 2 files: - backend/src/cleanup/clear-ecs-cluster.js (165:212) - backend/src/cleanup/clear-s3-bucket.js (75:122) duplicated block id: 3 size: 37 cleaned lines of code in 2 files: - backend/src/cleanup/clear-ecr-repo.js (52:99) - backend/src/cleanup/detachPrincipals.js (49:96) duplicated block id: 4 size: 37 cleaned lines of code in 2 files: - backend/src/cleanup/clear-ecs-cluster.js (124:168) - bots/scripts/clear-ecs-cluster.js (132:176) duplicated block id: 5 size: 35 cleaned lines of code in 2 files: - backend/src/cleanup/clear-ecr-repo.js (58:99) - backend/src/cleanup/clear-ecs-cluster.js (171:212) duplicated block id: 6 size: 35 cleaned lines of code in 2 files: - backend/src/cleanup/clear-s3-bucket.js (81:122) - backend/src/cleanup/detachPrincipals.js (55:96) duplicated block id: 7 size: 35 cleaned lines of code in 2 files: - backend/src/cleanup/clear-ecs-cluster.js (171:212) - backend/src/cleanup/detachPrincipals.js (55:96) duplicated block id: 8 size: 35 cleaned lines of code in 2 files: - backend/src/cleanup/clear-ecr-repo.js (58:99) - backend/src/cleanup/clear-s3-bucket.js (81:122) duplicated block id: 9 size: 34 cleaned lines of code in 2 files: - bots/scripts/env-setup.js (40:82) - bots/scripts/setup.js (37:79) duplicated block id: 10 size: 24 cleaned lines of code in 2 files: - bots/scripts/env-setup.js (40:68) - frontend/scripts/setup.js (43:71) duplicated block id: 11 size: 19 cleaned lines of code in 2 files: - bots/scripts/clear-ecs-cluster.js (201:226) - frontend/scripts/setup.js (25:50) duplicated block id: 12 size: 19 cleaned lines of code in 2 files: - bots/scripts/clear-ecs-cluster.js (201:226) - bots/scripts/setup.js (19:44) duplicated block id: 13 size: 19 cleaned lines of code in 2 files: - backend/src/cwEvents/processAcmeBotsConnectivityEvents.js (48:72) - backend/src/cwEvents/processAcmeBotsStatusEvents.js (48:72) duplicated block id: 14 size: 19 cleaned lines of code in 2 files: - frontend/src/components/Telemetry.js (21:42) - frontend/src/components/Things.js (8:29) duplicated block id: 15 size: 18 cleaned lines of code in 2 files: - backend/src/cleanup/clear-ecs-cluster.js (24:45) - bots/scripts/clear-ecs-cluster.js (38:59) duplicated block id: 16 size: 17 cleaned lines of code in 2 files: - backend/src/cleanup/clear-ecs-cluster.js (61:82) - bots/scripts/clear-ecs-cluster.js (78:99) duplicated block id: 17 size: 13 cleaned lines of code in 2 files: - bots/scripts/clear-ecr-repo.js (45:62) - bots/scripts/clear-ecs-cluster.js (202:219) duplicated block id: 18 size: 13 cleaned lines of code in 2 files: - backend/src/bot/ecsDeleteBot.js (25:39) - bots/scripts/clear-ecs-cluster.js (51:65) duplicated block id: 19 size: 13 cleaned lines of code in 2 files: - bots/scripts/clear-ecr-repo.js (45:62) - bots/scripts/setup.js (20:37) duplicated block id: 20 size: 13 cleaned lines of code in 2 files: - bots/scripts/clear-ecr-repo.js (45:62) - frontend/scripts/setup.js (26:43) duplicated block id: 21 size: 12 cleaned lines of code in 2 files: - backend/src/bot/ecsDeleteBot.js (99:112) - bots/scripts/clear-ecs-cluster.js (163:176) duplicated block id: 22 size: 12 cleaned lines of code in 2 files: - backend/src/bot/ecsDeleteBot.js (99:112) - backend/src/cleanup/clear-ecs-cluster.js (155:168) duplicated block id: 23 size: 12 cleaned lines of code in 2 files: - backend/src/cwEvents/processAcmeBotsConnectivityEvents.js (42:55) - backend/src/iotRules/handleTelemetryData.js (123:136) duplicated block id: 24 size: 12 cleaned lines of code in 2 files: - backend/src/bot/ecsDeleteBot.js (80:93) - bots/scripts/clear-ecs-cluster.js (135:148) duplicated block id: 25 size: 12 cleaned lines of code in 2 files: - backend/src/cwEvents/processAcmeBotsConnectivityEvents.js (1:15) - backend/src/cwEvents/processAcmeBotsStatusEvents.js (1:15) duplicated block id: 26 size: 12 cleaned lines of code in 2 files: - backend/src/bot/ecsDeleteBot.js (80:93) - backend/src/cleanup/clear-ecs-cluster.js (127:140) duplicated block id: 27 size: 11 cleaned lines of code in 2 files: - backend/serverless.yml (886:896) - backend/serverless.yml (1106:1116) duplicated block id: 28 size: 11 cleaned lines of code in 2 files: - frontend/src/components/Telemetry.js (460:470) - frontend/src/components/Things.js (263:273) duplicated block id: 29 size: 10 cleaned lines of code in 2 files: - backend/src/step-functions/provisionThing.js (12:22) - backend/src/step-functions/removeThing.js (12:22) duplicated block id: 30 size: 10 cleaned lines of code in 2 files: - backend/serverless.yml (229:238) - backend/serverless.yml (303:312) duplicated block id: 31 size: 9 cleaned lines of code in 2 files: - frontend/src/components/Things.js (43:52) - frontend/src/components/Things.js (66:75) duplicated block id: 32 size: 9 cleaned lines of code in 2 files: - bots/scripts/env-setup.js (1:11) - bots/scripts/setup.js (1:11) duplicated block id: 33 size: 9 cleaned lines of code in 2 files: - frontend/src/components/Things.js (33:41) - frontend/src/components/Things.js (56:64) duplicated block id: 34 size: 9 cleaned lines of code in 2 files: - backend/src/iot/createKeysAndCert.js (1:12) - backend/src/iot/deleteCert.js (1:12) duplicated block id: 35 size: 9 cleaned lines of code in 2 files: - backend/src/bot/ecsDeleteBot.js (57:66) - bots/scripts/clear-ecs-cluster.js (102:111) duplicated block id: 36 size: 8 cleaned lines of code in 2 files: - backend/src/cleanup/clear-ecs-cluster.js (85:93) - bots/scripts/clear-ecs-cluster.js (102:110) duplicated block id: 37 size: 8 cleaned lines of code in 2 files: - backend/src/bot/ecsDeleteBot.js (57:65) - backend/src/cleanup/clear-ecs-cluster.js (85:93) duplicated block id: 38 size: 8 cleaned lines of code in 2 files: - backend/src/bot/ecsDeleteBot.js (25:33) - backend/src/cleanup/clear-ecs-cluster.js (37:45) duplicated block id: 39 size: 7 cleaned lines of code in 2 files: - backend/src/iot/deletePolicy.js (1:10) - backend/src/iot/deleteThing.js (1:10) duplicated block id: 40 size: 7 cleaned lines of code in 2 files: - backend/src/iot/attachCertToThing.js (1:11) - backend/src/iot/attachPolicyToCert.js (1:10) duplicated block id: 41 size: 7 cleaned lines of code in 2 files: - backend/src/iot/attachCertToThing.js (1:11) - backend/src/iot/deleteThing.js (1:10) duplicated block id: 42 size: 7 cleaned lines of code in 2 files: - backend/src/iot/checkIfThingExists.js (1:10) - backend/src/iot/deleteThing.js (1:10) duplicated block id: 43 size: 7 cleaned lines of code in 2 files: - backend/src/iot/detachCertFromThing.js (1:10) - backend/src/iot/detachPolicyFromCert.js (1:10) duplicated block id: 44 size: 7 cleaned lines of code in 2 files: - backend/src/iot/checkProvisioning.js (1:10) - backend/src/iot/deleteMetadata.js (1:10) duplicated block id: 45 size: 7 cleaned lines of code in 2 files: - backend/src/iot/createThing.js (1:10) - backend/src/iot/detachPolicyFromCert.js (1:10) duplicated block id: 46 size: 7 cleaned lines of code in 2 files: - backend/src/iot/attachPolicyToCert.js (1:10) - backend/src/iot/deleteThing.js (1:10) duplicated block id: 47 size: 7 cleaned lines of code in 2 files: - backend/src/iot/deletePolicy.js (1:10) - backend/src/iot/detachPolicyFromCert.js (1:10) duplicated block id: 48 size: 7 cleaned lines of code in 2 files: - backend/src/step-functions/provisionThing.js (1:10) - backend/src/step-functions/removeThing.js (1:10) duplicated block id: 49 size: 7 cleaned lines of code in 2 files: - backend/src/iot/createThing.js (1:10) - backend/src/iot/deleteThing.js (1:10) duplicated block id: 50 size: 7 cleaned lines of code in 2 files: - backend/src/iot/deletePolicy.js (1:10) - backend/src/iot/detachCertFromThing.js (1:10) duplicated block id: 51 size: 7 cleaned lines of code in 2 files: - backend/src/iot/attachPolicyToCert.js (1:10) - backend/src/iot/deletePolicy.js (1:10) duplicated block id: 52 size: 7 cleaned lines of code in 2 files: - backend/src/cleanup/clear-ecr-repo.js (29:36) - bots/scripts/clear-ecr-repo.js (28:35) duplicated block id: 53 size: 7 cleaned lines of code in 2 files: - backend/src/iot/deleteThing.js (1:10) - backend/src/iot/detachCertFromThing.js (1:10) duplicated block id: 54 size: 7 cleaned lines of code in 2 files: - backend/src/iot/createThing.js (1:10) - backend/src/iot/deletePolicy.js (1:10) duplicated block id: 55 size: 7 cleaned lines of code in 2 files: - backend/src/iot/attachCertToThing.js (1:11) - backend/src/iot/deletePolicy.js (1:10) duplicated block id: 56 size: 7 cleaned lines of code in 2 files: - backend/src/iot/checkIfThingExists.js (1:10) - backend/src/iot/detachCertFromThing.js (1:10) duplicated block id: 57 size: 7 cleaned lines of code in 2 files: - backend/src/iot/attachCertToThing.js (1:11) - backend/src/iot/detachCertFromThing.js (1:10) duplicated block id: 58 size: 7 cleaned lines of code in 2 files: - backend/src/iot/deleteThing.js (1:10) - backend/src/iot/detachPolicyFromCert.js (1:10) duplicated block id: 59 size: 7 cleaned lines of code in 2 files: - backend/src/iot/checkIfThingExists.js (1:10) - backend/src/iot/createThing.js (1:10) duplicated block id: 60 size: 7 cleaned lines of code in 2 files: - backend/src/iot/attachCertToThing.js (1:11) - backend/src/iot/checkIfThingExists.js (1:10) duplicated block id: 61 size: 7 cleaned lines of code in 2 files: - backend/src/iot/attachPolicyToCert.js (1:10) - backend/src/iot/checkIfThingExists.js (1:10) duplicated block id: 62 size: 7 cleaned lines of code in 2 files: - backend/src/iot/attachCertToThing.js (1:11) - backend/src/iot/createThing.js (1:10) duplicated block id: 63 size: 7 cleaned lines of code in 2 files: - backend/src/iot/createThing.js (1:10) - backend/src/iot/detachCertFromThing.js (1:10) duplicated block id: 64 size: 7 cleaned lines of code in 2 files: - backend/src/iot/attachPolicyToCert.js (1:10) - backend/src/iot/detachCertFromThing.js (1:10) duplicated block id: 65 size: 7 cleaned lines of code in 2 files: - backend/src/iot/attachPolicyToCert.js (1:10) - backend/src/iot/createThing.js (1:10) duplicated block id: 66 size: 7 cleaned lines of code in 2 files: - backend/src/iot/attachCertToThing.js (1:11) - backend/src/iot/detachPolicyFromCert.js (1:10) duplicated block id: 67 size: 7 cleaned lines of code in 2 files: - bots/scripts/clear-ecr-repo.js (1:9) - bots/scripts/clear-ecs-cluster.js (1:9) duplicated block id: 68 size: 7 cleaned lines of code in 2 files: - backend/src/iot/attachPolicyToCert.js (1:10) - backend/src/iot/detachPolicyFromCert.js (1:10) duplicated block id: 69 size: 7 cleaned lines of code in 2 files: - backend/src/iot/checkIfThingExists.js (1:10) - backend/src/iot/detachPolicyFromCert.js (1:10) duplicated block id: 70 size: 7 cleaned lines of code in 2 files: - backend/src/iot/checkIfThingExists.js (1:10) - backend/src/iot/deletePolicy.js (1:10) duplicated block id: 71 size: 6 cleaned lines of code in 2 files: - backend/serverless.yml (416:421) - backend/serverless.yml (852:857) duplicated block id: 72 size: 6 cleaned lines of code in 2 files: - backend/src/dashboards/bots-operations.js (12:17) - backend/src/dashboards/bots-operations.js (120:125) duplicated block id: 73 size: 6 cleaned lines of code in 2 files: - backend/src/cwEvents/processAcmeBotsConnectivityEvents.js (41:46) - backend/src/cwEvents/processAcmeBotsStatusEvents.js (41:46) duplicated block id: 74 size: 6 cleaned lines of code in 2 files: - backend/serverless.yml (470:475) - backend/serverless.yml (483:488) duplicated block id: 75 size: 6 cleaned lines of code in 2 files: - backend/serverless.yml (470:475) - backend/serverless.yml (496:501) duplicated block id: 76 size: 6 cleaned lines of code in 2 files: - bots/scripts/env-setup.js (1:7) - frontend/scripts/setup.js (1:7) duplicated block id: 77 size: 6 cleaned lines of code in 2 files: - backend/serverless.yml (470:475) - backend/serverless.yml (509:514) duplicated block id: 78 size: 6 cleaned lines of code in 2 files: - backend/serverless.yml (670:675) - backend/serverless.yml (920:925) duplicated block id: 79 size: 6 cleaned lines of code in 2 files: - backend/src/dashboards/bots-operations.js (12:17) - backend/src/dashboards/bots-operations.js (101:106) duplicated block id: 80 size: 6 cleaned lines of code in 2 files: - backend/src/dashboards/bots-operations.js (101:106) - backend/src/dashboards/bots-operations.js (120:125) duplicated block id: 81 size: 6 cleaned lines of code in 2 files: - bots/scripts/setup.js (1:7) - frontend/scripts/setup.js (1:7) duplicated block id: 82 size: 6 cleaned lines of code in 2 files: - backend/serverless.yml (483:488) - backend/serverless.yml (496:501) duplicated block id: 83 size: 6 cleaned lines of code in 2 files: - backend/serverless.yml (483:488) - backend/serverless.yml (509:514) duplicated block id: 84 size: 6 cleaned lines of code in 2 files: - backend/src/cwEvents/processAcmeBotsStatusEvents.js (48:55) - backend/src/iotRules/handleTelemetryData.js (129:136) duplicated block id: 85 size: 6 cleaned lines of code in 2 files: - backend/serverless.yml (496:501) - backend/serverless.yml (509:514) duplicated block id: 86 size: 6 cleaned lines of code in 2 files: - bots/scripts/clear-ecs-cluster.js (219:226) - bots/scripts/env-setup.js (40:47) duplicated block id: 87 size: 6 cleaned lines of code in 2 files: - backend/src/cleanup/detachPrincipals.js (25:30) - frontend/scripts/detachPrincipals.js (17:22) duplicated block id: 88 size: 6 cleaned lines of code in 2 files: - backend/src/iotRules/handleTelemetryData.js (51:58) - backend/src/iotRules/handleTelemetryData.js (65:72) duplicated block id: 89 size: 6 cleaned lines of code in 2 files: - bots/scripts/setup.js (70:79) - frontend/scripts/setup.js (76:85) duplicated block id: 90 size: 6 cleaned lines of code in 2 files: - backend/src/bot/ecsDeleteBot.js (65:72) - bots/scripts/clear-ecs-cluster.js (117:124) duplicated block id: 91 size: 6 cleaned lines of code in 2 files: - bots/scripts/env-setup.js (73:82) - frontend/scripts/setup.js (76:85)