From 1e3cd4e99657bd15b74092cdbf4e55f51f31489f Mon Sep 17 00:00:00 2001 From: Meet Jain Date: Wed, 7 Aug 2024 00:00:34 +0530 Subject: [PATCH 01/14] Feat: Added Memory usage monitor --- Memory usage monitor/icons/icon128.png | Bin 0 -> 1679 bytes Memory usage monitor/icons/icon16.png | Bin 0 -> 2925 bytes Memory usage monitor/icons/icon48.png | Bin 0 -> 4210 bytes Memory usage monitor/index.html | 29 ++++++++++++++++ Memory usage monitor/manifest.json | 18 ++++++++++ Memory usage monitor/script.js | 22 ++++++++++++ Memory usage monitor/style.css | 45 +++++++++++++++++++++++++ 7 files changed, 114 insertions(+) create mode 100644 Memory usage monitor/icons/icon128.png create mode 100644 Memory usage monitor/icons/icon16.png create mode 100644 Memory usage monitor/icons/icon48.png create mode 100644 Memory usage monitor/index.html create mode 100644 Memory usage monitor/manifest.json create mode 100644 Memory usage monitor/script.js create mode 100644 Memory usage monitor/style.css diff --git a/Memory usage monitor/icons/icon128.png b/Memory usage monitor/icons/icon128.png new file mode 100644 index 0000000000000000000000000000000000000000..066b3c70823213f8ee8726db13faf6f0c9e669ec GIT binary patch literal 1679 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 QJZ6Bov9(c+0rug)0bNsli2wiq literal 0 HcmV?d00001 diff --git a/Memory usage monitor/icons/icon48.png b/Memory usage monitor/icons/icon48.png new file mode 100644 index 0000000000000000000000000000000000000000..a8ff1bcf37607ad85bf00fdfb526ee022440114b GIT binary patch literal 4210 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 gushbR + + + + + Memory Usage Monitor + + + +
+

Memory Usage Monitor

