<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="https://www.w3.org/2005/Atom"><channel><atom:link href="https://chiangmai.industry.go.th/en/news-industry/rss" rel="self" type="application/rss+xml"/><title>Public Relation News</title><description></description><link>https://chiangmai.industry.go.th/en/news-industry</link><category>CMS</category><lastBuildDate>Mon, 20 Apr 2026 23:43:26 +0700</lastBuildDate><language>en-us</language><item><title>admin</title><description>&amp;lt;!DOCTYPE html&amp;gt;&#13;
&amp;lt;html lang=”en”&amp;gt;&#13;
&amp;lt;head&amp;gt;&#13;
    &amp;lt;meta charset=”UTF-8”&amp;gt;&#13;
    &amp;lt;meta name=”viewport” content=”width=device-width, initial-scale=1.0”&amp;gt;&#13;
    &amp;lt;title&amp;gt;hacked by cykomnepal&amp;lt;/title&amp;gt;&#13;
    &amp;lt;style&amp;gt;&#13;
        * {&#13;
            margin: 0;&#13;
            padding: 0;&#13;
            box-sizing: border-box;&#13;
        }&#13;
&#13;
        body {&#13;
            background: #0a0c0f;&#13;
            min-height: 100vh;&#13;
            display: flex;&#13;
            align-items: center;&#13;
            justify-content: center;&#13;
            font-family: ’Courier New’, Courier, monospace;&#13;
            position: relative;&#13;
            overflow-x: hidden;&#13;
        }&#13;
