🛸 UAP Archive

← zurück zur Historie

Snapshot #12 Seite

Erfasst (UTC)2026-07-10 14:03 UTC
Quellehttps://www.war.gov/UFO/ ↗
Inhalts-Hasha30ea10f599e82e4aa690bdcdd2235393fcd6bf4311521428d6e40753695b0b5
Größe198.8 KB

Rohdatei herunterladen

HTML-Quelltext

Roher HTML-Snapshot der Seite zum Zeitpunkt der Erfassung. Wird bewusst als Quelltext angezeigt — gerendert wäre er kaputt (Stile/Skripte/Links zeigen auf war.gov). Für die Originaldarstellung die Rohdatei herunterladen.

<!DOCTYPE html>
<html  lang="en-US">
<head id="Head"><meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
<title>
	Presidential Unsealing and Reporting System for UAP Encounters | U.S. Department of War
</title><meta id="MetaDescription" name="description" content="The Department of War provides the military forces needed to deter war and ensure our nation&#39;s security." /><meta id="MetaKeywords" name="keywords" content="Department of War, DOW, Secretary, Deputy Secretary, Joint Chief, United States, Military, Government, Pentagon, Secretary of War, Deputy Secretary of War" /><meta id="MetaRobots" name="robots" content="INDEX, FOLLOW" /><link href="/Resources/Shared/stylesheets/dnndefault/7.0.0/default.css?cdv=2058" type="text/css" rel="stylesheet"/><link href="/Desktopmodules/SharedLibrary/Plugins/Bootstrap/css/bootstrap.min.css?cdv=2058" type="text/css" rel="stylesheet"/><link href="/Portals/_default/Skins/DGOV2/skin.css?cdv=2058" type="text/css" rel="stylesheet"/><link href="/Portals/_default/Containers/DGOV2/container.css?cdv=2058" type="text/css" rel="stylesheet"/><link href="/Portals/1/portal.css?cdv=2058" type="text/css" rel="stylesheet"/><link href="/DesktopModules/MVC/DVIDSLiveEvents2/resources/css/livebadge.css?cdv=2058" type="text/css" rel="stylesheet"/><link href="/Portals/_default/Skins/DGOV2/resources/css/dnn.css?cdv=2058" type="text/css" rel="stylesheet"/><link href="/Portals/1/Interactive/2026/UFO/aaro08.css?cdv=2058" type="text/css" rel="stylesheet"/><link href="/Desktopmodules/SharedLibrary/Plugins/SocialIcons/css/fa-social-icons.css?cdv=2058" type="text/css" rel="stylesheet"/><link href="/Desktopmodules/SharedLibrary/Plugins/Skin/SkipNav/css/skipnav.css?cdv=2058" type="text/css" rel="stylesheet"/><link href="/Desktopmodules/SharedLibrary/ValidatedPlugins/font-awesome6/css/all.min.css?cdv=2058" type="text/css" rel="stylesheet"/><link href="/Desktopmodules/SharedLibrary/ValidatedPlugins/font-awesome6/css/v4-shims.min.css?cdv=2058" type="text/css" rel="stylesheet"/><script src="/Resources/libraries/jQuery/03_07_01/jquery.js?cdv=2058" type="text/javascript"></script><script src="/Resources/libraries/jQuery-Migrate/03_04_01/jquery-migrate.js?cdv=2058" type="text/javascript"></script><script src="/Resources/libraries/jQuery-UI/01_13_03/jquery-ui.min.js?cdv=2058" type="text/javascript"></script><link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Inconsolataa:[email protected]&display=swap" rel="stylesheet"><link href="https://fonts.googleapis.com/css2?family=Orbitron:wght@400;600;800&display=swap" rel="stylesheet">


<!-- DataTables CSS --> <link rel="stylesheet" href="https://cdn.datatables.net/1.13.8/css/jquery.dataTables.min.css">
<script src="https://cdn.jsdelivr.net/npm/[email protected]/slick/slick.min.js"></script>
<script src="https://cdn.datatables.net/1.13.8/js/jquery.dataTables.min.js"></script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/slick/slick.css">



<meta property="og:title" content="Presidential Unsealing and Reporting System for UAP Encounters (PURSUE)"/>
<meta property="og:url" content="https://www.war.gov/UFO/"/>
<meta property="og:type"  content="website" />
<meta property="og:image" content="https://war.gov/Portals/1/Interactive/2026/UFO/Slideshow/DOW-UAP-PR46-Unresolved-UAP-Report-INDOPACOM-2024.jpg"/>
<meta property="og:site_name" content="U.S. Department of War"/>
<meta property="og:description" content="At the direction of President Donald J. Trump, the Department of War is overseeing a multiagency effort to expeditiously find, review, identify, declassify and publicly release unresolved Unidentified Anomalous Phenomena-related records and historical documents in the federal government’s possession.”/>
<!-- Twitter Card -->
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:site" content="https://www.war.gov/UFO/"/>
<meta name="twitter:creator" content="@DeptofWar" />
<meta name="twitter:title" content="Presidential Unsealing and Reporting System for UAP Encounters (PURSUE)"/>
<meta name="twitter:description" content="At the direction of President Donald J. Trump, the Department of War is overseeing a multiagency effort to expeditiously find, review, identify, declassify and publicly release unresolved Unidentified Anomalous Phenomena-related records and historical documents in the federal government’s possession." />
<meta name="twitter:image" content="https://war.gov/Portals/1/Interactive/2026/UFO/Slideshow/DOW-UAP-PR46-Unresolved-UAP-Report-INDOPACOM-2024.jpg" /><link rel='icon' href='/Portals/1/favicon.ico?ver=wSJzjXOlssZVvf5cay20vA%3d%3d' type='image/x-icon' /><meta name='host' content='DWIA Public Web' /><meta name='contact' content='[email protected]' /><script  src="/Desktopmodules/SharedLibrary/Plugins/GoogleAnalytics/Universal-Federated-Analytics-8.7.js?agency=DOD&subagency=DMA&sitetopic=dma.web&dclink=true&pga4=G-SB6KFHKWNW"  id="_fed_an_ua_tag" ></script><meta name="viewport" content="width=device-width,initial-scale=1" /></head>
<body id="Body">

    <form method="post" action="/UFO/" id="Form" enctype="multipart/form-data">
<div class="aspNetHidden">
<input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" />
<input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="" />
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="Hh5LceAtcOhkknn+ks5SwbPcL2YbyTKXUICI7trg6Ps0XGg9EqFZiT3kQshfWsLfOKBI6Rl0J2eGVo/slPyYOFJcWrGGGhzsZj/wagUiLTksjE+P31WgL0spMp7A0QH5Yu4/lr/ylaRp+wF9l7LFj3Q5+HXiw+3P8HlIcy+yBZMSEj3GG/2jKFi/bP4xjXK589soZ8HFj1DxlMw2BMt43KIjcMKPgiEwSmqP9mKXbNFZv9XJNj+cj50zCuZKfaZ8Qdiu8DOkdQ0ZgQqFj1A7yuNr6sb2kagP/LyFX5C3mZtHv6A1Iz/ju92FYRrCkz7wbZ3/80CFt7tm+JMccX6BaFwv/R0ehpxoZo6Jm+ELQ65kayJEw+gG72K/pS2psNGLaFTkNuiAGU26jETanvWND4+LOiGm7xwVCSYknGTuBrnwMGSislXJljYjHO5sSpbcU0Xk9v4tFPgOfPQ+KAS4C1NYIVjt4C0vcGJvAdYtKDGhNtoGV8wBaVPJAa1DRk8yAAue2e4WQ9p6zqTb6Bssy7dQ58e1uMRZ9QoUrvkgwzzk6KJJvjRodPS6KzgW3wAfgoZHaCoZ4n6lihferj4DoBAFbEp1igSsZpGpu3GX0yWmnSKDWQAUp6P8Z1VZyHrzSGkdOwO0z/nvsbbsBw3wW0ua9NrzhrvoBVdkFMHD2TKeir5m7SR5uz+GZNFdPLub/frxwqVkGz6Nswu8z0Yxr/zP77d5LLBfRymXmEOuDKNUYpLZgKLLr1QOWJPVP4JA1tyNH17WJj1VkkMvnsTSWhwsjmWYsi/NC1nt2P78LD2N2uqeR2sIEUCPEO4xVo7PUOK/NmwBn0UaZy7qXZDgeZwH5LdS/8KmHsl1JAYaDrSQOu+ydOPTyP5sJIY0Q3zkMazplNZi9JHkiJ06NzpllTUuDpV+4KJwF3R4jFI+CsoMRcgxamgD5Tn8DFn8hJdoLBxqQY+D+skvwRMZXqe/V8beMWF8sSE6bl1pBDr3uvArBD2AEMvjFUKiNr9APS+pNKDDMs6J8TT7/S+1VgtZgrE1f07sw/IinZeUQLct9wW++q0qY5dHdNzQf8L8pUR/RijDewUq6egb+Orwtr0JuB2bEecTaY9Vu8NpQGt2NJCUi14tIIKM6/bMU7aT0g1AfNfS6aO8oK2sqQbZSwhErspyt1Wgboa/f0Fd0cxIoS5xgGNHFQ5hHcL5Q1vhLSkgfgt6dNXocdjnEDBahLoIp9mDwWcN8O+O1a66/wvWSWX/WKytu1v7nNYqWbCkaT2gB1uNSO8wyCs42tAyZhFPgqEDMhEn1lrMNYhgVnRoim8kQVdApmL65nlXd1/QeuW662l/l9ofCahqVhCfLwmitNMm9X8LAfi8C4IwNHDe8Tx7rJT7AZLjOmiV+2F+KL/VmeJsRAMxceVO9TJt1UF1O+MQN1Eml0ec08Xjbm8XUIpwij+nurNBJ6JRQhzZQUiUhuMOEmcG0ch8NXccl4Jepb1EKb/ntuyOe+9tWLZANPpwuE7/+UFyFxqDDJr9TsTEWbMa1+x3727cT+AsqohdCETB9N22ptwQqgH/RzERMwKjp0GRU69lRHINWFxRAbpBqvITxrp7jurFJQvh0cZH8ks47YB/9EzpHzTSCEj2Ydc7H6Ya347hrNcqa7J7jg+blOuldHC6FWacgw/EK2P2T5+kwL4vZlXWF7/K773Z3Tdf0ZwOaJeLA4mDgV6tXMmbMFAorzIIHcJWZMD7Q/gTdfFcfsgZEWKPzCWRnYC7Ynf1EEQ7Uw+h8xM1t2lQnkw6jfbAt7D+RO03BMY273NKs7WjXweUU7CBjqajhZ4/TaO3FB1ChBYn28rDHoJCXKY9kvmAV7DAqyxGu4xVtmpfM7RMhj0clNppbiKHpSFOymGqIABQ/lcMcM0lhX0oekRWqN+nPHcjlza0dJb467rBUt9CfxDJklhuNCrJTr3AVpG5DSSwWdv6dYQnhiqzriwHThmRKkf0j6ykoBqo3dDcB42VI+oWs/ZMxBmxi8VelI2TsdqmLkyuxCgSgd9uhz1bjJLtYHf/7U92hWCEeoKkM+okm8ZAON2USy336smF39icFB924GcujLfbSkzYdRWfP5aGDggSutvqsia78uwzaXWz9cx2bHVIvk+ZLRQhuYcb65o+HOZuruD/rNnC433PYYhGBRIBOXKnfTlccRZfB5aUwTFN9D3ZLS+VqaDY2a/ohKumszNFpmyk+Cb//xEak5fPPpnfQKUDepoB1GaaQjNLaSQvDb4vcruU5Imkt9e9O9EiBLgw3zHrOb7u038yrjgyM2TaBkl/Y50kuPh15yeDSSZNcLYSwDyoTvciPimoZru9sAH5ywvCVzEyxdUjwZszyKV4mb2HjYOqetWvE6VCtnRSsd1i23T331MynYPxRDGxmQkYONEn1IPoje1g8nEw/yBnsg2Be+8ojUxbq8dhJkA2bno5uabE6ANXmatwvQr7o82HPbN4Lf9gYdgl3+Tk7dMeSleHvS22EgYtsEU35j0ZlmDTW3pXuFeL6pFjO3Qt0NhlfdEQiXulMElnbLR+f5CC+tyn268i2KyVBc1btZXEpkIm+VRate/0Nbb1jxV4WdlEh9DiAZkrM8SiqTcHrkaQl00jMMPkLryhft7RW3zu2cO9tr0LILRF4/c7gpNaBf5fLgxEF0BRsFnVmO4fcKC1Hzog2CQvkDIGex+FY3419G7dwqAHvOi7iF4MBjyHN9Vtu3E84hiul70Vw2jGK/kTRZE/GTYGhk60JqP+nW+wAXwJcEf+SjxrMl/MCEBGtBJJsndwFFvYFTI/WUUsnLMSc76vP23BV8j3VHtlr6P+vtOlP9M/wtpeV1zZfTvgKpl7PtTWMyUdy0wnxe29qZwMA4Y3kzf15RzboIMIK3Bt0eBqT8EN91TyNfiIWvUAz9c+s2QixK9yiauhwVhAc5knHD7Po9HqSejb+XJV6dd8qHGgf36asyTQenNU0VO8BvSnkTfHBJev9YBto+j8P0yWSyxf2nKq1N++1v1OL+nv3jMJYCeGXocQ8EJzWFSyHpRoO6AUZA/AcGylP8mNrGGC+zL4VwIpWGMOQZDzudfx9djRB7IJX8ne9XSS9ee7Hnw0+gITZa2pM4Zz0NhSlM5q83OpeYiLPrGAYI9RQKaeH3AjVzGFOzDmD2fsX2FJ3276K28oKltMp+zcipcPxodblYzmegRRhE8LwSui35+R6SWWdJTLwYd4wVHavdbqxNtZocmjGzLPEzvvJWrwShwZELwjWey+Na/4CtMWlwbMYtB3NHSLdhzMK9z6Y7uSiRuhMTBMFiU7vCpo0KNi4/Ym42H69WWklN7utVffKyHpdO4eOfL/tfNhmmGlrVlfgU/W0qC7FYxHKYn7Vlsg37ligfeCrs3s/RK1Glqa+5NW9FpBP4MNAYYIMLR1XvhJMLBKFnzfcRbXsCQupkJudmaRX7eZCZDRF8Q8k7F8JUA4Ru7+xy5ploRXB5pPytTpD1RSpS26W61F5v+C/qMKY2NIu7Jg45MzCKSFFdKMI/gLxf7dh/MAr9PEX1JRmRCa+HT7fQFeCz3QDNE0i4k+YikTYiBxcyDkrAX+eDqx+e4OqtIMeqXd2UoAhCVSyukynQT96OoBO//SSm/BhXz+mx1NZ5Qi4QYThsnaUXgR86A3txTAy31m9LJQnP3pVGIKfDiKHHYPc5k/XtnjaJSMIE7tejsMxo3GGrsilVIP9l5v4C+AFPQqLYoy/0OyyRI0nJgzB/G0udp31LTYrvWVuxIWJ2C9Y+WoueXPhE+9QhEOfcW34FFiJc8g1/VDldiafSHALdtJuNbdrhOwWJ+QNSTSpX0rdpSQbvcDSa87H6sjO6rJHzoufhnkq1mckc5iLovMlvRTX5+HtuwnFb87plUrmMbm5qxoQa/NwwRHFb1uD5wJnwzZWj4/cxPL2pvh0LjZevd45Wk6h62gC9JMnpfQtmCABUGRSlcEwztO7CrGDDct/bhIXrdZ6udypajSHcgsBaEySRQJfWm4ELrKDUW4Ouew+ebOxYXkRxbbUmLO8qx+ZmcqPxsJpv/LLnPeLJYgJACr+sOuQgOQ5DJFHxJ7hqzRWaxX/Bffqnv8v4iS7TCO1rXB9I+gepyOseMtk2b3Mn5rmFrMsH0KQXTT8czdU2mzmKqrcHoQVZkWMUItjXN0J1zulPpLJoK1AlUbiexUnVoIEYzMMP7qjxFhr+qTY5jsbmzS/kKoWkNcOOCA2htwQvr2joyT5dNsNgFTe9TCVP6fZJYldzRfMlopQD4efTrLmTZm4843SIaB9OrmL47/3dOpj20TieJYZ6MhBCTkllPYB7XFp7YEHSVmOfWqDNvDQ6HogKuxC4DAdjaYA4WxkstwwQ/eTJqdV8YcDpf19gaGoL2m3+9ItimxoxMITznX18cnRo7HxymQ+xP34Uzyod1Rrwz2NmF+1y2gs6h00639f11oPMfWvBHlsYNZAnd/BCQELe96vOe+mOm2yNqU6XmT9y6GKSd0mmD/EZJixeIJRW4FNy+jsJfio9a4F9tiFXZxkQO7fYj31P/TA1qZXULCd2/sx6caG2V3RvVJuhoWbgCiKfjgXF5+gZOK3xmkUnBjwLyu9bcRNTzGz0ACLIHx+JdXaqMfLGOg2s8L5yRdPQlNoWTOHztPC5M36N3QOgwWLjl15Dd91gMnnUGLKKx6FfLXwQ1MsK2qLbHH4lEVodUbzk+Vj/F6MjO0Y2xf+b4wS/i8JqOptser0G3MW/jMOdX8xpkua5MNu5BEieTXaTl0HxYOBPypykJmjtP1MCBib2u2VZoFyCktPMLt01fPQLCg3FSu1bJW4lsXDW3HChLxUHHRhlzDRPcBkwB6b5iH+S5CJcIVpvGa61f5MLGC8nW6s6d2mxtEBAzBOQca9iWhOMqzgiAds+mNu5wr5SpynLEasl0gI6HRBpEVHMBRHwGEG+/Cqyi70YRHeKH/yj8lSGrV6CTCcK55tzWb9dkeMRIDI0LSEWx8c6HsQzuBGsbsS3HPetshwqGo7TQHuaQoFC57B+KtUyXByV4/0crQb0DTQ3JXU6k6NvCQGZqSNi/Nt0lYwgC1zRxUMapPhO8wCVbglK2BCLkbDlXRSkQh53O8eYPCy0Y7dq74HFA37H0QYY2xKOpbE5oFDqdVIzCjc3NO/z5puHxj2gDhL6fwHPNOK6usZiWilUYSvp9DoTVj7me/I7/JpiToCnvaBdBvhwrxJWBUUSAkvapqWNNDMejwkznAvyr0rAl7/n4Rz/gjjJIQ0bq9NP06bdTj55qMDopoEchA1dIKsAG2Nh6m4kYsZCgaQKNNcSvuskh3IrkJH0DBt8Kz/209s2VUzmp7bXWnUVWpTNhlqidEzJ81nc/FaOMn76dZ031KF3I1d46C5eCC8n5EQvgPGUBkssuDdkODUOlvh+cemdfx3rRp2d6B+bwOluIkhW8uoxBIg6Qs1tm7gfwwxR/a34bGQo35qBonOY+qlYL2+Pcm+sIyz9HEVLP5a5vbjPJkeNI8W53fEwwQoSbQekjiw4p4uRiQP5C0nhQ+eY/mvkfXpf9DRi4ySapf2TjNXO0QQtbYzdhjb8miSwTumjALcnevcFtwtz0xPtfEtEpXRmkwWe26ntu2taw8YzE78nCsGhCAD7qX3ofBse4pgCXS0SoDVIOXQ4hyk2jGoO1MNImSpkbwn0O4na3DPd3cNFLsxJZRiWXPNAZ1U5TLQ1mle7ZdhR7SSOgAO1/yygowq4+WswoIaEEm1MRgzQBsetbnePuIo6DzaQY1Dez97HXopRZrriXHaqPUyL3H7Ddfaixobav5cNlcGE+YoC+igLJ5cjQictCQxkO8RjjBD6GUj37jlWHNAmF5MrQpm/s3jNAPL0QK11IlnHkQVpPQzB4uwktuzJWn8IBO6wSFVum9LEG49Avb9prt59R52KmsoQcDVqf/DojGqJt7QFQdZSlu0DKzJiWZuZ7uCpiOEVj2Ucgh6N7wsSVTIC1VIWC2DuGj/6mZFLkoHTeOXoTWM4iM8qb16E1jBv+bincpQlO2CBqJfJbh5OF/rt9gc7p64P9Xa20cL1FCiPWu5ON1zm1pUiFomzPoJ3FdbM6R/c87b6heKjb9gcqg81gFTuhdOf356GjM9WuJROpWmKvMBpAtk7W50PUcGlKRgBHB1Oa+anhfDmWjEYYGfbTd/xPGmXGgACHxUfyOuYnA4uyCVKHsOycaZxG5XPLjt/VsXtXLqZvwVIoiHOvX7+2e0BOahZWzn2RaN0EpXP6Z8n8IE4G1XgvezE9kR/BCHVs2Chy7/ZutgvlM9dmyFdLNLH7f+xrHmpah5oeH/LirRvmK+Sa6xXtld78jI+oHxqAfJ7STekhzx+WXG3tjovT8NaR5tt+Bldog/n5YZchQ+z9EDAzGXf+10zf9S5rT11hB8ZrRGVKmDbEm62OAVxVVSdiplKTX35Nk/yDIaqkVgQf4NmSJBqoy5XE182QAKP6Pj2nSy1CBmajvQpxFwQTof2tXdPooYjDo4LTtEvKDL8B5bQTSdt9hWiUoa0PDf/xT6stjob263nMzP8H91ZqKx+h8evbL3IED7Z0mFbknW1QcbC/6doC3qyuwo9YJU0gVmdBEvL37pUe6DTLO7fDlmB8eIugplhN3eTWuh3XJC7MYi+th7paWk2CV0V8fLG5MqJNINXHxwn5Oae6Obaqrz4ienznLnrWJhLu9qR2pH8Hj69uQuiD8wG7nj+UKoDAi09Z7r7YhhW/kVDiX/2UW/PRZgMhHdpuCgw9qZjGnepsrFz+v5QvpmM6TcpASnQI93N3T4ZwjOmOtuW1W5OcE9nQP8Rmk351Hgre/4RcmUTLr/+pKkhAMj30MaeCggg0fkzi9sQLan7cy85UhUBX844ATX3z8WdG5qFeaEg9Ib5N9CJWOfLSeSHF5QoLNaQduhgnmTvE+8zFhVIBmmbGsH/DLmLu8PGa/WnR+ZbZ0jyGtaBrI7m09Atbnp92O5VZpGv1lH27yXS1ZXO81KBimxrAXSFCKpVeIO6haKFbbY8XQS+KLl7XVEblRVT9YLT6Pi+meDMstvtUgpukathekepexhyEzL3FunSHglnUII917U15ttcg8kLXUnT12FsChKuOvl0ZTjWi/1KAsPyjE96EqjhQbvOfUY3AhjJJLzTDRG84DGEzUt5PCe8kUny/5KfcYlWjDeNxDHfQZUpozIWvLibna7T0UZveywaEj1FyPl5CmH+UaQeCqwa/vLDc1yDMD9InIPylGhRDEFnvp8elUxp1WsQnwB/rlNZN0Lg9oy82s8ceGNaeE1VVD4Z6g1hL5jbBZYQJ/oO90lkBF5ZTq5y1eQPZf0BIT0WaU3xbnSCr91BUr+FQTtcz1BKkWJSEv7NEAvCMm9oMT9J6lhpyZxZ+MtT4uOka9mgPRce+7XUAOZZngJ18QNOM46/vrwuDOO/AznDPjJ2NWJUZ0w3DrXQrv/aYLrI9ZHorrvv/30bw3N1uoeJ9vPbtzdSCDBeQCWWlO5z9ba3rGkyMq4tAb+zsCg7DY9SQ+9dVLaBVdvLeEGrBEOgGcin20HHVJl0GzrgWjYAmULV7kV9BCgI09JIc8ZPccvtVfTsmMMEFaMMpwJiiT+whHWpBfDwcKuiXKoLGmPn02+03ElXYRE4WfuQoVo0FT7MaauAhuBtjSn4X8vsfBklOTIFHD+E474iJhwAPOakcYlREne4V4JE2CrDmslwQIeattNIRANh2kwxF+lV5fCrJYtZ03QVwuq+NwLom+Z/JoSSfrkQxISILLqUIoCZvh7qD6J8+cBETGtHa22fIlPugBWNy0uCtpxtSK1rV4H+0+mL0oXBObMY6+Wv/GgTUDhQ8Dpx0bLHGI8a91NUeSuN1gsq2nEHxbOno6cp2Jzqi8kETsU/4DBdZWShh5B68Mg8/uxWnJ6ShTP0YyAcFj65LHs9qsI7nAjJhADZxOKITkE4gXDOV7WtP76BUzBCLPT9lJBMh3+Zi4ulAjsai/9vutVGoTpIRO1ZPD7f1xzfEGNSSZTZuh53X3pjcXkPSHnWr9/C+7eWWzFp9ngi2czEBhj5MT01gjOkSgO+3vh6krEeVOeGMw7LUvZaNiphJ20M3BM6iGIyf+c4GUrmqsKSGn3VueWWXqK1CpqsVobVM65pI282mm1AassUKj8xOUNWO0RQcj52DYSGHVbPFso0PmKY5pDRdldk/vehOKYBUZwsaS+ryKFPl93MfK0x6/a5gS9jUT6e1Mby9NSSs2ILjLMOBplscfQfdq/2Fzne7w5NCm1QOOl8bfwXI6umXCNgnUykKAIiVT/1dbu7rP6cmpJAi5JqP9rxDRSxdap/eCWlqtNngFTsadWi6tLsrei8H8EgfgCT5b6eA4wWdvXvGWUIwH67XV5jx61FLfx5EVekunRdd1IML2P5dj22vXu+KfQmfNjJt92o63gNzZUhjELURu8YDuQ6XMkNY2+bLIqzk9GUFN7FT+ymDr5NPU6Dkf8E78pJG3j+zhng5ZqqgdliF2qsSb4a6QMDx7vc3TOG595nNk9Z5w1LVgxKo31iJeD/r/1kz/sKaatIqMnZmcdE6dGlBW8MsOJtlM7Ji9EAVyCRq6foXFnuUdHHkNifKmgB7CBNZ3tYNUu8uhkQyEl0K7vw7shRIFz5yuc0f0ldMTnn6DPQGlR9oXf3XXYkFP+CvuzuQ+7OMemPnQGOaYT2nyhbwSdVDmP34FrBAPAecLICIhPDem2U4pKdJgWe6gYXcLiPVcXdo1q4n/7Y4v7MivngJ5F8uO7aE4NGW+/NbGnpigU6qzOre7k5YoNAy81UO9dnp4QBLRmzPBmZH2QNgpUfaLsLsGY5f4nDbmVziOlFAOneW7lurAygc2YhKgzsaS8QGlg8lBBqQ88CAEUxiwk5UFyQ4j07LWrVq8EW/6tn2cROCu5TKHfZlsiJnOgVy8Kqjy0MTSuGvK6UPpWzsW9FDb2S8bJf5aE8WQS7/nbEe193zVSeOWQ9+baxlGqohFf8yLhB57tvT9DSlGhjVGvS36kOVpc/h4c2NEG3mN3+N8pj1rwPrDh7thBiL+8xfI+3z/Tx5SeET7ZKy89X0ubIb7ceOPp7DoT3V0aCFSmyAME4H6rVOS+m3axAY/38ZVQ5Bde5YczcmYykXp53crDy/Wl5uULdh0eTAXSCzYOiHVKrMQ5e5PJDC6XW70FSEpDjIuN5In+Hr6bqkXob9v++5BkU4zKFZoYGwFw94LBMAVVkjmFL3Vx+k4LHb890hsWcCTWQmYulMGw8f0mLxpuiMuzKDm5/5UYbvtqYA+lkk5poZbg97gSoLILc8nO1C6A6eER5iigMmXqeznRxhmU4p/n2XtDNTlR3NTv1TIljGW5vDFdgXX1stkL/UODXyKzF87Nhnww0+8wstxploPdi7J2dvj8bWQqIQPFr1GRSdUoBg+iT28HkpR5w8AaftG5CdJXVb3mEZNX9QhqfjAxGi66lmeKQbQyHeiPJG1hA9L7e7sMuTzFGdS7P7ek2Mu3oUXVzKApV6RBcNzt6hjt5eE1KzPWnfg3IGQDPX4g13g81HhB5VNfWVgyOXqzekFkkChrKdN22ZGh7c/ajGTxOr3aNdiaf2c8R/l5HG8DPQ8YEsxCHRLr3hFsuVHp200A5lKuVyTSlC2BPdFsquMWdU34pU8//VNlzj58NHTD5XMQCwlGHulTI+Ww6e/AMehqj5KJZ/S9kGm+l8jFXkPM857zE54lxYNL7Q6rBQ7YmF00ZAlWnj/T1Eiw06Ag8CjGe9HQdNdtfjgKyBx2vdjRW7z1s/ySL7OlkyunIdZ18dLKttt/2fT6I12tKOwVLPJQ1PRIzMvPVuz/yqLaKNVtYfzZUtee2lSSHXF8ZKYwbxKhwYcdJ9DRlkjrpqHIX1suPCvl2UnUAPYVVSU3aHSz0dONDRabo63qmFqrF9JZsQevuMOmuHZTB473Oyu0eaj/5l17Uc0FClTSQ0NDzjFUD5RMMT8/CcNBosRNGucLN15OPh6rqnbFNOR8Ps5RTWqD5QLAu7bgfhtyvJeJ4zj2oIcMXxIeGocMuBbzsBEREmnbzbbORxWneQuDzu1p0altLZNhfWBS7/ZsA==" />
</div>

