{"id":785,"date":"2026-05-19T20:24:13","date_gmt":"2026-05-19T20:24:13","guid":{"rendered":"https:\/\/www.opey.org\/opeyit\/?page_id=785"},"modified":"2026-05-19T22:45:35","modified_gmt":"2026-05-19T22:45:35","slug":"cryptsecure-demo","status":"publish","type":"page","link":"https:\/\/www.opey.org\/opeyit\/?page_id=785","title":{"rendered":"CryptSecure Demo"},"content":{"rendered":"\n\n<!-- \n=====================================================\nWORDPRESS CRYPTSECURE DEMO PAGE - v2.6.0\nStandalone interactive demo page.\nScoped under #wcf-demo-page-2026 - safe to coexist\nwith main CryptSecure page on the same site.\n\n============= PASTE INSTRUCTIONS (IMPORTANT) ===========\nThis file contains TWO separate Custom HTML blocks.\nYou must paste them into TWO separate Custom HTML blocks\nin the WordPress editor - NOT one combined block.\n\n  BLOCK 1: Everything from the FIRST \"wp:html\" marker near\n           the top of this file, down through the FIRST\n           \"\/wp:html\" marker. This is the page layout,\n           styles, and HTML.\n\n  BLOCK 2: The SECOND \"wp:html\" marker section at the\n           bottom containing the script tag. This MUST be\n           in its own block so WordPress text filters\n           (wptexturize, wpautop) do not mangle the JS.\n\nIf you have caching\/optimization plugins (WP Rocket,\nAutoptimize, LiteSpeed Cache, W3 Total Cache), EXCLUDE\nthis page from JavaScript minification\/combining - the\nplugin may otherwise break the inline script.\n========================================================\n=====================================================\n-->\n\n<div id=\"wcf-demo-page-2026\">\n\n<style>\n\/* All styles scoped to this page only *\/\n\n#wcf-demo-page-2026 {\n    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, sans-serif !important;\n    color: #333 !important;\n    line-height: 1.6 !important;\n    max-width: 100% !important;\n    margin: 0 !important;\n    padding: 0 !important;\n}\n\n#wcf-demo-page-2026 * {\n    box-sizing: border-box !important;\n}\n\n#wcf-demo-page-2026 a {\n    text-decoration: none !important;\n}\n\n\/* Default SVG sizing for the page *\/\n#wcf-demo-page-2026 svg {\n    display: block !important;\n    width: 16px !important;\n    height: 16px !important;\n    flex-shrink: 0 !important;\n}\n\n\/* =====================================================\n   BREADCRUMB \/ BACK NAV\n   ===================================================== *\/\n#wcf-demo-page-2026 .wcf-back-bar {\n    background: #1a2a3a !important;\n    padding: 14px 20px !important;\n    border-bottom: 1px solid rgba(255,255,255,0.08) !important;\n}\n\n#wcf-demo-page-2026 .wcf-back-bar-inner {\n    max-width: 1100px !important;\n    margin: 0 auto !important;\n    display: flex !important;\n    align-items: center !important;\n    justify-content: space-between !important;\n    gap: 20px !important;\n    flex-wrap: wrap !important;\n}\n\n#wcf-demo-page-2026 .wcf-back-link {\n    color: rgba(255,255,255,0.75) !important;\n    font-size: 14px !important;\n    font-weight: 600 !important;\n    display: inline-flex !important;\n    align-items: center !important;\n    gap: 8px !important;\n    transition: color 0.2s ease !important;\n}\n\n#wcf-demo-page-2026 .wcf-back-link:hover {\n    color: #ffd54f !important;\n}\n\n#wcf-demo-page-2026 .wcf-back-link svg {\n    width: 16px !important;\n    height: 16px !important;\n}\n\n#wcf-demo-page-2026 .wcf-back-product {\n    color: rgba(255,255,255,0.5) !important;\n    font-size: 12px !important;\n    letter-spacing: 1px !important;\n    text-transform: uppercase !important;\n    font-weight: 600 !important;\n}\n\n\/* =====================================================\n   HERO\n   ===================================================== *\/\n#wcf-demo-page-2026 .wcf-demo-hero {\n    background: linear-gradient(135deg, #1a2a3a 0%, #2d4156 50%, #4a148c 100%) !important;\n    padding: 50px 20px 35px 20px !important;\n    text-align: center !important;\n    position: relative !important;\n    overflow: hidden !important;\n}\n\n#wcf-demo-page-2026 .wcf-demo-hero::before {\n    content: '' !important;\n    position: absolute !important;\n    inset: 0 !important;\n    background-image: radial-gradient(circle at 15% 25%, rgba(201,162,39,0.1) 0%, transparent 45%),\n                      radial-gradient(circle at 85% 75%, rgba(142,36,170,0.15) 0%, transparent 45%) !important;\n    pointer-events: none !important;\n}\n\n#wcf-demo-page-2026 .wcf-demo-hero-inner {\n    max-width: 800px !important;\n    margin: 0 auto !important;\n    position: relative !important;\n    z-index: 1 !important;\n}\n\n#wcf-demo-page-2026 .wcf-demo-hero-tag {\n    display: inline-flex !important;\n    align-items: center !important;\n    gap: 8px !important;\n    background: rgba(201,162,39,0.18) !important;\n    border: 1px solid rgba(201,162,39,0.4) !important;\n    color: #ffd54f !important;\n    font-size: 12px !important;\n    font-weight: 700 !important;\n    letter-spacing: 1.5px !important;\n    padding: 6px 14px !important;\n    border-radius: 20px !important;\n    text-transform: uppercase !important;\n    margin-bottom: 18px !important;\n}\n\n#wcf-demo-page-2026 .wcf-live-dot {\n    width: 8px !important;\n    height: 8px !important;\n    background: #4caf50 !important;\n    border-radius: 50% !important;\n    box-shadow: 0 0 8px #4caf50 !important;\n    animation: wcfDemoPulse 1.5s infinite !important;\n    flex-shrink: 0 !important;\n}\n\n#wcf-demo-page-2026 .wcf-live-dot svg { display: none !important; }\n\n@keyframes wcfDemoPulse {\n    0%, 100% { opacity: 1; transform: scale(1); }\n    50% { opacity: 0.5; transform: scale(0.85); }\n}\n\n#wcf-demo-page-2026 .wcf-demo-hero-title {\n    color: #ffffff !important;\n    font-size: 38px !important;\n    font-weight: 700 !important;\n    margin: 0 0 12px 0 !important;\n    line-height: 1.15 !important;\n}\n\n#wcf-demo-page-2026 .wcf-demo-hero-subtitle {\n    color: rgba(255,255,255,0.8) !important;\n    font-size: 16px !important;\n    margin: 0 auto 22px auto !important;\n    max-width: 640px !important;\n}\n\n#wcf-demo-page-2026 .wcf-demo-hero-meta {\n    color: rgba(255,255,255,0.55) !important;\n    font-size: 13px !important;\n    font-style: italic !important;\n    margin: 0 !important;\n}\n\n\/* =====================================================\n   MAIN DEMO STAGE\n   ===================================================== *\/\n#wcf-demo-page-2026 .wcf-demo-section {\n    background: linear-gradient(135deg, #2d4156 0%, #1a2a3a 50%, #4a148c 100%) !important;\n    padding: 50px 20px 60px 20px !important;\n    position: relative !important;\n    overflow: hidden !important;\n}\n\n#wcf-demo-page-2026 .wcf-demo-section::before {\n    content: '' !important;\n    position: absolute !important;\n    inset: 0 !important;\n    background-image: radial-gradient(circle at 20% 30%, rgba(201,162,39,0.08) 0%, transparent 40%),\n                      radial-gradient(circle at 80% 70%, rgba(142,36,170,0.12) 0%, transparent 40%) !important;\n    pointer-events: none !important;\n}\n\n#wcf-demo-page-2026 .wcf-demo-inner {\n    max-width: 1100px !important;\n    margin: 0 auto !important;\n    position: relative !important;\n    z-index: 1 !important;\n}\n\n\/* Two-column layout: Input | Animation *\/\n#wcf-demo-page-2026 .wcf-demo-grid {\n    display: grid !important;\n    grid-template-columns: 1fr 1.3fr !important;\n    gap: 30px !important;\n    align-items: stretch !important;\n}\n\n\/* === LEFT: Input panel === *\/\n#wcf-demo-page-2026 .wcf-demo-input-panel {\n    background: rgba(255,255,255,0.06) !important;\n    border: 1px solid rgba(255,255,255,0.12) !important;\n    border-radius: 14px !important;\n    padding: 24px !important;\n    display: flex !important;\n    flex-direction: column !important;\n    gap: 16px !important;\n}\n\n#wcf-demo-page-2026 .wcf-demo-label {\n    color: rgba(255,255,255,0.85) !important;\n    font-size: 13px !important;\n    font-weight: 600 !important;\n    text-transform: uppercase !important;\n    letter-spacing: 0.5px !important;\n    margin-bottom: 6px !important;\n    display: flex !important;\n    align-items: center !important;\n    gap: 6px !important;\n}\n\n#wcf-demo-page-2026 .wcf-demo-textarea {\n    width: 100% !important;\n    min-height: 110px !important;\n    background: rgba(0,0,0,0.25) !important;\n    border: 1px solid rgba(255,255,255,0.18) !important;\n    border-radius: 8px !important;\n    color: #ffffff !important;\n    padding: 12px 14px !important;\n    font-size: 14px !important;\n    font-family: inherit !important;\n    resize: vertical !important;\n    transition: border-color 0.2s ease !important;\n    box-sizing: border-box !important;\n}\n\n#wcf-demo-page-2026 .wcf-demo-textarea:focus {\n    outline: none !important;\n    border-color: #c9a227 !important;\n}\n\n#wcf-demo-page-2026 .wcf-demo-textarea::placeholder {\n    color: rgba(255,255,255,0.4) !important;\n}\n\n\/* File upload zone *\/\n#wcf-demo-page-2026 .wcf-demo-fileinput {\n    display: none !important;\n}\n\n#wcf-demo-page-2026 .wcf-demo-filezone {\n    background: rgba(0,0,0,0.2) !important;\n    border: 2px dashed rgba(201,162,39,0.5) !important;\n    border-radius: 8px !important;\n    padding: 18px !important;\n    text-align: center !important;\n    cursor: pointer !important;\n    transition: all 0.2s ease !important;\n}\n\n#wcf-demo-page-2026 .wcf-demo-filezone:hover,\n#wcf-demo-page-2026 .wcf-demo-filezone.wcf-dragover {\n    background: rgba(201,162,39,0.12) !important;\n    border-color: #c9a227 !important;\n}\n\n#wcf-demo-page-2026 .wcf-demo-filezone-icon {\n    color: #c9a227 !important;\n    margin-bottom: 6px !important;\n    display: flex !important;\n    justify-content: center !important;\n}\n\n#wcf-demo-page-2026 .wcf-demo-filezone-icon svg {\n    width: 28px !important;\n    height: 28px !important;\n}\n\n#wcf-demo-page-2026 .wcf-demo-filezone-text {\n    color: #ffffff !important;\n    font-size: 13px !important;\n    font-weight: 600 !important;\n    margin: 0 0 2px 0 !important;\n}\n\n#wcf-demo-page-2026 .wcf-demo-filezone-sub {\n    color: rgba(255,255,255,0.5) !important;\n    font-size: 11px !important;\n    margin: 0 !important;\n}\n\n#wcf-demo-page-2026 .wcf-demo-file-display {\n    background: rgba(201,162,39,0.15) !important;\n    border: 1px solid rgba(201,162,39,0.4) !important;\n    border-radius: 8px !important;\n    padding: 10px 14px !important;\n    display: flex !important;\n    align-items: center !important;\n    justify-content: space-between !important;\n    gap: 10px !important;\n    margin-top: 4px !important;\n}\n\n#wcf-demo-page-2026 .wcf-demo-file-info {\n    display: flex !important;\n    align-items: center !important;\n    gap: 10px !important;\n    color: #ffffff !important;\n    font-size: 13px !important;\n    overflow: hidden !important;\n    flex: 1 !important;\n}\n\n#wcf-demo-page-2026 .wcf-demo-file-info svg {\n    width: 18px !important;\n    height: 18px !important;\n    color: #ffd54f !important;\n}\n\n#wcf-demo-page-2026 .wcf-demo-file-name {\n    white-space: nowrap !important;\n    overflow: hidden !important;\n    text-overflow: ellipsis !important;\n}\n\n#wcf-demo-page-2026 .wcf-demo-file-size {\n    color: rgba(255,255,255,0.6) !important;\n    font-size: 11px !important;\n    flex-shrink: 0 !important;\n}\n\n#wcf-demo-page-2026 .wcf-demo-file-remove {\n    background: rgba(255,255,255,0.15) !important;\n    border: none !important;\n    color: #ffffff !important;\n    width: 22px !important;\n    height: 22px !important;\n    border-radius: 50% !important;\n    cursor: pointer !important;\n    font-size: 14px !important;\n    line-height: 1 !important;\n    display: flex !important;\n    align-items: center !important;\n    justify-content: center !important;\n    flex-shrink: 0 !important;\n}\n\n#wcf-demo-page-2026 .wcf-demo-file-remove:hover {\n    background: rgba(255,255,255,0.3) !important;\n}\n\n#wcf-demo-page-2026 .wcf-demo-error {\n    color: #ff8a80 !important;\n    font-size: 12px !important;\n    margin: -8px 0 0 0 !important;\n    min-height: 16px !important;\n}\n\n\/* Encrypt button *\/\n#wcf-demo-page-2026 .wcf-demo-btn {\n    background: linear-gradient(135deg, #c9a227 0%, #ddb832 100%) !important;\n    color: #1a2a3a !important;\n    border: none !important;\n    padding: 14px 24px !important;\n    font-size: 15px !important;\n    font-weight: 700 !important;\n    border-radius: 8px !important;\n    cursor: pointer !important;\n    transition: all 0.2s ease !important;\n    display: flex !important;\n    align-items: center !important;\n    justify-content: center !important;\n    gap: 8px !important;\n    margin-top: auto !important;\n}\n\n#wcf-demo-page-2026 .wcf-demo-btn:hover:not(:disabled) {\n    transform: translateY(-2px) !important;\n    box-shadow: 0 8px 20px rgba(201, 162, 39, 0.4) !important;\n}\n\n#wcf-demo-page-2026 .wcf-demo-btn:disabled {\n    opacity: 0.5 !important;\n    cursor: not-allowed !important;\n}\n\n#wcf-demo-page-2026 .wcf-demo-btn svg {\n    width: 18px !important;\n    height: 18px !important;\n}\n\n#wcf-demo-page-2026 .wcf-demo-btn-reset {\n    background: transparent !important;\n    color: rgba(255,255,255,0.7) !important;\n    border: 1px solid rgba(255,255,255,0.3) !important;\n    padding: 10px 18px !important;\n    font-size: 13px !important;\n    font-weight: 600 !important;\n    border-radius: 8px !important;\n    cursor: pointer !important;\n    transition: all 0.2s ease !important;\n    margin-top: 8px !important;\n}\n\n#wcf-demo-page-2026 .wcf-demo-btn-reset:hover {\n    background: rgba(255,255,255,0.1) !important;\n    color: #ffffff !important;\n}\n\n\/* === RIGHT: Animation stage === *\/\n#wcf-demo-page-2026 .wcf-demo-stage {\n    background: rgba(0,0,0,0.3) !important;\n    border: 1px solid rgba(255,255,255,0.12) !important;\n    border-radius: 14px !important;\n    padding: 24px !important;\n    min-height: 420px !important;\n    position: relative !important;\n    overflow: hidden !important;\n    display: flex !important;\n    flex-direction: column !important;\n}\n\n#wcf-demo-page-2026 .wcf-demo-stage-header {\n    display: flex !important;\n    justify-content: space-between !important;\n    align-items: center !important;\n    margin-bottom: 14px !important;\n    padding-bottom: 12px !important;\n    border-bottom: 1px solid rgba(255,255,255,0.1) !important;\n}\n\n#wcf-demo-page-2026 .wcf-demo-stage-title {\n    color: #ffffff !important;\n    font-size: 14px !important;\n    font-weight: 700 !important;\n    letter-spacing: 0.5px !important;\n    text-transform: uppercase !important;\n    margin: 0 !important;\n}\n\n#wcf-demo-page-2026 .wcf-demo-status {\n    color: rgba(255,255,255,0.6) !important;\n    font-size: 12px !important;\n    font-family: 'SF Mono', Monaco, Menlo, monospace !important;\n}\n\n#wcf-demo-page-2026 .wcf-demo-status-active {\n    color: #ffd54f !important;\n}\n\n#wcf-demo-page-2026 .wcf-demo-status-done {\n    color: #4caf50 !important;\n}\n\n#wcf-demo-page-2026 .wcf-demo-canvas {\n    flex: 1 !important;\n    position: relative !important;\n    display: flex !important;\n    flex-direction: column !important;\n    justify-content: center !important;\n    align-items: center !important;\n    padding: 10px !important;\n}\n\n\/* Step indicator pills at the bottom *\/\n#wcf-demo-page-2026 .wcf-demo-steps {\n    display: flex !important;\n    justify-content: space-between !important;\n    gap: 8px !important;\n    margin-top: 16px !important;\n    padding-top: 14px !important;\n    border-top: 1px solid rgba(255,255,255,0.1) !important;\n}\n\n#wcf-demo-page-2026 .wcf-demo-step {\n    flex: 1 !important;\n    text-align: center !important;\n    padding: 6px 4px !important;\n    background: rgba(255,255,255,0.04) !important;\n    border: 1px solid rgba(255,255,255,0.08) !important;\n    border-radius: 6px !important;\n    transition: all 0.3s ease !important;\n}\n\n#wcf-demo-page-2026 .wcf-demo-step.wcf-step-active {\n    background: rgba(201,162,39,0.2) !important;\n    border-color: #c9a227 !important;\n    transform: translateY(-2px) !important;\n}\n\n#wcf-demo-page-2026 .wcf-demo-step.wcf-step-done {\n    background: rgba(76,175,80,0.15) !important;\n    border-color: rgba(76,175,80,0.4) !important;\n}\n\n#wcf-demo-page-2026 .wcf-demo-step-num {\n    color: rgba(255,255,255,0.5) !important;\n    font-size: 10px !important;\n    font-weight: 700 !important;\n    display: block !important;\n    margin-bottom: 2px !important;\n}\n\n#wcf-demo-page-2026 .wcf-demo-step.wcf-step-active .wcf-demo-step-num {\n    color: #c9a227 !important;\n}\n\n#wcf-demo-page-2026 .wcf-demo-step.wcf-step-done .wcf-demo-step-num {\n    color: #4caf50 !important;\n}\n\n#wcf-demo-page-2026 .wcf-demo-step-label {\n    color: rgba(255,255,255,0.75) !important;\n    font-size: 11px !important;\n    font-weight: 600 !important;\n}\n\n#wcf-demo-page-2026 .wcf-demo-step.wcf-step-active .wcf-demo-step-label,\n#wcf-demo-page-2026 .wcf-demo-step.wcf-step-done .wcf-demo-step-label {\n    color: #ffffff !important;\n}\n\n\/* === Animated objects on the stage === *\/\n\n#wcf-demo-page-2026 .wcf-anim-inputs {\n    position: absolute !important;\n    top: 30px !important;\n    left: 50% !important;\n    transform: translateX(-50%) !important;\n    display: flex !important;\n    gap: 12px !important;\n    flex-wrap: wrap !important;\n    justify-content: center !important;\n    max-width: 90% !important;\n    opacity: 0 !important;\n    transition: opacity 0.4s ease, transform 0.6s ease !important;\n}\n\n#wcf-demo-page-2026 .wcf-anim-inputs.wcf-anim-show {\n    opacity: 1 !important;\n}\n\n#wcf-demo-page-2026 .wcf-anim-inputs.wcf-anim-moving {\n    transform: translateX(-50%) translateY(40px) scale(0.85) !important;\n}\n\n#wcf-demo-page-2026 .wcf-anim-chip {\n    background: rgba(255,255,255,0.95) !important;\n    color: #1a2a3a !important;\n    padding: 8px 14px !important;\n    border-radius: 18px !important;\n    font-size: 12px !important;\n    font-weight: 600 !important;\n    display: inline-flex !important;\n    align-items: center !important;\n    gap: 6px !important;\n    box-shadow: 0 4px 12px rgba(0,0,0,0.3) !important;\n    max-width: 220px !important;\n    overflow: hidden !important;\n    text-overflow: ellipsis !important;\n    white-space: nowrap !important;\n}\n\n#wcf-demo-page-2026 .wcf-anim-chip svg {\n    width: 14px !important;\n    height: 14px !important;\n    color: #c9a227 !important;\n}\n\n\/* Central encryption core *\/\n#wcf-demo-page-2026 .wcf-anim-core {\n    position: relative !important;\n    width: 200px !important;\n    height: 200px !important;\n    display: flex !important;\n    align-items: center !important;\n    justify-content: center !important;\n}\n\n#wcf-demo-page-2026 .wcf-core-ring {\n    position: absolute !important;\n    inset: 0 !important;\n    border-radius: 50% !important;\n    border: 2px solid rgba(255,255,255,0.1) !important;\n}\n\n#wcf-demo-page-2026 .wcf-core-ring-1 {\n    border-color: rgba(201,162,39,0.3) !important;\n    animation: wcfRingSpin 8s linear infinite !important;\n}\n\n#wcf-demo-page-2026 .wcf-core-ring-2 {\n    inset: 18px !important;\n    border-color: rgba(142,36,170,0.4) !important;\n    border-top-color: transparent !important;\n    border-right-color: transparent !important;\n    animation: wcfRingSpin 6s linear infinite reverse !important;\n}\n\n#wcf-demo-page-2026 .wcf-core-ring-3 {\n    inset: 36px !important;\n    border-color: rgba(76,175,80,0.4) !important;\n    border-bottom-color: transparent !important;\n    animation: wcfRingSpin 4s linear infinite !important;\n}\n\n@keyframes wcfRingSpin {\n    from { transform: rotate(0deg); }\n    to { transform: rotate(360deg); }\n}\n\n#wcf-demo-page-2026 .wcf-core-center {\n    position: relative !important;\n    width: 90px !important;\n    height: 90px !important;\n    background: radial-gradient(circle, rgba(201,162,39,0.3) 0%, rgba(26,42,58,0.95) 70%) !important;\n    border: 2px solid rgba(201,162,39,0.5) !important;\n    border-radius: 50% !important;\n    display: flex !important;\n    align-items: center !important;\n    justify-content: center !important;\n    box-shadow: 0 0 30px rgba(201,162,39,0.3), inset 0 0 20px rgba(201,162,39,0.2) !important;\n    z-index: 2 !important;\n}\n\n#wcf-demo-page-2026 .wcf-core-center svg {\n    width: 38px !important;\n    height: 38px !important;\n    color: #ffd54f !important;\n}\n\n#wcf-demo-page-2026 .wcf-core-label {\n    position: absolute !important;\n    background: rgba(0,0,0,0.7) !important;\n    border: 1px solid rgba(255,255,255,0.2) !important;\n    color: #ffffff !important;\n    font-size: 10px !important;\n    font-weight: 700 !important;\n    padding: 3px 8px !important;\n    border-radius: 10px !important;\n    white-space: nowrap !important;\n    opacity: 0 !important;\n    transition: opacity 0.5s ease !important;\n}\n\n#wcf-demo-page-2026 .wcf-core-label.wcf-show {\n    opacity: 1 !important;\n}\n\n#wcf-demo-page-2026 .wcf-core-label-aes {\n    top: -10px !important;\n    left: 50% !important;\n    transform: translateX(-50%) !important;\n    color: #ffd54f !important;\n    border-color: rgba(201,162,39,0.5) !important;\n}\n\n#wcf-demo-page-2026 .wcf-core-label-rsa {\n    bottom: 30px !important;\n    left: -30px !important;\n    color: #ffffff !important;\n    border-color: rgba(255,255,255,0.4) !important;\n}\n\n#wcf-demo-page-2026 .wcf-core-label-mlkem {\n    bottom: 30px !important;\n    right: -30px !important;\n    color: #ce93d8 !important;\n    border-color: rgba(142,36,170,0.6) !important;\n}\n\n#wcf-demo-page-2026 .wcf-particles {\n    position: absolute !important;\n    inset: 0 !important;\n    pointer-events: none !important;\n}\n\n#wcf-demo-page-2026 .wcf-particle {\n    position: absolute !important;\n    width: 4px !important;\n    height: 4px !important;\n    background: #ffd54f !important;\n    border-radius: 50% !important;\n    box-shadow: 0 0 6px #ffd54f !important;\n    opacity: 0 !important;\n    top: 50% !important;\n    left: 50% !important;\n}\n\n@keyframes wcfParticleBurst {\n    0% { opacity: 1; transform: translate(-50%, -50%) scale(1); }\n    100% { opacity: 0; transform: translate(var(--tx), var(--ty)) scale(0); }\n}\n\n#wcf-demo-page-2026 .wcf-particle.wcf-burst {\n    animation: wcfParticleBurst 1.2s ease-out forwards !important;\n}\n\n\/* Final envelope display *\/\n#wcf-demo-page-2026 .wcf-anim-envelope {\n    position: absolute !important;\n    bottom: 30px !important;\n    left: 50% !important;\n    transform: translateX(-50%) translateY(60px) scale(0.5) !important;\n    opacity: 0 !important;\n    transition: opacity 0.6s ease, transform 0.6s cubic-bezier(0.34, 1.56, 0.64, 1) !important;\n    background: linear-gradient(135deg, #2e7d32 0%, #43a047 100%) !important;\n    border: 2px solid rgba(255,255,255,0.4) !important;\n    border-radius: 12px !important;\n    padding: 14px 22px !important;\n    color: #ffffff !important;\n    display: flex !important;\n    align-items: center !important;\n    gap: 10px !important;\n    box-shadow: 0 8px 24px rgba(46,125,50,0.5), 0 0 0 4px rgba(76,175,80,0.15) !important;\n    font-size: 14px !important;\n    font-weight: 700 !important;\n    white-space: nowrap !important;\n}\n\n#wcf-demo-page-2026 .wcf-anim-envelope.wcf-show {\n    opacity: 1 !important;\n    transform: translateX(-50%) translateY(0) scale(1) !important;\n}\n\n#wcf-demo-page-2026 .wcf-anim-envelope svg {\n    width: 22px !important;\n    height: 22px !important;\n}\n\n#wcf-demo-page-2026 .wcf-anim-envelope-tag {\n    font-family: 'SF Mono', Monaco, Menlo, monospace !important;\n    font-size: 10px !important;\n    background: rgba(0,0,0,0.3) !important;\n    padding: 2px 6px !important;\n    border-radius: 4px !important;\n    font-weight: 600 !important;\n}\n\n#wcf-demo-page-2026 .wcf-anim-idle {\n    text-align: center !important;\n    color: rgba(255,255,255,0.4) !important;\n}\n\n#wcf-demo-page-2026 .wcf-anim-idle svg {\n    width: 60px !important;\n    height: 60px !important;\n    margin: 0 auto 12px auto !important;\n    opacity: 0.4 !important;\n    display: block !important;\n}\n\n#wcf-demo-page-2026 .wcf-anim-idle p {\n    font-size: 13px !important;\n    margin: 0 !important;\n    max-width: 240px !important;\n    margin-left: auto !important;\n    margin-right: auto !important;\n    line-height: 1.5 !important;\n}\n\n#wcf-demo-page-2026 .wcf-anim-caption {\n    position: absolute !important;\n    bottom: 12px !important;\n    left: 50% !important;\n    transform: translateX(-50%) !important;\n    color: rgba(255,255,255,0.9) !important;\n    font-size: 12px !important;\n    font-weight: 600 !important;\n    font-family: 'SF Mono', Monaco, Menlo, monospace !important;\n    white-space: nowrap !important;\n    background: rgba(0,0,0,0.5) !important;\n    padding: 4px 12px !important;\n    border-radius: 12px !important;\n    opacity: 0 !important;\n    transition: opacity 0.3s ease !important;\n}\n\n#wcf-demo-page-2026 .wcf-anim-caption.wcf-show {\n    opacity: 1 !important;\n}\n\n#wcf-demo-page-2026 .wcf-demo-footnote {\n    text-align: center !important;\n    margin-top: 24px !important;\n    color: rgba(255,255,255,0.5) !important;\n    font-size: 12px !important;\n    font-style: italic !important;\n}\n\n\/* =====================================================\n   EDUCATION STRIP - \"What just happened?\"\n   ===================================================== *\/\n#wcf-demo-page-2026 .wcf-edu-section {\n    background: #f5f5f5 !important;\n    padding: 50px 20px !important;\n}\n\n#wcf-demo-page-2026 .wcf-edu-inner {\n    max-width: 1000px !important;\n    margin: 0 auto !important;\n}\n\n#wcf-demo-page-2026 .wcf-edu-header {\n    text-align: center !important;\n    margin-bottom: 32px !important;\n}\n\n#wcf-demo-page-2026 .wcf-edu-label {\n    color: #c9a227 !important;\n    font-size: 12px !important;\n    font-weight: 700 !important;\n    letter-spacing: 2px !important;\n    text-transform: uppercase !important;\n    margin-bottom: 10px !important;\n    display: inline-block !important;\n}\n\n#wcf-demo-page-2026 .wcf-edu-title {\n    font-size: 28px !important;\n    font-weight: 700 !important;\n    color: #1a2a3a !important;\n    margin: 0 0 10px 0 !important;\n}\n\n#wcf-demo-page-2026 .wcf-edu-subtitle {\n    color: #666 !important;\n    font-size: 15px !important;\n    margin: 0 auto !important;\n    max-width: 600px !important;\n}\n\n#wcf-demo-page-2026 .wcf-edu-grid {\n    display: grid !important;\n    grid-template-columns: repeat(5, 1fr) !important;\n    gap: 14px !important;\n}\n\n#wcf-demo-page-2026 .wcf-edu-card {\n    background: #ffffff !important;\n    border-radius: 10px !important;\n    padding: 20px 16px !important;\n    border: 1px solid #e5e5e5 !important;\n    text-align: center !important;\n    box-shadow: 0 2px 8px rgba(0,0,0,0.04) !important;\n}\n\n#wcf-demo-page-2026 .wcf-edu-step-num {\n    display: inline-block !important;\n    background: linear-gradient(135deg, #c9a227 0%, #ddb832 100%) !important;\n    color: #1a2a3a !important;\n    width: 28px !important;\n    height: 28px !important;\n    border-radius: 50% !important;\n    font-size: 13px !important;\n    font-weight: 700 !important;\n    line-height: 28px !important;\n    margin-bottom: 10px !important;\n}\n\n#wcf-demo-page-2026 .wcf-edu-card-title {\n    font-size: 14px !important;\n    font-weight: 700 !important;\n    color: #1a2a3a !important;\n    margin: 0 0 6px 0 !important;\n}\n\n#wcf-demo-page-2026 .wcf-edu-card-desc {\n    font-size: 12px !important;\n    color: #666 !important;\n    margin: 0 !important;\n    line-height: 1.5 !important;\n}\n\n\/* =====================================================\n   FINAL CTA (Download)\n   ===================================================== *\/\n#wcf-demo-page-2026 .wcf-final-cta {\n    background: linear-gradient(135deg, #c9a227 0%, #ddb832 100%) !important;\n    padding: 50px 20px !important;\n    text-align: center !important;\n}\n\n#wcf-demo-page-2026 .wcf-final-cta-title {\n    font-size: 28px !important;\n    font-weight: 700 !important;\n    color: #1a2a3a !important;\n    margin: 0 0 10px 0 !important;\n}\n\n#wcf-demo-page-2026 .wcf-final-cta-subtitle {\n    font-size: 16px !important;\n    color: #1a2a3a !important;\n    opacity: 0.85 !important;\n    margin: 0 0 24px 0 !important;\n}\n\n#wcf-demo-page-2026 .wcf-final-cta-buttons {\n    display: flex !important;\n    justify-content: center !important;\n    gap: 14px !important;\n    flex-wrap: wrap !important;\n}\n\n#wcf-demo-page-2026 .wcf-btn-dark {\n    background: #1a2a3a !important;\n    color: #ffffff !important;\n    padding: 14px 28px !important;\n    font-size: 15px !important;\n    font-weight: 600 !important;\n    border-radius: 8px !important;\n    display: inline-flex !important;\n    align-items: center !important;\n    gap: 8px !important;\n    transition: all 0.2s ease !important;\n}\n\n#wcf-demo-page-2026 .wcf-btn-dark:hover {\n    background: #2d4156 !important;\n    transform: translateY(-2px) !important;\n    box-shadow: 0 8px 20px rgba(26, 42, 58, 0.3) !important;\n}\n\n#wcf-demo-page-2026 .wcf-btn-outline-dark {\n    background: transparent !important;\n    color: #1a2a3a !important;\n    padding: 14px 28px !important;\n    font-size: 15px !important;\n    font-weight: 600 !important;\n    border-radius: 8px !important;\n    border: 2px solid #1a2a3a !important;\n    display: inline-flex !important;\n    align-items: center !important;\n    gap: 8px !important;\n    transition: all 0.2s ease !important;\n}\n\n#wcf-demo-page-2026 .wcf-btn-outline-dark:hover {\n    background: rgba(26,42,58,0.1) !important;\n    transform: translateY(-2px) !important;\n}\n\n#wcf-demo-page-2026 .wcf-final-cta-note {\n    font-size: 12px !important;\n    color: #1a2a3a !important;\n    opacity: 0.7 !important;\n    margin: 18px 0 0 0 !important;\n}\n\n#wcf-demo-page-2026 .wcf-final-cta-legacy {\n    display: inline-block !important;\n    margin-top: 10px !important;\n    color: #1a2a3a !important;\n    opacity: 0.7 !important;\n    font-size: 12px !important;\n    text-decoration: underline !important;\n}\n\n#wcf-demo-page-2026 .wcf-final-cta-legacy:hover {\n    opacity: 1 !important;\n}\n\n\/* =====================================================\n   FOOTER\n   ===================================================== *\/\n#wcf-demo-page-2026 .wcf-footer {\n    background: #1a2a3a !important;\n    padding: 24px 20px !important;\n    text-align: center !important;\n}\n\n#wcf-demo-page-2026 .wcf-footer-text {\n    color: rgba(255,255,255,0.6) !important;\n    font-size: 13px !important;\n    margin: 0 !important;\n}\n\n#wcf-demo-page-2026 .wcf-footer-link {\n    color: #c9a227 !important;\n    margin-left: 16px !important;\n}\n\n#wcf-demo-page-2026 .wcf-footer-link:hover {\n    color: #ffd54f !important;\n}\n\n\/* =====================================================\n   RESPONSIVE\n   ===================================================== *\/\n@media (max-width: 900px) {\n    #wcf-demo-page-2026 .wcf-demo-grid {\n        grid-template-columns: 1fr !important;\n    }\n    \n    #wcf-demo-page-2026 .wcf-demo-stage {\n        min-height: 380px !important;\n    }\n    \n    #wcf-demo-page-2026 .wcf-demo-hero-title {\n        font-size: 30px !important;\n    }\n    \n    #wcf-demo-page-2026 .wcf-edu-grid {\n        grid-template-columns: repeat(2, 1fr) !important;\n    }\n}\n\n@media (max-width: 500px) {\n    #wcf-demo-page-2026 .wcf-demo-steps {\n        flex-wrap: wrap !important;\n    }\n    \n    #wcf-demo-page-2026 .wcf-demo-step {\n        flex: 1 1 calc(50% - 4px) !important;\n    }\n    \n    #wcf-demo-page-2026 .wcf-edu-grid {\n        grid-template-columns: 1fr !important;\n    }\n    \n    #wcf-demo-page-2026 .wcf-back-bar-inner {\n        justify-content: center !important;\n    }\n}\n<\/style>\n\n<!-- =====================================================\n     BACK NAV BAR\n     ===================================================== -->\n<!-- IMPORTANT: Replace `page_id=552` below (3 places) with your actual\n     CryptSecure main page ID from WordPress. -->\n<div class=\"wcf-back-bar\">\n    <div class=\"wcf-back-bar-inner\">\n        <a href=\"https:\/\/www.opey.org\/opeyit\/?page_id=258\" class=\"wcf-back-link\">\n            <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><line x1=\"19\" y1=\"12\" x2=\"5\" y2=\"12\"\/><polyline points=\"12 19 5 12 12 5\"\/><\/svg>\n            Back to CryptSecure\n        <\/a>\n        <span class=\"wcf-back-product\">CryptSecure v2.6.0 \u00b7 Interactive Demo<\/span>\n    <\/div>\n<\/div>\n\n<!-- =====================================================\n     HERO\n     ===================================================== -->\n<div class=\"wcf-demo-hero\">\n    <div class=\"wcf-demo-hero-inner\">\n        <span class=\"wcf-demo-hero-tag\">\n            <span class=\"wcf-live-dot\"><\/span>\n            Interactive Demo\n        <\/span>\n        <h1 class=\"wcf-demo-hero-title\">See Quantum-Safe Encryption in Action<\/h1>\n        <p class=\"wcf-demo-hero-subtitle\">Drop a message and a file below, then watch CryptSecure build a quantum-safe envelope \u2014 layer by layer. This is exactly what happens inside the real app on your Windows device.<\/p>\n        <p class=\"wcf-demo-hero-meta\">No data leaves your browser \u00b7 No tracking \u00b7 Pure visualization<\/p>\n    <\/div>\n<\/div>\n\n<!-- =====================================================\n     INTERACTIVE DEMO STAGE\n     ===================================================== -->\n<div class=\"wcf-demo-section\">\n    <div class=\"wcf-demo-inner\">\n        <div class=\"wcf-demo-grid\">\n            <!-- LEFT: Input panel -->\n            <div class=\"wcf-demo-input-panel\">\n                <div>\n                    <div class=\"wcf-demo-label\">\n                        <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z\"\/><\/svg>\n                        Your Message\n                    <\/div>\n                    <textarea class=\"wcf-demo-textarea\" id=\"wcfDemoText\" placeholder=\"Type a confidential message here... e.g. 'Quarterly financials attached. For your eyes only.'\"><\/textarea>\n                <\/div>\n                \n                <div>\n                    <div class=\"wcf-demo-label\">\n                        <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\"\/><polyline points=\"17 8 12 3 7 8\"\/><line x1=\"12\" y1=\"3\" x2=\"12\" y2=\"15\"\/><\/svg>\n                        Attach a File (Max 1&nbsp;MB)\n                    <\/div>\n                    <input type=\"file\" id=\"wcfDemoFile\" class=\"wcf-demo-fileinput\">\n                    <div class=\"wcf-demo-filezone\" id=\"wcfDemoFilezone\">\n                        <div class=\"wcf-demo-filezone-icon\">\n                            <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\"\/><polyline points=\"17 8 12 3 7 8\"\/><line x1=\"12\" y1=\"3\" x2=\"12\" y2=\"15\"\/><\/svg>\n                        <\/div>\n                        <p class=\"wcf-demo-filezone-text\">Click or drop a file here<\/p>\n                        <p class=\"wcf-demo-filezone-sub\">Any file type \u00b7 Up to 1 MB<\/p>\n                    <\/div>\n                    <div id=\"wcfDemoFileDisplay\"><\/div>\n                    <p class=\"wcf-demo-error\" id=\"wcfDemoError\"><\/p>\n                <\/div>\n                \n                <button class=\"wcf-demo-btn\" id=\"wcfDemoEncrypt\">\n                    <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"5\" y=\"11\" width=\"14\" height=\"10\" rx=\"2\"\/><path d=\"M8 11 V7 a4 4 0 0 1 8 0 v4\"\/><\/svg>\n                    Build Secure Envelope\n                <\/button>\n                \n                <button class=\"wcf-demo-btn-reset\" id=\"wcfDemoReset\" style=\"display:none;\">\u21ba Reset Demo<\/button>\n            <\/div>\n            \n            <!-- RIGHT: Animation stage -->\n            <div class=\"wcf-demo-stage\">\n                <div class=\"wcf-demo-stage-header\">\n                    <h4 class=\"wcf-demo-stage-title\">Encryption Stage<\/h4>\n                    <span class=\"wcf-demo-status\" id=\"wcfDemoStatus\">\u25cf Idle<\/span>\n                <\/div>\n                \n                <div class=\"wcf-demo-canvas\" id=\"wcfDemoCanvas\">\n                    <div class=\"wcf-anim-idle\" id=\"wcfDemoIdle\">\n                        <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"12\" cy=\"12\" r=\"1.5\" fill=\"currentColor\"\/><ellipse cx=\"12\" cy=\"12\" rx=\"10\" ry=\"4\"\/><ellipse cx=\"12\" cy=\"12\" rx=\"10\" ry=\"4\" transform=\"rotate(60 12 12)\"\/><ellipse cx=\"12\" cy=\"12\" rx=\"10\" ry=\"4\" transform=\"rotate(-60 12 12)\"\/><\/svg>\n                        <p>Enter a message and (optionally) attach a file, then click <strong>Build Secure Envelope<\/strong> to see the encryption flow.<\/p>\n                    <\/div>\n                <\/div>\n                \n                <div class=\"wcf-demo-steps\">\n                    <div class=\"wcf-demo-step\" data-step=\"1\"><span class=\"wcf-demo-step-num\">01<\/span><span class=\"wcf-demo-step-label\">Bundle<\/span><\/div>\n                    <div class=\"wcf-demo-step\" data-step=\"2\"><span class=\"wcf-demo-step-num\">02<\/span><span class=\"wcf-demo-step-label\">AES-256<\/span><\/div>\n                    <div class=\"wcf-demo-step\" data-step=\"3\"><span class=\"wcf-demo-step-num\">03<\/span><span class=\"wcf-demo-step-label\">RSA Wrap<\/span><\/div>\n                    <div class=\"wcf-demo-step\" data-step=\"4\"><span class=\"wcf-demo-step-num\">04<\/span><span class=\"wcf-demo-step-label\">ML-KEM<\/span><\/div>\n                    <div class=\"wcf-demo-step\" data-step=\"5\"><span class=\"wcf-demo-step-num\">05<\/span><span class=\"wcf-demo-step-label\">Envelope<\/span><\/div>\n                <\/div>\n            <\/div>\n        <\/div>\n        \n        <p class=\"wcf-demo-footnote\">This is a visual demonstration. Real CryptSecure encryption runs entirely offline on your Windows device with the same NIST-standardized algorithms.<\/p>\n    <\/div>\n<\/div>\n\n<!-- =====================================================\n     EDUCATION: What just happened?\n     ===================================================== -->\n<div class=\"wcf-edu-section\">\n    <div class=\"wcf-edu-inner\">\n        <div class=\"wcf-edu-header\">\n            <span class=\"wcf-edu-label\">What just happened?<\/span>\n            <h2 class=\"wcf-edu-title\">The Five Steps to a Quantum-Safe Envelope<\/h2>\n            <p class=\"wcf-edu-subtitle\">Each layer adds a distinct kind of protection. Together they produce a single encrypted file that&#8217;s safe to send through any channel.<\/p>\n        <\/div>\n        \n        <div class=\"wcf-edu-grid\">\n            <div class=\"wcf-edu-card\">\n                <span class=\"wcf-edu-step-num\">1<\/span>\n                <h4 class=\"wcf-edu-card-title\">Bundle<\/h4>\n                <p class=\"wcf-edu-card-desc\">Your message and attached files are packaged together as one plaintext bundle.<\/p>\n            <\/div>\n            <div class=\"wcf-edu-card\">\n                <span class=\"wcf-edu-step-num\">2<\/span>\n                <h4 class=\"wcf-edu-card-title\">AES-256-GCM<\/h4>\n                <p class=\"wcf-edu-card-desc\">The bundle is encrypted with a fresh random AES-256 key \u2014 authenticated, tamper-evident.<\/p>\n            <\/div>\n            <div class=\"wcf-edu-card\">\n                <span class=\"wcf-edu-step-num\">3<\/span>\n                <h4 class=\"wcf-edu-card-title\">RSA-4096<\/h4>\n                <p class=\"wcf-edu-card-desc\">The AES key is wrapped with classical RSA-OAEP \u2014 the proven workhorse of today&#8217;s encryption.<\/p>\n            <\/div>\n            <div class=\"wcf-edu-card\">\n                <span class=\"wcf-edu-step-num\">4<\/span>\n                <h4 class=\"wcf-edu-card-title\">ML-KEM-1024<\/h4>\n                <p class=\"wcf-edu-card-desc\">A post-quantum layer is added \u2014 NIST FIPS 203 algorithm resistant to future quantum attacks.<\/p>\n            <\/div>\n            <div class=\"wcf-edu-card\">\n                <span class=\"wcf-edu-step-num\">5<\/span>\n                <h4 class=\"wcf-edu-card-title\">Envelope<\/h4>\n                <p class=\"wcf-edu-card-desc\">Everything is sealed into one secure envelope file. Only the recipient&#8217;s private key can open it.<\/p>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n\n<!-- =====================================================\n     FINAL CTA\n     ===================================================== -->\n<div class=\"wcf-final-cta\">\n    <h2 class=\"wcf-final-cta-title\">Ready to Try the Real Thing?<\/h2>\n    <p class=\"wcf-final-cta-subtitle\">CryptSecure runs entirely offline on Windows 10\/11. Free forever.<\/p>\n    \n    <div class=\"wcf-final-cta-buttons\">\n        <a href=\"https:\/\/apps.microsoft.com\/detail\/9PCCB7ZHQSRV?hl=en-us&#038;gl=US&#038;ocid=pdpshare\" class=\"wcf-btn-dark\" target=\"_blank\">\n            <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\"\/><polyline points=\"7 10 12 15 17 10\"\/><line x1=\"12\" y1=\"15\" x2=\"12\" y2=\"3\"\/><\/svg>\n            Download v2.6.0 from Microsoft Store\n        <\/a>\n        <a href=\"https:\/\/www.opey.org\/opeyit\/?page_id=554\" class=\"wcf-btn-outline-dark\">\n            <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"12\" cy=\"12\" r=\"10\"\/><line x1=\"12\" y1=\"16\" x2=\"12\" y2=\"12\"\/><line x1=\"12\" y1=\"8\" x2=\"12.01\" y2=\"8\"\/><\/svg>\n            Learn More About CryptSecure\n        <\/a>\n    <\/div>\n    \n    <p class=\"wcf-final-cta-note\">Windows 10\/11 \u00b7 No account needed \u00b7 100% Offline<\/p>\n    <a href=\"https:\/\/apps.microsoft.com\/detail\/9PH0B2Q0RVZV?hl=en-us&#038;gl=US&#038;ocid=pdpshare\" class=\"wcf-final-cta-legacy\" target=\"_blank\">Or download the previous version (v2.4.3) \u2192<\/a>\n<\/div>\n\n<!-- =====================================================\n     FOOTER\n     ===================================================== -->\n<div class=\"wcf-footer\">\n    <p class=\"wcf-footer-text\">\n        &copy; 2026 Opey&#8217;s IT. CryptSecure v2.6.0 Demo\n        <a href=\"https:\/\/www.opey.org\/opeyit\/?page_id=552\" class=\"wcf-footer-link\">CryptSecure Home<\/a>\n        <a href=\"https:\/\/www.opey.org\/opeyit\/?page_id=554\" class=\"wcf-footer-link\">User Guide<\/a>\n        <a href=\"https:\/\/www.opey.org\/opeyit\/?page_id=14\" class=\"wcf-footer-link\">Contact<\/a>\n        <a href=\"https:\/\/www.opey.org\/opeyit\/?page_id=363\" class=\"wcf-footer-link\">Privacy<\/a>\n    <\/p>\n<\/div>\n\n<\/div>\n<!-- End of #wcf-demo-page-2026 -->\n\n\n\n\n\n\n<!-- ===================================================================\n     IMPORTANT - SECOND BLOCK\n     Paste this script into a SEPARATE \"Custom HTML\" block in WordPress,\n     placed immediately below the first block. WordPress text filters\n     (wptexturize, wpautop) can mangle inline JavaScript when it shares\n     a block with HTML\/CSS content. Keeping the script in its own block\n     prevents that.\n     =================================================================== -->\n\n<!-- CryptSecure Demo Script -->\n<div id=\"wcfDemoScriptB64\" style=\"display:none\" data-b64=\"KGZ1bmN0aW9uKCkgewogICAgJ3VzZSBzdHJpY3QnOwogICAgCiAgICB2YXIgTUFYX0JZVEVTID0gMTAyNCAqIDEwMjQ7IC8vIDEgTUIKICAgIHZhciBzZWxlY3RlZEZpbGUgPSBudWxsOwogICAgdmFyIGlzQW5pbWF0aW5nID0gZmFsc2U7CiAgICAKICAgIHZhciAkID0gZnVuY3Rpb24oaWQpIHsgcmV0dXJuIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKTsgfTsKICAgIAogICAgdmFyIHRleHRBcmVhID0gJCgnd2NmRGVtb1RleHQnKTsKICAgIHZhciBmaWxlSW5wdXQgPSAkKCd3Y2ZEZW1vRmlsZScpOwogICAgdmFyIGZpbGV6b25lID0gJCgnd2NmRGVtb0ZpbGV6b25lJyk7CiAgICB2YXIgZmlsZURpc3BsYXkgPSAkKCd3Y2ZEZW1vRmlsZURpc3BsYXknKTsKICAgIHZhciBlcnJvckVsID0gJCgnd2NmRGVtb0Vycm9yJyk7CiAgICB2YXIgZW5jcnlwdEJ0biA9ICQoJ3djZkRlbW9FbmNyeXB0Jyk7CiAgICB2YXIgcmVzZXRCdG4gPSAkKCd3Y2ZEZW1vUmVzZXQnKTsKICAgIHZhciBjYW52YXMgPSAkKCd3Y2ZEZW1vQ2FudmFzJyk7CiAgICB2YXIgc3RhdHVzRWwgPSAkKCd3Y2ZEZW1vU3RhdHVzJyk7CiAgICB2YXIgaWRsZUVsID0gJCgnd2NmRGVtb0lkbGUnKTsKICAgIAogICAgZnVuY3Rpb24gZm9ybWF0Qnl0ZXMoYnl0ZXMpIHsKICAgICAgICBpZiAoYnl0ZXMgPCAxMDI0KSByZXR1cm4gYnl0ZXMgKyAnIEInOwogICAgICAgIGlmIChieXRlcyA8IDEwMjQgKiAxMDI0KSByZXR1cm4gKGJ5dGVzIC8gMTAyNCkudG9GaXhlZCgxKSArICcgS0InOwogICAgICAgIHJldHVybiAoYnl0ZXMgLyAoMTAyNCAqIDEwMjQpKS50b0ZpeGVkKDIpICsgJyBNQic7CiAgICB9CiAgICAKICAgIGZ1bmN0aW9uIHJlbmRlckZpbGUoKSB7CiAgICAgICAgaWYgKCFzZWxlY3RlZEZpbGUpIHsKICAgICAgICAgICAgZmlsZURpc3BsYXkuaW5uZXJIVE1MID0gJyc7CiAgICAgICAgICAgIGZpbGV6b25lLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgICAgIGZpbGV6b25lLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7CiAgICAgICAgZmlsZURpc3BsYXkuaW5uZXJIVE1MID0KICAgICAgICAgICAgJzxkaXYgY2xhc3M9IndjZi1kZW1vLWZpbGUtZGlzcGxheSI+JyArCiAgICAgICAgICAgICAgICAnPGRpdiBjbGFzcz0id2NmLWRlbW8tZmlsZS1pbmZvIj4nICsKICAgICAgICAgICAgICAgICAgICAnPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTE0IDJINmEyIDIgMCAwIDAtMiAydjE2YTIgMiAwIDAgMCAyIDJoMTJhMiAyIDAgMCAwIDItMlY4eiIvPjxwb2x5bGluZSBwb2ludHM9IjE0IDIgMTQgOCAyMCA4Ii8+PC9zdmc+JyArCiAgICAgICAgICAgICAgICAgICAgJzxzcGFuIGNsYXNzPSJ3Y2YtZGVtby1maWxlLW5hbWUiPicgKyBlc2NhcGVIdG1sKHNlbGVjdGVkRmlsZS5uYW1lKSArICc8L3NwYW4+JyArCiAgICAgICAgICAgICAgICAgICAgJzxzcGFuIGNsYXNzPSJ3Y2YtZGVtby1maWxlLXNpemUiPicgKyBmb3JtYXRCeXRlcyhzZWxlY3RlZEZpbGUuc2l6ZSkgKyAnPC9zcGFuPicgKwogICAgICAgICAgICAgICAgJzwvZGl2PicgKwogICAgICAgICAgICAgICAgJzxidXR0b24gY2xhc3M9IndjZi1kZW1vLWZpbGUtcmVtb3ZlIiB0eXBlPSJidXR0b24iIGlkPSJ3Y2ZGaWxlUmVtb3ZlIiBhcmlhLWxhYmVsPSJSZW1vdmUgZmlsZSI+w5c8L2J1dHRvbj4nICsKICAgICAgICAgICAgJzwvZGl2Pic7CiAgICAgICAgdmFyIHJlbW92ZUJ0biA9ICQoJ3djZkZpbGVSZW1vdmUnKTsKICAgICAgICBpZiAocmVtb3ZlQnRuKSB7CiAgICAgICAgICAgIHJlbW92ZUJ0bi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgc2VsZWN0ZWRGaWxlID0gbnVsbDsKICAgICAgICAgICAgICAgIGZpbGVJbnB1dC52YWx1ZSA9ICcnOwogICAgICAgICAgICAgICAgcmVuZGVyRmlsZSgpOwogICAgICAgICAgICB9KTsKICAgICAgICB9CiAgICB9CiAgICAKICAgIGZ1bmN0aW9uIGVzY2FwZUh0bWwocykgewogICAgICAgIHJldHVybiBTdHJpbmcocykKICAgICAgICAgICAgLnJlcGxhY2UoLyYvZywgJyZhbXA7JykKICAgICAgICAgICAgLnJlcGxhY2UoLzwvZywgJyZsdDsnKQogICAgICAgICAgICAucmVwbGFjZSgvPi9nLCAnJmd0OycpCiAgICAgICAgICAgIC5yZXBsYWNlKC8iL2csICcmcXVvdDsnKQogICAgICAgICAgICAucmVwbGFjZSgvJy9nLCAnJiMzOTsnKTsKICAgIH0KICAgIAogICAgZnVuY3Rpb24gc2hvd0Vycm9yKG1zZykgewogICAgICAgIGVycm9yRWwudGV4dENvbnRlbnQgPSBtc2cgfHwgJyc7CiAgICB9CiAgICAKICAgIGZ1bmN0aW9uIGhhbmRsZUZpbGUoZmlsZSkgewogICAgICAgIHNob3dFcnJvcignJyk7CiAgICAgICAgaWYgKCFmaWxlKSByZXR1cm47CiAgICAgICAgaWYgKGZpbGUuc2l6ZSA+IE1BWF9CWVRFUykgewogICAgICAgICAgICBzaG93RXJyb3IoJ0ZpbGUgdG9vIGxhcmdlLiBNYXhpbXVtIHNpemUgaXMgMSBNQi4nKTsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgICAgICBzZWxlY3RlZEZpbGUgPSBmaWxlOwogICAgICAgIHJlbmRlckZpbGUoKTsKICAgIH0KICAgIAogICAgZmlsZXpvbmUuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbigpIHsgZmlsZUlucHV0LmNsaWNrKCk7IH0pOwogICAgCiAgICBmaWxlSW5wdXQuYWRkRXZlbnRMaXN0ZW5lcignY2hhbmdlJywgZnVuY3Rpb24oZSkgewogICAgICAgIGlmIChlLnRhcmdldC5maWxlcyAmJiBlLnRhcmdldC5maWxlc1swXSkgewogICAgICAgICAgICBoYW5kbGVGaWxlKGUudGFyZ2V0LmZpbGVzWzBdKTsKICAgICAgICB9CiAgICB9KTsKICAgIAogICAgWydkcmFnZW50ZXInLCAnZHJhZ292ZXInXS5mb3JFYWNoKGZ1bmN0aW9uKGV2KSB7CiAgICAgICAgZmlsZXpvbmUuYWRkRXZlbnRMaXN0ZW5lcihldiwgZnVuY3Rpb24oZSkgewogICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7CiAgICAgICAgICAgIGZpbGV6b25lLmNsYXNzTGlzdC5hZGQoJ3djZi1kcmFnb3ZlcicpOwogICAgICAgIH0pOwogICAgfSk7CiAgICAKICAgIFsnZHJhZ2xlYXZlJywgJ2Ryb3AnXS5mb3JFYWNoKGZ1bmN0aW9uKGV2KSB7CiAgICAgICAgZmlsZXpvbmUuYWRkRXZlbnRMaXN0ZW5lcihldiwgZnVuY3Rpb24oZSkgewogICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7CiAgICAgICAgICAgIGZpbGV6b25lLmNsYXNzTGlzdC5yZW1vdmUoJ3djZi1kcmFnb3ZlcicpOwogICAgICAgIH0pOwogICAgfSk7CiAgICAKICAgIGZpbGV6b25lLmFkZEV2ZW50TGlzdGVuZXIoJ2Ryb3AnLCBmdW5jdGlvbihlKSB7CiAgICAgICAgaWYgKGUuZGF0YVRyYW5zZmVyICYmIGUuZGF0YVRyYW5zZmVyLmZpbGVzICYmIGUuZGF0YVRyYW5zZmVyLmZpbGVzWzBdKSB7CiAgICAgICAgICAgIGhhbmRsZUZpbGUoZS5kYXRhVHJhbnNmZXIuZmlsZXNbMF0pOwogICAgICAgIH0KICAgIH0pOwogICAgCiAgICBmdW5jdGlvbiBnZXRTdGVwcygpIHsKICAgICAgICByZXR1cm4gY2FudmFzLnBhcmVudE5vZGUucXVlcnlTZWxlY3RvckFsbCgnLndjZi1kZW1vLXN0ZXAnKTsKICAgIH0KICAgIAogICAgZnVuY3Rpb24gc2V0U3RlcFN0YXRlKHN0ZXBOdW0sIHN0YXRlKSB7CiAgICAgICAgdmFyIHN0ZXBzID0gZ2V0U3RlcHMoKTsKICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHN0ZXBzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgIHZhciBzID0gc3RlcHNbaV07CiAgICAgICAgICAgIHZhciBuID0gcGFyc2VJbnQocy5nZXRBdHRyaWJ1dGUoJ2RhdGEtc3RlcCcpLCAxMCk7CiAgICAgICAgICAgIHMuY2xhc3NMaXN0LnJlbW92ZSgnd2NmLXN0ZXAtYWN0aXZlJywgJ3djZi1zdGVwLWRvbmUnKTsKICAgICAgICAgICAgaWYgKG4gPCBzdGVwTnVtKSBzLmNsYXNzTGlzdC5hZGQoJ3djZi1zdGVwLWRvbmUnKTsKICAgICAgICAgICAgZWxzZSBpZiAobiA9PT0gc3RlcE51bSkgcy5jbGFzc0xpc3QuYWRkKCd3Y2Ytc3RlcC0nICsgc3RhdGUpOwogICAgICAgIH0KICAgIH0KICAgIAogICAgZnVuY3Rpb24gcmVzZXRTdGVwcygpIHsKICAgICAgICB2YXIgc3RlcHMgPSBnZXRTdGVwcygpOwogICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc3RlcHMubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgc3RlcHNbaV0uY2xhc3NMaXN0LnJlbW92ZSgnd2NmLXN0ZXAtYWN0aXZlJywgJ3djZi1zdGVwLWRvbmUnKTsKICAgICAgICB9CiAgICB9CiAgICAKICAgIGZ1bmN0aW9uIGNsZWFyQ2FudmFzKCkgewogICAgICAgIGNhbnZhcy5pbm5lckhUTUwgPSAnJzsKICAgIH0KICAgIAogICAgZnVuY3Rpb24gZGVsYXkobXMpIHsKICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgeyBzZXRUaW1lb3V0KHJlc29sdmUsIG1zKTsgfSk7CiAgICB9CiAgICAKICAgIGZ1bmN0aW9uIHNldFN0YXR1cyh0ZXh0LCBjbHMpIHsKICAgICAgICBzdGF0dXNFbC50ZXh0Q29udGVudCA9IHRleHQ7CiAgICAgICAgc3RhdHVzRWwuY2xhc3NOYW1lID0gJ3djZi1kZW1vLXN0YXR1cyc7CiAgICAgICAgaWYgKGNscykgc3RhdHVzRWwuY2xhc3NMaXN0LmFkZChjbHMpOwogICAgfQogICAgCiAgICBmdW5jdGlvbiBidWlsZENvcmUoKSB7CiAgICAgICAgdmFyIGNvcmUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICAgICAgICBjb3JlLmNsYXNzTmFtZSA9ICd3Y2YtYW5pbS1jb3JlJzsKICAgICAgICBjb3JlLmlkID0gJ3djZkFuaW1Db3JlJzsKICAgICAgICBjb3JlLmlubmVySFRNTCA9CiAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJ3Y2YtY29yZS1yaW5nIHdjZi1jb3JlLXJpbmctMSI+PC9kaXY+JyArCiAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJ3Y2YtY29yZS1yaW5nIHdjZi1jb3JlLXJpbmctMiI+PC9kaXY+JyArCiAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJ3Y2YtY29yZS1yaW5nIHdjZi1jb3JlLXJpbmctMyI+PC9kaXY+JyArCiAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJ3Y2YtY29yZS1sYWJlbCB3Y2YtY29yZS1sYWJlbC1hZXMiIGlkPSJ3Y2ZMYmxBZXMiPkFFUy0yNTYtR0NNPC9kaXY+JyArCiAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJ3Y2YtY29yZS1sYWJlbCB3Y2YtY29yZS1sYWJlbC1yc2EiIGlkPSJ3Y2ZMYmxSc2EiPlJTQS00MDk2PC9kaXY+JyArCiAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJ3Y2YtY29yZS1sYWJlbCB3Y2YtY29yZS1sYWJlbC1tbGtlbSIgaWQ9IndjZkxibE1sa2VtIj5NTC1LRU0tMTAyNDwvZGl2PicgKwogICAgICAgICAgICAnPGRpdiBjbGFzcz0id2NmLWNvcmUtY2VudGVyIj4nICsKICAgICAgICAgICAgICAgICc8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cmVjdCB4PSI1IiB5PSIxMSIgd2lkdGg9IjE0IiBoZWlnaHQ9IjEwIiByeD0iMiIvPjxwYXRoIGQ9Ik04IDExIFY3IGE0IDQgMCAwIDEgOCAwIHY0Ii8+PC9zdmc+JyArCiAgICAgICAgICAgICc8L2Rpdj4nICsKICAgICAgICAgICAgJzxkaXYgY2xhc3M9IndjZi1wYXJ0aWNsZXMiIGlkPSJ3Y2ZQYXJ0aWNsZXMiPjwvZGl2Pic7CiAgICAgICAgcmV0dXJuIGNvcmU7CiAgICB9CiAgICAKICAgIGZ1bmN0aW9uIGJ1cnN0UGFydGljbGVzKCkgewogICAgICAgIHZhciBjb250YWluZXIgPSAkKCd3Y2ZQYXJ0aWNsZXMnKTsKICAgICAgICBpZiAoIWNvbnRhaW5lcikgcmV0dXJuOwogICAgICAgIGNvbnRhaW5lci5pbm5lckhUTUwgPSAnJzsKICAgICAgICB2YXIgY291bnQgPSAxNjsKICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNvdW50OyBpKyspIHsKICAgICAgICAgICAgdmFyIHAgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICAgICAgICAgICAgcC5jbGFzc05hbWUgPSAnd2NmLXBhcnRpY2xlJzsKICAgICAgICAgICAgdmFyIGFuZ2xlID0gKGkgLyBjb3VudCkgKiBNYXRoLlBJICogMjsKICAgICAgICAgICAgdmFyIGRpc3QgPSA2MCArIE1hdGgucmFuZG9tKCkgKiAzMDsKICAgICAgICAgICAgcC5zdHlsZS5zZXRQcm9wZXJ0eSgnLScgKyAnLXR4JywgTWF0aC5jb3MoYW5nbGUpICogZGlzdCArICdweCcpOwogICAgICAgICAgICBwLnN0eWxlLnNldFByb3BlcnR5KCctJyArICctdHknLCBNYXRoLnNpbihhbmdsZSkgKiBkaXN0ICsgJ3B4Jyk7CiAgICAgICAgICAgIGNvbnRhaW5lci5hcHBlbmRDaGlsZChwKTsKICAgICAgICAgICAgKGZ1bmN0aW9uKGVsKSB7CiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeyBlbC5jbGFzc0xpc3QuYWRkKCd3Y2YtYnVyc3QnKTsgfSwgMTApOwogICAgICAgICAgICB9KShwKTsKICAgICAgICB9CiAgICB9CiAgICAKICAgIGZ1bmN0aW9uIHNob3dDYXB0aW9uKHRleHQpIHsKICAgICAgICB2YXIgZXhpc3RpbmcgPSBjYW52YXMucXVlcnlTZWxlY3RvcignLndjZi1hbmltLWNhcHRpb24nKTsKICAgICAgICBpZiAoZXhpc3RpbmcpIGV4aXN0aW5nLnJlbW92ZSgpOwogICAgICAgIHZhciBjID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgICAgICAgYy5jbGFzc05hbWUgPSAnd2NmLWFuaW0tY2FwdGlvbic7CiAgICAgICAgYy50ZXh0Q29udGVudCA9IHRleHQ7CiAgICAgICAgY2FudmFzLmFwcGVuZENoaWxkKGMpOwogICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7IGMuY2xhc3NMaXN0LmFkZCgnd2NmLXNob3cnKTsgfSwgMTApOwogICAgICAgIHJldHVybiBjOwogICAgfQogICAgCiAgICBmdW5jdGlvbiBoaWRlQ2FwdGlvbigpIHsKICAgICAgICB2YXIgYyA9IGNhbnZhcy5xdWVyeVNlbGVjdG9yKCcud2NmLWFuaW0tY2FwdGlvbicpOwogICAgICAgIGlmIChjKSB7CiAgICAgICAgICAgIGMuY2xhc3NMaXN0LnJlbW92ZSgnd2NmLXNob3cnKTsKICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsgaWYgKGMucGFyZW50Tm9kZSkgYy5yZW1vdmUoKTsgfSwgNDAwKTsKICAgICAgICB9CiAgICB9CiAgICAKICAgIGFzeW5jIGZ1bmN0aW9uIHJ1bkFuaW1hdGlvbihtZXNzYWdlVGV4dCwgZmlsZSkgewogICAgICAgIGlzQW5pbWF0aW5nID0gdHJ1ZTsKICAgICAgICBlbmNyeXB0QnRuLmRpc2FibGVkID0gdHJ1ZTsKICAgICAgICBlbmNyeXB0QnRuLnN0eWxlLm9wYWNpdHkgPSAnMC42JzsKICAgICAgICByZXNldEJ0bi5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgICAgIAogICAgICAgIGNsZWFyQ2FudmFzKCk7CiAgICAgICAgcmVzZXRTdGVwcygpOwogICAgICAgIAogICAgICAgIC8vIFNURVAgMTogQnVuZGxlCiAgICAgICAgc2V0U3RhdHVzKCfil48gQnVuZGxpbmcgaW5wdXRzXHUyMDI2JywgJ3djZi1kZW1vLXN0YXR1cy1hY3RpdmUnKTsKICAgICAgICBzZXRTdGVwU3RhdGUoMSwgJ2FjdGl2ZScpOwogICAgICAgIAogICAgICAgIHZhciBpbnB1dHMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICAgICAgICBpbnB1dHMuY2xhc3NOYW1lID0gJ3djZi1hbmltLWlucHV0cyc7CiAgICAgICAgdmFyIGNoaXBzID0gJyc7CiAgICAgICAgaWYgKG1lc3NhZ2VUZXh0ICYmIG1lc3NhZ2VUZXh0LnRyaW0oKS5sZW5ndGggPiAwKSB7CiAgICAgICAgICAgIHZhciBwcmV2aWV3ID0gbWVzc2FnZVRleHQubGVuZ3RoID4gMzIgPyBtZXNzYWdlVGV4dC5zdWJzdHJpbmcoMCwgMzIpICsgJ1x1MjAyNicgOiBtZXNzYWdlVGV4dDsKICAgICAgICAgICAgY2hpcHMgKz0gJzxkaXYgY2xhc3M9IndjZi1hbmltLWNoaXAiPicgKwogICAgICAgICAgICAgICAgJzxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik0yMSAxNWEyIDIgMCAwIDEtMiAySDdsLTQgNFY1YTIgMiAwIDAgMSAyLTJoMTRhMiAyIDAgMCAxIDIgMnoiLz48L3N2Zz4nICsKICAgICAgICAgICAgICAgICciJyArIGVzY2FwZUh0bWwocHJldmlldykgKyAnIjwvZGl2Pic7CiAgICAgICAgfQogICAgICAgIGlmIChmaWxlKSB7CiAgICAgICAgICAgIGNoaXBzICs9ICc8ZGl2IGNsYXNzPSJ3Y2YtYW5pbS1jaGlwIj4nICsKICAgICAgICAgICAgICAgICc8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNMTQgMkg2YTIgMiAwIDAgMC0yIDJ2MTZhMiAyIDAgMCAwIDIgMmgxMmEyIDIgMCAwIDAgMi0yVjh6Ii8+PHBvbHlsaW5lIHBvaW50cz0iMTQgMiAxNCA4IDIwIDgiLz48L3N2Zz4nICsKICAgICAgICAgICAgICAgIGVzY2FwZUh0bWwoZmlsZS5uYW1lKSArICc8L2Rpdj4nOwogICAgICAgIH0KICAgICAgICBpZiAoIWNoaXBzKSB7CiAgICAgICAgICAgIGNoaXBzID0gJzxkaXYgY2xhc3M9IndjZi1hbmltLWNoaXAiPicgKwogICAgICAgICAgICAgICAgJzxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik0yMSAxNWEyIDIgMCAwIDEtMiAySDdsLTQgNFY1YTIgMiAwIDAgMSAyLTJoMTRhMiAyIDAgMCAxIDIgMnoiLz48L3N2Zz4nICsKICAgICAgICAgICAgICAgICcoZW1wdHkgbWVzc2FnZSk8L2Rpdj4nOwogICAgICAgIH0KICAgICAgICBpbnB1dHMuaW5uZXJIVE1MID0gY2hpcHM7CiAgICAgICAgY2FudmFzLmFwcGVuZENoaWxkKGlucHV0cyk7CiAgICAgICAgCiAgICAgICAgYXdhaXQgZGVsYXkoNTApOwogICAgICAgIGlucHV0cy5jbGFzc0xpc3QuYWRkKCd3Y2YtYW5pbS1zaG93Jyk7CiAgICAgICAgYXdhaXQgZGVsYXkoOTAwKTsKICAgICAgICAKICAgICAgICBzaG93Q2FwdGlvbignUGxhaW50ZXh0IGJ1bmRsZSBwcmVwYXJlZCcpOwogICAgICAgIGF3YWl0IGRlbGF5KDcwMCk7CiAgICAgICAgCiAgICAgICAgaW5wdXRzLmNsYXNzTGlzdC5hZGQoJ3djZi1hbmltLW1vdmluZycpOwogICAgICAgIGF3YWl0IGRlbGF5KDUwMCk7CiAgICAgICAgCiAgICAgICAgdmFyIGNvcmUgPSBidWlsZENvcmUoKTsKICAgICAgICBjYW52YXMuYXBwZW5kQ2hpbGQoY29yZSk7CiAgICAgICAgYXdhaXQgZGVsYXkoNTApOwogICAgICAgIAogICAgICAgIGlucHV0cy5zdHlsZS5vcGFjaXR5ID0gJzAuMyc7CiAgICAgICAgYXdhaXQgZGVsYXkoNDAwKTsKICAgICAgICBpZiAoaW5wdXRzLnBhcmVudE5vZGUpIGlucHV0cy5yZW1vdmUoKTsKICAgICAgICAKICAgICAgICBzZXRTdGVwU3RhdGUoMSwgJ2RvbmUnKTsKICAgICAgICAKICAgICAgICAvLyBTVEVQIDI6IEFFUwogICAgICAgIHNldFN0ZXBTdGF0ZSgyLCAnYWN0aXZlJyk7CiAgICAgICAgc2V0U3RhdHVzKCfil48gU2VhbGluZyB3aXRoIEFFUy0yNTYtR0NNXHUyMDI2JywgJ3djZi1kZW1vLXN0YXR1cy1hY3RpdmUnKTsKICAgICAgICBoaWRlQ2FwdGlvbigpOwogICAgICAgIGF3YWl0IGRlbGF5KDE1MCk7CiAgICAgICAgc2hvd0NhcHRpb24oJ0VuY3J5cHRpbmcgYnVuZGxlIHdpdGggQUVTLTI1Ni1HQ00nKTsKICAgICAgICB2YXIgbGJsQWVzID0gJCgnd2NmTGJsQWVzJyk7CiAgICAgICAgaWYgKGxibEFlcykgbGJsQWVzLmNsYXNzTGlzdC5hZGQoJ3djZi1zaG93Jyk7CiAgICAgICAgYnVyc3RQYXJ0aWNsZXMoKTsKICAgICAgICBhd2FpdCBkZWxheSgxNTAwKTsKICAgICAgICBzZXRTdGVwU3RhdGUoMiwgJ2RvbmUnKTsKICAgICAgICAKICAgICAgICAvLyBTVEVQIDM6IFJTQQogICAgICAgIHNldFN0ZXBTdGF0ZSgzLCAnYWN0aXZlJyk7CiAgICAgICAgc2V0U3RhdHVzKCfil48gV3JhcHBpbmcga2V5IHdpdGggUlNBLTQwOTZcdTIwMjYnLCAnd2NmLWRlbW8tc3RhdHVzLWFjdGl2ZScpOwogICAgICAgIGhpZGVDYXB0aW9uKCk7CiAgICAgICAgYXdhaXQgZGVsYXkoMTUwKTsKICAgICAgICBzaG93Q2FwdGlvbignV3JhcHBpbmcgQUVTIGtleSB3aXRoIGNsYXNzaWNhbCBSU0EtNDA5NicpOwogICAgICAgIHZhciBsYmxSc2EgPSAkKCd3Y2ZMYmxSc2EnKTsKICAgICAgICBpZiAobGJsUnNhKSBsYmxSc2EuY2xhc3NMaXN0LmFkZCgnd2NmLXNob3cnKTsKICAgICAgICBidXJzdFBhcnRpY2xlcygpOwogICAgICAgIGF3YWl0IGRlbGF5KDE1MDApOwogICAgICAgIHNldFN0ZXBTdGF0ZSgzLCAnZG9uZScpOwogICAgICAgIAogICAgICAgIC8vIFNURVAgNDogTUwtS0VNCiAgICAgICAgc2V0U3RlcFN0YXRlKDQsICdhY3RpdmUnKTsKICAgICAgICBzZXRTdGF0dXMoJ+KXjyBBZGRpbmcgTUwtS0VNLTEwMjQgcXVhbnR1bSBsYXllclx1MjAyNicsICd3Y2YtZGVtby1zdGF0dXMtYWN0aXZlJyk7CiAgICAgICAgaGlkZUNhcHRpb24oKTsKICAgICAgICBhd2FpdCBkZWxheSgxNTApOwogICAgICAgIHNob3dDYXB0aW9uKCdBZGRpbmcgcG9zdC1xdWFudHVtIE1MLUtFTS0xMDI0IGxheWVyJyk7CiAgICAgICAgdmFyIGxibE1sa2VtID0gJCgnd2NmTGJsTWxrZW0nKTsKICAgICAgICBpZiAobGJsTWxrZW0pIGxibE1sa2VtLmNsYXNzTGlzdC5hZGQoJ3djZi1zaG93Jyk7CiAgICAgICAgYnVyc3RQYXJ0aWNsZXMoKTsKICAgICAgICBhd2FpdCBkZWxheSgxNTAwKTsKICAgICAgICBzZXRTdGVwU3RhdGUoNCwgJ2RvbmUnKTsKICAgICAgICAKICAgICAgICAvLyBTVEVQIDU6IEVudmVsb3BlCiAgICAgICAgc2V0U3RlcFN0YXRlKDUsICdhY3RpdmUnKTsKICAgICAgICBzZXRTdGF0dXMoJ+KXjyBGaW5hbGl6aW5nIGVudmVsb3BlXHUyMDI2JywgJ3djZi1kZW1vLXN0YXR1cy1hY3RpdmUnKTsKICAgICAgICBoaWRlQ2FwdGlvbigpOwogICAgICAgIGF3YWl0IGRlbGF5KDE1MCk7CiAgICAgICAgc2hvd0NhcHRpb24oJ1Byb2R1Y2luZyBzZWN1cmUgZW52ZWxvcGUnKTsKICAgICAgICBhd2FpdCBkZWxheSg4MDApOwogICAgICAgIAogICAgICAgIHZhciBjb3JlRWwgPSAkKCd3Y2ZBbmltQ29yZScpOwogICAgICAgIGlmIChjb3JlRWwpIHsKICAgICAgICAgICAgY29yZUVsLnN0eWxlLnRyYW5zaXRpb24gPSAndHJhbnNmb3JtIDAuNXMgZWFzZSwgb3BhY2l0eSAwLjVzIGVhc2UnOwogICAgICAgICAgICBjb3JlRWwuc3R5bGUudHJhbnNmb3JtID0gJ3NjYWxlKDAuNCknOwogICAgICAgICAgICBjb3JlRWwuc3R5bGUub3BhY2l0eSA9ICcwJzsKICAgICAgICB9CiAgICAgICAgYXdhaXQgZGVsYXkoNTAwKTsKICAgICAgICBpZiAoY29yZUVsICYmIGNvcmVFbC5wYXJlbnROb2RlKSBjb3JlRWwucmVtb3ZlKCk7CiAgICAgICAgaGlkZUNhcHRpb24oKTsKICAgICAgICAKICAgICAgICB2YXIgZW52ZWxvcGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICAgICAgICBlbnZlbG9wZS5jbGFzc05hbWUgPSAnd2NmLWFuaW0tZW52ZWxvcGUnOwogICAgICAgIGVudmVsb3BlLmlubmVySFRNTCA9CiAgICAgICAgICAgICc8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cmVjdCB4PSIzIiB5PSI1IiB3aWR0aD0iMTgiIGhlaWdodD0iMTQiIHJ4PSIyIi8+PHBvbHlsaW5lIHBvaW50cz0iMyA3IDEyIDEzIDIxIDciLz48L3N2Zz4nICsKICAgICAgICAgICAgJ3NlY3VyZS1lbnZlbG9wZS5jc2VudicgKwogICAgICAgICAgICAnPHNwYW4gY2xhc3M9IndjZi1hbmltLWVudmVsb3BlLXRhZyI+UVVBTlRVTS1TQUZFPC9zcGFuPic7CiAgICAgICAgCiAgICAgICAgZW52ZWxvcGUuc3R5bGUuYm90dG9tID0gJ2F1dG8nOwogICAgICAgIGVudmVsb3BlLnN0eWxlLnRvcCA9ICc1MCUnOwogICAgICAgIGVudmVsb3BlLnN0eWxlLnRyYW5zZm9ybSA9ICd0cmFuc2xhdGUoLTUwJSwgLTUwJSkgdHJhbnNsYXRlWSg0MHB4KSBzY2FsZSgwLjUpJzsKICAgICAgICBjYW52YXMuYXBwZW5kQ2hpbGQoZW52ZWxvcGUpOwogICAgICAgIGF3YWl0IGRlbGF5KDUwKTsKICAgICAgICBlbnZlbG9wZS5zdHlsZS50cmFuc2Zvcm0gPSAndHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDEpJzsKICAgICAgICBlbnZlbG9wZS5jbGFzc0xpc3QuYWRkKCd3Y2Ytc2hvdycpOwogICAgICAgIAogICAgICAgIHNldFN0ZXBTdGF0ZSg1LCAnZG9uZScpOwogICAgICAgIHZhciBzdGVwcyA9IGdldFN0ZXBzKCk7CiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzdGVwcy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICBzdGVwc1tpXS5jbGFzc0xpc3QucmVtb3ZlKCd3Y2Ytc3RlcC1hY3RpdmUnKTsKICAgICAgICAgICAgc3RlcHNbaV0uY2xhc3NMaXN0LmFkZCgnd2NmLXN0ZXAtZG9uZScpOwogICAgICAgIH0KICAgICAgICBzZXRTdGF0dXMoJ+KXjyBFbnZlbG9wZSByZWFkeScsICd3Y2YtZGVtby1zdGF0dXMtZG9uZScpOwogICAgICAgIAogICAgICAgIGF3YWl0IGRlbGF5KDQwMCk7CiAgICAgICAgc2hvd0NhcHRpb24oJ1JlYWR5IHRvIHNlbmQgdGhyb3VnaCBhbnkgY2hhbm5lbCcpOwogICAgICAgIAogICAgICAgIGlzQW5pbWF0aW5nID0gZmFsc2U7CiAgICAgICAgZW5jcnlwdEJ0bi5kaXNhYmxlZCA9IGZhbHNlOwogICAgICAgIGVuY3J5cHRCdG4uc3R5bGUub3BhY2l0eSA9ICcxJzsKICAgICAgICByZXNldEJ0bi5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJzsKICAgIH0KICAgIAogICAgZnVuY3Rpb24gcmVzZXREZW1vKCkgewogICAgICAgIGNsZWFyQ2FudmFzKCk7CiAgICAgICAgcmVzZXRTdGVwcygpOwogICAgICAgIHNldFN0YXR1cygn4pePIElkbGUnLCAnJyk7CiAgICAgICAgY2FudmFzLmFwcGVuZENoaWxkKGlkbGVFbCk7CiAgICAgICAgcmVzZXRCdG4uc3R5bGUuZGlzcGxheSA9ICdub25lJzsKICAgICAgICB0ZXh0QXJlYS52YWx1ZSA9ICcnOwogICAgICAgIHNlbGVjdGVkRmlsZSA9IG51bGw7CiAgICAgICAgZmlsZUlucHV0LnZhbHVlID0gJyc7CiAgICAgICAgcmVuZGVyRmlsZSgpOwogICAgICAgIHNob3dFcnJvcignJyk7CiAgICB9CiAgICAKICAgIGVuY3J5cHRCdG4uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbigpIHsKICAgICAgICBpZiAoaXNBbmltYXRpbmcpIHJldHVybjsKICAgICAgICB2YXIgdGV4dCA9IHRleHRBcmVhLnZhbHVlOwogICAgICAgIGlmICghdGV4dC50cmltKCkgJiYgIXNlbGVjdGVkRmlsZSkgewogICAgICAgICAgICBzaG93RXJyb3IoJ0FkZCBhIG1lc3NhZ2Ugb3IgYXR0YWNoIGEgZmlsZSB0byBlbmNyeXB0LicpOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgICAgIHNob3dFcnJvcignJyk7CiAgICAgICAgcnVuQW5pbWF0aW9uKHRleHQsIHNlbGVjdGVkRmlsZSk7CiAgICB9KTsKICAgIAogICAgcmVzZXRCdG4uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCByZXNldERlbW8pOwp9KSgpOw==\"><\/div>\n<script type=\"text\/javascript\">var el = document.getElementById(`wcfDemoScriptB64`);\nif (el) {\n  var code = atob(el.getAttribute(`data-b64`));\n  (new Function(code))();\n}<\/script>\n\n","protected":false},"excerpt":{"rendered":"<p>Back to CryptSecure CryptSecure v2.6.0 \u00b7 Interactive Demo Interactive Demo See Quantum-Safe Encryption in Action Drop a message and a file below, then watch CryptSecure build a quantum-safe envelope \u2014 layer by layer. This is exactly what happens inside the real app on your Windows device. No data leaves your browser \u00b7 No tracking \u00b7 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-785","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.opey.org\/opeyit\/index.php?rest_route=\/wp\/v2\/pages\/785","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.opey.org\/opeyit\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.opey.org\/opeyit\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.opey.org\/opeyit\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.opey.org\/opeyit\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=785"}],"version-history":[{"count":4,"href":"https:\/\/www.opey.org\/opeyit\/index.php?rest_route=\/wp\/v2\/pages\/785\/revisions"}],"predecessor-version":[{"id":791,"href":"https:\/\/www.opey.org\/opeyit\/index.php?rest_route=\/wp\/v2\/pages\/785\/revisions\/791"}],"wp:attachment":[{"href":"https:\/\/www.opey.org\/opeyit\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=785"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}