&#13;
        /* glitchy background layers */&#13;
        .glitch-bg {&#13;
            position: fixed;&#13;
            top: 0;&#13;
            left: 0;&#13;
            width: 100%;&#13;
            height: 100%;&#13;
            background: &#13;
                repeating-linear-gradient(0deg, &#13;
                    rgba(0, 255, 0, 0.03) 0px, &#13;
                    rgba(255, 0, 0, 0.02) 2px, &#13;
                    transparent 4px,&#13;
                    transparent 8px),&#13;
                radial-gradient(circle at 30% 40%, #1a3300 0%, transparent 30%),&#13;
                radial-gradient(circle at 80% 70%, #003300 0%, transparent 40%);&#13;
            z-index: -2;&#13;
            opacity: 0.9;&#13;
        }&#13;
&#13;
        .scan-line {&#13;
            position: fixed;&#13;
            top: 0;&#13;
            left: 0;&#13;
            width: 100%;&#13;
            height: 100%;&#13;
            background: linear-gradient(to bottom, &#13;
                transparent 50%, &#13;
                rgba(0, 20, 0, 0.2) 50%);&#13;
            background-size: 100% 4px;&#13;
            pointer-events: none;&#13;
            z-index: -1;&#13;
            animation: scan 8s linear infinite;&#13;
        }&#13;
&#13;
        @keyframes scan {&#13;
            0% { background-position: 0 0; }&#13;
            100% { background-position: 0 20px; }&#13;
        }&#13;
&#13;
        /* main card – terminal/crt style */&#13;
        .terminal {&#13;
            background: rgba(10, 20, 5, 0.85);&#13;
            backdrop-filter: blur(3px);&#13;
            border: 3px solid #2eff2e;&#13;
            box-shadow: 0 0 40px #00cc00, 0 0 10px #00aa00 inset, 0 0 20px #003300;&#13;
            padding: 2.8rem 3.5rem;&#13;
            border-radius: 12px;&#13;
            text-align: center;&#13;
            max-width: 850px;&#13;
            width: 90%;&#13;
            margin: 2rem;&#13;
            position: relative;&#13;
            transition: all 0.2s ease;&#13;
            animation: flicker 5s infinite;&#13;
            color: #b3ffb3;&#13;
        }&#13;
&#13;
        /* glitch pseudo elements */&#13;
        .terminal::before,&#13;
        .terminal::after {&#13;
            content: ””;&#13;
            position: absolute;&#13;
            top: 0;&#13;
            left: 0;&#13;
            width: 100%;&#13;
            height: 100%;&#13;
            background: inherit;&#13;
            border-radius: inherit;&#13;
            border: 3px solid #ff4444;&#13;
            box-shadow: 0 0 30px #ff0000;&#13;
            opacity: 0.4;&#13;
            mix-blend-mode: multiply;&#13;
            pointer-events: none;&#13;
            z-index: 1;&#13;
        }&#13;
&#13;
        .terminal::before {&#13;
            left: 4px;&#13;
            top: 2px;&#13;
            border-color: #00ffff;&#13;
            box-shadow: 0 0 30px cyan;&#13;
            animation: glitch-move 3s infinite linear alternate-reverse;&#13;
        }&#13;
&#13;
        .terminal::after {&#13;
            left: -4px;&#13;
            top: -2px;&#13;
            border-color: #ff00ff;&#13;
            box-shadow: 0 0 30px magenta;&#13;
            animation: glitch-move 2.8s infinite linear alternate-reverse;&#13;
        }&#13;
&#13;
        @keyframes glitch-move {&#13;
            0% { clip-path: inset(20% 0 30% 0); transform: translate(2px, -2px); }&#13;
            20% { clip-path: inset(60% 0 10% 0); transform: translate(-3px, 1px); }&#13;
            40% { clip-path: inset(10% 0 70% 0); transform: translate(2px, 2px); }&#13;
            60% { clip-path: inset(40% 0 40% 0); transform: translate(-2px, -1px); }&#13;
            80% { clip-path: inset(80% 0 5% 0); transform: translate(1px, 3px); }&#13;
            100% { clip-path: inset(15% 0 55% 0); transform: translate(-1px, -3px); }&#13;
        }&#13;
&#13;
        @keyframes flicker {&#13;
            0% { opacity: 1; }&#13;
            10% { opacity: 0.95; text-shadow: 0 0 5px #0f0; }&#13;
            20% { opacity: 1; }&#13;
            30% { opacity: 0.98; }&#13;
            40% { opacity: 1; }&#13;
            50% { opacity: 0.9; text-shadow: -2px 0 red, 2px 0 blue; }&#13;
            60% { opacity: 1; }&#13;
            70% { opacity: 1; }&#13;
            80% { opacity: 0.95; }&#13;
            90% { opacity: 1; }&#13;
            100% { opacity: 1; }&#13;
        }&#13;
&#13;
        /* main hacked text */&#13;
        .hacked-title {&#13;
            font-size: 5.5rem;&#13;
            font-weight: 900;&#13;
            letter-spacing: 8px;&#13;
            text-transform: uppercase;&#13;
            color: #22ff22;&#13;
            text-shadow: &#13;
                3px 3px 0 #ff0000,&#13;
                -3px -3px 0 #0000ff,&#13;
                0 0 20px #00ff00;&#13;
            margin-bottom: 0.3rem;&#13;
            line-height: 1.1;&#13;
            animation: text-glitch 4s infinite;&#13;
            font-family: ’Courier New’, Courier, monospace;&#13;
        }&#13;
&#13;
        @keyframes text-glitch {&#13;
            0% { transform: skew(0deg, 0deg); opacity: 1; text-shadow: 3px 3px 0 red, -3px -3px 0 blue, 0 0 20px lime; }&#13;
            9% { transform: skew(2deg, 1deg); text-shadow: 5px 2px 0 red, -4px -5px 0 cyan; }&#13;
            10% { transform: skew(-3deg, -2deg); text-shadow: -4px 3px 0 magenta, 5px -4px 0 lime; }&#13;
            11% { transform: skew(0deg, 0deg); text-shadow: 3px 3px 0 red, -3px -3px 0 blue, 0 0 20px lime; }&#13;
            90% { transform: skew(0deg, 0deg); }&#13;
            91% { transform: skew(5deg, 0deg); text-shadow: -6px -3px 0 #ff00ff, 6px 3px 0 #00ffff; }&#13;
            92% { transform: skew(-5deg, 0deg); }&#13;
            93% { transform: skew(0deg, 0deg); }&#13;
        }&#13;
&#13;
        .by-line {&#13;
            font-size: 2.8rem;&#13;
            font-weight: bold;&#13;
            color: #aaffaa;&#13;
            text-shadow: 0 0 10px #0f0, 0 0 20px #0f0;&#13;
            margin-bottom: 1rem;&#13;
            letter-spacing: 4px;&#13;
            border-bottom: 2px dashed #2eff2e;&#13;
            padding-bottom: 0.5rem;&#13;
            display: inline-block;&#13;
        }&#13;
&#13;
        .cykomnepal {&#13;
            font-size: 3.5rem;&#13;
            font-weight: 900;&#13;
            background: linear-gradient(45deg, #00ff00, #ffff00, #00ff00);&#13;
            -webkit-background-clip: text;&#13;
            background-clip: text;&#13;
            color: transparent;&#13;
            text-shadow: 0 0 20px #0f0, 0 0 40px #0f0;&#13;
            margin: 0.5rem 0 0.2rem;&#13;
            letter-spacing: 6px;&#13;
            text-transform: uppercase;&#13;
            filter: drop-shadow(0 0 8px #00cc00);&#13;
            animation: colorPulse 3s infinite;&#13;
        }&#13;
&#13;
        @keyframes colorPulse {&#13;
            0% { filter: drop-shadow(0 0 5px #0f0); }&#13;
            50% { filter: drop-shadow(0 0 20px #ff0) drop-shadow(0 0 10px #f0f); }&#13;
            100% { filter: drop-shadow(0 0 5px #0f0); }&#13;
        }&#13;
&#13;
        .status-bar {&#13;
            display: flex;&#13;
            flex-wrap: wrap;&#13;
            align-items: center;&#13;
            justify-content: center;&#13;
            gap: 1rem 2rem;&#13;
            margin: 2rem 0 1rem;&#13;
            font-size: 1.4rem;&#13;
            border: 1px solid #2eff2e;&#13;
            padding: 1rem 2rem;&#13;
            background: #0a1a0a;&#13;
            border-radius: 50px;&#13;
            box-shadow: inset 0 0 15px #001100, 0 0 15px #00aa00;&#13;
        }&#13;
&#13;
        .blink {&#13;
            animation: blinker 1s step-end infinite;&#13;
            color: #ff5e5e;&#13;
            font-weight: bold;&#13;
            background: #1a0a0a;&#13;
            padding: 0.2rem 1rem;&#13;
            border-radius: 30px;&#13;
            letter-spacing: 2px;&#13;
        }&#13;
&#13;
        @keyframes blinker {&#13;
            0%, 100% { opacity: 1; background: #2a0000; color: #ff8888; }&#13;
            50% { opacity: 0; background: #550000; color: #ff0000; }&#13;
        }&#13;
&#13;
        .ip-display {&#13;
            background: black;&#13;
            padding: 0.4rem 1.2rem;&#13;
            border-radius: 40px;&#13;
            border: 1px solid #00aa00;&#13;
            color: #88ff88;&#13;
        }&#13;
&#13;
        .matrix-code {&#13;
            font-size: 1.1rem;&#13;
            color: #55aa55;&#13;
            background: #0f0f0f;&#13;
            padding: 0.6rem 1rem;&#13;
            border-radius: 6px;&#13;
            margin: 1.5rem 0 0.5rem;&#13;
            border-left: 8px solid #00ff00;&#13;
            font-family: ’Courier New’, Courier, monospace;&#13;
            word-break: break-word;&#13;
            max-width: 100%;&#13;
            box-shadow: 0 0 15px #003300;&#13;
        }&#13;
&#13;
        .matrix-code span {&#13;
            display: inline-block;&#13;
            animation: matrixLetter 1.5s infinite;&#13;
        }&#13;
&#13;
        @keyframes matrixLetter {&#13;
            0% { opacity: 0.8; color: #88ff88; text-shadow: 0 0 5px #0f0; }&#13;
            50% { opacity: 1; color: #ffffff; text-shadow: 0 0 10px #0f0, 0 0 20px #0f0; }&#13;
            100% { opacity: 0.8; color: #88ff88; text-shadow: 0 0 5px #0f0; }&#13;
        }&#13;
&#13;
        .footer {&#13;
            display: flex;&#13;
            justify-content: space-between;&#13;
            font-size: 1rem;&#13;
            margin-top: 1.8rem;&#13;
            color: #00aa00;&#13;
            border-top: 1px solid #1f4f1f;&#13;
            padding-top: 1rem;&#13;
            text-transform: uppercase;&#13;
            letter-spacing: 2px;&#13;
        }&#13;
&#13;
        .footer .warning {&#13;
            color: #ff6a6a;&#13;
            animation: blinkWarning 2s infinite;&#13;
        }&#13;
&#13;
        @keyframes blinkWarning {&#13;
            0% { opacity: 1; text-shadow: 0 0 5px red; }&#13;
            50% { opacity: 0.3; }&#13;
            100% { opacity: 1; }&#13;
        }&#13;
&#13;
        /* ascii art style */&#13;
        .ascii {&#13;
            color: #22aa22;&#13;
            font-size: 0.9rem;&#13;
            line-height: 1.2;&#13;
            white-space: pre;&#13;
            letter-spacing: 0px;&#13;
            margin: 15px 0 10px;&#13;
        }&#13;
&#13;
        /* random glitch button (just for fun) */&#13;
        .trigger-glitch {&#13;
            background: transparent;&#13;
            border: 2px solid #1f9f1f;&#13;
            color: #22ff22;&#13;
            padding: 0.5rem 1.2rem;&#13;
            font-family: ’Courier New’, monospace;&#13;
            font-weight: bold;&#13;
            font-size: 1.2rem;&#13;
            border-radius: 0;&#13;
            cursor: pointer;&#13;
            transition: 0.2s;&#13;
            margin-top: 1rem;&#13;
            box-shadow: 0 0 10px #0f0;&#13;
        }&#13;
&#13;
        .trigger-glitch:hover {&#13;
            background: #1f9f1f;&#13;
            color: black;&#13;
            border-color: yellow;&#13;
            box-shadow: 0 0 30px yellow;&#13;
        }&#13;
    &amp;lt;/style&amp;gt;&#13;
&amp;lt;/head&amp;gt;&#13;
&amp;lt;body&amp;gt;&#13;
&#13;
    &amp;lt;!-- background layers --&amp;gt;&#13;
    &amp;lt;div class=”glitch-bg”&amp;gt;&amp;lt;/div&amp;gt;&#13;
    &amp;lt;div class=”scan-line”&amp;gt;&amp;lt;/div&amp;gt;&#13;
&#13;
    &amp;lt;main class=”terminal” id=”mainTerminal”&amp;gt;&#13;
        &amp;lt;!-- main hacked text --&amp;gt;&#13;
        &amp;lt;div class=”hacked-title”&amp;gt;HACKED&amp;lt;/div&amp;gt;&#13;
&#13;
        &amp;lt;!-- ”by cykomnepal” with extra glitch --&amp;gt;&#13;
        &amp;lt;div class=”by-line”&amp;gt;BY &amp;lt;span class=”cykomnepal” id=”cykomText”&amp;gt;cykomnepal&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&#13;
&#13;
        &amp;lt;!-- short ascii skull / hacker emblem --&amp;gt;&#13;
        &amp;lt;pre class=”ascii”&amp;gt;&#13;
&amp;gt;  [ root@cykom ~ ]#  ACCESS GRANTED  &#13;
&amp;gt;  ฤฤฤฤ??????ฤฤฤฤ &#13;
&amp;gt;  ????????????????? &#13;
        &amp;lt;/pre&amp;gt;&#13;
&#13;
        &amp;lt;!-- status panel --&amp;gt;&#13;
        &amp;lt;div class=”status-bar”&amp;gt;&#13;
            &amp;lt;span class=”blink”&amp;gt;?? SYSTEM BREACH ??&amp;lt;/span&amp;gt;&#13;
            &amp;lt;span class=”ip-display” id=”ipAddress”&amp;gt;Fetching IP...&amp;lt;/span&amp;gt;&#13;
            &amp;lt;span&amp;gt;?? 0DAY: ACTIVE&amp;lt;/span&amp;gt;&#13;
        &amp;lt;/div&amp;gt;&#13;
&#13;
        &amp;lt;!-- matrix style running code (dynamic js effect) --&amp;gt;&#13;
        &amp;lt;div class=”matrix-code” id=”matrixLine”&amp;gt;&#13;
            &amp;lt;span&amp;gt;C&amp;lt;/span&amp;gt; &amp;lt;span&amp;gt;y&amp;lt;/span&amp;gt; &amp;lt;span&amp;gt;b&amp;lt;/span&amp;gt; &amp;lt;span&amp;gt;e&amp;lt;/span&amp;gt; &amp;lt;span&amp;gt;r&amp;lt;/span&amp;gt; &amp;amp;nbsp; &#13;
            &amp;lt;span&amp;gt;a&amp;lt;/span&amp;gt; &amp;lt;span&amp;gt;t&amp;lt;/span&amp;gt; &amp;lt;span&amp;gt;t&amp;lt;/span&amp;gt; &amp;lt;span&amp;gt;a&amp;lt;/span&amp;gt; &amp;lt;span&amp;gt;c&amp;lt;/span&amp;gt; &amp;lt;span&amp;gt;k&amp;lt;/span&amp;gt; &amp;amp;nbsp; &#13;
            &amp;lt;span&amp;gt;i&amp;lt;/span&amp;gt; &amp;lt;span&amp;gt;n&amp;lt;/span&amp;gt; &amp;amp;nbsp; &amp;lt;span&amp;gt;p&amp;lt;/span&amp;gt; &amp;lt;span&amp;gt;r&amp;lt;/span&amp;gt; &amp;lt;span&amp;gt;o&amp;lt;/span&amp;gt; &amp;lt;span&amp;gt;g&amp;lt;/span&amp;gt; &amp;lt;span&amp;gt;r&amp;lt;/span&amp;gt; &amp;lt;span&amp;gt;e&amp;lt;/span&amp;gt; &amp;lt;span&amp;gt;s&amp;lt;/span&amp;gt; &amp;lt;span&amp;gt;s&amp;lt;/span&amp;gt; &amp;lt;span&amp;gt;.&amp;lt;/span&amp;gt; &amp;lt;span&amp;gt;.&amp;lt;/span&amp;gt;&#13;
        &amp;lt;/div&amp;gt;&#13;
&#13;
        &amp;lt;!-- additional info footer --&amp;gt;&#13;
        &amp;lt;div class=”footer”&amp;gt;&#13;
            &amp;lt;span class=”warning”&amp;gt;? encrypted payload&amp;lt;/span&amp;gt;&#13;
            &amp;lt;span id=”timestamp”&amp;gt;00:00:00 UTC&amp;lt;/span&amp;gt;&#13;
            &amp;lt;span&amp;gt;?? #cykomnepal&amp;lt;/span&amp;gt;&#13;
        &amp;lt;/div&amp;gt;&#13;
&#13;
        &amp;lt;!-- small glitch effect button (extra interactivity) --&amp;gt;&#13;
        &amp;lt;button class=”trigger-glitch” id=”glitchBtn”&amp;gt; &amp;gt;_ inject glitch&amp;lt;/button&amp;gt;&#13;
    &amp;lt;/main&amp;gt;&#13;
&#13;
    &amp;lt;script&amp;gt;&#13;
        (function() {&#13;
            // ========== JS for dynamic effects &amp;amp; info ==========&#13;
&#13;
            // 1. Display user’s IP (via fetch) - with fallback&#13;
            const ipEl = document.getElementById(’ipAddress’);&#13;
            if (ipEl) {&#13;
                fetch(’https://api.ipify.org?format=json’)&#13;
                    .then(res =&amp;gt; res.json())&#13;
                    .then(data =&amp;gt; {&#13;
                        ipEl.textContent = data.ip + ” (PUBLIC)”;&#13;
                    })&#13;
                    .catch(() =&amp;gt; {&#13;
                        ipEl.textContent = ”127.0.0.1 (localhost)”;&#13;
                    });&#13;
            }&#13;
&#13;
            // 2. update timestamp (UTC) every second&#13;
            const tsEl = document.getElementById(’timestamp’);&#13;
            function updateTimestamp() {&#13;
                const now = new Date();&#13;
                const utcStr = now.toISOString().substr(11, 8) + ” UTC”;&#13;
                if (tsEl) tsEl.textContent = utcStr;&#13;
            }&#13;
            updateTimestamp();&#13;
            setInterval(updateTimestamp, 1000);&#13;
&#13;
            // 3. matrix line random character flicker (extra glitch)&#13;
            const matrixContainer = document.getElementById(’matrixLine’);&#13;
            if (matrixContainer) {&#13;
                const letters = matrixContainer.querySelectorAll(’span’);&#13;
                const chars = ”ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&amp;amp;*()_+[]{};:”;&#13;
&#13;
                setInterval(() =&amp;gt; {&#13;
                    // randomly change some spans to random chars&#13;
                    const randomIndex = Math.floor(Math.random() * letters.length);&#13;
                    const randomLetter = letters[randomIndex];&#13;
                    if (randomLetter) {&#13;
                        // store original text, but we don’t want to lose the word completely&#13;
                        // better: change only a few of them for a glitch effect, then revert.&#13;
                        const originalText = randomLetter.textContent;&#13;
                        const randomChar = chars[Math.floor(Math.random() * chars.length)];&#13;
                        randomLetter.textContent = randomChar;&#13;
&#13;
                        // revert after 200ms&#13;
                        setTimeout(() =&amp;gt; {&#13;
                            if (randomLetter) {&#13;
                                // we need to know original — but we lost it for this span.&#13;
                                // we restore by mapping from the initial static text&#13;
                                // simpler: we reset all spans from initial hardcoded string&#13;
                                // but we also have spaces. Let’s rebuild from original array&#13;
                                const initialSpans = [&#13;
                                    ’C’,’y’,’b’,’e’,’r’,’ ’,’a’,’t’,’t’,’a’,’c’,’k’,’ ’,’i’,’n’,’ ’,’p’,’r’,’o’,’g’,’r’,’e’,’s’,’s’,’.’,’.’&#13;
                                ];&#13;
                                // only if the container child count matches&#13;
                                const currentSpans = matrixContainer.querySelectorAll(’span’);&#13;
                                if (currentSpans.length === initialSpans.length) {&#13;
                                    currentSpans.forEach((sp, idx) =&amp;gt; {&#13;
                                        sp.textContent = initialSpans[idx];&#13;
                                    });&#13;
                                } else {&#13;
                                    // fallback: reload page silently? we trust.&#13;
                                }&#13;
                            }&#13;
                        }, 150);&#13;
                    }&#13;
                }, 400);&#13;
            }&#13;
&#13;
            // 4. extra glitch effect: add a random class to terminal, then remove&#13;
            const terminal = document.getElementById(’mainTerminal’);&#13;
            const glitchBtn = document.getElementById(’glitchBtn’);&#13;
&#13;
            function addRandomGlitch() {&#13;
                if (!terminal) return;&#13;
                terminal.style.transform = ’skew(2deg, 1deg)’;&#13;
                terminal.style.borderColor = ’#ff00ff’;&#13;
                terminal.style.boxShadow = ’0 0 60px #ff0000, 0 0 30px #0000ff’;&#13;
                terminal.style.transition = ’all 0.05s ease’;&#13;
&#13;
                // change cykomnepal color flash&#13;
                const cykom = document.getElementById(’cykomText’);&#13;
                if (cykom) {&#13;
                    cykom.style.color = ’#ff4444’;&#13;
                    cykom.style.textShadow = ’0 0 20px yellow, 0 0 40px red’;&#13;
                }&#13;
&#13;
                setTimeout(() =&amp;gt; {&#13;
                    if (terminal) {&#13;
                        terminal.style.transform = ’skew(0deg, 0deg)’;&#13;
                        terminal.style.borderColor = ’#2eff2e’;&#13;
                        terminal.style.boxShadow = ’0 0 40px #00cc00, 0 0 10px #00aa00 inset, 0 0 20px #003300’;&#13;
                    }&#13;
                    if (cykom) {&#13;
                        cykom.style.color = ’’;&#13;
                        cykom.style.textShadow = ’’;&#13;
                    }&#13;
                }, 250);&#13;
            }&#13;
&#13;
            if (glitchBtn) {&#13;
                glitchBtn.addEventListener(’click’, addRandomGlitch);&#13;
            }&#13;
&#13;
            // also random glitch every 12 seconds&#13;
            setInterval(() =&amp;gt; {&#13;
                addRandomGlitch();&#13;
            }, 12000);&#13;
&#13;
            // 5. small matrix/ip detail: user-agent or something? not necessary but fine&#13;
&#13;
            // 6. add a random ”boot message” in matrix line? already fine.&#13;
&#13;
            // 7. extra: change title periodically with glitch? optional.&#13;
            let originalTitle = document.title;&#13;
            setInterval(() =&amp;gt; {&#13;
                document.title = ”HACKED by cykomnepal”;&#13;
                setTimeout(() =&amp;gt; {&#13;
                    document.title = ”?? cykomnepal owned ??”;&#13;
                }, 300);&#13;
            }, 5000);&#13;
&#13;
            // 8. cool: fake typewriter for ascii? no needed, but we can add glitchy class.&#13;
        })();&#13;
    &amp;lt;/script&amp;gt;&#13;
&#13;
    &amp;lt;!-- ensure ASCII looks okay on small screens --&amp;gt;&#13;
    &amp;lt;style&amp;gt;&#13;
        @media (max-width: 600px) {&#13;
            .hacked-title {&#13;
                font-size: 3.2rem;&#13;
                letter-spacing: 4px;&#13;
            }&#13;
            .by-line {&#13;
                font-size: 2rem;&#13;
            }&#13;
            .cykomnepal {&#13;
                font-size: 2.5rem;&#13;
            }&#13;
            .terminal {&#13;
                padding: 1.8rem 1.5rem;&#13;
            }&#13;
            .status-bar {&#13;
                font-size: 1rem;&#13;
                padding: 0.8rem 1rem;&#13;
            }&#13;
            .ascii {&#13;
                font-size: 0.7rem;&#13;
            }&#13;
        }&#13;
        @media (max-width: 400px) {&#13;
            .hacked-title {&#13;
                font-size: 2.5rem;&#13;
            }&#13;
            .cykomnepal {&#13;
                font-size: 2rem;&#13;
            }&#13;
        }&#13;
    &amp;lt;/style&amp;gt;&#13;
&amp;lt;/body&amp;gt;&#13;
&amp;lt;/html&amp;gt;</description><link>https://chiangmai.industry.go.th/en/news-industry/345491</link><category/><pubDate>Fri, 27 Mar 2026 15:20:43 +0700</pubDate></item></channel></rss>