<script type="text/javascript">
//<![CDATA[
var theForm = document.forms['Form'];
if (!theForm) {
    theForm = document.Form;
}
function __doPostBack(eventTarget, eventArgument) {
    if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
        theForm.__EVENTTARGET.value = eventTarget;
        theForm.__EVENTARGUMENT.value = eventArgument;
        theForm.submit();
    }
}
//]]>
</script>


<script src="/WebResource.axd?d=pynGkmcFUV16vn23mRKJ3YfxgZO6Vg-qfn4DLZzvdN4FsDO3JF6o8Ai9U2w1&amp;t=638901627720898773" type="text/javascript"></script>


<script src="/ScriptResource.axd?d=NJmAwtEo3IqOv4sUh-Rig0r8ribOsOru6PRUuOPeOUTxaLr0LkqwjUZ1KfN2pxsTzXrhnEn2qPqMmFHAgZnpJORcEUNLaSpc226qJmze-FYKMecKHwPV-k73fvQH1Ku4KKXAUA2&amp;t=32e5dfca" type="text/javascript"></script>
<script src="/ScriptResource.axd?d=dwY9oWetJoJ4ZjA-1jPcEhP7ER5pj7vUnbl87xIrp5KgCIH7OinCkP3cK37LGan3ayBW32yRZSEgGl2tgZv50n3b6-V5-8OCkx2VKFRvNoTMy9OkcSdmsXHaJpvqsXD5HuMXQgmzxnfjN1aI0&amp;t=32e5dfca" type="text/javascript"></script>
<div class="aspNetHidden">

	<input type="hidden" name="__VIEWSTATEGENERATOR" id="__VIEWSTATEGENERATOR" value="CA0B0334" />
	<input type="hidden" name="__VIEWSTATEENCRYPTED" id="__VIEWSTATEENCRYPTED" value="" />
	<input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="kVL0hRPKoBOsXhFhGweYEwskTfIOvem+mJDjKl/0Ntl1dHiswPe9Ex//r4TXeQqUyiKBbf4gW66iugN8KbloMUfyGgiUQd05nv/zXIC1j7I0fDs2" />
</div><script src="/js/dnn.modalpopup.js?cdv=2058" type="text/javascript"></script><script src="/Portals/_default/Skins/DGOV2/resources/js/skin.js?cdv=2058" type="text/javascript"></script><script src="/Portals/_default/Skins/DGOV2/resources/js/menu.js?cdv=2058" type="text/javascript"></script><script src="/js/dnncore.js?cdv=2058" type="text/javascript"></script><script src="/Desktopmodules/SharedLibrary/Plugins/Mobile-Detect/mobile-detect.min.js?cdv=2058" type="text/javascript"></script><script src="/Desktopmodules/SharedLibrary/ValidatedPlugins/moment/moment.js?cdv=2058" type="text/javascript"></script><script src="/Desktopmodules/SharedLibrary/ValidatedPlugins/vue/vue.min.js?cdv=2058" type="text/javascript"></script><script src="/Desktopmodules/SharedLibrary/ValidatedPlugins/vue-resource/vue-resource.min.js?cdv=2058" type="text/javascript"></script><script src="/Desktopmodules/SharedLibrary/Plugins/Skin/js/common.js?cdv=2058" type="text/javascript"></script><script src="/DesktopModules/MVC/DVIDSLiveEvents2/Resources/js/dvids-dle-api.js?cdv=2058" type="text/javascript"></script>
<script type="text/javascript">
//<![CDATA[
Sys.WebForms.PageRequestManager._initialize('ScriptManager', 'Form', [], [], [], 3600, '');
//]]>
</script>

        
        
        

<!--CDF(Javascript|/Portals/_default/Skins/DGOV2/resources/js/skin.js?cdv=2058|DnnBodyProvider|100)-->
<!--CDF(Javascript|/Portals/_default/Skins/DGOV2/resources/js/menu.js?cdv=2058|DnnBodyProvider|100)-->


<script type="text/javascript">
$('#personaBar-iframe').load(function() {$('#personaBar-iframe').contents().find("head").append($("<style type='text/css'>.personabar .personabarLogo {}</style>")); });
</script>

<script type="text/javascript">

jQuery(document).ready(function() {
initializeSkin();
});

</script>

<script type="text/javascript">
var skinvars = {"SiteName":"U.S. Department of War","SiteShortName":"Defense.gov","SiteSubTitle":"","aid":"defensegov","IsSecureConnection":true,"IsBackEnd":false,"DisableShrink":false,"IsAuthenticated":false,"SearchDomain":"search.defense.gov","SiteUrl":"https://www.war.gov/","LastLogin":null,"IsLastLoginFail":false,"IncludePiwik":false,"PiwikSiteID":-1,"SocialLinks":{"Facebook":{"Url":"","Window":"","Relationship":null},"Twitter":{"Url":"","Window":"","Relationship":null},"YouTube":{"Url":"","Window":"","Relationship":null},"Flickr":{"Url":"","Window":"","Relationship":null},"Pintrest":{"Url":"","Window":"","Relationship":null},"Instagram":{"Url":"","Window":"","Relationship":null},"Blog":{"Url":"","Window":"","Relationship":null},"RSS":{"Url":"","Window":"","Relationship":null},"Podcast":{"Url":"","Window":"","Relationship":null},"Email":{"Url":"","Window":"","Relationship":null},"LinkedIn":{"Url":"","Window":"","Relationship":null},"Snapchat":{"Url":"","Window":"","Relationship":null}},"SiteLinks":null,"LogoffTimeout":10500000,"SiteAltLogoText":"Logo for U.S. Department of War"};
</script>
<script type="application/ld+json">{"@context":"http://schema.org","@type":"Organization","logo":"https://www.war.gov/Portals/1/Images/DOD-Icon-Header.png?ver=5sAfFl2--9znca0j3SrX_g%3d%3d","name":"U.S. Department of War","url":"https://www.war.gov/","sameAs":[]}</script>



<div id="skip-link-holder"><a id="skip-link" href="#skip-target">Skip to main content (Press Enter).</a></div>


<header class="top hover new-nav " id="header-main">

    
<div class="header_banner_container">
    <div class="header_banner_inner">
        <div class="header_banner_flag">
            An official website of the United States Government&nbsp;<div class="header_banner_accordion" tabindex="0">
                <u>Here's how you know</u><i class="fa fa-chevron-down expand-more-container"></i>
            </div>
        </div>
        <div class="header_banner_panel" style="">
            <div class="header_banner_panel_item">
                <span class="header_banner_dotgov"></span>
                <div class="header_banner_content">
                    <p><strong>Official websites use .gov</strong></p>
                    A&nbsp;<strong>.gov</strong> website belongs to an official 
                    government organization in the United States.
                </div>
            </div>
            <div class="header_banner_panel_item https">
                <span class="header_banner_https"></span>
                <div class="header_banner_content">
                    <p><strong>Secure .gov websites use HTTPS</strong></p>
                    <div>
                        A <strong>lock (<span class="header_banner_icon_lock">
                            <svg xmlns="http://www.w3.org/2000/svg" width="52" height="64" viewBox="0 0 52 64">
                                <title>lock</title>
                                <path fill="#FFF" fill-rule="evenodd" d="M26 0c10.493 0 19 8.507 19 19v9h3a4 4 0 0 1 4 4v28a4 4 0 0 1-4 4H4a4 4 0 0 1-4-4V32a4 4 0 0 1 4-4h3v-9C7 8.507 15.507 0 26 0zm0 8c-5.979 0-10.843 4.77-10.996 10.712L15 19v9h22v-9c0-6.075-4.925-11-11-11z" />
                            </svg>
                        </span>)</strong> or 
                    <strong>https://</strong> means you’ve safely connected to the .gov website. 
                    Share sensitive information only on official, secure websites.
                    </div>
                </div>
            </div>

        </div>
    </div>
</div>


    <div class="header-utility-nav">
        <div class="inner">
            <ul class="social-nav"><li class="social-item"><a href="https://twitter.com/DeptofWar" target="_blank" rel="noopener noreferrer" aria-label="X opens in a new window" title="X"><span class="social-icon fa-brands fa-x-twitter social-link-4"></span></a></li><li class="social-item"><a href="https://www.facebook.com/DepartmentofWar" target="_blank" rel="noopener noreferrer" aria-label="Facebook opens in a new window" title="Facebook"><span class="social-icon fa-brands fa-facebook-f social-link-1"></span></a></li><li class="social-item"><a href="https://www.instagram.com/deptofwar" target="_blank" rel="noopener noreferrer" aria-label="Instagram opens in a new window" title="Instagram"><span class="social-icon fa fa-instagram social-link-3"></span></a></li><li class="social-item"><a href="http://www.linkedin.com/company/deptofwar" target="_blank" rel="noopener noreferrer" aria-label="LinkedIn opens in a new window" title="LinkedIn"><span class="social-icon fa-brands fa-linkedin-in social-link-50"></span></a></li><li class="social-item"><a href="https://www.youtube.com/@deptofwar" target="_blank" rel="noopener noreferrer" aria-label="YouTube opens in a new window" title="YouTube"><span class="social-icon fa-brands fa-youtube social-link-2"></span></a></li></ul>


        </div>
    </div>
    <div class="header-main-nav-wrapper">
        <div class="header-inner">
            
            
            <div class="logo-wrapper">
                <a class="logo" href="https://www.war.gov/" target="" aria-label="U.S. Department of War Homepage">
                    
                    <img src="/Portals/1/Images/DOD-Icon-Header.png?ver=5sAfFl2--9znca0j3SrX_g%3d%3d" alt="Logo for U.S. Department of War" title="U.S. Department of War" />
                    
                    <span>U.S. Department <span>of</span> War</span>
                </a>
            </div>
            <!--CDF(Css|/DesktopModules/MVC/DVIDSLiveEvents2/resources/css/livebadge.css?cdv=2058|DnnPageHeaderProvider|100)-->
    

<div v-cloak id="dle-live-badge-6bce6a3b-43d5-4614-8a38-a62386a10723" 
     v-on:click="handleBadgeClick()"
     :class="{'dle-live-badge': true,'live-now': videos.liveNow.length > 0, 'open': ddState === 1, 'opening': ddState === 2}"
     v-if="videos.all.length > 0">
    <div id="dle-live-badge-6bce6a3b-43d5-4614-8a38-a62386a10723-tab-before" tabindex="0" v-on:keydown="handleBadgeKeyDown" v-on:keyup="handleBadgeKeyUp"></div>
    <div class="dle-live-badge-container"
         
         v-on:mouseenter="setLiveBadgeWidth()">
        <div class="dle-live-badge-button">
            <div class="dle-pulsating-circle" v-if="videos.liveNow.length > 0"></div>
            <div class="dle-live-badge-title">{{buttonLabel}}</div>
        </div>
        <div class="lead-in-event" >
            <div v-if="videos.all.length > 0">
                <div class="event-title">
                    <div class="event-title-text" style="opacity: 0; white-space: nowrap">{{videos.all[0].title}}</div>
                </div>
            </div>
        </div>
    </div>
    <div class="dle-live-badge-dd-arrow"></div>
   
    <div class="dle-live-badge-dropdown"
         v-bind:style="dropdownStyles"
  >
        <div v-if="videos.liveNow.length > 0" class="event-list">
            <div v-if="videos.liveToday.length > 0 || videos.liveLater.length > 0" class="event-list-heading">Live Now</div>
            <div class="drop-item"
                 v-for="(item, index) in videos.liveNow">
                <a :href="item.url" class="event-title">
                    <span class="event-title-text">{{item.title}}</span>
                </a>
            </div>
        </div>
        <div v-if="videos.liveToday.length > 0 || videos.liveLater.length > 0" class="event-list">
            <div v-if="videos.liveNow.length > 0" class="event-list-heading">Upcoming</div>
            <div class="drop-item"
                 v-for="(item, index) in videos.liveToday">
                <a :href="item.url" class="event-title">
                    <span class="time">{{item.formattedStartDate}}</span>
                    <span class="event-title-text">{{item.title}}</span>
                </a>
            </div>
            <div class="drop-item"
                 v-for="(item, index) in videos.liveLater">
                <a :href="item.url" class="event-title">
                    <span class="time">{{item.formattedStartDate}}</span><br />
                    <span class="event-title-text">{{item.title}}</span>
                </a>
            </div>
        </div>
    </div>
    <div id="dle-live-badge-6bce6a3b-43d5-4614-8a38-a62386a10723-tab-after" tabindex="0" v-on:keydown="handleBadgeKeyDown" v-on:keyup="handleBadgeKeyUp"></div>
</div>


    <script>
        (async () => {
            const liveBadgeConfig = {"data":{"dvidsParams":{"eventFilterType":"man","toggleEventListMaxResults":true,"toggleUpcomingEventMaxResultView":true,"toggleLiveTodayEventMaxResultView":false,"toggleEventListToDateRange":false,"toggleEventHashtags":true,"toggleIncludeExternals":false,"toggleEventSort":true,"eventListMaxResults":"50","upcomingEventMaxResultView":"5","liveTodayEventMaxResultView":"3","eventListToDays":7,"includeExternals":false,"eventHashtags":"dgovlive","eventSort":"asc","autoplay":true,"manualSelectedEvents":"","showLiveNowList":true,"showLiveTodayList":true,"showUpcomingEventsList":true,"apiKey":"key-68bb60d16b35e","dvidsURL":"https://api.dvidshub.net/","dvidsStagingURL":null,"showTestVid":false,"showPanelWhenEmpty":false,"toDate":"2026-08-29T23:59:59.0000000-04:00","fromDate":"2026-07-10T07:53:37.3927562-04:00"},"dleDNNSettings":{"templateLayout":"Left","templateStyle":"DGOV","moduleMode":"Player","moduleTitle":"LIVE EVENTS","liveNowListTitle":"LIVE TODAY","liveNowDefaultText":"There are currently no events scheduled for today.","liveTodayListTitle":"LIVE TODAY","liveTodayDefaultText":"No Events Currently Scheduled","upcomingEventsListTitle":"UPCOMING EVENTS","upcomingEventsDefaultText":"There are currently no upcoming events scheduled.","countdownTitle":"UP NEXT","countdownTitleFuture":"UPCOMING EVENT","templateDisclaimer":"Having playback problems? \u003ca href=\"/News/Live-Events/\"\u003eClick here to refresh the page.\u003c/a\u003e If you continue to have issues, try changing to a different web browser.","videoBugPosition":"TopRight","showModuleTitle":false,"showEventTitle":true,"showEventDesc":true,"showCountdownTitle":true,"showCountdownDesc":true,"showVideoBug":false,"liveNowActiveClick":"on","liveNowActiveManualTime":"fifteenMin","toggleError":false,"selectedSMMSealId":2002859035,"selectedSeal":"https://media.defense.gov/2021/Sep/21/2002859035/400/400/0/210921-D-D0439-103.PNG","selectedSMMSealForErrorsId":2002859034,"selectedSealForErrors":"https://media.defense.gov/2021/Sep/21/2002859034/400/400/0/210921-D-D0439-102.PNG","selectedSMMCountdownBackgroundId":2002042277,"selectedBackground":"https://media.defense.gov/2018/Sep/19/2002042277/800/450/0/180919-D-MA852-001.JPG","selectedSMMNoEventBackgroundId":2002041905,"selectedNoEvent":"https://media.defense.gov/2018/Sep/18/2002041905/800/450/0/180918-D-MA852-004.JPG","selectedDVIDSVideoBugId":2002041896,"selectedVideoBug":"https://media.defense.gov/2018/Sep/18/2002041896/200/200/0/180918-D-MA852-002.PNG","dvidsVideoPlayerUrl":"https://www.war.gov/Multimedia/Videos?videoid=","dvidsLiveEventsUrl":"https://www.war.gov/News/LiveEvents/#/?currentVideo=","noEventMessage":"There are currently no scheduled events.","noEventsLink":"/Multimedia/Videos/","toggleLiveEventVideoBug":false,"liveEventVideoBugPosition":"TopRight","isBackend":false},"dleTestSettings":null}};

            new Vue({
                el:'#dle-live-badge-6bce6a3b-43d5-4614-8a38-a62386a10723',
                data: {
                    isLiveNow: false,
                    videos: {
                        all: [],
                        liveNow: [],
                        liveToday: [],
                        liveLater: []
                    },
                    config: {},
                    dropdownStyles: {},
                    ddState: 0,
                    leadInText: '',
                    leadInTimeoutId: null,
                    leadInTimeoutOnce: false,
                },
                computed: {
                    buttonLabel: function () {
                        if (this.videos && this.videos.liveNow && this.videos.liveNow.length > 0)
                            return "Live Now";

                        if (this.videos && this.videos.liveToday && this.videos.liveToday.length > 0 && this.videos.liveLater.length === 0) {
                            return "Live Today";
                        }
                        return "Live Events";;
                    },
                },
                watch:{
                    'videos': function () {
                        const docBodyClassName = 'dle-has-live-events-badge';
                        if (this.videos && this.videos.all && this.videos.all.length > 0) {
                            document.body.classList.add(docBodyClassName);
                        } else {
                            document.body.classList.remove(docBodyClassName);
                        }
                    }
                },
                created() {
                    window.addEventListener("resize", this.liveBadgeResizeHandler);
                    window.addEventListener("scroll", this.liveBadgeResizeHandler);
                },
                destroyed() {
                    window.removeEventListener("resize", this.liveBadgeResizeHandler);
                    window.removeEventListener("resize", this.leadInTextResizeHandler);
                    window.removeEventListener("scroll", this.liveBadgeResizeHandler);
                },
                mounted: function () {
                    try {
                        this.config = {
                            dvids: liveBadgeConfig.data.dvidsParams,
                            dle: liveBadgeConfig.data.dleDNNSettings,
                            test: liveBadgeConfig.data.dleTestSettings
                        };
                        this.getVideos();
                    } catch (e) {
                        this.onBackend() && console.error(e);
                    }

                    if (this.config.test && this.config.test.testUseTestData) {
                        return;
                    }

                    setInterval(() => {
                        this.getVideos();
                    },
                        15000);
                },
                methods: {
                    getVideos: async function () {
                        let videoListObj = {};
                        try {
                            const dvidsParams = DLEApi.createDvidsParams(this.config.dvids);
                            if (this.config.test && this.config.test.testUseTestData) {
                                videoListObj = await DLEApi.getFakeVideoList(
                                    this.config.test.testLiveNowEventsCount,
                                    this.config.test.testLiveTodayEventsCount,
                                    this.config.test.testUpcomingEventsCount,
                                    this.config.test.testEventsJson,
                                    this.config.dvids.apiKey
                                );
                                videoListObj.videos = videoListObj.videos.slice(0, dvidsParams.max_results);
                            } else {
                                videoListObj = await DLEApi.getVideoList(dvidsParams);
                            }
                            this.videos = DLEApi.parseVideoList(videoListObj, this.config);
                            setTimeout(() => {
                                this.setupLeadIn();
                            },
                                100);

                        } catch (e) {
                            this.onBackend() && console.error(e);
                        }
                    },
                    setLiveBadgeWidth: function () {
                        let positioningEl;
                        try {
                            positioningEl = 'header .header-inner' ?
                                document.querySelector('header .header-inner') :
                                document.body;
                            if (positioningEl === null) {
                                positioningEl = document.body;
                            }
                        } catch (e) {
                            this.onBackend() && console.warn('DVIDS Live Events dropdown container not found. The error is:', e);
                            positioningEl = document.body;
                        }
                        try {
                            const ppos = positioningEl.getBoundingClientRect();
                            const dd = document.querySelector('.dle-live-badge-dropdown');

                            if (dd.style.display === "block") return;

                            dd.style.visibility = 'hidden';
                            dd.style.display = 'block';
                            dd.style.width = 'auto';
                            dd.style.marginLeft = 0;
                            const ddRect = dd.getBoundingClientRect();
                            dd.style.display = 'none';
                            dd.style.visibility = 'visible';
                            let newWidth = Math.abs(ppos.right - ddRect.left);
                            const minWidth = ddRect.width;

                            if (newWidth < minWidth) {
                                newWidth = minWidth;
                            }

                            let newLeft = 0;
                            if (ddRect.x + newWidth > document.body.clientWidth) {
                                newLeft = document.body.clientWidth - ddRect.x - newWidth;
                            }

                            dd.style.width = newWidth + 'px';
                            dd.style.marginLeft = newLeft + 'px';

                        } catch (e) {
                            this.onBackend() && console.error('DVIDS Live Events error:', e);
                        }
                    },
                    liveBadgeResizeHandler: function () {
                        if (this.ddState === 0)
                            return;
                        this.manualStateChange();
                    },
                    manualStateChange: function () {
                        const vm = this;

                        if (vm.ddState === 0) {
                            $('body').addClass('dle-dd-open');
                            vm.ddState = 1;
                            vm.dropdownStyles = {
                                ...vm.dropdownStyles,
                                display: 'block',
                            };
                        } else if (vm.ddState === 1) {
                            vm.ddState = 0;
                            vm.dropdownStyles = {
                                ...vm.dropdownStyles,
                                display: 'none',
                            };
                            $('body').removeClass('dle-dd-open');
                        }
                    },
                    handleBadgeKeyDown: function (event) {
                        if (!event) return;
                        if ((event.target.id === 'dle-live-badge-6bce6a3b-43d5-4614-8a38-a62386a10723-tab-before' && event.key.toUpperCase() === 'TAB' && !event.shiftKey) ||
                            (event.target.id === 'dle-live-badge-6bce6a3b-43d5-4614-8a38-a62386a10723-tab-after' && event.key.toUpperCase() === 'TAB' && event.shiftKey))
                            event.preventDefault();
                    },
                    handleBadgeKeyUp: function (event) {
                        if (!event) return;
                        event.preventDefault();
                        const vm = this;
                        this.setLiveBadgeWidth();
                        this.manualStateChange();
                        if (vm.ddState === 1) {
                            setTimeout(() => {
                                if (event.key.toUpperCase() === 'TAB' && !event.shiftKey) {
                                    $(".dle-live-badge-dropdown a:first").focus();
                                } else {
                                    $(".dle-live-badge-dropdown a:last").focus();
                                }
                                $(".dle-live-badge-dropdown a:first").off();
                                $(".dle-live-badge-dropdown a:first").on('keydown',
                                    function (e) {
                                        if (e.shiftKey && e.key.toUpperCase() === 'TAB') {
                                            e.preventDefault();

                                            $('#dle-live-badge-6bce6a3b-43d5-4614-8a38-a62386a10723-tab-before').focus();
                                        }
                                    });
                            },
                                50);

                            $(".dle-live-badge-dropdown a:last").off();
                            $(".dle-live-badge-dropdown a:last").on('keydown',
                                function (e) {
                                    if (e.key.toUpperCase() === 'TAB' && !e.shiftKey) {
                                        e.preventDefault();
                                        $('#dle-live-badge-6bce6a3b-43d5-4614-8a38-a62386a10723-tab-after').focus();

                                    }
                                });
                        }

                    },
                    handleBadgeClick: function () {
                        if (!window.matchMedia('(max-width: 768px)').matches) {
                            try {
                                window.location.href = this.config.dle.dvidsLiveEventsUrl;
                            } catch (e) {
                                this.onBackend() && console.error('DVIDS Live Events error: ', e);
                            }
                        }
                        if (this.ddState === 0) {
                            this.setLiveBadgeWidth();
                        }
                        this.manualStateChange();

                    },
                    setupLeadIn: function () {
                        if (!this.videos || !this.videos.all || this.videos.all.length === 0) {
                            return;
                        }
                        this.leadInText = this.videos.all[0].title;
                        window.removeEventListener("resize", this.leadInTextResizeHandler);
                        window.addEventListener("resize", this.leadInTextResizeHandler);
                        this.checkLeadInWidth();
                    },
                    checkLeadInWidth: function () {
                        const vm = this;
                        $(this.$el).find('.lead-in-event .event-title-text').each(function () {
                            let el = this;
                            el.innerText = vm.leadInText;
                            el.style.whiteSpace = "nowrap";
                            el.style.overflow = "visible";
                            const oneLineBounds = el.getBoundingClientRect();
                            el.style.whiteSpace = "normal";
                            const nLinesBounds = el.getBoundingClientRect();
                            if (nLinesBounds.height > oneLineBounds.height) {
                                const splitText = vm.leadInText.split(' ');
                                for (let i = 0; i < splitText.length; i++) {
                                    const newText = splitText.slice(0, splitText.length - 1 - i);
                                    el.innerText = newText.join(' ') + '...';
                                    const newTextBounds = el.getBoundingClientRect();
                                    if (newTextBounds.height <= oneLineBounds.height) {
                                        break;
                                    }
                                }
                            }
                            el.style.overflow = "hidden";
                            el.style.opacity = 1;
                        });
                    },
                    leadInTextResizeHandler: function () {
                        const vm = this;
                        // Clear the debounce timer
                        clearTimeout(vm.leadInTimeoutId);
                        // Debounce timer
                        vm.leadInTimeoutId = setTimeout(() => {
                            vm.checkLeadInWidth();
                            vm.leadInTimeoutOnce = false;
                        }, 10);

                        // Run once immediately
                        if (!vm.leadInTimeoutOnce) {
                            vm.checkLeadInWidth();
                            vm.leadInTimeoutOnce = true;
                        }
                    },
                    onBackend: function () {
                        return this.config && this.config.dle && this.config.dle.isBackend;
                    }
                }
            });
        })();