+
+
+ Total Memory: + Loading... +
+
+ Available Memory: + Loading... +
+
+ Used Memory: + Loading... +
+
+
+ + + diff --git a/Memory usage monitor/manifest.json b/Memory usage monitor/manifest.json new file mode 100644 index 00000000..5b935bff --- /dev/null +++ b/Memory usage monitor/manifest.json @@ -0,0 +1,18 @@ +{ + "manifest_version": 3, + "name": "Memory Usage Monitor", + "version": "1.0", + "description": "Monitor memory usage of your system", + "action": { + "default_popup": "index.html", + "default_icon": { + "16": "icons/icon16.png", + "48": "icons/icon48.png", + "128": "icons/icon128.png" + } + }, + "permissions": [ + "system.memory" + ] + } + \ No newline at end of file diff --git a/Memory usage monitor/script.js b/Memory usage monitor/script.js new file mode 100644 index 00000000..21039984 --- /dev/null +++ b/Memory usage monitor/script.js @@ -0,0 +1,22 @@ +document.addEventListener('DOMContentLoaded', () => { + const totalMemoryElement = document.getElementById('total-memory'); + const availableMemoryElement = document.getElementById('available-memory'); + const usedMemoryElement = document.getElementById('used-memory'); + + if (chrome.system && chrome.system.memory) { + chrome.system.memory.getInfo((info) => { + const totalMemory = (info.capacity / (1024 * 1024 * 1024)).toFixed(2); // Convert to GB + const availableMemory = (info.availableCapacity / (1024 * 1024 * 1024)).toFixed(2); // Convert to GB + const usedMemory = (totalMemory - availableMemory).toFixed(2); + + totalMemoryElement.textContent = `${totalMemory} GB`; + availableMemoryElement.textContent = `${availableMemory} GB`; + usedMemoryElement.textContent = `${usedMemory} GB`; + }); + } else { + totalMemoryElement.textContent = 'Not supported'; + availableMemoryElement.textContent = 'Not supported'; + usedMemoryElement.textContent = 'Not supported'; + } + }); + \ No newline at end of file diff --git a/Memory usage monitor/style.css b/Memory usage monitor/style.css new file mode 100644 index 00000000..51b11193 --- /dev/null +++ b/Memory usage monitor/style.css @@ -0,0 +1,45 @@ +body { + font-family: Arial, sans-serif; + margin: 0; + padding: 0; + display: flex; + justify-content: center; + align-items: center; + height: 100vh; + background-color: #f0f0f0; + } + + .container { + background: #fff; + padding: 20px; + border-radius: 8px; + box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); + text-align: center; + } + + h1 { + margin-bottom: 20px; + font-size: 24px; + color: #333; + } + + .memory-info { + display: flex; + flex-direction: column; + align-items: center; + } + + .info-item { + margin-bottom: 10px; + font-size: 18px; + } + + .label { + font-weight: bold; + } + + .value { + margin-left: 10px; + color: #555; + } + \ No newline at end of file From 0ffb526c4321c8dace5bb520477f2f692e183dcd Mon Sep 17 00:00:00 2001 From: Meet Jain Date: Wed, 7 Aug 2024 00:08:04 +0530 Subject: [PATCH 02/14] Feat : Added popup blocker extension --- popup blocker/background.js | 31 ++++++++++++++++++++++ popup blocker/icons/icon128.png | Bin 0 -> 1913 bytes popup blocker/icons/icon16.png | Bin 0 -> 1846 bytes popup blocker/icons/icon48.png | Bin 0 -> 2095 bytes popup blocker/manifest.json | 31 ++++++++++++++++++++++ popup blocker/popup.css | 44 ++++++++++++++++++++++++++++++++ popup blocker/popup.html | 17 ++++++++++++ popup blocker/popup.js | 17 ++++++++++++ 8 files changed, 140 insertions(+) create mode 100644 popup blocker/background.js create mode 100644 popup blocker/icons/icon128.png create mode 100644 popup blocker/icons/icon16.png create mode 100644 popup blocker/icons/icon48.png create mode 100644 popup blocker/manifest.json create mode 100644 popup blocker/popup.css create mode 100644 popup blocker/popup.html create mode 100644 popup blocker/popup.js diff --git a/popup blocker/background.js b/popup blocker/background.js new file mode 100644 index 00000000..454f3517 --- /dev/null +++ b/popup blocker/background.js @@ -0,0 +1,31 @@ +let blocking = true; + +chrome.storage.local.get(['blocking'], function(result) { + blocking = result.blocking !== undefined ? result.blocking : true; +}); + +chrome.webRequest.onBeforeRequest.addListener( + function(details) { + if (blocking) { + chrome.notifications.create({ + type: 'basic', + iconUrl: 'icons/icon48.png', + title: 'Popup Blocker', + message: 'Popup blocked!' + }); + } + return { cancel: blocking }; + }, + { urls: ["*://*/*"], types: ["popup"] }, + ["blocking"] +); + +chrome.runtime.onMessage.addListener(function(request, sender, sendResponse) { + if (request.action === "toggleBlocking") { + blocking = request.blocking; + chrome.storage.local.set({ blocking: blocking }); + sendResponse({ blocking: blocking }); + } else if (request.action === "getBlockingStatus") { + sendResponse({ blocking: blocking }); + } +}); diff --git a/popup blocker/icons/icon128.png b/popup blocker/icons/icon128.png new file mode 100644 index 0000000000000000000000000000000000000000..9deca9ab5e4691ec79d670605360458d59e17319 GIT binary patch literal 1913 zcmaJ?c{JOJ7FLX+p-d35R9X^y6t%Rqlq93}eXT8|$|TkqBw9-?KWkgMpsJ}-rIy-T zYH5X#p>5hxI|<5&lChLDwtD*JuQ~6Wch0@{yZ4-X|M>2A&$*cnb`~PSGQvDOJR+7C z(N2dr`@;qK4x>=$sf&jYb2uCtjmBoP>2!L2em)+L*V59et*xD%orORkFc=Jr#iCFsb#?XT=4NkiZ&6WE z5{Z503!F5^d%}EM`B%2R6balA63?n}TY0 z^F#L!UUL!RawYso4T0n${k`8>^35^>HO{7yyjm;Q=Seb*N`29x3Nkrs=P@S_LF zaBlbaq=iR|vZ5Cn_8)}bPf?WqQKLlvM;js*^(VE>FEIrdYtoJuf$gOe z8ci?Q-f}1H6gA#%5WfqIYR(j2&O`K0>dvIvY*IGnQozQoVV0XpmqE_)3Py7)3#NOR ziS1VMHx@yTpJWmS&r45J;EymN{)Ev7xMnPx(&%S}8_TE9G--pnGZP0+58LmdP$aM( zo{Ir+7Xe&G5Ld;EKcH|4J}Vyy-ac-mqqXIOi{iWWRwrzIPGKGx*AuF=tl6sB&g0X| zRM>|ZVGW1li3&Vxo?lF+pxoxII}={4!|YQ|&?|d<-FCzxne5nB^vw=TXwmBDSU=0A zBPEAgoFH^bY+7qehl_*0m5)(fAmtT7y~`VUsT@i6Yh_xEBi$Fw{^>QYQ8dL8&pO1> zT?2k^OHi5s#>h|Djm$<*=iOX0z!wGN9Q4&cK81Cr)PoUlP!9m=N&jKLy}~+C*7ldr z;8@By8Vpr;5+wkQ6M^c`KHzEpOoDVaWpr@4k4JM)rhpb0n;#`lBn6L=7k|TZy57}v z>&^!@m$JZ3*M`k>`GE8#W5MY9EGTr6T2Y%J7F{Z&Q@E@^FB@B4M+_{;*yW2!o0 zWyr+0%mHlsY6Ix?J?~+@>M^`!6yGft zU1IsRabXOzXw)F?ss?H+#>tt{`7`PEmphf&%IR}ZH7R*^f0`#UGJlov1a3Ha;%V?l zUPeaW!#t2{pTGNhy|A-!^$sXdbxg}@)R5TnBGvxbErGN@WR5n4Y8%VDdooF93xN{O zAXu{wzpPX7Kp?GMR?juB^+I9DH@WUY7B>NdRR1`sJIl$G-ce-=y?p z^*4k5igsVB@(_C$A*{;|F?CBg=9Ri2F^9=MLHk6!|A9S9Eo}&1S3vK%71X&bxAMmY z`j2!#9;oc>#CRNZIOblm@9NACaXeOt`l0r}H2cBkCeXCXXwzM*C0)N#s8unb@;%7* z^9PnSkc~x%yc6PG=c*E>gY7E320pnC=%G%FY-$+ z)LZ2$CmIYj(1${#rbg~;M<v+naDpduZQ?B zQ^`xYfg#zeAni&IKR7ip=4EMJG2n6_;4u!t*DtGE^WcitA~NpDH}D+v97)iz<8rjc zEP6B6Ebv+xhS+Q9QxZ1~Qg*S9y+ZU6koxrw;Z>1O5|NaKs73gOWdJ};`piEc=^^p@ zTG}`pE_P2=Qv=y^6P){fI$N7-ctl*+VTKRBXLzIyEJa1&3sBM-^~B{iQnuldOsYZs zb4^2WRrdJy XmkIcU?vUie2g+lKu|q#M_fP&0JEoY! literal 0 HcmV?d00001 diff --git a/popup blocker/icons/icon16.png b/popup blocker/icons/icon16.png new file mode 100644 index 0000000000000000000000000000000000000000..da082f8242bbb5a603bbc47709b92c7ace151a26 GIT binary patch literal 1846 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 Z{sXmBkN3PprYrye002ovPDHLkV1i|c^CAEM literal 0 HcmV?d00001 diff --git a/popup blocker/manifest.json b/popup blocker/manifest.json new file mode 100644 index 00000000..e8b114ee --- /dev/null +++ b/popup blocker/manifest.json @@ -0,0 +1,31 @@ +{ + "manifest_version": 3, + "name": "Best Popup Blocker", + "version": "1.0", + "description": "A popup blocker extension with modern UI and animations", + "permissions": [ + "webRequest", + "webRequestBlocking", + "notifications", + "storage", + "https://*/*", + "http://*/*" + ], + "background": { + "service_worker": "background.js" + }, + "action": { + "default_popup": "popup.html", + "default_icon": { + "16": "icons/icon16.png", + "48": "icons/icon48.png", + "128": "icons/icon128.png" + } + }, + "icons": { + "16": "icons/icon16.png", + "48": "icons/icon48.png", + "128": "icons/icon128.png" + } + } + \ No newline at end of file diff --git a/popup blocker/popup.css b/popup blocker/popup.css new file mode 100644 index 00000000..cf4a4dba --- /dev/null +++ b/popup blocker/popup.css @@ -0,0 +1,44 @@ +body { + font-family: Arial, sans-serif; + display: flex; + justify-content: center; + align-items: center; + height: 200px; + margin: 0; + background: #f0f0f0; + } + + #container { + text-align: center; + } + + h1 { + font-size: 1.5em; + margin-bottom: 10px; + } + + p { + margin: 0; + font-size: 1em; + color: #333; + } + + button { + padding: 10px 20px; + font-size: 1em; + cursor: pointer; + border: none; + background: #007bff; + color: white; + transition: background 0.3s ease; + } + + button:hover { + background: #0056b3; + } + + #status { + font-weight: bold; + color: green; + } + \ No newline at end of file diff --git a/popup blocker/popup.html b/popup blocker/popup.html new file mode 100644 index 00000000..15f0b265 --- /dev/null +++ b/popup blocker/popup.html @@ -0,0 +1,17 @@ + + + + + + Popup Blocker + + + +
+

Popup Blocker

+

Status: Active

+ +
+ + + diff --git a/popup blocker/popup.js b/popup blocker/popup.js new file mode 100644 index 00000000..f5f27546 --- /dev/null +++ b/popup blocker/popup.js @@ -0,0 +1,17 @@ +document.getElementById('toggle').addEventListener('click', function() { + chrome.runtime.sendMessage({ action: "toggleBlocking", blocking: !blocking }, function(response) { + updateStatus(response.blocking); + }); + }); + + document.addEventListener('DOMContentLoaded', function() { + chrome.runtime.sendMessage({ action: "getBlockingStatus" }, function(response) { + updateStatus(response.blocking); + }); + }); + + function updateStatus(blocking) { + document.getElementById('status').textContent = blocking ? 'Active' : 'Inactive'; + document.getElementById('status').style.color = blocking ? 'green' : 'red'; + } + \ No newline at end of file From a1313842c6d59ae0985128fdf4307952573f146e Mon Sep 17 00:00:00 2001 From: Meet Jain Date: Wed, 7 Aug 2024 00:28:04 +0530 Subject: [PATCH 03/14] Feat : Added Tab organizer extension --- Tab organizer extension/background.js | 3 +++ Tab organizer extension/icons/icon128.png | Bin 0 -> 14821 bytes Tab organizer extension/icons/icon16.png | Bin 0 -> 8389 bytes Tab organizer extension/icons/icon48.png | Bin 0 -> 13221 bytes Tab organizer extension/manifest.json | 20 ++++++++++++++ Tab organizer extension/popup.css | 28 +++++++++++++++++++ Tab organizer extension/popup.html | 16 +++++++++++ Tab organizer extension/popup.js | 31 ++++++++++++++++++++++ 8 files changed, 98 insertions(+) create mode 100644 Tab organizer extension/background.js create mode 100644 Tab organizer extension/icons/icon128.png create mode 100644 Tab organizer extension/icons/icon16.png create mode 100644 Tab organizer extension/icons/icon48.png create mode 100644 Tab organizer extension/manifest.json create mode 100644 Tab organizer extension/popup.css create mode 100644 Tab organizer extension/popup.html create mode 100644 Tab organizer extension/popup.js diff --git a/Tab organizer extension/background.js b/Tab organizer extension/background.js new file mode 100644 index 00000000..7d5616fa --- /dev/null +++ b/Tab organizer extension/background.js @@ -0,0 +1,3 @@ +chrome.runtime.onInstalled.addListener(function() { + console.log('Tab Organizer Extension Installed'); + }); \ No newline at end of file diff --git a/Tab organizer extension/icons/icon128.png b/Tab organizer extension/icons/icon128.png new file mode 100644 index 0000000000000000000000000000000000000000..18efccf3fb8df43e5c9ef7dd33665fb33a132aea GIT binary patch literal 14821 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 literal 0 HcmV?d00001 diff --git a/Tab organizer extension/icons/icon48.png b/Tab organizer extension/icons/icon48.png new file mode 100644 index 0000000000000000000000000000000000000000..5888b82a59215b3f82e156345662a1c43f72be8e GIT binary patch literal 13221 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 + + + + + +
+

Tab Organizer

+
+ +
+ +
+ + + \ No newline at end of file diff --git a/Tab organizer extension/popup.js b/Tab organizer extension/popup.js new file mode 100644 index 00000000..576ed980 --- /dev/null +++ b/Tab organizer extension/popup.js @@ -0,0 +1,31 @@ +document.addEventListener('DOMContentLoaded', function() { + const createGroupButton = document.getElementById('createGroup'); + + createGroupButton.addEventListener('click', function() { + chrome.tabs.query({ currentWindow: true }, function(tabs) { + const groupId = Date.now().toString(); // Unique ID for the group + tabs.forEach(tab => { + chrome.tabs.group({ tabIds: tab.id, groupId: parseInt(groupId) }, function(groupId) { + console.log(`Tab ${tab.id} added to group ${groupId}`); + }); + }); + renderGroups(); + }); + }); + + function renderGroups() { + chrome.tabGroups.query({ windowId: chrome.windows.WINDOW_ID_CURRENT }, function(groups) { + const groupsContainer = document.getElementById('groups'); + groupsContainer.innerHTML = ''; // Clear previous groups + + groups.forEach(group => { + const groupElement = document.createElement('div'); + groupElement.className = 'group'; + groupElement.innerText = `Group ${group.id}`; + groupsContainer.appendChild(groupElement); + }); + }); + } + + renderGroups(); // Initial render of groups + }); \ No newline at end of file From aeb8a314a8eaa5805175ce26678d5d43c9677294 Mon Sep 17 00:00:00 2001 From: Meet Jain Date: Wed, 7 Aug 2024 23:00:22 +0530 Subject: [PATCH 04/14] Directory name changed --- { Gradients Picker => Gradients Picker}/index.html | 0 { Gradients Picker => Gradients Picker}/script.js | 0 { Gradients Picker => Gradients Picker}/styles.css | 0 .../background.js | 0 .../icons/icon128.png | Bin .../icons/icon16.png | Bin .../icons/icon48.png | Bin .../manifest.json | 0 .../popup.css | 0 .../popup.html | 0 {Tab organizer extension => Tab Organizer}/popup.js | 0 11 files changed, 0 insertions(+), 0 deletions(-) rename { Gradients Picker => Gradients Picker}/index.html (100%) rename { Gradients Picker => Gradients Picker}/script.js (100%) rename { Gradients Picker => Gradients Picker}/styles.css (100%) rename {Tab organizer extension => Tab Organizer}/background.js (100%) rename {Tab organizer extension => Tab Organizer}/icons/icon128.png (100%) rename {Tab organizer extension => Tab Organizer}/icons/icon16.png (100%) rename {Tab organizer extension => Tab Organizer}/icons/icon48.png (100%) rename {Tab organizer extension => Tab Organizer}/manifest.json (100%) rename {Tab organizer extension => Tab Organizer}/popup.css (100%) rename {Tab organizer extension => Tab Organizer}/popup.html (100%) rename {Tab organizer extension => Tab Organizer}/popup.js (100%) diff --git a/ Gradients Picker/index.html b/Gradients Picker/index.html similarity index 100% rename from Gradients Picker/index.html rename to Gradients Picker/index.html diff --git a/ Gradients Picker/script.js b/Gradients Picker/script.js similarity index 100% rename from Gradients Picker/script.js rename to Gradients Picker/script.js diff --git a/ Gradients Picker/styles.css b/Gradients Picker/styles.css similarity index 100% rename from Gradients Picker/styles.css rename to Gradients Picker/styles.css diff --git a/Tab organizer extension/background.js b/Tab Organizer/background.js similarity index 100% rename from Tab organizer extension/background.js rename to Tab Organizer/background.js diff --git a/Tab organizer extension/icons/icon128.png b/Tab Organizer/icons/icon128.png similarity index 100% rename from Tab organizer extension/icons/icon128.png rename to Tab Organizer/icons/icon128.png diff --git a/Tab organizer extension/icons/icon16.png b/Tab Organizer/icons/icon16.png similarity index 100% rename from Tab organizer extension/icons/icon16.png rename to Tab Organizer/icons/icon16.png diff --git a/Tab organizer extension/icons/icon48.png b/Tab Organizer/icons/icon48.png similarity index 100% rename from Tab organizer extension/icons/icon48.png rename to Tab Organizer/icons/icon48.png diff --git a/Tab organizer extension/manifest.json b/Tab Organizer/manifest.json similarity index 100% rename from Tab organizer extension/manifest.json rename to Tab Organizer/manifest.json diff --git a/Tab organizer extension/popup.css b/Tab Organizer/popup.css similarity index 100% rename from Tab organizer extension/popup.css rename to Tab Organizer/popup.css diff --git a/Tab organizer extension/popup.html b/Tab Organizer/popup.html similarity index 100% rename from Tab organizer extension/popup.html rename to Tab Organizer/popup.html diff --git a/Tab organizer extension/popup.js b/Tab Organizer/popup.js similarity index 100% rename from Tab organizer extension/popup.js rename to Tab Organizer/popup.js From 4ec0583be58a48963db5460ea73353f25eb871d1 Mon Sep 17 00:00:00 2001 From: Revanth <109272714+revanth1718@users.noreply.github.com> Date: Thu, 8 Aug 2024 11:35:35 +0530 Subject: [PATCH 05/14] Scrible --- Scrible Extension/background.js | 7 +++++ Scrible Extension/content.js | 51 +++++++++++++++++++++++++++++++++ Scrible Extension/manifest.json | 34 ++++++++++++++++++++++ Scrible Extension/popup.html | 39 +++++++++++++++++++++++++ Scrible Extension/popup.js | 19 ++++++++++++ Scrible Extension/style.css | 8 ++++++ 6 files changed, 158 insertions(+) create mode 100644 Scrible Extension/background.js create mode 100644 Scrible Extension/content.js create mode 100644 Scrible Extension/manifest.json create mode 100644 Scrible Extension/popup.html create mode 100644 Scrible Extension/popup.js create mode 100644 Scrible Extension/style.css diff --git a/Scrible Extension/background.js b/Scrible Extension/background.js new file mode 100644 index 00000000..26b78f8d --- /dev/null +++ b/Scrible Extension/background.js @@ -0,0 +1,7 @@ +chrome.action.onClicked.addListener((tab) => { + chrome.scripting.executeScript({ + target: { tabId: tab.id }, + files: ['content.js'] + }); + }); + \ No newline at end of file diff --git a/Scrible Extension/content.js b/Scrible Extension/content.js new file mode 100644 index 00000000..cf43a5f2 --- /dev/null +++ b/Scrible Extension/content.js @@ -0,0 +1,51 @@ +let isDrawing = false; +let x = 0; +let y = 0; + +const canvas = document.createElement('canvas'); +canvas.style.position = 'fixed'; +canvas.style.top = '0'; +canvas.style.left = '0'; +canvas.style.width = '100%'; +canvas.style.height = '100%'; +canvas.style.zIndex = '10000'; +canvas.style.pointerEvents = 'none'; + +const context = canvas.getContext('2d'); +document.body.appendChild(canvas); + +function resizeCanvas() { + canvas.width = window.innerWidth; + canvas.height = window.innerHeight; +} + +window.addEventListener('resize', resizeCanvas); +resizeCanvas(); + +document.addEventListener('mousedown', (e) => { + isDrawing = true; + x = e.clientX; + y = e.clientY; +}); + +document.addEventListener('mousemove', (e) => { + if (isDrawing) { + context.beginPath(); + context.moveTo(x, y); + context.lineTo(e.clientX, e.clientY); + context.strokeStyle = 'red'; + context.lineWidth = 2; + context.stroke(); + context.closePath(); + x = e.clientX; + y = e.clientY; + } +}); + +document.addEventListener('mouseup', () => { + isDrawing = false; +}); + +document.addEventListener('mouseleave', () => { + isDrawing = false; +}); diff --git a/Scrible Extension/manifest.json b/Scrible Extension/manifest.json new file mode 100644 index 00000000..e12861e6 --- /dev/null +++ b/Scrible Extension/manifest.json @@ -0,0 +1,34 @@ +{ + "manifest_version": 3, + "name": "Scribble Extension", + "version": "1.0", + "description": "A simple extension to draw on web pages.", + "permissions": [ + "activeTab", + "scripting" + ], + "background": { + "service_worker": "background.js" + }, + "action": { + "default_popup": "popup.html", + "default_icon": { + "16": "icons/icon16.png", + "48": "icons/icon48.png", + "128": "icons/icon128.png" + } + }, + "content_scripts": [ + { + "matches": [""], + "js": ["content.js"], + "css": ["styles.css"] + } + ], + "icons": { + "16": "icons/icon16.png", + "48": "icons/icon48.png", + "128": "icons/icon128.png" + } + } + \ No newline at end of file diff --git a/Scrible Extension/popup.html b/Scrible Extension/popup.html new file mode 100644 index 00000000..b22a3350 --- /dev/null +++ b/Scrible Extension/popup.html @@ -0,0 +1,39 @@ + + + + Scribble Extension + + + + + + + + diff --git a/Scrible Extension/popup.js b/Scrible Extension/popup.js new file mode 100644 index 00000000..f97d1a90 --- /dev/null +++ b/Scrible Extension/popup.js @@ -0,0 +1,19 @@ +document.getElementById('clear').addEventListener('click', () => { + chrome.tabs.query({ active: true, currentWindow: true }, (tabs) => { + chrome.scripting.executeScript({ + target: { tabId: tabs[0].id }, + func: () => { + const canvas = document.querySelector('canvas'); + if (canvas) { + const context = canvas.getContext('2d'); + context.clearRect(0, 0, canvas.width, canvas.height); + } + } + }); + }); + }); + + document.getElementById('close').addEventListener('click', () => { + window.close(); + }); + \ No newline at end of file diff --git a/Scrible Extension/style.css b/Scrible Extension/style.css new file mode 100644 index 00000000..e0ed4973 --- /dev/null +++ b/Scrible Extension/style.css @@ -0,0 +1,8 @@ +canvas { + cursor: crosshair; + } + + body { + background: linear-gradient(135deg, #72EDF2 10%, #d24d24 100%); + } + \ No newline at end of file From 07fc6c3f4b4af31667b12e4d7aa71fc8f091bba0 Mon Sep 17 00:00:00 2001 From: Meet Jain Date: Thu, 8 Aug 2024 16:00:36 +0530 Subject: [PATCH 06/14] Update background.js --- popup blocker/background.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/popup blocker/background.js b/popup blocker/background.js index 454f3517..a45729c0 100644 --- a/popup blocker/background.js +++ b/popup blocker/background.js @@ -28,4 +28,4 @@ chrome.runtime.onMessage.addListener(function(request, sender, sendResponse) { } else if (request.action === "getBlockingStatus") { sendResponse({ blocking: blocking }); } -}); +}); \ No newline at end of file From 059b447ad8b8b8a61ebaae83ad123f9a1a39368d Mon Sep 17 00:00:00 2001 From: Meet Jain Date: Thu, 8 Aug 2024 16:11:00 +0530 Subject: [PATCH 07/14] deleted directory --- Memory usage monitor/icons/icon128.png | Bin 1679 -> 0 bytes Memory usage monitor/icons/icon16.png | Bin 2925 -> 0 bytes Memory usage monitor/icons/icon48.png | Bin 4210 -> 0 bytes Memory usage monitor/index.html | 29 ---------------- Memory usage monitor/manifest.json | 18 ---------- Memory usage monitor/script.js | 22 ------------ Memory usage monitor/style.css | 45 ------------------------- 7 files changed, 114 deletions(-) delete mode 100644 Memory usage monitor/icons/icon128.png delete mode 100644 Memory usage monitor/icons/icon16.png delete mode 100644 Memory usage monitor/icons/icon48.png delete mode 100644 Memory usage monitor/index.html delete mode 100644 Memory usage monitor/manifest.json delete mode 100644 Memory usage monitor/script.js delete mode 100644 Memory usage monitor/style.css diff --git a/Memory usage monitor/icons/icon128.png b/Memory usage monitor/icons/icon128.png deleted file mode 100644 index 066b3c70823213f8ee8726db13faf6f0c9e669ec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1679 zcma)-|2NZ%AIF`;{cvr&rF-jq8`TFVk%PZdx=MB*{(bdq< zfM9$){C9o+i*z)1=hq3}`Rv+|-|0Y4wOWlrp**~Ny)nLMk5d@Tsa>|Ww~St#|FFL|(u9O1B^%L~#tyC(NNF?Uv%{=WEdu4pNYe7U^wjVtP8LDdV|FQTJASl#K^j84B94-YJhXLUgCGZb?U8@NZEPjAmb>lz8x}lPFaMF2aW!J(fAm{_ z67Rm8G-{;JZFdocomfI7%%%I~js%K)E*}B>9FV=dJ<}Xw()02+`it3Z$(P&*(6zzH z>!_i!<@CVRoua3mCE9#4RRxl$;7;P1wZ_tideeIAApc)V@Z!gFb$IIe_ZZ9OnW*0kG8ZPow1@q4@ zekZ%g?Id}NNS5h9O9&dq1Xz*48q@ecE7Ovt`?GB|GMnCQCo{0@nWokm61t>ic+S;y z0)MS#=PLszvuoqUf$R7HDnvj@#hY*71EL_y`!Yl^+CICRwpb!*?qjUL%Myarxuj0K zIYNME(FF~StXzvKl-FL?iWAEkbO6w4#xTP?Jt30@A_*9%EUDQ!0m(QLvSw_8GyXt7 z*hr4W$#QjS^ggcR0uZ~2%7>~4=yuE;!x|tKp8DyeJeCdiwNu;(Qc1{KgfS@2^}*Bx z@WKh?Cv|jS>A7Hys@<1Aqxn7F7@*y_Szks8_@gVjs{FH^NkN1U(=^U9rCaYw&*4dF zm?!!Ic;!=t@d>tn3Or#WxRU%%`0M;J7^|nSrsvx%-}kV`j;S*bYJ#9$W~?)u_e1&J zgOB%ZaxJh1a0-*;l{1%LHs&5dKn$d^d|iRqsLH^py&@szYPS|t8t95X1BRgSeA|&% zOu3kMS&+O1Ck#m<#RsA8xz<-+9HN7{QRVQmM4I!x$@NUJHlz7>a_r&0!eSrkBZ>K0 za-1+$ogvna>WjJ4RsMh$zEPdCrCgG?n|cJK2=tA1)`ymRg{uV7JW@0eYk%c+`*|Kz zQR{c(hWlVvDPOUJn81`p*y9~iBcPMNik;pot%)){%{QhJAG z3<&t10*wH&c)=P2>9BWcaI=Rxz@%R>R2AC6gOq1bh*Dp*sgHD-i%&#k(6 zn@lX9e9kVs(r&K{7WkGC#id0b_bsb?sET7ZR&QOp5qJ}0r$2I^Vb2$ZN+d1zN?>cMn7{bnPaX=D^>jb`37hh^ zD8R&!Z$(#WrG`|*k0%#_o{@h&+0dS!KKNI4TBK=#vDfrw|Ji$olWk^>14%NLQAum? zmhi{@eJo;zsnov15-UChdRGK6ucpzktu z<-Qs@hp3n{B(bOG`Tco*_-3an}UF%KmY&$GB-1_`$PJFbdL3pbB0Kp z{Q=R&%E6e)WI`aKe-Z=&q0uJG%F2d@hD1b!z~BqV$Hxo?LqbBr%*>2LDiRVB0)aU5 z^73M0Vsv$NZ{Lors;WXFk#stJZ*Nad?oxDg6elN;Kp^n(fr5jBu~-ZkEZE%KOrcOT zG&H_`{hFMdBrh*dCX?sp<`NSV6%}Db=2 zh|Xsee0yH}RxtT)3A@r+szC)Gn40Uf#oXi}VoAwKwz~z-)=X<1FJnE`Hl^yvGtDlY ze{3ZEzhL0a+e3bJ)8je$v@?{fy1#tr4B!*4sQ8=ZulgU!AwqAQGCI!9h5}c*AFQ={ zRDG^PS^xF7ih|Bpu4+c{i>d&)3nz^b+Lz;tNs=H&% zYro;yJzQkei$=)j6OGT6^rsx(W141&HzK*s&pznjd3liJAoFmG@S+9L`-XK0O$a(G zHJP{{Abxt7K5-$Z>CIL&yv}It=eJ$KFKreeF<*xWtTxRg`gsc1iT+Ht;|AJ$7=N%7 z)1HOxgms>Ac0Ci!Mf1j1`;m7hh3vmZuxZ5G>Uq;Ea{n1PXl+xesNq+35(|n5LauD< z6na#RsOBKysQADVrejf{kxV*Cf1R8C$(rYQt*I;PlV2e@Vh63b?ksYq2Va_v>2iuk zc)~ys9T8|Pf3o9ypWQ`~;C)-}(YPg-4NLkp55gX_)4sXLW*|~L0d6Lzsj0VMob3_G z@ypxI{B$M{(nb5n)p&SHH~i`5MINj7S;LR7vz4sxh1|=YKz68%BE)6-*7?4Nz*8CX+tt-%yUMrwtjvWMyY5PynnvyGSb@8VXkL%GmpfrB|$M+JZ-r08IwYB zbxM4f*p-S~g4SZl<`T~5=e7*5du(`foFB`5KfN$>s7yS^|KdN=0{3`puwJ>o4#x1 zita}VFb{9Gi?k3OJ$O~9puo!%;fI@wmtzA%)C0@P-SAhgz8zV@xH^r#&Y}CEQ^-Ht z?#}PyhC{WdPQ|pwbyo35+7ai90jkzbl5S23cVt6%O09N?0@V5QiLfH7Uye(Acz`a( zTb$ha@cY3UPQw=Qnp-Ml8|rKWKYbxC*kAtk2en#HV+B=g3`#yO=Sg>^_D)3$fUl&k z`QRMa!#Sh};vH5af+fp^zqZzEUiN+0$xnC%HqF~=%Pf`{{e@+NhgY=JOpOE&0V^rW zo@P!zCVygV!La+tn-$=}ZaMd6?v5L?d=RNUy||5mO2Oq;p*E>F4bK-s8&A|=Z%-5& z@IGvkzM_{RrlM5B-XM+;CYf`W6dxa?me9i3RMsN5iAlImfY(cwW(lIXypN6PZ=n-C zZnwDAonKj<$9ZXsA;6HZU!k9i?=2MPXzfjw*viA6M7lJ4uGl5avU=41r5}6bJ6ajm z^(@^I$x^{fTO{*pTo~i`XB(fL8`Wa!h2qa+TWZ7nYt{#W+zT*yLm6+xiG^uCxGqw( zs#oGLbB9wM-O(XDF`I~{( zVp}{qwOVe>u&POJd=c>>?5er+y(_npE{LzR#lQp7-PCGyWKOAyV;o-3U6&E}A7+``CPFp2;<(aw%@gdC0u4np9hN=7HMkd+;SKz8-i)s8+j(B0epst8^ z!5zRoQ|o@i4f8FBBV5l_s&ZN}eVvIy$2B?Mz+#!;Ktycfm3-xhrnF`9d1omRRAa%S zXcS~q8ztyMSM?;4B-i&m-<3y{88GUiNxta#09=7=XqoG$S1*RU@?P1vC0DKz69@?q z#EZ!7r_OzkbG=&uv_H#8Nic-d;uZf>X9Tv_YUh#Te9*8RA|7?~9B6ClRaNl_M!m$g zvYda<{$hi`ro!FSr~hp;e9CeS%{MNs^#!;`M6HK=sy}X z?>!Q{wCgQSVfF`Nwq`zb63NrS>Goh#W8niv2Nbzr&-ph_;5pW$;oI(_ep-dlbaXu_ zIP$&-Ouwj3n1yyHq1$teSO2^diL1YuKdI|1#AG$w3<#b}w9Iw*+GQ1^x2;fJ*R^tD z0CePd>N@SPMW@qB?`)!=+zJaP8QOXdAGanq=1JEcc%S)~ZMjv?)n6%vbDeNbhB|Q6 zImm5!gB#ZxrbBIwc1m@dIO9Qz`mg~#Qg`F@hFJ-22mr%o`0eR%-7WHVJqJ@8XFY1u zngf&<>D4w(E_2?#NO2IBFfpV;A#z{`ueIn`a+(-?m_NUxSG*YxDFb#gg$0XVl#fUg zimgazCg4PQp3~xboJ1=r8Chs4@RZkh05cwDmW&S;3g7WQ~4F?bb$- zGYy_$dwdm7>inx$X1%8QOj~z68g#TA+g;(v&6NzB8GVK7aa}F4+lkLwrhf^trO8$r z>cx}Q_zs#Q!3+SvJ`cw3-9X*RpF!9Ptk}`vYDY~o=@|5ic zr>J0{J4U0lTf>f&V}=VTHMo)q9RFn}HABolx83r$e6|q@c`A_qp^vgC zyhO--q!OG$>@W!_#0>ibgW|<9+06GLL`&Pal6N)7hf#qya|%j{5>)W+iorm$AnxvI z&yBeWyOjH}*1sW2lE1#Zw-A2FjB0Fc5Pt&PzBgV`pZ)&-{>SqlB$%w1YbQ+u7yZ=# QJZ6Bov9(c+0rug)0bNsli2wiq diff --git a/Memory usage monitor/icons/icon48.png b/Memory usage monitor/icons/icon48.png deleted file mode 100644 index a8ff1bcf37607ad85bf00fdfb526ee022440114b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4210 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 gushbR - - - - - Memory Usage Monitor - - - -
-

Memory Usage Monitor

-
-
- Total Memory: - Loading... -
-
- Available Memory: - Loading... -
-
- Used Memory: - Loading... -
-
-
- - - diff --git a/Memory usage monitor/manifest.json b/Memory usage monitor/manifest.json deleted file mode 100644 index 5b935bff..00000000 --- a/Memory usage monitor/manifest.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "manifest_version": 3, - "name": "Memory Usage Monitor", - "version": "1.0", - "description": "Monitor memory usage of your system", - "action": { - "default_popup": "index.html", - "default_icon": { - "16": "icons/icon16.png", - "48": "icons/icon48.png", - "128": "icons/icon128.png" - } - }, - "permissions": [ - "system.memory" - ] - } - \ No newline at end of file diff --git a/Memory usage monitor/script.js b/Memory usage monitor/script.js deleted file mode 100644 index 21039984..00000000 --- a/Memory usage monitor/script.js +++ /dev/null @@ -1,22 +0,0 @@ -document.addEventListener('DOMContentLoaded', () => { - const totalMemoryElement = document.getElementById('total-memory'); - const availableMemoryElement = document.getElementById('available-memory'); - const usedMemoryElement = document.getElementById('used-memory'); - - if (chrome.system && chrome.system.memory) { - chrome.system.memory.getInfo((info) => { - const totalMemory = (info.capacity / (1024 * 1024 * 1024)).toFixed(2); // Convert to GB - const availableMemory = (info.availableCapacity / (1024 * 1024 * 1024)).toFixed(2); // Convert to GB - const usedMemory = (totalMemory - availableMemory).toFixed(2); - - totalMemoryElement.textContent = `${totalMemory} GB`; - availableMemoryElement.textContent = `${availableMemory} GB`; - usedMemoryElement.textContent = `${usedMemory} GB`; - }); - } else { - totalMemoryElement.textContent = 'Not supported'; - availableMemoryElement.textContent = 'Not supported'; - usedMemoryElement.textContent = 'Not supported'; - } - }); - \ No newline at end of file diff --git a/Memory usage monitor/style.css b/Memory usage monitor/style.css deleted file mode 100644 index 51b11193..00000000 --- a/Memory usage monitor/style.css +++ /dev/null @@ -1,45 +0,0 @@ -body { - font-family: Arial, sans-serif; - margin: 0; - padding: 0; - display: flex; - justify-content: center; - align-items: center; - height: 100vh; - background-color: #f0f0f0; - } - - .container { - background: #fff; - padding: 20px; - border-radius: 8px; - box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); - text-align: center; - } - - h1 { - margin-bottom: 20px; - font-size: 24px; - color: #333; - } - - .memory-info { - display: flex; - flex-direction: column; - align-items: center; - } - - .info-item { - margin-bottom: 10px; - font-size: 18px; - } - - .label { - font-weight: bold; - } - - .value { - margin-left: 10px; - color: #555; - } - \ No newline at end of file From 8afd1a9d311d42171fc58eda74e31d62306d94a1 Mon Sep 17 00:00:00 2001 From: Meet Jain Date: Thu, 8 Aug 2024 16:11:55 +0530 Subject: [PATCH 08/14] Changed directory name --- Memory Usage Monitor/icons/icon128.png | Bin 0 -> 1679 bytes Memory Usage Monitor/icons/icon16.png | Bin 0 -> 2925 bytes Memory Usage Monitor/icons/icon48.png | Bin 0 -> 4210 bytes Memory Usage Monitor/index.html | 29 ++++++++++++++++ Memory Usage Monitor/manifest.json | 18 ++++++++++ Memory Usage Monitor/script.js | 22 ++++++++++++ Memory Usage Monitor/style.css | 45 +++++++++++++++++++++++++ 7 files changed, 114 insertions(+) create mode 100644 Memory Usage Monitor/icons/icon128.png create mode 100644 Memory Usage Monitor/icons/icon16.png create mode 100644 Memory Usage Monitor/icons/icon48.png create mode 100644 Memory Usage Monitor/index.html create mode 100644 Memory Usage Monitor/manifest.json create mode 100644 Memory Usage Monitor/script.js create mode 100644 Memory Usage Monitor/style.css diff --git a/Memory Usage Monitor/icons/icon128.png b/Memory Usage Monitor/icons/icon128.png new file mode 100644 index 0000000000000000000000000000000000000000..066b3c70823213f8ee8726db13faf6f0c9e669ec GIT binary patch literal 1679 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 QJZ6Bov9(c+0rug)0bNsli2wiq literal 0 HcmV?d00001 diff --git a/Memory Usage Monitor/icons/icon48.png b/Memory Usage Monitor/icons/icon48.png new file mode 100644 index 0000000000000000000000000000000000000000..a8ff1bcf37607ad85bf00fdfb526ee022440114b GIT binary patch literal 4210 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 gushbR + + + + + Memory Usage Monitor + + + +
+

Memory Usage Monitor

+
+
+ Total Memory: + Loading... +
+
+ Available Memory: + Loading... +
+
+ Used Memory: + Loading... +
+
+
+ + + diff --git a/Memory Usage Monitor/manifest.json b/Memory Usage Monitor/manifest.json new file mode 100644 index 00000000..5b935bff --- /dev/null +++ b/Memory Usage Monitor/manifest.json @@ -0,0 +1,18 @@ +{ + "manifest_version": 3, + "name": "Memory Usage Monitor", + "version": "1.0", + "description": "Monitor memory usage of your system", + "action": { + "default_popup": "index.html", + "default_icon": { + "16": "icons/icon16.png", + "48": "icons/icon48.png", + "128": "icons/icon128.png" + } + }, + "permissions": [ + "system.memory" + ] + } + \ No newline at end of file diff --git a/Memory Usage Monitor/script.js b/Memory Usage Monitor/script.js new file mode 100644 index 00000000..21039984 --- /dev/null +++ b/Memory Usage Monitor/script.js @@ -0,0 +1,22 @@ +document.addEventListener('DOMContentLoaded', () => { + const totalMemoryElement = document.getElementById('total-memory'); + const availableMemoryElement = document.getElementById('available-memory'); + const usedMemoryElement = document.getElementById('used-memory'); + + if (chrome.system && chrome.system.memory) { + chrome.system.memory.getInfo((info) => { + const totalMemory = (info.capacity / (1024 * 1024 * 1024)).toFixed(2); // Convert to GB + const availableMemory = (info.availableCapacity / (1024 * 1024 * 1024)).toFixed(2); // Convert to GB + const usedMemory = (totalMemory - availableMemory).toFixed(2); + + totalMemoryElement.textContent = `${totalMemory} GB`; + availableMemoryElement.textContent = `${availableMemory} GB`; + usedMemoryElement.textContent = `${usedMemory} GB`; + }); + } else { + totalMemoryElement.textContent = 'Not supported'; + availableMemoryElement.textContent = 'Not supported'; + usedMemoryElement.textContent = 'Not supported'; + } + }); + \ No newline at end of file diff --git a/Memory Usage Monitor/style.css b/Memory Usage Monitor/style.css new file mode 100644 index 00000000..51b11193 --- /dev/null +++ b/Memory Usage Monitor/style.css @@ -0,0 +1,45 @@ +body { + font-family: Arial, sans-serif; + margin: 0; + padding: 0; + display: flex; + justify-content: center; + align-items: center; + height: 100vh; + background-color: #f0f0f0; + } + + .container { + background: #fff; + padding: 20px; + border-radius: 8px; + box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); + text-align: center; + } + + h1 { + margin-bottom: 20px; + font-size: 24px; + color: #333; + } + + .memory-info { + display: flex; + flex-direction: column; + align-items: center; + } + + .info-item { + margin-bottom: 10px; + font-size: 18px; + } + + .label { + font-weight: bold; + } + + .value { + margin-left: 10px; + color: #555; + } + \ No newline at end of file From 08e2e5bbef9f5acb8f2fb8a68ab50e655621a06e Mon Sep 17 00:00:00 2001 From: Meet Jain Date: Thu, 8 Aug 2024 16:16:54 +0530 Subject: [PATCH 09/14] Directory deleted --- popup blocker/background.js | 31 ---------------------- popup blocker/icons/icon128.png | Bin 1913 -> 0 bytes popup blocker/icons/icon16.png | Bin 1846 -> 0 bytes popup blocker/icons/icon48.png | Bin 2095 -> 0 bytes popup blocker/manifest.json | 31 ---------------------- popup blocker/popup.css | 44 -------------------------------- popup blocker/popup.html | 17 ------------ popup blocker/popup.js | 17 ------------ 8 files changed, 140 deletions(-) delete mode 100644 popup blocker/background.js delete mode 100644 popup blocker/icons/icon128.png delete mode 100644 popup blocker/icons/icon16.png delete mode 100644 popup blocker/icons/icon48.png delete mode 100644 popup blocker/manifest.json delete mode 100644 popup blocker/popup.css delete mode 100644 popup blocker/popup.html delete mode 100644 popup blocker/popup.js diff --git a/popup blocker/background.js b/popup blocker/background.js deleted file mode 100644 index a45729c0..00000000 --- a/popup blocker/background.js +++ /dev/null @@ -1,31 +0,0 @@ -let blocking = true; - -chrome.storage.local.get(['blocking'], function(result) { - blocking = result.blocking !== undefined ? result.blocking : true; -}); - -chrome.webRequest.onBeforeRequest.addListener( - function(details) { - if (blocking) { - chrome.notifications.create({ - type: 'basic', - iconUrl: 'icons/icon48.png', - title: 'Popup Blocker', - message: 'Popup blocked!' - }); - } - return { cancel: blocking }; - }, - { urls: ["*://*/*"], types: ["popup"] }, - ["blocking"] -); - -chrome.runtime.onMessage.addListener(function(request, sender, sendResponse) { - if (request.action === "toggleBlocking") { - blocking = request.blocking; - chrome.storage.local.set({ blocking: blocking }); - sendResponse({ blocking: blocking }); - } else if (request.action === "getBlockingStatus") { - sendResponse({ blocking: blocking }); - } -}); \ No newline at end of file diff --git a/popup blocker/icons/icon128.png b/popup blocker/icons/icon128.png deleted file mode 100644 index 9deca9ab5e4691ec79d670605360458d59e17319..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1913 zcmaJ?c{JOJ7FLX+p-d35R9X^y6t%Rqlq93}eXT8|$|TkqBw9-?KWkgMpsJ}-rIy-T zYH5X#p>5hxI|<5&lChLDwtD*JuQ~6Wch0@{yZ4-X|M>2A&$*cnb`~PSGQvDOJR+7C z(N2dr`@;qK4x>=$sf&jYb2uCtjmBoP>2!L2em)+L*V59et*xD%orORkFc=Jr#iCFsb#?XT=4NkiZ&6WE z5{Z503!F5^d%}EM`B%2R6balA63?n}TY0 z^F#L!UUL!RawYso4T0n${k`8>^35^>HO{7yyjm;Q=Seb*N`29x3Nkrs=P@S_LF zaBlbaq=iR|vZ5Cn_8)}bPf?WqQKLlvM;js*^(VE>FEIrdYtoJuf$gOe z8ci?Q-f}1H6gA#%5WfqIYR(j2&O`K0>dvIvY*IGnQozQoVV0XpmqE_)3Py7)3#NOR ziS1VMHx@yTpJWmS&r45J;EymN{)Ev7xMnPx(&%S}8_TE9G--pnGZP0+58LmdP$aM( zo{Ir+7Xe&G5Ld;EKcH|4J}Vyy-ac-mqqXIOi{iWWRwrzIPGKGx*AuF=tl6sB&g0X| zRM>|ZVGW1li3&Vxo?lF+pxoxII}={4!|YQ|&?|d<-FCzxne5nB^vw=TXwmBDSU=0A zBPEAgoFH^bY+7qehl_*0m5)(fAmtT7y~`VUsT@i6Yh_xEBi$Fw{^>QYQ8dL8&pO1> zT?2k^OHi5s#>h|Djm$<*=iOX0z!wGN9Q4&cK81Cr)PoUlP!9m=N&jKLy}~+C*7ldr z;8@By8Vpr;5+wkQ6M^c`KHzEpOoDVaWpr@4k4JM)rhpb0n;#`lBn6L=7k|TZy57}v z>&^!@m$JZ3*M`k>`GE8#W5MY9EGTr6T2Y%J7F{Z&Q@E@^FB@B4M+_{;*yW2!o0 zWyr+0%mHlsY6Ix?J?~+@>M^`!6yGft zU1IsRabXOzXw)F?ss?H+#>tt{`7`PEmphf&%IR}ZH7R*^f0`#UGJlov1a3Ha;%V?l zUPeaW!#t2{pTGNhy|A-!^$sXdbxg}@)R5TnBGvxbErGN@WR5n4Y8%VDdooF93xN{O zAXu{wzpPX7Kp?GMR?juB^+I9DH@WUY7B>NdRR1`sJIl$G-ce-=y?p z^*4k5igsVB@(_C$A*{;|F?CBg=9Ri2F^9=MLHk6!|A9S9Eo}&1S3vK%71X&bxAMmY z`j2!#9;oc>#CRNZIOblm@9NACaXeOt`l0r}H2cBkCeXCXXwzM*C0)N#s8unb@;%7* z^9PnSkc~x%yc6PG=c*E>gY7E320pnC=%G%FY-$+ z)LZ2$CmIYj(1${#rbg~;M<v+naDpduZQ?B zQ^`xYfg#zeAni&IKR7ip=4EMJG2n6_;4u!t*DtGE^WcitA~NpDH}D+v97)iz<8rjc zEP6B6Ebv+xhS+Q9QxZ1~Qg*S9y+ZU6koxrw;Z>1O5|NaKs73gOWdJ};`piEc=^^p@ zTG}`pE_P2=Qv=y^6P){fI$N7-ctl*+VTKRBXLzIyEJa1&3sBM-^~B{iQnuldOsYZs zb4^2WRrdJy XmkIcU?vUie2g+lKu|q#M_fP&0JEoY! diff --git a/popup blocker/icons/icon16.png b/popup blocker/icons/icon16.png deleted file mode 100644 index da082f8242bbb5a603bbc47709b92c7ace151a26..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1846 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 Z{sXmBkN3PprYrye002ovPDHLkV1i|c^CAEM diff --git a/popup blocker/manifest.json b/popup blocker/manifest.json deleted file mode 100644 index e8b114ee..00000000 --- a/popup blocker/manifest.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "manifest_version": 3, - "name": "Best Popup Blocker", - "version": "1.0", - "description": "A popup blocker extension with modern UI and animations", - "permissions": [ - "webRequest", - "webRequestBlocking", - "notifications", - "storage", - "https://*/*", - "http://*/*" - ], - "background": { - "service_worker": "background.js" - }, - "action": { - "default_popup": "popup.html", - "default_icon": { - "16": "icons/icon16.png", - "48": "icons/icon48.png", - "128": "icons/icon128.png" - } - }, - "icons": { - "16": "icons/icon16.png", - "48": "icons/icon48.png", - "128": "icons/icon128.png" - } - } - \ No newline at end of file diff --git a/popup blocker/popup.css b/popup blocker/popup.css deleted file mode 100644 index cf4a4dba..00000000 --- a/popup blocker/popup.css +++ /dev/null @@ -1,44 +0,0 @@ -body { - font-family: Arial, sans-serif; - display: flex; - justify-content: center; - align-items: center; - height: 200px; - margin: 0; - background: #f0f0f0; - } - - #container { - text-align: center; - } - - h1 { - font-size: 1.5em; - margin-bottom: 10px; - } - - p { - margin: 0; - font-size: 1em; - color: #333; - } - - button { - padding: 10px 20px; - font-size: 1em; - cursor: pointer; - border: none; - background: #007bff; - color: white; - transition: background 0.3s ease; - } - - button:hover { - background: #0056b3; - } - - #status { - font-weight: bold; - color: green; - } - \ No newline at end of file diff --git a/popup blocker/popup.html b/popup blocker/popup.html deleted file mode 100644 index 15f0b265..00000000 --- a/popup blocker/popup.html +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - Popup Blocker - - - -
-

Popup Blocker

-

Status: Active

- -
- - - diff --git a/popup blocker/popup.js b/popup blocker/popup.js deleted file mode 100644 index f5f27546..00000000 --- a/popup blocker/popup.js +++ /dev/null @@ -1,17 +0,0 @@ -document.getElementById('toggle').addEventListener('click', function() { - chrome.runtime.sendMessage({ action: "toggleBlocking", blocking: !blocking }, function(response) { - updateStatus(response.blocking); - }); - }); - - document.addEventListener('DOMContentLoaded', function() { - chrome.runtime.sendMessage({ action: "getBlockingStatus" }, function(response) { - updateStatus(response.blocking); - }); - }); - - function updateStatus(blocking) { - document.getElementById('status').textContent = blocking ? 'Active' : 'Inactive'; - document.getElementById('status').style.color = blocking ? 'green' : 'red'; - } - \ No newline at end of file From 70c72e3f02d6a122781d2773a690b5166fcec6d9 Mon Sep 17 00:00:00 2001 From: Meet Jain Date: Thu, 8 Aug 2024 16:18:12 +0530 Subject: [PATCH 10/14] Changed directory name --- Popup Blocker/background.js | 31 ++++++++++++++++++++++ Popup Blocker/icons/icon128.png | Bin 0 -> 1913 bytes Popup Blocker/icons/icon16.png | Bin 0 -> 1846 bytes Popup Blocker/icons/icon48.png | Bin 0 -> 2095 bytes Popup Blocker/manifest.json | 31 ++++++++++++++++++++++ Popup Blocker/popup.css | 44 ++++++++++++++++++++++++++++++++ Popup Blocker/popup.html | 17 ++++++++++++ Popup Blocker/popup.js | 17 ++++++++++++ 8 files changed, 140 insertions(+) create mode 100644 Popup Blocker/background.js create mode 100644 Popup Blocker/icons/icon128.png create mode 100644 Popup Blocker/icons/icon16.png create mode 100644 Popup Blocker/icons/icon48.png create mode 100644 Popup Blocker/manifest.json create mode 100644 Popup Blocker/popup.css create mode 100644 Popup Blocker/popup.html create mode 100644 Popup Blocker/popup.js diff --git a/Popup Blocker/background.js b/Popup Blocker/background.js new file mode 100644 index 00000000..454f3517 --- /dev/null +++ b/Popup Blocker/background.js @@ -0,0 +1,31 @@ +let blocking = true; + +chrome.storage.local.get(['blocking'], function(result) { + blocking = result.blocking !== undefined ? result.blocking : true; +}); + +chrome.webRequest.onBeforeRequest.addListener( + function(details) { + if (blocking) { + chrome.notifications.create({ + type: 'basic', + iconUrl: 'icons/icon48.png', + title: 'Popup Blocker', + message: 'Popup blocked!' + }); + } + return { cancel: blocking }; + }, + { urls: ["*://*/*"], types: ["popup"] }, + ["blocking"] +); + +chrome.runtime.onMessage.addListener(function(request, sender, sendResponse) { + if (request.action === "toggleBlocking") { + blocking = request.blocking; + chrome.storage.local.set({ blocking: blocking }); + sendResponse({ blocking: blocking }); + } else if (request.action === "getBlockingStatus") { + sendResponse({ blocking: blocking }); + } +}); diff --git a/Popup Blocker/icons/icon128.png b/Popup Blocker/icons/icon128.png new file mode 100644 index 0000000000000000000000000000000000000000..9deca9ab5e4691ec79d670605360458d59e17319 GIT binary patch literal 1913 zcmaJ?c{JOJ7FLX+p-d35R9X^y6t%Rqlq93}eXT8|$|TkqBw9-?KWkgMpsJ}-rIy-T zYH5X#p>5hxI|<5&lChLDwtD*JuQ~6Wch0@{yZ4-X|M>2A&$*cnb`~PSGQvDOJR+7C z(N2dr`@;qK4x>=$sf&jYb2uCtjmBoP>2!L2em)+L*V59et*xD%orORkFc=Jr#iCFsb#?XT=4NkiZ&6WE z5{Z503!F5^d%}EM`B%2R6balA63?n}TY0 z^F#L!UUL!RawYso4T0n${k`8>^35^>HO{7yyjm;Q=Seb*N`29x3Nkrs=P@S_LF zaBlbaq=iR|vZ5Cn_8)}bPf?WqQKLlvM;js*^(VE>FEIrdYtoJuf$gOe z8ci?Q-f}1H6gA#%5WfqIYR(j2&O`K0>dvIvY*IGnQozQoVV0XpmqE_)3Py7)3#NOR ziS1VMHx@yTpJWmS&r45J;EymN{)Ev7xMnPx(&%S}8_TE9G--pnGZP0+58LmdP$aM( zo{Ir+7Xe&G5Ld;EKcH|4J}Vyy-ac-mqqXIOi{iWWRwrzIPGKGx*AuF=tl6sB&g0X| zRM>|ZVGW1li3&Vxo?lF+pxoxII}={4!|YQ|&?|d<-FCzxne5nB^vw=TXwmBDSU=0A zBPEAgoFH^bY+7qehl_*0m5)(fAmtT7y~`VUsT@i6Yh_xEBi$Fw{^>QYQ8dL8&pO1> zT?2k^OHi5s#>h|Djm$<*=iOX0z!wGN9Q4&cK81Cr)PoUlP!9m=N&jKLy}~+C*7ldr z;8@By8Vpr;5+wkQ6M^c`KHzEpOoDVaWpr@4k4JM)rhpb0n;#`lBn6L=7k|TZy57}v z>&^!@m$JZ3*M`k>`GE8#W5MY9EGTr6T2Y%J7F{Z&Q@E@^FB@B4M+_{;*yW2!o0 zWyr+0%mHlsY6Ix?J?~+@>M^`!6yGft zU1IsRabXOzXw)F?ss?H+#>tt{`7`PEmphf&%IR}ZH7R*^f0`#UGJlov1a3Ha;%V?l zUPeaW!#t2{pTGNhy|A-!^$sXdbxg}@)R5TnBGvxbErGN@WR5n4Y8%VDdooF93xN{O zAXu{wzpPX7Kp?GMR?juB^+I9DH@WUY7B>NdRR1`sJIl$G-ce-=y?p z^*4k5igsVB@(_C$A*{;|F?CBg=9Ri2F^9=MLHk6!|A9S9Eo}&1S3vK%71X&bxAMmY z`j2!#9;oc>#CRNZIOblm@9NACaXeOt`l0r}H2cBkCeXCXXwzM*C0)N#s8unb@;%7* z^9PnSkc~x%yc6PG=c*E>gY7E320pnC=%G%FY-$+ z)LZ2$CmIYj(1${#rbg~;M<v+naDpduZQ?B zQ^`xYfg#zeAni&IKR7ip=4EMJG2n6_;4u!t*DtGE^WcitA~NpDH}D+v97)iz<8rjc zEP6B6Ebv+xhS+Q9QxZ1~Qg*S9y+ZU6koxrw;Z>1O5|NaKs73gOWdJ};`piEc=^^p@ zTG}`pE_P2=Qv=y^6P){fI$N7-ctl*+VTKRBXLzIyEJa1&3sBM-^~B{iQnuldOsYZs zb4^2WRrdJy XmkIcU?vUie2g+lKu|q#M_fP&0JEoY! literal 0 HcmV?d00001 diff --git a/Popup Blocker/icons/icon16.png b/Popup Blocker/icons/icon16.png new file mode 100644 index 0000000000000000000000000000000000000000..da082f8242bbb5a603bbc47709b92c7ace151a26 GIT binary patch literal 1846 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 Z{sXmBkN3PprYrye002ovPDHLkV1i|c^CAEM literal 0 HcmV?d00001 diff --git a/Popup Blocker/manifest.json b/Popup Blocker/manifest.json new file mode 100644 index 00000000..e8b114ee --- /dev/null +++ b/Popup Blocker/manifest.json @@ -0,0 +1,31 @@ +{ + "manifest_version": 3, + "name": "Best Popup Blocker", + "version": "1.0", + "description": "A popup blocker extension with modern UI and animations", + "permissions": [ + "webRequest", + "webRequestBlocking", + "notifications", + "storage", + "https://*/*", + "http://*/*" + ], + "background": { + "service_worker": "background.js" + }, + "action": { + "default_popup": "popup.html", + "default_icon": { + "16": "icons/icon16.png", + "48": "icons/icon48.png", + "128": "icons/icon128.png" + } + }, + "icons": { + "16": "icons/icon16.png", + "48": "icons/icon48.png", + "128": "icons/icon128.png" + } + } + \ No newline at end of file diff --git a/Popup Blocker/popup.css b/Popup Blocker/popup.css new file mode 100644 index 00000000..cf4a4dba --- /dev/null +++ b/Popup Blocker/popup.css @@ -0,0 +1,44 @@ +body { + font-family: Arial, sans-serif; + display: flex; + justify-content: center; + align-items: center; + height: 200px; + margin: 0; + background: #f0f0f0; + } + + #container { + text-align: center; + } + + h1 { + font-size: 1.5em; + margin-bottom: 10px; + } + + p { + margin: 0; + font-size: 1em; + color: #333; + } + + button { + padding: 10px 20px; + font-size: 1em; + cursor: pointer; + border: none; + background: #007bff; + color: white; + transition: background 0.3s ease; + } + + button:hover { + background: #0056b3; + } + + #status { + font-weight: bold; + color: green; + } + \ No newline at end of file diff --git a/Popup Blocker/popup.html b/Popup Blocker/popup.html new file mode 100644 index 00000000..15f0b265 --- /dev/null +++ b/Popup Blocker/popup.html @@ -0,0 +1,17 @@ + + + + + + Popup Blocker + + + +
+

Popup Blocker

+

Status: Active

+ +
+ + + diff --git a/Popup Blocker/popup.js b/Popup Blocker/popup.js new file mode 100644 index 00000000..f5f27546 --- /dev/null +++ b/Popup Blocker/popup.js @@ -0,0 +1,17 @@ +document.getElementById('toggle').addEventListener('click', function() { + chrome.runtime.sendMessage({ action: "toggleBlocking", blocking: !blocking }, function(response) { + updateStatus(response.blocking); + }); + }); + + document.addEventListener('DOMContentLoaded', function() { + chrome.runtime.sendMessage({ action: "getBlockingStatus" }, function(response) { + updateStatus(response.blocking); + }); + }); + + function updateStatus(blocking) { + document.getElementById('status').textContent = blocking ? 'Active' : 'Inactive'; + document.getElementById('status').style.color = blocking ? 'green' : 'red'; + } + \ No newline at end of file From bc8a02db402614e1199c042796fa1f1d12cf12d9 Mon Sep 17 00:00:00 2001 From: Meet Jain Date: Thu, 8 Aug 2024 16:21:50 +0530 Subject: [PATCH 11/14] directory deleted --- Tab Organizer/background.js | 3 --- Tab Organizer/icons/icon128.png | Bin 14821 -> 0 bytes Tab Organizer/icons/icon16.png | Bin 8389 -> 0 bytes Tab Organizer/icons/icon48.png | Bin 13221 -> 0 bytes Tab Organizer/manifest.json | 20 -------------------- Tab Organizer/popup.css | 28 ---------------------------- Tab Organizer/popup.html | 16 ---------------- Tab Organizer/popup.js | 31 ------------------------------- 8 files changed, 98 deletions(-) delete mode 100644 Tab Organizer/background.js delete mode 100644 Tab Organizer/icons/icon128.png delete mode 100644 Tab Organizer/icons/icon16.png delete mode 100644 Tab Organizer/icons/icon48.png delete mode 100644 Tab Organizer/manifest.json delete mode 100644 Tab Organizer/popup.css delete mode 100644 Tab Organizer/popup.html delete mode 100644 Tab Organizer/popup.js diff --git a/Tab Organizer/background.js b/Tab Organizer/background.js deleted file mode 100644 index 7d5616fa..00000000 --- a/Tab Organizer/background.js +++ /dev/null @@ -1,3 +0,0 @@ -chrome.runtime.onInstalled.addListener(function() { - console.log('Tab Organizer Extension Installed'); - }); \ No newline at end of file diff --git a/Tab Organizer/icons/icon128.png b/Tab Organizer/icons/icon128.png deleted file mode 100644 index 18efccf3fb8df43e5c9ef7dd33665fb33a132aea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14821 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 diff --git a/Tab Organizer/icons/icon48.png b/Tab Organizer/icons/icon48.png deleted file mode 100644 index 5888b82a59215b3f82e156345662a1c43f72be8e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13221 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 - - - - - -
-

Tab Organizer

-
- -
- -
- - - \ No newline at end of file diff --git a/Tab Organizer/popup.js b/Tab Organizer/popup.js deleted file mode 100644 index 576ed980..00000000 --- a/Tab Organizer/popup.js +++ /dev/null @@ -1,31 +0,0 @@ -document.addEventListener('DOMContentLoaded', function() { - const createGroupButton = document.getElementById('createGroup'); - - createGroupButton.addEventListener('click', function() { - chrome.tabs.query({ currentWindow: true }, function(tabs) { - const groupId = Date.now().toString(); // Unique ID for the group - tabs.forEach(tab => { - chrome.tabs.group({ tabIds: tab.id, groupId: parseInt(groupId) }, function(groupId) { - console.log(`Tab ${tab.id} added to group ${groupId}`); - }); - }); - renderGroups(); - }); - }); - - function renderGroups() { - chrome.tabGroups.query({ windowId: chrome.windows.WINDOW_ID_CURRENT }, function(groups) { - const groupsContainer = document.getElementById('groups'); - groupsContainer.innerHTML = ''; // Clear previous groups - - groups.forEach(group => { - const groupElement = document.createElement('div'); - groupElement.className = 'group'; - groupElement.innerText = `Group ${group.id}`; - groupsContainer.appendChild(groupElement); - }); - }); - } - - renderGroups(); // Initial render of groups - }); \ No newline at end of file From ef5383ee9716aa7b3485761b9dd720279767bf8c Mon Sep 17 00:00:00 2001 From: Meet Jain Date: Thu, 8 Aug 2024 16:24:08 +0530 Subject: [PATCH 12/14] Changed directory name --- Tab Organizer/background.js | 4 ++++ Tab Organizer/icons/icon128.png | Bin 0 -> 14821 bytes Tab Organizer/icons/icon16.png | Bin 0 -> 8389 bytes Tab Organizer/icons/icon48.png | Bin 0 -> 13221 bytes Tab Organizer/manifest.json | 21 +++++++++++++++++++++ Tab Organizer/popup.css | 29 +++++++++++++++++++++++++++++ Tab Organizer/popup.html | 16 ++++++++++++++++ Tab Organizer/popup.js | 32 ++++++++++++++++++++++++++++++++ 8 files changed, 102 insertions(+) create mode 100644 Tab Organizer/background.js create mode 100644 Tab Organizer/icons/icon128.png create mode 100644 Tab Organizer/icons/icon16.png create mode 100644 Tab Organizer/icons/icon48.png create mode 100644 Tab Organizer/manifest.json create mode 100644 Tab Organizer/popup.css create mode 100644 Tab Organizer/popup.html create mode 100644 Tab Organizer/popup.js diff --git a/Tab Organizer/background.js b/Tab Organizer/background.js new file mode 100644 index 00000000..dc0c1886 --- /dev/null +++ b/Tab Organizer/background.js @@ -0,0 +1,4 @@ +chrome.runtime.onInstalled.addListener(function() { + console.log('Tab Organizer Extension Installed'); + }); + \ No newline at end of file diff --git a/Tab Organizer/icons/icon128.png b/Tab Organizer/icons/icon128.png new file mode 100644 index 0000000000000000000000000000000000000000..18efccf3fb8df43e5c9ef7dd33665fb33a132aea GIT binary patch literal 14821 zcmZvDcRbYLANUP3S;;(G$U0^3ldMZ9yUem8Dlh!ilytwSz!l;1dR6 zV*x+gF=M;nhbh7Y?Z5{9C9wIVfWO(pEYC$iARK&*|4>L#i4bTMjx=+Lv=8-*jJ^== z3yF@7Mh1jjj_|$^=8Fss_b*;I5P?7>A!ySR4lyNbGqKHnj78k)bGLxC-aT#j*^5uaJXAT`Q>0Ix7d`ao^9WYuti!?UeMcm( zrwF_{?Rc2kl5T%fJ)MA?J7r*K*4jPZLw zvsQlZHB+=ND282%X!X@+xS9dOpzUTk_f$MVxW zd_F#Br$N>52=hB zII?e^=oBd>)+8DuUZ>p3Qx(Y|f8`jG7F@_KdKk#b3`iP!@Vgsl>U^=|3<85Fjjewe z-_vkO$0pu7p-G+Atg;x9Ntg?-dy0cvEyQwMEF}$7{1c*@iZoFy1@f2vt^7tTwBnxv zeX+K!i5V>p_W=FC$50M*m$h?zJ|rUf-jYeBT`aS4wI9ljDig%juG7j^k0ebTtOF9`H4#{Bf4{NA6tT7c?`9z$#k=e;iP&)5}5@eM0=WP#a^b5Xh#LV(h zJv8eU(Qqk793Eh)1^U`q#fH5lIX@bL?{(Izcah~pai*&&fXjQ%0OPM)X&A0X)~o4^ z22QMo=!PNjowpR{8x~`cj5He~1A$QB!>#z_P^jR&KRlMDKJW*~uN*N-BrSs3o7Yc+ zqM@@)od>7I-O?PC5Rj-IB>o#Zjh1%(@>%T}rUW=ep0GY?ccg08FB`dmkr0xd>DPRm z?#5aI890$GQjZD~sB?^z5}xAL;fuLTxryJ_Ps6H{sy`PsN|(O+lZiA{oTA}PMpJ(t zC!EALe7Z9i#L}L#9gNzo3?0}F7h6_umEG6K+ZIl|p&_1@TyV?j2!G&U4`$GfL-eqV z^S3`NolFL1RQB(M9~Tq|qN9FeojNIzA?M?j1?KV~0h047G;d*MBvWImV%-IM%S=Lt z(8gMEeT3}t6rcM{ScmMgz=u=sCE&G8mN^f3utX$XT%25_SyT~28`-m*Y9h#<>e`UnOXQ8hyB+A+xax%K#~!B%O9jUzvd8N3 zP!xXCJG7uH9ghX*FBigHy*%A0>Gw~Yqto%p-6Cz%D3b_GjWsr|X1NEm#(lm!I9V`D zAPLjwKj0-SJ0migesw&t1yerB^fdab8xU?dfY^w4Bjhx<3>Q|PJMmTZmDu3rm2kT0 zOZGFNra+wmn~nJQ_$vH-G6r|teZao*ah&?f#QQ~B>P5Z>LunpBEc|$stC!yL;H9oX z!iL)8{@C0xpWz3sjjDfb4;MqCoNUtQMJ?hw&2ML;G{P)cFt?8<_NgXU2z`H3Ih?dT z`|@gnOO~GeL=Q&!-L$~u%?4N9)~nvTC243}&&R$WfEV&9te(tYhCts)toCU`qdR{w!1t->BveJE6dvDQepR$O0=tat7ctn zq?D!$lPGjr$lY>c5;9h6mDY7+k#L1DUOB;2Bc}!V9ZoK&^qXWF8(?{0grsGUDHmf! zrXXYQdOWkgUf?^!hrq75QDv*#wV;}H(5LS~^TkOf2Osz`13?V>jxXPtWKMh-fKcGp zf}X603Y9Pj^vHR!X+f@E0k{pOm=1nm@!Dj7gla+Ibmn7&L>lpa?H`T@r&WPA%ws9n_@&V2?_(#>Y)U4E}xRSmVzJ zLCO}v&>26zIu-=B8(`dhBj=@wfB-rxh+;?(gnm<`pmi7LO;1u*N`8X%|3VptK7%AR?RthD z9B|pMZF1QkPRCkfmn(<+-MnfvX}`Z*rtXzuiR0A2=wR3XYTb2r3}CN0VhitruCuJ4 zFKwHk{I$BaA~L*%Ep_&%ou^N87K+*DYh-z7LK6c3t9h?jlUI{nlfOC9S3O}e_sqtF zSPA&?DUL}*4DT_``lA7caS{3txEY*=hf9RXhG~YuNgRZa|BTWvxG1C@rgJzZ>5`e< zXqpn#Jrv;N4`6D(-aznty^G^8QRd#yp{flMB(qUf)-lCK|qc80ZnWeB2Tg`Qnkg(Kx=-Z@8Hl`753l+ZCDSPtx zS;@`wO|r}UPe)j17jXK?+`#r)2g#9aMvbzTVlQtFODE7w3;9xU5V_fDNc+8zpsS8; zk72!8;?zTinbw`Uyf^P3px&jRy*B%vSB75c40Lj|hGx7s$3H7xwM3laUwTwIGd+^? zrrRI7{C6+usAE%ArDxjo395lMSs2P?eom)=!hT_{9=rW*ec5ubh)a}v+Kk$+eMMK$ z_Z?^Q{(wEc7kkcf?Q2TI%Sd)I4*oer{9QU`Di%fNd)JV|JGwz>I(g?c|FSO3=*&}; zF1v3p81=!H{JnTH0z#7L#u%M`)gt~^$ai(IS*ot4C9Q$os&D-8Xidt76m9F`$}n3% z`q}qGGD+oyai~Zlq*yZV0v8G0uJY-1Gr1NLapk0!bGUjKkKKI_lU5(meOPudaAn>zd78(? zDIX@$P5e^>R4DPj1}fVF;3H0Y3AZp$hL(6AjT-d852win`y_u zd#!I4-a_?!RGEE0)avssr&Fv-{2N4&kKUp&{5~BcwyD-WmVeSIJL$W2)O8E1mObZD zvP0tItR&>pyX$l6Fwy!S?;eeo*iyS!A_QQy_en<;qA>%ndL4f2-;In{-rf32EYTi0 zVHZ2iBUFIE?(j)S`-UhHc*_i51is%Q>&l%4V&86&s@r#C8z>uibM_B%uBF#$@cvDd zcSZ_=t~bD$yymMLHn+f)b|6f7Roq*1!^ex6j3XL#r(+BWx9~r=n8Fr(xKrx21!Gd8 zGGBeYqC?Ul<5rRWhqYK;^gkAxzO*6$qWq!^HKd&mVAgXrJ+2v`j<2cFq_DoiK9d+b(5 z$Hmf9RASdcGuf6essH#qCWiKnXZ|@gm}UB1cZ4ySb}bd5`HEJ8>W-=LZiEW(p@gma z*l6#&`a3@?{7l{qQ}g&Js*#2!CjFj%fw!BJ_fa^<-X33=?8M9Ey*Ya{FLNFX?lh>} zY+wBP$@B)j#Y1!Q-U{cqs6WEqJ%bHE*L^m(PQ=E_1YAfnvdzu5x{dIQ>M2ga-FW1q zyR7|V<%POXkj+t)MUGL;2rPj+GE@9GOeH3!v`U4;`uj(TFQA>i`GnOwT>6>|}Exq`EVN~vC# zMT*9|LGH!17-}lPXH%oDKg;_W%>6XAQb|fe_$t=%?sXyRDBUHui<=K4t{^ol4%+f7 zQgK1D3k?@oU3vsp^rV*Lt@%u&DSZZ`SC-d05CVxKDg|us6QXZ&eGHwIrctxwZG^63^O~%&tf@FJU83ITs`+^E z=PF{yreeP+!M_{lA3hXH7M(;($R>p^mb78lZi&0+EoiLVS63YVb9&v(HgRb7pkZqt zc>Dl8JH0pu`=!6VRDC4gZr0Yz@o@)<`4XZp2j6%y^F@7x069l-;u$1EDCv@8Rsdde zOgq})#XHiyH;6vrlbO%z>k;GH`cb-_Uz$)xCLIwLzIzZd5$E=*WE-!;zh2yJ``9hw z!p$p==dQ{dlAjIjRBXB%Q)7=#Q0+k@%b#A03mFBMlh3{5ettlWpTfO@JE=GuL|~a4 zw$SxE9786Zthq!_qo8xW1)y6>cWe4a$L77pIaMLzvb6SG@6NLq-1sl4CLq4-s=?YD z-!@k(Z=u_YiVLk)GGv5kr9AFKY<0GPQWi!!X>&oylk{1_9=q{*+Rd(s%1I_Z5#1VB zyk7lhEqUhG?q=|4`GcfOyCV}T`3m^x6qM~^ejc6!P(6QDiku_YWN??eX(=Zb&!?gP zWX#ZYUgq;e0p^+7)4<^uc=c}E!VycKHyY2Z_>ks0ahSUDA%*mVC?9>Fl zt9mPHHDF+mNw`bdI&Y&}KYFR!$=YbWp<((4LTb+kN#Z#kVZDDGj^VHKLq69ksqX(y z`E=*yUC3<*gbn}C%iV+8zx(^iysMY}W&t+6gj7mumX(qH6=lc#C0EZCoO&v1c=3?L z!NWo71cfG5jyDK5-0Hd{?Wct^Qp_D4IhJy?LEvJPl&CB;KMHo zT$2i|Y`=$c@N_etVANGBPRz}!viw;QbIg0illbwadct%3+H$$3{t!%G< ze#W;iNsq;ALp)QF(tLE;R&3{eW@YKlt+XM&%BHR=2`-sTE4ugDu3!#jsU&f8f8GFV zMVl&T$ah$fu)8S>jVtCDz;lr+47vXMjFC8t5kF{cWXecImfI#-CQJyHGUErT;Z+w) zPEbo+^+%OAr*aP6@2}>nl=BzdY&|HF7ws%+kvGq?nE)$hB6-XaFGiYUOO-MzXn07+13a1DA@6SWRPEo{{O2OENO=CCW4q{N}hLBWX`Jk5(VX$t88B3kD46 zr{Xe4c48OLjzoj%s8JnhW<;~eCE z=wbI1jT@Mr&^Mh@b$<4i8*Q2EzofUm_f~8Z2>p{w zRS8zfuPV~mzWmj!ahl+p9Wh&s#ygGQK676`kJ6%bsgfMTX<$tiP4CkLjS&4$8~${h zV&LNgrqcD^KEa1bA&lJM1XXdTo6&d`E%vu z)4PMLWk-_AI1vHTp|VM3=8Fo`W3C@pQ&A~rW7#BFKKlY2$A=oOHZA&akZ@s+80g^P zn#fk1v!{YJ@-*48AlwH_wlD`P!ywWKYd+SRVw~vlPH~TuEaqlvo;(vMgjx&`Coz$? zo&{EZoV-q>W%nDpos2Ugv#Khho?f8l)@~d^^{%97oI`;{WA5w0IX{t75(=e00aBDA z+_54N24OzHE7`xBU=!~c36C>5&49b(oiul%v07J|GBbxW{Q;o4+`w)E(Pl7#zJW%5>amF4v~74nvr^xv`L zF;V@?D)IXFl8{$~NZ%*zOblSZ*q+@*n!dizF?}Ei;cj^{To3c~AOhMYJ0q}KyoK#Y z51Tfl8gpaxvpU5}PwJt~qc4r@B)tCNaI4dt+8(GjdTdB4Y2BRIgx5~y!*(p6Q19RX z&y+V^X%u*ttA{%Elj2DWUeuGK42`=+T?@hO29|+rMoglXR-7m7=`!}ohRM#^9x>rU zA=kcUJ*w>Qv8v!WtD?mkA~o}6rG5x=`K*i|Jk5!2zxtOcj5AC)jGv?~GAZdX!5Sk{ zhYC9yFoF`Dtba^jH==MYBPv>dzzAKYf+H{lgmcwS4dWQ%R|ZQu70B{}>BWOvtnaOB zNw{yB+iSElguj-vaT+Cn+?il5*6(8OH*$3m*f&8Y=RENM6Me@j?(54fZ(cvI~2;_!qi44O{lU`ggabwmO@uUC_ImQHhaK zDinjT@JL?6daQpf50$N%o1is^fsGK`Lrz+pHY+^Yn$2feaC&D)f471gl{cu{WPNU5 z^|1Gi?YK#Kpln%x$P>mvJi{dl0S9rVZ1Fu0E)A8|tj^mn2pQ__ z@fq*1vKqDNYkD@>E)`RYlw1=B_(a>dlzPd%x!&_ zym^h?-<4XL^B$urM{v;WATH(iy_cGXlpx0i2y>oAhRI!bkS3*J(n#9n^Cp3J#?%m4 zA#Dr62g#@5op)>TPEmr80&~H8Qp2fGpcb8}{!L=##H&+|29`xu=L?A45G}~@Bwlx{ zTyQj@0`SjgBR8}9rPV;5r4E{Mp~>}DRi*#_a0Y`vMbh&nX|d zxcb3Ab+%P-d}0}dgTwrW-jBnCA4}2)!U3*C@Bj6c!h=NIZ`_GyC;bL}^ZeNSDM-UG zx~z6SS*8Lkmi#O&TEMYrFhSZ{khM1bR><>-KX`wzj^wEdVVFo>=FR@I{eZ>Sh1+Y! zJGzKT=~g!W4OToIaB(K{$IeSfFmBWJMA>(!C?BBomuXomo7)*tM*JWENL{|bh&X(~ z`vYR~2~3`sUB}CpV7uKc58SmNJ3Fu{_N?mWl5Nsa$9dg)Gk~hTZLt3(-j%VC%UHhO zE}*Rv{%=RG8-Wg@8>OUz%IJirdc*fr>YNNlq-T$vw6i3w*B#-*P^xcq z@$CxiJOfice50o+{>#Vzbs$0`M&F~Vsy}1Dm8UHU{Rh#++!CxC1<^MHyUhJMN+S5J z_XzWLDyMNb7``vXt-uZ8c>_F4OOWfZKp7`kyeI z#(O^@#JNWp$G_}^T_DU5%L9g5!o!<3`0yc&J=FxK%e1D5ldSC09uu}|zG<*x*gri! ziB-Y|fW>o3rm`h6I8w^+7%Rm+k~i@OKlbX>OryVC81VU4ud6pxntEy~0j)F6iK3I> z8o)qfPA z?QKh_Wh~4RHUn^_{a;5B*d?si@Xmt+47Dcg#eW+*xs@W{HaOR8rW99DD$ z`sGhBm5iDBs@RInn1WM4NOR>zPIAwP*@p<9;(x2g6<39ijd3*_PvoaKMe@Q7EE@a3 zaxe!CHki56oW`?Y>oI9T6OPUbsVaS{fsz({{Y~xHjP_DJDGwG zxu@KT<|V0u5xW1ctCUHUmofir6t76$^SA%AS^7V^4;m2c{}~>rcm~pBm2}{rR$hBY zLT~D`PHHfw>kwge#OzWBz;)@s@}P6zumFC3#O&~rVI^)K?Wio(f!w7nnKWdmpqu>0 z4gtFpN?d{+XfPzvfmUrOAeh=xB=H~1@~Agp@-XYBmGQS5ac|tD@O7=UjKJL zhZ%g|9GDsc>pUH-&Z`;72a>LE9N2HABwoVzCFzC}`u{Z_-*j8C*AkM)m@FOLY~o^a zH-CGr}x8A~BvBu2txS2daVK7U6Y|HqIsh~=)SVD`%v{BwLG!}dwQhVCLw z_=>m;*ujKW+P1?!b?Pz}zR&t;H>%@|Ep`|@ywFo{LHd^|NO#PYNT{&>0Uhv2;t$nb z{&ChLK~$-C&!q6nV!ek+Aqk-Xe|v*!>u0uYDSn@o?kc5TWi|3iywG z|KZ~~@dMw+uoq5*NAyFnHV3`nJl_7Js?gjZ7B}Nv$2$%^v(P4R3MU(I$0UKxS zyma*MkCtOMIE|kPewx+J6@$4!Pp2VG%@9(9k1khmjGXxi=Ky9+DHPhhvKoxNkKX~# z{MKP`Le_Vd!CwKPYHD-n^Ng4@IH4g=fId&{#&Hc?0~n2LXxFhQ2LA}=?;OhMNYlJ# zDC4H^ED=52wUH(qv+Vg>hp$l^h-BM)NmlwI=NyOIwOX5d3r@w$l^Zm%gO9dP1o=T+JSnz>%Vo1pjpi zWI?1uv|-NoLh|-`TpIq+Kl|YDjmJrc?9{`Us*V>rTHS}mNRd{-`0b`MO@ve@;bqelxir>=8i>?YJFpWO3UI(D_65a!iiL~Gk4wBc6)b1y*_z^7|l zXw;s)b^><{xQa5z-ibs+{mQ2C<2S46kE}ax_$n@+Q1xy)$OUfd>{+ z@+~r>D)eb?vNjLuNqGNtaM$O)7g8Hd4C2$P;D##sfxCjk1?Psq_E&JQZTcn5l{c{A(nrkHleNvjYiV-{_V2mH z3SMke*S24wtA=g<8OPW0D$AVM#K_o4=xWYoc$jK{gt5f$--qrqh5ftjjHPsbpL4^; zLsds`NQRt;35MXDRoP(+n6GVJP6YDohJYt) zycl>6JBUjgYS|ZAZo56tmiY0Ajx2^6m{1MU`Yu;q=-whuL-$mru|9EvQU1T6tmAIT<|g*Ya|qVvH)e z)Xl*hE9fL)66LmSASUMw|6C+=(AS%LR989fh1ntny!hA9ZF3deehxz~jBcznFX`%C z%7?~lsU7P3SdfCdd{!9RSYvbp)|^3si{w4RHv*T0n1G=L>!7EG`oX>rTKLc1!>^xG zpY8H!ss1&Dcq3DhlAn|bl}pl9owZ#u-1h~-O-WvVhfWng$)-* zwj%0*8}jofp`#KJSPS4l`R6uS(Oo}6dtm;v8*rC#r>r<<&{JCz($~id__?>EY4ol9 zD*ZYIj<~OXl$f9XmETZXJ_kX5#j_5AX2bodn+LyuJ}YvWE6Tr~qJJvmXqu~cuEvOy}3U^O~nJFd?7dnIT{ET6wTjkqd9X4TchxWyhGmmS%<(w7SJi?gourne4OuX}aay>fE`*nI=Oq*Ga^l=q5C#n1R&}zm zkxUvg^Jj`VF`hiO;AT#RW)8Xg&|U<*mWxBaC>_?^BPzND|+IFkYZ`W-D(f*@hrtdH{ zn=fU6muL&A$Dyzt7!)uJ6?!F#31zQSApHgFyC(5oWW3Ej3GFox9!Mnq(V|L$HLC<- z!AWyc)0ad+Lsn<#-z*Wk-|yZu3&$%1Z>JUKvdA2F5?71JtkJmt$W|zSn9n@sQTTCY ziUK(Td7IiW=Td!*5k_rUSmW=tTf9>iPt>H#E6Qw0Ck-uT{{<)<>x4s0g!>I+P%mnw zi8G_aKwuq`7_;oH=$FTr-_;^|t{JhM8 zF})!Db4mvPC761p@9jZ?)7)@q%K{y^p2wG?x@}WRHnqoZ+22ep^bQSJRJBLi$kW>M z?LF)P7Lbz{+--Zut^VL-&1g#Xk>KIl(8eu)1wK{jQv34Z%Pk8|)TyYeHqyXVo{Kv} zle4w9Dc%Z{steY~wDE-hSU;RO#TeXCY3MbW1ec1_qih?mS%$YkN3Tu>c%yN z_X{efKRy4FgLIIbBm3ko%z}a9`SMPL@Os>O&cu&*<6njjcqQeXaE$LfO}+6^g&Y2j z0aEiZ_SKE;!hqlJwD2dpakb(7JB}=lYhT4&(A3J0Dg^}X7Gz-fP|4)n>_ZoOa#i(e zzdAmI|Ggu$(}vpp@i@la_e|cS$3Ocr>n{At$>hZ(^&J;<60&EW;`4NS*?Bi>om{0~ zR4Cu|F4Qn_Q=~mm@B2>p#)0{2V?kb2a`=FEo!2#NR+Bh=2MtRc>T6n zQ6g$6)t6GXWwe9q#@!AdoVX?7w0O}uL62}Nd=tQ)9@CYewJ(0iFYValw*#1tPLlT9J4--Nt4;@1qr42tFiL+ZQk|#YnAzS0kr7Yh; zHJfSTUY_9^A(pyrF)b%su4I8->!M3cN|>^$TG62yNt8=mg{;fc5^^GFflDKfjea1O zfocgK`i+-+$5r>%!Ejw0hIsAq`fH;CDPnF|U6%;;ngIs)VK5+b4?^Rh+eagl0 zYLqO^z|N#o^B1JXpbY{xSY(U;VTr>I*DhqN$)8koEH*Nx>Q>$`;2e+$zw7w)b1E)I z*5|PH`-PBC-n&)_+@=#9e6zRorV=7Q9Cv!-2j@t^CCK{7lKy}&t%}fsO9tfj``oJh zc46G6_SE#rIH~NorSxuFyj{JhPF(W^r*|y68Afvr-@aSMwMTF7l;^fz0jwCPDWPxYywta6G z@fC!;cda8!)};(tJ!T>l$;4#42pVYQiWR0gJPxE9#9ACvR*l7KDijQG+83(Qc!eU47cX#9Dc7Pqy5_k)W;$9>zqH(kBb z@U0GA)}#WfsNVh4hU$VYmelUm^C2u{DEyT(hVS*odrbu%eO-gN*;0w^mtzl3#$o3l zye+k*R;~t$Lp;=WPCgWQwxN?C+aNt2>^bT;v@{&;Jpa7DENtF$EB27*^Qp(Ld+EGX z^Ut!iEaLLCh#5u-3G3q@vJH*(*BXXR23_NS%^q^i2#h>nM0oPtEfWFLU-OxhKR3JS zm@sAj`HSdAD9c27+`wD^T+@a9998R!S4=UVZ&;w;2_fcDz$K8^QP#j_hVj@F1^sss^vw@Pmp>+h8+o(F14le~ z_&?27sFdG}ExR+!7Q*)Hpf+u>V1w{zMbD7y7sxoi)hM<+-Y|l*+6tQHndA+j_N!+? zEJ6v*0h_=Z4LqIaNBIyHjGPf5T^Q&_3BnMW(GX1qkdgff?+5iKTuz9{K)^Vn#mPAz zPM3TmEhn#JCSr?I7^x}|>pHz>?#JtfJXKKW$D-bGUR!xlg~#RmjN2v-o<_=4zBXn4 zmm~Din`L+$|9w^5uIf@e90js(d|80TIJT1JRl!@neVIXHmI`4w_DF3s(ZcNhY zM9}jS^vq1NQjgOXtaplFRCW@Cj1#oSO!E{T2gxBa6IsaTr*vZ#!uZKJ?$1Cig$kfq zzM^vC`w++`f-ei?Ig9V{X*2oxSpihNR4$6pa#f&Ru^&VNRwhY{@cNpLfT>3y$vJPk z7sUx3l{h!F^;b3>XmbH2Hgs<87XEbmVb!ktxov29;_=V!)WbOGqW{u`5yacREGD*BRAwv4VkM}6` zDeA3;3zxY@Zw(%CH*77X{L9e-`8RXQbKIQ@N|{+nngmv-%imaZ#JU^`-$V!m&LmMT zXuk6m4wI@ATxoMpR<}ecq?Z*uZdaBIHg$#+L+oW`@PE+-3H}wGg(tpFMjtn-ojoWa zNIy8qRH(Npw455USN`H_>2`M6ZE&Z3{HvMb?}PCIf&RC-xU+;_ygrHjy8E%>$eY9i zbHw~*bAjwHC38{BgMoX{0;nr^8xO^ZP^1F7@J-45FBdOm`@w3Z+<#*D7}?b;S-r{5 zIc3l@?MO|C7vF=Q1~#q!3A|wnq|-sV=leAXJfr0p(K5J0myHVTQwIxV^wIr(Yzuf( zz7l}Ziz6Kg;iGx5*P&b_R{U{1=KXMc(JM9`So87LEWN0gP)IG)Q^S6&5_)S*ZFKML zc!|5E{9J`I{d1y7;CW)_PUdnT9OA)#<}P!kE7PoOuz~9#R~xbxs|T}ai{6%Z|JmWl z&0=~XQX4|ZgY>vU+{{3(4}aL@Al<2N&=}dUr4>vk)9m5{q0;@IsK=|EkQiCx*jVh? zK{w86Send!DXkbM<2wT#u+65F46h-LL{bN>qXa+huhG$$bpafm3v$I zwL?@*T8q+h(~jMG9GL+v0;yv^6RiwgmoKdoxR+E!SrTF7g<1}Fk808)Dk_OW2CsMN zjqG*2%N~0_Yv`e`(E7jpvy4=|r|xWP^=Q)fZ76kOd9}`IsO?%PB$U-MyR1gLV1Ht) zmjx08JAy{53SyQ*;Seoo_E>a>JN4l#CuEYz($4dD9GMjXsApAnF7MBAYeBpLc$I`3 z)%g`PCf^!+B&s-#E&_63`{j(YTR-+-RJ0(g^#DBN3fYqzf&Kl8@f}8%xDC>38AF4R zG)7wO1whF`PLR$%39@j((7w4j6v)EO@#d36`-YKmM-bSLjG^r<6mC3=*D(N|D=$cg zPC*V10q{)#&V<1JVDKpJM!n6*2rh=8?<~%FCUY8V0_elU}H@gVi zgTIXpKv3fS;7?$-zKo>pG8QA2fr|3;%4FRde-s#jK?vrvO$}Xr?9g*`7_O}?%~1^Kuk!-S1vk8N8xV+`Nv7j92w z()7O!nT)pBt(26!U^@LXobHqE?vWsQy{o?vN#q?RUez04yy}V%rLD9t$$1s_@8@XV zZa@*p_^#nXQW_tOwjj&YW{A^CUMwBZ^?LGf| zNKO)D;!FO_5lQCn#>J$k4jdRAe`)x^d8Uckjr!=dLoh6yfk7|}sg9JTnFgIMK4-Jr zzHYAjK7_-eC673#n(jS$o7tVU-QdCZ)?aK1*9;_beNLCg9;U>5vG)BAAJz5$)HQRP zYRM6efB_tfoCXk# zdAi|`OU#s~$Y>GBg}&N?Ia8dC)J?)s_}Y)J_DA8_HMW|+A9|L^m?k^3J-9!^P-ovu zL>Gt&@?u7{_lHaf5|-R;cJ=(rC5ze^bozaEQLC>?1bY^1S7E7{Z>Z$;pcQ-Ws3`9{ zyZ-)!HT*YH@$DjV1Ob;E3i-=4A?@hLD0#U*#@3#e6x?mM9|A{8t5CZRzA&rK1 zFqD*xEV*POepLhr2< z+_dcQg-bratWWrhm9fk`@?EJ>lymvSs3El-+VL`AI8&Q2aI?!>z}t z|00M(s)_>eCWKfpc;Jv1@)(HpI4Cme&F(^+%>+kIIuqtp9WR11F=EHkAKjmJAdF=f z1$>|nZi_}#N&f|a!A#05S{cYn`7)M9h?6O(85>XnFvAcOh$33Nc-!MyJpk(EZi9NY zc^4~SR+-=-jj-+!;sWmIZ)h6!e+j>y3Hp-}2>kTJ-U6PI?_=8f1*Nidq z6#@Uhdb`~qn1Oj561&oLX!1~u8Ys8pXopFT6BP)=5wpn2-;Cjm61_#)m7h9|cIk|2 zyB15$-j{iS3qW{}Vt5)OXQDRu-=UMt>S)j0Od7E5t`DySk6< z2Epjv7MJni<9UHU!RRDcIQKlU23dn$!&;Pc+-n6BZ?`YbyqIAMO7vd!7q8Al`xSh*@5PoqE;TML zrnyo+@uCe~O~FT)4nZ@abgE zB@K2uOSN3ai-pxag9#-PQN!#pbwuO;>XS2`T5ACCqujCp&xXH9Ns=14VopIOd-?|^ z)=8rzUGSY%(My0vZBbo)T}53`@;MhtIy|!Ki#nJcE{31L>2ZV8`74{L8v6PULwpp) zp{7WBAwfLvmg+>e+}(mkmQEM~L1`0maY`s7$ZY5w0N9wryx&<}xyr=pLg=X8WH6xc z?3vP2RMkyxL9PI7Zu%I`nqhBE8m6Rcfn8TH?$xnTXi7f=W7cv51@vL_*eKQTS+v~_ zF!a#ObAbO`A4ELn+EGSNUN+l7R0EUm-8?hy4ihun%W{T^t6BiSHw0iuBiRv60u9Q( zDM9S#45c`w%!D(I0+{&UVu>@lKvbF(JnG!q6t51-U7ZH&ee3cMH{hEDLHRlWbbtDp zfO)ec8lRzRglOf8mm}9>7cMN}4CeR`c;{jXX4PI9#p#_nnh8T%fFs?_T)-;n$zECQ zxl0mG0#NSgLi);j=+~=`1{8_UkwWG}KY(ZW4_pu^^H=tS&3mILaBGL)Q~pY~zVT&G zmj$3eaock9+O69$u8qhH{O|O>xBP#vf7$~k&IRz)_5^k0wrGjyW*!6f#P26_FaS(U z%kT6o^xWbRgsztcwgcduvEJ!yV01*z?fxb9>cja_vOajbm?okgdSndmt=64kKfS50cOkSE#K$BUN4 z;dSlQIA?d$>X-`{X|APeG55uC@Oj973Q~?Wzb*-K-b{6rs zwrbjYN$6|IA>T%e^_0fRNt!N&n~S|+TGvolP)88$-(~Fvz?~_(lERrXQhaPH|6mkJ zHLj}384hh4hUw3+M`z&=#8e|EeSJ`9x* zFfUrqtAX<0wgxxkl5w?8k)n0+Q7RoObu-@JmiTQ$cJwsqBVSAB^OstKq38F|pnSK` z)7D*|ioKCo_mmV98z$NxzeY6?;iD2ZGLc}(&DzYN4~Q|{5jy2!FJ4SKBU-Y{t_*2^ zoP?z`XJP*k78=bC&@5l0TEn)$kOX^WcDGvZRjoANW<+Hl1*6uWm!gaoEdlt}ytkE? z2Km^9v~(t2yV=9QA|6rLL>V4C#y=Rwxd#dEVzq$xU)tFl+B+6|q_mN%@Quc^DTy=4 z;8lt^-Wt5G16^t^bX5a)K5U0@9ZD}LZIo6up`Gl}-$cZL(3un{Fb{hT{ka?-hS=HI zW#DdqU~#&wGEk^#Nc70kd29!~A1Ax#hbdea3P$yxEZ+i>dj)3|-1yRYDjL=Yp2Ag7 zc!ywFr=cL6w1@)9O?Hq+hd`^-G@o5<35E{Ed(9A8F4u_Sr>39Cj%A!DNd1lX3D?4b;r zAr=(=$z&LLZLOJO3%Nq~X(|r8RE=}O;c0B~=ea@IM>$LV1EFsI0qs#H3V)aze60P9 zu2>dXmKV+DZ}mGkSZy7?=9JN1uwwWo{O6c>4RN&-`R2*_SLz?0@#Y)h^ZFzkfNwNA zx_J4HLznnvO_jZJUGtX~SgQV^nzt*Up@j7HV5bfU<5PreSnZa` z>T@o!=Osl)O^m=~+Z9~K>z>|e0goFuAnQ>7P@7eAKV;44Tc#!!Ag6mDb;ZMl+-^yc z^5y&)tZdW5b_jU_vFx0eL;=5rCrwSZ0=bgQP@I*7;>bSSfyZfo3>4F=o4in%lt?dS z4ap-`WSMSG**8)TW9az|$L`8a1N_{cmU)T8yH=*r^|_Xs2hw1ko#GmekTkxKw|rMv z-l0Wr-mmdnALsQ~k_0x=IUHkgpuUYvd?K`gl$0sJT*s9 znJ;(AR=ifanC9tCDnyTyXdz!llIp9Z1MpfIH#jkZ;V78XR5xcR!nnVKc~+q(xgq56 z-A)^azFb-2%<_>ASrN}*u|eIW^T>!>_Ly^hMF^!9zIX!zILC7OE0;{BFpNB$@@@~g zj?K~YBlskPB7uJ?Q|?Lv^y2pjOWmx@j;)&N1qnI@(t>$)|WDpP6-Q72-2%c zbJ1C5MB4!aaaf%*_x-|S;9ZLGR2F@reyug`3s0S(vuj45Zs$JTv9#Bn@7K^E9X8F^ zrKq0|=83|pZONDGN~R&b*{w&28Hwca*-) z0r=y^M(o;}$D~EB+p9^-5*AM`sVbQsGtJkc=rW7!2j#k>HceUCXZp)JUf~Q3g{AE9 zR4k)#Qtl4Ixc%Ae!~CXs35_@r8v9V1HdfXgo*MZ6)p^kS$IR1~&heV6ke_S9r~7Cp zvzY!Zft~=Z}vJ-NdJ@VccJ`XihmG#A2 z(x)Ch5qBa8)H|OkbOpQktZq43tHfGQwuyrIXvj$#af=K52uANNsbSYNNMFG>RBvS# zkU}K`V`WO~W(?7H8dxk|9*bOBy|y&ce_~M#8E2=*ill>A=OO=Y2hO1tYO9Tv_0s$P zxff&0zkM^`OM||@Xh_=6d-9NAd$s?&9*?sAj)UGc`4RTC+KE`|2(7!pZAtn1q-P7p zFT+!b)uIE6Wsp<2f`qKOAnu$Quo-(n+w!Y0;=AhYEWgDC)BI~60fA|NnK}p`m35cr&PUzK9IQ$d9yZ(<&HZ$>TMUHN2TB8WO_3>}Rl{RH&-cyvUorfBNu zQRo4Y^phUvB;C!H+z>|a3-qt&8K`Z`!gzRDksly7dYd-zb!>JXPWjuu$=?2zs{ZO^ zPxhe!WNXH&ntJFDunudDqpTA4hV6)8Bsq%Z7jH|4;VGZZ!AH*}N{UVM)6QA8-egh# zq|(XW4#%5=(D>(Op8m%go_?BsW;)dLN&;md20Gc_6{D~i710t#a&dDljd4jo&I(g6 zOV?6l=l4r4!Rw(65Ax&2XBLCOUbfIjTN^pn$uIG*PbvDdV^y@y1;-xuEb|hUwe$C? zz>@R+tNQa4nWA85)zdSTj)A2C#}X6veRQHpw98Q30rU~UJ3EnqDi z`l3ujy>kkfXOzARqIsik6VS)SB)qbL?g#bx&BKxUwzXbBxX^$XP{1$FWUXRt9 z_`{OXEfWdzkLC|a`e?*9iyWWC0uog4rK(jIx(#7uioiJ}7B1tgoqh+Gc||fDsi%X* zDQsr`uMW?*ZXSxivz+|4(q+_`n&;|p%3NZPbpw>}=p>2!H_Q4$X(+_*4YG6cSaeN( zTISt;ssU%0iZR@^+cn2;euP%2k^FoMq)m0)-k*{}9sADY4(i(=wliWG^TGJ%bjb zOq_65n9Y@(Pbe|~Rs32gFyz?1Dc=sk`LsWJL?iQL5^5p+k4O)3uzi*gX`>3BGQ4bY zG$vyK`>dhq+0HKGuYX<7_jm~E99HaTFhfU=y#DnH8mMcSaDq# zFw&313LQc;o0o!w=!bR1h`|#tFw<;vMrxAIq86rXA|6|oS?+pu4#hc?5pj$%9zR3; z9h)|h-TmvXE(_ltJ#sT6u=UsLpnV+i4l8nD4KKd!VES;@it9bDqoZ@(cA#C93P)On zzt~CCJYR?8W;aom?B|kEUUNV7&d{?YU63-9O8auk%S7DC{*VT{u;dj>6vvcxUfu zkh2K^Vs*kkb&7fdt}SonE-#Z#EE(AYV=BAR|CpR8qaOy|*T{T%uIR{!?W|80C|@mf zC%=>Diuu#Ev@4ll=uJE+IUx<9g+U_b3Kaf|;>-;3CE*o$XMqCXZ*z+ryX3jkdz+QH z{)=GOhrIX0QmfAheYl>Drrb{Oogubs8nSm3aeE6dUsys&iVcx`p>+waKA?jDsB{htGTS19>_@7 zz|OI4l+T!-=CKI0{y8CD(q>vp^!4``Tff!&S$TS9K;1MEuC|cZl{5ukdze zY_(RZV_q&Fc@0lL|KvX?@0p;Di1mvx8oe(~C_;C3phFz`bmK99o|WcU3PMHxa;TMN z!o{@)t0qg~zi2W9+O`aRNvF*uXP!U7`@m`L$X%K;n+DH~xt>5L+2$%oQcXb4(M3;t za{M;8V#haDP8w$I%rRFyTG7ha`n<WD?{U+@74H$=T#lITJq9q!A zwCC-ftELS(3s5Xni++8nam1Tfc+pem!zpg~F@vGw1k4jRqGv`#-Js9iWp2O{C)8)g z21wxAOne1`+^mVq(SA3$rEobTpql?QvZ z=W;;)T`bCs|A!qQdoI4AL=TlOWI*{;tk#N&dKgErTI+J)zI)vY&BuM-;vw)Jm8ct~J0L zcF$*hT}^O|L4=OiZ|C8w(>)Lpx6b>DHOnRNBsZD+2Z~by$uw@ElUozMT>B3Dw24jY zxjS=z=ZUoi^aoIuulSN-)OAsDUfw~09^6e_Ud+uldtA1$XJ7aSFvNr= zW?_(WTUg^3xr%d+^KKj-Xx5! zQ&oFTw&qT%uItNC-WkbWw$JL*deUuiFe_ZNzt;{S_1&YhDmyy2-0RUypea%ei1itH zFuQ*2WeCCykQxrQfBo1J;QKL|s-!9n8pk3*6ks9YNs&0MjF|U+|1CoMyMqp9@Uw1d zGx2|yir|?4?|SVTio}i~b>&$y2&%n)XqLv-t-2YMpCv?m$DhHqkwn?`D2Yunuf(8h5R8`ID)qr=ITl;*!7xL9n zsSu#-No6lGcPeav$yt3y1UzJ}6!_&5Ky$N(su&VLbZ6T&idjslNQbQr_!C;VO^Z_Hjf!N8dIb|FQ< z*-F?rO)M`fQM^EzX@YVWBTw?X8m^Lnb29>zD_BNd@u!{78{*{6jJ6rBIZ{fPhNuj2 z`r7vS_d%KDI5@Zp)3?w1!@(Y+?lVhbmyR zwJ+gOZ%HWB^@eq=tHN-ur;!mDv3j`O|Nc*ZOrHyqbi+A%=2O((m@v7b@7*TK14zaQ ziYU5(w{!GpxL+3`+OPM=Y})0@3R$QD`ad%Qx-ACB!+ze%&270FBDmXlKvdR+M#dV} z+6`^1qmcq)7x~x1kb!o(Y_{1BdI4?jJN9iVT91M8G!G^@vBE1O+r#G_LdY`_lcno+2+`^?uOq)oZ3VS1SxVDkC>{U6+NvG@!T;2*7E) z9)^$vLP18XjwYwA1oap8tm4eRzgl(NIQ`;Or8ty;gx;H|)1Y7IL%?i9ZhX`?w`h&T z*DlHq%GAueT7#8)WKBn=WQx_>wLYiA_tCFWRc)pvp@Rk9^h80R1!D8YhcwC)S@!=X^wRwS-Rl^57kd$fC=9X0Wy{c%3>}rw zJntXEK$J;H->so~)M-@zu(za!mgds^o2+TMZY}%3ZdA=Pl7JFTnVQb)7A$1Vrkz$z zu}^P4m=||1NdHHDZzS3kR-0x57g^I29VVO0CtG?99CG-JG+pq8B9T6VtC6&!n#PVv z#cIit0-E79$72mq_Kc9x;klRnf|4KZmb#*Wh$=lYrU*~_5JbeC9t&JEik;7CZ zudeO09kY@vRyTb2SptR9Lp8FrH}^vjqi>MQMz%c2Vy zo|*pJw!2|d-QJ7~+QEXC$l)~Pz87r6njrT+&yTdm1WPN*rdSX-GT(TFNZ}s9H^QUTS z1nwQnecDKPg7XXf>5uUAv}!Sxq#jjCB1_tJZ+Ge=#jvYz9kSwUO1BP`_j=1%*H9b+ zT~KDmy!hmNRF72yS~-Gv@7)RQU12tFSs7-)q@?th(cM|0bfHI2C*txoEK1|qc$wn* zVRh?UxY7FkLXR>eiK39lI0gSAb36e)e?grtU)3KK zQ8m009Ox(Z??QaIm9nEZ6*;ZofYPlL%|4>)MwMgtrWPU)>;DRuBk6yi=B>tfVx=PO z67o>}O7U#szd5$eC=Ce(9EtkpJ+cUavkqX{6zJHDBDicDWkP%C;_Lt`VP9Q+rm0H6;sO@c@}1dWxB7j=n~Dn~WNv)G{rxc+B(4n@0XgYx z^LDdBenirb1ikAM+V~yC$nyWgu_p&_Lv7if*ZMZ7tiiaCm0<$jS#2EN31wD? z9oW(_RV+uWq4;XG7{RG576}*IF%)grz+iYiLk=Zs5pxK!n3Da|voXZeyq3=hNQ(xl zU4K$BoA_=W$6&y-p}LMqiijih-$Ia=r&E7iv5bARbSu6;{AZb>2A;wRHV;}{eOUrw zSC^ZAT@jV2wYF-b9-_5_)@S#0_bi(Z{Dr^qmV$)M#WIYkHm?>g@P3=ue`cB@PyHZO z>pmdU`(JcxWg+h}0@dfFzz>>`yaGQsjU$X38)VIC|-rOfMOFi@Y-G5SJ0qAo%J3 zP$_^H&JN6_BW|&yKnH2$Jrk%QU6!j4X@GKq+dw4BVgqXMutUrqWVyKfu1X-tOY_tE z7NO%vKBQ{iLV-y>PPPS)#Y5m)SQ2go}XiD~m^%rQQw?omWp>516%pI0_m}>Jzw{rYXK2>| literal 0 HcmV?d00001 diff --git a/Tab Organizer/icons/icon48.png b/Tab Organizer/icons/icon48.png new file mode 100644 index 0000000000000000000000000000000000000000..5888b82a59215b3f82e156345662a1c43f72be8e GIT binary patch literal 13221 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 + + + + + +
+

Tab Organizer

+
+ +
+ +
+ + + diff --git a/Tab Organizer/popup.js b/Tab Organizer/popup.js new file mode 100644 index 00000000..93463c5c --- /dev/null +++ b/Tab Organizer/popup.js @@ -0,0 +1,32 @@ +document.addEventListener('DOMContentLoaded', function() { + const createGroupButton = document.getElementById('createGroup'); + + createGroupButton.addEventListener('click', function() { + chrome.tabs.query({ currentWindow: true }, function(tabs) { + const groupId = Date.now().toString(); // Unique ID for the group + tabs.forEach(tab => { + chrome.tabs.group({ tabIds: tab.id, groupId: parseInt(groupId) }, function(groupId) { + console.log(`Tab ${tab.id} added to group ${groupId}`); + }); + }); + renderGroups(); + }); + }); + + function renderGroups() { + chrome.tabGroups.query({ windowId: chrome.windows.WINDOW_ID_CURRENT }, function(groups) { + const groupsContainer = document.getElementById('groups'); + groupsContainer.innerHTML = ''; // Clear previous groups + + groups.forEach(group => { + const groupElement = document.createElement('div'); + groupElement.className = 'group'; + groupElement.innerText = `Group ${group.id}`; + groupsContainer.appendChild(groupElement); + }); + }); + } + + renderGroups(); // Initial render of groups + }); + \ No newline at end of file From e98870a45e10eaeaf4d01f63f417ee33c8c08e1d Mon Sep 17 00:00:00 2001 From: Revanth <109272714+revanth1718@users.noreply.github.com> Date: Thu, 8 Aug 2024 20:48:16 +0530 Subject: [PATCH 13/14] Noisli Extension --- Noisli Extension/manifest.json | 14 +++++++++++ Noisli Extension/popup.css | 43 ++++++++++++++++++++++++++++++++++ Noisli Extension/popup.html | 21 +++++++++++++++++ Noisli Extension/popup.js | 16 +++++++++++++ 4 files changed, 94 insertions(+) create mode 100644 Noisli Extension/manifest.json create mode 100644 Noisli Extension/popup.css create mode 100644 Noisli Extension/popup.html create mode 100644 Noisli Extension/popup.js diff --git a/Noisli Extension/manifest.json b/Noisli Extension/manifest.json new file mode 100644 index 00000000..bcf29dfb --- /dev/null +++ b/Noisli Extension/manifest.json @@ -0,0 +1,14 @@ +{ + "manifest_version": 2, + "name": "Noisli Clone", + "version": "1.0", + "description": "A clone of Noisli with gradient backgrounds and sound mixing.", + "browser_action": { + "default_popup": "popup.html", + "default_icon": "icon.png" + }, + "permissions": [ + "storage" + ] + } + \ No newline at end of file diff --git a/Noisli Extension/popup.css b/Noisli Extension/popup.css new file mode 100644 index 00000000..06d46d8f --- /dev/null +++ b/Noisli Extension/popup.css @@ -0,0 +1,43 @@ +body { + margin: 0; + font-family: Arial, sans-serif; + height: 300px; + display: flex; + justify-content: center; + align-items: center; + background: linear-gradient(to right, #ff7e5f, #feb47b); +} + +.container { + text-align: center; + color: white; +} + +h1 { + margin-bottom: 20px; + font-size: 24px; +} + +.sounds { + display: flex; + flex-direction: column; +} + +.sound-btn { + background: rgba(255, 255, 255, 0.3); + border: none; + color: white; + padding: 15px; + margin: 5px; + border-radius: 5px; + cursor: pointer; + transition: background 0.3s ease; +} + +.sound-btn:hover { + background: rgba(255, 255, 255, 0.5); +} + +.sound-btn:active { + background: rgba(255, 255, 255, 0.7); +} diff --git a/Noisli Extension/popup.html b/Noisli Extension/popup.html new file mode 100644 index 00000000..8e4770b1 --- /dev/null +++ b/Noisli Extension/popup.html @@ -0,0 +1,21 @@ + + + + + + Noisli Clone + + + +
+

Noisli Clone

+
+ + + + +
+
+ + + diff --git a/Noisli Extension/popup.js b/Noisli Extension/popup.js new file mode 100644 index 00000000..bbc96c52 --- /dev/null +++ b/Noisli Extension/popup.js @@ -0,0 +1,16 @@ +document.addEventListener('DOMContentLoaded', () => { + const soundButtons = document.querySelectorAll('.sound-btn'); + + soundButtons.forEach(button => { + button.addEventListener('click', () => { + const sound = button.getAttribute('data-sound'); + playSound(sound); + }); + }); + + function playSound(sound) { + const audio = new Audio(`sounds/${sound}.mp3`); + audio.loop = true; + audio.play(); + } +}); From dd56ed67faebc4368ed3b8f0c60f74b805bf8f27 Mon Sep 17 00:00:00 2001 From: Sree Vidya Date: Thu, 8 Aug 2024 23:03:30 +0530 Subject: [PATCH 14/14] Tamper Monkey Extension --- TamperMonkey/index.html | 26 +++++++++++++++++++ TamperMonkey/manifest.json | 21 ++++++++++++++++ TamperMonkey/script.js | 25 +++++++++++++++++++ TamperMonkey/style.css | 51 ++++++++++++++++++++++++++++++++++++++ 4 files changed, 123 insertions(+) create mode 100644 TamperMonkey/index.html create mode 100644 TamperMonkey/manifest.json create mode 100644 TamperMonkey/script.js create mode 100644 TamperMonkey/style.css diff --git a/TamperMonkey/index.html b/TamperMonkey/index.html new file mode 100644 index 00000000..b3d83c50 --- /dev/null +++ b/TamperMonkey/index.html @@ -0,0 +1,26 @@ + + + + + + Advanced CSS with Gradient Background + + + +
Welcome to the Styled Page!
+ +
+

Sample Section

+

This is a section with advanced CSS styling and gradient background.

+ Sample Link + +
+ +
+

Another Section

+

This is another section with advanced CSS styling and gradient background.

+
+ + + + diff --git a/TamperMonkey/manifest.json b/TamperMonkey/manifest.json new file mode 100644 index 00000000..cc8d0eab --- /dev/null +++ b/TamperMonkey/manifest.json @@ -0,0 +1,21 @@ +{ + "manifest_version": 3, + "name": "Tamper Monkey Extension", + "version": "1.0", + "description": "Apply custom CSS with advanced styling and gradient background to webpages.", + "icons": { + "48": "icons/icon48.png", + "128": "icons/icon128.png" + }, + "content_scripts": [ + { + "matches": ["https://example.com/*"], + "css": ["style.css"], + "js": ["script.js"] + } + ], + "permissions": [ + "activeTab", + "scripting" + ] +} diff --git a/TamperMonkey/script.js b/TamperMonkey/script.js new file mode 100644 index 00000000..c943cd59 --- /dev/null +++ b/TamperMonkey/script.js @@ -0,0 +1,25 @@ +// ==UserScript== +// @name Advanced CSS Styling with Gradient +// @namespace http://tampermonkey.net/ +// @version 1.0 +// @description Apply custom CSS with advanced styling and gradient background +// @author Your Name +// @match https://example.com/* +// @grant none +// @require https://code.jquery.com/jquery-3.6.0.min.js +// @resource CUSTOM_CSS https://yourdomain.com/style.css +// ==/UserScript== + +(function() { + 'use strict'; + + // Inject custom CSS + const cssLink = document.createElement("link"); + cssLink.href = GM_getResourceURL("CUSTOM_CSS"); + cssLink.rel = "stylesheet"; + cssLink.type = "text/css"; + document.head.appendChild(cssLink); + + // Example of adding custom elements or modifying the page + $('body').prepend('
Welcome to the Styled Page!
'); +})(); diff --git a/TamperMonkey/style.css b/TamperMonkey/style.css new file mode 100644 index 00000000..4672184a --- /dev/null +++ b/TamperMonkey/style.css @@ -0,0 +1,51 @@ +/* Advanced CSS with Gradient Background */ + +body { + background: linear-gradient(45deg, #ff7e5f, #feb47b); + font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; + color: #333; +} + +.custom-banner { + background: rgba(255, 255, 255, 0.8); + color: #333; + padding: 20px; + text-align: center; + font-size: 24px; + font-weight: bold; + margin-bottom: 20px; + border-radius: 10px; + box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); +} + +a { + color: #ff7e5f; + text-decoration: none; + transition: color 0.3s ease; +} + +a:hover { + color: #feb47b; +} + +button { + background: #ff7e5f; + color: #fff; + border: none; + padding: 10px 20px; + border-radius: 5px; + cursor: pointer; + transition: background 0.3s ease; +} + +button:hover { + background: #feb47b; +} + +.custom-section { + padding: 40px; + background: #fff; + border-radius: 10px; + box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); + margin-bottom: 20px; +}