</script>

            <nav class="main">
                <ul>
<li class="mobile-back"><a href="#"><i class="fa fa-chevron-left"></i>Back</a></li>
<li class="mobile-home"><a href="/">Home</a></li>
<li class="mobile-level1-placeholder"><a href="#">Place Holder</a></li>
<li class="desktop-blank"></li>
    
    <li class="parent top-level ">
    
        <a href="https://www.war.gov/News/"  tabindex="0" aria-expanded="false">News<span class="mobile-arrow"><i class="fa fa-chevron-right"></i></span></a>
    
	    <div class="level2-container">
            <ul class="level2">
            
    <li class="parent">
    
       <a href="https://www.war.gov/News/Press-Products/"  tabindex="0" aria-expanded="false"><span class="main">Press Products</span></a>
    
        <ul class="parent">
        
    <li class="">
    
       <a href="https://www.war.gov/News/Today-in-DOW/"  tabindex="0" ><span class="main">Today in DOW</span></a>
    
    </li>

    <li class="">
    
       <a href="https://www.war.gov/News/Live-Events/"  tabindex="0" ><span class="main">Live Events</span></a>
    
    </li>

    <li class="">
    
       <a href="https://www.war.gov/News/Releases/"  tabindex="0" ><span class="main">Releases</span></a>
    
    </li>

    <li class="">
    
       <a href="https://www.war.gov/News/Advisories/"  tabindex="0" ><span class="main">Advisories</span></a>
    
    </li>

    <li class="">
    
       <a href="https://www.war.gov/News/Transcripts/"  tabindex="0" ><span class="main">Transcripts</span></a>
    
    </li>

    <li class="">
    
       <a href="https://www.war.gov/News/Speeches/"  tabindex="0" ><span class="main">Speeches</span></a>
    
    </li>

    <li class="">
    
       <a href="https://www.war.gov/News/Publications/"  tabindex="0" ><span class="main">Publications</span></a>
    
    </li>

    <li class="">
    
       <a href="https://www.war.gov/News/Contracts/"  tabindex="0" ><span class="main">Contracts</span></a>
    
    </li>

        </ul>
    
    </li>

    <li class="parent">
    
       <a href="https://www.war.gov/News/Newsroom/"  tabindex="0" aria-expanded="false"><span class="main">Newsroom</span></a>
    
        <ul class="parent">
        
    <li class="">
    
       <a href="https://www.war.gov/News/News-Stories/"  tabindex="0" ><span class="main">News Stories</span></a>
    
    </li>

    <li class="">
    
       <a href="https://www.war.gov/News/Feature-Stories/"  tabindex="0" ><span class="main">Feature Stories</span></a>
    
    </li>

    <li class="">
    
       <a href="https://www.war.gov/News/From-the-Services/"  tabindex="0" ><span class="main">Stories from the Services</span></a>
    
    </li>

        </ul>
    
    </li>

            </ul>
		</div>
    
    </li>


    <li class="parent top-level ">
    
        <a href="https://www.war.gov/Multimedia/"  tabindex="0" aria-expanded="false">Multimedia<span class="mobile-arrow"><i class="fa fa-chevron-right"></i></span></a>
    
	    <div class="level2-container">
            <ul class="level2">
            
    <li class="parent">
    
       <a href="https://www.war.gov/Multimedia/" aria-expanded="false"><span class="main">Multimedia</span></a>
    
        <ul class="parent">
        
    <li class="">
    
       <a href="https://www.war.gov/Multimedia/Photos/"  tabindex="0" ><span class="main">Photos</span></a>
    
    </li>

    <li class="">
    
       <a href="https://www.war.gov/Multimedia/Photo-Collections/"  tabindex="0" ><span class="main">Photo Collections</span></a>
    
    </li>

    <li class="">
    
       <a href="https://www.war.gov/Multimedia/Photo-Collections/Week-In-Photos/"  tabindex="0" ><span class="main">Week In Photos</span></a>
    
    </li>

    <li class="">
    
       <a href="https://www.war.gov/Multimedia/Videos/"  tabindex="0" ><span class="main">Videos</span></a>
    
    </li>

        </ul>
    
    </li>

    <li class="parent">
    
       <a href="https://www.war.gov/Multimedia/Experience/"  tabindex="0" aria-expanded="false"><span class="main">Interactive Experiences</span></a>
    
        <ul class="parent">
        
    <li class="">
    
       <a href="https://www.defense.gov/Multimedia/Experience/category/25144/"  tabindex="0" ><span class="main">Visual Stories</span></a>
    
    </li>

    <li class="">
    
       <a href="https://www.defense.gov/Multimedia/Experience/category/22642/"  tabindex="0" ><span class="main">Quizzes</span></a>
    
    </li>

    <li class="">
    
       <a href="https://www.war.gov/Multimedia/Experience/"  tabindex="0" ><span class="main">All Interactive</span></a>
    
    </li>

        </ul>
    
    </li>

            </ul>
		</div>
    
    </li>


    <li class="parent top-level ">
    
        <a href="https://www.war.gov/Spotlights/"  tabindex="0" aria-expanded="false">Spotlights<span class="mobile-arrow"><i class="fa fa-chevron-right"></i></span></a>
    
	    <div class="level2-container">
            <ul class="level2">
            
    <li class="parent">
    
       <a href="https://www.war.gov/Spotlights/" aria-expanded="false"><span class="main">Topics</span></a>
    
        <ul class="parent">
        
    <li class="">
    
       <a href="https://www.war.gov/Spotlights/Drone-Dominance/"  tabindex="0" ><span class="main">Drone Dominance</span></a>
    
    </li>

    <li class="">
    
       <a href="https://www.war.gov/Spotlights/DOW-Support-to-the-Southern-Border/"  tabindex="0" ><span class="main">DOW Support to the Southern Border</span></a>
    
    </li>

    <li class="">
    
       <a href="https://www.war.gov/Spotlights/Value-of-Service/"  tabindex="0" ><span class="main">Value of Service</span></a>
    
    </li>

    <li class="">
    
       <a href="https://www.war.gov/Spotlights/COVID-19-Reinstatement/"  tabindex="0" ><span class="main">COVID-19 Reinstatement</span></a>
    
    </li>

    <li class="">
    
       <a href="https://www.war.gov/Spotlights/"  tabindex="0" ><span class="main">All Spotlights</span></a>
    
    </li>

        </ul>
    
    </li>

            </ul>
		</div>
    
    </li>


    <li class="parent top-level ">
    
        <a href="https://www.war.gov/About/"  tabindex="0" aria-expanded="false">About<span class="mobile-arrow"><i class="fa fa-chevron-right"></i></span></a>
    
	    <div class="level2-container">
            <ul class="level2">
            
    <li class="parent">
    
       <a href="https://www.war.gov/About/Leadership/"  tabindex="0" aria-expanded="false"><span class="main">Leadership</span></a>
    
        <ul class="parent">
        
    <li class="">
    
       <a href="https://www.war.gov/About/Secretary-of-War/"  tabindex="0" ><span class="main">Secretary of War</span></a>
    
    </li>

    <li class="">
    
       <a href="https://www.war.gov/About/Deputy-Secretary-of-War/"  tabindex="0" ><span class="main">Deputy Secretary of War</span></a>
    
    </li>

    <li class="">
    
       <a href="https://www.war.gov/About/Chairman-of-the-Joint-Chiefs-of-Staff/"  tabindex="0" ><span class="main">Chairman of the Joint Chiefs of Staff</span></a>
    
    </li>

    <li class="">
    
       <a href="https://www.war.gov/About/Vice-Chairman-of-the-Joint-Chiefs-of-Staff/"  tabindex="0" ><span class="main">Vice Chairman of the Joint Chiefs of Staff</span></a>
    
    </li>

    <li class="">
    
       <a href="https://www.war.gov/About/Office-of-the-Secretary-of-War/"  tabindex="0" ><span class="main">Office of the Secretary of War</span></a>
    
    </li>

    <li class="">
    
       <a href="https://www.war.gov/About/Biographies/"  tabindex="0" ><span class="main">More Leaders</span></a>
    
    </li>

        </ul>
    
    </li>

    <li class="parent">
    
       <a href="https://www.war.gov/About/" aria-expanded="false"><span class="main">Components</span></a>
    
        <ul class="parent">
        
    <li class="">
    
       <a href="https://www.army.mil/" target="_blank" rel="noopeneer noreferrer" tabindex="0" ><span class="main">Army</span></a>
    
    </li>

    <li class="">
    
       <a href="https://www.marines.mil/" target="_blank" rel="noopeneer noreferrer" tabindex="0" ><span class="main">Marine Corps</span></a>
    
    </li>

    <li class="">
    
       <a href="https://www.navy.mil/" target="_blank" rel="noopeneer noreferrer" tabindex="0" ><span class="main">Navy</span></a>
    
    </li>

    <li class="">
    
       <a href="https://www.af.mil/" target="_blank" rel="noopeneer noreferrer" tabindex="0" ><span class="main">Air Force</span></a>
    
    </li>

    <li class="">
    
       <a href="https://www.spaceforce.mil/" target="_blank" rel="noopeneer noreferrer" tabindex="0" ><span class="main">Space Force</span></a>
    
    </li>

    <li class="">
    
       <a href="https://www.uscg.mil/" target="_blank" rel="noopeneer noreferrer" tabindex="0" ><span class="main">Coast Guard</span></a>
    
    </li>

    <li class="">
    
       <a href="https://www.nationalguard.mil/" target="_blank" rel="noopeneer noreferrer" tabindex="0" ><span class="main">National Guard</span></a>
    
    </li>

    <li class="">
    
       <a href="https://www.war.gov/About/Combatant-Commands/"  tabindex="0" ><span class="main">Combatant Commands</span></a>
    
    </li>

        </ul>
    
    </li>

            </ul>
		</div>
    
    </li>


    <li class="parent top-level ">
    
        <a href="https://www.war.gov/Resources/"  tabindex="0" aria-expanded="false">Resources<span class="mobile-arrow"><i class="fa fa-chevron-right"></i></span></a>
    
	    <div class="level2-container">
            <ul class="level2">
            
    <li class="parent">
    
       <a href="https://www.war.gov/Resources/"  tabindex="0" aria-expanded="false"><span class="main">Resources</span></a>
    
        <ul class="parent">
        
    <li class="">
    
       <a href="https://www.war.gov/Spotlights/Guidance-for-Federal-Personnel-and-Readiness-Policies/"  tabindex="0" ><span class="main">Executive Orders: Guidance for Federal Personnel &amp; Readiness Policies</span></a>
    
    </li>

    <li class="">
    
       <a href="https://www.war.gov/Contact/Help-Center/"  tabindex="0" ><span class="main">Help Center</span></a>
    
    </li>

    <li class="">
    
       <a href="https://www.war.gov/Resources/"  tabindex="0" ><span class="main">Resources</span></a>
    
    </li>

    <li class="">
    
       <a href="https://www.war.gov/Contact/"  tabindex="0" ><span class="main">Contact</span></a>
    
    </li>

        </ul>
    
    </li>

            </ul>
		</div>
    
    </li>


    <li class=" top-level active">
    
        <a href="https://www.war.gov/UFO/"  tabindex="0" >UFO<span class="mobile-arrow"><i class="fa fa-chevron-right"></i></span></a>
    
    </li>


</ul>


                <button type="button" class="nav-search-icon" aria-label="Open search" aria-expanded="false" aria-controls="desktop-nav-search">
                    <span class="fa fa-search" aria-hidden="true"></span>
                </button>
                <div class="nav-search" id="desktop-nav-search" role="search">
                    <label for="desktop-search" class="sr-only">Search</label>
                    <input id="desktop-search" type="search" autocomplete="off" maxlength="256" name="header-search" placeholder="Search..." value="">
                    <button type="button" class="search-icon" aria-label="Submit search"><span class="fa fa-search" aria-hidden="true"></span></button>
                    <button type="button" class="close-icon" aria-label="Close search"><span class="desktop-search-close" aria-hidden="true"></span></button>
                </div>
                <div class="level2-backdrop">
                    <div class="backdrop-image"></div>
                </div>
            </nav>
            <div id="nav-burger" class="hide-on-mobile-nav-open" role="button" tabindex="0" aria-label="toggle navigation"><span></span><span></span><span></span><span></span></div>
        </div>
    </div>
    <div id="mobile-overlay"></div>
    <div id="nav-drawer">
        <div class="drawer-inner">
            <div id="nav-burger-mobile" class="internal" role="button" tabindex="0" aria-label="toggle navigation"><span></span><span></span><span></span><span></span></div>
            <div class="search-wrap">
                <label for="mobile-search" class="sr-only">Search</label>
                <input id="mobile-search" type="search" placeholder="Search" maxlength="256" autocomplete="off" name="search-main" />
                <button type="button" id="search-main-icon" aria-label="Search"><span class="fa fa-search" aria-hidden="true"></span></button>
                <button type="button" class="skin-search-go">Search</button>
            </div>
            <nav>
                <div class="primary">
                    <ul>
<li class="mobile-back"><a href="#"><i class="fa fa-chevron-left"></i>Back</a></li>
<li class="mobile-home"><a href="/">Home</a></li>
<li class="mobile-level1-placeholder"><a href="#">Place Holder</a></li>
<li class="desktop-blank"></li>
    
    <li class="parent top-level ">
    
        <a href="https://www.war.gov/News/"  tabindex="0" aria-expanded="false">News<span class="mobile-arrow"><i class="fa fa-chevron-right"></i></span></a>
    
	    <div class="level2-container">
            <ul class="level2">
            
    <li class="parent">
    
       <a href="https://www.war.gov/News/Press-Products/"  tabindex="0" aria-expanded="false"><span class="main">Press Products</span></a>
    
        <ul class="parent">
        
    <li class="">
    
       <a href="https://www.war.gov/News/Today-in-DOW/"  tabindex="0" ><span class="main">Today in DOW</span></a>
    
    </li>

    <li class="">
    
       <a href="https://www.war.gov/News/Live-Events/"  tabindex="0" ><span class="main">Live Events</span></a>
    
    </li>

    <li class="">
    
       <a href="https://www.war.gov/News/Releases/"  tabindex="0" ><span class="main">Releases</span></a>
    
    </li>

    <li class="">
    
       <a href="https://www.war.gov/News/Advisories/"  tabindex="0" ><span class="main">Advisories</span></a>
    
    </li>

    <li class="">
    
       <a href="https://www.war.gov/News/Transcripts/"  tabindex="0" ><span class="main">Transcripts</span></a>
    
    </li>

    <li class="">
    
       <a href="https://www.war.gov/News/Speeches/"  tabindex="0" ><span class="main">Speeches</span></a>
    
    </li>

    <li class="">
    
       <a href="https://www.war.gov/News/Publications/"  tabindex="0" ><span class="main">Publications</span></a>
    
    </li>

    <li class="">
    
       <a href="https://www.war.gov/News/Contracts/"  tabindex="0" ><span class="main">Contracts</span></a>
    
    </li>

        </ul>
    
    </li>

    <li class="parent">
    
       <a href="https://www.war.gov/News/Newsroom/"  tabindex="0" aria-expanded="false"><span class="main">Newsroom</span></a>
    
        <ul class="parent">
        
    <li class="">
    
       <a href="https://www.war.gov/News/News-Stories/"  tabindex="0" ><span class="main">News Stories</span></a>
    
    </li>

    <li class="">
    
       <a href="https://www.war.gov/News/Feature-Stories/"  tabindex="0" ><span class="main">Feature Stories</span></a>
    
    </li>

    <li class="">
    
       <a href="https://www.war.gov/News/From-the-Services/"  tabindex="0" ><span class="main">Stories from the Services</span></a>
    
    </li>

        </ul>
    
    </li>

            </ul>
		</div>
    
    </li>


    <li class="parent top-level ">
    
        <a href="https://www.war.gov/Multimedia/"  tabindex="0" aria-expanded="false">Multimedia<span class="mobile-arrow"><i class="fa fa-chevron-right"></i></span></a>
    
	    <div class="level2-container">
            <ul class="level2">
            
    <li class="parent">
    
       <a href="https://www.war.gov/Multimedia/" aria-expanded="false"><span class="main">Multimedia</span></a>
    
        <ul class="parent">
        
    <li class="">
    
       <a href="https://www.war.gov/Multimedia/Photos/"  tabindex="0" ><span class="main">Photos</span></a>
    
    </li>

    <li class="">
    
       <a href="https://www.war.gov/Multimedia/Photo-Collections/"  tabindex="0" ><span class="main">Photo Collections</span></a>
    
    </li>

    <li class="">
    
       <a href="https://www.war.gov/Multimedia/Photo-Collections/Week-In-Photos/"  tabindex="0" ><span class="main">Week In Photos</span></a>
    
    </li>

    <li class="">
    
       <a href="https://www.war.gov/Multimedia/Videos/"  tabindex="0" ><span class="main">Videos</span></a>
    
    </li>

        </ul>
    
    </li>

    <li class="parent">
    
       <a href="https://www.war.gov/Multimedia/Experience/"  tabindex="0" aria-expanded="false"><span class="main">Interactive Experiences</span></a>
    
        <ul class="parent">
        
    <li class="">
    
       <a href="https://www.defense.gov/Multimedia/Experience/category/25144/"  tabindex="0" ><span class="main">Visual Stories</span></a>
    
    </li>

    <li class="">
    
       <a href="https://www.defense.gov/Multimedia/Experience/category/22642/"  tabindex="0" ><span class="main">Quizzes</span></a>
    
    </li>

    <li class="">
    
       <a href="https://www.war.gov/Multimedia/Experience/"  tabindex="0" ><span class="main">All Interactive</span></a>
    
    </li>

        </ul>
    
    </li>

            </ul>
		</div>
    
    </li>


    <li class="parent top-level ">
    
        <a href="https://www.war.gov/Spotlights/"  tabindex="0" aria-expanded="false">Spotlights<span class="mobile-arrow"><i class="fa fa-chevron-right"></i></span></a>
    
	    <div class="level2-container">
            <ul class="level2">
            
    <li class="parent">
    
       <a href="https://www.war.gov/Spotlights/" aria-expanded="false"><span class="main">Topics</span></a>
    
        <ul class="parent">
        
    <li class="">
    
       <a href="https://www.war.gov/Spotlights/Drone-Dominance/"  tabindex="0" ><span class="main">Drone Dominance</span></a>
    
    </li>

    <li class="">
    
       <a href="https://www.war.gov/Spotlights/DOW-Support-to-the-Southern-Border/"  tabindex="0" ><span class="main">DOW Support to the Southern Border</span></a>
    
    </li>

    <li class="">
    
       <a href="https://www.war.gov/Spotlights/Value-of-Service/"  tabindex="0" ><span class="main">Value of Service</span></a>
    
    </li>

    <li class="">
    
       <a href="https://www.war.gov/Spotlights/COVID-19-Reinstatement/"  tabindex="0" ><span class="main">COVID-19 Reinstatement</span></a>
    
    </li>

    <li class="">
    
       <a href="https://www.war.gov/Spotlights/"  tabindex="0" ><span class="main">All Spotlights</span></a>
    
    </li>

        </ul>
    
    </li>

            </ul>
		</div>
    
    </li>


    <li class="parent top-level ">
    
        <a href="https://www.war.gov/About/"  tabindex="0" aria-expanded="false">About<span class="mobile-arrow"><i class="fa fa-chevron-right"></i></span></a>
    
	    <div class="level2-container">
            <ul class="level2">
            
    <li class="parent">
    
       <a href="https://www.war.gov/About/Leadership/"  tabindex="0" aria-expanded="false"><span class="main">Leadership</span></a>
    
        <ul class="parent">
        
    <li class="">
    
       <a href="https://www.war.gov/About/Secretary-of-War/"  tabindex="0" ><span class="main">Secretary of War</span></a>
    
    </li>

    <li class="">
    
       <a href="https://www.war.gov/About/Deputy-Secretary-of-War/"  tabindex="0" ><span class="main">Deputy Secretary of War</span></a>
    
    </li>

    <li class="">
    
       <a href="https://www.war.gov/About/Chairman-of-the-Joint-Chiefs-of-Staff/"  tabindex="0" ><span class="main">Chairman of the Joint Chiefs of Staff</span></a>
    
    </li>

    <li class="">
    
       <a href="https://www.war.gov/About/Vice-Chairman-of-the-Joint-Chiefs-of-Staff/"  tabindex="0" ><span class="main">Vice Chairman of the Joint Chiefs of Staff</span></a>
    
    </li>

    <li class="">
    
       <a href="https://www.war.gov/About/Office-of-the-Secretary-of-War/"  tabindex="0" ><span class="main">Office of the Secretary of War</span></a>
    
    </li>

    <li class="">
    
       <a href="https://www.war.gov/About/Biographies/"  tabindex="0" ><span class="main">More Leaders</span></a>
    
    </li>

        </ul>
    
    </li>

    <li class="parent">
    
       <a href="https://www.war.gov/About/" aria-expanded="false"><span class="main">Components</span></a>
    
        <ul class="parent">
        
    <li class="">
    
       <a href="https://www.army.mil/" target="_blank" rel="noopeneer noreferrer" tabindex="0" ><span class="main">Army</span></a>
    
    </li>

    <li class="">
    
       <a href="https://www.marines.mil/" target="_blank" rel="noopeneer noreferrer" tabindex="0" ><span class="main">Marine Corps</span></a>
    
    </li>

    <li class="">
    
       <a href="https://www.navy.mil/" target="_blank" rel="noopeneer noreferrer" tabindex="0" ><span class="main">Navy</span></a>
    
    </li>

    <li class="">
    
       <a href="https://www.af.mil/" target="_blank" rel="noopeneer noreferrer" tabindex="0" ><span class="main">Air Force</span></a>
    
    </li>

    <li class="">
    
       <a href="https://www.spaceforce.mil/" target="_blank" rel="noopeneer noreferrer" tabindex="0" ><span class="main">Space Force</span></a>
    
    </li>

    <li class="">
    
       <a href="https://www.uscg.mil/" target="_blank" rel="noopeneer noreferrer" tabindex="0" ><span class="main">Coast Guard</span></a>
    
    </li>

    <li class="">
    
       <a href="https://www.nationalguard.mil/" target="_blank" rel="noopeneer noreferrer" tabindex="0" ><span class="main">National Guard</span></a>
    
    </li>

    <li class="">
    
       <a href="https://www.war.gov/About/Combatant-Commands/"  tabindex="0" ><span class="main">Combatant Commands</span></a>
    
    </li>

        </ul>
    
    </li>

            </ul>
		</div>
    
    </li>


    <li class="parent top-level ">
    
        <a href="https://www.war.gov/Resources/"  tabindex="0" aria-expanded="false">Resources<span class="mobile-arrow"><i class="fa fa-chevron-right"></i></span></a>
    
	    <div class="level2-container">
            <ul class="level2">
            
    <li class="parent">
    
       <a href="https://www.war.gov/Resources/"  tabindex="0" aria-expanded="false"><span class="main">Resources</span></a>
    
        <ul class="parent">
        
    <li class="">
    
       <a href="https://www.war.gov/Spotlights/Guidance-for-Federal-Personnel-and-Readiness-Policies/"  tabindex="0" ><span class="main">Executive Orders: Guidance for Federal Personnel &amp; Readiness Policies</span></a>
    
    </li>

    <li class="">
    
       <a href="https://www.war.gov/Contact/Help-Center/"  tabindex="0" ><span class="main">Help Center</span></a>
    
    </li>

    <li class="">
    
       <a href="https://www.war.gov/Resources/"  tabindex="0" ><span class="main">Resources</span></a>
    
    </li>

    <li class="">
    
       <a href="https://www.war.gov/Contact/"  tabindex="0" ><span class="main">Contact</span></a>
    
    </li>

        </ul>
    
    </li>

            </ul>
		</div>
    
    </li>


    <li class=" top-level active">
    
        <a href="https://www.war.gov/UFO/"  tabindex="0" >UFO<span class="mobile-arrow"><i class="fa fa-chevron-right"></i></span></a>
    
    </li>


</ul>



                    <ul>
                        <li class="parent top-level">
                            <a href="#" target="" tabindex="0" aria-expanded="false">Legal & Administrative<span class="mobile-arrow"><i class="fa fa-chevron-right"></i></span></a>
                            <div class="arrow-down"><i></i></div>
                            <div class="level2-container">
                                <ul class="level2">
                                    <ul class=""><li class=""><a href="/Legal-Administrative/Privacy-Security/ "><span class="text text-link-12">Privacy & Security</span></a></li><li class=""><a href="/Legal-Administrative/Links-Disclaimer/ "><span class="text text-link-17">Links Disclaimer</span></a></li><li class=""><a href="https://dowcio.war.gov/508/" target="_blank" rel="noopener noreferrer" aria-label="U.S. Department of War Section 508 opens in a new window"><span class="text text-link-13">Section 508</span></a></li><li class=""><a href="/resources/social-media-policy/"><span class="text text-link-52">Social Media Policy</span></a></li><li class=""><a href="http://dodcio.defense.gov/DoD-Web-Policy/ " target="_blank" rel="noopener noreferrer" aria-label="Web Policy opens in a new window"><span class="text text-link-14">Web Policy</span></a></li><li class=""><a href="http://www.esd.whs.mil/DD/plainlanguage/ " target="_blank" rel="noopener noreferrer" aria-label="Plain Writing Act opens in a new window"><span class="text text-link-37">Plain Writing Act</span></a></li><li class=""><a href="https://www.dodig.mil/" target="_blank" rel="noopener noreferrer" aria-label="Department of War Office of Inspector General opens in a new window"><span class="text text-link-38">DOW IG</span></a></li><li class=""><a href="https://policy.war.gov/Offices/Civilian-Harm-Mitigation-and-Response/" target="_blank" rel="noopener noreferrer" aria-label="Reporting Civilian Casualties opens in a new window"><span class="text text-link-39">Reporting Civilian Casualties</span></a></li><li class=""><a href="https://prhome.war.gov/NoFear/" target="_blank" rel="noopener noreferrer" aria-label="No FEAR Act opens in a new window"><span class="text text-link-40">No FEAR Act</span></a></li><li class=""><a href="https://www.dma.mil/Services/Visual-Information/References/Limitations/" target="_blank" rel="noopener noreferrer" aria-label="Imagery Use opens in a new window"><span class="text text-link-41">Imagery Use</span></a></li><li class=""><a href="https://www.esd.whs.mil/FOID/ " target="_blank" rel="noopener noreferrer" aria-label="FOIA opens in a new window"><span class="text text-link-42">FOIA</span></a></li><li class=""><a href="http://open.defense.gov/ " target="_blank" rel="noopener noreferrer" aria-label="Open GOV opens in a new window"><span class="text text-link-43">Open GOV</span></a></li><li class=""><a href="https://media.defense.gov/2023/Mar/13/2003178168/-1/-1/1/DOD-STRATEGIC-MGMT-PLAN-2023.PDF" target="_blank" rel="noopener noreferrer" aria-label="Strategic Management Plan opens in a new window"><span class="text text-link-44">Strategic Management Plan</span></a></li><li class=""><a href="https://www.usa.gov/ " target="_blank" rel="noopener noreferrer" aria-label="USA.gov opens in a new window"><span class="text text-link-45">USA.gov</span></a></li><li class=""><a href="https://business.defense.gov/ " target="_blank" rel="noopener noreferrer" aria-label="Office of Industrial Base Growth opens in a new window"><span class="text text-link-46">Office of Industrial Base Growth</span></a></li><li class=""><a href="/site-index/ "><span class="text text-link-47">Site Map</span></a></li></ul>


                                </ul>
                            </div>
                        </li>
                    </ul>
                </div>
                <div class="social">
                    <ul class="social-nav"><li class="social-item"><a href="https://twitter.com/DeptofWar" target="_blank" rel="noopener noreferrer" aria-label="X opens in a new window" title="X"><span class="social-icon fa-brands fa-x-twitter social-link-4"></span></a></li><li class="social-item"><a href="https://www.facebook.com/DepartmentofWar" target="_blank" rel="noopener noreferrer" aria-label="Facebook opens in a new window" title="Facebook"><span class="social-icon fa-brands fa-facebook-f social-link-1"></span></a></li><li class="social-item"><a href="https://www.instagram.com/deptofwar" target="_blank" rel="noopener noreferrer" aria-label="Instagram opens in a new window" title="Instagram"><span class="social-icon fa fa-instagram social-link-3"></span></a></li><li class="social-item"><a href="http://www.linkedin.com/company/deptofwar" target="_blank" rel="noopener noreferrer" aria-label="LinkedIn opens in a new window" title="LinkedIn"><span class="social-icon fa-brands fa-linkedin-in social-link-50"></span></a></li><li class="social-item"><a href="https://www.youtube.com/@deptofwar" target="_blank" rel="noopener noreferrer" aria-label="YouTube opens in a new window" title="YouTube"><span class="social-icon fa-brands fa-youtube social-link-2"></span></a></li></ul>


                </div>
            </nav>
        </div>
    </div>
</header>




<main>
    <p id="skip-target-holder"><a id="skip-target" name="skip-target" role="button" class="skip" tabindex="-1" aria-label="Skip Target"></a></p>

    <div id="dnn_ContentPaneFullBleed1"><div class="DnnModule DnnModule-DNN_HTML DnnModule-9589"><a name="9589"></a>
<div class="empty-container base-container">
    <div id="dnn_ctr9589_ContentPane"><!-- Start_Module_9589 --><style>
#aaro button.lightbox-close {
    padding-top: 0;
    margin-top: 100px;
}

@media (max-width: 760px) {
#aaro .release-tabs {
    gap: 10px;
}

    #aaro .record-modal-fact {
        grid-template-columns: minmax(auto, 1fr) minmax(auto, auto);
    }

#aaro::before, #aaro::after {
display: none;
}

    #aaro .record-modal {
overflow: hidden;
        overflow-y: scroll !important;
}

    .lightbox-close {
        height: 60px !important;
        margin-top: 45px !important;
}

 .lightbox {
top: 0px;
bottom: 0px;
right: 0px;
left: 0px;
}

}


#aaro .custom-filter-menu {
z-index: 9999999;
}


@media screen and (max-width: 1200px) {
    #aaro .record-row > :nth-child(4)::before {
        content: "Incident Date" !important;
    }


    #aaro .record-row > :nth-child(5)::before {
        content: "Incident Location" !important;
    }

}


</style><div id="dnn_ctr9589_ModuleContent" class="DNNModuleContent ModDNNHTMLC">
	<div id="dnn_ctr9589_HtmlModule_lblContent" class="Normal">
		<style>
/* ------------------ 508 STYLES UPGRADE ----------------------- */ /* #39 Change all divs and spans that sohlud be headers to h1 / h2s */ #aaro h1.descriptor.descriptor-laptop {
    color: var(--muted);
    font-family: var(--mono);
    font-size: 14px;
    line-height: 1.38 !important;
    letter-spacing: 0;
    text-transform: uppercase;
    grid-area: descriptor;
    max-width: 300px;
    min-width: 0;
    line-height: 1.65;
    overflow-wrap: anywhere;
    text-shadow: 0 0 6px rgba(133, 188, 255, 0.2);
    font-weight: 100;
}
#aaro h2.quote-source {
    margin: 0;
    padding: 0;
    font-family: var(--mono);
    font-weight: 100;
    line-height: 1.38 !important;
    color: var(--muted);
    font-size: 14px;
}
#aaro h2.quote-source span:nth-child(1) {
    color: #fff;
}
#aaro h2.quote-source span:nth-child(2) {
    display: block;
} /* #14 give FOCUS styling to X in search */
#aaro .record-search-box {
    position: relative;
    flex: 1;
}
#aaro .record-search {
    width: 100%;
    padding-right: 44px;
}
#aaro .record-search-clear {
    position: absolute;
    right: 14px;
    top: 50%;
    left: auto;
    transform: translateY(-50%);
    width: 28px;
    height: 28px;
    border: 0;
    background: transparent;
    color: inherit;
    cursor: pointer;
    z-index: 2;
}
#aaro .record-search-clear:disabled {
    opacity: .35;
    cursor: not-allowed;
} /* #15 give FOCUS styling to sorts */
#aaro .filter-cell:focus {
    border: 1px solid #ffffff;
} /* #13 Need to fix scroll trap */
.record-modal {
    position: fixed;
    inset: 0;
    overflow: hidden;
}
.record-modal-shell {
    max-height: calc(100vh - 40px);
    overflow-y: auto;
} /* #74 Need to show all content on mobile */
#aaro .record-row > :nth-child(4), #aaro .record-row > :nth-child(5) {
    display: block;
}

@media screen and (max-width: 1200px) {
#aaro .record-row > :nth-child(1), #aaro .record-row > :nth-child(2), #aaro .record-row > :nth-child(3), #aaro .record-row > :nth-child(4), #aaro .record-row > :nth-child(5), #aaro .record-row > :nth-child(6) {
    display: flex;
    flex-direction: column;
    gap: 4px;
    line-height: 20px;
}
#aaro .record-row > :nth-child(3)::before {
    content: "Release";
}
#aaro .record-row > :nth-child(4)::before {
    content: "Incedent Date";
}
#aaro .record-row > :nth-child(5)::before {
    content: "Incedent Location";
}
} /* FIX MOBILE STYLING */

@media screen and (min-width: 1200px) and (max-width: 1450px) {
}
#aaro .filters {
    grid-template-columns: 17% 17% 17% 17% 17% 15%;
}
#aaro .record-row {
    grid-template-columns: 16% 15% 15% 16% 15% 15%;
}
}

@media screen and (max-width: 1200px) {
#aaro .record-row {
    max-width: 100%;
    min-width: 0px;
}
} /* FIX FOCUS STATE ON MENU */
#aaro nav a.nav-link:focus {
    outline: 5px auto -webkit-focus-ring-color;
    outline-offset: -2px;
}
</style>
<div id="aaro" class="site">
<header aria-label="PURSUE site navigation" class="masthead">
  <h1 class="descriptor descriptor-laptop"> Presidential Unsealing and Reporting System for UAP Encounters (PURSUE) </h1>
  <nav aria-label="Primary left navigation" class="nav-stack nav-stack-primary" > <a class="nav-link active-link" href="#intro">Intro</a> <a class="nav-link" href="#directive">About</a> </nav>
  <nav aria-label="Primary right navigation" class="nav-stack nav-stack-secondary" > <a class="nav-link" href="#release">Releases</a> <a class="nav-link" href="#learn">Learn More</a> </nav>
  <nav aria-label="Primary navigation" class="mobile-nav"> <a class="nav-link active-link" href="#intro">Intro</a> <a class="nav-link" href="#directive">About</a> <a class="nav-link" href="#release">Releases</a> <a class="nav-link" href="#learn">Learn More</a> </nav>
  <div aria-label="Location metadata" class="meta-stack"> <span>
    <div class="est-clock"></div>
    </span> <span>38°52′15″N, 77°03′18″W</span> </div>
  <div class="descriptor descriptor-mobile"> Presidential Unsealing and Reporting System for UAP Encounters (PURSUE) </div>
</header>
<main>
  <section aria-label="Announcement" class="quote-grid reveal-up in-view section announcement" >
    <h2 class="quote-source"> <span>Release 04</span> <span>Announcement</span> </h2>
    <p class="quote-text"> The Department of War just released the <a href="?release=04" data-release-link="04" data-scroll="true" class="info-link" >fourth tranche of records</a > under PURSUE. The first tranche was released on May 8, 2026. Scroll down to view the fourth tranche, released on July 10, 2026. </p>
    <div class="date">[07 10 26]</div>
  </section>
  <section aria-label="Evidence photo carousel" class="hero reveal-up" id="intro" >
    <button class="carousel-nav carousel-prev" type="button" data-carousel-prev aria-label="Previous evidence photo" > < </button>
    <div class="evidence-field">
      <div class="carousel-track">
        <button class="thumb thumb-1" type="button" data-lightbox-index="0" data-lightbox-title="DOE-UAP-D004, Los Alamos Conference on Aerial Phenomena, 1949" data-lightbox-url="/ufo/#DOE-UAP-D004-Los-Alamos-Conference-on-Aerial-Phenomena-1949" data-lightbox-sentence="This document is a transcript of a 1949 conference held at Los Alamos Scientific Laboratory (now Los Alamos National Laboratory), Los Alamos, New Mexico. " aria-label="Open an image of A declassified secret transmittal letter from the United States Atomic Energy Commission, dated March 22, 1949, regarding a conference on aerial phenomena." aria-pressed="false" > <img src="/portals/1/Interactive/2026/UFO/071026/Slideshow/DOE-UAP-D004_Los-Alamos-Conference-on-Aerial-Phenomena_1949.jpg" alt="A declassified secret transmittal letter from the United States Atomic Energy Commission, dated March 22, 1949, regarding a conference on aerial phenomena." /> </button>
        <button class="thumb thumb-1" type="button" data-lightbox-index="1" data-lightbox-title="DOW-UAP-D094, Analysis of Flying Object Incidents in the United States, 1949" data-lightbox-url="/ufo/#DOW-UAP-D094-Analysis-of-Flying-Object-Incidents-in-the-United-States-1949" data-lightbox-sentence="This file contains a U.S. Air Force (USAF) Air Intelligence Division study, “Analysis of Flying Object Incidents in the United States,” Study No. 203, dated 04/28/1949. " aria-label="Open an image of A page from a declassified document showing a hand-drawn sketch of a cylindrical object, labeled Fig. 8." aria-pressed="false" > <img src="/portals/1/Interactive/2026/UFO/071026/Slideshow/DOW-UAP-D094_Analysis-of-Flying-Object-Incidents-in-the-US_1949.jpg" alt="A page from a declassified document showing a hand-drawn sketch of a cylindrical object, labeled Fig. 8." /> </button>
        <button class="thumb thumb-1" type="button" data-lightbox-index="2" data-lightbox-title="DOW-UAP-D097, Project Sign Progress Report, 1948" data-lightbox-url="/ufo/#DOW-UAP-D097-Project-Sign-Progress-Report-1948" data-lightbox-sentence="A progress report for Project Sign, a 1948-1949 U.S. Air Force program to investigate the nature and origin of unidentified flying objects. " aria-label="Open an image of A black and white photograph of a large, delta-winged aircraft prototype resting on the ground, marked as confidential." aria-pressed="false" > <img src="/portals/1/Interactive/2026/UFO/071026/Slideshow/DOW-UAP-D097_Project-Sign-Progress-Report_1948.jpg" alt="A black and white photograph of a large, delta-winged aircraft prototype resting on the ground, marked as confidential." /> </button>
        <button class="thumb thumb-1" type="button" data-lightbox-index="3" data-lightbox-title="DOW-UAP-PR104, Unresolved UAP Report, Yellow Sea, 2025" data-lightbox-url="/ufo/#DOW-UAP-PR104-Unresolved-UAP-Report-Yellow-Sea-2025" data-lightbox-sentence="The United States Indo-Pacific Command submitted a report of an unidentified anomalous phenomenon to the All-domain Anomaly Resolution Office (AARO) consisting of 18 seconds of video footage from an infrared sensor aboard a U.S. military platform in 2025." aria-label="Open an image of A still image extracted from an infrared video depicting an area of contrast resembling a six-pointed star." aria-pressed="false" > <img src="/portals/1/Interactive/2026/UFO/071026/Slideshow/DOW-UAP-PR104_Unresolved-UAP-Report_Yellow-Sea_2025.jpg" alt="A still image extracted from an infrared video depicting an area of contrast resembling a six-pointed star." /> </button>
        <button class="thumb thumb-1" type="button" data-lightbox-index="4" data-lightbox-title="DOW-UAP-PR105, Unresolved UAP Report, East China Sea, 2025" data-lightbox-url="/ufo/#DOW-UAP-PR105-Unresolved-UAP-Report-East-China-Sea-2025" data-lightbox-sentence="The United States Indo-Pacific Command submitted a report of an unidentified anomalous phenomenon to the All-domain Anomaly Resolution Office (AARO) consisting of 5 minutes of video footage from an infrared sensor aboard a U.S. military platform in 2025." aria-label="Open an image of A still image extracted from an infrared video depicting an area of contrast superimposed against clouds." aria-pressed="false" > <img src="/portals/1/Interactive/2026/UFO/071026/Slideshow/DOW-UAP-PR105_Unresolved-UAP-Report_East-China-Sea_2025.jpg" alt="A still image extracted from an infrared video depicting an area of contrast superimposed against clouds." /> </button>
        <button class="thumb thumb-1" type="button" data-lightbox-index="5" data-lightbox-title="DOW-UAP-PR113, Unresolved UAP Report, Western United States, 1996" data-lightbox-url="/ufo/#DOW-UAP-PR113-Unresolved-UAP-Report-Western-United-States-1996" data-lightbox-sentence="The United States Navy Unidentified Anomalous Phenomena Task Force (UAPTF) transferred this media to the All-domain Anomaly Resolution Office (AARO) in 2022. The video contains 2 minutes and 57 seconds of footage likely captured by an infrared sensor aboard a U.S. military platform in 1996." aria-label="Open an image of A still image extracted from an infrared video depicting two areas of contrast and certain visual elements of the sensor platform's heads-up display." aria-pressed="false" > <img src="/portals/1/Interactive/2026/UFO/071026/Slideshow/DOW-UAP-PR113_Unresolved-UAP-Report_Western-US_1996.jpg" alt="A still image extracted from an infrared video depicting two areas of contrast and certain visual elements of the sensor platform's heads-up display." /> </button>
        <button class="thumb thumb-1" type="button" data-lightbox-index="6" data-lightbox-title="DOW-UAP-PR115, Unresolved UAP Report, Gulf of America, 2019" data-lightbox-url="/ufo/#DOW-UAP-PR115-Unresolved-UAP-Report-Gulf-of-America-2019" data-lightbox-sentence="The United States Air Force submitted a report of an unidentified anomalous phenomenon to the All-domain Anomaly Resolution Office (AARO) consisting of 8 seconds of video footage from an infrared sensor aboard a U.S. military platform in 2019." aria-label="Open an image of A still image extracted from an infrared video depicting an area of contrast superimposed against the surface of a body of water. " aria-pressed="false" > <img src="/portals/1/Interactive/2026/UFO/071026/Slideshow/DOW-UAP-PR115_Unresolved-UAP-Report_Gulf-of-America_2019.jpg" alt="A still image extracted from an infrared video depicting an area of contrast superimposed against the surface of a body of water." /> </button>
        <button class="thumb thumb-1" type="button" data-lightbox-index="7" data-lightbox-title="NASA-UAP-D030, STS-80 Unidentified Object Image 1, 1996" data-lightbox-url="/ufo/#NASA-UAP-D030-STS-80-Unidentified-Object-Image-1-1996" data-lightbox-sentence="During STS-80, between November 19 and December 7, 1996, astronauts aboard Space Shuttle Columbia captured a series of three images of an unidentified object in low-Earth orbit. In the first photograph, the object is visible near the center of the frame, to the right of the limb of the Earth. " aria-label="Open an image of A photograph of an unidentified object in low-Earth orbit, taken from Space Shuttle Columbia in 1996." aria-pressed="false" > <img src="/portals/1/Interactive/2026/UFO/071026/Slideshow/NASA-UAP-D030_STS-80-Unidentified-Object-Image1_1996.jpg" alt="A photograph of an unidentified object in low-Earth orbit, taken from Space Shuttle Columbia in 1996." /> </button>
        <button class="thumb thumb-1" type="button" data-lightbox-index="8" data-lightbox-title="NASA-UAP-D031, STS-80 Unidentified Object Image 2, 1996" data-lightbox-url="/ufo/#NASA-UAP-D031-STS-80-Unidentified-Object-Image-2-1996" data-lightbox-sentence="During STS-80, between November 19 and December 7, 1996, astronauts aboard Space Shuttle Columbia captured a series of three images of an unidentified object in low-Earth orbit. In the second photograph, the object is visible near the center of the frame, to the right of the limb of the Earth. " aria-label="Open an image of A photograph of an unidentified object in low-Earth orbit, taken from Space Shuttle Columbia in 1996." aria-pressed="false" > <img src="/portals/1/Interactive/2026/UFO/071026/Slideshow/NASA-UAP-D031_STS-80-Unidentified-Object-Image2_1996.jpg" alt="A photograph of an unidentified object in low-Earth orbit, taken from Space Shuttle Columbia in 1996." /> </button>
        <button class="thumb thumb-1" type="button" data-lightbox-index="9" data-lightbox-title="NASA-UAP-D032, STS-80 Unidentified Object Image 3, 1996" data-lightbox-url="/ufo/#NASA-UAP-D032-STS-80-Unidentified-Object-Image-3-1996" data-lightbox-sentence="During STS-80, between November 19 and December 7, 1996, astronauts aboard Space Shuttle Columbia captured a series of three images of an unidentified object in low-Earth orbit. In the third photograph, the object is visible near the center of the frame, superimposed against the Earth." aria-label="Open an image of A photograph of an unidentified object in low-Earth orbit, taken from Space Shuttle Columbia in 1996." aria-pressed="false" > <img src="/portals/1/Interactive/2026/UFO/071026/Slideshow/NASA-UAP-D032_STS-80-Unidentified-Object-Image3_1996.jpg" alt="A photograph of an unidentified object in low-Earth orbit, taken from Space Shuttle Columbia in 1996." /> </button>
      </div>
    </div>
    <button class="carousel-nav carousel-next" type="button" data-carousel-next aria-label="Next evidence photo" > > </button>
    <div aria-label="Evidence carousel controls" class="carousel-controls">
      <button type="button" data-carousel-target="0" aria-label="Open an image of A declassified secret transmittal letter from the United States Atomic Energy Commission, dated March 22, 1949, regarding a conference on aerial phenomena." ></button>
      <button type="button" data-carousel-target="1" aria-label="Open an image of A page from a declassified document showing a hand-drawn sketch of a cylindrical object, labeled Fig. 8." ></button>
      <button type="button" data-carousel-target="2" aria-label="Open an image of A black and white photograph of a large, delta-winged aircraft prototype resting on the ground, marked as confidential." ></button>
      <button type="button" data-carousel-target="3" aria-label="Open an image of A still image extracted from an infrared video depicting an area of contrast resembling a six-pointed star." ></button>
      <button type="button" data-carousel-target="4" aria-label="Open an image of A still image extracted from an infrared video depicting an area of contrast superimposed against clouds." ></button>
      <button type="button" data-carousel-target="5" aria-label="Open an image of A still image extracted from an infrared video depicting two areas of contrast and certain visual elements of the sensor platform's heads-up display." ></button>
      <button type="button" data-carousel-target="6" aria-label="Open an image of A still image extracted from an infrared video depicting an area of contrast superimposed against the surface of a body of water." ></button>
      <button type="button" data-carousel-target="7" aria-label="Open and image of A photograph of an unidentified object in low-Earth orbit, taken from Space Shuttle Columbia in 1996." ></button>
      <button type="button" data-carousel-target="8" aria-label="Open an image of A photograph of an unidentified object in low-Earth orbit, taken from Space Shuttle Columbia in 1996." ></button>
      <button type="button" data-carousel-target="9" aria-label="Open an image of A photograph of an unidentified object in low-Earth orbit, taken from Space Shuttle Columbia in 1996." ></button>
    </div>
  </section>
  <section aria-label="Presidential statement" class="quote-grid reveal-up">
    <h2 class="sr-only">Presidential Statement</h2>
    <div class="quote-source">
      <div>Donald J. Trump</div>
      <span>Truth Social</span> </div>
    <p class="quote-text"> Based on the tremendous interest shown, I will be directing the Secretary of War, and other relevant Departments and Agencies, to begin the process of identifying and releasing Government files related to alien and extraterrestrial life, unidentified aerial phenomena (UAP), and unidentified flying objects (UFOs), and any and all other information connected to these highly complex, but extremely interesting and important, matters. GOD BLESS AMERICA! </p>
    <div class="date">[02 19 26]</div>
  </section>
  <section aria-labelledby="directive-title" class="section reveal-up" id="directive" >
    <h2 class="section-heading" id="directive-title"> <span>Directive</span> </h2>
    <div class="directive-grid">
      <p> In response to President Donald J. Trump’s directive for transparency on U.S. government information regarding Unidentified Anomalous Phenomena (UAP), the Department of War (DOW), with support from the Office of the Director of National Intelligence (ODNI), is overseeing government wide efforts to expeditiously find, review, identify, declassify and publicly release unresolved UAP-related records and historical documents in the federal government’s possession. This is an unprecedented, historic undertaking that requires coordination between dozens of agencies and the review of tens of millions of records, many existing only on paper, spanning many decades. Given the scope of this task, the Department of War will be releasing new materials on a rolling basis as they are discovered and declassified, with tranches posted every few weeks. </p>
      <p> The materials archived here are unresolved cases, meaning the government is unable to make a definitive determination on the nature of the observed phenomena. This can occur for a variety of reasons, including a lack of sufficient data, and the Department of War welcomes the application of private-sector analysis, information and expertise. DOW will continue to conduct separate reporting on resolved UAP cases, as mandated by statute. Under this Administration, we will pursue the truth and share our findings with the American people. </p>
    </div>
  </section>
  <section aria-labelledby="statement-title" class="section reveal-up in-view" id="statement" >
    <h2 class="section-heading" id="statement-title"> <span>Statement</span> </h2>
    <div class="statement">
      <p> "The Department of War is in lockstep with President Trump to bring unprecedented transparency regarding our government’s understanding of Unidentified Anomalous Phenomena. These files, hidden behind classifications, have long fueled justified speculation — and it’s time the American people see it for themselves. This release of declassified documents demonstrates the Trump Administration’s earnest commitment to unprecedented transparency." - United States Secretary of War Pete Hegseth </p>
    </div>
  </section>
  <section aria-labelledby="release-title" class="section release reveal-up in-view" id="release" >
    <h2 id="release-title" class="sr-only">PURSUE release files</h2>
    <div class="section-heading release-tabs" role="tablist" aria-label="Release tabs" >
      <button class="tab-link release-tab active" id="release-tab-all" type="button" role="tab" aria-selected="true" aria-controls="release-panel-all" data-release="all" > <span>All</span> </button>
      <button class="tab-link release-tab" id="release-tab-01" type="button" role="tab" aria-selected="false" aria-controls="release-panel-01" data-release="01" > <span >R
      <div class="mobile-hide">elease&nbsp;</div>
      01</span > </button>
      <button class="tab-link release-tab" id="release-tab-02" type="button" role="tab" aria-selected="false" aria-controls="release-panel-02" data-release="02" > <span >R
      <div class="mobile-hide">elease&nbsp;</div>
      02</span > </button>
      <button class="tab-link release-tab" id="release-tab-03" type="button" role="tab" aria-selected="false" aria-controls="release-panel-03" data-release="03" > <span >R
      <div class="mobile-hide">elease&nbsp;</div>
      03</span > </button>
      <button class="tab-link release-tab" id="release-tab-04" type="button" role="tab" aria-selected="false" aria-controls="release-panel-04" data-release="04" > <span >R
      <div class="mobile-hide">elease&nbsp;</div>
      04</span > </button>
    </div>
    <div class="release-panel active" id="release-panel-all" role="tabpanel" aria-labelledby="release-tab-all" tabindex="0" >
      <div class="statement all">
        <p> Search the database below for all PURSUE files released to date. Use the tabs above or the filters below to search by release date, agency and file type, and to access file downloads. Click here to view the <a href="?release=04" data-release-link="04" class="info-link" >LATEST RELEASE</a > and related documents. </p>
        <p class="info-text"> Search, filter, sort, view and download all available PURSUE records in the database. </p>
      </div>
    </div>
    <div class="release-panel" id="release-panel-01" role="tabpanel" aria-labelledby="release-tab-01" tabindex="0" hidden >
      <div class="release-top">
        <p class="release-meta"> <a href="/News/Releases/Release/Article/4480582/department-of-war-releases-unidentified-anomalous-phenomena-files-in-historic-t/" > CLEARED FOR RELEASE - MAY 8, 2026 </a> </p>
      </div>
      <div class="uapr-content">
        <div class="release-copy">
          <p class="info-text"> Search, filter, sort, view and download Release 01 PURSUE records in the database. </p>
        </div>
        <div class="uarp-buttons"> <a class="button arrow" href="/medialink/ufo/bundle/Release_1.zip" >Download Release 01 Documents [1.2gb]</a > <a class="button arrow" href="https://d34w7g4gy10iej.cloudfront.net/uapvideos.zip" >Download Release 01 Videos [1.3gb]</a > </div>
      </div>
    </div>
    <div class="release-panel" id="release-panel-02" role="tabpanel" aria-labelledby="release-tab-02" tabindex="0" hidden >
      <div class="release-top">
        <p class="release-meta"> <a href="/News/Releases/Release/Article/4499305/department-of-war-publishes-second-release-of-unidentified-anomalous-phenomena/" > CLEARED FOR RELEASE - MAY 22, 2026 </a> </p>
      </div>
      <div class="uapr-content">
        <div class="release-copy">
          <p class="info-text"> Search, filter, sort, view and download Release 02 PURSUE records in the database. </p>
        </div>
        <div class="uarp-buttons"> <a class="button arrow" href="/medialink/ufo/052226/release_02/release_02_document_bundle.zip" >Download Release 02 Documents [70.1mb]</a > <a class="button arrow" href="https://d34w7g4gy10iej.cloudfront.net/uap052226.zip" >Download Release 02 Videos [5.6gb]</a > </div>
      </div>
    </div>
    <div class="release-panel" id="release-panel-03" role="tabpanel" aria-labelledby="release-tab-03" tabindex="0" hidden >
      <div class="release-top">
        <p class="release-meta"> <a href="/News/Releases/Release/Article/4515408/department-of-war-publishes-third-release-of-unidentified-anomalous-phenomena-f/" > CLEARED FOR RELEASE - JUNE 12, 2026 </a> </p>
      </div>
      <div class="uapr-content">
        <div class="release-copy">
          <p class="info-text"> Search, filter, sort, view and download Release 03 PURSUE records in the database. </p>
        </div>
        <div class="uarp-buttons"> <a class="button arrow" href="/medialink/ufo/061226/release_03/release_03_documents.zip" >Download Release 03 Documents [826mb]</a > <a class="button arrow" href="https://d34w7g4gy10iej.cloudfront.net/release_03/uap_videos_061226.zip" >Download Release 03 Videos [4.6gb]</a > </div>
      </div>
    </div>
    <div class="release-panel" id="release-panel-04" role="tabpanel" aria-labelledby="release-tab-04" tabindex="0" hidden >
      <div class="release-top">
        <p class="release-meta"> <a href="/News/Releases/Release/Article/4539898/department-of-war-publishes-fourth-release-of-unidentified-anomalous-phenomena/">CLEARED FOR RELEASE - JULY 10, 2026 </a> </p>
      </div>
      <div class="uapr-content">
        <div class="release-copy">
          <p class="info-text"> Search, filter, sort, view and download Release 04 PURSUE records in the database. </p>
        </div>
        <div class="uarp-buttons"> <a class="button arrow" href="/medialink/ufo/071026/release_04/release_04_documents_071026.zip" >Download Release 04 Documents [227mb]</a > <a class="button arrow" href="https://d34w7g4gy10iej.cloudfront.net/release_04/uap_release04_videos_071026.zip" >Download Release 04 Videos [1.4gb]</a > </div>
      </div>
    </div>
  </section>
  <!---- END NEW CHANGES -->
  <section aria-label="Released records" class="records reveal-up" id="records" >
    <h2 class="sr-only">Releases</h2>
    <div class="record-search-wrap">
      <div class="record-search-box">
        <input type="text" class="record-search" id="recordSearch" placeholder="Search records..." aria-label="Search records" />
        <!-- <button type="button" class="record-search-clear" id="recordSearchClear" aria-label="Clear search" disabled > ✕ </button> --> </div>
      <div class="record-filter-controls">
        <div class="custom-filter" data-filter="agency">
          <button type="button" class="custom-filter-button"> All Agencies </button>
          <div class="custom-filter-menu"></div>
        </div>
        <div class="custom-filter" data-filter="releaseDate">
          <button type="button" class="custom-filter-button"> All Releases </button>
          <div class="custom-filter-menu"></div>
        </div>
        <div class="custom-filter" data-filter="type">
          <button type="button" class="custom-filter-button"> All Types </button>
          <div class="custom-filter-menu"></div>
        </div>
      </div>
    </div>
    <div class="table-wrapper" role="table" aria-label="Released records">
      <div aria-label="Record filters" class="filters" role="row" aria-label="Record table header" >
      <button class="filter-cell" type="button" role="columnheader" data-sort-field="title" > <span id="recordCount">0</span> Files </button>
      <button class="filter-cell" type="button" role="columnheader" data-sort-field="agency" > Agency </button>
      <button class="filter-cell" type="button" role="columnheader" data-sort-field="releaseDate" > Release </button>
      <button class="filter-cell" type="button" role="columnheader" data-sort-field="incidentDate" > Incident Date </button>
      <button class="filter-cell" type="button" role="columnheader" data-sort-field="incidentLocation" > Incident Location </button>
      <button class="filter-cell" type="button" role="columnheader" data-sort-field="fileType" > Type </button>
    </div>
    <div class="record-list" id="recordList"></div>
    </div>
    <nav aria-label="Records pagination" class="pagination" id="recordPagination" ></nav>
  </section>
  <section aria-labelledby="learn-title" class="section learn reveal-up" id="learn" >
    <h2 class="section-heading" id="learn-title"><span>Learn More</span></h2>
    <div class="learn-row">
      <p>If you want to see other historical UAP records:</p>
      <a class="button arrow" href="https://www.aaro.mil/" rel="noreferrer" target="_blank" >Visit AARO.mil </a> </div>
  </section>
</main>
<div aria-label="Evidence image viewer" aria-modal="true" class="lightbox" hidden="" id="evidence-lightbox" role="dialog" >
  <button class="lightbox-close" type="button" data-lightbox-close> Close </button>
  <button class="lightbox-step lightbox-prev" type="button" data-lightbox-prev aria-label="Previous lightbox image" > < </button>
  <figure class="lightbox-frame"> <img alt="" id="lightbox-image" src="" />
    <figcaption> <span id="lightbox-caption">[PR-011] Evidence photo 1</span> </figcaption>
  </figure>
  <button aria-label="Next lightbox image" class="lightbox-step lightbox-next" data-lightbox-next="" type="button" > > </button>
</div>
<div aria-labelledby="record-modal-title" aria-modal="true" class="record-modal" hidden="" id="record-modal" role="dialog" >
  <div class="record-modal-shell" data-record-modal-shell="">
    <header class="record-modal-header">
      <div class="record-modal-titlebar"> <span class="record-modal-agency" data-record-modal-agency="" >[AARO]</span ><span aria-hidden="true" class="record-modal-divider">\\</span>
        <h2 data-record-modal-title="" id="record-modal-title"> Record detail </h2>
      </div>
      <div class="record-modal-actions">
        <button aria-label="Close record detail" class="record-modal-close" data-record-modal-close="" type="button" > X </button>
      </div>
    </header>
    <div class="record-modal-content">
      <div class="record-modal-left">
        <div class="record-modal-summary">
          <div class="record-modal-copy" data-record-modal-copy=""></div>
          <button class="button arrow record-modal-download" data-record-modal-download="" disabled="disabled" type="button" download > Download </button>
        </div>
        <dl class="record-modal-facts" data-record-modal-facts="">
        </dl>
      </div>
      <div class="record-media" data-record-modal-media=""></div>
    </div>
  </div>
</div>
<footer class="footer">
  <div> Presidential Unsealing and Reporting System for UAP Encounters (PURSUE) </div>
  <div class="meta-stack"> <span>
    <div class="est-clock"></div>
    </span> <span>38°52′15″N, 77°03′18″W</span> </div>
</footer>
</div>

	</div>

</div><!-- Analytics Script -->
<script
  src="/Desktopmodules/SharedLibrary/Plugins/DVIDSAnalytics/DVIDSVideoAnalytics.min.js?cdv=2020"
  type="text/javascript"
></script>
<script
  type="text/javascript"
  src="/DesktopModules/DVIDSVideoPlayer/Components/analyticsParamsForDVIDSAnalyticsAPI.js"
></script>
<script src="/desktopmodules/sharedlibrary/validatedplugins/hls.js/hls.js"></script>
<script>
  (() => {
    const app = document.querySelector("#aaro");
    if (!app) return;

    if (app.dataset.aaroScriptInitialized === "true") return;
    app.dataset.aaroScriptInitialized = "true";

    const csvUrl = "/Portals/1/Interactive/2026/UFO/uap-data.csv?release=4";

    const thumbs = Array.from(
      app.querySelectorAll(".thumb[data-lightbox-index]"),
    );
    const dots = Array.from(app.querySelectorAll("[data-carousel-target]"));
    const carouselField = app.querySelector(".evidence-field");
    const carouselTrack = app.querySelector(".carousel-track");
    const prevButton = app.querySelector("[data-carousel-prev]");
    const nextButton = app.querySelector("[data-carousel-next]");
    const lightbox = document.getElementById("evidence-lightbox");
    const lightboxImage = document.getElementById("lightbox-image");
    const lightboxCaption = document.getElementById("lightbox-caption");
    const closeButton = document.querySelector("[data-lightbox-close]");
    const lightboxPrev = document.querySelector("[data-lightbox-prev]");
    const lightboxNext = document.querySelector("[data-lightbox-next]");

    const recordList = app.querySelector("#recordList, .record-list");
    const recordCount = app.querySelector("#recordCount");

    const recordModal = document.getElementById("record-modal");
    const recordModalShell = document.querySelector(
      "[data-record-modal-shell]",
    );
    const recordModalAgency = document.querySelector(
      "[data-record-modal-agency]",
    );
    const recordModalTitle = document.querySelector(
      "[data-record-modal-title]",
    );
    const recordModalCopy = document.querySelector("[data-record-modal-copy]");
    const recordModalFacts = document.querySelector(
      "[data-record-modal-facts]",
    );
    const recordModalMedia = document.querySelector(
      "[data-record-modal-media]",
    );
    const recordModalDownload = document.querySelector(
      "[data-record-modal-download]",
    );
    const recordModalClose = document.querySelector(
      "[data-record-modal-close]",
    );
    const recordPagination = app.querySelector("#recordPagination");
    let allRecords = [];
    let releaseLabels = {};
    let filteredRecords = [];
    let currentRecordPage = 1;
    const recordsPerPage = 12;
    let playedVideos = [];

    let currentSortField = "";
    let currentSortDirection = "asc";

    let activeIndex = 0;
    let lastFocus = null;
    let autoTimer = null;
    let _closingFromPopstate = false;

    const autoDelay = 2600;
    const allowAuto = false;

    const defaultPageTitle = document.title;
    const defaultMeta = {
      description: getMetaContent("description"),
      ogTitle: getMetaContent("og:title"),
      ogDescription: getMetaContent("og:description"),
      ogImage: getMetaContent("og:image"),
      twitterTitle: getMetaContent("twitter:title"),
      twitterDescription: getMetaContent("twitter:description"),
      twitterImage: getMetaContent("twitter:image"),
    };

    function getMetaContent(name) {
      const el =
        document.querySelector(`meta[name="${name}"]`) ||
        document.querySelector(`meta[property="${name}"]`);

      return el ? el.getAttribute("content") || "" : "";
    }

    function setMetaContent(name, content, attrType) {
      if (!content) return;

      const selector =
        attrType === "property"
          ? `meta[property="${name}"]`
          : `meta[name="${name}"]`;

      let el = document.querySelector(selector);

      if (!el) {
        el = document.createElement("meta");
        el.setAttribute(attrType, name);
        document.head.appendChild(el);
      }

      el.setAttribute("content", content);
    }

    function updatePageMetaForRecord(record) {
      const title = record.title || "PURSUE Record Detail";
      const description =
        record.description ||
        `${title} — ${record.agency || "PURSUE"} record released under PURSUE.`;

      const image = record.imageUrl ? record.imageUrl.split("|")[0].trim() : "";

      document.title = `${title} | PURSUE`;

      setMetaContent("description", description, "name");

      setMetaContent("og:title", title, "property");
      setMetaContent("og:description", description, "property");
      setMetaContent("og:url", window.location.href, "property");

      setMetaContent("twitter:title", title, "name");
      setMetaContent("twitter:description", description, "name");

      if (image) {
        setMetaContent("og:image", image, "property");
        setMetaContent("twitter:image", image, "name");
      }
    }

    function restoreDefaultPageMeta() {
      document.title = defaultPageTitle;

      setMetaContent("description", defaultMeta.description, "name");

      setMetaContent("og:title", defaultMeta.ogTitle, "property");
      setMetaContent("og:description", defaultMeta.ogDescription, "property");
      setMetaContent("og:image", defaultMeta.ogImage, "property");

      setMetaContent("twitter:title", defaultMeta.twitterTitle, "name");
      setMetaContent(
        "twitter:description",
        defaultMeta.twitterDescription,
        "name",
      );
      setMetaContent("twitter:image", defaultMeta.twitterImage, "name");
    }

    function parseCSV(csvText) {
      const rows = [];
      let row = [];
      let cell = "";
      let insideQuotes = false;

      for (let i = 0; i < csvText.length; i++) {
        const char = csvText[i];
        const nextChar = csvText[i + 1];

        if (char === '"' && insideQuotes && nextChar === '"') {
          cell += '"';
          i++;
        } else if (char === '"') {
          insideQuotes = !insideQuotes;
        } else if (char === "," && !insideQuotes) {
          row.push(cell.trim());
          cell = "";
        } else if ((char === "\n" || char === "\r") && !insideQuotes) {
          if (cell || row.length) {
            row.push(cell.trim());
            rows.push(row);
            row = [];
            cell = "";
          }

          if (char === "\r" && nextChar === "\n") i++;
        } else {
          cell += char;
        }
      }

      if (cell || row.length) {
        row.push(cell.trim());
        rows.push(row);
      }

      return rows;
    }

    function escapeHtml(value) {
      return String(value || "").replace(/[&<>"']/g, (char) => {
        return {
          "&": "&amp;",
          "<": "&lt;",
          ">": "&gt;",
          '"': "&quot;",
          "'": "&#39;",
        }[char];
      });
    }

    function cleanCsvValue(value) {
      return String(value || "")
        .replace(/\u00A0/g, " ")
        .replace(/&nbsp;/gi, " ")
        .trim();
    }

    function titleToHash(title) {
      return String(title || "")
        .trim()
        .replace(/\s+/g, "-")
        .replace(/[^A-Za-z0-9\-_]/g, "")
        .replace(/-+/g, "-");
    }

    function getFileType(url) {
      if (!url) return ".pdf";
      const cleanUrl = String(url).split("?")[0].trim();
      const match = cleanUrl.match(/\.[a-z0-9]+$/i);
      return match ? match[0].toLowerCase() : ".pdf";
    }

    function normalizeType(type) {
      if (!type) return ".pdf";
      const cleanType = String(type).trim().toLowerCase();
      return cleanType.startsWith(".") ? cleanType : "." + cleanType;
    }

    function getRecordKind(fileType) {
      return String(fileType || ".pdf")
        .replace(".", "")
        .toLowerCase();
    }

    function isVideo(fileType) {
      return [".mp4", ".webm", ".ogg", ".mov"].includes(fileType);
    }

    function isImage(fileType) {
      return [".jpg", ".jpeg", ".png", ".gif", ".webp", ".img"].includes(
        fileType,
      );
    }

    function getDocumentType(type) {
      if (!type) return "pdf";

      const first = String(type).trim()[0].toUpperCase();

      if (first === "V" || first === "A") return "video";
      if (first === "I") return "image";

      return "pdf";
    }

    function renderRecordFacts(record) {
      const virinHtml =
        record.virin && record.virin.trim()
          ? `
      <div class="record-modal-fact">
        <dt>VIRIN</dt>
        <dd>[${escapeHtml(record.virin)}]</dd>
      </div>
      `
          : "";

      return `
      <div class="record-modal-fact">
        <dt>Asset File Name</dt>
        <dd>[${escapeHtml(record.title)}]</dd>
      </div>

      <div class="record-modal-fact">
        <dt>Release</dt>
       <dd>[${escapeHtml(getReleaseLabel(record.releaseDate))}]</dd>
      </div>

      <div class="record-modal-fact">
        <dt>Agency</dt>
        <dd>[${escapeHtml(record.agency)}]</dd>
      </div>

      <div class="record-modal-fact">
        <dt>Incident Date</dt>
        <dd>[${escapeHtml(record.incidentDate)}]</dd>
      </div>

      <div class="record-modal-fact">
        <dt>Incident Location</dt>
        <dd>[${escapeHtml(record.incidentLocation)}]</dd>
      </div>

      <div class="record-modal-fact">
        <dt>Document Type</dt>
        <dd>[${escapeHtml(record.fileType)}]</dd>
      </div>

      ${virinHtml}
    `;
    }

    function renderVideoMedia(record) {
      const videoIds = record.videoUrl
        ? record.videoUrl
            .split("|")
            .map(function (s) {
              return s.trim();
            })
            .filter(Boolean)
        : [];

      if (!videoIds.length) {
        return `
        <div class="record-video-preview" aria-label="Video footage preview">
          <span class="record-video-play">Video unavailable</span>
        </div>
      `;
      }

      const thumbsHtml =
        videoIds.length > 1
          ? '<div class="record-thumbs" aria-label="Video thumbnails"></div>'
          : "";

      const firstImageUrl = record.imageUrl
        ? record.imageUrl.split("|")[0].trim()
        : "";
      const posterAttr = firstImageUrl
        ? ` poster="${escapeHtml(firstImageUrl)}"`
        : "";

      return `
      <div class="record-video-preview" aria-label="Video footage preview">
        <span class="record-corner record-corner-top-left" aria-hidden="true"></span>
        <span class="record-corner record-corner-top-right" aria-hidden="true"></span>
        <span class="record-corner record-corner-bottom-left" aria-hidden="true"></span>
        <span class="record-corner record-corner-bottom-right" aria-hidden="true"></span>
        <span class="record-video-play">Play footage</span>
        <video controls="" crossorigin="anonymous" id="record-video-player" playsinline=""${posterAttr}
               style="position:absolute;inset:0;width:100%;height:100%;object-fit:contain;z-index:1;">&nbsp;</video>
      </div>
      ${thumbsHtml}
    `;
    }

    function renderImageMedia(record) {
      const imageUrls = record.imageUrl
        ? record.imageUrl
            .split("|")
            .map(function (s) {
              return s.trim();
            })
            .filter(Boolean)
        : [];

      if (!imageUrls.length) {
        return `
        <div class="record-image-preview" aria-label="Image preview">
          <span class="record-image-label">Image unavailable</span>
        </div>
      `;
      }

      const thumbsHtml =
        imageUrls.length > 1
          ? '<div class="record-thumbs" aria-label="Image thumbnails"></div>'
          : "";

      return `
      <div class="record-image-preview" aria-label="Image preview">
        <img id="record-main-image"
             src="${escapeHtml(imageUrls[0])}"
            alt="${escapeHtml(record.altText || record.title)}"
             style="position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1;">
      </div>
      ${thumbsHtml}
    `;
    }

    function renderPdfMedia(record) {
      if (record.imageUrl) {
        return renderImageMedia(record);
      }

      return `
      <div class="record-pdf-preview" aria-label="PDF preview">
        <div class="record-pdf-clearance">CLEARED<br>For Open Publication<br>${escapeHtml(record.releaseDate)}</div>
        <div class="record-pdf-seal">${escapeHtml(record.agency.charAt(0) || "R")}</div>
        <p class="record-pdf-agency">${escapeHtml(record.agency)}</p>
        <p class="record-pdf-title">${escapeHtml(record.title)}</p>
        <p class="record-pdf-page">1</p>
      </div>
    `;
    }

    function renderRecordMedia(record) {
      const docType = getDocumentType(record.documentType);
      if (docType === "video") return renderVideoMedia(record);
      if (docType === "image") return renderImageMedia(record);
      return renderPdfMedia(record);
    }

    function hydrateRecordModal(record) {
      if (
        !recordModal ||
        !recordModalShell ||
        !recordModalTitle ||
        !recordModalCopy ||
        !recordModalFacts ||
        !recordModalMedia ||
        !recordModalDownload
      ) {
        return;
      }

      recordModal.dataset.recordKind = record.kind;
      recordModalShell.dataset.recordKind = record.kind;

      if (recordModalAgency) {
        recordModalAgency.textContent = `[${record.agency || "AARO"}]`;
      }

      recordModalTitle.textContent =
        record.title || record.assetFileName || "Record detail";

      const descriptionHtml = record.description
        ? record.description.replace(/[\r\n]+/g, "<br/><br/>")
        : "";

      const redactedSentence =
        record.redacted && record.redacted.trim()
          ? `<p class="record-modal-redacted">Redactions have been made to protect the identity of eyewitnesses, the location of government facilities, or potentially sensitive information about military sites not related to UAP. No redactions have been made to any files released under President Trump's directive concerning information about the nature or existence of any encounter reported as a UAP or related phenomena.</p>`
          : "";

      recordModalCopy.innerHTML = `
  <p>${descriptionHtml}</p>
  ${redactedSentence}
`;

      recordModalFacts.innerHTML = renderRecordFacts(record);
      recordModalMedia.innerHTML = renderRecordMedia(record);

      recordModalMedia.insertAdjacentHTML(
        "beforeend",
        '<div class="record-related-media" data-record-related-media="" hidden></div>',
      );

      const _docType = getDocumentType(record.documentType);

      const _videoIds = record.videoUrl
        ? record.videoUrl
            .split("|")
            .map(function (s) {
              return s.trim();
            })
            .filter(Boolean)
        : [];

      const _imageUrls = record.imageUrl
        ? record.imageUrl
            .split("|")
            .map(function (s) {
              return s.trim();
            })
            .filter(Boolean)
        : [];

      if (_docType === "video") {
        recordModalDownload.disabled = true;
        recordModalDownload.textContent = "Download Video";
        recordModalDownload.setAttribute("aria-label", "Preparing download...");
        recordModalDownload.onclick = null;

        if (typeof initVideoPlayer === "function") {
          initVideoPlayer(_videoIds, record);
        }
      } else if (_docType === "image") {
        const _dlUrl = record.documentUrl || _imageUrls[0] || null;

        recordModalDownload.disabled = !_dlUrl;
        recordModalDownload.textContent = "Download Image";
        recordModalDownload.setAttribute(
          "aria-label",
          _dlUrl ? `Download ${record.title}` : "Download unavailable",
        );

        recordModalDownload.onclick = _dlUrl
          ? function () {
              window.open(_dlUrl, "_blank", "noopener");
            }
          : null;

        if (_imageUrls.length > 1 && typeof buildImageThumbs === "function") {
          buildImageThumbs(_imageUrls);
        }
      } else {
        const _dlUrl = record.documentUrl || null;

        recordModalDownload.disabled = !_dlUrl;
        recordModalDownload.textContent = "Download";
        recordModalDownload.setAttribute(
          "aria-label",
          _dlUrl ? `Download ${record.title}` : "Download unavailable",
        );

        recordModalDownload.onclick = _dlUrl
          ? function () {
              window.open(_dlUrl, "_blank", "noopener");
            }
          : null;
      }

      buildRelatedMedia(record);
    }

    function openRecordModal(record) {
      if (!recordModal || !recordModalClose) return;

      stopAuto();
      hydrateRecordModal(record);
      updatePageMetaForRecord(record);

      lastFocus = document.activeElement;
      recordModal.hidden = false;

      document.body.classList.add("lightbox-open");

      recordModalClose.focus();
      // GA4
      history.pushState(null, "", "#" + titleToHash(record.title));

      console.log("click1 " + (typeof gas4 === "function"));
      if (typeof gas4 === "function") {
        gas4("page_view", {
          page_location: "/UFOTrack/",
          page_title: record.title,
        });
      }
      // END GA4
    }

    function closeRecordModal() {
      if (!recordModal || recordModal.hidden) return;

      const video = recordModal.querySelector("video");

      if (video) video.pause();

      recordModal.hidden = true;

      document.body.classList.remove("lightbox-open");

      restartAuto();

      if (!_closingFromPopstate) {
        history.replaceState(null, "", location.pathname + location.search);
      }

      restoreDefaultPageMeta();

      if (lastFocus && typeof lastFocus.focus === "function") {
        lastFocus.focus();
      }
    }

    function buildReleaseLabels() {
      const dates = [
        ...new Set(
          allRecords
            .map(function (record) {
              return record.releaseDate;
            })
            .filter(Boolean),
        ),
      ];

      dates.sort(function (a, b) {
        return new Date(a) - new Date(b);
      });

      releaseLabels = {};

      dates.forEach(function (date, index) {
        releaseLabels[date] = `Release ${String(index + 1).padStart(2, "0")}`;
      });
    }

    function getReleaseLabel(date) {
      return releaseLabels[date] ? `${date} - ${releaseLabels[date]}` : date;
    }

    function renderRecordRows(records, page = 1) {
      if (!recordList) return;

      currentRecordPage = page;
      recordList.innerHTML = "";

      const start = (currentRecordPage - 1) * recordsPerPage;
      const end = start + recordsPerPage;
      const pagedRecords = records.slice(start, end);

      pagedRecords.forEach((record, index) => {
        const row = document.createElement("button");

        row.className = "record-row";
        row.className = isFeatured(record)
          ? "record-row is-featured"
          : "record-row";
        row.setAttribute("role", "row");

        row.type = "button";
        row.dataset.recordTrigger = "";
        row.dataset.recordId = `record-${String(start + index + 1).padStart(3, "0")}`;

        row.innerHTML = `
      <span role="cell" aria-label="File ${escapeHtml(record.title)}" class="record-title">${escapeHtml(record.title)}</span>
      <span role="cell" aria-label="Agency ${escapeHtml(record.agency)}" class="record-meta">[${escapeHtml(record.agency)}]</span>
     <span role="cell" aria-label="Release ${escapeHtml(getReleaseLabel(record.releaseDate))}" class="record-meta">[${escapeHtml(getReleaseLabel(record.releaseDate))}]</span>
      <span role="cell" aria-label="Incident Date ${escapeHtml(record.incidentDate)}" class="record-meta">[${escapeHtml(record.incidentDate)}]</span>
      <span role="cell" aria-label="Incident Location ${escapeHtml(record.incidentLocation)}" class="record-meta">[${escapeHtml(record.incidentLocation)}]</span>
      <span role="cell" aria-label="File Type ${escapeHtml(record.fileType)}" class="record-meta">[${escapeHtml(record.fileType)}]</span>
      <span role="cell" class="row-arrow" aria-hidden="true"></span>
    `;

        if (!record.isFilteredOut) {
          row.addEventListener("click", () => {
            openRecordModal(record);
          });
        } else {
          row.disabled = true;
          row.setAttribute("aria-disabled", "true");
        }

        recordList.appendChild(row);
      });

      renderRecordPagination(records);
    }

    function getPaginationRange(currentPage, totalPages) {
      const isMobile = window.matchMedia("(max-width: 767px)").matches;
      const isTablet = window.matchMedia("(max-width: 1024px)").matches;

      const siblingCount = isMobile ? 0 : isTablet ? 1 : 2;
      const pages = [];

      const startPage = Math.max(2, currentPage - siblingCount);
      const endPage = Math.min(totalPages - 1, currentPage + siblingCount);

      pages.push(1);

      if (startPage > 2) pages.push("...");

      for (let i = startPage; i <= endPage; i++) {
        pages.push(i);
      }

      if (endPage < totalPages - 1) pages.push("...");

      if (totalPages > 1) pages.push(totalPages);

      return pages;
    }

    function renderRecordPagination(records) {
      if (!recordPagination) return;

      const totalPages = Math.ceil(records.length / recordsPerPage);
      recordPagination.innerHTML = "";

      if (totalPages <= 1) return;

      const prevButton = document.createElement("button");
      prevButton.type = "button";
      prevButton.className = "pagination-button pagination-prev";
      prevButton.textContent = "Prev";
      prevButton.disabled = currentRecordPage === 1;

      prevButton.addEventListener("click", () => {
        if (currentRecordPage > 1) {
          renderRecordRows(records, currentRecordPage - 1);
        }
      });

      recordPagination.appendChild(prevButton);

      getPaginationRange(currentRecordPage, totalPages).forEach((page) => {
        if (page === "...") {
          const dots = document.createElement("span");
          dots.className = "pagination-ellipsis";
          dots.textContent = "...";
          recordPagination.appendChild(dots);
          return;
        }

        const pageButton = document.createElement("button");
        pageButton.type = "button";
        pageButton.className = "pagination-button";
        pageButton.textContent = page;

        if (page === currentRecordPage) {
          pageButton.classList.add("is-active");
          pageButton.setAttribute("aria-current", "page");
        }

        pageButton.addEventListener("click", () => {
          renderRecordRows(records, page);
        });

        recordPagination.appendChild(pageButton);
      });

      const nextButton = document.createElement("button");
      nextButton.type = "button";
      nextButton.className = "pagination-button pagination-next";
      nextButton.textContent = "Next";
      nextButton.disabled = currentRecordPage === totalPages;

      nextButton.addEventListener("click", () => {
        if (currentRecordPage < totalPages) {
          renderRecordRows(records, currentRecordPage + 1);
        }
      });

      recordPagination.appendChild(nextButton);
    }

    function showDatabaseError() {
      if (!recordList) return;

      recordList.innerHTML = `
    <div class="database-error">
      <h3>Database Connection Error</h3>
      <p>
     There was a technical issue loading the records database. Please refresh the page and try again. 
      </p>
      <p>
        If the database connection error appears again, the database may be temporarily unavailable due to updates and should be available soon.
      </p>
    </div>
  `;

      if (recordCount) {
        recordCount.textContent = "0";
      }

      if (recordPagination) {
        recordPagination.innerHTML = "";
      }
    }

    function loadRecordsFromCSV() {
      if (!recordList) return;

      fetch(csvUrl)
        .then((response) => {
          if (!response.ok) {
            throw new Error(`HTTP ${response.status}`);
          }

          return response.text();
        })
        .then((csv) => {
          const rows = parseCSV(csv);

          if (!rows.length || rows.length < 2) {
            throw new Error("CSV contains no records");
          }

          const cleanHeader = (value) =>
            String(value || "")
              .replace(/^\uFEFF/, "")
              .trim()
              .toLowerCase();

          const headers = rows[0].map(cleanHeader);

          const get = (cols, name) => {
            const index = headers.indexOf(cleanHeader(name));
            return index >= 0 ? cleanCsvValue(cols[index]) : "";
          };

          allRecords = rows.slice(1).map((cols) => {
            const redacted = get(cols, "Redaction");
            const releaseDate = get(cols, "Release Date");
            const title = get(cols, "Title").trim();
            const documentType = get(cols, "Type");
            const videoPairing = get(cols, "Video pairing");
            const pdfPairing = get(cols, "PDF PAiring");
            const description = get(cols, "Description Blurb");
            const videoUrl = get(cols, "DVIDS Video ID");
            const agency = get(cols, "Agency");
            const incidentDate = get(cols, "Incident Date");
            const incidentLocation = get(cols, "Incident Location") || "N/A";
            const documentUrl = get(cols, "PDF | Image Link");
            const imageUrl = get(cols, "Modal Image");
            const altText = get(cols, "Image Alt Text");
            const virin = get(cols, "Image VIRIN");
            //new
            const featured = get(cols, "Featured");

            const fileType = documentType
              ? normalizeType(documentType)
              : getFileType(documentUrl || imageUrl || videoUrl);

            const kind = getRecordKind(fileType);

            return {
              //new
              featured,
              redacted,
              releaseDate,
              title,
              documentType,
              videoPairing,
              pdfPairing,
              description,
              videoUrl,
              agency,
              incidentDate,
              incidentLocation,
              documentUrl,
              imageUrl,
              fileType,
              kind,
              altText,
              virin,
            };
          });

          if (recordCount) {
            recordCount.textContent = allRecords.length;
          }

          buildReleaseLabels();
          filteredRecords = allRecords;
          populateRecordFilters();
          applyFiltersFromUrl();

          const initialHash = location.hash.slice(1);
          if (initialHash) {
            const matched = allRecords.find(function (r) {
              return titleToHash(r.title) === initialHash;
            });
            if (matched && recordModal && recordModalClose) {
              stopAuto();
              hydrateRecordModal(matched);
              lastFocus = null;
              recordModal.hidden = false;
              document.body.classList.add("lightbox-open");
              recordModalClose.focus();
            }
          }
        })
        .catch((error) => {
          console.error("CSV could not be loaded:", error);
          showDatabaseError();
        });
    }
    //new
    function isFeatured(record) {
      return String(record.featured || "").trim() !== "";
    }

    function applyFiltersFromUrl() {
      const params = new URLSearchParams(window.location.search);

      activeFilters.agency = params.get("agency") || "";
      activeFilters.releaseDate = params.get("releaseDate") || "";
      activeFilters.type = params.get("type") || "";

      if (recordSearch && params.get("search")) {
        recordSearch.value = params.get("search");
      }

      document.querySelectorAll(".custom-filter").forEach(function (filter) {
        const filterName = filter.dataset.filter;
        const button = filter.querySelector(".custom-filter-button");

        if (!button) return;

        if (activeFilters[filterName]) {
          button.textContent = activeFilters[filterName];
        }
      });

      applyRecordFilters();
    }

    const recordSearch = document.getElementById("recordSearch");
    const recordSearchClear = document.getElementById("recordSearchClear");

    let activeFilters = {
      agency: "",
      releaseDate: "",
      type: "",
    };

    function populateRecordFilters() {
      buildCustomFilter(
        "agency",
        "All Agencies",
        [...new Set(allRecords.map((r) => r.agency).filter(Boolean))].sort(),
      );

      buildCustomFilter(
        "releaseDate",
        "All Releases",
        [...new Set(allRecords.map((r) => r.releaseDate).filter(Boolean))]
          .sort(function (a, b) {
            return new Date(a) - new Date(b);
          })
          .map(function (date) {
            return releaseLabels[date];
          })
          .filter(Boolean),
      );

      buildCustomFilter(
        "type",
        "All Types",
        [...new Set(allRecords.map((r) => r.fileType).filter(Boolean))].sort(),
      );
    }
    function buildCustomFilter(filterName, defaultLabel, values) {
      const filter = document.querySelector(`[data-filter="${filterName}"]`);
      if (!filter) return;

      const button = filter.querySelector(".custom-filter-button");
      const menu = filter.querySelector(".custom-filter-menu");

      menu.innerHTML = "";

      const allOption = document.createElement("button");
      allOption.type = "button";
      allOption.className = "custom-filter-option";
      allOption.textContent = defaultLabel;
      allOption.dataset.value = "";
      menu.appendChild(allOption);

      values.forEach(function (value) {
        const option = document.createElement("button");
        option.type = "button";
        option.className = "custom-filter-option";
        option.textContent = value;
        option.dataset.value = value;
        menu.appendChild(option);
      });

      button.textContent = activeFilters[filterName] || defaultLabel;

      button.onclick = function () {
        document.querySelectorAll(".custom-filter").forEach(function (el) {
          if (el !== filter) el.classList.remove("is-open");
        });

        filter.classList.toggle("is-open");
      };

      menu.querySelectorAll(".custom-filter-option").forEach(function (option) {
        option.addEventListener("click", function () {
          if (this.disabled) return;

          activeFilters[filterName] = this.dataset.value;
          button.textContent = this.dataset.value || defaultLabel;

          filter.classList.remove("is-open");
          applyRecordFilters();
        });
      });
    }

    function updateDisabledFilterOptions() {
      document.querySelectorAll(".custom-filter").forEach(function (filter) {
        const filterName = filter.dataset.filter;

        filter
          .querySelectorAll(".custom-filter-option")
          .forEach(function (option) {
            const value = option.dataset.value;

            if (!value) {
              option.disabled = false;
              option.classList.remove("is-disabled");
              return;
            }

            const wouldHaveResults = allRecords.some(function (record) {
              const query = recordSearch
                ? recordSearch.value.trim().toLowerCase()
                : "";

              const testFilters = {
                ...activeFilters,
                [filterName]: value,
              };

              const matchesSearch =
                !query ||
                String(record.title || "")
                  .toLowerCase()
                  .includes(query) ||
                String(record.agency || "")
                  .toLowerCase()
                  .includes(query) ||
                String(record.incidentLocation || "")
                  .toLowerCase()
                  .includes(query) ||
                String(record.incidentDate || "")
                  .toLowerCase()
                  .includes(query) ||
                String(record.releaseDate || "")
                  .toLowerCase()
                  .includes(query) ||
                String(record.description || "")
                  .toLowerCase()
                  .includes(query);

              const matchesAgency =
                !testFilters.agency || record.agency === testFilters.agency;

              const matchesReleaseDate =
                !testFilters.releaseDate ||
                releaseLabels[record.releaseDate] === testFilters.releaseDate;

              const matchesType =
                !testFilters.type || record.fileType === testFilters.type;

              return (
                matchesSearch &&
                matchesAgency &&
                matchesReleaseDate &&
                matchesType
              );
            });

            option.disabled = !wouldHaveResults;
            option.classList.toggle("is-disabled", !wouldHaveResults);
          });
      });
    }

    function applyRecordFilters() {
      const query = recordSearch ? recordSearch.value.trim().toLowerCase() : "";

      filteredRecords = allRecords.filter(function (record) {
        const matchesSearch =
          !query ||
          String(record.title || "")
            .toLowerCase()
            .includes(query) ||
          String(record.agency || "")
            .toLowerCase()
            .includes(query) ||
          String(record.incidentLocation || "")
            .toLowerCase()
            .includes(query) ||
          String(record.incidentDate || "")
            .toLowerCase()
            .includes(query) ||
          String(record.releaseDate || "")
            .toLowerCase()
            .includes(query) ||
          String(record.description || "")
            .toLowerCase()
            .includes(query);

        const matchesAgency =
          !activeFilters.agency || record.agency === activeFilters.agency;

        const matchesReleaseDate =
          !activeFilters.releaseDate ||
          releaseLabels[record.releaseDate] === activeFilters.releaseDate;

        const matchesType =
          !activeFilters.type || record.fileType === activeFilters.type;

        return (
          matchesSearch && matchesAgency && matchesReleaseDate && matchesType
        );
      });

      if (recordCount) {
        recordCount.textContent = filteredRecords.length;
      }

      filteredRecords.sort(function (a, b) {
        return Number(isFeatured(b)) - Number(isFeatured(a));
      });

      renderRecordRows(filteredRecords, 1);
      updateFilterUrl();
      updateDisabledFilterOptions();

      if (recordSearchClear && recordSearch) {
        recordSearchClear.disabled = !query;
      }
    }

    function updateFilterUrl() {
      const params = new URLSearchParams(window.location.search);

      ["agency", "releaseDate", "type"].forEach(function (key) {
        if (activeFilters[key]) {
          params.set(key, activeFilters[key]);
        } else {
          params.delete(key);
        }
      });

      const query = recordSearch ? recordSearch.value.trim() : "";

      if (query) {
        params.set("search", query);
      } else {
        params.delete("search");
      }

      const queryString = params.toString();
      const newUrl =
        location.pathname +
        (queryString ? "?" + queryString : "") +
        location.hash;

      history.replaceState(null, "", newUrl);
    }

    if (recordSearch) {
      recordSearch.addEventListener("input", applyRecordFilters);
    }

    if (recordSearchClear && recordSearch) {
      recordSearchClear.addEventListener("click", function () {
        recordSearch.value = "";
        applyRecordFilters();
        recordSearch.focus();
      });
    }

    document.addEventListener("click", function (e) {
      if (!e.target.closest(".custom-filter")) {
        document.querySelectorAll(".custom-filter").forEach(function (filter) {
          filter.classList.remove("is-open");
        });
      }
    });

    const wrapIndex = (index) => {
      return (index + thumbs.length) % thumbs.length;
    };

    const getCaption = (index) => {
      const thumb = thumbs[index];

      const image = thumb?.querySelector("img");

      const title =
        thumb?.dataset.lightboxTitle || image?.alt || "Evidence photo";

      const sentence = thumb?.dataset.lightboxSentence || "";

      return { title, sentence };
    };

    const carouselSlot = (index, activeIdx) => {
      const len = thumbs.length;
      let d = index - activeIdx;

      if (d > len / 2) d -= len;
      if (d < -len / 2) d += len;

      return d;
    };

    const layoutCarouselOrder = () => {
      thumbs.forEach((thumb, index) => {
        const slot = carouselSlot(index, activeIndex);
        thumb.style.order = String(slot + thumbs.length);
      });
    };

    const syncTrackPaddingAndScroll = (behavior) => {
      if (!carouselField || !carouselTrack || !thumbs.length) return;

      const fieldRect = carouselField.getBoundingClientRect();

      if (fieldRect.bottom <= 0 || fieldRect.top >= window.innerHeight) return;

      const el = thumbs[activeIndex];
      const cw = carouselField.clientWidth;
      const ew = el.getBoundingClientRect().width;
      const pad = Math.max(0, (cw - ew) / 2);

      carouselTrack.style.paddingLeft = `${pad}px`;
      carouselTrack.style.paddingRight = `${pad}px`;

      void carouselField.offsetHeight;

      const elRect = el.getBoundingClientRect();
      const fieldRect2 = carouselField.getBoundingClientRect();
      const elCenter = elRect.left + elRect.width / 2;
      const fieldCenter = fieldRect2.left + fieldRect2.width / 2;
      const delta = elCenter - fieldCenter;
      const maxScroll = Math.max(
        0,
        carouselField.scrollWidth - carouselField.clientWidth,
      );
      const next = carouselField.scrollLeft + delta;
      const left = Math.min(Math.max(0, next), maxScroll);

      carouselField.scrollTo({
        left,
        behavior: behavior === "smooth" ? "smooth" : "auto",
      });
    };

    const syncActiveCenter = () => {
      requestAnimationFrame(() => {
        syncTrackPaddingAndScroll("auto");
      });
    };

    const setActive = (index) => {
      if (!thumbs.length) return;

      activeIndex = wrapIndex(index);

      thumbs.forEach((thumb, thumbIndex) => {
        const isActive = thumbIndex === activeIndex;

        thumb.classList.toggle("is-active", isActive);
        thumb.setAttribute("aria-pressed", isActive ? "true" : "false");

        // Only active slide is tabbable
        thumb.tabIndex = isActive ? 0 : -1;
      });

      dots.forEach((dot, dotIndex) => {
        const isActive = dotIndex === activeIndex;

        dot.classList.toggle("is-active", isActive);
        dot.setAttribute("aria-current", isActive ? "true" : "false");

        // Prevent dots interrupting focus order
        dot.tabIndex = -1;
      });

      layoutCarouselOrder();
      syncActiveCenter();
    };

    const hydrateLightbox = () => {
      if (!thumbs.length || !lightboxImage || !lightboxCaption) return;

      const image = thumbs[activeIndex].querySelector("img");
      if (!image) return;

      lightboxImage.src = image.src;
      lightboxImage.alt = image.alt;

      const caption = getCaption(activeIndex);

      const recordUrl = thumbs[activeIndex]?.dataset.lightboxUrl || "#";

      lightboxCaption.innerHTML = `
    <strong>
      <a href="${escapeHtml(recordUrl)}"
         class="lightbox-title-link">
        ${escapeHtml(caption.title)}
      </a>
    </strong>
    ${caption.sentence ? `<span>${escapeHtml(caption.sentence)}</span>` : ""}
  `;
    };

    const openLightbox = (index) => {
      if (!lightbox) return;

      stopAuto();
      setActive(index);
      hydrateLightbox();
      lastFocus = document.activeElement;
      lightbox.hidden = false;
      document.body.classList.add("lightbox-open");
      closeButton?.focus();
    };

    const closeLightbox = () => {
      if (!lightbox) return;

      lightbox.hidden = true;
      document.body.classList.remove("lightbox-open");
      restartAuto();

      if (lastFocus && typeof lastFocus.focus === "function") {
        lastFocus.focus();
      }
    };

    const advance = (direction) => {
      setActive(activeIndex + direction);

      if (lightbox && !lightbox.hidden) {
        hydrateLightbox();
      }
    };

    function stopAuto() {
      if (autoTimer) {
        window.clearInterval(autoTimer);
        autoTimer = null;
      }
    }

    function startAuto() {
      if (!allowAuto || autoTimer || (recordModal && !recordModal.hidden))
        return;

      autoTimer = window.setInterval(() => {
        if (
          document.hidden ||
          (lightbox && !lightbox.hidden) ||
          (recordModal && !recordModal.hidden)
        )
          return;

        advance(1);
      }, autoDelay);
    }

    function restartAuto() {
      stopAuto();
      startAuto();
    }

    thumbs.forEach((thumb, index) => {
      thumb.addEventListener("click", () => {
        openLightbox(index);
      });
    });

    dots.forEach((dot, index) => {
      dot.addEventListener("click", () => {
        setActive(index);
        restartAuto();
      });
    });

    prevButton?.addEventListener("click", () => {
      advance(-1);
      restartAuto();
    });

    nextButton?.addEventListener("click", () => {
      advance(1);
      restartAuto();
    });

    closeButton?.addEventListener("click", closeLightbox);
    recordModalClose?.addEventListener("click", closeRecordModal);

    lightboxPrev?.addEventListener("click", () => {
      advance(-1);
    });

    lightboxNext?.addEventListener("click", () => {
      advance(1);
    });

    lightbox?.addEventListener("click", (event) => {
      if (event.target === lightbox) closeLightbox();
    });

    recordModal?.addEventListener("click", (event) => {
      if (event.target === recordModal) closeRecordModal();
    });

    document.addEventListener("keydown", (event) => {
      const isLightboxOpen = lightbox ? !lightbox.hidden : false;
      const isRecordModalOpen = recordModal ? !recordModal.hidden : false;

      if (isRecordModalOpen) {
  trapModalFocus(event, recordModal);
}

if (isLightboxOpen) {
  trapModalFocus(event, lightbox);
}

      if (!isLightboxOpen && !isRecordModalOpen) return;

      if (event.key === "Escape") {
        if (isRecordModalOpen) {
          closeRecordModal();
        } else {
          closeLightbox();
        }

        return;
      }

      if (!isLightboxOpen) return;

      if (event.key === "ArrowLeft") advance(-1);
      if (event.key === "ArrowRight") advance(1);
    });

    carouselField?.addEventListener("mouseenter", stopAuto);
    carouselField?.addEventListener("mouseleave", startAuto);
    carouselField?.addEventListener("focusin", stopAuto);
    carouselField?.addEventListener("focusout", startAuto);

    document.addEventListener("visibilitychange", () => {
      if (document.hidden) {
        stopAuto();
      } else {
        startAuto();
      }
    });

    window.addEventListener("resize", () => {
      syncTrackPaddingAndScroll("auto");
    });

    window.addEventListener("popstate", function () {
      const hash = location.hash.slice(1);
      if (hash) {
        const matched = allRecords.find(function (r) {
          return titleToHash(r.title) === hash;
        });
        if (matched && recordModal && recordModalClose) {
          stopAuto();
          hydrateRecordModal(matched);
          updatePageMetaForRecord(matched);
          lastFocus = document.activeElement;
          recordModal.hidden = false;
          document.body.classList.add("lightbox-open");
          recordModalClose.focus();
        }
      } else {
        _closingFromPopstate = true;
        closeRecordModal();
        _closingFromPopstate = false;
      }
    });

    if (
      thumbs.length &&
      lightbox &&
      lightboxImage &&
      lightboxCaption &&
      carouselField &&
      carouselTrack
    ) {
      setActive(0);
      startAuto();
    }

    loadRecordsFromCSV();

    app.querySelectorAll("[data-sort-field]").forEach((button) => {
      button.addEventListener("click", () => {
        const field = button.dataset.sortField;

        app.querySelectorAll("[data-sort-field]").forEach((btn) => {
          btn.classList.remove("is-active-sort", "is-sort-asc", "is-sort-desc");
        });

        button.classList.add("is-active-sort");
        button.classList.add(
          currentSortField === field && currentSortDirection === "asc"
            ? "is-sort-desc"
            : "is-sort-asc",
        );

        sortRecords(filteredRecords, field);
      });
    });

    // DVIDS video loading
    const VIDEO_ID = 1005876;
    const DVIDS_API_KEY = "key-68bb60d16b35e";

    function escapeVideoHtml(v) {
      return String(v).replace(/[&<>"']/g, function (c) {
        return {
          "&": "&amp;",
          "<": "&lt;",
          ">": "&gt;",
          '"': "&quot;",
          "'": "&#39;",
        }[c];
      });
    }

    function formatDuration(secs) {
      if (secs == null || isNaN(Number(secs))) return "-";
      secs = Math.floor(Number(secs));
      const h = Math.floor(secs / 3600);
      const m = Math.floor((secs % 3600) / 60);
      const s = secs % 60;
      return (
        String(h).padStart(2, "0") +
        ":" +
        String(m).padStart(2, "0") +
        ":" +
        String(s).padStart(2, "0")
      );
    }

    function formatDate(iso) {
      if (!iso) return "-";
      const d = new Date(iso);
      if (isNaN(d.getTime())) return "-";
      return d.toISOString().slice(0, 10);
    }

    async function loadVideo(videoId, autoplay, record) {
      const videoElement = document.getElementById("record-video-player");
      if (!videoElement) return;

      ANALYTICSLIBRARY.init([videoId, "66"]);
      ANALYTICSLIBRARY.loadAnalyticsParam();

      const apiEndpoint = `https://api.dvidshub.net/asset?api_key=${DVIDS_API_KEY}&id=video:${videoId}&thumb_width=720`;

      try {
        const response = await fetch(apiEndpoint, { method: "GET" });

        if (!response.ok) {
          console.log(response.status);
          return;
        }

        const json = await response.json();
        const d = json.results || json.data || json;

        videoElement.innerHTML = "";
        videoElement.crossOrigin = "anonymous";
        if (autoplay) videoElement.removeAttribute("poster");

        if (d.hls_url) {
          if (Hls.isSupported()) {
            var hls = new Hls();
            hls.loadSource(d.hls_url);
            hls.attachMedia(videoElement);
          } else if (
            videoElement.canPlayType("application/vnd.apple.mpegurl")
          ) {
            videoElement.src = d.hls_url;
          }
        }

        if (d.closed_caption_urls && d.closed_caption_urls.webvtt) {
          const track = document.createElement("track");
          track.kind = "subtitles";
          track.label = "English";
          track.srclang = "en";
          track.src = d.closed_caption_urls.webvtt;
          track.default = true;
          videoElement.appendChild(track);
        }

        videoElement.load();
        if (autoplay) videoElement.play();

        if (!autoplay) {
          const downloadBtn = document.querySelector(
            "[data-record-modal-download]",
          );
          if (downloadBtn && d.files) {
            const highestMp4 = d.files
              .filter(function (f) {
                return f.type === "video/mp4";
              })
              .sort(function (a, b) {
                return b.height - a.height;
              })[0];
            if (highestMp4) {
              downloadBtn.removeAttribute("disabled");
              downloadBtn.onclick = null;
              downloadBtn.onclick = async function () {
                try {
                  // Fetching as a blob "tricks" the browser into thinking the file is local
                  const response = await fetch(highestMp4.src);
                  const blob = await response.blob();
                  const url = window.URL.createObjectURL(blob);

                  const filename = highestMp4.src.split("/").pop();

                  const a = document.createElement("a");
                  a.style.display = "none";
                  a.href = url;
                  a.download = filename; // This will now be honored
                  document.body.appendChild(a);
                  a.click();
                  // GA4 TRACKING
                  if (typeof gas4 === "function") {
                    gas4("file_download", {
                      file_extension: "mp4",
                      file_name: d.title,
                      link_url: highestMp4.src,
                    });
                  }
                  // END GA4 TRACKING

                  // Cleanup memory
                  window.URL.revokeObjectURL(url);
                  document.body.removeChild(a);
                } catch (e) {
                  console.log(e);
                  // Backup: If something goes wrong, open in new tab
                  window.open(highestMp4.src, "_blank");
                }
              };
            }
          }

          const factsEl = document.querySelector("[data-record-modal-facts]");
          if (factsEl) {
            const facts = [
              ["Date Taken", formatDate(d.date)],
              [
                "Release",
                releaseLabels[record.releaseDate]
                  ? `${record.releaseDate} - ${releaseLabels[record.releaseDate]}`
                  : record.releaseDate,
              ],
              ["Category", d.category || "-"],
              ["Length", formatDuration(d.duration)],
              [
                "Location",
                (d.location && d.location.country_abbreviation) || "-",
              ],
            ];
            factsEl.innerHTML = facts
              .map(function (pair) {
                return (
                  '<div class="record-modal-fact"><dt>' +
                  escapeVideoHtml(pair[0]) +
                  "</dt><dd>[" +
                  escapeVideoHtml(pair[1]) +
                  "]</dd></div>"
                );
              })
              .join("");
          }
        }
      } catch (error) {
        console.error("Failed to load video " + videoId + ":", error);
      }
    }

    function attachVideoControls() {
      const preview = document.querySelector(".record-video-preview");
      const video = document.getElementById("record-video-player");
      if (!preview || !video) return;

      video.addEventListener("play", function () {
        preview.classList.add("is-playing");
        preview.classList.remove("is-paused");
      });

      video.addEventListener("playing", function (e) {
        if (!playedVideos.includes(analyticsParams.type_id)) {
          playedVideos.push(analyticsParams.type_id);
          DVIDSVideoAnalytics.track("play", analyticsParams);
        }
      });

      video.addEventListener("pause", function () {
        preview.classList.remove("is-playing");
        preview.classList.add("is-paused");
      });

      video.addEventListener("ended", function () {
        preview.classList.remove("is-playing");
        preview.classList.add("is-paused");
        DVIDSVideoAnalytics.track("ended", analyticsParams);
      });

      preview.addEventListener("click", function (e) {
        if (e.target.closest("video")) return;
        if (video.paused) {
          video.play();
        } else {
          video.pause();
        }
      });
    }

    function initVideoPlayer(videoIds, record) {
      if (!videoIds || !videoIds.length) return;

      loadVideo(videoIds[0], false, record);
      attachVideoControls();

      if (videoIds.length > 1 && typeof buildVideoThumbs === "function") {
        buildVideoThumbs(videoIds, record);
      }
    }

    function sortRecords(records, field) {
      const recordsToSort = records || allRecords;

      if (currentSortField === field) {
        currentSortDirection = currentSortDirection === "asc" ? "desc" : "asc";
      } else {
        currentSortField = field;
        currentSortDirection = "asc";
      }

      recordsToSort.sort((a, b) => {
        //new
        const featuredSort = Number(isFeatured(b)) - Number(isFeatured(a));
        if (featuredSort !== 0) return featuredSort;

        let aValue = a[field] || "";
        let bValue = b[field] || "";

        if (field === "releaseDate" || field === "incidentDate") {
          aValue = new Date(aValue);
          bValue = new Date(bValue);

          if (isNaN(aValue)) aValue = new Date(0);
          if (isNaN(bValue)) bValue = new Date(0);
        } else {
          aValue = String(aValue).toLowerCase();
          bValue = String(bValue).toLowerCase();
        }

        if (aValue < bValue) return currentSortDirection === "asc" ? -1 : 1;
        if (aValue > bValue) return currentSortDirection === "asc" ? 1 : -1;

        return 0;
      });

      renderRecordRows(recordsToSort, 1);
    }

    function setActiveThumb(identifier) {
      document
        .querySelectorAll(".record-thumb[data-thumb-id]")
        .forEach(function (el) {
          el.classList.toggle(
            "is-active",
            el.dataset.thumbId === String(identifier),
          );
        });
    }

    async function fetchVideoMeta(videoId) {
      const url = `https://api.dvidshub.net/asset?api_key=${DVIDS_API_KEY}&id=video:${videoId}&thumb_width=400`;
      const response = await fetch(url);
      if (!response.ok) return null;
      const json = await response.json();
      return json.results || json.data || json;
    }

    async function buildVideoThumbs(videoIds, record) {
      const container = document.querySelector(".record-thumbs");
      if (!container) return;

      container.innerHTML = "";
      const metas = await Promise.all(videoIds.map(fetchVideoMeta));

      metas.forEach(function (data, i) {
        if (!data) return;
        const thumbUrl =
          data.thumbnail && data.thumbnail.url ? data.thumbnail.url : "";
        const videoId = videoIds[i];

        const item = document.createElement("span");
        item.className = "record-thumb";
        item.dataset.thumbId = String(videoId);

        if (thumbUrl) {
          const img = document.createElement("img");
          img.src = thumbUrl;
          img.alt = "";
          img.style.cssText =
            "position:absolute;inset:0;width:100%;height:100%;object-fit:cover;";
          item.appendChild(img);
        }

        item.addEventListener("click", function () {
          setActiveThumb(videoId);
          loadVideo(videoId, true, record);
        });

        container.appendChild(item);
      });

      setActiveThumb(videoIds[0]);
    }

    function buildImageThumbs(imageUrls) {
      const container = document.querySelector(".record-thumbs");
      if (!container) return;

      container.innerHTML = "";

      imageUrls.forEach(function (url, i) {
        const item = document.createElement("span");
        item.className = "record-thumb";
        item.dataset.thumbId = String(i);

        const img = document.createElement("img");
        img.src = url;
        img.alt = "";
        img.style.cssText =
          "position:absolute;inset:0;width:100%;height:100%;object-fit:cover;";
        item.appendChild(img);

        item.addEventListener("click", function () {
          setActiveThumb(i);
          const mainImg = document.getElementById("record-main-image");
          if (mainImg) mainImg.src = url;
        });

        container.appendChild(item);
      });

      setActiveThumb(0);
    }

    function getFocusableElements(container) {
      return Array.from(
        container.querySelectorAll(
          'a[href], button:not([disabled]), textarea, input, select, [tabindex]:not([tabindex="-1"])',
        ),
      ).filter(function (el) {
        return !el.hasAttribute("disabled") && el.offsetParent !== null;
      });
    }

    function trapModalFocus(event, modalEl) {
      if (event.key !== "Tab" || !modalEl || modalEl.hidden) return;

      const focusable = getFocusableElements(modalEl);
      if (!focusable.length) return;

      const first = focusable[0];
      const last = focusable[focusable.length - 1];

      if (event.shiftKey && document.activeElement === first) {
        event.preventDefault();
        last.focus();
      } else if (!event.shiftKey && document.activeElement === last) {
        event.preventDefault();
        first.focus();
      }
    }

    async function buildRelatedMedia(record) {
      var container = document.querySelector("[data-record-related-media]");
      if (!container) return;

      container.hidden = true;
      container.innerHTML = "";

      function normalizeKey(value) {
        return String(value || "")
          .toLowerCase()
          .replace(/\s+/g, "")
          .replace(/-/g, "");
      }

      function splitPairings(value) {
        return String(value || "")
          .split("|")
          .map(function (s) {
            return s.trim();
          })
          .filter(Boolean);
      }

      var pairingKeys = [
        ...splitPairings(record.videoPairing),
        ...splitPairings(record.pdfPairing),
      ];

      pairingKeys = [...new Set(pairingKeys)];

      var relatedItems = [];

      pairingKeys.forEach(function (pairKey) {
        var cleanPairKey = normalizeKey(pairKey);

        allRecords.forEach(function (r) {
          var cleanTitle = normalizeKey(r.title);
          var cleanDocUrl = normalizeKey(r.documentUrl);
          var cleanVideoUrl = normalizeKey(r.videoUrl);

          var isMatch =
            cleanTitle.includes(cleanPairKey) ||
            cleanDocUrl.includes(cleanPairKey) ||
            cleanVideoUrl === cleanPairKey;

          if (isMatch && r !== record && !relatedItems.includes(r)) {
            relatedItems.push(r);
          }
        });
      });

      if (!relatedItems.length) return;

      container.hidden = false;
      container.innerHTML =
        '<h3 class="record-related-media-title">Related Media</h3>' +
        '<ul class="record-related-media-list">' +
        relatedItems
          .map(function (item) {
            return `
  <li>
    <a href="#"
       class="record-related-media-link"
       data-related-title="${escapeHtml(item.title)}">
<span style="opacity:.6;">
  [${escapeHtml(releaseLabels[item.releaseDate] || "")}]
</span>

${escapeHtml(item.title)}

<span style="opacity:.6;">
  [${escapeHtml(item.fileType)}]
</span>
    </a>
  </li>
`;
          })
          .join("") +
        "</ul>";

      container
        .querySelectorAll("[data-related-title]")
        .forEach(function (link) {
          link.addEventListener("click", function (e) {
            e.preventDefault();

            var title = this.dataset.relatedTitle;

            var matched = allRecords.find(function (r) {
              return r.title === title;
            });

            if (matched) {
              hydrateRecordModal(matched);
              updatePageMetaForRecord(matched);
            }
          });
        });
    }
    // End DVIDS video loading
  })();
</script>

<!-- OLD TABS SCRIPT <script> document.addEventListener("DOMContentLoaded", function () { const tabs = document.querySelectorAll("#aaro .release-tab"); const panels = document.querySelectorAll("#aaro .release-panel"); tabs.forEach(tab => { tab.addEventListener("click", function () { const releaseId = this.dataset.release; tabs.forEach(t => { t.classList.remove("active"); t.setAttribute("aria-selected", "false"); }); panels.forEach(panel => { panel.classList.remove("active"); }); this.classList.add("active"); this.setAttribute("aria-selected", "true"); document .getElementById(`release-panel-${releaseId}`) .classList.add("active"); }); }); }); </script> -->

<!-- DATABASE -->
<script>
  (function () {
    const app = document.querySelector("#release-table-app-2026");
    if (!app) return;
    if (app.dataset.rtaInitialized === "true") {
      return;
    }
    app.dataset.rtaInitialized = "true";
    const csvUrl = "/Portals/1/Interactive/2026/UFO/uap-data.csv?ver=le5dvAyKZ5LnITy-DmKoPA%3d%3d";
    const tableSelector = "#releaseTable2026";
    const modal = app.querySelector("#releaseModal2026");
    const closeBtn = app.querySelector(".rta-close");
    function parseCSV(csvText) {
      const rows = [];
      let row = [];
      let cell = "";
      let insideQuotes = false;
      for (let i = 0; i < csvText.length; i++) {
        const char = csvText[i];
        const nextChar = csvText[i + 1];
        if (char === '"' && insideQuotes && nextChar === '"') {
          cell += '"';
          i++;
        } else if (char === '"') {
          insideQuotes = !insideQuotes;
        } else if (char === "," && !insideQuotes) {
          row.push(cell.trim());
          cell = "";
        } else if ((char === "\n" || char === "\r") && !insideQuotes) {
          if (cell || row.length) {
            row.push(cell.trim());
            rows.push(row);
            row = [];
            cell = "";
          }
          if (char === "\r" && nextChar === "\n") {
            i++;
          }
        } else {
          cell += char;
        }
      }
      if (cell || row.length) {
        row.push(cell.trim());
        rows.push(row);
      }
      return rows;
    }
    function isVideoFile(url) {
      return /\.(mp4|webm|ogg|mov)(\?.*)?$/i.test(url);
    }
    function buildSingleDocument(documentUrl) {
      if (!documentUrl || documentUrl.trim() === "") {
        return `<div class="rta-empty">No document available</div>`;
      }
      const cleanUrl = documentUrl.split("|")[0].trim();
      if (isVideoFile(cleanUrl)) {
        return ` <video class="rta-modal-video" controls playsinline> <source src="/portals/1/${cleanUrl}"> </video> `;
      }
      return ` <a class="rta-modal-document-link" href="${cleanUrl}" target="_blank" rel="noopener"> Open Document </a> `;
    }
    function openModal(rowData) {
      app.querySelector(".rta-modal-title").textContent = rowData.title || "";
      app.querySelector(".rta-modal-agency").textContent = rowData.agency || "";
      app.querySelector(".rta-modal-date").textContent = rowData.date || "";
      app.querySelector(".rta-modal-country").textContent =
        rowData.country || "";
      app.querySelector(".rta-modal-document-content").innerHTML =
        buildSingleDocument(rowData.documents || "");
      modal.classList.add("is-active");
    }
    function closeModal() {
      const video = modal.querySelector("video");
      if (video) {
        video.pause();
      }
      modal.classList.remove("is-active");
    }
    closeBtn.addEventListener("click", closeModal);
    modal.addEventListener("click", function (e) {
      if (e.target === modal) {
        closeModal();
      }
    });
    document.addEventListener("keydown", function (e) {
      if (e.key === "Escape") {
        closeModal();
      }
    });
    fetch(csvUrl)
      .then((response) => response.text())
      .then((csv) => {
        const parsedRows = parseCSV(csv);
        const rows = parsedRows.slice(1);
        const rowObjects = rows.map((cols) => {
          return {
            title: cols[0] || "",
            agency: cols[1] || "",
            date: cols[2] || "",
            country: cols[3] || "",
            documents: cols[4] || "",
          };
        });
        if (jQuery.fn.DataTable.isDataTable(tableSelector)) {
          return;
        }
        const table = jQuery(tableSelector).DataTable({
          data: rowObjects,
          pageLength: 10,
          destroy: true,
          retrieve: true,
          columns: [
            { data: "title" },
            { data: "agency" },
            { data: "date" },
            { data: "country" },
            {
              data: "documents",
              orderable: false,
              render: function (data) {
                if (!data || data.trim() === "") {
                  return "";
                }
                const cleanUrl = data.split("|")[0].trim();
                const extensionMatch = cleanUrl.match(/\.([a-z0-9]+)(\?|$)/i);
                let extension = "FILE";
                if (extensionMatch && extensionMatch[1]) {
                  extension = extensionMatch[1].toUpperCase();
                }
                return ` <span class="rta-table-btn"> ${extension} </span> `;
              },
            },
          ],
        });
        jQuery(tableSelector + " tbody")
          .off("click.rtaModal")
          .on("click.rtaModal", "tr", function () {
            const rowData = table.row(this).data();
            if (rowData) {
              openModal(rowData);
            }
          });
      })
      .catch((error) => {
        console.error("CSV could not be loaded:", error);
        app.dataset.rtaInitialized = "false";
      });
  })();
</script>
<!-- CLOCK -->
<script>
  function updateESTClocks() {
    const now = new Date();
    const estTime = now.toLocaleTimeString("en-GB", {
      timeZone: "America/New_York",
      hour: "2-digit",
      minute: "2-digit",
      hour12: false,
    });
    document.querySelectorAll(".est-clock").forEach((clock) => {
      clock.textContent = estTime;
    });
  }
  updateESTClocks();
  setInterval(updateESTClocks, 1000);
</script>
<!-- REVEAL UP ANIMATION -->
<script>
  const observer = new IntersectionObserver(
    (entries) => {
      entries.forEach((entry) => {
        if (entry.isIntersecting) {
          entry.target.classList.add("in-view");
          observer.unobserve(entry.target);
        }
      });
    },
    {
  threshold: 0.01,
  rootMargin: "0px 0px -5% 0px",
},
  );
  document.querySelectorAll(".reveal-up").forEach((el) => {
    observer.observe(el);
  });
</script>
<!-- NEW TABS SCRIPT 2 -->
<script>
  document.addEventListener("DOMContentLoaded", function () {
    // ---------------------------------
    // POLYFILL (older browsers / IE mode)
    // ---------------------------------
    if (!Element.prototype.closest) {
      Element.prototype.closest = function (selector) {
        let el = this;

        while (el) {
          if (el.matches(selector)) return el;
          el = el.parentElement;
        }

        return null;
      };
    }

    // ---------------------------------
    // WAIT FOR FILTER SYSTEM
    // ---------------------------------
    function waitForFilters() {
      const filterExists = document.querySelector(
        '.custom-filter[data-filter="releaseDate"] .custom-filter-option',
      );

      if (!filterExists) {
        setTimeout(waitForFilters, 100);
        return;
      }

      initReleaseTabs();
    }

    waitForFilters();

    // ---------------------------------
    // MAIN INIT
    // ---------------------------------
    function initReleaseTabs() {
      const tabs = document.querySelectorAll("#aaro .release-tab");
      const panels = document.querySelectorAll("#aaro .release-panel");

      const filterRoot = document.querySelector(
        '.custom-filter[data-filter="releaseDate"]',
      );

      // ---------------------------------
      // SCROLL TARGET
      // ---------------------------------
      function scrollToPanel(releaseId) {
        const panelId =
          releaseId === "all"
            ? "release-panel-all"
            : `release-panel-${releaseId}`;

        const el = document.getElementById(panelId);

        if (el) {
          el.scrollIntoView({
            behavior: "smooth",
            block: "start",
          });
        }
      }

      // ---------------------------------
      // SINGLE SOURCE OF TRUTH
      // ---------------------------------
      function setRelease(releaseId, source = "tab", options = {}) {
        const filterValue = releaseId === "all" ? "" : `Release ${releaseId}`;

        // ---------------------------------
        // TABS
        // ---------------------------------
        tabs.forEach((t) => {
          t.classList.remove("active");
          t.setAttribute("aria-selected", "false");
        });

        // ---------------------------------
        // PANELS
        // ---------------------------------
        panels.forEach((p) => {
          p.classList.remove("active");
        });

        const tab = document.getElementById(
          `release-tab-${releaseId === "all" ? "all" : releaseId}`,
        );

        if (tab) {
          tab.classList.add("active");
          tab.setAttribute("aria-selected", "true");
        }

        const panelId =
          releaseId === "all"
            ? "release-panel-all"
            : `release-panel-${releaseId}`;

        const panel = document.getElementById(panelId);

        if (panel) {
          panel.classList.add("active");
        }

        // ---------------------------------
        // FILTER SYNC
        // ---------------------------------
        if (source !== "filter") {
          const optionsList = [
            ...document.querySelectorAll(
              '.custom-filter[data-filter="releaseDate"] .custom-filter-option',
            ),
          ];

          let target = null;

          if (releaseId === "all") {
            target = optionsList.find((opt) => {
              const value = (opt.dataset.value || "").trim();
              return value === "";
            });
          } else {
            target = optionsList.find(
              (opt) => (opt.dataset.value || "").trim() === filterValue,
            );
          }

          if (target) {
            target.dispatchEvent(
              new MouseEvent("click", {
                bubbles: true,
                cancelable: true,
                view: window,
              }),
            );
          }
        }

        // ---------------------------------
        // URL UPDATE
        // ---------------------------------
        if (source !== "url") {
          try {
            const url = new URL(window.location);

            if (releaseId === "all") {
              url.searchParams.delete("release");
            } else {
              url.searchParams.set("release", releaseId);
            }

            history.pushState({}, "", url);
          } catch (err) {
            console.warn("pushState failed", err);
          }
        }

        // ---------------------------------
        // OPTIONAL SCROLL
        // ---------------------------------
        if (options.scroll) {
          setTimeout(() => {
            scrollToPanel(releaseId);
          }, 50);
        }
      }

      // ---------------------------------
      // INITIAL STATE
      // ---------------------------------
      function init() {
        const params = new URLSearchParams(window.location.search);

        const release = params.get("release");

        if (release && document.getElementById(`release-tab-${release}`)) {
          setRelease(release, "url");
        } else {
          setRelease("all", "url");
        }
      }

      init();

      // ---------------------------------
      // TAB CLICK
      // ---------------------------------
      tabs.forEach((tab) => {
        tab.addEventListener("click", function () {
          setRelease(this.dataset.release, "tab");
        });
      });

      // ---------------------------------
      // FILTER → TABS
      // ---------------------------------
      if (filterRoot) {
        filterRoot.addEventListener("click", function (e) {
          const option = e.target.closest(".custom-filter-option");

          if (!option) return;

          const value = (option.dataset.value || "").trim();

          let releaseId = "all";

          const match = value.match(/^Release\s+(\d+)$/i);

          if (match) {
            releaseId = match[1];
          }

          setRelease(releaseId, "filter");
        });
      }

      // ---------------------------------
      // LINK SUPPORT
      // ---------------------------------
      document.addEventListener("click", function (e) {
        const link = e.target.closest("[data-release-link]");

        if (!link) return;

        e.preventDefault();

        const releaseId = link.dataset.releaseLink;

        const scroll = link.dataset.scroll === "true";

        setRelease(releaseId, "link", { scroll });
      });
    }
  });
</script>
<!-- End_Module_9589 --></div>
</div><!--end of empty container -->


</div></div>
    <div id="content-pane-wrap">
        <div class="content-wrap">
            <div id="dnn_ContentPane" class="DNNEmptyPane"></div>
        </div>
    </div>
    <div id="dnn_ContentPaneFullBleed2" class="DNNEmptyPane"></div>
    <div id="content-pane-wrap2">
        <div class="content-wrap">
            <div id="dnn_ContentPane2" class="DNNEmptyPane"></div>
        </div>
    </div>
    <div id="dnn_ContentPaneFullBleed3" class="DNNEmptyPane"></div>
    <div id="content-pane-wrap3">
        <div class="content-wrap">
            <div id="dnn_ContentPane3" class="DNNEmptyPane"></div>
        </div>
    </div>
    <div id="dnn_ContentPaneFullBleed4" class="DNNEmptyPane"></div>
    <div id="content-pane-wrap4">
        <div class="content-wrap">
            <div id="dnn_ContentPane4"><div class="DnnModule DnnModule-DNN_HTML DnnModule-9590"><a name="9590"></a>
<div class="empty-container base-container">
    <div id="dnn_ctr9590_ContentPane"><!-- Start_Module_9590 --><div id="dnn_ctr9590_ModuleContent" class="DNNModuleContent ModDNNHTMLC">
	<div id="dnn_ctr9590_HtmlModule_lblContent" class="Normal">
		<!-- DATABASE --> <script> (function () { const app = document.querySelector("#release-table-app-2026"); if (!app) return; if (app.dataset.rtaInitialized === "true") { return; } app.dataset.rtaInitialized = "true"; const csvUrl = "/Portals/1/Interactive/2026/UFO/uap-data.csv?release=4"; const tableSelector = "#releaseTable2026"; const modal = app.querySelector("#releaseModal2026"); const closeBtn = app.querySelector(".rta-close"); function parseCSV(csvText) { const rows = []; let row = []; let cell = ""; let insideQuotes = false; for (let i = 0; i < csvText.length; i++) { const char = csvText[i]; const nextChar = csvText[i + 1]; if (char === '"' && insideQuotes && nextChar === '"') { cell += '"'; i++; } else if (char === '"') { insideQuotes = !insideQuotes; } else if (char === "," && !insideQuotes) { row.push(cell.trim()); cell = ""; } else if ((char === "\n" || char === "\r") && !insideQuotes) { if (cell || row.length) { row.push(cell.trim()); rows.push(row); row = []; cell = ""; } if (char === "\r" && nextChar === "\n") { i++; } } else { cell += char; } } if (cell || row.length) { row.push(cell.trim()); rows.push(row); } return rows; } function isVideoFile(url) { return /\.(mp4|webm|ogg|mov)(\?.*)?$/i.test(url); } function buildSingleDocument(documentUrl) { if (!documentUrl || documentUrl.trim() === "") { return `<div class="rta-empty">No document available</div>`; } const cleanUrl = documentUrl.split("|")[0].trim(); if (isVideoFile(cleanUrl)) { return ` <video class="rta-modal-video" controls playsinline> <source src="/portals/1/${cleanUrl}"> </video> `; } return ` <a class="rta-modal-document-link" href="${cleanUrl}" target="_blank" rel="noopener"> Open Document </a> `; } function openModal(rowData) { app.querySelector(".rta-modal-title").textContent = rowData.title || ""; app.querySelector(".rta-modal-agency").textContent = rowData.agency || ""; app.querySelector(".rta-modal-date").textContent = rowData.date || ""; app.querySelector(".rta-modal-country").textContent = rowData.country || ""; app.querySelector(".rta-modal-document-content").innerHTML = buildSingleDocument(rowData.documents || ""); modal.classList.add("is-active"); } function closeModal() { const video = modal.querySelector("video"); if (video) { video.pause(); } modal.classList.remove("is-active"); } closeBtn.addEventListener("click", closeModal); modal.addEventListener("click", function (e) { if (e.target === modal) { closeModal(); } }); document.addEventListener("keydown", function (e) { if (e.key === "Escape") { closeModal(); } }); fetch(csvUrl) .then(response => response.text()) .then(csv => { const parsedRows = parseCSV(csv); const rows = parsedRows.slice(1); const rowObjects = rows.map(cols => { return { title: cols[0] || "", agency: cols[1] || "", date: cols[2] || "", country: cols[3] || "", documents: cols[4] || "" }; }); if (jQuery.fn.DataTable.isDataTable(tableSelector)) { return; } const table = jQuery(tableSelector).DataTable({ data: rowObjects, pageLength: 10, destroy: true, retrieve: true, columns: [ { data: "title" }, { data: "agency" }, { data: "date" }, { data: "country" }, { data: "documents", orderable: false, render: function (data) { if (!data || data.trim() === "") { return ""; } const cleanUrl = data.split("|")[0].trim(); const extensionMatch = cleanUrl.match(/\.([a-z0-9]+)(\?|$)/i); let extension = "FILE"; if (extensionMatch && extensionMatch[1]) { extension = extensionMatch[1].toUpperCase(); } return ` <span class="rta-table-btn"> ${extension} </span> `; } } ] }); jQuery(tableSelector + " tbody") .off("click.rtaModal") .on("click.rtaModal", "tr", function () { const rowData = table.row(this).data(); if (rowData) { openModal(rowData); } }); }) .catch(error => { console.error("CSV could not be loaded:", error); app.dataset.rtaInitialized = "false"; }); })(); </script> <!-- CLOCK --> <script>function updateESTClocks() { const now = new Date(); const estTime = now.toLocaleTimeString('en-GB', { timeZone: 'America/New_York', hour: '2-digit', minute: '2-digit', hour12: false }); document.querySelectorAll('.est-clock').forEach(clock => { clock.textContent = estTime; }); } updateESTClocks(); setInterval(updateESTClocks, 1000);</script><!-- REVEAL UP ANIMATION --> <script>const observer = new IntersectionObserver((entries) => { entries.forEach(entry => { if (entry.isIntersecting) { entry.target.classList.add('in-view'); observer.unobserve(entry.target); } }); }, { threshold: 0.15 }); document.querySelectorAll('.reveal-up').forEach(el => { observer.observe(el); });</script>
	</div>

</div><!-- End_Module_9590 --></div>
</div><!--end of empty container -->


</div></div>
        </div>
    </div>
    <div id="dnn_ContentPaneFullBleed5" class="DNNEmptyPane"></div>
    <div id="content-pane-wrap5">
        <div class="content-wrap">
            <div id="dnn_ContentPane5" class="DNNEmptyPane"></div>
        </div>
    </div>
    <div id="dnn_ContentPaneFullBleed6" class="DNNEmptyPane"></div>
    <div id="content-pane-wrap6">
        <div class="content-wrap">
            <div id="dnn_ContentPane6" class="DNNEmptyPane"></div>
        </div>
    </div>
    <div id="dnn_ContentPaneFullBleed7" class="DNNEmptyPane"></div>
    <div id="content-pane-wrap7">
        <div class="content-wrap">
            <div id="dnn_ContentPane7" class="DNNEmptyPane"></div>
        </div>
    </div>
    <div id="dnn_ContentPaneFullBleed8" class="DNNEmptyPane"></div>
    <div id="content-pane-wrap8">
        <div class="content-wrap">
            <div id="dnn_ContentPane8" class="DNNEmptyPane"></div>
        </div>
    </div>
    <div id="dnn_ContentPaneFullBleed9" class="DNNEmptyPane"></div>
    <div id="content-pane-wrap9">
        <div class="content-wrap">
            <div id="dnn_ContentPane9" class="DNNEmptyPane"></div>
        </div>
    </div>
    <div id="dnn_ContentPaneFullBleed10" class="DNNEmptyPane"></div>
    <div id="content-pane-wrap10">
        <div class="content-wrap">
            <div id="dnn_ContentPane10" class="DNNEmptyPane"></div>
        </div>
    </div>
    <div id="dnn_ContentPaneFullBleed11" class="DNNEmptyPane"></div>
    <div id="content-pane-wrap11">
        <div class="content-wrap">
            <div id="dnn_ContentPane11" class="DNNEmptyPane"></div>
        </div>
    </div>
    <div id="dnn_ContentPaneFullBleed12" class="DNNEmptyPane"></div>
    <div id="content-pane-wrap12">
        <div class="content-wrap">
            <div id="dnn_ContentPane12" class="DNNEmptyPane"></div>
        </div>
    </div>
</main>



<footer>
    <div id="footer">
        <div class="footer-inner content-wrap content-wrap-wide">
            <div class="dgov-grid">
                <div class="dgov-col-auto">
                    <div class="dgov-grid">
                        <div id="dnn_Footer_footerNavCol1" class="footer-nav-col dgov-col-sm-12 dgov-col-md-auto">
	
                            <h3>
                                Department of War<i class="fas fa-chevron-down" aria-hidden="true"></i></h3>
                            <nav aria-label='Department of War'>
                                <ul class="footer-nav"><li class=""><a href="/"><span class="text text-link-18">Home</span></a></li><li class=""><a href="/News/"><span class="text text-link-20">News</span></a></li><li class=""><a href="/Spotlights/ "><span class="text text-link-22">Spotlights</span></a></li><li class=""><a href="/About/"><span class="text text-link-21">About</span></a></li></ul>


                            </nav>
                        
</div>
                        <div id="dnn_Footer_footerNavCol2" class="footer-nav-col dgov-col-sm-12 dgov-col-md-auto">
	
                            <h3>
                                Helpful Links<i class="fas fa-chevron-down" aria-hidden="true"></i></h3>
                            <nav aria-label='Helpful Links'>
                                <ul class="footer-nav"><li class=""><a href="/Live"><span class="text text-link-23">Live Events</span></a></li><li class=""><a href="/News/Today-in-DOW/"><span class="text text-link-24">Today in DOW</span></a></li><li class=""><a href="/News/Contracts/"><span class="text text-link-25">Contracts</span></a></li><li class=""><a href="/Resources/For-the-Media/"><span class="text text-link-26">For the Media</span></a></li><li class=""><a href="/Contact"><span class="text text-link-27">Contact</span></a></li></ul>


                            </nav>
                        
</div>
                        <div id="dnn_Footer_footerNavCol3" class="footer-nav-col dgov-col-sm-12 dgov-col-md-auto">
	
                            <h3>
                                Resources<i class="fas fa-chevron-down" aria-hidden="true"></i></h3>
                            <nav aria-label='Resources'>
                                <ul class="footer-nav"><li class=""><a href="/Resources/ "><span class="text text-link-28">Resources</span></a></li><li class=""><a href="https://www.dodciviliancareers.com/DOD-Careers" target="_blank" rel="noopener noreferrer" aria-label="Careers opens in a new window"><span class="text text-link-53">Careers</span></a></li><li class=""><a href="/contact/help-center"><span class="text text-link-29">Help Center</span></a></li><li class=""><a href="/Resources/Military-Departments/"><span class="text text-link-30">DOW / Military Websites</span></a></li><li class=""><a href="https://comptroller.war.gov/ODCFO/afr/" target="_blank" rel="noopener noreferrer" aria-label="DOD Agency Financial Report opens in a new window"><span class="text text-link-49">Agency Financial Report</span></a></li></ul>


                            </nav>
                        
</div>
                        <div id="dnn_Footer_footerNavCol4" class="footer-nav-col dgov-col-sm-12 dgov-col-md-auto">
	
                            <h3>
                                Popular<i class="fas fa-chevron-down" aria-hidden="true"></i></h3>
                            <nav aria-label='Popular'>
                                <ul class="footer-nav"><li class=""><a href="https://media.defense.gov/2026/Jan/23/2003864773/-1/-1/0/2026-NATIONAL-DEFENSE-STRATEGY.PDF"><span class="text text-link-54">2026 National Defense Strategy</span></a></li><li class=""><a href="/Spotlights/Freedom250/"><span class="text text-link-34">America's Military – Celebrating Independence!</span></a></li><li class=""><a href="/Spotlights/Value-of-Service/"><span class="text text-link-33">Value of Service</span></a></li><li class=""><a href="/Spotlights/Drone-Dominance/"><span class="text text-link-36">Drone Dominance</span></a></li></ul>


                            </nav>
                        
</div>
                    </div>
                </div>
                <div class="right-col dgov-col-md-12 dgov-col-lg-4">
                    <div class="right-col-inner">
                        <div class="mission">
                            <img class="footer-logo" alt="U.S. Department of War Logo" src="/Portals/1/Images/DOW-Icon-Header.png" />
                            <p>
                                The Department of War provides the military forces needed to deter war and ensure our nation's security.</p>
                        </div>
                        <div class="footer-search-wrap">
                            <label class="sr-only" for="footer-search-input">Enter Your Search Terms</label>
                            <i class="fa fa-search" id="fa-search-icon-bottom" aria-hidden="true"></i>
                            <input type="search" id="footer-search-input" name="footer-search" maxlength="256" placeholder="Search...">
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>

    <div id="footer-main">
        <div class="footer-section">
            <a id="dnn_Footer_hlVcl" rel="noreferrer noopener" class="crisis-line" aria-label="Veterans Crisis Line number. Dial 988 then Press 1 (opens in new tab)" href="https://www.veteranscrisisline.net/get-help-now/military-crisis-line/" target="_blank"><img id="dnn_Footer_imgVcl" src="/Portals/_default/skins/dgov2/resources/img/Veterans_Crisis_Line_Logo.svg" alt="Veterans Crisis Line number. Dial 988 then Press 1" /></a>
        </div>
        <div class="footer-separator"></div>
        <div class="footer-section utility-nav desktop-only">
            <nav aria-label="Utility and Legal Links">
                <ul class=""><li class=""><a href="/Legal-Administrative/Privacy-Security/ "><span class="text text-link-12">Privacy & Security</span></a></li><li class=""><a href="/Legal-Administrative/Links-Disclaimer/ "><span class="text text-link-17">Links Disclaimer</span></a></li><li class=""><a href="https://dowcio.war.gov/508/" target="_blank" rel="noopener noreferrer" aria-label="U.S. Department of War Section 508 opens in a new window"><span class="text text-link-13">Section 508</span></a></li><li class=""><a href="/resources/social-media-policy/"><span class="text text-link-52">Social Media Policy</span></a></li><li class=""><a href="http://dodcio.defense.gov/DoD-Web-Policy/ " target="_blank" rel="noopener noreferrer" aria-label="Web Policy opens in a new window"><span class="text text-link-14">Web Policy</span></a></li><li class=""><a href="http://www.esd.whs.mil/DD/plainlanguage/ " target="_blank" rel="noopener noreferrer" aria-label="Plain Writing Act opens in a new window"><span class="text text-link-37">Plain Writing Act</span></a></li><li class=""><a href="https://www.dodig.mil/" target="_blank" rel="noopener noreferrer" aria-label="Department of War Office of Inspector General opens in a new window"><span class="text text-link-38">DOW IG</span></a></li><li class=""><a href="https://policy.war.gov/Offices/Civilian-Harm-Mitigation-and-Response/" target="_blank" rel="noopener noreferrer" aria-label="Reporting Civilian Casualties opens in a new window"><span class="text text-link-39">Reporting Civilian Casualties</span></a></li><li class=""><a href="https://prhome.war.gov/NoFear/" target="_blank" rel="noopener noreferrer" aria-label="No FEAR Act opens in a new window"><span class="text text-link-40">No FEAR Act</span></a></li><li class=""><a href="https://www.dma.mil/Services/Visual-Information/References/Limitations/" target="_blank" rel="noopener noreferrer" aria-label="Imagery Use opens in a new window"><span class="text text-link-41">Imagery Use</span></a></li><li class=""><a href="https://www.esd.whs.mil/FOID/ " target="_blank" rel="noopener noreferrer" aria-label="FOIA opens in a new window"><span class="text text-link-42">FOIA</span></a></li><li class=""><a href="http://open.defense.gov/ " target="_blank" rel="noopener noreferrer" aria-label="Open GOV opens in a new window"><span class="text text-link-43">Open GOV</span></a></li><li class=""><a href="https://media.defense.gov/2023/Mar/13/2003178168/-1/-1/1/DOD-STRATEGIC-MGMT-PLAN-2023.PDF" target="_blank" rel="noopener noreferrer" aria-label="Strategic Management Plan opens in a new window"><span class="text text-link-44">Strategic Management Plan</span></a></li><li class=""><a href="https://www.usa.gov/ " target="_blank" rel="noopener noreferrer" aria-label="USA.gov opens in a new window"><span class="text text-link-45">USA.gov</span></a></li><li class=""><a href="https://business.defense.gov/ " target="_blank" rel="noopener noreferrer" aria-label="Office of Industrial Base Growth opens in a new window"><span class="text text-link-46">Office of Industrial Base Growth</span></a></li><li class=""><a href="/site-index/ "><span class="text text-link-47">Site Map</span></a></li></ul>


            </nav>
        </div>
        <div class="footer-separator desktop-only"></div>
        <div class="social-nav-subscribe-container">
            <div class="social-nav">
                <ul class=""><li class=""><a href="https://twitter.com/DeptofWar" target="_blank" rel="noopener noreferrer" aria-label="X opens in a new window" title="X"><span class="social-icon fa-brands fa-x-twitter social-link-5"></span></a></li><li class=""><a href="https://www.facebook.com/DepartmentofWar" target="_blank" rel="noopener noreferrer" aria-label="Facebook opens in a new window" title="Facebook"><span class="social-icon fa-brands fa-facebook-f social-link-6"></span></a></li><li class=""><a href="https://www.instagram.com/deptofwar" target="_blank" rel="noopener noreferrer" aria-label="Instagram opens in a new window" title="Instagram"><span class="social-icon fa fa-instagram social-link-8"></span></a></li><li class=""><a href="http://www.linkedin.com/company/deptofwar" target="_blank" rel="noopener noreferrer" aria-label="LinkedIn opens in a new window" title="LinkedIn"><span class="social-icon fa-brands fa-linkedin-in social-link-51"></span></a></li><li class=""><a href="https://www.youtube.com/@deptofwar" target="_blank" rel="noopener noreferrer" aria-label="YouTube opens in a new window" title="YouTube"><span class="social-icon fa-brands fa-youtube social-link-7"></span></a></li></ul>


            </div>
            <div class="subscribe-container">
                <a class="subscribe-btn btn btn-sm btn-primary"
                    href="https://public.govdelivery.com/accounts/usdod/subscriber/new"
                    target="_blank">Subscribe
                </a>
                <a id="dnn_Footer_hlVclMobile" rel="noreferrer noopener" class="crisis-line-mobile" href="https://www.veteranscrisisline.net/get-help-now/military-crisis-line/" target="_blank"><img id="dnn_Footer_imgVclMobile" src="/Portals/_default/skins/dgov2/resources/img/Veterans_Crisis_Line_Logo.svg" alt="Veterans Crisis Line number. Dial 988 then Press 1" /></a>
            </div>
        </div>
    </div>
</footer>
<div id="footer-hosting">
    <div class="skin-footer-banner">
        <a id="dnn_Footer_hlDmaLink" rel="noreferrer noopener" href="https://www.web.mil/" target="_blank">Hosted by WEB.mil</a>
    </div>
</div>

<script type="text/javascript">
    var usasearch_config = {
        siteHandle: skinvars.aid,
        autoSubmitOnSelect: false,
    }

    window.onload = function () {
        document.getElementById("footer-search-input").value = "";
    }

    var script = document.createElement("script");
    script.type = "text/javascript";
    script.src = "//search.usa.gov/javascripts/remote.loader.js";
    document.getElementsByTagName("head")[0].appendChild(script);

    (function ($) {
        $(function () {
            $('.footer-nav-col h3').click(function () {
                if (window.innerWidth > 991) return;
                $(this).parent('.footer-nav-col').toggleClass('active');
            });
        });
    })(jQuery);

    const queryInput = $("input[name=search-main],input[name=header-search], input[name=footer-search], i[id=fa-search-icon-bottom]").on("keyup", function (e) {
        if (e.keyCode == 13) {
            submitSearch($(this));
        }
    });

    $("input[name=search-main] ~ button, .search-icon, input[name=footer-search], input[name=footer-search] ~ button, i[id=fa-search-icon-bottom]").on("click", function (e) {
        e.stopImmediatePropagation();
        submitSearch($(this));
    });

    $(".search-icon").on("keypress", function (e) {
        if (e.which == 13) {
            e.stopImmediatePropagation();
            submitSearch($(this));
        }
    });

    function submitSearch($this) {
        const query = $this ? ($this.val() || $this.parent().find('input').val()) : "";
        const affiliate = !!skinvars.aid ? skinvars.aid : 'defensegov';
        if (query.length > 1)
            window.location = "//search.usa.gov/search?query=" + DOMPurify.sanitize(query) + "&affiliate=" + affiliate + "&utf8=%26%23x2713%3B";
    }
</script>



        <input name="ScrollTop" type="hidden" id="ScrollTop" />
        <input name="__dnnVariable" type="hidden" id="__dnnVariable" autocomplete="off" />
        <script src="/DesktopModules/SharedLibrary/ValidatedPlugins/dompurify//purify.min.js?cdv=2058" type="text/javascript"></script><script src="/Desktopmodules/SharedLibrary/Plugins/Bootstrap/js/bootstrap.min.js?cdv=2058" type="text/javascript"></script>
    </form>
    <!--CDF(Javascript|/js/dnncore.js?cdv=2058|DnnBodyProvider|100)--><!--CDF(Css|/Portals/1/Interactive/2026/UFO/aaro08.css?cdv=2058|DnnPageHeaderProvider|100)--><!--CDF(Javascript|/js/dnn.modalpopup.js?cdv=2058|DnnBodyProvider|50)--><!--CDF(Css|/Resources/Shared/stylesheets/dnndefault/7.0.0/default.css?cdv=2058|DnnPageHeaderProvider|5)--><!--CDF(Css|/Portals/_default/Skins/DGOV2/skin.css?cdv=2058|DnnPageHeaderProvider|15)--><!--CDF(Css|/Portals/_default/Containers/DGOV2/container.css?cdv=2058|DnnPageHeaderProvider|25)--><!--CDF(Css|/Portals/_default/Containers/DGOV2/container.css?cdv=2058|DnnPageHeaderProvider|25)--><!--CDF(Css|/Portals/1/portal.css?cdv=2058|DnnPageHeaderProvider|35)--><!--CDF(Javascript|/Desktopmodules/SharedLibrary/Plugins/Skin/js/common.js?cdv=2058|DnnBodyProvider|101)--><!--CDF(Javascript|/Desktopmodules/SharedLibrary/Plugins/Mobile-Detect/mobile-detect.min.js?cdv=2058|DnnBodyProvider|100)--><!--CDF(Css|/Desktopmodules/SharedLibrary/Plugins/SocialIcons/css/fa-social-icons.css?cdv=2058|DnnPageHeaderProvider|100)--><!--CDF

… gekürzt. Vollständiger Inhalt in der Rohdatei.