1(self.webpackChunkopa_website=self.webpackChunkopa_website||[]).push([[18617],{405:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/opa-dotnet-asp-core-af6e6a1b7ad8672fab95a8bfb8b9a869.png"},409:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/opa-csharp-247cc5d32b9861cfbfe3fb30eaffae47.png"},627:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/ceph-cfaa8121552dcd86281d121e590de578.png"},1657:(v,e,t)=>{var i={"./config":73396,"./config.json":73396,"./data":93654,"./data.json":93654,"./input":10898,"./input.json":10898,"./intro.md":11092,"./output":86731,"./output.json":86731,"./policy.rego":59951,"./title.txt":69250};function s(v){var e=a(v);return t(e)}function a(v){if(!t.o(i,v)){var e=new Error("Cannot find module '"+v+"'");throw e.code="MODULE_NOT_FOUND",e}return i[v]}s.keys=function(){return Object.keys(i)},s.resolve=a,v.exports=s,s.id=1657},1755:v=>{"use strict";v.exports={}},1780:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/oidc-7d6327a2c14cc030e944f8e88c76f629.png"},2985:(v,e,t)=>{"use strict";t.d(e,{A:()=>i});const i=t.p+"assets/images/logo-text-light-4458048b7654fb7f1a5365878a5f5e15.png"},3430:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=""},4140:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iODYiIGhlaWdodD0iMzYiIHZpZXdCb3g9IjAgMCA4NiAzNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48dGl0bGU+R29sZG1hblNhY2hzIExvZ288L3RpdGxlPgo8cGF0aCBkPSJNMTkuNDg5MSAzLjU0MDQxQzE2LjE5NDEgMy41NDA0MSAxNC4xNjEgNi4wMjkyMSAxNC4xNjEgMTAuMjcwN0MxNC4xNjEgMTQuNDc3MSAxNi4xOTQxIDE3LjAwMSAxOS40ODkxIDE3LjAwMUMyMi43ODQxIDE3LjAwMSAyNC44MTcyIDE0LjUxMjIgMjQuODE3MiAxMC4yNzA3QzI0LjgxNzIgNi4wMjkyMSAyMi44MTkyIDMuNTQwNDEgMTkuNDg5MSAzLjU0MDQxWk0xOS40ODkxIDE2LjIyOThDMTguMjI3MiAxNi4yMjk4IDE3Ljg0MTYgMTQuODYyNyAxNy44NDE2IDEwLjIzNTZDMTcuODQxNiA1LjYwODU3IDE4LjIyNzIgNC4yNDE0OCAxOS40ODkxIDQuMjQxNDhDMjAuNzUxIDQuMjQxNDggMjEuMTM2NiA1LjY0MzYyIDIxLjEzNjYgMTAuMjcwN0MyMS4xMzY2IDE0Ljg2MjcgMjAuNzUxIDE2LjIyOTggMTkuNDg5MSAxNi4yMjk4Wk00My43ODEyIDIyLjU3NDVDNDIuMzc5MSAyMi41NzQ1IDQxLjM2MjUgMjMuMTAwMyA0MC43NjY2IDI0LjAxMTdWMTkuMzg0NkgzNy4yMjYyVjI3Ljk3MjdDMzcuMjI2MiAzMi42MzQ5IDM0LjU2MjEgMzQuODQzMiAzMi4xNDM0IDM0Ljg0MzJDMzAuMzU1NyAzNC44NDMyIDI5LjYxOTYgMzMuNjE2NCAyOS42MTk2IDI5LjQwOTlDMjkuNjE5NiAyNS4yMDM1IDMwLjA3NTMgMjMuMzEwNiAzMS41MTI1IDIzLjMxMDZDMzIuNDU4OSAyMy4zMTA2IDMzLjI2NTIgMjQuMjIyIDM0LjA3MTQgMjYuMzI1MkgzNC45NDc3VjIzLjIwNTVDMzMuODk2MSAyMi43ODQ4IDMyLjU5OTEgMjIuNTc0NSAzMS41ODI2IDIyLjU3NDVDMjcuOTcyMSAyMi41NzQ1IDI1LjkzOSAyNS4xNjg1IDI1LjkzOSAyOS40MDk5QzI1LjkzOSAzMy42MTY0IDI3Ljk3MjEgMzYgMzEuNDA3MyAzNkMzNC4yNDY3IDM2IDM2LjI3OTggMzQuNDkyNyAzNy4yMjYyIDMxLjkzMzhWMzUuNjg0NUg0MC43NjY2VjI2LjE1QzQwLjc2NjYgMjQuNjc3NyA0MS41NzI4IDIzLjk0MTYgNDIuNDE0MSAyMy45NDE2QzQzLjIyMDQgMjMuOTQxNiA0My41MDA4IDI0LjYwNzYgNDMuNTAwOCAyNS42MjQxVjM1LjcxOTZINDcuMDQxMlYyNi4yOTAyQzQ3LjA0MTIgMjMuNjYxMSA0NS43NDQyIDIyLjU3NDUgNDMuNzgxMiAyMi41NzQ1Wk0yNi45OTA2IDAuMzUwNTM2VjE2LjY4NTVIMzAuNTMxVjAuMzUwNTM2SDI2Ljk5MDZaTTM5Ljc1MDEgMC4zNTA1MzZWNC44MDIzNEMzOS40MzQ2IDQuMDMxMTYgMzguNjYzNCAzLjU0MDQxIDM3LjQzNjUgMy41NDA0MUMzNC42NjczIDMuNTQwNDEgMzIuODA5NSA2LjAyOTIxIDMyLjgwOTUgMTAuMjAwNkMzMi44MDk1IDE0LjQ3NzEgMzQuNDU3IDE2Ljk2NTkgMzcuMjk2MyAxNi45NjU5QzM4LjYyODMgMTYuOTY1OSAzOS41Mzk3IDE2LjMzNSAzOS45NjA0IDE1LjAzOFYxNi42NTA0SDQzLjI1NTRWMC4zNTA1MzZIMzkuNzUwMVpNMzcuOTk3NCAxNS45NDk0QzM2Ljg3NTcgMTUuOTQ5NCAzNi40OTAxIDE0LjgyNzcgMzYuNDkwMSAxMC4xNjU1QzM2LjQ5MDEgNS43ODM4NCAzNi44NzU3IDQuNDg2ODYgMzguMDY3NSA0LjQ4Njg2QzM5LjM2NDUgNC40ODY4NiAzOS44MjAyIDYuMDI5MjEgMzkuODIwMiAxMC4xNjU1QzM5LjgyMDIgMTQuMzM2OSAzOS4yMjQzIDE1Ljk0OTQgMzcuOTk3NCAxNS45NDk0Wk01OC41Mzg4IDMuNTQwNDFDNTYuOTYxNCAzLjU0MDQxIDU1LjgwNDYgNC4zODE2OSA1NS4zMTM4IDUuNTM4NDZDNTQuODIzMSA0LjIwNjQzIDUzLjg0MTYgMy41NDA0MSA1Mi40Mzk0IDMuNTQwNDFDNTAuOTMyMSAzLjU0MDQxIDQ5Ljg0NTUgNC4yMDY0MyA0OS4zMTk3IDUuMjkzMDlWMy44NTU4OUg0Ni4wMjQ2VjE2LjY4NTVINDkuNTNWNy4xMTU4N0M0OS41MyA1LjY0MzYyIDUwLjIzMTEgNC45MDc1IDUxLjEwNzQgNC45MDc1QzUxLjg0MzUgNC45MDc1IDUyLjE1OSA1LjUwMzQxIDUyLjE1OSA2LjUxOTk2VjE2LjY4NTVINTUuNjk5NFY3LjExNTg3QzU1LjY5OTQgNS42NDM2MiA1Ni40MDA1IDQuOTA3NSA1Ny4yNzY4IDQuOTA3NUM1OC4wMTMgNC45MDc1IDU4LjMyODQgNS41MDM0MSA1OC4zMjg0IDYuNTE5OTZWMTYuNjg1NUg2MS44Njg5VjcuMjU2MDlDNjEuODY4OSA0LjYyNzA3IDYwLjUzNjggMy41NDA0MSA1OC41Mzg4IDMuNTQwNDFaTTU1LjYyOTMgMjguMTgzMUw1My41OTYyIDI2Ljk1NjJDNTIuMjI5MSAyNi4xNSA1MS43Mzg0IDI1LjY1OTIgNTEuNzM4NCAyNC44MTc5QzUxLjczODQgMjMuODcxNSA1Mi40MDQ0IDIzLjI3NTYgNTMuNTI2MSAyMy4yNzU2QzU0Ljg1ODEgMjMuMjc1NiA1NS44Mzk2IDI0LjE1MTkgNTYuNDM1NiAyNi4yOTAySDU3LjMxMTlWMjIuOTk1MUM1Ni4xOTAyIDIyLjc0OTggNTQuOTI4MiAyMi41Mzk0IDUzLjgwNjUgMjIuNTM5NEM1MC45NjcyIDIyLjUzOTQgNDkuMjQ5NiAyMy45NDE2IDQ5LjI0OTYgMjYuMjIwMUM0OS4yNDk2IDI3Ljc5NzUgNTAuMTI1OSAyOC44ODQxIDUxLjkxMzYgMjkuOTcwOEw1My41OTYyIDMwLjk4NzNDNTQuOTk4NCAzMS44Mjg2IDU1LjQ4OTEgMzIuNDI0NSA1NS40ODkxIDMzLjM3MUM1NS40ODkxIDM0LjU5NzkgNTQuNzE3OSAzNS4yMjg4IDUzLjM4NTkgMzUuMjI4OEM1MS43Mzg0IDM1LjIyODggNTAuNzkxOSAzNC4xNzcyIDUwLjE2MSAzMS44NjM3SDQ5LjI4NDZWMzUuNDc0MkM1MC41ODE2IDM1LjgyNDcgNTEuOTQ4NyAzNS45NjQ5IDUzLjA3MDQgMzUuOTY0OUM1Ni4yOTUzIDM1Ljk2NDkgNTguMTUzMiAzNC40NTc2IDU4LjE1MzIgMzEuOTMzOEM1OC4xMTgxIDMwLjIxNjIgNTcuMjc2OCAyOS4xNjQ2IDU1LjYyOTMgMjguMTgzMVpNNjkuMTI0OSAzLjU0MDQxQzY3Ljc5MjkgMy41NDA0MSA2Ni4yMTU1IDMuNzg1NzggNj
1QuNzQzMiA0LjI0MTQ4VjcuMjU2MDlINjUuNjE5NkM2Ni4zNTU3IDUuMzYzMTkgNjcuMzM3MiA0LjMxMTU5IDY4LjczOTMgNC4zMTE1OUM2OS42MTU3IDQuMzExNTkgNjkuOTY2MiA0LjczMjIzIDY5Ljk2NjIgNS43MTM3M1Y3LjM2MTI1QzY5Ljk2NjIgOC4xNjc0OCA2OS43NTU5IDguNDEyODUgNjguODQ0NSA4LjcyODMzTDY3Ljg5ODEgOS4wNDM4MkM2NS4wOTM4IDkuOTkwMjYgNjMuODMxOSAxMS4yMTcxIDYzLjgzMTkgMTMuNDI1NUM2My44MzE5IDE1Ljc3NDEgNjUuMjM0IDE3LjAwMSA2Ny4yNjcxIDE3LjAwMUM2OC43MDQzIDE3LjAwMSA2OS45MzEyIDE2LjM3IDcwLjMxNjggMTUuMTQzMVYxNi42ODU1SDczLjU0MTdWNy4zNjEyNUM3My41MDY2IDQuODM3MzkgNzEuOTk5MyAzLjU0MDQxIDY5LjEyNDkgMy41NDA0MVpNNjkuOTY2MiAxMy4yNTAyQzY5Ljk2NjIgMTQuOTMyOCA2OS40MDU0IDE1LjcwNCA2OC41MjkgMTUuNzA0QzY3LjY4NzcgMTUuNzA0IDY3LjQwNzMgMTUuMDM4IDY3LjQwNzMgMTMuMzIwNFYxMi45Njk4QzY3LjQwNzMgMTAuOTcxOCA2Ny44MjggMTAuMTY1NSA2OC45ODQ3IDkuNTY5NjJMNjkuOTY2MiA5LjA3ODg3VjEzLjI1MDJaTTgyLjcyNTcgMy41NDA0MUM4MS4xODM0IDMuNTQwNDEgODAuMDYxNiA0LjIwNjQzIDc5LjUwMDggNS4yOTMwOVYzLjg1NTg5SDc2LjE3MDdWMTYuNjg1NUg3OS43MTExVjcuMDgwODJDNzkuNzExMSA1LjYwODU3IDgwLjUxNzMgNC44NzI0NCA4MS4zNTg2IDQuODcyNDRDODIuMTY0OSA0Ljg3MjQ0IDgyLjQ0NTMgNS41Mzg0NiA4Mi40NDUzIDYuNTU1MDJWMTYuNjUwNEg4NS45ODU3VjcuMjU2MDlDODUuOTg1NyA0LjYyNzA3IDg0LjY4ODcgMy41NDA0MSA4Mi43MjU3IDMuNTQwNDFaTTEyLjY1MzcgMzAuMjE2MkMxMi42NTM3IDMzLjUxMTIgMTAuMjcgMzUuNzE5NiA2LjQ0OTE5IDM1LjcxOTZIMC44NDA2MTdWMjkuODY1NkgxLjY4MTlDMi40NTMwOCAzMy4zMzU5IDMuODkwMjggMzQuODc4MyA2LjMwODk3IDM0Ljg3ODNDOC4yNzE5NyAzNC44NzgzIDkuMzIzNTggMzMuODI2NyA5LjMyMzU4IDMyLjEwOTFDOS4zMjM1OCAzMC4yODYzIDguMjAxODYgMjkuNDQ1IDYuNTU0MzUgMjguNDk4NUw0LjA2NTU0IDI3LjAyNjNDMS45NjIzMyAyNS43OTk0IDAuNzcwNTEgMjQuMjkyMSAwLjc3MDUxIDIyLjE4ODlDMC43NzA1MSAxOS44NDAzIDIuMTM3NiAxOC4zMzMgNC4zNDU5NyAxNy43MDJDMS4yMjYyMSAxNi44NjA4IDAuMTA0NDkyIDE0LjAyMTQgMC4xMDQ0OTIgOC45NzM3MUMwLjEwNDQ5MiAzLjIyNDkzIDIuNDg4MTMgMCA3LjM2MDU4IDBIMTEuODgyNVY0LjgzNzM5SDExLjAwNjFDOS45NTQ1NCAxLjc1MjY4IDkuMDQzMTUgMC44MDYyMzIgNy4zOTU2MyAwLjgwNjIzMkM0Ljk3Njk0IDAuODA2MjMyIDQuMzEwOTIgMy40MDAyIDQuMzEwOTIgOS4xMTM5MkM0LjMxMDkyIDE1LjcwNCA0LjkwNjgzIDE3LjE3NjIgNi42OTQ1NiAxNy4xNzYyQzguMDYxNjUgMTcuMTc2MiA4LjcyNzY3IDE2LjI5OTkgOC43Mjc2NyAxNC4yMzE3VjExLjcwNzlDOC43Mjc2NyAxMC4xNjU1IDguMjM2OTIgOS42MDQ2NyA2LjYyNDQ1IDkuMzU5M1Y4LjU1MzA3SDEyLjAyMjdWMjIuMzI5MUgxMS4yMTY1QzkuOTg5NTkgMTguODU4OCA4LjQxMjE4IDE4LjA4NzYgNi42NTk1MSAxOC4wODc2QzQuOTQxODggMTguMDg3NiAzLjg5MDI4IDE4Ljg5MzkgMy44OTAyOCAyMC40NzEzQzMuODkwMjggMjEuOTQzNSA0Ljc2NjYxIDIyLjY0NDYgNi40MTQxMyAyMy42MjYxTDkuMTEzMjYgMjUuMjM4NkMxMS4yNTE1IDI2LjU3MDYgMTIuNjUzNyAyNy43OTc1IDEyLjY1MzcgMzAuMjE2MlpNMTkuNDU0MSAyMi41NzQ1QzE4LjEyMiAyMi41NzQ1IDE2LjU0NDYgMjIuODE5OSAxNS4wNzI0IDIzLjI3NTZWMjYuMjkwMkgxNS45NDg3QzE2LjY4NDggMjQuMzk3MyAxNy42NjYzIDIzLjM0NTcgMTkuMDY4NSAyMy4zNDU3QzE5Ljk0NDggMjMuMzQ1NyAyMC4yOTUzIDIzLjc2NjMgMjAuMjk1MyAyNC43NDc4VjI2LjM2MDNDMjAuMjk1MyAyNy4xNjY1IDIwLjA4NSAyNy40MTE5IDE5LjE3MzYgMjcuNzI3NEwxOC4yMjcyIDI4LjA0MjhDMTUuNDIyOSAyOC45ODkzIDE0LjE2MSAzMC4yMTYyIDE0LjE2MSAzMi40MjQ1QzE0LjE2MSAzNC43NzMxIDE1LjU2MzEgMzYgMTcuNTk2MiAzNkMxOS4wMzM0IDM2IDIwLjI2MDMgMzUuMzY5IDIwLjY0NTkgMzQuMTQyMlYzNS42ODQ1SDIzLjgzNTdWMjYuNDMwNEMyMy44MzU3IDIzLjg3MTUgMjIuMjkzNCAyMi41NzQ1IDE5LjQ1NDEgMjIuNTc0NVpNMjAuMjk1MyAzMi4yODQzQzIwLjI5NTMgMzMuOTY2OSAxOS43MzQ1IDM0LjczODEgMTguODU4MSAzNC43MzgxQzE4LjAxNjkgMzQuNzM4MSAxNy43MzY0IDM0LjA3MjEgMTcuNzM2NCAzMi4zNTQ0VjMyLjAwMzlDMTcuNzM2NCAzMC4wMDU4IDE4LjE1NzEgMjkuMTk5NiAxOS4zMTM4IDI4LjYwMzdMMjAuMjk1MyAyOC4xMTI5VjMyLjI4NDNaIiBmaWxsPSJibGFjayIgZmlsbC1vcGFjaXR5PSIwLjk1Ij48L3BhdGg+Cjwvc3ZnPg=="},4201:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/vodafone-dark-d3b604a2183d581cf449b0d9b8b3fb57.svg"},4592:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/kubescape-91e0b6c73cf2068bf18e40493c18c883.png"},4607:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/php-authorization-94f32b84a9f994419e9ed0863de003a8.png"},4621:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/springsecurity-api-d60a6d0be9c3ea0f628e4e9577fd2482.png"},4882:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i="data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJMYXllcl8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIgdmlld0JveD0iMCAwIDQwNy40IDEzMi42IiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA0MDcuNCAxMzIuNjsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgogPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KICAuc3Qwe2ZpbGw6I0UyMDA3NDt9Cgkuc3Qxe29wYWNpdHk6MC40O2ZpbGw6bm9uZTt9CiA8L3N0eWxlPgogPGc+CiAgPHBhdGggY2xhc3M9InN0MCIgZD0iTTI5NC4yLDQxLjZjMS43LDAsMy4xLTAuNiw0LjMtMS44YzEuMS0xLjIsMS43LTIuNiwxLjctNC4yYzAtMS42LTAuNi0zLTEuOC00LjJjLTEuMS0xLjItMi41LTEuOC00LjEtMS44CgkJYy0xLjcsMC0zLjEsMC42LTQuMywxLjdjLTEuMiwxLjEtMS44LDIuNi0xLjgsNC4zYzAsMS42LDAuNiwzLDEuOCw0LjJDMjkxLjEsNDEsMjkyLjUsNDEuNiwyOTQuMiw0MS42Ij4KICA8L3BhdGg+CiAgPHBhdGggY2xhc3M9InN0MCIgZD0iTTIwNi44LDUxLjJjLTYuOCwwLTEyLjMsMi43LTE2LjYsOGMtMy43LDQuNy01LjUsMTAuOS01LjUsMTguNmMwLDcuNywxLjgsMTMuOSw1LjUsMTguNmM0LjIsNS40LDkuNiw4LDE2LjIsOAoJCWM3LDAsMTIuNi0yLjcsMTYuOC04YzMuNy00LjcsNS41LTExLDUuNS0xOC43YzAtNy42LTEuOC0xMy44LTUuNS0xOC41QzIxOS4xLDUzLjksMjEzLjYsNTEuMiwyMDYuOCw1MS4yIE0yMDYuOCwxMDAuOQoJCWMtMy45LDAtNi43LTEuOC04LjUtNS40Yy0yLTQuMS0zLTEwLjItMy0xOC4yYzAtOS43LDEuNi0xNi4yLDQuOC0xOS41YzItMiw0LjItMyw2LjctM2MxLjYsMCwzLjEsMC40LDQuNCwxLjJjMiwxLjIsMy41LDMsNC41LDUuMwoJCWMxLjcsMy43LDIuNSw5LjIsMi41LDE2LjNDMjE4LjIsOTMuMiwyMTQuNCwxMDAuOSwyMDYuOCwxMDAuOSI+CiAgPC9wYXRoPgogIDxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0yNjAsNTEuN2MtMy42LDAtNi43LDEuMS05LjQsMy4yYy0xLjUsMS4yLTIuNiwyLjgtMy42LDQuOVYyOS40bC0xNS42LDAuN3YzLjRoMC44YzIuMSwwLDMuNSwwLjQsNC4yLDEuMwoJCWMwLjksMSwxLjMsMy40LDEuMyw3
1LjR2NDkuOWMwLDQuNS0wLjIsNy40LTAuNSw4LjljMCwwLjItMC4yLDAuOC0wLjYsMS45aDMuNmMwLjgtMS4zLDEuNi0yLjUsMi4zLTMuNWMwLjgtMS4xLDEuNS0xLjcsMi4xLTEuNwoJCWMwLjUsMCwxLjIsMC4zLDEuOSwwLjljMS44LDEuNSwzLjEsMi41LDMuNiwyLjhjMi43LDEuNyw1LjcsMi42LDguOSwyLjZjNiwwLDEwLjgtMi41LDE0LjQtNy40YzMuOS01LjMsNS45LTExLjksNS45LTE5LjcKCQljMC04LjItMi4yLTE0LjgtNi42LTE5LjdDMjY5LjYsNTMuNSwyNjUuMiw1MS43LDI2MCw1MS43IE0yNTguMSwxMDAuMmMtMS45LDAtMy42LTAuNS01LjEtMS41Yy0xLjgtMS4yLTMuMi0yLjgtNC4yLTQuOQoJCWMtMS44LTMuOS0yLjctOS40LTIuNy0xNi41YzAtOS4yLDEuOS0xNS41LDUuOC0xOS4xYzIuMS0xLjgsNC4zLTIuOCw2LjctMi44YzMuNCwwLDUuOSwxLjgsNy42LDUuM2MxLjgsMy44LDIuNyw5LjMsMi43LDE2LjMKCQlDMjY4LjksOTIuNSwyNjUuMywxMDAuMiwyNTguMSwxMDAuMiI+CiAgPC9wYXRoPgogIDxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0zNjkuOSw5NS43Yy0yLjUsMy01LjcsNC41LTkuNCw0LjVjLTQuOCwwLTguMi0yLjQtMTAuMi03LjFjLTEuNC0zLjQtMi4yLTguNi0yLjItMTUuNmgyOS44CgkJYy0wLjItNi0xLjMtMTEtMy40LTE1Yy0zLjgtNy41LTkuNC0xMS4zLTE2LjktMTEuM2MtNSwwLTkuNCwyLTEyLjksNmMtNC41LDUuMS02LjgsMTEuOC02LjgsMjAuM2MwLDkuMiwyLjMsMTYuMiw2LjgsMjEuMQoJCWMzLjcsMy45LDguMyw1LjksMTQuMSw1LjljNy44LDAsMTQtNC42LDE4LjUtMTMuOGwtMy4zLTEuN0MzNzIuNyw5MS44LDM3MS4zLDk0LjEsMzY5LjksOTUuNyBNMzQ5LjMsNjQuNGMxLjctNi4yLDQuNy05LjQsOC45LTkuNAoJCWMzLjcsMCw2LjUsMi41LDguMiw3LjZjMSwyLjksMS40LDYuNSwxLjQsMTFoLTE5LjdDMzQ4LjIsNzAsMzQ4LjYsNjYuOSwzNDkuMyw2NC40Ij4KICA8L3BhdGg+CiAgPHBhdGggY2xhc3M9InN0MCIgZD0iTTMyOC42LDk4LjJjLTAuOS0xLTEuMy0zLjUtMS4zLTcuNVYyOS40bC0xNiwwLjd2My40aDEuMmMyLjEsMCwzLjUsMC40LDQuMiwxLjNjMC45LDEsMS4zLDMuNSwxLjMsNy40djQ4LjQKCQljMCw0LTAuNCw2LjUtMS4zLDcuNWMtMC43LDAuOS0yLjEsMS4zLTQuMiwxLjNoLTEuOHYzLjRoMjMuOHYtMy40aC0xLjhDMzMwLjgsOTkuNSwzMjkuNCw5OS4xLDMyOC42LDk4LjIiPgogIDwvcGF0aD4KICA8cGF0aCBjbGFzcz0ic3QwIiBkPSJNMzAxLDk4LjJjLTAuOS0xLTEuMy0zLjUtMS4zLTcuNVY1MmwtMTYsMC43djMuNGgxLjJjMi4xLDAsMy41LDAuNCw0LjIsMS4zYzAuOSwxLDEuMywzLjUsMS4zLDcuNHYyNS45CgkJYzAsNC0wLjQsNi41LTEuMyw3LjVjLTAuNywwLjktMi4yLDEuMy00LjIsMS4zaC0xLjh2My40aDIzLjh2LTMuNGgtMS44QzMwMy4xLDk5LjUsMzAxLjcsOTkuMSwzMDEsOTguMiI+CiAgPC9wYXRoPgogIDxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0xNDYuNCw4My43bC0xNS42LTUzLjVoLTIxLjF2My41aDJjMS42LDAsMi45LDAuMSwzLjcsMC40YzEuNSwwLjUsMi40LDEuNiwyLjgsMy4zYzAuMiwwLjgsMC4zLDIuNCwwLjMsNQoJCXY0Mi4xYzAsMy45LTAuMSw2LjctMC40LDguNGMtMC40LDIuMi0xLjEsMy44LTIuMyw0LjhjLTEuMywxLjEtMi44LDEuNy00LjQsMS43aC0xLjh2My41aDIyLjV2LTMuNWgtMS40Yy0zLjksMC02LjQtMS45LTcuNS01LjcKCQljLTAuNC0xLjQtMC41LTQuNS0wLjUtOS4yVjM2LjhsMTkuMiw2Ni4xaDMuNGwxOS4yLTY2LjF2NTEuOWMwLDIuNS0wLjEsNC41LTAuMyw2Yy0wLjEsMS4zLTAuNiwyLjMtMS4zLDMKCQljLTEuMSwxLjEtMy4xLDEuNi01LjgsMS42aC0wLjl2My41aDI3LjN2LTMuNUgxODJjLTMuOCwwLTYtMS4xLTYuOC0zLjRjLTAuNC0xLjItMC42LTMuNy0wLjYtNy40VjQ0LjRjMC0yLjUsMC4xLTQuNSwwLjMtNi4xCgkJYzAuMS0xLjMsMC42LTIuMywxLjMtM2MxLjEtMS4xLDMtMS43LDUuOC0xLjdoMS41di0zLjVoLTIxLjNMMTQ2LjQsODMuN3oiPgogIDwvcGF0aD4KICA8cmVjdCB4PSI3NC40IiB5PSI2My42IiBjbGFzcz0ic3QwIiB3aWR0aD0iMTQuNyIgaGVpZ2h0PSIxNC43Ij4KICA8L3JlY3Q+CiAgPHBhdGggY2xhc3M9InN0MCIgZD0iTTU5LjMsMTAyLjloMTcuOXYtNC4xYy0yLDAtMy40LDAtNC4yLTAuMWMtMi44LTAuMy00LjctMS01LjktMi4yYy0xLjQtMS40LTItNC40LTItOS4xVjY3Ljd2LTM0CgkJYzYuMSwwLjIsMTAuOCwyLjIsMTQuMiw2YzMuMiwzLjcsNS4yLDkuMyw2LDE2LjhsMy45LTAuN2wtMC43LTI1LjdIMzAuMmwtMC43LDI1LjdsMy45LDAuN2MwLjctNy42LDIuNy0xMy4yLDYtMTYuOAoJCWMzLjQtMy44LDguMS01LjgsMTQuMi02djM0djE5LjdjMCw0LjctMC43LDcuNy0yLDkuMWMtMS4yLDEuMi0zLjEsMS45LTUuOSwyLjJjLTAuOCwwLjEtMi4yLDAuMS00LjIsMC4xdjQuMUg1OS4zIj4KICA8L3BhdGg+CiAgPHJlY3QgeD0iMjkuNSIgeT0iNjMuNiIgY2xhc3M9InN0MCIgd2lkdGg9IjE0LjciIGhlaWdodD0iMTQuNyI+CiAgPC9yZWN0PgogIDxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0zODQuOCw1NC4xYzAsMi0xLjQsMy41LTMuNCwzLjVjLTIsMC0zLjQtMS41LTMuNC0zLjVjMC0yLDEuNS0zLjUsMy40LTMuNUMzODMuMyw1MC42LDM4NC44LDUyLjEsMzg0LjgsNTQuMQoJCSBNMzg0LjEsNTQuMWMwLTEuNi0xLjItMi45LTIuOC0yLjljLTEuNiwwLTIuOCwxLjItMi44LDIuOWMwLDEuNywxLjIsMi45LDIuOCwyLjlDMzgzLDU3LDM4NC4xLDU1LjcsMzg0LjEsNTQuMSBNMzgyLDU0LjVsMC44LDEuMgoJCWgtMC43bC0wLjctMS4yaC0wLjZ2MS4yaC0wLj
1Z2LTMuM2gxLjRjMC43LDAsMS4yLDAuNCwxLjIsMUMzODIuOCw1NCwzODIuNSw1NC4zLDM4Miw1NC41IE0zODAuOCw1My45aDAuOGMwLjQsMCwwLjYtMC4xLDAuNi0wLjUKCQljMC0wLjMtMC4yLTAuNS0wLjYtMC41aC0wLjhWNTMuOXoiPgogIDwvcGF0aD4KICA8cGF0aCBjbGFzcz0ic3QxIiBkPSJNNDA3LjQsMTMyLjZWNjYuNFYwSDB2MTMyLjZINDA3LjR6Ij4KICA8L3BhdGg+CiA8L2c+Cjwvc3ZnPg=="},5767:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCIgdmlld0JveD0iMCAwIDIwMCAyMDAiPgogIDxkZWZzPgogICAgPGxpbmVhckdyYWRpZW50IGlkPSJsaW5lYXItZ3JhZGllbnQiIHgxPSIwLjUiIHgyPSIwLjUiIHkyPSIxIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCI+CiAgICAgIDxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iIzcwZDBkMyIvPgogICAgICA8c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiMwNTdiODAiLz4KICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICA8Y2xpcFBhdGggaWQ9ImNsaXAtTG90dGllLTIwMCI+CiAgICAgIDxyZWN0IHdpZHRoPSIyMDAiIGhlaWdodD0iMjAwIi8+CiAgICA8L2NsaXBQYXRoPgogIDwvZGVmcz4KICA8ZyBpZD0iTG90dGllLTIwMCIgY2xpcC1wYXRoPSJ1cmwoI2NsaXAtTG90dGllLTIwMCkiPgogICAgPHJlY3Qgd2lkdGg9IjIwMCIgaGVpZ2h0PSIyMDAiIGZpbGw9InJnYmEoMTgsMTgsMTgsMCkiLz4KICAgIDxnIGlkPSJMb3R0aWUtMjAweDIwMCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCAwLjA4NikiPgogICAgICA8cGF0aCBpZD0iUGF0aF84IiBkYXRhLW5hbWU9IlBh
1dGggOCIgZD0iTTEzNi4yMTEsMTEwLjQ4OWMtNC44MzQsNS4xOS0xNC4yNjUsNC42ODctMjAuNDcxLS42ODFzLTcuNDYxLTEzLjA2Ny0zLjI4NS0xNy41NjFjMi4xOTItMi4yLDE0LjI0Ny0xMy4xNiwyMy40NzQtMjUuNzE5LDkuNzQzLTEyLjE1OCwxNi42NTgtMjUuOTEsMjAuNTE4LTI0LjQxNiwzLjc2NSwxLjI3MywzLjc3NiwxOC43MDctMS45MjksMzQuNzY5QzE0OS40NzUsOTMuMiwxMzguNzE1LDEwOC4xNTUsMTM2LjIxMSwxMTAuNDg5WiIgZmlsbD0iIzFmNTM1NSIvPgogICAgICA8cGF0aCBpZD0iUGF0aF85IiBkYXRhLW5hbWU9IlBhdGggOSIgZD0iTTEyNC44NCw4Ny41NzFjNC44MzgtMS42LDMwLjA2NS0xMy40MTMsMzAuNjkxLTEzLjc1MnEtLjQ3MywxLjUzNC0xLjAxNCwzLjA2MWMtNS4wNDQsMTYuMzIzLTE1LjgsMzEuMjc1LTE4LjMwOCwzMy42MDgtNC44MzQsNS4xOS0xNC4yNjUsNC42ODctMjAuNDcxLS42ODFhMTcuMDg1LDE3LjA4NSwwLDAsMS00Ljg4NC02Ljc2NEMxMTEuMDkxLDEwMS44ODQsMTExLjUsOTEuOTc1LDEyNC44NCw4Ny41NzFaIiBmaWxsPSIjMjM2OTZjIi8+CiAgICAgIDxwYXRoIGlkPSJQYXRoXzEwIiBkYXRhLW5hbWU9IlBhdGggMTAiIGQ9Ik0xNDAuNzM1LDEyNC4xNzJjLTYuNTI1LDIuNzc5LTE0LjkzOS0xLjUxLTE4LjQzLTguOTM2cy0xLjUxLTE0Ljk3MSw0LjEzLTE3LjM4MmMyLjktMS4xMTYsMTguMzY0LTYuMjM5LDMxLjktMTMuOTY5QzE3Mi4xNzMsNzYuNzMzLDE4NC4wNzgsNjYuOTc0LDE4Nyw2OS45MDdjMi45MjQsMi42OTMtNC4xNDYsMTguNjI4LTE1Ljg4MywzMC45OUMxNTkuODc2LDExMy43NjMsMTQzLjk3MiwxMjMuMDU3LDE0MC43MzUsMTI0LjE3MloiIGZpbGw9IiMyNzdmODIiLz4KICAgICAgPHBhdGggaWQ9IlBhdGhfMTEiIGRhdGEtbmFtZT0iUGF0aCAxMSIgZD0iTTE2OS4xMzgsODcuNjU4Yy0uNzI3LDIuMDU5LTEuNTQ3LDQuMTI2LTIuNDY1LDYuMTYxLTYuMzcsMTUuODUyLTE4LjMyNCwyOS44NjgtMjEuMDEzLDMxLjk4Ny01LjI0NCw0Ljc3NS0xNC42LDMuNS0yMC4zNDUtMi4zNjNzLTYuMzU5LTEzLjYzOC0xLjgyOC0xNy43NzNDMTIzLjkzNywxMDUuMjg4LDE2Ni43NCw4OC44MiwxNjkuMTM4LDg3LjY1OFoiIGZpbGw9IiMyZjk4OWMiLz4KICAgICAgPHBhdGggaWQ9IlBhdGhfMTIiIGRhdGEtbmFtZT0iUGF0aCAxMiIgZD0iTTEzNS41NjQsMTM2LjQ5MWMtNy4wOTEtLjEwOS0xMy4wMzktNy40NDQtMTMuMjE2LTE1LjY0Ny0uMTgtOC4yMjEsNC43LTE0LjI5NSwxMC44MjktMTQuMjEsMy4xLjE1NSwxOS4zMTYsMS43NTIsMzQuODIuMTgsMTUuNTUzLS45MTksMzAuMzk0LTUuMDA2LDMxLjg3Mi0xLjE0LDEuNTc5LDMuNjQ3LTExLjM1LDE1LjM0Mi0yNy4wOTMsMjEuODc1QzE1Ny4yODQsMTM0Ljc0NywxMzguOTc1LDEzNi43ODUsMTM1LjU2NCwxMzYuNDkxWiIgZmlsbD0iIzM2YjFiNSIvPgogICAgICA8cGF0aCBpZD0iUGF0aF8xMyIgZGF0YS1uYW1lPSJQYXRoIDEzIiBkPSJNNjMuNzkxLDExMC40ODljNC44MzQsNS4xOSwxNC4yNjUsNC42ODcsMjAuNDcxLS42ODFzNy40NjEtMTMuMDY3LDMuMjg1LTE3LjU2MWMtMi4xOTItMi4yLTE0LjI0Ny0xMy4xNi0yMy40NzQtMjUuNzE5QzU0LjMzLDU0LjM3LDQ3LjQxNSw0MC42MTgsNDMuNTU1LDQyLjExMmMtMy43NjUsMS4yNzMtMy43NzcsMTguNzA3LDEuOTI4LDM0Ljc2OUM1MC41MjcsOTMuMiw2MS4yODcsMTA4LjE1NSw2My43OTEsMTEwLjQ4OVoiIGZpbGw9IiMxZjUzNTUiLz4KICAgICAgPHBhdGggaWQ9IlBhdGhfMTQiIGRhdGEtbmFtZT0iUGF0aCAxNCIgZD0iTTc1LjE1OSw4Ny41NzFjLTQuODM4LTEuNi0zMC4wNjUtMTMuNDEzLTMwLjY5MS0xMy43NTJxLjQ3MywxLjUzNCwxLjAxNCwzLjA2MWM1LjA0MywxNi4zMjMsMTUuOCwzMS4yNzUsMTguMzA4LDMzLjYwOCw0LjgzNCw1LjE5LDE0LjI2NSw0LjY4NywyMC40NzEtLjY4MWExNy4wODcsMTcuMDg3LDAsMCwwLDQuODg1LTYuNzY0Qzg4LjkwOCwxMDEuODg0LDg4LjUsOTEuOTc1LDc1LjE1OSw4Ny41NzFaIiBmaWxsPSIjMjM2OTZjIi8+CiAgICAgIDxwYXRoIGlkPSJQYXRoXzE1IiBkYXRhLW5hbWU9IlBh
1dGggMTUiIGQ9Ik01OS4yNjYsMTI0LjE3MmM2LjUyNSwyLjc3OSwxNC45MzktMS41MSwxOC40My04LjkzNnMxLjUxLTE0Ljk3MS00LjEzLTE3LjM4MmMtMi44OTUtMS4xMTYtMTguMzY0LTYuMjM5LTMxLjktMTMuOTY5QzI3LjgyOCw3Ni43MzMsMTUuOTIzLDY2Ljk3NCwxMyw2OS45MDcsMTAuMDgsNzIuNiwxNy4xNSw4OC41MzUsMjguODg3LDEwMC45LDQwLjEyNSwxMTMuNzYzLDU2LjAzLDEyMy4wNTcsNTkuMjY2LDEyNC4xNzJaIiBmaWxsPSIjMjc3ZjgyIi8+CiAgICAgIDxwYXRoIGlkPSJQYXRoXzE2IiBkYXRhLW5hbWU9IlBhdGggMTYiIGQ9Ik0zMC40LDg3LjY1OGMuNzI3LDIuMDU5LDEuNTQ3LDQuMTI2LDIuNDY1LDYuMTYxLDYuMzcsMTUuODUyLDE4LjMyNSwyOS44NjcsMjEuMDEzLDMxLjk4Nyw1LjI0NSw0Ljc3NCwxNC42LDMuNSwyMC4zNDUtMi4zNjRzNi4zNTktMTMuNjM4LDEuODI4LTE3Ljc3M0M3NS42LDEwNS4yODgsMzIuOCw4OC44MjEsMzAuNCw4Ny42NThaIiBmaWxsPSIjMmY5ODljIi8+CiAgICAgIDxwYXRoIGlkPSJQYXRoXzE3IiBkYXRhLW5hbWU9IlBhdGggMTciIGQ9Ik02NC40MzYsMTM2LjQ5MWM3LjA5MS0uMTA5LDEzLjA0LTcuNDQ0LDEzLjIxNy0xNS42NDcuMTgtOC4yMjEtNC43LTE0LjI5NS0xMC44My0xNC4yMS0zLjEuMTU1LTE5LjMxNiwxLjc1Mi0zNC44Mi4xOC0xNS41NTQtLjkxOS0zMC4zOTQtNS4wMDYtMzEuODczLTEuMTQtMS41NzksMy42NDcsMTEuMzUsMTUuMzQyLDI3LjA5MywyMS44NzVDNDIuNzE4LDEzNC43NDcsNjEuMDI2LDEzNi43ODUsNjQuNDM2LDEzNi40OTFaIiBmaWxsPSIjMzZiMWI1Ii8+CiAgICAgIDxwYXRoIGlkPSJQYXRoXzE4IiBkYXRhLW5hbWU9IlBh
1dGggMTgiIGQ9Ik0xNDkuODc2LDEyNi42MzNjMCwyNy41NDYtMjIuMzMsMzEuMTk1LTQ5Ljg3NiwzMS4xOTVzLTQ5Ljg3Ni0zLjY0OS00OS44NzYtMzEuMTk1LDIyLjMzLTUzLjQsNDkuODc2LTUzLjRTMTQ5Ljg3Niw5OS4wODgsMTQ5Ljg3NiwxMjYuNjMzWiIgZmlsbD0idXJsKCNsaW5lYXItZ3JhZGllbnQpIi8+CiAgICAgIDxwYXRoIGlkPSJQYXRoXzE5IiBkYXRhLW5hbWU9IlBhdGggMTkiIGQ9Ik05MC40NjEsODYuNjQ5YTI5LjU0MywyOS41NDMsMCwwLDAtMTEuMSw2Ljc3NywzLjA2MSwzLjA2MSwwLDAsMS00LjI3NC00LjM4NCwzNS42MzMsMzUuNjMzLDAsMCwxLDEzLjM4MS04LjE4MSwzLjA1OSwzLjA1OSwwLDAsMSwzLjg5MiwxLjlDOTMuMSw4NC45MDgsOTAuOSw4Ni41LDkwLjQ2MSw4Ni42NDlaIiBmaWxsPSIjYWFmOWZjIi8+CiAgICAgIDxwYXRoIGlkPSJQYXRoXzIwIiBkYXRhLW5hbWU9IlBhdGggMjAiIGQ9Ik02OC45NzksMTIwLjI3OWE1LjYzOSw1LjYzOSwwLDEsMC01LjYzOS01LjYzOUE1LjYzOSw1LjYzOSwwLDAsMCw2OC45NzksMTIwLjI3OVoiIGZpbGw9IiMxMjEyMTIiLz4KICAgICAgPHBhdGggaWQ9IlBhdGhfMjEiIGRhdGEtbmFtZT0iUGF0aCAyMSIgZD0iTTEzMS43MjIsMTIwLjI3OWE1LjYzOSw1LjYzOSwwLDEsMC01LjYzOS01LjYzOUE1LjYzOSw1LjYzOSwwLDAsMCwxMzEuNzIyLDEyMC4yNzlaIiBmaWxsPSIjMTIxMjEyIi8+CiAgICAgIDxwYXRoIGlkPSJQYXRoXzIyIiBkYXRhLW5hbWU9IlBhdGggMjIiIGQ9Ik05OS40NDksMTM3LjcyM2EzMi45NjEsMzIuOTYxLDAsMCwwLDEwLjY1Ny0xLjY2NCwzMS4wNjEsMzEuMDYxLDAsMCwwLDkuMDgzLTQuOWwyLjAyNCwyLjk2OGEzNC44NSwzNC44NSwwLDAsMS05Ljg0OCw1LjYyMUEzMi40ODUsMzIuNDg1LDAsMCwxLDk5LjQ0OSwxNDEuOWEzMi44NDIsMzIuODQyLDAsMCwxLTExLjk2MS0yLjE1OCwzNS4wMDgsMzUuMDA4LDAsMCwxLTkuOC01LjYyMWwyLjAyMy0yLjk2OGEzMS4wNjcsMzEuMDY3LDAsMCwwLDkuMDgzLDQuOUEzMi45NjQsMzIuOTY0LDAsMCwwLDk5LjQ0OSwxMzcuNzIzWiIgZmlsbD0iIzEyMTIxMiIvPgogICAgPC9nPgogIDwvZz4KPC9zdmc+Cg=="},6903:(v,e,t)=>{"use strict";t.d(e,{A:()=>a});t(96540);const i={container:"container_m7cL"};var s=t(74848);function a(v){var e=v.children;return(0,s.jsx)("div",{className:i.container,children:e})}},7016:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/kong-authorization-789c0c4d7d9183cb12fca4ed5077a60a.png"},7053:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>U});t(28774);var i=t(86025),s=t(96540),a=t(51107),M=t(50420),n=t(19365),o=t(4865),r=t(21122),c=t(56062),g=t(90866),u=t(88238);const A="container_bfhl",L="heroContainer_i2aB",j="heroLeft_IUfu",N="heroContent_mKPX",I="logo_Ukns",y="subtitle_RlPM",l="heroRight_Ap2e",d="logoContainer_xdaK",D="logoWrapper_lGCO",w="companyLogo_p1F8",p="cncfContainer_h8sQ",T="cncfLogo_Komi",C="featuresContainer_hwgM",z="featuresLeft_eYJu",m="featureItem_PAnF",h="featureIcon_qaBM",x="featureText_ZjzQ",b="videoContainer_ViX2",S="videoBackground_RhwC",O="videoWrapper_XWWU",E="video__Zov",f="videoText_oW45",k="contentSection_pR6N";var Y=t(74848),Q=function(v){var e=v.alt,t=v.className,i=v.sources,a=(0,s.useState)(!1),M=a[0],n=a[1];return(0,s.useEffect)((function(){n(!0)}),[]),(0,Y.jsx)("div",{style:{width:"auto",height:"auto",opacity:M?1:0,transition:"opacity 0.1s ease-in-out"},children:(0,Y.jsx)(r.A,{className:t,alt:e,sources:i,onLoad:function(){return n(!0)}})})};const U=function(v){var e;return(0,Y.jsxs)(M.A,{title:"Open Policy Agent - Homepage",children:[(0,Y.jsx)("div",{className:A,children:(0,Y.jsxs)("div",{className:L,children:[(0,Y.jsx)("div",{className:j,children:(0,Y.jsxs)("div",{className:N,children:[(0,Y.jsx)(Q,{alt:"OPA Logo",className:I,sources:{light:t(2985).A,dark:t(45193).A}}),(0,Y.jsx)("h2",{className:y,children:"OPA is a policy engine that streamlines policy management across your stack for improved development, security and audit capability."})]})}),(0,Y.jsx)("div",{className:l,children:(0,Y.jsx)(u.A,{dir:t(72872)})})]})}),(0,Y.jsx)("div",{className:A,children:(0,Y.jsx)("div",{className:d,children:(e=t(55883),Array.from(new Set(e.keys().map((function(v){return v.replace("./","").replace("-light","").replace("-dark","").replace(".svg","")})))).map((function(v){var t=e("./"+v+"-light.svg").default,i=e("./"+v+"-dark.svg").default;return(0,Y.jsx)("div",{className:D,children:(0,Y.jsx)(r.A,{alt:v+" logo",className:w,sources:{light:t,dark:i}})},v)})))})}),(0,Y.jsxs)("div",{className:p,children:["Open Policy Agent is a ",(0,Y.jsx)("a",{href:"https://www.cncf.io/",children:"Cloud Native Computing Foundation"})," Graduated project.",(0,Y.jsx)("div",{className:T,children:(0,Y.jsx)(Q,{alt:"CNCF Logo",sources:{light:(0,i.Ay)("img/footer/cncf-light.svg"),dark:(0,i.Ay)("img/footer/cncf-dark.svg")}})})]}),(0,Y.jsx)("div",{className:A,children:(0,Y.jsxs)("div",{className:C,children:[(0,Y.jsxs)("div",{className:z,children:[(0,Y.jsxs)("div",{className:m,children:[(0,Y.jsx)("img",{src:t(18364).A,alt:"Productivity icon",className:h}),(0,Y.jsxs)("p",{className:x,children:[(0,Y.jsx)("strong",{children:"Developer Productivity:"}
1)," ","OPA helps teams focus on delivering business value by decoupling policy from application logic. Security & platform teams centrally manage shared policies, while developer teams extend them as needed within the policy system."]})]}),(0,Y.jsxs)("div",{className:m,children:[(0,Y.jsx)("img",{src:t(65468).A,alt:"Performance icon",className:h}),(0,Y.jsxs)("p",{className:x,children:[(0,Y.jsx)("strong",{children:"Performance:"})," ","Rego, our domain-specific policy language, is built for speed. By operating on pre-loaded, in-memory data, OPA acts as a fast policy decision point for your applications."]})]}),(0,Y.jsxs)("div",{className:m,children:[(0,Y.jsx)("img",{src:t(24539).A,alt:"Audit icon",className:h}),(0,Y.jsxs)("p",{className:x,children:[(0,Y.jsx)("strong",{children:"Audit & Compliance:"})," ","OPA generates comprehensive audit trails for every policy decision. This detailed history supports auditing and compliance efforts and enables decisions to be replayed for analysis or debugging."]})]})]}),(0,Y.jsx)("div",{className:b,children:(0,Y.jsxs)("div",{className:S,children:[(0,Y.jsx)("div",{className:O,children:(0,Y.jsx)("iframe",{className:E,src:"https://www.youtube.com/embed/NF0VXAqJH8E?controls=0&modestbranding=1&rel=0&showinfo=0",title:"YouTube video player",frameBorder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share",referrerPolicy:"strict-origin-when-cross-origin"})}),(0,Y.jsxs)("p",{className:f,children:["Interested to see more? Checkout the"," ",(0,Y.jsx)("a",{target:"_blank",href:"https://www.youtube.com/watch?v=XtA-NKoJDaI",children:"Maintainer Track Session"})," ","from KubeCon."]})]})})]})}),(0,Y.jsx)("div",{className:A,children:(0,Y.jsxs)("div",{className:k,children:[(0,Y.jsx)(a.A,{as:"h2",style:{marginBottom:"1rem"},children:"Context-aware, Expressive, Fast, Portable"}),(0,Y.jsx)("p",{children:"OPA is a general-purpose policy engine that unifies policy enforcement across the stack. OPA provides a high-level declarative language that lets you specify policy for a wide range of use cases. You can use OPA to enforce policies in applications, proxies, Kubernetes, CI/CD pipelines, API gateways, and more."}),(0,Y.jsxs)("p",{children:["The examples below are interactive! Use the ",(0,Y.jsx)("b",{children:"Evaluate"})," ","button to see output for the given rego and input. Then edit the rego or the input (or both) to see how the output changes."]}),(0,Y.jsxs)(o.A,{defaultValue:"app",values:[{label:"API",value:"app"},{label:"Envoy",value:"envoy"},{label:"Kubernetes",value:"k8s"},{label:"AI Tool Calling",value:"ai"}],children:[(0,Y.jsx)(n.A,{value:"app",children:(0,Y.jsx)(u.A,{dir:t(78740)})}),(0,Y.jsx)(n.A,{value:"envoy",children:(0,Y.jsx)(u.A,{dir:t(44852)})}),(0,Y.jsx)(n.A,{value:"k8s",children:(0,Y.jsx)(u.A,{dir:t(7901)})}),(0,Y.jsx)(n.A,{value:"ai",children:(0,Y.jsx)(u.A,{dir:t(1657)})})]})]})}),(0,Y.jsx)("div",{className:A,children:(0,Y.jsx)(g.A,{children:[{title:"Rego Playground",note:"Write your first Rego Policy",icon:t(37784).A,link:"https://play.openpolicyagent.org/",link_text:"Play with Rego"},{title:"OPA Slack Community",note:"Talk to other users and maintainers",icon:t(79225).A,link:"https://slack.openpolicyagent.org/",link_text:"Join us on Slack"},{title:"Contribute to OPA",note:"Get involved with our project",icon:t(64188).A,link:(0,i.Ay)("/docs/contributing"),link_text:"Get started"}].map((function(v,e){return(0,Y.jsx)(c.A,{item:v},e)}))})})]})}},7113:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iODBweCIgaGVpZ2h0PSI4MHB4IiB2aWV3Qm94PSIwIDAgODAgODAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDY0ICg5MzUzNykgLSBodHRwczovL3NrZXRjaC5jb20gLS0+CiAgICA8dGl0bGU+SWNvbi1BcmNoaXRlY3R1cmUvNjQvQXJjaF9BV1MtQ2xvdWRGb3JtYXRpb25fNjQ8L3RpdGxlPgogICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+CiAgICA8ZGVmcz4KICAgICAgICA8bGluZWFyR3JhZGllbnQgeDE9IjAlIiB5MT0iMTAwJSIgeDI9IjEwMCUiIHkyPSIwJSIgaWQ9ImxpbmVhckdyYWRpZW50LTEiPgogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjQjAwODREIiBvZmZzZXQ9IjAlIj48L3N0b3A+CiAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiNGRjRGOEIiIG9mZnNldD0iMTAwJSI+PC9zdG9wPgogICAgICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICA8L2RlZnM+CiAgICA8ZyBpZD0iSWNvbi1BcmNoaXRlY3R1cmUvNjQvQXJjaF9BV1MtQ2xvdWRGb3JtYXRpb25fNjQiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJJY29uLUFyY2hpdGVjdHVyZS1CRy82NC9NYW5hZ2VtZW50LUdvdmVybmFuY2UiIGZpbGw9InVybCgjbGluZWFyR3JhZGllbnQtMSkiPgogICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlIiB4PSIwIiB5PSIwIiB3aWR0aD0iODAiIGhlaWdodD0iODAiPjwvcmVjdD4KICAgICAgICA8L2c+CiAgICAgICAgPHBhdGggZD0iTTUzLDM5Ljk2MzIwMzkgTDU4LDM5Ljk2MzIwMzkgTDU4LDM3Ljk2MDEzNzUgTDUzLDM3Ljk2MDEzNzUgTDUzLDM5Ljk2MzIwMzkgWiBNMjgsNTEuOTgxNjAxOSBMMzMsNTEuOTgxNjAxOSBMMzMsNDkuOTc4NTM1NiBMMjgsNDkuOTc4NTM1NiBMMjgsNTEuOTgxNjAxOSBaIE0xOCw1MS45ODE2MDE5IEwyNSw1MS45ODE2MDE5IEwyNSw0OS45Nzg1MzU2IEwxOCw0OS45Nzg1MzU2IEwxOCw1MS45ODE2MDE5IFogTTE4LDQ1Ljk3MjQwMjkgTDMwLDQ1Ljk3MjQwMjkgTDMwLDQzLjk2OTMzNjYgTDE4LDQzLjk2OTMzNjYgTDE4LDQ1Ljk3MjQwMjkgWiBNMTgsMzMuOTU0MDA0OCBMMjcsMzMuOTU0MDA0OCBMMjcsMzEuOTUwOTM4NSBMMTgsMzEuOTUwOTM4NSBMMTgsMzMuOTU0MDA0OCBaIE0xOCwzOS45NjMyMDM5IEw1MSwzOS45NjMyMDM5IEw1MSwzNy45NjAxMzc1IEwxOCwzNy45NjAxMzc1IEwxOCwzOS45NjMyMDM5IFogTTM3LDYxLjk5NjkzMzcgTDE0LDYxLjk5NjkzMzcgTDE0LDI3Ljk0NDgwNTggTDM3LDI3Ljk0NDgwNTggTDM3LDM1Ljk1NzA3MTIgTDM5LDM1Ljk1NzA3MTIgTDM5LDI2Ljk0MzI3MjYgQzM5LDI2LjM5MDQyNjMgMzguNTUyLDI1Ljk0MTczOTUgMzgsMjUuOTQxNzM5NSBMMTMsMjUuOTQxNzM5NSBDMTIuNDQ3LDI1Ljk0MTczOTUgMTIsMjYuMzkwNDI2MyAxMiwyNi45NDMyNzI2IEwxMiw2Mi45OTg0NjY4IEMxMiw2My4
11NTEzMTMxIDEyLjQ0Nyw2NCAxMyw2NCBMMzgsNjQgQzM4LjU1Miw2NCAzOSw2My41NTEzMTMxIDM5LDYyLjk5ODQ2NjggTDM5LDQyLjk2NzgwMzQgTDM3LDQyLjk2NzgwMzQgTDM3LDYxLjk5NjkzMzcgWiBNNjgsMzYuOTU4NjA0NCBDNjgsNDMuNDMwNTExNyA2Mi4xNzMsNDUuNjgxOTU4MyA1OS4wOTIsNDUuOTY4Mzk2OCBMNDMsNDUuOTcyNDAyOSBMNDMsNDMuOTY5MzM2NiBMNTksNDMuOTY5MzM2NiBDNTkuMTk1LDQzLjk0NjMwMTMgNjYsNDMuMjEyMTc3NSA2NiwzNi45NTg2MDQ0IEM2NiwzMS4yNjM4ODY3IDYwLjg2MywzMC4xMDgxMTc1IDU5LjgzNCwyOS45MzM4NTA3IEM1OS4zMjEsMjkuODQ2NzE3MyA1OC45NiwyOS4zODIwMDU5IDU5LjAwNCwyOC44NjMyMTE3IEM1OS4wMDUsMjguODQ0MTgyNiA1OS4wMDcsMjguODI2MTU1IDU5LjAwOSwyOC44MDgxMjc0IEM1OC45NTQsMjUuNTkwMjAxMyA1Ni45ODEsMjQuNTg0NjYyIDU2LjEyNiwyNC4zMDAyMjY2IEM1NC41MywyMy43Njk0MTQgNTIuNzUxLDI0LjI3NzE5MTMgNTEuODEsMjUuNTM5MTIzMSBDNTEuNTkxLDI1LjgzNTU3NjkgNTEuMjI5LDI1Ljk4NjgwODUgNTAuODYxLDI1LjkzMDcyMjYgQzUwLjQ5NywyNS44NzU2MzgzIDUwLjE5MiwyNS42MjUyNTUgNTAuMDY4LDI1LjI3NjcyMTQgQzQ5LjQ0NywyMy41MzYwNTY4IDQ4LjU0NiwyMi40MDgzMzA0IDQ3LjI5MywyMS4xNTM0MDk0IEM0NC4xNTksMTguMDM4NjQxMiAzOS45MDUsMTcuMTc4MzI0MiAzNS45MjUsMTguODUyODg3NyBDMzMuODM3LDE5LjczMzIzNTMgMzIuMDEyLDIxLjcyODI4OTQgMzAuOTIyLDI0LjMyNzI2OCBMMjkuMDc4LDIzLjU1MDA3ODIgQzMwLjM3LDIwLjQ3NDM2OTkgMzIuNTg0LDE4LjA4ODcxNzkgMzUuMTUsMTcuMDA3MDYyIEMzOS45MDUsMTUuMDA0OTk3MiA0NC45NzEsMTYuMDI1NTU5NSA0OC43MDQsMTkuNzM0MjM2OSBDNDkuNzc0LDIwLjgwNjg3ODkgNTAuNjYsMjEuODUxNDc4IDUxLjM1LDIzLjIwMzU0NzggQzUyLjg0MywyMi4wOTc4NTUxIDU0Ljg1NywyMS43NjczNDkyIDU2Ljc1NywyMi4zOTkzMTY2IEM1OS4xODksMjMuMjA4NTU1NCA2MC43MjcsMjUuMzIwNzg4OSA2MC45NzUsMjguMTI5MDg3OSBDNjQuMzgxLDI4Ljk4ODQwMzQgNjgsMzEuNzExNTcyMSA2OCwzNi45NTg2MDQ0IEw2OCwzNi45NTg2MDQ0IFoiIGlkPSJBV1MtQ2xvdWRGb3JtYXRpb25fSWNvbl82NF9TcXVpZCIgZmlsbD0iI0ZGRkZGRiI+PC9wYXRoPgogICAgPC9nPgo8L3N2Zz4="},7901:(v,e,t)=>{var i={"./config":38712,"./config.json":38712,"./data":55354,"./data.json":55354,"./input":27462,"./input.json":27462,"./intro.md":40870,"./output":22775,"./output.json":22775,"./policy.rego":90491,"./title.txt":3430};function s(v){var e=a(v);return t(e)}function a(v){if(!t.o(i,v)){var e=new Error("Cannot find module '"+v+"'");throw e.code="MODULE_NOT_FOUND",e}return i[v]}s.keys=function(){return Object.keys(i)},s.resolve=a,v.exports=s,s.id=7901},8042:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/gcp-forseti-c8fc57b4b0777fa9e50f00f818baa8a9.png"},8158:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/permit-edd367ad78a114c187595ed69be4e230.png"},8395:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/kubestellar-console-6f19bcc5d7fdd005ddc68e71bb5c5d05.svg"},8548:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGlkPSJBc3NldHMiIHZpZXdCb3g9IjAgMCAzMzcuNDYgNDI4LjUiPjxkZWZzPjxzdHlsZT4uY2xzLTF7ZmlsbDojN2RmM2UxfTwvc3R5bGU+PC9kZWZzPjx0aXRsZT4wNCBJY29uX1RlYWw8L3RpdGxlPjxwYXRoIGQ9Ik0zMDMsMTY2LjA1YTgwLjY5LDgwLjY5LDAsMCwwLDEzLjQ1LTEwLjM3Yy43OS0uNzcsMS41NS0xLjUzLDIuMy0yLjNhODMuMTIsODMuMTIsMCwwLDAsNy45My05LjM4QTYzLjY5LDYzLjY5LDAsMCwwLDMzMywxMzMuMjNhNDguNTgsNDguNTgsMCwwLDAsNC4zNS0xNi40YzEuNDktMTkuMzktMTAtMzguNjctMzUuNjItNTQuMjJMMTk4LjU2LDAsNzguMywxMTUuMjMsMCwxOTAuMjVsMTA4LjYsNjUuOTFhMTExLjU5LDExMS41OSwwLDAsMCw1Ny43NiwxNi40MWMyNC45MiwwLDQ4LjgtOC44LDY2LjQyLTI1LjY5LDE5LjE2LTE4LjM2LDI1LjUyLTQyLjEyLDEzLjctNjEuODdhNDkuMjIsNDkuMjIsMCwwLDAtNi44LTguODdBODkuMTcsODkuMTcsMCwwLDAsMjU5LDE3OC4yOWguMTVhODUuMDgsODUuMDgsMCwwLDAsMzEtNS43OUE4MC44OCw4MC44OCwwLDAsMCwzMDMsMTY2LjA1Wk0yMDIuNDUsMjI1Ljg2Yy0xOS4zMiwxOC41MS01MC40LDIxLjIzLTc1LjcsNS45TDUxLjYxLDE4Ni4xNWw2Ny40NS02NC42NCw3Ni40MSw0Ni4zOEMyMjMsMTg0LjU4LDIyMS40OSwyMDcuNjEsMjAyLjQ1LDIyNS44NlptOC45My04Mi4yMi03MC42NS00Mi44OUwyMDUuMTQsMzksMjc0LjUxLDgxLjFjMjUuOTQsMTUuNzIsMjkuMzEsMzcsMTAuNTUsNTVBNjAuNjksNjAuNjksMCwwLDEsMjExLjM4LDE0My42NFptMjkuODYsMTkwYy0xOS41NywxOC43NS00Ni4xNywyOS4wOS03NC44OCwyOS4wOWExMjMuNzMsMTIzLjczLDAsMCwxLTY0LjEtMTguMkwwLDI4Mi41MnYyNC42N0wxMDguNiwzNzMuMWExMTEuNiwxMTEuNiwwLDAsMCw1Ny43NiwxNi40MmMyNC45MiwwLDQ4LjgtOC44MSw2Ni40Mi0yNS42OSwxMi44OC0xMi4zNCwyMC0yNy4xMywxOS42OC00MS40OXYtMS43OUE4Ny4yNyw4Ny4yNywwLDAsMSwyNDEuMjQsMzMzLjY4Wm0wLTM5Yy0xOS41NywxOC43NS00Ni4xNywyOS4wOC03NC44OCwyOS4wOGExMjMuODEsMTIzLjgxLDAsMCwxLTY0LjEtMTguMTlMMCwyNDMuNTN2MjQuNjhsMTA4LjYsNjUuOTFhMTExLjYsMTExLjYsMCwwLDAsNTcuNzYsMTYuNDJjMjQuOTIsMCw0OC44LTguODEsNjYuNDItMjUuNjksMTIuODgtMTIuMzQsMjAtMjcuMTMsMTkuNjgtNDEuNXYtMS43OEE4Ny4yNyw4Ny4yNywwLDAsMSwyNDEuMjQsMjk0LjdabTAtMzljLTE5LjU3LDE4Ljc2LTQ2LjE3LDI5LjA5LTc0Ljg4LDI5LjA5YTEyMy44MSwxMjMuODEsMCwwLDEtNjQuMS0xOC4xOUwwLDIwNC41NXYyNC42OGwxMDguNiw2NS45MWExMTEuNTksMTExLjU5LDAsMCwwLDU3Ljc2LDE2LjQxYzI0LjkyLDAsNDguOC04LjgsNjYuNDItMjUuNjgsMTIuODgtMTIuMzUsMjAtMjcuMTMsMTkuNjgtNDEuNXYtMS44MkE4Ni4wOSw4Ni4wOSwwLDAsMSwyNDEuMjQsMjU1LjcxWm04My43LDI1Ljc0YTk0LjE1LDk0LjE1LDAsMCwxLTYwLjIsMjUuODZoMFYzMzRhODEuNiw4MS42LDAsMCwwLDUxLjc0LTIyLjM3YzE0LTEzLjM4LDIxLjE0LTI4LjExLDIxLTQyLjY0di0yLjE5QTk0LjkyLDk0LjkyLDAsMCwxLDMyNC45NCwyODEuNDVabS04My43LDkxLjIxYy0xOS41NywxOC43Ni00Ni4xNywyOS4wOS03NC44OCwyOS4wOWExMjMuNzMsMTIzLjczLDAsMCwxLTY0LjEtMTguMkwwLDMyMS41djI0LjY4bDEwOC42LDY1LjlhMTExLjYsMTExLjYsMCwwLDAsNTcuNzYsMTYuNDJjMjQuOTIsMCw0OC44LTguOCw2Ni40Mi0yNS42OSwxMi44OC0xMi4zNCwyMC0yNy4xMywxOS42OC00MS40OXYtMS43OUE4Ni4yOSw4Ni4yOSwwLDAsMSwyNDEuMjQsMzcyLjY2Wk0zMjcsMTYyLjQ1Yy0uNjguNjktMS4zNSwxLjM4LTIuMDUsMi4wNmE5NC4zNyw5NC4zNywwLDAsMS0xMC42NCw4LjY1LDkxLjM1LDkxLjM1LDAsMCwxLTExLjYsNyw5NC41Myw5NC41MywwLDAsMS0yNi4yNCw4LjcxLDk3
1LjY5LDk3LjY5LDAsMCwxLTE0LjE2LDEuNTdjLjUsMS42MS45LDMuMjUsMS4yNSw0LjlhNTMuMjcsNTMuMjcsMCwwLDEsMS4xNCwxMlYyMTdoLjA1YTg0LjQxLDg0LjQxLDAsMCwwLDI1LjM1LTUuNTUsODEsODEsMCwwLDAsMjYuMzktMTYuODJjLjgtLjc3LDEuNS0xLjU2LDIuMjYtMi4zNGE4Mi4wOCw4Mi4wOCwwLDAsMCw3LjkzLTkuMzhBNjMuNzYsNjMuNzYsMCwwLDAsMzMzLDE3Mi4xN2E0OC41NSw0OC41NSwwLDAsMCw0LjMyLTE2LjQ1Yy4wOS0xLjIzLjItMi40Ny4xOS0zLjdWMTUwcS0xLjA4LDEuNTQtMi4yNSwzLjA5QTk2LjczLDk2LjczLDAsMCwxLDMyNywxNjIuNDVabTAsNzcuOTJjLS42OS43LTEuMzEsMS40MS0yLDIuMWE5NC4yLDk0LjIsMCwwLDEtNjAuMiwyNS44NmgwbDAsMjYuNjdoMGE4MS42LDgxLjYsMCwwLDAsNTEuNzQtMjIuMzdBNzMuNTEsNzMuNTEsMCwwLDAsMzMzLDI1MC4xM2E0OC41Niw0OC41NiwwLDAsMCw0LjMyLTE2LjQ0Yy4wOS0xLjI0LjItMi40Ny4xOS0zLjcxdi0yLjE5Yy0uNzQsMS4wNy0xLjQ2LDIuMTUtMi4yNywzLjIxQTk1LjY4LDk1LjY4LDAsMCwxLDMyNywyNDAuMzdabTAtMzljLS42OS43LTEuMzEsMS40MS0yLDIuMWE5My4xOCw5My4xOCwwLDAsMS0xMC42Myw4LjY1LDkxLjYzLDkxLjYzLDAsMCwxLTExLjYzLDcsOTUuNDcsOTUuNDcsMCwwLDEtMzcuOTQsMTAuMThoMFYyNTZoMGE4MS42NSw4MS42NSwwLDAsMCw1MS43NC0yMi4zN2MuOC0uNzcsMS41LTEuNTYsMi4yNi0yLjM0YTgyLjA4LDgyLjA4LDAsMCwwLDcuOTMtOS4zOEE2My43Niw2My43NiwwLDAsMCwzMzMsMjExLjE1YTQ4LjU2LDQ4LjU2LDAsMCwwLDQuMzItMTYuNDRjLjA5LTEuMjQuMi0yLjQ4LjE5LTMuNzF2LTIuMmMtLjc0LDEuMDgtMS40NiwyLjE2LTIuMjcsMy4yMkE5NS42OCw5NS42OCwwLDAsMSwzMjcsMjAxLjM5WiIgY2xhc3M9ImNscy0xIi8+PC9zdmc+"},8590:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i='package envoy.http.public\n\nheaders := input.attributes.request.http.headers\n\ndefault allow := false\n\nallow if {\n\tinput.attributes.request.http.method == "GET"\n\tinput.attributes.request.http.path == "/"\n}\n\nallow if headers.authorization == "Basic charlie"\n'},9595:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/circleci-35c51fd4ee4ce879b3125282feced539.png"},9606:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/rego-cheat-sheet-92a1aebfb4ea664b7d9c550b29f450a5.png"},10059:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgd2lkdGg9IjEwMCIKICAgaGVpZ2h0PSI1MCIKICAgdmlld0JveD0iMCAwIDEwMCA1MCIKICAgZmlsbD0ibm9uZSIKICAgdmVyc2lvbj0iMS4xIgogICBpZD0ic3ZnMjIwIgogICBzb2RpcG9kaTpkb2NuYW1lPSJiYW5rZGF0YV9sb2dvLnN2ZyIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMS4yLjIgKGIwYTg0ODYsIDIwMjItMTItMDEpIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogIDxkZWZzCiAgICAgaWQ9ImRlZnMyMjQiIC8+CiAgPHNvZGlwb2RpOm5hbWVkdmlldwogICAgIGlkPSJuYW1lZHZpZXcyMjIiCiAgICAgcGFnZWNvbG9yPSIjZmZmZmZmIgogICAgIGJvcmRlcmNvbG9yPSIjMDAwMDAwIgogICAgIGJvcmRlcm9wYWNpdHk9IjAuMjUiCiAgICAgaW5rc2NhcGU6c2hvd3BhZ2VzaGFkb3c9IjIiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAuMCIKICAgICBpbmtzY2FwZTpwYWdlY2hlY2tlcmJvYXJkPSIwIgogICAgIGlua3NjYXBlOmRlc2tjb2xvcj0iI2QxZDFkMSIKICAgICBzaG93Z3JpZD0iZmFsc2UiCiAgICAgaW5rc2NhcGU6em9vbT0iNy44ODYwNzU5IgogICAgIGlua3NjYXBlOmN4PSI1Mi40MzQxODkiCiAgICAgaW5rc2NhcGU6Y3k9IjE1LjAyNjQ4NSIKICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjEzOTAiCiAgICAgaW5rc2NhcGU6d2luZG93LWhlaWdodD0iMTIwNSIKICAgICBpbmtzY2FwZTp3aW5kb3cteD0iMCIKICAgICBpbmtzY2FwZTp3aW5kb3cteT0iMjUiCiAgICAgaW5rc2NhcGU6d2luZG93LW1heGltaXplZD0iMCIKICAgICBpbmtzY2FwZTpjdXJyZW50LWxheWVyPSJzdmcyMjAiIC8+CiAgPHBhdGgKICAgICBmaWxsLXJ1bGU9ImV2ZW5vZGQiCiAgICAgY2xpcC1ydWxlPSJldmVub2RkIgogICAgIGQ9Ik0gNS43MTU0MzA0LDIzLjExMjIxNSBIIDIuNTQ2MjY1OCB2IDkuMzQzNzk4IGggMy4wODc5MDUxIGMgMC44MTI2MDEzLDAgMS44MTUwMDYzLC0wLjA4MzY3IDIuNDkyMzQ4MSwtMC42MTM3MzUgMS4xMTAzNzk3LC0wLjgzNjcwOCAxLjMwMDEyNjYsLTIuNzYxMDc1IDEuMzAwMTI2NiwtNC4wNzE3MDggMCwtMi43NjE1MTkgLTAuNjc2ODM1NSwtNC42NTgzNTUgLTMuNzExMjE1MiwtNC42NTgzNTUgeiBNIDguOTExODk4NywzNC4wNzM3OTcgQyA3LjgyODI5MTEsMzQuNDkyMTUyIDYuNjA5MzY3MSwzNC41NDgyMjggNS40NzE3MDg5LDM0LjU0ODIyOCBIIDAgViAxNiBoIDIuNTQ2MzI5MSB2IDUuMDIwNTgyIEggNi4yMDMwNTcgYyAwLjU0MjA2OTYsMCAxLjExMDQyNCwwLjAyODA2IDEuNjUyNDQ5MywwLjExMTcyOCAzLjE2OTY4MzcsMC41MDIwMDcgNC4xOTg3OTc3LDMuNTE0MDgyIDQuMTk4Nzk3Nyw2LjQ0Mjk0MyAwLDIuNTEwNTA2IC0wLjU5NTU3LDUuNDk0NTU3IC0zLjE0MjQwNTMsNi40OTg1NDQgeiIKICAgICBmaWxsPSIjOTFiZTFlIgogICAgIGlkPSJwYXRoMjA0IgogICAgIHN0eWxlPSJzdHJva2Utd2lkdGg6MC42MzI5MTEiIC8+CiAgPHBhdGgKICAgICBmaWxsLXJ1bGU9ImV2ZW5vZGQiCiAgICAgY2xpcC1ydWxlPSJldmVub2RkIgogICAgIGQ9Im0gMjIuNTMyMjE1LDI4LjQxMjA4OSBoIC00LjMzNDU1NyBjIC0xLjUxNjcwOSwwIC0yLjYyNzU5NSwwLjI1MTAxMiAtMi42Mjc1OTUsMi4wNjM2MDcgMCwxLjcyOTQ5NCAxLjE5MjE1MiwxLjk4MDUwNyAyLjYyNzU5NSwxLjk4MDUwNyBoIDQuMzM0NTU3IHogbSAtNC42ODY0NTYsNi4xMzU4MjIgYyAtMC44MTMxMDEsMCAtMS42Nzk3NDYsLTAuMDI4MDQgLTIuNDY1MDYzLC0wLjMwNzA4OCAtMS42NTI0NjgsLTAuNTU3NjU4IC0yLjQzNzg0OCwtMi4wMzYwNzYgLTIuNDM3ODQ4LC0zLjc2NTU3IDAsLTEuMDMxNTgyIDAuMjk3Nzg1LC0yLjExOTI0IDAuOTQ3NDA1LC0yLjkwMDMxNiAwLjk3NTYzMywtMS4yMjc0NjkgMi41NDY4MzYsLTEuMjU1MDY0IDMuOTgyMjc5LC0xLjI1NTA2NCBoIDQuNjU5NTU3IHYgLTAuMzYyNzIxIGMgMCwtMi41MzgxMDEgLTAuNTk2MDc2LC0yLjg0NDY4NCAtMi45NTI2NTksLTIuODQ0Njg0IEggMTMuNDU3MTUyIFYgMjEuMDIwMjYgaCA2Ljg1MzY3MSBjIDMuNDEzNDE4LDAgNC43Njc1OTUsMC45NzY0NTUgNC43Njc1OTUsNC42MzAzMSB2IDguODk3MzQxIHoiCiAgICAgZmlsbD0iIzkxYmUxZSIKICAgICBpZD0icGF0aDIwNiIKICAgICBzdHlsZT0ic3Ryb2tlLXdpZHRoOjAuNjMyOTExIiAvPgogIDxwYXRoCiAgICAgZmlsbC1ydWxlPSJldmVub2RkIgogICAgIGNsaXAtcnVsZT0iZXZlbm9kZCIKICAgICBkPSJtIDM1Ljg0ODY3MSwzNC41NDgxNjUgdiAtNy43ODE1ODMgYyAwLC0yLjQ1NDQzIC0wLjU2ODc5OCwtMy42NTM4NjEgLTMuMTQxODk5LC0zLjY1Mzg2MSBIIDI5LjY0NTEyNyBWIDM0LjU0ODE2NSBIIDI3LjA5OTMwNCBWIDIxLjAyMTAzMiBoIDYuMDEzMjkxIGMgMy44NDY1MTksMCA1LjI1NTE5LDEuNTM0MDk1IDUuMjU1MTksNS40NjY1IHYgOC4wNjA2MzMgeiIKICAgICBmaWxsPSIjOTFiZTFlIgogICAgIGlkPSJwYXRoMjA4IgogICAgIHN0eWxlPSJzdHJva2Utd2lkdGg6MC42MzI5MTEiIC8+CiAgPHBhdGgKICAgICBmaWxsLXJ1bGU9ImV2ZW5vZGQiCiAgICAgY2xpcC1ydWxlPSJldmVub2RkIgogICAgIGQ9Im0gNDUuOTY5MTE0LDI2LjM3NTgyMyBoIDEuMTEwMzggYyAzLjE5NjQ1NSwtMC4wMjgwNCA0LjY1OTYyLDAuODkyNzg1IDQuNjU5NjIsNC4zNzg3OTcgdiAzLjc5MzYwOCBoIC0yLjU0NjMyOSB2IC0zLjEyNDI0MSBjIDAsLTIuNjIxNzcyIC0wLjc1ODYwO
1CwtMy4xNTE4MzUgLTMuMjUwOTUsLTMuMTUxODM1IGggLTMuMDA2NTgyIHYgNi4yNzYwNzYgSCA0MC4zODg5MjQgViAxNiBoIDIuNTQ2MzI5IHYgMTAuNDAzOTI0IGwgNi4yMzAyNTMsLTUuMzgzMzQyIGggMy4xOTY0NTYgeiIKICAgICBmaWxsPSIjOTFiZTFlIgogICAgIGlkPSJwYXRoMjEwIgogICAgIHN0eWxlPSJzdHJva2Utd2lkdGg6MC42MzI5MTEiIC8+CiAgPHBhdGgKICAgICBmaWxsLXJ1bGU9ImV2ZW5vZGQiCiAgICAgY2xpcC1ydWxlPSJldmVub2RkIgogICAgIGQ9Im0gNjIuMzkwNjMzLDIzLjExMjIxNSBoIC0yLjg0NDExNCBjIC0zLjA4NzQwNSwwIC00LjA4OTMwNCwxLjYxNzc4NSAtNC4wODkzMDQsNC42NTc4NDggMCwyLjgxNzE1MiAwLjU2ODM1NSw0LjY4NTQ0MyAzLjY4Mjk3NSw0LjY4NTQ0MyBoIDMuMjUwNDQzIHogbSAtMy4yMjMwMzgsMTEuNDM1NTA3IGMgLTEuMTEwNDQzLDAgLTIuMjQ4MDM4LC0wLjAyODA0IC0zLjI3NzcyMiwtMC40NDYzOTMgLTIuMzAyMDI1LC0wLjkyMDMxNiAtMy4wNjA2MzIsLTMuNzM3NDY4IC0zLjA2MDYzMiwtNi4wNTIxNTIgMCwtMS41MDY1MTkgMC4zNTIyNzgsLTMuMzc0NzQ3IDEuMTM3NjU4LC00LjYzMDI1MyAxLjIxODkyNCwtMS45ODA1IDMuMzA0OTM2LC0yLjM5ODM0MiA1LjQxNzIxNSwtMi4zOTgzNDIgaCAzLjAwNjY0NSBWIDE2IGggMi41NDY1ODMgdiAxOC41NDc3MjIgeiIKICAgICBmaWxsPSIjMTkzNjU1IgogICAgIGlkPSJwYXRoMjEyIgogICAgIHN0eWxlPSJzdHJva2Utd2lkdGg6MC42MzI5MTEiIC8+CiAgPHBhdGgKICAgICBmaWxsLXJ1bGU9ImV2ZW5vZGQiCiAgICAgY2xpcC1ydWxlPSJldmVub2RkIgogICAgIGQ9Im0gNzUuNjkxMTM5LDI4LjQxMjA4OSBoIC00LjMzNDgxIGMgLTEuNTE2NDU2LDAgLTIuNjI3MjE1LDAuMjUxMDEyIC0yLjYyNzIxNSwyLjA2MzYwNyAwLDEuNzI5NDk0IDEuMTkxNzcyLDEuOTgwNTA3IDIuNjI3MjE1LDEuOTgwNTA3IGggNC4zMzQ4MSB6IG0gLTQuNjg2NzA5LDYuMTM1ODIyIGMgLTAuODEyNjU4LDAgLTEuNjc5MTE0LC0wLjAyODA0IC0yLjQ2NDU1NywtMC4zMDcwODggLTEuNjUyNTMxLC0wLjU1NzY1OCAtMi40Mzc5NzQsLTIuMDM2MDc2IC0yLjQzNzk3NCwtMy43NjU1NyAwLC0xLjAzMTU4MiAwLjI5NzQ2OCwtMi4xMTkyNCAwLjk0ODEwMSwtMi45MDAzMTYgMC45NzQ2ODQsLTEuMjI3NDY5IDIuNTQ2MjAzLC0xLjI1NTA2NCAzLjk4MTY0NiwtMS4yNTUwNjQgaCA0LjY1OTQ5MyB2IC0wLjM2MjcyMSBjIDAsLTIuNTM4MTAxIC0wLjU5NjIwMiwtMi44NDQ2ODQgLTIuOTUyNTMxLC0yLjg0NDY4NCBIIDY2LjYxNjQ1NiBWIDIxLjAyMDI2IGggNi44NTMxNjQgYyAzLjQxMzkyNCwwIDQuNzY3NzIyLDAuOTc2NDU1IDQuNzY3NzIyLDQuNjMwMzEgdiA4Ljg5NzM0MSB6IgogICAgIGZpbGw9IiMxOTM2NTYiCiAgICAgaWQ9InBhdGgyMTQiCiAgICAgc3R5bGU9InN0cm9rZS13aWR0aDowLjYzMjkxMSIgLz4KICA8cGF0aAogICAgIGZpbGwtcnVsZT0iZXZlbm9kZCIKICAgICBjbGlwLXJ1bGU9ImV2ZW5vZGQiCiAgICAgZD0ibSA4NC42MjUzMTYsMzQuNTQ3NzIyIGMgLTIuODk4NzM0LDAgLTMuNTc1OTQ5LC0xLjI1NSAtMy41NzU5NDksLTQuMDQ0MTE0IHYgLTcuMzkxMzI5IGggLTIuNDkyNDA1IHYgLTIuMDkxNjk3IGggMi40OTI0MDUgViAxNiBoIDIuNTE5NjIgdiA1LjAyMDU4MiBoIDMuODE4OTg4IHYgMi4wOTE2OTcgaCAtMy44MTg5ODggdiA3LjUzMDYzMiBjIDAsMC41MDIwMjYgMC4wMjY1OCwxLjA4NzY1OSAwLjQwNjMyOSwxLjQ1MDM4IDAuNDA2OTYyLDAuMzkwMzE3IDEuNjUyNTMyLDAuMzkwMzE3IDIuMTY2NDU2LDAuMzkwMzE3IDAuNDA2MzI5LDAgMC44Mzk4NzQsLTAuMDI3NTMgMS4yNDYyMDMsLTAuMDI3NTMgdiAyLjA5MTY0NiB6IgogICAgIGZpbGw9IiMxOTM1NTUiCiAgICAgaWQ9InBhdGgyMTYiCiAgICAgc3R5bGU9InN0cm9rZS13aWR0aDowLjYzMjkxMSIgLz4KICA8cGF0aAogICAgIGZpbGwtcnVsZT0iZXZlbm9kZCIKICAgICBjbGlwLXJ1bGU9ImV2ZW5vZGQiCiAgICAgZD0iTSA5Ny40NTM3OTcsMjguNDEyMDg5IEggOTMuMTE5NjIgYyAtMS41MTcwODgsMCAtMi42Mjc4NDgsMC4yNTEwMTIgLTIuNjI3ODQ4LDIuMDYzNjA3IDAsMS43Mjk0OTQgMS4xOTI0MDUsMS45ODA1MDcgMi42Mjc4NDgsMS45ODA1MDcgaCA0LjMzNDE3NyB6IG0gLTQuNjg2MDc1LDYuMTM1ODIyIGMgLTAuODEzMjkyLDAgLTEuNjc5NzQ3LC0wLjAyODA0IC0yLjQ2NTE5LC0wLjMwNzA4OCAtMS42NTI1MzIsLTAuNTU3NjU4IC0yLjQzODYwOCwtMi4wMzYwNzYgLTIuNDM4NjA4LC0zLjc2NTU3IDAsLTEuMDMxNTgyIDAuMjk4MTAxLC0yLjExOTI0IDAuOTQ4MTAxLC0yLjkwMDMxNiAwLjk3NTMxNywtMS4yMjc0NjkgMi41NDY4MzYsLTEuMjU1MDY0IDMuOTgyMjc5LC0xLjI1NTA2NCBoIDQuNjU5NDkzIHYgLTAuMzYyNzIxIGMgMCwtMi41MzgxMDEgLTAuNTk2MjAyLC0yLjg0NDY4NCAtMi45NTI1MzEsLTIuODQ0Njg0IEggODguMzc5MTE0IFYgMjEuMDIwMjYgaCA2Ljg1MzE2NCBjIDMuNDEzOTI1LDAgNC43Njc3MjIsMC45NzY0NTUgNC43Njc3MjIsNC42MzAzMSB2IDguODk3MzQxIHoiCiAgICAgZmlsbD0iIzBmMzc1NyIKICAgICBpZD0icGF0aDIxOCIKICAgICBzdHlsZT0ic3Ryb2tlLXdpZHRoOjAuNjMyOTExIiAvPgo8L3N2Zz4K"},10898:v=>{"use strict";v.exports=JSON.parse('{"tool_calls":[{"tool":"Bash","params":{"command":"ls -la","timeout":5000}},{"tool":"WebFetch","params":{"url":"http://example.com","timeout":5000}}]}')},11092:(v,e,t)=>{"use strict";t.r(e),t.d(e,{contentTitle:()=>M,default:()=>r,frontMatter:()=>a,toc:()=>n});var i=t(74848),s=t(28453);const a={},M=void 0,n=[];function o(v){const e={p:"p",...(0,s.R)(),...v.components};return(0,i.jsx)(e.p,{children:"OPA lets you enforce fine-grained policies over which tools an AI agent can call, what parameters are permitted, and how those tools can be used."})}function r(v={}){const{wrapper:e}={...(0,s.R)(),...v.components};return e?(0,i.jsx)(e,{...v,children:(0,i.jsx)(o,{...v})}):o(v)}},11213:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});
1const i=t.p+"assets/images/graphene-graphql-fc6b9451733c620ceb86a49ca3953d65.png"},11505:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/fig-7072d6bb0ae1724bf28c2d202f54bf04.png"},12217:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/kafka-authorization-b9a03e6b1310027e272741b9cfbfbf8c.png"},12551:(v,e,t)=>{"use strict";t.d(e,{Bs:()=>o,ek:()=>n,t5:()=>M,Ay:()=>c});var i=t(28536);t(96540);const s={heading:"heading_g0DK",supported:"supported_iNTI",unsupported:"unsupported_fsZA",hostProvided:"hostProvided_qFuZ"};var a=t(74848);function M(){return i._implementations||[]}function n(){return[{key:"opa",label:"OPA"},{key:"wasm",label:"Wasm"}].concat(M().map((function(v){return{key:v.id,label:v.label,href:"https://github.com/"+v.repo,name:v.repo.split("/").pop(),version:v.version}})))}function o(){return(0,a.jsx)(a.Fragment,{children:n().map((function(v){return(0,a.jsx)("th",{className:s.heading,children:v.href?(0,a.jsx)("a",{href:v.href,target:"_blank",rel:"noopener noreferrer",children:v.label}):v.label},v.key)}))})}var r={yes:s.supported,no:s.unsupported,host:s.hostProvided};function c(v){var e=v.fn;return(0,a.jsx)(a.Fragment,{children:n().map((function(v){var t=function(v,e){if("opa"===v.key){var t=e.introduced;return{state:"yes",text:t,href:t&&"edge"!==t&&"v0.17.0"!==t?"https://github.com/open-policy-agent/opa/releases/"+t:null,title:"Available in OPA "+t}}if("wasm"===v.key)return e.wasm?{state:"yes",text:"\u2713",title:"Available in policies compiled to Wasm"}:{state:"host",text:"SDK",title:"Not compiled into Wasm; must be provided by the host SDK"};var i=e.implementations||{};if(!(v.key in i))return{state:"no",text:"\u2717",title:"Not available in "+v.name+" "+v.version};var s=i[v.key];return{state:"yes",text:s||"\u2713",title:s?"Available in "+v.name+" since "+s:"Available in "+v.name+" "+v.version}}(v,e);return(0,a.jsx)("td",{className:r[t.state],title:t.title,children:t.href?(0,a.jsx)("a",{href:t.href,target:"_blank",rel:"noopener noreferrer",children:t.text}):t.text},v.key)}))})}},12753:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0MDAgMTQwIj4KPGcgZmlsbD0iI2Y3YTQxZCI+Cgk8Zz4KCQk8cG9seWdvbiBwb2ludHM9IjQ2LDIyIDI4LDQ0IDE5LDMwIi8+CgkJPHBvbHlnb24gcG9pbnRzPSI0NiwyMiAzMywzMyAyOCw0NCAyMiw0NCAyMiw5NSAzMSw5NSAyMCwxMDAgMTIsMTE3IDAsMTE3IDAsMjIiIHNoYXBlLXJlbmRlcmluZz0iY3Jpc3BFZGdlcyIvPgoJCTxwb2x5Z29uIHBvaW50cz0iMzEsOTUgMTIsMTE3IDQsMTA2Ii8+Cgk8L2c+Cgk8Zz4KCQk8cG9seWdvbiBwb2ludHM9IjU2LDIyIDYyLDM2IDM3LDQ0Ii8+CgkJPHBvbHlnb24gcG9pbnRzPSI1NiwyMiAxMTEsMjIgMTExLDQ0IDM3LDQ0IDU2LDMyIiBzaGFwZS1yZW5kZXJpbmc9ImNyaXNwRWRnZXMiLz4KCQk8cG9seWdvbiBwb2ludHM9IjExNiw5NSA5NywxMTcgOTAsMTA0Ii8+CgkJPHBvbHlnb24gcG9pbnRzPSIxMTYsOTUgMTAwLDEwNCA5NywxMTcgNDIsMTE3IDQyLDk1IiBzaGFwZS1yZW5kZXJpbmc9ImNyaXNwRWRnZXMiLz4KCQk8cG9seWdvbiBwb2ludHM9IjE1MCwwIDUyLDExNyAzLDE0MCAxMDEsMjIiLz4KCTwvZz4KCTxnPgoJCTxwb2x5Z29uIHBvaW50cz0iMTQxLDIyIDE0MCw0MCAxMjIsNDUiLz4KCQk8cG9seWdvbiBwb2ludHM9IjE1MywyMiAxNTMsMTE3IDEwNiwxMTcgMTIwLDEwNSAxMjUsOTUgMTMxLDk1IDEzMSw0NSAxMjIsNDUgMTMyLDM2IDE0MSwyMiIgc2hhcGUtcmVuZGVyaW5nPSJjcmlzcEVkZ2VzIi8+CgkJPHBvbHlnb24gcG9pbnRzPSIxMjUsOTUgMTMwLDExMCAxMDYsMTE3Ii8+Cgk8L2c+CjwvZz4KPHN0eWxlPgojdGV4dCB7IGZpbGw6ICMxMjEyMTIgfQpAbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7ICN0ZXh0IHsgZmlsbDogI2ZmZiB9IH0KPC9zdHlsZT4KPGcgaWQ9InRleHQiPgoJPGc+CgkJPHBvbHlnb24gcG9pbnRzPSIyNjAsMjIgMjYwLDM3IDIyOSw0MCAxNzcsNDAgMTc3LDIyIiBzaGFwZS1yZW5kZXJpbmc9ImNyaXNwRWRnZXMiLz4KCQk8cG9seWdvbiBwb2ludHM9IjI2MCwzNyAyMDcsOTkgMjA3LDEwMyAxNzYsMTAzIDIyOSw0MCAyMjksMzciLz4KCQk8cG9seWdvbiBwb2ludHM9IjI2MSw5OSAyNjEsMTE3IDE3NiwxMTcgMTc2LDEwMyAyMDYsOTkiIHNoYXBlLXJlbmRlcmluZz0iY3Jpc3BFZGdlcyIvPgoJPC9nPgoJPHJlY3QgeD0iMjcyIiB5PSIyMiIgc2hhcGUtcmVuZGVyaW5nPSJjcmlzcEVkZ2VzIiB3aWR0aD0iMjIiIGhlaWdodD0iOTUiLz4KCTxnPgoJCTxwb2x5Z29uIHBvaW50cz0iMzk0LDY3IDM5NCwxMDYgMzc2LDEwNiAzNzYsODEgMzYwLDcwIDM0Niw2NyIgc2hhcGUtcmVuZGVyaW5nPSJjcmlzcEVkZ2VzIi8+CgkJPHBvbHlnb24gcG9pbnRzPSIzNjAsNjggMzc2LDgxIDM0Niw2NyIvPgoJCTxwYXRoIGQ9Ik0zOTQsMTA2Yy0xMC4yLDcuMy0yNCwxMi0zNy43LDEyYy0yOSwwLTUxLjEtMjAuOC01MS4xLTQ4LjNjMC0yNy4zLDIyLjUtNDguMSw1Mi00OC4xYzE0LjMsMCwyOS4yLDUuNSwzOC45LDE0bC0xMywxNWMtNy4xLTYuMy0xNi44LTEwLTI1LjktMTBjLTE3LDAtMzAuMiwxMi45LTMwLjIsMjkuNWMwLDE2LjgsMTMuMywyOS42LDMwLjMsMjkuNmM1LjcsMCwxMi44LTIuMywxOS01LjVMMzk0LDEwNnoiLz4KCTwvZz4KPC9nPgo8L3N2Zz4K"},12903:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTk1IiBoZWlnaHQ9IjMyIiB2aWV3Qm94PSIwIDAgMTk1IDMyIiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4KIDxwYXRoIGQ9Ik0xMjEuMjExIDE3Ljk0NjNDMTIxLjIxMSAxNC41ND
1MzIDExOS4zODQgMTIuOTMxMyAxMTQuMjk3IDExLjgyMDlDMTExLjQ2NyAxMS4yMTE5IDExMC43ODcgMTAuNTY3MiAxMTAuNzg3IDkuNjcxNjRDMTEwLjc4NyA4LjU2MTIgMTExLjc5IDguMDU5NyAxMTMuNjUyIDguMDU5N0MxMTUuOTA5IDguMDU5NyAxMTguMTMgOC43NDAzIDEyMC4yNDMgOS43MDc0N1Y1LjIyOTg1QzExOC43NzUgNC40Nzc2MSAxMTYuNDgyIDMuOTA0NDggMTEzLjc5NiAzLjkwNDQ4QzEwOC43NDUgMy45MDQ0OCAxMDYuMTMgNi4wODk1NSAxMDYuMTMgOS43MDc0N0MxMDYuMTMgMTIuNTczMSAxMDcuNDU1IDE0Ljg2NTcgMTEyLjY4NSAxNS44Njg3QzExNS44MDIgMTYuNTEzNCAxMTYuNDQ2IDE3LjAxNDkgMTE2LjQ0NiAxOC4wNTM3QzExNi40NDYgMTkuMDU2NyAxMTUuODAyIDE5LjcwMTUgMTEzLjU4MSAxOS43MDE1QzExMS4wMzcgMTkuNzAxNSAxMDcuOTkzIDE4Ljg0MTggMTA2LjAyMiAxNy42NTk3VjIyLjM1MjJDMTA3LjU5OSAyMy4xNDAzIDEwOS42NzYgMjQgMTEzLjU0NSAyNEMxMTkuMDYxIDI0IDEyMS4yMTEgMjEuNTY0MiAxMjEuMjExIDE3Ljk0NjNaIiBmaWxsPSJ3aGl0ZSI+CiA8L3BhdGg+CiA8cGF0aCBkPSJNMTc2LjMzOSA0LjE5MTA0VjIzLjcxMzRIMTgwLjQ5NFY4LjgxMTk0TDE4Mi4yNDkgMTIuNzg4MUwxODguMTI0IDIzLjcxMzRIMTkzLjM1NFY0LjE5MTA0SDE4OS4xOTlWMTYuOEwxODcuNjIyIDEzLjE0NjNMMTgyLjg5NCA0LjE5MTA0SDE3Ni4zMzlaIiBmaWxsPSJ3aGl0ZSI+CiA8L3BhdGg+CiA8cGF0aCBkPSJNMTQ5LjkwMyA0LjE5MTA0SDE0NS4zNTRWMjMuNjc3NkgxNDkuOTAzVjQuMTkxMDRaIiBmaWxsPSJ3aGl0ZSI+CiA8L3BhdGg+CiA8cGF0aCBkPSJNMTQwLjEyNCAxNy45NDYzQzE0MC4xMjQgMTQuNTQzMyAxMzguMjk3IDEyLjkzMTMgMTMzLjIxMSAxMS44MjA5QzEzMC4zODEgMTEuMjExOSAxMjkuNyAxMC41NjcyIDEyOS43IDkuNjcxNjRDMTI5LjcgOC41NjEyIDEzMC43MDMgOC4wNTk3IDEzMi41NjYgOC4wNTk3QzEzNC44MjIgOC4wNTk3IDEzNy4wNDMgOC43NDAzIDEzOS4xNTcgOS43MDc0N1Y1LjIyOTg1QzEzNy42ODggNC40Nzc2MSAxMzUuMzk2IDMuOTA0NDggMTMyLjcwOSAzLjkwNDQ4QzEyNy42NTggMy45MDQ0OCAxMjUuMDQzIDYuMDg5NTUgMTI1LjA0MyA5LjcwNzQ3QzEyNS4wNDMgMTIuNTczMSAxMjYuMzY5IDE0Ljg2NTcgMTMxLjU5OSAxNS44Njg3QzEzNC43MTUgMTYuNTEzNCAxMzUuMzYgMTcuMDE0OSAxMzUuMzYgMTguMDUzN0MxMzUuMzYgMTkuMDU2NyAxMzQuNzE1IDE5LjcwMTUgMTMyLjQ5NCAxOS43MDE1QzEyOS45NTEgMTkuNzAxNSAxMjYuOTA2IDE4Ljg0MTggMTI0LjkzNiAxNy42NTk3VjIyLjM1MjJDMTI2LjUxMiAyMy4xNDAzIDEyOC41OSAyNCAxMzIuNDU4IDI0QzEzNy45NzUgMjQgMTQwLjEyNCAyMS41NjQyIDE0MC4xMjQgMTcuOTQ2M1oiIGZpbGw9IndoaXRlIj4KIDwvcGF0aD4KIDxwYXRoIGQ9Ik03MC44ODIyIDQuMTkxMDRWMjMuNzEzNEg4MC4yMzE1TDgxLjcwMDEgMTkuNDg2Nkg3NS40NjczVjQuMTkxMDRINzAuODgyMloiIGZpbGw9IndoaXRlIj4KIDwvcGF0aD4KIDxwYXRoIGQ9Ik01Mi40NzAyIDQuMTkxMDRWOC40MTc5MUg1Ny40ODUxVjIzLjcxMzRINjIuMDcwMlY4LjQxNzkxSDY3LjQ3OTJWNC4xOTEwNEg1Mi40NzAyWiIgZmlsbD0id2hpdGUiPgogPC9wYXRoPgogPHBhdGggZD0iTTQ1Ljg0MzMgNC4xOTEwNEgzOS44NjEyTDMzLjA1NTIgMjMuNjc3NkgzOC4yNDkzTDM5LjIxNjQgMjAuMzgyMUM0MC4zNjI3IDIwLjcwNDUgNDEuNTgwNiAyMC45MTk0IDQyLjg3MDIgMjAuOTE5NEM0NC4xMjM5IDIwLjkxOTQgNDUuMzQxOCAyMC43NDAzIDQ2LjUyMzkgMjAuMzgyMUw0Ny40OTExIDIzLjY3NzZINTIuNjg1MUw0NS44NDMzIDQuMTkxMDRaTTQyLjgzNDMgMTYuOTA3NUM0MS45NzQ2IDE2LjkwNzUgNDEuMTE0OSAxNi43NjQyIDQwLjMyNjkgMTYuNTQ5Mkw0Mi44MzQzIDguMDIzODhMNDUuMzQxOCAxNi41NDkyQzQ0LjU1MzcgMTYuNzY0MiA0My42OTQgMTYuOTA3NSA0Mi44MzQzIDE2LjkwNzVaIiBmaWxsPSJ3aGl0ZSI+CiA8L3BhdGg+CiA8cGF0aCBkPSJNOTYuMzE0OSA0LjE5MTA0SDkwLjMzMjhMODMuNTI2OSAyMy42Nzc2SDg4LjcyMDlMODkuNjg4IDIwLjM4MjFDOTAuODM0MyAyMC43MDQ1IDkyLjA1MjIgMjAuOTE5NCA5My4zNDE4IDIwLjkxOTRDOTQuNTk1NSAyMC45MTk0IDk1LjgxMzQgMjAuNzQwMyA5Ni45OTU1IDIwLjM4MjFMOTcuOTYyNyAyMy42Nzc2SDEwMy4xNTdMOTYuMzE0OSA0LjE5MTA0Wk05My4zNDE4IDE2LjkwNzVDOTIuNDgyMSAxNi45MDc1IDkxLjYyMjQgMTYuNzY0MiA5MC44MzQzIDE2LjU0OTJMOTMuMzQxOCA4LjAyMzg4TDk1Ljg0OTIgMTYuNTQ5MkM5NS4wMjU0IDE2Ljc2NDIgOTQuMjAxNSAxNi45MDc1IDkzLjM0MTggMTYuOTA3NVoiIGZpbGw9IndoaXRlIj4KIDwvcGF0aD4KIDxwYXRoIGQ9Ik0xNjYuMjczIDQuMTkxMDRIMTYwLjI5MUwxNTMuNDg1IDIzLjY3NzZIMTU4LjY3OUwxNTkuNjQ2IDIwLjM4MjFDMTYwLjc5MyAyMC43MDQ1IDE2Mi4wMSAyMC45MTk0IDE2My4zIDIwLjkxOTRDMTY0LjU1NCAyMC45MTk0IDE2NS43NzIgMjAuNzQwMyAxNjYuOTU0IDIwLjM4MjFMMTY3LjkyMSAyMy42Nzc2SDE3My4xMTVMMTY2LjI3MyA0LjE5MTA0Wk0xNjMuMjY0IDE2LjkwNzVDMTYyLjQwNSAxNi45MDc1IDE2MS41NDUgMTYuNzY0MiAxNjAuNzU3IDE2LjU0OTJMMTYzLjI2NCA4LjAyMzg4TDE2NS43NzIgMTYuNTQ5MkMxNjQuOTg0IDE2Ljc2NDIgMTY0LjE2IDE2LjkwNzUgMTYzLjI2NCAxNi45MDc1WiIgZmlsbD0id2hpdGUiPgogPC9wYXRoPgogPHBhdGggZD0iTTYuODM0MzMgMTEuMDY4N0M2LjcyNjg2IDEwLjkyNTQgNi41MTE5NCAxMC44NTM3IDYuMzMyODMgMTAuODUzN0M2LjE4OTU1IDEwLjg4OTYgNi4wNDYyNyAxMC45OTcgNS45NzQ2MiAxMS4xNDAzTDAuMDY0MTc2OCAyMi45NjEyQy0wLjA3OTEwNjggMjMuMjExOSAwLjAyODM1NTkgMjMuNTM0MyAwLjI3OTEwMiAyMy42NDE4QzAuMzUwNzQ0IDIzLjY3NzYgMC40MjIzODYgMjMuNzEzNCAwLjQ5NDAyOCAyMy43MTM0SDguNzMyODNDOC45MTE5NCAyMy43MTM0IDkuMTI2ODYgMjMuNjA2IDkuMTk4NTEgMjMuNDI2OUMxMC45NTM3IDE5Ljg0NDggOS44NzkxIDE0LjI5MjUgNi44MzQzMyAxMS4wNjg3WiIgZmlsbD0id2hp
1dGUiPgogPC9wYXRoPgogPHBhdGggZD0iTTIzLjcwNiAyMi45NjEyQzIzLjU2MjcgMjIuNzQ2MyAxMi42MzczIDAuODIzODgxIDEyLjM1MDggMC4yODY1NjdDMTIuMjc5MSAwLjEwNzQ2MyAxMi4xMzU4IDAgMTEuOTU2NyAwSDExLjkyMDlDMTEuNzQxOCAwIDExLjU2MjcgMC4xMDc0NjMgMTEuNDU1MiAwLjI4NjU2N0M4LjQ4MjA5IDQuOTc5MSA4LjE1OTcxIDEwLjY3NDYgMTAuNTU5NyAxNS40NzQ2TDE0LjUzNTggMjMuMzkxQzE0LjYwNzUgMjMuNTcwMiAxNC43ODY2IDIzLjY3NzYgMTUuMDAxNSAyMy42Nzc2SDIzLjI0MDNDMjMuNTI2OSAyMy42Nzc2IDIzLjc0MTggMjMuNDYyNyAyMy43NDE4IDIzLjE3NjFDMjMuNzQxOCAyMy4xMDQ1IDIzLjc0MTggMjMuMDMyOCAyMy43MDYgMjIuOTYxMloiIGZpbGw9IndoaXRlIj4KIDwvcGF0aD4KPC9zdmc+"},14075:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/cloudflare-worker-717bcdbf16d21bc8b527007daab5b21c.png"},15364:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/linux-pam-ab6aa055a2cc6f28d0cedd15b689d28f.png"},15558:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDE2LjAuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB3aWR0aD0iNjMwcHgiIGhlaWdodD0iNjMwcHgiIHZpZXdCb3g9Ii0xNS43NTcgLTE1LjA4IDYzMCA2MzAiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgLTE1Ljc1NyAtMTUuMDggNjMwIDYzMCIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxwYXRoIGZpbGw9IiNGRkZGRkYiIGQ9Ik0yODAuMDA5LDM0LjYyMUMzOTguNSwyNi40MDUsNDc3LjA2NSw4NC4zODksNTIxLjk4NywxNTUuMDM3YzIyLjUyNSwzNS40MjIsNDQuNjI1LDg5LjIyMiw0NC43MjcsMTQ0LjUgIGMwLjEwOSw2MC4wNi0xOS4zNDgsMTEyLjA3MS00NC43MjcsMTUwLjIzM2MtMjYuMDgyLDM5LjIyNC01OS44Miw3MS42Mi0xMDIuMDY2LDkyLjg5M2MtNzAuNjE3LDM1LjU2LTE2OS4zMDksMzYuNTMxLTIzMy45NTEsMi4yOTQgIEMxMTMuOTc5LDUwNi44MjcsNTguNjI3LDQ1Mi40MDQsMzguMDMsMzU4LjAyM2MtOC4yNDMtMzcuNzctOS4xOS04Ni41NzIsMi4yOTMtMTI4LjQ0M2MyLjY5NS05LjgyMiw3LjU5Mi0yMC4xNTksMTEuNDY5LTI5LjgxNyAgYzE4LjYyOS00Ni40MTIsNTAuMzM4LTg2Ljc3LDg5LjQ1Mi0xMTQuNjgzYzE1LjcxNy0xMS4yMTYsMzQuNzg1LTIyLjM3MSw1MS42MDctMjkuODE3ICBDMjEzLjc4Myw0NS45OTksMjQ5LjAyNCwzNi43NjksMjgwLjAwOSwzNC42MjF6Ii8+CjxwYXRoIGQ9Ik01MDQuNzcsMzA2LjIxNWMwLDExMS45ODYtOTAuNzgxLDIwMi43NjMtMjAyLjc2NiwyMDIuNzYzYy0xMTEuOTg1LDAtMjAyLjc2Ni05MC43NzYtMjAyLjc2Ni0yMDIuNzYzICBjMC0xMTEuOTg0LDkwLjc4MS0yMDIuNzY4LDIwMi43NjYtMjAyLjc2OEM0MTMuOTg3LDEwMy40NDcsNTA0Ljc3LDE5NC4yMzEsNTA0Ljc3LDMwNi4yMTV6Ii8+CjxwYXRoIGQ9Ik0yODAuNzExLDM0LjYyMWMxMTguNDkxLTguMjE2LDE5Ny4wNTYsNDkuNzY5LDI0MS45NzgsMTIwLjQxNmMyMi41MjUsMzUuNDIyLDQ0LjYyNSw4OS4yMjIsNDQuNzI3LDE0NC41ICBjMC4xMDksNjAuMDYtMTkuMzQ4LDExMi4wNzEtNDQuNzI3LDE1MC4yMzNjLTI2LjA4MiwzOS4yMjQtNTkuODIsNzEuNjItMTAyLjA2Niw5Mi44OTNjLTcwLjYxNywzNS41Ni0xNjkuMzA5LDM2LjUzMS0yMzMuOTUxLDIuMjk0ICBjLTcxLjk5MS0zOC4xMjktMTI3LjM0Mi05Mi41NTItMTQ3LjkzOS0xODYuOTMzYy04LjI0My0zNy43Ny05LjE5LTg2LjU3MiwyLjI5My0xMjguNDQzYzIuNjk1LTkuODIyLDcuNTkyLTIwLjE1OSwxMS40NjktMjkuODE3ICBjMTguNjI5LTQ2LjQxMiw1MC4zMzgtODYuNzcsODkuNDUyLTExNC42ODNjMTUuNzE3LTExLjIxNiwzNC43ODUtMjIuMzcxLDUxLjYwNy0yOS44MTcgIEMyMTQuNDg1LDQ1Ljk5OSwyNDkuNzI3LDM2Ljc2OSwyODAuNzExLDM0LjYyMXogTTI0MC41NzIsNTQuMTE3Yy00NC4wMTEsMTEuNDExLTc2LjI4MSwzMS44NTMtMTA0LjM2LDUzLjkgIGMtNDAuNDg5LDMxLjc5Mi02Ni4zMDEsNzYuMTU3LTgxLjQyNCwxMjkuNTljLTE2LjgyNCw1OS40NDctNi4wMTcsMTMxLjM4NCwxNy4yMDMsMTc2LjYxICBjMjQuMDc5LDQ2LjkwMSw1Ni40MSw4My4zMDgsMTAyLjA2NiwxMDguOTQ4YzQ0LjQxOSwyNC45NDUsMTA2Ljg5NCw0MC45NjIsMTcyLjAyNSwyOC42NyAgYzU3Ljg2NS0xMC45MiwxMDEuODE0LTM2LjEyOSwxMzcuNjE3LTczLjM5NmM0Ny45MDItNDkuODYyLDg2LjQwMi0xNDEuNzAyLDYwLjc4My0yMzguNTM4Yy02Ljg1LTI1Ljg4MS0xNS44MDMtNTIuODU1LTI5LjgxOC03NS42OSAgYy03LjU3Mi0xMi4zMzYtMTguNjg2LTI0LjQ3My0yOS44MTgtMzYuNjk4Yy00Mi4wMTQtNDYuMTQxLTEwOS45MjItODUuOTAxLTE5Ny4yNTMtODAuMjc4ICBDMjcwLjk3Miw0OC4zMDUsMjU2LjM2Niw1MC4wMjEsMjQwLjU3Miw1NC4xMTd6Ii8+CjxnIGlkPSJoYXNocGF0dGVybiI+Cgk8Zz4KCQk8bGluZSBmaWxsPSJub25lIiBzdHJva2U9IiNGRkZGRkYiIHN0cm9rZS13aWR0aD0iMiIgeDE9IjMxNC4yNjYiIHkxPSI1NDkuMzk1IiB4Mj0iNTQ4LjU3MyIgeTI9IjMxNS4wOTQiLz4KCQk8bGluZSBmaWxsPSJub25lIiBzdHJva2U9IiNGRkZGRkYiIHN0cm9rZS13aWR0aD0iMiIgeDE9IjI5My43ODIiIHkxPSI1MzAuODM5IiB4Mj0iNTI5LjExIiB5Mj0iMjk1LjUxNSIvPgoJCTxsaW5lIGZpbGw9Im5vbmUiIHN0cm9rZT0iI0ZGRkZGRiIgc3Ryb2tlLXdpZHRoPSIyIiB4MT0iMjczLjI5OCIgeTE9IjUxMi4yODYiIHgyPS
1I1MDkuNjUxIiB5Mj0iMjc1LjkzOCIvPgoJCTxsaW5lIGZpbGw9Im5vbmUiIHN0cm9rZT0iI0ZGRkZGRiIgc3Ryb2tlLXdpZHRoPSIyIiB4MT0iMjUyLjgxNCIgeTE9IjQ5My43MjkiIHgyPSI0OTAuMTg4IiB5Mj0iMjU2LjM2Ii8+CgkJPGxpbmUgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjRkZGRkZGIiBzdHJva2Utd2lkdGg9IjIiIHgxPSIyMzIuMzMyIiB5MT0iNDc1LjE3NSIgeDI9IjQ3MC43MjkiIHkyPSIyMzYuNzgxIi8+CgkJPGxpbmUgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjRkZGRkZGIiBzdHJva2Utd2lkdGg9IjIiIHgxPSIyMTEuODQ4IiB5MT0iNDU2LjYyNCIgeDI9IjQ1MS4yNjYiIHkyPSIyMTcuMjA0Ii8+CgkJPGxpbmUgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjRkZGRkZGIiBzdHJva2Utd2lkdGg9IjIiIHgxPSIxOTEuMzY0IiB5MT0iNDM4LjA2NCIgeDI9IjQzMS44MDUiIHkyPSIxOTcuNjI2Ii8+CgkJPGxpbmUgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjRkZGRkZGIiBzdHJva2Utd2lkdGg9IjIiIHgxPSIxNzAuODgiIHkxPSI0MTkuNTEiIHgyPSI0MTIuMzQ0IiB5Mj0iMTc4LjA0OCIvPgoJCTxsaW5lIGZpbGw9Im5vbmUiIHN0cm9rZT0iI0ZGRkZGRiIgc3Ryb2tlLXdpZHRoPSIyIiB4MT0iMTUwLjM5NiIgeTE9IjQwMC45NTUiIHgyPSIzOTIuODc3IiB5Mj0iMTU4LjQ3Ii8+CgkJPGxpbmUgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjRkZGRkZGIiBzdHJva2Utd2lkdGg9IjIiIHgxPSIxMjkuOTEzIiB5MT0iMzgyLjM5OCIgeDI9IjM3My40MjIiIHkyPSIxMzguODkzIi8+CgkJPGxpbmUgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjRkZGRkZGIiBzdHJva2Utd2lkdGg9IjIiIHgxPSIxMDkuNDI5IiB5MT0iMzYzLjg0NSIgeDI9IjM1My45NTkiIHkyPSIxMTkuMzE1Ii8+CgkJPGxpbmUgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjRkZGRkZGIiBzdHJva2Utd2lkdGg9IjIiIHgxPSI4OC45NDUiIHkxPSIzNDUuMjg5IiB4Mj0iMzM0LjUiIHkyPSI5OS43MzciLz4KCQk8bGluZSBmaWxsPSJub25lIiBzdHJva2U9IiNGRkZGRkYiIHN0cm9rZS13aWR0aD0iMiIgeDE9IjY4LjQ2MSIgeTE9IjMyNi43MzQiIHgyPSIzMTUuMDM4IiB5Mj0iODAuMTU5Ii8+CgkJPGxpbmUgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjRkZGRkZGIiBzdHJva2Utd2lkdGg9IjIiIHgxPSI0Ny45NzciIHkxPSIzMDguMTc5IiB4Mj0iMjk1LjU3NyIgeTI9IjYwLjU4MiIvPgoJPC9nPgoJPGc+CgkJPGxpbmUgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjRkZGRkZGIiBzdHJva2Utd2lkdGg9IjIiIHgxPSI0Ny44OTciIHkxPSIzMTAuNTQ3IiB4Mj0iMjg2Ljg4NiIgeTI9IjU0OS41NDciLz4KCQk8bGluZSBmaWxsPSJub25lIiBzdHJva2U9IiNGRkZGRkYiIHN0cm9rZS13aWR0aD0iMiIgeDE9IjY3LjI3OSIgeTE9IjI5MC44OSIgeDI9IjMwNi43MzMiIHkyPSI1MzAuMzU0Ii8+CgkJPGxpbmUgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjRkZGRkZGIiBzdHJva2Utd2lkdGg9IjIiIHgxPSI4Ni42NiIgeTE9IjI3MS4yMzEiIHgyPSIzMjYuNTc5IiB5Mj0iNTExLjE2Ii8+CgkJPGxpbmUgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjRkZGRkZGIiBzdHJva2Utd2lkdGg9IjIiIHgxPSIxMDYuMDQxIiB5MT0iMjUxLjU3MyIgeDI9IjM0Ni40MjQiIHkyPSI0OTEuOTY4Ii8+CgkJPGxpbmUgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjRkZGRkZGIiBzdHJva2Utd2lkdGg9IjIiIHgxPSIxMjUuNDIiIHkxPSIyMzEuOTE2IiB4Mj0iMzY2LjI3IiB5Mj0iNDcyLjc3NCIvPgoJCTxsaW5lIGZpbGw9Im5vbmUiIHN0cm9rZT0iI0ZGRkZGRiIgc3Ryb2tlLXdpZHRoPSIyIiB4MT0iMTQ0LjgwMSIgeTE9IjIxMi4yNTciIHgyPSIzODYuMTE4IiB5Mj0iNDUzLjU4MSIvPgoJCTxsaW5lIGZpbGw9Im5vbmUiIHN0cm9rZT0iI0ZGRkZGRiIgc3Ryb2tlLXdpZHRoPSIyIiB4MT0iMTY0LjE4MiIgeTE9IjE5Mi42IiB4Mj0iNDA1Ljk2MyIgeTI9IjQzNC4zODgiLz4KCQk8bGluZSBmaWxsPSJub25lIiBzdHJva2U9IiNGRkZGRkYiIHN0cm9rZS13aWR0aD0iMiIgeDE9IjE4My41NjMiIHkxPSIxNzIuOTQxIiB4Mj0iNDI1LjgwOSIgeTI9IjQxNS4xOTMiLz4KCQk8bGluZSBmaWxsPSJub25lIiBzdHJva2U9IiNGRkZGRkYiIHN0cm9rZS13aWR0aD0iMiIgeDE9IjIwMi45NDMiIHkxPSIxNTMuMjgzIiB4Mj0iNDQ1LjY1NSIgeTI9IjM5NiIvPgoJCTxsaW5lIGZpbGw9Im5vbmUiIHN0cm9rZT0iI0ZGRkZGRiIgc3Ryb2tlLXdpZHRoPSIyIiB4MT0iMjIyLjMyNCIgeTE9IjEzMy42MjUiIHgyPSI0NjUuNSIgeTI9IjM3Ni44MDUiLz4KCQk8bGluZSBmaWxsPSJub25lIiBzdHJva2U9IiNGRkZGRkYiIHN0cm9rZS13aWR0aD0iMiIgeDE9IjI0MS43MDUiIHkxPSIxMTMuOTY3IiB4Mj0iNDg1LjM0NiIgeTI9IjM1Ny42MTMiLz4KCQk8bGluZSBmaWxsPSJub25lIiBzdHJva2U9IiNGRkZGRkYiIHN0cm9rZS13aWR0aD0iMiIgeDE9IjI2MS4wODUiIHkxPSI5NC4zMSIgeDI9IjUwNS4xOTIiIHkyPSIzMzguNDIiLz4KCQk8bGluZSBmaWxsPSJub25lIiBzdHJva2U9IiNGRkZGRkYiIHN0cm9rZS13aWR0aD0iMiIgeDE9IjI4MC40NjYiIHkxPSI3NC42NTIiIHgyPSI1MjUuMDM4IiB5Mj0iMzE5LjIyOCIvPgoJCTxsaW5lIGZpbGw9Im5vbmUiIHN0cm9rZT0iI0ZGRkZGRiIgc3Ryb2tlLXdpZHRoPSIyIiB4MT0iMjk5Ljg0OCIgeTE9IjU0Ljk5NCIgeDI9IjU0NC44ODMiIHkyPSIzMDAuMDMzIi8+Cgk8L2c+CjwvZz4KPHBhdGggZD0iTTQ3MC4zODEsMTI4LjY2Yy0yMS4wODgtMjEuMDg4LTQ3LjAxNC00MC4wOTEtNzcuOTg0LTUxLjYwN2MtMzIuMS0xMS45MzctNjguNDE0LTIxLjk5OS0xMTEuMjQxLTE4LjM1ICBjLTY4LjIyMiw1LjgxNS0xMTYuMTIzLDM2LjQyNS0xNTIuNTI3LDcyLjI1Yy0yNS41LDI1LjA5My00NC42OCw1NS44NDEtNTcuMzQxLDkxLjc0NmMtMTguNTksNTIuNzE5LTE3LjQ2MSwxMTQuOTQ1LDMuNDQsMTY4LjU4MyAgYzE3LjgzLDQ1Ljc1Myw0Ny4wMTEsODIuNjU1LDg4LjMwNSwxMTEuMjQxYzM4LjgyLDI2Ljg3NSw5NC41MzYsNDcuNzE5LDE1Ny4xMTQsNDIuNDM0Yzc2LjIxOS02LjQzOCwxMzEuOTg2LTQ1LjU0MSwxNjguNTgyLTkwLjU5OSAgYzkuMzYzLTExLjUyNywxOC42NzQtMjQuNTU3LDI0LjA4Mi00MC4xMzljNS4zMDEtMTEuMjI4LDcuODk1LTE4Ljg1OSwxMC4zMjItMjIuOTM3YzEwLjE2NC0yMi43NzYsMTUuNTUxLTQ2LjgwOCwxNy4yMDEtNzMuMzk2ICBDNTQ1LjQxNywyMzYuMTA4LDUxMy45NTIsMTcyLjIzMSw0NzAuMzgxLDEyOC42NnogTTQ0Ny45MTgsMzc3LjgxM2MtMC4xNDUsMC4zMTItMC4yNzUsMC42MDItMC40MjgsMC45MjIgIGMtMy43ODEsMTAuODItMTAuMjk1LDE5Ljg2Ny0xNi44NCwyNy44NzNjLTI1LjU5NiwzMS4yODctNjQuNTkyLDU4LjQzOS0xMTcuODkzLDYyLjkxMWMtNDMuNzYzLDMuNjY4LTgyLjcyNi0xMC44MDQtMTA5Ljg3My0yOS40NjYgIGMtMjMu
1NTktMTYuMjE3LTQxLjUyMi0zNi4yOS01NC4wOTYtNjAuNDE0Yy0wLjc2Ny0xLjQ1Mi04LjA2OS0xOC4yNzYtOC4wOTEtMTkuMDE3Yy05Ljk2Mi0zMC44OTktMTAuODI2LTgwLjU4My0wLjYwMi0xMTAuMzk5ICBjNi44MjMtMTkuODk5LDE4LjE5Ni00MS40MywzMy4yNTctNTguNDg4YzIwLjc5Ni0yMy41NTMsNDEuNjA3LTM4LjY0Niw3NC41NDQtNDkuMzEzYzE1LjAzOS00Ljg3MSwyOC41MDEtOS44MjksNDcuMDE5LTEwLjMyMSAgYzQ1LjE1NS0xLjIwMiw5MS4xNCwxOS4wNzIsMTE1LjgyOSw0MS4yODVjMjIuNjg5LDIwLjQxMiw0OC41NDcsNjAuMTc0LDU1LjA0OSw5Ny40NzkgIEM0NzIuNDg1LDMwOS4yNjIsNDY1LjM0NCwzNDYuNzUsNDQ3LjkxOCwzNzcuODEzeiIvPgo8ZyBpZD0iT0FVVEgiPgoJPGc+CgkJPHBhdGggZmlsbD0iI0ZGRkZGRiIgZD0iTTE2NC4wNTgsMTQ0Ljk5NGwtMC4wNjUtMC4wODhjLTYuNTIxLTguOTM4LTQuNjA3LTIxLjQ0LDQuOTk3LTI4LjQ1ICAgIGM5LjYwNC03LjAwOSwyMS45NDItNS4wNDIsMjguNDYzLDMuODk1bDAuMDY1LDAuMDg4YzYuNTIxLDguOTM4LDQuNjA4LDIxLjQ0MS00Ljk5NywyOC40NSAgICBDMTgyLjkxNywxNTUuODk4LDE3MC41OCwxNTMuOTMyLDE2NC4wNTgsMTQ0Ljk5NHogTTE4OC43NzksMTI2Ljk1NGwtMC4wNjUtMC4wODljLTMuMjc3LTQuNDktOS4zNzgtNi4wMzUtMTQuMTM1LTIuNTYzICAgIGMtNC43MTMsMy40MzktNS4wOCw5LjU2Ny0xLjgwMywxNC4wNThsMC4wNjUsMC4wODljMy4yNzgsNC40OSw5LjM3OCw2LjAzNSwxNC4wOTEsMi41OTYgICAgQzE5MS42OSwxMzcuNTczLDE5Mi4wNTYsMTMxLjQ0NSwxODguNzc5LDEyNi45NTR6Ii8+CgkJPHBhdGggZmlsbD0iI0ZGRkZGRiIgZD0iTTIyNi45MzMsODYuNDE1bDkuODAxLTMuMTQ1bDI3LjQ3NiwzMS45NGwtMTAuOTAyLDMuNDk4bC00Ljc3NS01LjY5NGwtMTQuMTUyLDQuNTQxbC0wLjUxOCw3LjM5MyAgICBsLTEwLjY5MiwzLjQzTDIyNi45MzMsODYuNDE1eiBNMjQzLjA1OCwxMDYuMDQybC03LjQzNS05LjExOWwtMC43OTQsMTEuNzU5TDI0My4wNTgsMTA2LjA0MnoiLz4KCQk8cGF0aCBmaWxsPSIjRkZGRkZGIiBkPSJNMjgxLjg1OSw5Ni4wMjRsMC4wODYtMjEuNjMzbDEwLjg0NCwwLjA0M2wtMC4wODUsMjEuNDEzYy0wLjAyMiw1LjU2LDIuNzc1LDguMjEzLDcuMDY5LDguMjMgICAgYzQuMjk0LDAuMDE3LDcuMTEtMi41MDMsNy4xMzItNy44OThsMC4wODYtMjEuNjg4bDEwLjg0NCwwLjA0M2wtMC4wODQsMjEuMzU4Yy0wLjA0OSwxMi40NC03LjE3MiwxNy44NjItMTguMTI2LDE3LjgxOCAgICBDMjg4LjY3LDExMy42NjYsMjgxLjgxMiwxMDguMDc5LDI4MS44NTksOTYuMDI0eiIvPgoJCTxwYXRoIGZpbGw9IiNGRkZGRkYiIGQ9Ik0zNTYuOTk5LDkyLjI0NGwtMTEuMDU1LTMuMzc0bDIuNzMtOC45NWwzMi4zMjQsOS44NjVsLTIuNzMsOC45NWwtMTEuMDU3LTMuMzc0bC04LjUxNiwyNy45MDIgICAgbC0xMC4yMTMtMy4xMTdMMzU2Ljk5OSw5Mi4yNDR6Ii8+CgkJPHBhdGggZmlsbD0iI0ZGRkZGRiIgZD0iTTQwOS44NzIsMTAyLjI3M2w4Ljg4OSw1LjkxNmwtNy45ODgsMTIuMDA2bDExLjQxLDcuNTk0bDcuOTktMTIuMDA3bDguODkxLDUuOTE3bC0yMS4zNDgsMzIuMDc5ICAgIGwtOC44OTEtNS45MTdsOC4xMTEtMTIuMTlsLTExLjQxLTcuNTk0bC04LjExMSwxMi4xOWwtOC44OTEtNS45MTdMNDA5Ljg3MiwxMDIuMjczeiIvPgoJPC9nPgoJPGc+CgkJPHBhdGggZmlsbD0iI0ZGRkZGRiIgZD0iTTQ0MS4yNzYsNDUyLjk0NGwwLjA2NiwwLjA4N2M2Ljg1OSw4LjY4Miw1LjQyNCwyMS4yNTEtMy45MDYsMjguNjIxICAgIGMtOS4zMjgsNy4zNzEtMjEuNzM0LDUuODc2LTI4LjU5NC0yLjgwNmwtMC4wNjYtMC4wODdjLTYuODU5LTguNjgzLTUuNDI0LTIxLjI1MSwzLjkwNi0yOC42MjEgICAgQzQyMi4wMSw0NDIuNzcsNDM0LjQxNyw0NDQuMjYzLDQ0MS4yNzYsNDUyLjk0NHogTTQxNy4yNTgsNDcxLjkxOGwwLjA2OCwwLjA4N2MzLjQ0Nyw0LjM2Miw5LjYwMiw1LjY3MywxNC4yMjUsMi4wMjEgICAgYzQuNTc4LTMuNjE3LDQuNzExLTkuNzU1LDEuMjY0LTE0LjExN2wtMC4wNjgtMC4wODdjLTMuNDQ1LTQuMzYyLTkuNjAyLTUuNjczLTE0LjE4LTIuMDU2ICAgIEM0MTMuOTQ0LDQ2MS40MTgsNDEzLjgxMyw0NjcuNTU1LDQxNy4yNTgsNDcxLjkxOHoiLz4KCQk8cGF0aCBmaWxsPSIjRkZGRkZGIiBkPSJNMzgwLjk5Nyw1MTMuOTkybC05LjY1NCwzLjU3MmwtMjguODU0LTMwLjY5OWwxMC43MzYtMy45NzVsNS4wMjEsNS40NzlsMTMuOTM5LTUuMTU5bDAuMTkxLTcuNDA3ICAgIGwxMC41MzEtMy44OThMMzgwLjk5Nyw1MTMuOTkyeiBNMzY0LjAyNCw0OTUuMDk1bDcuODI4LDguNzgybDAuMjc1LTExLjc4M0wzNjQuMDI0LDQ5NS4wOTV6Ii8+CgkJPHBhdGggZmlsbD0iI0ZGRkZGRiIgZD0iTTMyNS43NDEsNTA2LjY2NWwwLjk1MywyMS42MTJsLTEwLjgzNCwwLjQ3OWwtMC45NDMtMjEuMzkzYy0wLjI0Ni01LjU1NC0zLjE2Ni04LjA2OS03LjQ1NS03Ljg4ICAgIGMtNC4yOTEsMC4xODktNi45ODMsMi44NDQtNi43NDYsOC4yMzJsMC45NTcsMjEuNjY2bC0xMC44MzMsMC40NzlsLTAuOTQyLTIxLjMzN2MtMC41NDktMTIuNDI4LDYuMzA1LTE4LjE4NiwxNy4yNDgtMTguNjY4ICAgIEMzMTguMDg4LDQ4OS4zNzEsMzI1LjIwOCw0OTQuNjIyLDMyNS43NDEsNTA2LjY2NXoiLz4KCQk8cGF0aCBmaWxsPSIjRkZGRkZGIiBkPSJNMjUwLjQ2NSw1MTMuNzMybDExLjE2MSwzLjAxM2wtMi40MzksOS4wMzVsLTMyLjYzNS04LjgwOWwyLjQzOS05LjAzNmwxMS4xNjEsMy4wMTNsNy42MDQtMjguMTcgICAgbDEwLjMxMSwyLjc4NEwyNTAuNDY1LDUxMy43MzJ6Ii8+CgkJPHBhdGggZmlsbD0iI0ZGRkZGRiIgZD0iTTE5Ny43MSw1MDUuODgybC05LjE2MS01LjQ5bDcuNDE1LTEyLjM3MWwtMTEuNzU3LTcuMDQ4bC03LjQxNCwxMi4zNzJsLTkuMTYtNS40OWwxOS44MTEtMzMuMDUzICAgIGw5LjE2LDUuNDkxbC03LjUyOCwxMi41NmwxMS43NTcsNy4wNDdsNy41MjgtMTIuNTZsOS4xNiw1LjQ5TDE5Ny43MSw1MDUuODgyeiIvPgoJPC9nPgo8L2c+CjxnPgoJPHBhdGggZmlsbD0iI0ZGRkZGRiIgc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2Utd2lkdGg9IjgiIGQ9Ik0yMjAuNzI4LDQwNy44NDF2LTMyLjM4NGwyOS41NjgtMjYuNzUzICAgYzQ5Ljk4NC00NC43MDQsNzQuMjczLTcwLjQwMSw3NC45NzgtOTcuMTUzYzAtMTguNjU2LTExLjI2NS0zMy40NC0zNy42NjUtMzMuNDRjLTE5LjcxMiwwLTM2Ljk2LDkuODU2LTQ4LjkyOSwxOS4wMDggICBsLTE1LjEzNi0zOC4zNjhjMTcuMjQ4LTEzLjAyNCw0NC0yMy41ODQsNzQuOTc3LTIzLjU4NGM1MS43NDUsMCw4MC4yNTcsMzAuMjcyLDgwLjI1Nyw3MS44MDkgICBjMCwzOC4zNjktMjcuODA4LDY4Ljk5Mi02MC44OTYsOTguNTYybC0yMS4xMiwxNy42MDF2MC43MDNoODYuMjQxdjQ0LjAwMUgyMjAuNzI4eiIvPgo8L2c+Cjwvc3ZnPg=="},16054:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i="data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJMYXllcl8xIiB4bWxuczp4PSJuc19leHRlbmQ7IiB4bWxuczppPSJuc19haTsiIHhtbG5zOmdyYXBoPSJuc19ncmFwaHM7IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIgdmlld0JveD0iMCAwIDIxMy40IDQzIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAyMTMuNCA0MzsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgogPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KICAuc3Qwe2ZpbGwtcnVsZTpldmVub2RkO2NsaXAtcnVsZTpldmVub2RkO2ZpbGw6I0ZGRkZGRjt9Cgkuc3Qxe2ZpbGwtcnVsZTpldmVub2RkO2NsaXAtcnVsZTpldmVub2RkO2ZpbGw6I0ZGNjkwMDt9CiA8L3N0eWxlPgogPG1ldGFkYXRhPgogIDxzZncgeG1sbnM9Im5zX3NmdzsiPgogICA8c2xpY2VzPgogICA8L3NsaWNlcz4KICAgPHNsaWNlU291cmNlQm91bmRzIGJvdHRvbUxlZnRPcmlnaW49InRydWUiIGhlaWdodD0iNDMiIHdpZHRoPSIyMTMuNCIgeD0iLTU3LjUiIHk9Ii0xMS41Ij4KICAgPC9zbGljZVNvdXJjZUJvdW5kcz4KICA8L3Nmdz4KIDwvbWV0YWRhdGE+CiA8Zz4KICA8cGF0aCBjbGFzcz0ic3QwIiBkPSJNOTMuNywxMC42Yy0xLjUtMC45LTMuOS0xLjMtNy0xLjNjLTQuNCwwLTguNCwwLjktOS45LDEuNWMtMC40LDAuMS0wLjcsMC41LTAuNywwLjl2MC4xbDAuNCwyLjJ2MAoJCWMwLjIsMC40LDAuNSwwLjcsMC45LDAuN2wwLjMsMGwwLjctMC4yYzEuOS0wLjUsNC44LTEuMiw4LTEuMmMyLDAsMy4zLDAuMiw0LjEsMC41YzEuNCwwLjYsMS41LDEuNSwxLjUsM3YyLjNoLTAuOQoJCWMtMS42LDAtNC43LDAuMS03LjcsMC42Yy00LjYsMC43LTguNSwxLjgtOC41LDguM2MwLDguMiw3
1LjUsOC4yLDExLjEsOC4zYzIuNSwwLDQuNy0wLjQsNi4yLTAuN2MzLjQtMC44LDQuMi0xLjksNC4yLTUuM1YxNi43CgkJQzk2LjMsMTQuNiw5Ni4zLDEyLDkzLjcsMTAuNnogTTkxLjgsMzEuN2MtMS45LDAuNi0zLjksMC45LTUuOSwwLjl2MC4ydi0wLjJjLTMuMywwLTYuNi0wLjQtNi42LTQuN2MwLTMuNCwxLjgtMy44LDQuMS00LjNsMC4yLDAKCQljMi0wLjQsNy4xLTAuNSw4LjItMC41QzkxLjgsMjMsOTEuOCwzMS43LDkxLjgsMzEuN3ogTTEzMy45LDE2Ljd2MTMuN2MwLjEsMy40LTAuOCw0LjUtNC4yLDUuM2MtMS41LDAuMy0zLjcsMC43LTYuMiwwLjcKCQljLTMuNiwwLTExLjEsMC0xMS4xLTguM2MwLTYuNSwzLjgtNy42LDguNS04LjNjMy0wLjUsNi4xLTAuNiw3LjctMC42aDAuOXYtMi4zYzAtMS41LDAtMi41LTEuNS0zYy0wLjktMC40LTIuMi0wLjUtNC4xLTAuNQoJCWMtMy4yLDAtNi4xLDAuNy04LDEuMmwtMC43LDAuMmMtMC41LDAuMS0wLjktMC4xLTEuMS0wLjZjMCwwLDAsMCwwLDB2MGwtMC40LTIuMnYtMC4xYzAtMC41LDAuNC0wLjgsMC43LTAuOQoJCWMxLjUtMC42LDUuNi0xLjUsMTAtMS41YzMuMiwwLDUuNSwwLjQsNywxLjNDMTMzLjksMTIsMTMzLjksMTQuNiwxMzMuOSwxNi43TDEzMy45LDE2Ljd6IE0xMjkuNCwyM2MtMS4xLDAtNi4yLDAuMS04LjIsMC41bC0wLjIsMAoJCWMtMi4zLDAuNS00LjEsMC45LTQuMSw0LjNjMCw0LjMsMy4zLDQuNyw2LjYsNC43djAuMnYtMC4yYzIsMCw0LTAuMyw1LjktMC45QzEyOS40LDMxLjcsMTI5LjQsMjMsMTI5LjQsMjN6IE0yMDIsOS4zCgkJYy0xMC41LDAtMTEuNCw3LTExLjQsMTMuNmMwLDYuNSwwLjksMTMuNSwxMS40LDEzLjVjMTAuNSwwLDExLjQtNywxMS40LTEzLjVDMjEzLjQsMTYsMjEyLjUsOS4zLDIwMiw5LjN6IE0yMDIsMzIuNQoJCWMtNi40LDAtNi43LTMuMy02LjctOS43YzAuMS02LjQsMC40LTkuNyw2LjctOS43YzYuNCwwLDYuNywzLjQsNi43LDkuN0MyMDguNywyOS4yLDIwOC4zLDMyLjUsMjAyLDMyLjV6IE0xODMuMiwzNS40bC0wLjMsMC4xCgkJYy0xLjUsMC40LTMuNSwwLjktNywwLjljLTkuNywwLTExLjYtNS0xMS42LTEzLjVjMC05LjgsMy4xLTEzLjUsMTEuMy0xMy41YzIuOSwwLDQuOSwwLjQsNi40LDAuN1YyLjFjMC0wLjMsMC4xLTAuOCwwLjktMWwyLjYtMC43CgkJaDAuMmMwLjYsMCwwLjgsMC41LDAuOCwxdjI5LjhDMTg2LjUsMzMuMSwxODYuMywzNC43LDE4My4yLDM1LjRMMTgzLjIsMzUuNHogTTE4MiwxMy44Yy0wLjktMC4yLTMuMy0wLjgtNi0wLjgKCQljLTQuOSwwLTcsMS40LTcuMSw5LjhjMC4xLDkuMiwyLjgsOS43LDcuMiw5Ljd2MC4ydi0wLjJjMi43LDAsNS4xLTAuNiw1LjktMC44QzE4MiwzMS43LDE4MiwxMy44LDE4MiwxMy44eiBNMTU4LjksMzUuN2gtMi4zCgkJYy0wLjYsMC0xLjEtMC41LTEuMS0xLjFWMTYuOWMwLTMtMC45LTMuOC00LjEtMy45Yy0zLjYsMC03LjIsMC45LTguNCwxLjN2MjAuM2MwLDAuNy0wLjQsMS4xLTEsMS4xaC0yLjRjLTAuNiwwLTEuMS0wLjUtMS4xLTEuMQoJCVYxNC44YzAtMS44LDAuMS0zLjEsMi43LTMuOWMyLjUtMC45LDcuMi0xLjYsMTAuMy0xLjZjNS45LDAsOC41LDIuMiw4LjUsNy4zdjE4LjFDMTU5LjksMzUuMiwxNTkuNCwzNS43LDE1OC45LDM1LjdMMTU4LjksMzUuN3oKCQkgTTEwNi43LDM2LjJjMS4zLDAsMi4zLTAuMywyLjctMC43YzAuMS0wLjEsMC4yLTAuMywwLjItMC41YzAtMC4yLDAtMC4yLTAuNC0xLjl2MGMtMC4xLTAuNC0wLjQtMC43LTAuNy0wLjdoLTAuNwoJCWMtMSwwLTEuNy0wLjItMS43LTEuNlYxLjVjMC0wLjUtMC4zLTEtMC45LTFoLTAuMmwtMi42LDAuN2MtMC40LDAtMC45LDAuNC0wLjksMXYyOC44QzEwMS42LDM0LjMsMTAzLjQsMzYuMiwxMDYuNywzNi4yegoJCSBNNzAuMywzNS43SDUxLjhjLTAuNiwwLTEuMS0wLjUtMS4xLTEuMXYtMi4zYzAtMC42LDAuMi0wLjgsMC41LTEuM2wxNC43LTE3LjNINTEuNWMtMC42LDAtMS4xLTAuNS0xLjEtMS4xVjExCgkJYzAtMC42LDAuNS0xLjEsMS4xLTEuMWgxOC43YzAuNiwwLDEuMSwwLjUsMS4xLDEuMXYyLjNjMCwwLjQtMC4xLDAuOC0wLjUsMS4yTDU2LjEsMzEuOWgxNC4yYzAuNiwwLDEuMSwwLjUsMS4xLDEuMXYxLjYKCQlDNzEuNCwzNS4yLDcwLjksMzUuNyw3MC4zLDM1LjdMNzAuMywzNS43eiI+CiAgPC9wYXRoPgogIDxwYXRoIGNsYXNzPSJzdDEiIGQ9Ik04LjYsNDNjLTEuNiwwLTIuNS0wLjQtMi45LTAuN0M1LDQyLDMuOCw0MSwyLjgsMzguMmMtMS45LTUuMy0yLjgtMTEtMi44LTE2LjZ2MEMwLDE1LDEuMSw5LjQsMi44LDQuOAoJCUMzLjksMiw1LDEsNS43LDAuN0M2LjEsMC40LDcsMCw4LjUsMGMwLjYsMCwxLjMsMC4xLDIuMSwwLjJjNC43LDAuOCwxMCwyLjcsMTUuNiw1LjljNC45LDIuOCw5LjIsNi40LDEyLjgsMTAuOAoJCWMxLjksMi40LDIuMSwzLjksMi4xLDQuNmMwLDAuOC0wLjIsMi4zLTIuMSw0LjZjLTMuNiw0LjMtOCw4LTEyLjgsMTAuOGgwYy00LjgsMi45LTEwLjEsNC45LTE1LjYsNS45QzkuOCw0Mi45LDkuMiw0Myw4LjYsNDMiPgogIDwvcGF0aD4KIDwvZz4KPC9zdmc+"},16258:v=>{"use strict";v.exports={allow:!0}},17697:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/kubernetes-validating-admission-ce1f338cb33ce19111406f1a144dce2e.png"},17959:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=""},18109:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/torque-298e5892352a6580e7073d4f07f43286.png"},18364:(v,e,t)=>{"use strict";t.d(e,{A:()=>i});const i=t.p+"assets/images/productivity-e966195af4635efbf03aba59a0e8106b.png"},18973:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>q});var i=t(88820),s=t(19365),a=t(4865),M=t(51107),n=t(96540),o=t(87331),r=t(12551);const c="functionCell_Cz3H",g="functionName_nYBw";var u=t(28536),A=t(74848);var L=t(56062),j=t(90866),N=t(86025),I=t(31311),y=t(55239),l=t(79493);var d=t(99589),D=t.n(d),w=t(20701);
1const p=function(v){var e=v.children,t=w.filter(D().valid).sort(D().rcompare)[0],i={current_version:t,current_version_docker:t.replace("v",""),current_version_docker_envoy:t.replace("v","")+"-envoy-4",current_version_kube_mgmt:"9.0.1"},s=function(v){return n.Children.map(v,(function(v){if("string"==typeof v){var e=v;return Object.entries(i).forEach((function(v){var t=v[0],i=v[1],s=new RegExp("\\{\\{\\s*"+t+"\\s*\\}\\}","g");e=e.replace(s,i)})),e}return n.isValidElement(v)&&v.props.children?n.cloneElement(v,Object.assign({},v.props,{children:s(v.props.children)})):v}))};return(0,A.jsx)("div",{children:s(e)})};var T=t(61159),C=t(34743),z=t(30076),m=t(37399);const h=JSON.parse('{"ground-value":{"title":"Ground Value","short":"A \\"ground value\\" is any value that doesn\'t contain variables\\n","long":"A \\"ground value\\" is any value that doesn\'t contain variables - essentially a\\nconcrete, known value like `true`, `\\"hello\\"`, `42`, or `[\\"a\\", \\"b\\"]`. This is in\\ncontrast to expressions with variables like `x` or `input.user`, or composite\\nvalues containing variables like `{\\"foo\\": y}` where `y` gets bound during evaluation.\\nFor a formal definition, see\\n[ground term](https://en.wikipedia.org/wiki/Ground_expression#ground_term).\\n"},"scalar-values":{"title":"Scalar Values","short":"Simple, single values in Rego including strings, numbers, booleans, and null\\n","long":"Scalar values are the simplest type of data in Rego. They represent single,\\nindivisible values and include four types: strings (like `\\"hello\\"`), numbers\\n(like `42` or `3.14`), booleans (`true` or `false`), and `null`. These are in\\ncontrast to composite values like arrays or objects that contain multiple elements.\\n"},"composite-values":{"title":"Composite Values","short":"Collections that contain multiple values: arrays, sets and objects\\n","long":"Composite values are collections that group multiple values together. Rego supports\\nthree types of composite values: arrays (ordered lists like `[1, 2, 3]`),\\nsets (unordered collections of unique values like `{1, 2, 3}`), and\\nobjects (key-value mappings like `{\\"name\\": \\"Alice\\", \\"age\\": 30}`).\\nThese can contain any combination\\nof scalar values, other composite values, variables, or references.\\n"},"comprehensions":{"title":"Comprehensions","short":"Syntax for building arrays, objects, or sets from queries\\n","long":"Comprehensions provide a way to build composite values from sub-queries,\\nsimilar to list comprehensions in Python and other languages.\\nRego supports three types: array\\ncomprehensions `[x | condition]`, object comprehensions `{key: value | condition}`,\\nand set comprehensions `{x | condition}`. They consist of a head (the expression\\nto include in the result) and a body (the conditions that must be true).\\nFor example, `[name | sites[i].name == name]` creates an array from site names.\\n"},"unification":{"title":"Unification","short":"Using the `=` operator to find variable bindings that make expressions true\\n","long":"Unification (`=`) combines assignment and comparison in a single operation. Unlike\\nassignment (`:=`) which requires the right side to be a known value, or comparison\\n(`==`) which requires both sides to be known, unification can work with unknown\\nvariables on either side. Rego will find values for variables that make the\\nunification true. For example, `[x, \\"world\\"] = [\\"hello\\", y]` will bind `x` to\\n`\\"hello\\"` and `y` to `\\"world\\"`. This is useful for pattern matching\\nand destructuring complex data structures.\\n"},"virtual-documents":{"title":"Virtual Documents","short":"Documents generated by OPA rules, as opposed to base documents loaded from external sources\\n","long":"Virtual documents are generated by OPA when evaluating rules, in contrast to base\\ndocuments which are loaded from external sources. When you define a rule like\\n`allow := true if { ... }`, OPA creates a virtual document at `data.package.allow`.\\nVirtual documents exist only during evaluation and represent the computed results\\nof your policy logic. They form OPA\'s \\"virtual document tree\\" alongside base data.\\n"},"base-documents":{"title":"Base Documents","short":"Raw data loaded into OPA from external sources like JSON files or APIs\\n","long":"Base documents are the raw data that OPA loads from external sources such as JSON\\nfiles, APIs, or request bodies. This includes both the `data` document (containing\\nstatic policy data) and the `input` document (containing request-specific data).\\nBase documents form the foundation for policy evaluation and are static input data,\\nunlike virtual documents which are generated by rules. For example, loading a\\nJSON file with `{\\"users\\": [\\"alice\\", \\"bob\\"]}` creates a base document accessible\\nas `data.users`, while request data becomes available as `input.*`. You can list\\nbase documents used by a query with `opa deps` (see [CLI documentation](/docs/cli#deps)).\\n"},"rule-head":{"title":"Rule Head","short":"The part of a rule that defines its name, value, and type (before the rule body)\\n","long":"The rule head is the part of a rule that comes before the rule body and defines\\nwhat the rule produces. It specifies the rule\'s name, its value (if any), and\\nwhether it generates a complete document, partial set, or partial object. Examples:\\n`allow := true` (complete document), `users contains
1name` (partial set), or\\n`permissions[user] := perms` (partial object). The head determines how the rule\\ncontributes to the virtual document tree.\\n"},"rule-body":{"title":"Rule Body","short":"The conditions and expressions that must be true for a rule to apply\\n","long":"The rule body contains the conditions and expressions that must all evaluate to\\ntrue for the rule to produce its result. It\'s enclosed in curly braces and consists\\nof one or more expressions separated by semicolons or newlines. For example:\\n`{ input.user == \\"admin\\"; input.method == \\"GET\\" }`. When OPA evaluates a rule,\\nit searches for variable bindings that make all expressions in the body true.\\n"}}'),x="term_ynh5",b="infoIcon_VjGv",S="notFound_XbMh",O="popover_wseI",E="popoverTitle_GULU",f="popoverContent_mzgj";var k=t(34164);const Y=n.createContext(),Q="inlineEditable_BwgK",U="input_OSAX",P="icon_o81n";const G=function(v){var e=v.paramKey,t=(0,n.useContext)(Y),i=t.params,s=t.updateParam,a=(0,n.useRef)(null),M=function(){a.current&&(a.current.focus(),a.current.select())};return(0,A.jsxs)("span",{className:Q,children:[(0,A.jsx)("input",{ref:a,type:"text",className:(0,k.A)("code-block-input",U),value:i[e]||"",onChange:function(v){s(e,v.target.value)},style:{width:Math.max((i[e]||e).length,e.length)+"ch"},"aria-label":"Parameter "+e}),(0,A.jsx)(m.In,{icon:"mdi:pencil",size:"48px",onClick:M,className:P,title:"Edit parameter","aria-label":"Edit "+e,role:"button",tabIndex:0,onKeyPress:function(v){"Enter"!==v.key&&" "!==v.key||M()}})]})},B="codeBlockContainer_tRUC",Z="codeBlock_nCuN",R="pre_orvO";const W=function(v){var e=v.children,t=((0,n.useContext)(Y).params,e.trim()),i=function(v){for(var e,t=/{{(\w+)}}/g,i=0,s=[];null!==(e=t.exec(v));)e.index>i&&s.push({type:"text",content:v.slice(i,e.index)}),s.push({type:"param",content:e[1]}),i=t.lastIndex;return i<v.length&&s.push({type:"text",content:v.slice(i)}),s}(t);return(0,A.jsx)("div",{className:B,children:(0,A.jsx)("pre",{className:R,children:(0,A.jsx)("div",{className:Z,children:i.map((function(v,e){return"text"===v.type?(0,A.jsx)("span",{children:v.content},"text-"+e):"param"===v.type?(0,A.jsx)(G,{paramKey:v.content},"param-"+e):null}))})})})};var J=t(78478);const H=function(v){var e=v.children,t=v.initialParams;return(0,A.jsx)(J.A,{fallback:(0,A.jsx)("div",{children:"Loading parameters..."}),children:function(){var v=n.useState(t||{}),i=v[0],s=v[1];return(0,A.jsx)(Y.Provider,{value:{params:i,updateParam:function(v,e){s((function(t){var i;return Object.assign({},t,((i={})[v]=e,i))}))}},children:e})}})};var V=t(88238),F=t(72378),X=t(82348),K=t(6903);const q=Object.assign({},i.A,{TabItem:s.A,Tabs:a.A,BuiltinTable:function(v){var e,t=v.category,i=(v.id,v.title),s=v.children,a=u._categories[t];return a?(i||((e=t).charAt(0).toUpperCase(),e.slice(1)),n.useEffect((function(){var v=window.location.hash;if(v&&v.includes("#")){var e=v.replace("#",""),t=0,i=function(){var v=document.getElementById(e);if(v){var s=v.getBoundingClientRect();window.top.scroll({top:window.pageYOffset+s.top,behavior:"auto"})}else t<15&&(t+=1,setTimeout(i,100))};i()}}),[]),(0,A.jsxs)("div",{children:[(0,A.jsxs)("table",{style:{width:"100%",tableLayout:"fixed"},children:[(0,A.jsxs)("colgroup",{children:[(0,A.jsx)("col",{}),(0,A.jsx)("col",{style:{width:"100%"}}),(0,r.ek)().map((function(v){return(0,A.jsx)("col",{style:{width:"4rem"}},v.key)}))]}),(0,A.jsx)("thead",{children:(0,A.jsxs)("tr",{children:[(0,A.jsx)("th",{children:"Function"}),(0,A.jsx)("th",{children:"Description"}),(0,A.jsx)(r.Bs,{})]})}),(0,A.jsx)("tbody",{children:a.map((function(v){var e,i,s=u[v];if(!s)return null;var a="builtin-"+t+"-"+v.replaceAll(".",""),L=!!s.infix,j=!!s.relation,N=s.args||[],I=s.result||{},y=L?((null==(e=N[0])?void 0:e.name)||"x")+" "+s.infix+" "+((null==(i=N[1])?void 0:i.name)||"y"):j?v+"("+N.map((function(v){return v.name})).join(", ")+", "+I.name+")":(I.name||"result")+" := "+v+"("+N.map((function(v){return v.name})).join(", ")+")";return(0,A.jsxs)("tr",{children:[(0,A.jsx)("td",{className:c,children:(0,A.jsx)(M.A,{as:"h6",id:a,children:(0,A.jsx)("code",{className:g,children:(L?y:v).split(/(\.|_)/).map((function(v,e){return"."===v||"_"===v?(0,A.jsxs)(n.Fragment,{children:[v,(0,A.jsx)("wbr",{})]},e):v}))})})}),(0,A.jsxs)("td",{children:[(0,A.jsx)("p",{children:(0,A.jsx)("code",{children:y})}),s.description&&(0,A.jsx)(o.oz,{children:s.description}),N.length>0&&(0,A.jsxs)("div",{children:[(0,A.jsx)("strong",{children:"Arguments:"}),N.map((function(v,e){return(0,A.jsxs)("div",{style:{marginBottom:"0.5rem"},children:[(0,A.jsxs)("div",{children:[(0,A.jsx)("code",{children:v.name})," ",(0,A.jsxs)("span",{children:["(",v.type,")"]})]}),(0,A.jsx)("div",{children:(0,A.jsx)(o.oz,{children:v.description})})]},e)}))]}),(0,A.jsx)("strong",{children:"Returns:"}),(0,A.jsxs)("div",{children:[(0,A.jsx)("code",{children:I.name})," ",(0,A.jsxs)("span",{children:["(",I.type,")"]}),(0,A.jsx)("div",{children:(0,A.jsx)(o.oz,{children:I.description})})]})]}),(0,A.jsx)(r.Ay,{fn:s})]},a)}))})]}),s]})):(0,A.jsxs)("p",{children:['No built-ins found for category "',t,'".']})},Card:L.A,CardGrid:j.A,EcosystemEmbed:function(v){var e=v.feature,t=v.children,i=l,s=[];for(var a in i){var M=i[a];M.docs_features&&M.docs_features[e]&&s.push(M)}if(s.length>5)return(0,A.jsxs)("div",{style:{marginTop:"2rem"},children:["Browse ",s.length,' projects related to "',e,'" in the'," ",(0,A.jsx)("a",{href:(0,N.Ay)("/ecosystem/by-feature/"+e),children:"OPA Ecosystem"}),"."]});var n=(0,y.A)(s);return(0,A.jsxs)("div",{style:{marginTop:"2rem"},children:[t,(0,A.jsx)(j.A,{children:n.map((function(v){var t,i,a=s[v];if(!a)return null;var M={title:a.title,note:null!=(t=null==(i=a.docs_features[e])?void 0:i.note)?t:"No note available",icon:(0,I.A)(a.id),link:(0,N.Ay)("/ecosystem/entry/"+a.id),link_text:"View Details"};return(0,A.jsx)(L.A,{item:M},v)}))})]})},EcosystemFeatureLink:function(v){var e=v.feature,t=v.children,i=l,s=[];for(var a in i){var M=i[a];M.docs_features&&M.docs_features[e]&&s.push(M)}var n="1 project";return s.length>1&&(n=s.length+" projects"),(0,A.jsxs)("a",{href:(0,N.Ay)("/ecosystem/by-feature/"+e),children:[t," (",n,")"]})},EvergreenCodeBlock:p,GlossaryTooltip:function(v){var e=v.term,t=v.children,i=(0,n.use
1State)(!1),s=i[0],a=i[1],M=(0,T.we)({open:s,onOpenChange:a,placement:"top",middleware:[(0,C.cY)(10),(0,C.UU)(),(0,C.BN)({padding:10})],whileElementsMounted:z.ll}),r=M.refs,c=M.floatingStyles,g=M.context,u=(0,T.bv)([(0,T.kp)(g),(0,T.s9)(g),(0,T.It)(g)]),L=u.getReferenceProps,j=u.getFloatingProps;return h[e]?(0,A.jsxs)(A.Fragment,{children:[(0,A.jsxs)("span",Object.assign({ref:r.setReference,className:x},L({"aria-label":"Show definition for "+h[e].title}),{children:[t,(0,A.jsx)(m.In,{icon:"material-symbols:info-outline",width:"12",height:"12",className:b})]})),s&&(0,A.jsx)(T.XF,{children:(0,A.jsx)(T.s3,{context:g,modal:!1,children:(0,A.jsxs)("div",Object.assign({ref:r.setFloating,className:O,style:c},j(),{children:[(0,A.jsx)("strong",{className:E,children:h[e].title}),(0,A.jsx)("div",{className:f,children:(0,A.jsx)(o.oz,{children:h[e].long})})]}))})})]}):(console.warn('GlossaryTooltip: Term "'+e+'" not found'),(0,A.jsx)("span",{className:S,children:t}))},InlineEditable:G,ParamContext:Y,ParamCodeBlock:W,ParamProvider:H,PlaygroundExample:V.A,RunSnippet:F.A,SideBySideColumn:X.A,SideBySideContainer:K.A})},19714:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i="data:image/png;base64,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"},20701:v=>{"use strict";v.exports=JSON.parse('["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2"]')},21527:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iODYiIGhlaWdodD0iMzYiIHZpZXdCb3g9IjAgMCA4NiAzNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48dGl0bGU+R29sZG1hblNhY2hzIExvZ288L3RpdGxlPgo8cGF0aCBkPSJNMTkuNDg5MSAzLjU0MDQxQzE2LjE5NDEgMy41NDA0MSAxNC4xNjEgNi4wMjkyMSAxNC4xNjEgMTAuMjcwN0MxNC4xNjEgMTQuNDc3MSAxNi4xOTQxIDE3LjAwMSAxOS40ODkxIDE3LjAwMUMyMi43ODQxIDE3LjAwMSAyNC44MTcyIDE0LjUxMjIgMjQuODE3MiAxMC4yNzA3QzI0LjgxNzIgNi4wMjkyMSAyMi44MTkyIDMuNTQwNDEgMTkuNDg5MSAzLjU0MDQxWk0xOS40ODkxIDE2LjIyOThDMTguMjI3MiAxNi4yMjk4IDE3Ljg0MTYgMTQuODYyNyAxNy44NDE2IDEwLjIzNTZDMTcuODQxNiA1LjYwODU3IDE4LjIyNzIgNC4yNDE0OCAxOS40ODkxIDQuMjQxNDhDMjAuNzUxIDQuMjQxNDggMjEuMTM2NiA1LjY0MzYyIDIxLjEzNjYgMTAuMjcwN0MyMS4xMzY2IDE0Ljg2MjcgMjAuNzUxIDE2LjIyOTggMTkuNDg5MSAxNi4yMjk4Wk00My43ODEyIDIyLjU3NDVDNDIuMzc5MSAyMi41NzQ1IDQxLjM2MjUgMjMuMTAwMyA0MC43NjY2IDI0LjAxMTdWMTkuMzg0NkgzNy4yMjYyVjI3Ljk3MjdDMzcuMjI2MiAzMi42MzQ5IDM0LjU2MjEgMzQuODQzMiAzMi4xNDM0IDM0Ljg0MzJDMzAuMzU1NyAzNC44NDMyIDI5LjYxOTYgMzMuNjE2NCAyOS42MTk2IDI5LjQwOTlDMjkuNjE5NiAyNS4yMDM1IDMwLjA3NTMgMjMuMzEwNiAzMS41MTI1IDIzLjMxMDZDMzIuNDU4OSAyMy4zMTA2IDMzLjI2NTIgMjQuMjIyIDM0LjA3MTQgMjYuMzI1MkgzNC45NDc3VjIzLjIwNTVDMzMuODk2MSAyMi43ODQ4IDMyLjU5OTEgMjIuNTc0NSAzMS41ODI2IDIyLjU3NDVDMjcuOTcyMSAyMi41NzQ1IDI1LjkzOSAyNS4xNjg1IDI1LjkzOSAyOS40MDk5QzI1LjkzOSAzMy42MTY0IDI3Ljk3MjEgMzYgMzEuNDA3MyAzNkMzNC4yNDY3IDM2IDM2LjI3OTggMzQuNDkyNyAzNy4yMjYyIDMxLjkzMzhWMzUuNjg0NUg0MC43NjY2VjI2LjE1QzQwLjc2NjYgMjQuNjc3NyA0MS41NzI4IDIzLjk0MTYgNDIuNDE0MSAyMy45NDE2QzQzLjIyMDQgMjMuOTQxNiA0My41MDA4IDI0LjYwNzYgNDMuNTAwOCAyNS42MjQxVjM1LjcxOTZINDcuMDQxMlYyNi4yOTAyQzQ3LjA0MTIgMjMuNjYxMSA0NS43NDQyIDIyLjU3NDUgNDMuNzgxMiAyMi41NzQ1Wk0yNi45OTA2IDAuMzUwNTM2VjE2LjY4NTVIMzAuNTMxVjAuMzUwNTM2SDI2Ljk5MDZaTTM5Ljc1MDEgMC4zNTA1MzZWNC44MDIzNEMzOS40MzQ2IDQuMDMxMTYgMzguNjYzNCAzLjU0MDQxIDM3LjQzNjUgMy41NDA0MUMzNC42NjczIDMuNTQwNDEgMzIuODA5NSA2LjAyOTIxIDMyLjgwOTUgMTAuMjAwNkMzMi44MDk1IDE0LjQ3NzEgMzQuNDU3IDE2Ljk2NTkgMzcuMjk2MyAxNi45NjU5QzM4LjYyODMgMTYuOTY1OSAzOS41Mzk3IDE2LjMzNSAzOS45NjA0IDE1LjAzOFYxNi42NTA0SDQzLjI1NTRWMC4zNTA1MzZIMzkuNzUwMVpNMzcuOTk3NCAxNS45NDk0QzM2Ljg3NTcgMTUuOTQ5NCAzNi40OTAxIDE0LjgyNzcgMzYuNDkwMSAxMC4xNjU1QzM2LjQ5MDEgNS43ODM4NCAzNi44NzU3IDQuNDg2ODYgMzguMDY3NSA0LjQ4Njg2QzM5LjM2NDUgNC40ODY4NiAzOS44MjAyIDYuMDI5MjEgMzkuODIwMiAxMC4xNjU1QzM5LjgyMDIgMTQuMzM2OSAzOS4yMjQzIDE1Ljk0OTQgMzcuOTk3NCAxNS45NDk0Wk01OC41Mzg4IDMuNTQwNDFDNTYuOTYxNCAzLjU0MDQxIDU1LjgwNDYgNC4zODE2OSA1NS4zMTM4IDUuNTM4NDZDNTQuODIzMSA0LjIwNjQzIDUzLjg0MTYgMy41NDA0MSA1Mi40Mzk0IDMuNTQwNDFDNTAuOTMyMSAzLjU0MDQxIDQ5Ljg0NTUgNC4yMDY0MyA0OS4zMTk3IDUuMjkzMDlWMy44NTU4OUg0Ni4wMjQ2VjE2LjY4NTVINDkuNTNWNy4xMTU4N0M0OS41MyA1LjY0MzYyIDUwLjIzMTEgNC45MDc1IDUxLjEwNzQgNC45MDc1QzUxLjg0MzUgNC45MDc1IDUyLjE1OSA1LjUwMzQxIDUyLjE1OSA2LjUxOTk2VjE2LjY4NTVINTUuNjk5NFY3LjExNTg3QzU1LjY5OTQgNS42NDM2MiA1Ni40MDA1IDQuOTA3NSA1Ny4yNzY4IDQuOTA3NUM1OC4wMTMgNC45MDc1IDU4LjMyODQgNS41MDM0MSA1OC4zMjg0IDYuNTE5OTZWMTYuNjg1NUg2MS44Njg5VjcuMjU2MDlDNjEuODY4OSA0LjYyNzA3IDYwLjUzNjggMy41NDA0MSA1OC41Mzg4IDMuNTQwNDFaTTU1LjYyOTMgMjguMTgzMUw1My41OTYyIDI2Ljk1NjJDNTIuMjI5MSAyNi4xNSA1MS43Mzg0IDI1LjY1OTIgNTEuNzM4NCAyNC44MTc5QzUxLjczODQgMjMuODcxNSA1Mi40MDQ0IDIzLjI3NTYgNTMuNTI2MSAyMy4yNzU2QzU0Ljg1ODEgMjMuMjc1NiA1NS44Mzk2IDI0LjE1MTkgNTYuNDM1NiAyNi4yOTAySDU3LjMxMTlWMjIuOTk1MUM1Ni4xOTAyIDIyLjc0OTggNTQuOTI4MiAyMi41Mzk0IDUzLjgwNjUgMjIuNTM5NEM1MC45NjcyIDIyLjUzOTQgNDkuMjQ5NiAyMy45NDE2IDQ5LjI0OTYgMjYuMjIwMUM0OS4yNDk2IDI3Ljc5NzUgNTAuMTI1OSAyOC44ODQxIDUxLjkxMzYgMjkuOTcwOEw1My41OTYyIDMwLjk4NzNDNTQuOTk4NCAzMS44Mjg2IDU1LjQ4OTEgMzIuNDI0NSA1NS40ODkxIDMzLjM3MUM1NS40ODkxIDM0LjU5NzkgNTQuNzE3OSAzNS4yMjg4IDUzLjM4NTkgMzUuMjI4OEM1MS43Mzg0IDM1LjIyODggNTAuNzkxOSAzNC4xNzcyIDUwLjE2MSAzMS44NjM3SDQ5LjI4NDZWMzUuNDc0MkM1MC41ODE2IDM1LjgyNDcgNTEuOTQ4NyAzNS45NjQ5IDUzLjA3MDQgMzUuOTY0OUM1Ni4yOTUzIDM1Ljk2NDkgNTguMTUzMiAzNC40NTc2IDU4LjE1MzIgMzEuOTMzOEM1OC4xMTgxIDMwLjIxNjIgNTcuMjc2OCAyOS4xNjQ2IDU1LjYyOTMgMjguMTgzMVpNNjkuMTI0OSAzLjU0MDQxQzY3Ljc5MjkgMy41NDA0MSA2Ni4yMTU1IDMuNzg1NzggNj
1QuNzQzMiA0LjI0MTQ4VjcuMjU2MDlINjUuNjE5NkM2Ni4zNTU3IDUuMzYzMTkgNjcuMzM3MiA0LjMxMTU5IDY4LjczOTMgNC4zMTE1OUM2OS42MTU3IDQuMzExNTkgNjkuOTY2MiA0LjczMjIzIDY5Ljk2NjIgNS43MTM3M1Y3LjM2MTI1QzY5Ljk2NjIgOC4xNjc0OCA2OS43NTU5IDguNDEyODUgNjguODQ0NSA4LjcyODMzTDY3Ljg5ODEgOS4wNDM4MkM2NS4wOTM4IDkuOTkwMjYgNjMuODMxOSAxMS4yMTcxIDYzLjgzMTkgMTMuNDI1NUM2My44MzE5IDE1Ljc3NDEgNjUuMjM0IDE3LjAwMSA2Ny4yNjcxIDE3LjAwMUM2OC43MDQzIDE3LjAwMSA2OS45MzEyIDE2LjM3IDcwLjMxNjggMTUuMTQzMVYxNi42ODU1SDczLjU0MTdWNy4zNjEyNUM3My41MDY2IDQuODM3MzkgNzEuOTk5MyAzLjU0MDQxIDY5LjEyNDkgMy41NDA0MVpNNjkuOTY2MiAxMy4yNTAyQzY5Ljk2NjIgMTQuOTMyOCA2OS40MDU0IDE1LjcwNCA2OC41MjkgMTUuNzA0QzY3LjY4NzcgMTUuNzA0IDY3LjQwNzMgMTUuMDM4IDY3LjQwNzMgMTMuMzIwNFYxMi45Njk4QzY3LjQwNzMgMTAuOTcxOCA2Ny44MjggMTAuMTY1NSA2OC45ODQ3IDkuNTY5NjJMNjkuOTY2MiA5LjA3ODg3VjEzLjI1MDJaTTgyLjcyNTcgMy41NDA0MUM4MS4xODM0IDMuNTQwNDEgODAuMDYxNiA0LjIwNjQzIDc5LjUwMDggNS4yOTMwOVYzLjg1NTg5SDc2LjE3MDdWMTYuNjg1NUg3OS43MTExVjcuMDgwODJDNzkuNzExMSA1LjYwODU3IDgwLjUxNzMgNC44NzI0NCA4MS4zNTg2IDQuODcyNDRDODIuMTY0OSA0Ljg3MjQ0IDgyLjQ0NTMgNS41Mzg0NiA4Mi40NDUzIDYuNTU1MDJWMTYuNjUwNEg4NS45ODU3VjcuMjU2MDlDODUuOTg1NyA0LjYyNzA3IDg0LjY4ODcgMy41NDA0MSA4Mi43MjU3IDMuNTQwNDFaTTEyLjY1MzcgMzAuMjE2MkMxMi42NTM3IDMzLjUxMTIgMTAuMjcgMzUuNzE5NiA2LjQ0OTE5IDM1LjcxOTZIMC44NDA2MTdWMjkuODY1NkgxLjY4MTlDMi40NTMwOCAzMy4zMzU5IDMuODkwMjggMzQuODc4MyA2LjMwODk3IDM0Ljg3ODNDOC4yNzE5NyAzNC44NzgzIDkuMzIzNTggMzMuODI2NyA5LjMyMzU4IDMyLjEwOTFDOS4zMjM1OCAzMC4yODYzIDguMjAxODYgMjkuNDQ1IDYuNTU0MzUgMjguNDk4NUw0LjA2NTU0IDI3LjAyNjNDMS45NjIzMyAyNS43OTk0IDAuNzcwNTEgMjQuMjkyMSAwLjc3MDUxIDIyLjE4ODlDMC43NzA1MSAxOS44NDAzIDIuMTM3NiAxOC4zMzMgNC4zNDU5NyAxNy43MDJDMS4yMjYyMSAxNi44NjA4IDAuMTA0NDkyIDE0LjAyMTQgMC4xMDQ0OTIgOC45NzM3MUMwLjEwNDQ5MiAzLjIyNDkzIDIuNDg4MTMgMCA3LjM2MDU4IDBIMTEuODgyNVY0LjgzNzM5SDExLjAwNjFDOS45NTQ1NCAxLjc1MjY4IDkuMDQzMTUgMC44MDYyMzIgNy4zOTU2MyAwLjgwNjIzMkM0Ljk3Njk0IDAuODA2MjMyIDQuMzEwOTIgMy40MDAyIDQuMzEwOTIgOS4xMTM5MkM0LjMxMDkyIDE1LjcwNCA0LjkwNjgzIDE3LjE3NjIgNi42OTQ1NiAxNy4xNzYyQzguMDYxNjUgMTcuMTc2MiA4LjcyNzY3IDE2LjI5OTkgOC43Mjc2NyAxNC4yMzE3VjExLjcwNzlDOC43Mjc2NyAxMC4xNjU1IDguMjM2OTIgOS42MDQ2NyA2LjYyNDQ1IDkuMzU5M1Y4LjU1MzA3SDEyLjAyMjdWMjIuMzI5MUgxMS4yMTY1QzkuOTg5NTkgMTguODU4OCA4LjQxMjE4IDE4LjA4NzYgNi42NTk1MSAxOC4wODc2QzQuOTQxODggMTguMDg3NiAzLjg5MDI4IDE4Ljg5MzkgMy44OTAyOCAyMC40NzEzQzMuODkwMjggMjEuOTQzNSA0Ljc2NjYxIDIyLjY0NDYgNi40MTQxMyAyMy42MjYxTDkuMTEzMjYgMjUuMjM4NkMxMS4yNTE1IDI2LjU3MDYgMTIuNjUzNyAyNy43OTc1IDEyLjY1MzcgMzAuMjE2MlpNMTkuNDU0MSAyMi41NzQ1QzE4LjEyMiAyMi41NzQ1IDE2LjU0NDYgMjIuODE5OSAxNS4wNzI0IDIzLjI3NTZWMjYuMjkwMkgxNS45NDg3QzE2LjY4NDggMjQuMzk3MyAxNy42NjYzIDIzLjM0NTcgMTkuMDY4NSAyMy4zNDU3QzE5Ljk0NDggMjMuMzQ1NyAyMC4yOTUzIDIzLjc2NjMgMjAuMjk1MyAyNC43NDc4VjI2LjM2MDNDMjAuMjk1MyAyNy4xNjY1IDIwLjA4NSAyNy40MTE5IDE5LjE3MzYgMjcuNzI3NEwxOC4yMjcyIDI4LjA0MjhDMTUuNDIyOSAyOC45ODkzIDE0LjE2MSAzMC4yMTYyIDE0LjE2MSAzMi40MjQ1QzE0LjE2MSAzNC43NzMxIDE1LjU2MzEgMzYgMTcuNTk2MiAzNkMxOS4wMzM0IDM2IDIwLjI2MDMgMzUuMzY5IDIwLjY0NTkgMzQuMTQyMlYzNS42ODQ1SDIzLjgzNTdWMjYuNDMwNEMyMy44MzU3IDIzLjg3MTUgMjIuMjkzNCAyMi41NzQ1IDE5LjQ1NDEgMjIuNTc0NVpNMjAuMjk1MyAzMi4yODQzQzIwLjI5NTMgMzMuOTY2OSAxOS43MzQ1IDM0LjczODEgMTguODU4MSAzNC43MzgxQzE4LjAxNjkgMzQuNzM4MSAxNy43MzY0IDM0LjA3MjEgMTcuNzM2NCAzMi4zNTQ0VjMyLjAwMzlDMTcuNzM2NCAzMC4wMDU4IDE4LjE1NzEgMjkuMTk5NiAxOS4zMTM4IDI4LjYwMzdMMjAuMjk1MyAyOC4xMTI5VjMyLjI4NDNaIiBmaWxsPSJ3aGl0ZSIgZmlsbC1vcGFjaXR5PSIwLjk1Ij48L3BhdGg+Cjwvc3ZnPg=="},22775:v=>{"use strict";v.exports=JSON.parse('["Costcenter must start `cccode-`; found `engineering`"]')},23831:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/opa-java-wasm-247cc5d32b9861cfbfe3fb30eaffae47.png"},23936:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/gradle-plugin-5e505f4bc16813ca856549a19be38cf6.png"},24539:(v,e,t)=>{"use strict";t.d(e,{A:()=>i});const i=t.p+"assets/images/audit-80b596c42f179c3e249be2b36d2a007a.png"},25516:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/legitify-673d46cb72ba61d53539fca2b8d07c6e.png"},25635:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i="data:image/png;
1base64,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"},25722:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/i2scim-5117224b1b7cb4cec8dbb0baf5f05a64.png"},27312:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/rekor-01c8c6305326797870c91adc31164459.svg"},27418:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i="data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJMYXllcl8xIiB4bWxuczp4PSJuc19leHRlbmQ7IiB4bWxuczppPSJuc19haTsiIHhtbG5zOmdyYXBoPSJuc19ncmFwaHM7IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIgdmlld0JveD0iMCAwIDU4NyAxMTgiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDU4NyAxMTg7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CiAgLnN0MHtmaWxsOiMyMzZDRkY7fQogPC9zdHlsZT4KIDxtZXRhZGF0YT4KICA8c2Z3IHhtbG5zPSJuc19zZnc7Ij4KICAgPHNsaWNlcz4KICAgPC9zbGljZXM+CiAgIDxzbGljZVNvdXJjZUJvdW5kcyBib3R0b21MZWZ0T3JpZ2luPSJ0cnVlIiBoZWlnaHQ9IjExOCIgd2lkdGg9IjU4NyIgeD0iMCIgeT0iNyI+CiAgIDwvc2xpY2VTb3VyY2VCb3VuZHM+CiAgPC9zZnc+CiA8L21ldGFkYXRhPgogPGc+CiAgPHBhdGggY2xhc3M9InN0MCIgZD0iTTMwMS40LDY4LjNjMCwyOC43LDIzLjgsNDkuNyw1NC4xLDQ5LjdjMzAuMywwLDU0LjEtMjEsNTQuMS00OS43di02NmgtMjkuM3Y2Mi42YzAsMTUuNS0xMC43LDI1LjktMjQuOSwyNS45CgkJcy0yNC45LTEwLjQtMjQuOS0yNS45VjIuM2gtMjkuM0wzMDEuNCw2OC4zTDMwMS40LDY4LjN6IE00ODcuOCwyOC43aDM0Ljl2ODcuMmgyOS4zVjI4LjdINTg3VjIuM2gtOTkuMlYyOC43eiBNNDY4LjksMi4zaC0yOS4zCgkJdjExMy42aDI5LjNWMi4zeiBNMTgzLDI4LjdoMzQuOXY4Ny4yaDI5LjNWMjguN2gzNC45VjIuM0gxODNWMjguN3ogTTI5LjMsMi4zSDB2MTEzLjZoMjkuM1YyLjN6IE0xNjcuNiw0OS43CgkJQzE2Ny42LDIxLDE0My43LDAsMTEzLjUsMEM4My4yLDAsNTkuNCwyMSw1OS40LDQ5Ljd2NjYuMmgyOS4zVjUzLjNjMC0xNS4
11LDEwLjctMjUuOSwyNC45LTI1LjljMTQuMiwwLDI0LjksMTAuNCwyNC45LDI1Ljl2NjIuNgoJCWgyOS4zTDE2Ny42LDQ5LjdMMTY3LjYsNDkuN3oiPgogIDwvcGF0aD4KIDwvZz4KPC9zdmc+"},27462:v=>{"use strict";v.exports=JSON.parse('{"kind":"AdmissionReview","request":{"kind":{"kind":"Pod","version":"v1"},"object":{"metadata":{"name":"myapp","labels":{"costcenter":"engineering"}},"spec":{"containers":[{"image":"nginx","name":"nginx-frontend"},{"image":"mysql","name":"mysql-backend"}]}}}}')},27685:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMzAwIiBoZWlnaHQ9IjMwMCIgdmlld0JveD0iMCAwIDMwMCAzMDAiPgogIDxkZWZzPgogICAgPGNsaXBQYXRoIGlkPSJjbGlwLWVhc2VncmVzc183Ij4KICAgICAgPHJlY3Qgd2lkdGg9IjMwMCIgaGVpZ2h0PSIzMDAiLz4KICAgIDwvY2xpcFBhdGg+CiAgPC9kZWZzPgogIDxnIGlkPSJlYXNlZ3Jlc3NfNyIgZGF0YS1uYW1lPSJlYXNlZ3Jlc3Mg4oCTIDciIGNsaXAtcGF0aD0idXJsKCNjbGlwLWVhc2VncmVzc183KSI+CiAgICA8cGF0aCBpZD0i6Lev5b6EXzE0NTQiIGRhdGEtbmFtZT0i6Lev5b6EIDE0NTQiIGQ9Ik0wLDI5LjgyNUMwLDE2LjI4MiwyLjQxOSw0LjcsNS44NCwwYzMuNDIsNC43LDUuODQsMTYuMjgyLDUuODQsMjkuODI1UzkuMjYsNTQuOTQ5LDUuODQsNTkuNjVDMi40MTksNTQuOTQ5LDAsNDMuMzY4LDAsMjkuODI1WiIgdHJhbnNmb3JtPSJtYXRyaXgoMC44MTksIC0wLjU3NCwgMC41NzQsIDAuODE5LCA4NS45MjksIDE1NS42MDYpIiBmaWxsPSIjMmY1NGViIiBvcGFjaXR5PSIwLjgyIi8+CiAgICA8cGF0aCBpZD0i6Lev5b6EXzE0NTUiIGRhdGEtbmFtZT0i6Lev5b6EIDE0NTUiIGQ9Ik0tMi45NDYsNzUuMzk1Qy0xLjUsNDEuMTYsMTQuMjUyLDExLjM1MiwzNS4yOC0xLjI3OSw1NS4zMDcsOS44NTUsNjguNTkxLDM4LjYsNjcuMTQ3LDcyLjgzN3MtMTcuMiw2NC4wNDMtMzguMjI2LDc2LjY3NUM4Ljg5NSwxMzguMzc5LTQuMzksMTA5LjYzMS0yLjk0Niw3NS4zOTVaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyMTMuODI1IDQ0LjY0Nykgcm90YXRlKDQ3KSIgZmlsbD0iIzJmNTRlYiIgb3BhY2l0eT0iMC41MzMiLz4KICAgIDxwYXRoIGlkPSLot6/lvoRfMTQ1MiIgZGF0YS1uYW1lPSLot6/lvoQgMTQ1MiIgZD0iTTAsNDQuN0MwLDI0LjQwNSw4LjA2NCw3LjA0NSwxOS40NjUsMCwzMC44NjYsNy4wNDUsMzguOTMsMjQuNDA1LDM4LjkzLDQ0LjdzLTguMDY0LDM3LjY2LTE5LjQ2NSw0NC43MDVDOC4wNjQsODIuMzY0LDAsNjUsMCw0NC43WiIgdHJhbnNmb3JtPSJtYXRyaXgoLTAuMjI1LCAwLjk3NCwgLTAuOTc0LCAtMC4yMjUsIDIxNi4xMjYsIDE2OS4zMDIpIiBmaWxsPSIjMzlkMWZmIiBvcGFjaXR5PSIwLjQ0OSIvPgogICAgPHBhdGggaWQ9Iui3r+W+hF8xNDU2IiBkYXRhLW5hbWU9Iui3r+W+hCAxNDU2IiBkPSJNLS4yNjQsNzIuODY1QzEuMDY1LDQwLjI3MywxNy45NjMsMTEuODc1LDQwLjcwOC0uMTgsNjIuNTMsMTAuMzg5LDc3LjE1MywzNy43MzcsNzUuODIzLDcwLjMyOVM1Ny42LDEzMS4zMiwzNC44NTIsMTQzLjM3NUMxMy4wMywxMzIuODA1LTEuNTk0LDEwNS40NTgtLjI2NCw3Mi44NjVaIiB0cmFuc2Zvcm09Im1hdHJpeCgwLjk4NSwgMC4xNzQsIC0wLjE3NCwgMC45ODUsIDExNS4zMTIsIDIwLjgwOSkiIGZpbGw9IiMyZjU0ZWIiIG9wYWNpdHk9IjAuODUiLz4KICAgIDxwYXRoIGlkPSLot6/lvoRfMTQ1NyIgZGF0YS1uYW1lPSLot6/lvoQgMTQ1NyIgZD0iTS0uMjY0LDcyLjg2NUMxLjA2NSw0MC4yNzMsMTcuOTYzLDExLjg3NSw0MC43MDgtLjE4LDYyLjUzLDEwLjM4OSw3Ny4xNTMsMzcuNzM3LDc1LjgyMyw3MC4zMjlTNTcuNiwxMzEuMzIsMzQuODUyLDE0My4zNzVDMTMuMDMsMTMyLjgwNS0xLjU5NCwxMDUuNDU4LS4yNjQsNzIuODY1WiIgdHJhbnNmb3JtPSJtYXRyaXgoMC45ODUsIDAuMTc0LCAtMC4xNzQsIDAuOTg1LCAxMTUuMzEyLCAyMC44MDkpIiBmaWxsPSIjNDQ2NmVkIi8+CiAgICA8cGF0aCBpZD0i6Lev5b6EXzE0NTgiIGRhdGEtbmFtZT0i6Lev5b6EIDE0NTgiIGQ9Ik0tMi45NDYsNzUuMzk1Qy0xLjUsNDEuMTYsMTQuMjUyLDExLjM1MiwzNS4yOC0xLjI3OSw1NS4zMDcsOS44NTUsNjguNTkxLDM4LjYsNjcuMTQ3LDcyLjgzN3MtMTcuMiw2NC4wNDMtMzguMjI2LDc2LjY3NUM4Ljg5NSwxMzguMzc5LTQuMzksMTA5LjYzMS0yLjk0Niw3NS4zOTVaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyMTMuODI1IDQ0LjY0Nykgcm90YXRlKDQ3KSIgZmlsbD0iIzhkYTNmZiIvPgogICAgPHBhdGggaWQ9Iui3r+W+hF8xNDU5IiBkYXRhLW5hbWU9Iui3r+W+hCAxNDU5IiBkPSJNLTY3OS42MzItMTM4MS4zMTJjLTUuMy0yMi4xOTUsNi42NzctNTEuMzIsMzIuNTYxLTczLjQ5NGExMTguNjg5LDExOC42ODksMCwwLDEsMjMuMzMtMTUuNjQ5LDEwMC4zOTMsMTAwLjM5MywwLDAsMS0yLjIzNSwyMy4wNzFjLTYuOTY5LDMyLjcxMi0yOC41NDEsNTguNDA5LTUzLjAzMyw2Ni41NDJRLTY3OS4zMjMtMTM4MS4wNzUtNjc5LjYzMi0xMzgxLjMxMloiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDgwMy43NDcgMTU0OC43MTgpIiBmaWxsPSIjMmY1NGViIiBvcGFjaXR5PSIwLjk5OSIvPgogICAgPHBhdGggaWQ9Iui3r+W+hF8xNDUzIiBkYXRhLW5hbWU9Iui3r+W+hCAxNDUzIiBkPSJNMCw0NC43QzAsMjQuNDA1LDguMDY0LDcuMDQ1LDE5LjQ2NSwwLDMwLjg2Niw3LjA0NSwzOC45MywyNC40MDUsMzguOTMsNDQuN3MtOC4wNjQsMzcuNjYtMTkuNDY1LDQ0LjcwNUM4LjA2NCw4Mi4zNjQsMCw2NSwwLDQ0LjdaIiB0cmFuc2Zvcm09Im1hdHJpeCgtMC4yMjUsIDAuOTc0LCAtMC45NzQsIC0wLjIyNSwgMjE2LjEyNiwgMTY5LjMwMikiIGZpbGw9IiMzOWQxZmYiIG9wYWNpdHk9IjAuNDQ5Ii8+CiAgICA8cGF0aCBpZD0i6Lev5b6EXzE0NjkiIGRhdGEtbmFtZT0i6Lev5b6EIDE0NjkiIGQ9Ik0zLjkyLDBWLTQySDI1LjI1NmwtLjY3Miw2LjU1MkgxMi4xNTJ2MTAuMDI0SDIxbC0uMDU2LDcuMDU2SDEyLjE1MlYtNi41NTJIMjUuN0wyNS4wMzIsMFptMzEuNy43MjhhNS43OSw1Ljc5LDAsMCwxLTMuNjQtMS4yNiw4LjE5MSw4LjE5MSwwLDAsMS0yLjUyLTMuNDE2LDEyLjUxNSwxMi41MTUsMCwwLDEtLjktNC44NDRxMC02LjEsNC4xNzItOC42YTIxLjE0OSwyMS4xNDksMCwwLDEsOS43MTYtMi44MjgsMTguNywxOC43LDAsMCwwLS4zOTItNC40OCwxLjc5MywxLjc5MywwLDAsMC0xLjktMS40NTYsMi4yMDgsMi4yMDgsMCwwLDAtMS45NiwxLjAwOCw1LjY3OCw1LjY3OCwwLDAsMC0uODQsMi41NzZMMjkuNjgtMjMuOTEycS4
11Ni00LjMxMiwzLjUyOC02LjE2YTEyLjg2NSwxMi44NjUsMCwwLDEsNi45NDQtMS44NDhxNS4xLDAsNy42NDQsMi42ODhhOS43NTgsOS43NTgsMCwwLDEsMi41NDgsN3YxNi4zYTIwLjYsMjAuNiwwLDAsMCwuODQsNS42TDQzLjUxMi4zMzZsLS45LTMuODY0QTguNSw4LjUsMCwwLDEsMzkuNjQ4LS41LDcuNDg0LDcuNDg0LDAsMCwxLDM1LjYxNi43MjhabTMuNjQtNS42YTIuNzI3LDIuNzI3LDAsMCwwLDEuNi0uNDQ4LDExLjEyNiwxMS4xMjYsMCwwLDAsMS42LTEuNDU2di04LjczNkE2LjQ0NCw2LjQ0NCwwLDAsMCwzNy45NjgtMTRhNi4wMjQsNi4wMjQsMCwwLDAtMS42OCw0LjcsNS45NDgsNS45NDgsMCwwLDAsLjc1NiwzLjI3NkEyLjQ4MiwyLjQ4MiwwLDAsMCwzOS4yNTYtNC44NzJaTTY2LjI0OC43MjhhMTIuMzY4LDEyLjM2OCwwLDAsMS03LjUtMi4xLDkuNTc5LDkuNTc5LDAsMCwxLTMuNy01Ljg1Mmw2LjEtMi4wMTZhNC44NzgsNC44NzgsMCwwLDAsLjg0LDEuOSw0LjI4Niw0LjI4NiwwLDAsMCwzLjc1MiwxLjg0OEE2LjE1Nyw2LjE1NywwLDAsMCw2OC40MzItNi4xYTIuMDA5LDIuMDA5LDAsMCwwLDEuMjg4LTEuOXEwLTEuNzM2LTIuNDA4LTIuNjg4TDYwLjctMTMuMzg0YTguNTU0LDguNTU0LDAsMCwxLTQuMDMyLTMuMzYsMTAuMTYsMTAuMTYsMCwwLDEtMS40LTUuNDg4LDkuMDQzLDkuMDQzLDAsMCwxLDEuNDg0LTUuMjA4LDkuNTg5LDkuNTg5LDAsMCwxLDMuOTItMy4zMzIsMTIuMTI4LDEyLjEyOCwwLDAsMSw1LjIzNi0xLjE0OCwxMS4yMTMsMTEuMjEzLDAsMCwxLDYuNSwyLjA0NEE5Ljg0LDkuODQsMCwwLDEsNzYuMzg0LTI0LjNsLTYuNSwyLjAxNmE2Ljg1Niw2Ljg1NiwwLDAsMC0uNzg0LTEuOSwzLjY0MywzLjY0MywwLDAsMC0zLjEzNi0xLjksNC4zNzcsNC4zNzcsMCwwLDAtMi40MDguNjQ0LDIuMDksMi4wOSwwLDAsMC0xLjAwOCwxLjg3NnEwLDEuNDU2LDIuNzQ0LDIuNjg4bDUuNiwyLjNhMTIuNjcxLDEyLjY3MSwwLDAsMSw0LjY0OCwzLjUyOCw4Ljk2Nyw4Ljk2NywwLDAsMSwxLjY4LDUuNzEyLDkuNDYxLDkuNDYxLDAsMCwxLTEuNTY4LDUuNTE2QTkuODM4LDkuODM4LDAsMCwxLDcxLjU2OC0uNDIsMTIuNjg1LDEyLjY4NSwwLDAsMSw2Ni4yNDguNzI4Wm0yNS44NzIsMGE5LjY3MSw5LjY3MSwwLDAsMS04LjU2OC00LjQ1MnEtMi45NjgtNC40NTItMi45NjgtMTEuODQ0LDAtNy41LDMuMDI0LTExLjkyOEE5Ljk4NSw5Ljk4NSwwLDAsMSw5Mi40LTMxLjkyYTkuNDQ5LDkuNDQ5LDAsMCwxLDguNCw0LjQyNHEyLjkxMiw0LjQyNCwyLjkxMiwxMS45MjhhLjk4Ni45ODYsMCwwLDEtLjE2OC42NDRxLS4xNjguMi0uMTY4LjI1Mkg4OC40MjRhMjEuODM2LDIxLjgzNiwwLDAsMCwuOTUyLDYuNjM2cS45NTIsMywyLjkxMiwzLDIuMTg0LDAsMy4yNDgtMi41MnQxLjEyLTIuNjMybDUuOTM2LDIuMjRBMTMuMzYsMTMuMzYsMCwwLDEsOTguODQtMS42LDkuNjQ4LDkuNjQ4LDAsMCwxLDkyLjEyLjcyOFptMy44NjQtMTkuOTM2YTEzLjAxMiwxMy4wMTIsMCwwLDAtLjktNS4zMiwyLjk0MywyLjk0MywwLDAsMC0yLjgtMS45NiwyLjU2NywyLjU2NywwLDAsMC0xLjg0OC45NTJBNy4wMzYsNy4wMzYsMCwwLDAsODguOTg0LTIyLjlhMTEuNjMsMTEuNjMsMCwwLDAtLjU2LDMuN1pNMTE5LjE2OCw5LjhxLTYuMjcyLDAtOS43NDQtMS43NjR0LTMuNDcyLTQuODQ0QTQuNzg2LDQuNzg2LDAsMCwxLDEwNy41Mi0uNDIsMTEuNTY1LDExLjU2NSwwLDAsMSwxMTEuNS0yLjgsOC4yLDguMiwwLDAsMSwxMDguMy00LjM2OGEzLjQ5LDMuNDksMCwwLDEtMS4wNjQtMi43NDQsNS45MTQsNS45MTQsMCwwLDEsMS41MTItMy45NDhBMTEuODc5LDExLjg3OSwwLDAsMSwxMTIuNzI4LTE0cS01LjA0LTIuOTEyLTUuMDQtOC4xMmE4LjQ4OSw4LjQ4OSwwLDAsMSwxLjcwOC01LjM0OEExMC41NTUsMTAuNTU1LDAsMCwxLDExMy44Mi0zMC44YTE0Ljc2NiwxNC43NjYsMCwwLDEsNS42ODQtMS4xMiwxMy40OSwxMy40OSwwLDAsMSw3Ljg0LDIuMzUyLDIxLjIsMjEuMiwwLDAsMSwzLjM4OC0yLjUyLDguMzE2LDguMzE2LDAsMCwxLDQuMjg0LTEuMDA4djUuMjA4YTEyLjUwNiwxMi41MDYsMCwwLDAtNC45ODQuNzg0LDI0LjgsMjQuOCwwLDAsMSwuOTI0LDIuNzQ0LDguOTg4LDguOTg4LDAsMCwxLC4yNTIsMi4xODQsOS41MzcsOS41MzcsMCwwLDEtMi41NzYsNi42MzZxLTIuNTc2LDIuODI4LTguNCwyLjgyOGwtMi4wNzItLjA1NmExMS40MTksMTEuNDE5LDAsMCwwLTEuMjMyLS4wNTYsMy4xNjIsMy4xNjIsMCwwLDAtMS40Ljk4LDIuMzc1LDIuMzc1LDAsMCwwLS42NzIsMS42LDEuODMzLDEuODMzLDAsMCwwLC41NiwxLjM0NCwyLjM2MSwyLjM2MSwwLDAsMCwxLjQuNjcybDguOTYsMS4wMDhxNy43ODQuOSw3Ljc4NCw3LjU2LDAsNS4yMDgtNCw3LjMzNkEyMi4wODksMjIuMDg5LDAsMCwxLDExOS4xNjgsOS44Wm0uMjI0LTI2Ljk5MmEzLjEyMywzLjEyMywwLDAsMCwyLjY4OC0xLjMxNiw2LjI3NSw2LjI3NSwwLDAsMCwuOTUyLTMuNzI0LDUuNzQ0LDUuNzQ0LDAsMCwwLTEuMDA4LTMuNywzLjE4MiwzLjE4MiwwLDAsMC0yLjU3Ni0xLjIzMiwzLjIsMy4yLDAsMCwwLTIuNzQ0LDEuNCw1Ljc4Nyw1Ljc4NywwLDAsMC0xLjAwOCwzLjQ3Miw3LjQsNy40LDAsMCwwLC44NCwzLjVBMi45NjQsMi45NjQsMCwwLDAsMTE5LjM5Mi0xNy4xOTJabS4xMTIsMjEuMjhxNi4zODQsMCw2LjM4NC0zLjQ3MmExLjc4MSwxLjc4MSwwLDAsMC0uNS0xLjQsMy4yNjcsMy4yNjcsMCwwLDAtMS42LS42NDRxLTEuMDkyLS4yLTMuNTU2LS4zNjRsLTQuNjQ4LS4zOTJhMy44MTMsMy44MTMsMCwwLDAtMS43MzYsMS4yQTIuOTMzLDIuOTMzLDAsMCwwLDExMy4xMi45NTJhMi41MjksMi41MjksMCwwLDAsMS42LDIuMzI0QTEwLjk0NSwxMC45NDUsMCwwLDAsMTE5LjUsNC4wODhabTE4Ljc2LTM0Ljk0NCw3Ljg0LS42NzJ2NS4xYTEzLjM5MiwxMy4zOTIsMCwwLDEsNC4xNzItMy44OTIsMTIuMjc0LDEyLjI3NCwwLDAsMSw2LjM1Ni0xLjQ4NHY3LjY3MmEyNi41OSwyNi41OSwwLDAsMC01LjI5Mi43QTExLjMsMTEuMywwLDAsMCwxNDYuMS0yMVYtLjMzNmwtNy44NC42NzJaTTE3MC45MTIuNzI4YTkuNjcxLDkuNjcxLDAsMCwxLTguNTY4LTQuNDUycS0yLjk2OC00LjQ1Mi0yLjk2OC0xMS44NDQsMC03LjUsMy4wMjQtMTEuOTI4YTkuOTg1LDkuOTg1LDAsMCwxLDguNzkyLTQuNDI0LDkuNDQ5LDkuNDQ5LDAsMCwxLDguNCw0LjQyNHEyLjkxMiw0LjQyNCwyLjkxMiwxMS45MjhhLjk4Ni45ODYsMCwwLDEtLjE2OC42NDRxLS4xNjguMi0uMTY4LjI1MkgxNjcuMjE2YTIxLjgzNiwyMS44MzYsMCwwLDAsLjk1Miw2LjYzNnEuOTUyLDMsMi45MTIsMywyLjE4NCwwLDMuMjQ4LTIuNTJ0MS4xMi0yLjYzMmw1LjkzNiwyLjI0QTEzLjM2LDEzLjM2LDAsMCwxLDE3Ny42MzItMS42LDkuNjQ4LDkuNjQ4LDAsMCwxLDE3MC45MTIuNzI4Wm0zLjg2NC0xOS45MzZhMTMuMDEyLDEzLjAxMiwwLDAsMC0uOS01LjMyLDIuOTQ0LDIuOTQ0LDAsMCwwLTIuOC0xLjk2LDIuNTY3LDIuNTY3LDAsMCwwLTEuODQ4Ljk1Miw3LjAzNiw3LjAzNiwwLDAsMC0xLjQ1NiwyLjYzMiwxMS42MywxMS42MywwLDAsMC0uNTYsMy43Wk0xOTYuNjcyLjcyOGExMi4zNjgsMTIuMzY4LDAsMCwxLTcuNS0yLjEsOS41NzksOS41NzksMCwwLDEtMy43LTUuODUybDYuMS0yLjAxNmE0Ljg3OCw0Ljg3OCwwLDAsMCwuODQsMS45LDQuMjg2LDQuMjg2LDAsMCwwLDMuNzUyLDEuODQ4LDYuMTU3LDYuMTU3LDAsMCwwLDIuNjg4LS42MTYsMi4wMDksMi4wMDksMCwwLDAsMS4yODgtMS45cTAtMS43MzYtMi40MDgtMi42ODhsLTYuNjA4LTIuNjg4YTguNTU0LDguNTU0LDAsMCwxLTQuMDMyLTMuMzYsMTAuMTYsMTAuMTYsMCwwLDEtMS40LTUuNDg4LDkuMDQzLDkuMDQzLDAsMCwxLDEuNDg0LTUuMjA4LDkuNTg5LDkuNTg5LDAsMCwxLDMuOTItMy4zMzIsMTIuMTI4LDEyLjEyOCwwLDAsMSw1LjIzNi0xLjE0OCwxMS4yMTMsMTEuMjEzLDAsMCwxLDYuNSwyLjA0NCw5Ljg0LDkuODQsMCwwLDEsMy45NzYsNS41NzJsLTYuNSwyLjAxNmE2Ljg1Niw2Ljg1NiwwLDAsMC0uNzg0LTEuOSwzLjY0MywzLjY0MywwLDAsMC0zLjEzNi0xLjksNC4zNzcsNC4zNzcsMCwwLDAtMi40MDguNjQ0LDIuMDksMi4wOSwwLDAsMC0xLjAwOCwxLjg3NnEwLDEuNDU2LDIuNzQ0LDIuNjg4bDUuNiwyLjNhMTIuNjcxLDEyLjY3MSwwLDAsMSw0LjY0OCwzLjUyOCw4Ljk2Nyw4Ljk2NywwLDAsMSwxLjY4LDUuNzEyLDkuNDYxLDkuNDYxLDAsMCwxLTEuNTY4LDUuNTE2QTkuODM4LDkuODM4LDAsMCwxLDIwMS45OTItLjQyLDEyLjY4NSwxMi42ODUsMCwwLDEsMTk2LjY3Mi43MjhabTI1LjI1NiwwYTEyLjM2OCwxMi4zNjgsMCwwLDEtNy41LTIuMSw5LjU3OSw5LjU3OSwwLDAsMS0zLjctNS44NTJsNi4xLTIuMDE2YTQuODc4LDQuODc4LDAsMCwwLC44NCwxLjksNC4yODYsNC4yODYsMCwwLDAsMy43NTIsMS44NDgsNi4xNTcsNi4xNTcsMCwwLDAsMi42ODgtLjYxNiwyLjAwOSwyLjAwOSwwLDAsMCwxLjI4OC0xLjlxMC0xLjczNi0yLjQwOC0yLjY4OGwtNi42MDgtMi42ODhhOC41NTQsOC41NTQsMCwwLDEtNC4wMzItMy4zNiwxMC4xNiwxMC4xNiwwLDAsMS0xLjQtNS40ODgsOS4wNDMsOS4wNDMsMCwwLDEsMS40ODQtNS4yMDgsOS41ODksOS41ODksMCwwLDEsMy45Mi0zLjMzMiwxMi4xMjgsMTIuMTI4LDAsMCwxLDUuMjM2LTEuMTQ4LDExLjIxMywxMS4yMTMsMCwwLDEsNi41LDIuMDQ0LDkuODQsOS44NCwwLDAsMSwzLjk3Niw1LjU3MmwtNi41LDIuMDE2YTYuODU2LDYuODU2LDAsMCwwLS43ODQtMS45LDMuNjQzLDMuNjQzLDAsMCwwLTMuMTM2LTEuOSw0LjM3Nyw0LjM3NywwLDAsMC0yLjQwOC42NDQsMi4wOSwyLjA5LDAsMCwwLTEuMDA4LDEuODc2cTAsMS40NTYsMi43NDQsMi42ODhsNS42LDIuM2ExMi42NzEsMTIuNjcxLDAsMCwxLDQuNjQ4LDMuNTI4LDguOTY3LDguOTY3LDAsMCwxLDEuNjgsNS43MTIsOS40NjEsOS40NjEsMCwwLDEtMS41NjgsNS4
11MTZBOS44MzgsOS44MzgsMCwwLDEsMjI3LjI0OC0uNDIsMTIuNjg1LDEyLjY4NSwwLDAsMSwyMjEuOTI4LjcyOFoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDMxLjU4OCAyNjYpIiBmaWxsPSIjMmY1NGViIi8+CiAgPC9nPgo8L3N2Zz4K"},28536:v=>{"use strict";v.exports=JSON.parse('{"_categories":{"aggregates":["count","max","min","product","sort","sum"],"array":["array.concat","array.flatten","array.reverse","array.slice"],"bits":["bits.and","bits.lsh","bits.negate","bits.or","bits.rsh","bits.xor"],"comparison":["equal","gt","gte","lt","lte","neq"],"conversions":["to_number"],"crypto":["crypto.hmac.equal","crypto.hmac.md5","crypto.hmac.sha1","crypto.hmac.sha256","crypto.hmac.sha512","crypto.md5","crypto.parse_private_keys","crypto.sha1","crypto.sha256","crypto.x509.parse_and_verify_certificates","crypto.x509.parse_and_verify_certificates_with_options","crypto.x509.parse_certificate_request","crypto.x509.parse_certificates","crypto.x509.parse_keypair","crypto.x509.parse_rsa_private_key"],"encoding":["base64.decode","base64.encode","base64.is_valid","base64url.decode","base64url.encode","base64url.encode_no_pad","hex.decode","hex.encode","json.is_valid","json.marshal","json.marshal_with_options","json.unmarshal","urlquery.decode","urlquery.decode_object","urlquery.encode","urlquery.encode_object","yaml.is_valid","yaml.marshal","yaml.unmarshal"],"glob":["glob.match","glob.quote_meta"],"graph":["graph.reachable","graph.reachable_paths","walk"],"graphql":["graphql.is_valid","graphql.parse","graphql.parse_and_verify","graphql.parse_query","graphql.parse_schema","graphql.schema_is_valid"],"http":["http.send"],"internal":["internal.member_2","internal.member_3","internal.print","internal.template_string","internal.test_case"],"net":["net.cidr_contains","net.cidr_contains_matches","net.cidr_expand","net.cidr_intersects","net.cidr_is_valid","net.cidr_merge","net.lookup_ip_addr"],"numbers":["abs","ceil","div","floor","minus","mul","numbers.range","numbers.range_step","plus","rand.intn","rem","round"],"object":["json.filter","json.match_schema","json.patch","json.remove","json.verify_schema","object.filter","object.get","object.keys","object.remove","object.subset","object.union","object.union_n"],"opa":["opa.runtime"],"providers.aws":["providers.aws.sign_req"],"regex":["regex.find_all_string_submatch_n","regex.find_n","regex.globs_match","regex.is_valid","regex.match","regex.replace","regex.split","regex.template_match"],"rego":["rego.metadata.chain","rego.metadata.rule","rego.parse_module"],"semver":["semver.compare","semver.is_valid"],"sets":["and","intersection","minus","or","union"],"strings":["concat","contains","endswith","format_int","indexof","indexof_n","lower","replace","split","sprintf","startswith","strings.any_prefix_match","strings.any_suffix_match","strings.count","strings.render_template","strings.replace_n","strings.reverse","strings.split_n","substring","trim","trim_left","trim_prefix","trim_right","trim_space","trim_suffix","upper"],"time":["time.add_date","time.clock","time.date","time.diff","time.format","time.now_ns","time.parse_duration_ns","time.parse_ns","time.parse_rfc3339_ns","time.weekday"],"tokens":["io.jwt.decode","io.jwt.decode_verify","io.jwt.verify_eddsa","io.jwt.verify_es256","io.jwt.verify_es384","io.jwt.verify_es512","io.jwt.verify_hs256","io.jwt.verify_hs384","io.jwt.verify_hs512","io.jwt.verify_ps256","io.jwt.verify_ps384","io.jwt.verify_ps512","io.jwt.verify_rs256","io.jwt.verify_rs384","io.jwt.verify_rs512"],"tokensign":["io.jwt.encode_sign","io.jwt.encode_sign_raw"],"tracing":["trace"],"types":["is_array","is_boolean","is_null","is_number","is_object","is_set","is_string","type_name"],"units":["units.parse","units.parse_bytes"],"uri":["uri.is_valid","uri.parse"],"uuid":["uuid.parse","uuid.rfc4122"]},"_implementations":[{"id":"swift","label":"Swift","repo":"open-policy-agent/swift-opa","version":"0.0.10"},{"id":"java","label":"Java","repo":"open-policy-agent/java-opa-sdk","version":"0.4.0"}],"abs":{"args":[{"description":"the number to take the absolute value of","name":"x","type":"number"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Returns the number without its sign.","implementations":{"java":"0.1.0","swift":"0.0.1"},"introduced":"v0.17.0","result":{"description":"the absolute value of `x`","name":"y","type":"number"},"wasm":true},"all":{"args":[{"type":"any<array[any], set[any]>"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"deprecated":true,"implementations":{},"introduced":"v0.17.0","result":{"type":"boolean"},"wasm":true},"and":{"args":[{"description":"the first set","name":"x","type":"set[any]"},{"description":"the second set","name":"y","type":"set[any]"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Returns the intersection of two sets.","implementations":{"java":"0.1.0","swift":"0.0.1"},"infix":"&","introduced":"v0.17.0","result":{"description":"the intersection of `x` and `y`","name":"z","type":"set[any]"},"wasm":true},"any":{"args":[{"type":"any<array[any], set[any]>"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"deprecated":true,"implementations":{},"introduced":"v0.17.0","result":{"type":"boolean"},"wasm":true},"array.concat":{"args":[{"description":"the first array","name":"x","type":"array[any]"},{"description":"the second array","name":"y","type":"array[any]"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Concatenates two arrays.","implementations":{"java":"0.1.0","swift":"0.0.1"},"introduced":"v0.17.0","result":{"description":"the concatenation of `x` and `y`","name":"z","type":"array[any]"},"wasm":true},"array.flatten":{"args":[{"description":"the array to be flattened","name":"arr","type":"array[any]"}],"available":["v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Non-recursively unpacks array items in arr into the flattened array. Other types are appended as-is.","implementations":{"java":"0.3.0"},"introduced":"v1.13.0","result":{"description":"array flattened one level","name":"flattened","type":"array[any]"},"wasm":true},"array.reverse":{"args":[{"description":"the array to be reversed","name":"arr","type":"array[any]"}],"available":["v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Returns the reverse of a given array.","implementations":{"java":"0.1.0","swift":"0.0.1"},"introduced":"v0.36.0","result":{"description":"an array containing the elements of `arr` in reverse order","name":"rev","type":"array[any]"},"wasm":true},"array.slice":{"args":[{"description":"the array to be sliced","name":"arr","type":"array[any]"},{"description":"the start index of the returned slice; if less than zero, it\'s clamped to 0","name":"start","type":"number"},{"description":"the stop index of the returned slice; if larger than `count(arr)`, it\'s clamped to `count(arr)`","name":"stop","type":"number"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Returns a slice of a given array. If `start` is greater or equal than `stop`, `slice` is `[]`.","implementations":{"java":"0.1.0","swift":"0.0.1"},"introduced":"v0.17.0","result":{"description":"the subslice of `array`, from `start` to `end`, including `arr[start]`, but excluding `arr[end]`","name":"slice","type":"array[any]"},"wasm":true},"assign":{"args":[{"type":"any"},{"type":"any"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"implementations":{},"infix":":=","introduced":"v0.17.0","result":{"type":"boolean"},"wasm":false},"base64.decode":{"args":[{"description":"string to decode","name":"x","type":"string"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Deserializes the base64 encoded input string.","implementations":{"java":"0.1.0","swift":"0.0.1"},"introduced":"v0.17.0","result":{"description":"base64 deserialization of `x`","name":"y","type":"string"},"wasm":true},"base64.encode":{"args":[{"description":"string to encode","name":"x","type":"string"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Serializes the input string into base64 encoding.","implementations":{"java":"0.1.0","swift":"0.0.1"},"introduced":"v0.17.0","result":{"description":"base64 serialization of `x`","name":"y","type":"string"},"wasm":true},"base64.is_valid":{"args":[{"description":"string to check","name":"x","type":"string"}],"available":["v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Verifies the input string is base64 encoded.","implementations":{"java":"0.1.0","swift":"0.0.1"},"introduced":"v0.24.0","result":{"description":"`true` if `x` is valid base64 encoded value, `false` otherwise","name":"result","type":"boolean"},"wasm":true},"base64url.decode":{"args":[{"description":"string to decode","name":"x","type":"string"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Deserializes the base64url encoded input string.","implementations":{"java":"0.1.0","swift":"0.0.1"},"introduced":"v0.17.0","result":{"description":"base64url deserialization of `x`","name":"y","type":"string"},"wasm":true},"base64url.encode":{"args":[{"description":"string to encode","name":"x","type":"string"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Serializes the input string into base64url encoding.","implementations":{"java":"0.1.0","swift":"0.0.1"},"introduced":"v0.17.0","result":{"description":"base64url serialization of `x`","name":"y","type":"string"},"wasm":true},"base64url.encode_no_pad":{"args":[{"description":"string to encode","name":"x","type":"string"}],"available":["v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Serializes the input string into base64url encoding without padding.","implementations":{"java":"0.1.0","swift":"0.0.1"},"introduced":"v0.25.0-rc2","result":{"description":"base64url serialization of `x`","name":"y","type":"string"},"wasm":false},"bits.and":{"args":[{"description":"the first integer","name":"x","type":"number"},{"description":"the second integer","name":"y","type":"number"}],"available":["v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Returns the bitwise \\"AND\\" of two integers.","implementations":{"swift":"0.0.1"},"introduced":"v0.18.0","result":{"description":"the bitwise AND of `x` and `y`","name":"z","type":"number"},"wasm":true},"bits.lsh":{"args":[{"description":"the integer to shift","name":"x","type":"number"},{"description":"the number of bits to shift","name":"s","type":"number"}],"available":["v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Returns a new integer with its bits shifted `s` bits to the left.","implementations":{"swift":"0.0.1"},"introduced":"v0.18.0","result":{"description":"the result of shifting `x` `s` bits to the left","name":"z","type":"number"},"wasm":true},"bits.negate":{"args":[{"description":"the integer to negate","name":"x","type":"number"}],"available":["v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Returns the bitwise negation (flip) of an integer.","implementations":{"swift":"0.0.1"},"introduced":"v0.18.0","result":{"description":"the bitwise negation of `x`","name":"z","type":"number"},"wasm":true},"bits.or":{"args":[{"description":"the first integer","name":"x","type":"number"},{"description":"the second integer","name":"y","type":"number"}],"available":["v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Returns the bitwise \\"OR\\" of two integers.","implementations":{"swift":"0.0.1"},"introduced":"v0.18.0","result":{"description":"the bitwise OR of `x` and `y`","name":"z","type":"number"},"wasm":true},"bits.rsh":{"args":[{"description":"the integer to shift","name":"x","type":"number"},{"description":"the number of bits to shift","name":"s","type":"number"}],"available":["v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Returns a new integer with its bits shifted `s` bits to the right.","implementations":{"swift":"0.0.1"},"introduced":"v0.18.0","result":{"description":"the result of shifting `x` `s` bits to the right","name":"z","type":"number"},"wasm":true},"bits.xor":{"args":[{"description":"the first integer","name":"x","type":"number"},{"description":"the second integer","name":"y","type":"number"}],"available":["v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Returns the bitwise \\"XOR\\" (exclusive-or) of two integers.","implementations":{"swift":"0.0.1"},"introduced":"v0.18.0","result":{"description":"the bitwise XOR of `x` and `y`","name":"z","type":"number"},"wasm":true},"cast_array":{"args":[{"type":"any"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"deprecated":true,"implementations":{},"introduced":"v0.17.0","result":{"type":"array[any]"},"wasm":false},"cast_boolean":{"args":[{"type":"any"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"deprecated":true,"implementations":{},"introduced":"v0.17.0","result":{"type":"boolean"},"wasm":false},"cast_null":{"args":[{"type":"any"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"deprecated":true,"implementations":{},"introduced":"v0.17.0","result":{"type":"null"},"wasm":false},"cast_object":{"args":[{"type":"any"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"deprecated":true,"implementations":{},"introduced":"v0.17.0","result":{"type":"object[any: any]"},"wasm":false},"cast_set":{"args":[{"type":"any"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"deprecated":true,"implementations":{},"introduced":"v0.17.0","result":{"type":"set[any]"},"wasm":false},"cast_string":{"args":[{"type":"any"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"deprecated":true,"implementations":{},"introduced":"v0.17.0","result":{"type":"string"},"wasm":false},"ceil":{"args":[{"description":"the number to round","name":"x","type":"number"}],"available":["v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Rounds the number _up_ to the nearest integer.","implementations":{"java":"0.1.0","swift":"0.0.1"},"introduced":"v0.26.0","result":{"description":"the result of rounding `x` _up_","name":"y","type":"number"},"wasm":true},"concat":{"args":[{"description":"string to use as a delimiter","name":"delimiter","type":"string"},{"description":"strings to join","name":"collection","type":"any<array[string], set[string]>"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Joins a set or array of strings with a delimiter.","implementations":{"java":"0.1.0","swift":"0.0.1"},"introduced":"v0.17.0","result":{"description":"the joined string","name":"output","type":"string"},"wasm":true},"contains":{"args":[{"description":"string to search in","name":"haystack","type":"string"},{"description":"substring to look for","name":"needle","type":"string"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Returns `true` if the search string is included in the base string","implementations":{"java":"0.1.0","swift":"0.0.1"},"introduced":"v0.17.0","result":{"description":"result of the containment check","name":"result","type":"boolean"},"wasm":true},"count":{"args":[{"description":"the set/array/object/string to be counted","name":"collection","type":"any<string, array[any], object[any: any], set[any]>"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Count takes a collection or string and returns the number of elements (or characters) in it.","implementations":{"java":"0.1.0","swift":"0.0.1"},"introduced":"v0.17.0","result":{"description":"the count of elements, key/val pairs, or characters, respectively.","name":"n","type":"number"},"wasm":true},"crypto.hmac.equal":{"args":[{"description":"mac1 to compare","name":"mac1","type":"string"},{"description":"mac2 to compare","name":"mac2","type":"string"}],"available":["v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Returns a boolean representing the result of comparing two MACs for equality without leaking timing information.","implementations":{"java":"0.4.0","swift":"0.0.1"},"introduced":"v0.52.0","result":{"description":"`true` if the MACs are equals, `false` otherwise","name":"result","type":"boolean"},"wasm":false},"crypto.hmac.md5":{"args":[{"description":"input string","name":"x","type":"string"},{"description":"key to use","name":"key","type":"string"}],"available":["v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Returns a string representing the MD5 HMAC of the input message using the input key.","implementations":{"java":"0.4.0","swift":"0.0.1"},"introduced":"v0.36.0","result":{"description":"MD5-HMAC of `x`","name":"y","type":"string"},"wasm":false},"crypto.hmac.sha1":{"args":[{"description":"input string","name":"x","type":"string"},{"description":"key to use","name":"key","type":"string"}],"available":["v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Returns a string representing the SHA1 HMAC of the input message using the input key.","implementations":{"java":"0.4.0","swift":"0.0.1"},"introduced":"v0.36.0","result":{"description":"SHA1-HMAC of `x`","name":"y","type":"string"},"wasm":false},"crypto.hmac.sha256":{"args":[{"description":"input string","name":"x","type":"string"},{"description":"key to use","name":"key","type":"string"}],"available":["v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Returns a string representing the SHA256 HMAC of the input message using the input key.","implementations":{"java":"0.4.0","swift":"0.0.1"},"introduced":"v0.36.0","result":{"description":"SHA256-HMAC of `x`","name":"y","type":"string"},"wasm":false},"crypto.hmac.sha512":{"args":[{"description":"input string","name":"x","type":"string"},{"description":"key to use","name":"key","type":"string"}],"available":["v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Returns a string representing the SHA512 HMAC of the input message using the input key.","implementations":{"java":"0.4.0","swift":"0.0.1"},"introduced":"v0.36.0","result":{"description":"SHA512-HMAC of `x`","name":"y","type":"string"},"wasm":false},"crypto.md5":{"args":[{"description":"input string","name":"x","type":"string"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Returns a string representing the input string hashed with the MD5 function","implementations":{"java":"0.4.0","swift":"0.0.1"},"introduced":"v0.17.0","result":{"description":"MD5-hash of `x`","name":"y","type":"string"},"wasm":false},"crypto.parse_private_keys":{"args":[{"description":"PEM encoded data containing one or more private keys as concatenated blocks. Optionally Base64 encoded.","name":"keys","type":"string"}],"available":["v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Returns zero or more private keys from the given encoded string containing DER certificate data.\\n\\nIf the input is empty, the function will return null. The input string should be a list of one or more concatenated PEM blocks. The whole input of concatenated PEM blocks can optionally be Base64 encoded.","implementations":{},"introduced":"v0.55.0","result":{"description":"parsed private keys represented as objects","name":"output","type":"array[object[string: any]]"},"wasm":false},"crypto.sha1":{"args":[{"description":"input string","name":"x","type":"string"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Returns a string representing the input string hashed with the SHA1 function","implementations":{"java":"0.4.0","swift":"0.0.1"},"introduced":"v0.17.0","result":{"description":"SHA1-hash of `x`","name":"y","type":"string"},"wasm":false},"crypto.sha256":{"args":[{"description":"input string","name":"x","type":"string"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Returns a string representing the input string hashed with the SHA256 function","implementations":{"java":"0.4.0","swift":"0.0.1"},"introduced":"v0.17.0","result":{"description":"SHA256-hash of `x`","name":"y","type":"string"},"wasm":false},"crypto.x509.parse_and_verify_certificates":{"args":[{"description":"base64 encoded DER or PEM data containing two or more certificates where the first is a root CA, the last is a leaf certificate, and all others are intermediate CAs","name":"certs","type":"string"}],"available":["v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Returns one or more certificates from the given string containing PEM\\nor base64 encoded DER certificates after verifying the supplied certificates form a complete\\ncertificate chain back to a trusted root.\\n\\nThe first certificate is treated as the root and the last is treated as the leaf,\\nwith all others being treated as intermediates.","implementations":{},"introduced":"v0.31.0","result":{"description":"array of `[valid, certs]`: if the input certificate chain could be verified then `valid` is `true` and `certs` is an array of X.509 certificates represented as objects; if the input certificate chain could not be verified then `valid` is `false` and `certs` is `[]`","name":"output","type":"array<boolean, array[object[string: any]]>"},"wasm":false},"crypto.x509.parse_and_verify_certificates_with_options":{"args":[{"description":"base64 encoded DER or PEM data containing two or more certificates where the first is a root CA, the last is a leaf certificate, and all others are intermediate CAs","name":"certs","type":"string"},{"description":"object containing extra configs to verify the validity of certificates. `options` object supports four fields which maps to same fields in [x509.VerifyOptions struct](https://pkg.go.dev/crypto/x509#VerifyOptions). `DNSName`, `CurrentTime`: Nanoseconds since the Unix Epoch as a number, `MaxConstraintComparisons` and `KeyUsages`. `KeyUsages` is list and can have possible values as in: `\\"KeyUsageAny\\"`, `\\"KeyUsageServerAuth\\"`, `\\"KeyUsageClientAuth\\"`, `\\"KeyUsageCodeSigning\\"`, `\\"KeyUsageEmailProtection\\"`, `\\"KeyUsageIPSECEndSystem\\"`, `\\"KeyUsageIPSECTunnel\\"`, `\\"KeyUsageIPSECUser\\"`, `\\"KeyUsageTimeStamping\\"`, `\\"KeyUsageOCSPSigning\\"`, `\\"KeyUsageMicrosoftServerGatedCrypto\\"`, `\\"KeyUsageNetscapeServerGatedCrypto\\"`, `\\"KeyUsageMicrosoftCommercialCodeSigning\\"`, `\\"KeyUsageMicrosoftKernelCodeSigning\\"` ","name":"options","type":"object[string: any]"}],"available":["v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Returns one or more certificates from the given string containing PEM\\nor base64 encoded DER certificates after verifying the supplied certificates form a complete\\ncertificate chain back to a trusted root. A config option passed as the second argument can\\nbe used to configure the validation options used.\\n\\nThe first certificate is treated as the root and the last is treated as the leaf,\\nwith all others being treated as intermediates.","implementations":{},"introduced":"v0.63.0","result":{"description":"array of `[valid, certs]`: if the input certificate chain could be verified then `valid` is `true` and `certs` is an array of X.509 certificates represented as objects; if the input certificate chain could not be verified then `valid` is `false` and `certs` is `[]`","name":"output","type":"array<boolean, array[object[string: any]]>"},"wasm":false},"crypto.x509.parse_certificate_request":{"args":[{"description":"base64 string containing either a PEM encoded or DER CSR or a string containing a PEM CSR","name":"csr","type":"string"}],"available":["v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Returns a PKCS #10 certificate signing request from the given PEM-encoded PKCS#10 certificate signing request.","implementations":{},"introduced":"v0.21.0","result":{"description":"X.509 CSR represented as an object","name":"output","type":"object[string: any]"},"wasm":false},"crypto.x509.parse_certificates":{"args":[{"description":"base64 encoded DER or PEM data containing one or more certificates or a PEM string of one or more certificates","name":"certs","type":"string"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Returns zero or more certificates from the given encoded string containing\\nDER certificate data.\\n\\nIf the input is empty, the function will return null. The input string should be a list of one or more\\nconcatenated PEM blocks. The whole input of concatenated PEM blocks can optionally be Base64 encoded.","implementations":{},"introduced":"v0.17.0","result":{"description":"parsed X.509 certificates represented as objects","name":"output","type":"array[object[string: any]]"},"wasm":false},"crypto.x509.parse_keypair":{"args":[{"description":"string containing PEM or base64 encoded DER certificates","name":"cert","type":"string"},{"description":"string containing PEM or base64 encoded DER keys","name":"pem","type":"string"}],"available":["v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Returns a valid key pair","implementations":{},"introduced":"v0.53.0","result":{"description":"if key pair is valid, returns the tls.certificate(https://pkg.go.dev/crypto/tls#Certificate) as an object. If the key pair is invalid, nil and an error are returned.","name":"output","type":"object[string: any]"},"wasm":false},"crypto.x509.parse_rsa_private_key":{"args":[{"description":"base64 string containing a PEM encoded RSA private key","name":"pem","type":"string"}],"available":["v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Returns a JWK for signing a JWT from the given PEM-encoded RSA private key.","implementations":{},"introduced":"v0.33.0","result":{"description":"JWK as an object","name":"output","type":"object[string: any]"},"wasm":false},"div":{"args":[{"description":"the dividend","name":"x","type":"number"},{"description":"the divisor","name":"y","type":"number"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Divides the first number by the second number.","implementations":{"java":"0.1.0","swift":"0.0.1"},"infix":"/","introduced":"v0.17.0","result":{"description":"the result of `x` divided by `y`","name":"z","type":"number"},"wasm":true},"endswith":{"args":[{"description":"search string","name":"search","type":"string"},{"description":"base string","name":"base","type":"string"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Returns true if the search string ends with the base string.","implementations":{"java":"0.1.0","swift":"0.0.1"},"introduced":"v0.17.0","result":{"description":"result of the suffix check","name":"result","type":"boolean"},"wasm":true},"eq":{"args":[{"type":"any"},{"type":"any"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"implementations":{},"infix":"=","introduced":"v0.17.0","result":{"type":"boolean"},"wasm":false},"equal":{"args":[{"name":"x","type":"any"},{"name":"y","type":"any"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"implementations":{"java":"0.1.0","swift":"0.0.1"},"infix":"==","introduced":"v0.17.0","result":{"description":"true if `x` is equal to `y`; false otherwise","name":"result","type":"boolean"},"wasm":true},"floor":{"args":[{"description":"the number to round","name":"x","type":"number"}],"available":["v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Rounds the number _down_ to the nearest integer.","implementations":{"java":"0.1.0","swift":"0.0.1"},"introduced":"v0.26.0","result":{"description":"the result of rounding `x` _down_","name":"y","type":"number"},"wasm":true},"format_int":{"args":[{"description":"number to format","name":"number","type":"number"},{"description":"base of number representation to use","name":"base","type":"number"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Returns the string representation of the number in the given base after rounding it down to an integer value.","implementations":{"java":"0.1.0","swift":"0.0.1"},"introduced":"v0.17.0","result":{"description":"formatted number","name":"output","type":"string"},"wasm":true},"glob.match":{"args":[{"description":"glob pattern","name":"pattern","type":"string"},{"description":"glob pattern delimiters, e.g. `[\\".\\", \\":\\"]`, defaults to `[\\".\\"]` if unset. If `delimiters` is `null`, glob match without delimiter.","name":"delimiters","type":"any<null, array[string]>"},{"description":"string to match against `pattern`","name":"match","type":"string"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Parses and matches strings against the glob notation. Not to be confused with `regex.globs_match`.","implementations":{},"introduced":"v0.17.0","result":{"description":"true if `match` can be found in `pattern` which is separated by `delimiters`","name":"result","type":"boolean"},"wasm":true},"glob.quote_meta":{"args":[{"description":"glob pattern","name":"pattern","type":"string"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Returns a string which represents a version of the pattern where all asterisks have been escaped.","implementations":{},"introduced":"v0.17.0","result":{"description":"the escaped string of `pattern`","name":"output","type":"string"},"wasm":false},"graph.reachable":{"args":[{"description":"object containing a set or array of neighboring vertices","name":"graph","type":"object[any: any<array[any], set[any]>]"},{"description":"set or array of root vertices","name":"initial","type":"any<array[any], set[any]>"}],"available":["v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Computes the set of reachable nodes in the graph from a set of starting nodes.","implementations":{"java":"0.4.0"},"introduced":"v0.20.0","result":{"description":"set of vertices reachable from the `initial` vertices in the directed `graph`","name":"output","type":"set[any]"},"wasm":true},"graph.reachable_paths":{"args":[{"description":"object containing a set or array of root vertices","name":"graph","type":"object[any: any<array[any], set[any]>]"},{"description":"initial paths","name":"initial","type":"any<array[any], set[any]>"}],"available":["v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Computes the set of reachable paths in the graph from a set of starting nodes.","implementations":{"java":"0.4.0"},"introduced":"v0.37.0","result":{"description":"paths reachable from the `initial` vertices in the directed `graph`","name":"output","type":"set[array[any]]"},"wasm":false},"graphql.is_valid":{"args":[{"description":"the GraphQL query","name":"query","type":"any<string, object[any: any]>"},{"description":"the GraphQL schema","name":"schema","type":"any<string, object[any: any]>"}],"available":["v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Checks that a GraphQL query is valid against a given schema. The query and/or schema can be either GraphQL strings or AST objects from the other GraphQL builtin functions.","implementations":{},"introduced":"v0.41.0","result":{"description":"`true` if the query is valid under the given schema. `false` otherwise.","name":"output","type":"boolean"},"wasm":false},"graphql.parse":{"args":[{"description":"the GraphQL query","name":"query","type":"any<string, object[any: any]>"},{"description":"the GraphQL schema","name":"schema","type":"any<string, object[any: any]>"}],"available":["v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Returns AST objects for a given GraphQL query and schema after validating the query against the schema. Returns undefined if errors were encountered during parsing or validation. The query and/or schema can be either GraphQL strings or AST objects from the other GraphQL builtin functions.","implementations":{},"introduced":"v0.41.0","result":{"description":"`output` is of the form `[query_ast, schema_ast]`. If the GraphQL query is valid given the provided schema, then `query_ast` and `schema_ast` are objects describing the ASTs for the query and schema.","name":"output","type":"array<object[any: any], object[any: any]>"},"wasm":false},"graphql.parse_and_verify":{"args":[{"description":"the GraphQL query","name":"query","type":"any<string, object[any: any]>"},{"description":"the GraphQL schema","name":"schema","type":"any<string, object[any: any]>"}],"available":["v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Returns a boolean indicating success or failure alongside the parsed ASTs for a given GraphQL query and schema after validating the query against the schema. The query and/or schema can be either GraphQL strings or AST objects from the other GraphQL builtin functions.","implementations":{},"introduced":"v0.41.0","result":{"description":" `output` is of the form `[valid, query_ast, schema_ast]`. If the query is valid given the provided schema, then `valid` is `true`, and `query_ast` and `schema_ast` are objects describing the ASTs for the GraphQL query and schema. Otherwise, `valid` is `false` and `query_ast` and `schema_ast` are `{}`.","name":"output","type":"array<boolean, object[any: any], object[any: any]>"},"wasm":false},"graphql.parse_query":{"args":[{"description":"GraphQL query string","name":"query","type":"string"}],"available":["v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Returns an AST object for a GraphQL query.","implementations":{},"introduced":"v0.41.0","result":{"description":"AST object for the GraphQL query.","name":"output","type":"object[any: any]"},"wasm":false},"graphql.parse_schema":{"args":[{"description":"GraphQL schema string","name":"schema","type":"string"}],"available":["v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Returns an AST object for a GraphQL schema.","implementations":{},"introduced":"v0.41.0","result":{"description":"AST object for the GraphQL schema.","name":"output","type":"object[any: any]"},"wasm":false},"graphql.schema_is_valid":{"args":[{"description":"the schema to verify","name":"schema","type":"any<string, object[any: any]>"}],"available":["v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Checks that the input is a valid GraphQL schema. The schema can be either a GraphQL string or an AST object from the other GraphQL builtin functions.","implementations":{},"introduced":"v0.46.0","result":{"description":"`true` if the schema is a valid GraphQL schema. `false` otherwise.","name":"output","type":"boolean"},"wasm":false},"gt":{"args":[{"name":"x","type":"any"},{"name":"y","type":"any"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"implementations":{"java":"0.1.0","swift":"0.0.1"},"infix":">","introduced":"v0.17.0","result":{"description":"true if `x` is greater than `y`; false otherwise","name":"result","type":"boolean"},"wasm":true},"gte":{"args":[{"name":"x","type":"any"},{"name":"y","type":"any"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"implementations":{"java":"0.1.0","swift":"0.0.1"},"infix":">=","introduced":"v0.17.0","result":{"description":"true if `x` is greater or equal to `y`; false otherwise","name":"result","type":"boolean"},"wasm":true},"hex.decode":{"args":[{"description":"a hex-encoded string","name":"x","type":"string"}],"available":["v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Deserializes the hex-encoded input string.","implementations":{"java":"0.1.0","swift":"0.0.1"},"introduced":"v0.25.0-rc2","result":{"description":"deserialized from `x`","name":"y","type":"string"},"wasm":false},"hex.encode":{"args":[{"description":"string to encode","name":"x","type":"string"}],"available":["v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Serializes the input string using hex-encoding.","implementations":{"java":"0.1.0","swift":"0.0.1"},"introduced":"v0.25.0-rc2","result":{"description":"serialization of `x` using hex-encoding","name":"y","type":"string"},"wasm":false},"http.send":{"args":[{"description":"the HTTP request object","name":"request","type":"object[string: any]"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Returns a HTTP response to the given HTTP request.","implementations":{},"introduced":"v0.17.0","result":{"description":"the HTTP response object","name":"response","type":"object[any: any]"},"wasm":false},"indexof":{"args":[{"description":"string to search in","name":"haystack","type":"string"},{"description":"substring to look for","name":"needle","type":"string"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Returns the index of a substring contained inside a string.","implementations":{"java":"0.1.0","swift":"0.0.1"},"introduced":"v0.17.0","result":{"description":"index of first occurrence, `-1` if not found","name":"output","type":"number"},"wasm":true},"indexof_n":{"args":[{"description":"string to search in","name":"haystack","type":"string"},{"description":"substring to look for","name":"needle","type":"string"}],"available":["v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Returns a list of all the indexes of a substring contained inside a string.","implementations":{"java":"0.1.0","swift":"0.0.1"},"introduced":"v0.37.0","result":{"description":"all indices at which `needle` occurs in `haystack`, may be empty","name":"output","type":"array[number]"},"wasm":false},"internal.member_2":{"args":[{"type":"any"},{"type":"any"}],"available":["v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"implementations":{"java":"0.1.0","swift":"0.0.1"},"infix":"in","introduced":"v0.34.0","result":{"type":"boolean"},"wasm":true},"internal.member_3":{"args":[{"type":"any"},{"type":"any"},{"type":"any"}],"available":["v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"implementations":{"java":"0.3.0","swift":"0.0.1"},"infix":"in","introduced":"v0.34.0","result":{"type":"boolean"},"wasm":true},"internal.print":{"args":[{"type":"array[set[any]]"}],"available":["v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"implementations":{"java":"0.1.0"},"introduced":"v0.34.0","result":{},"wasm":false},"internal.template_string":{"args":[{"type":"array[any]"}],"available":["v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"implementations":{"swift":"0.0.1"},"introduced":"v1.12.0","result":{"type":"string"},"wasm":true},"internal.test_case":{"args":[{"type":"array[any]"}],"available":["v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.0","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"implementations":{},"introduced":"v1.2.0","result":{},"wasm":false},"intersection":{"args":[{"description":"set of sets to intersect","name":"xs","type":"set[set[any]]"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Returns the intersection of the given input sets.","implementations":{"java":"0.1.0","swift":"0.0.1"},"introduced":"v0.17.0","result":{"description":"the intersection of all `xs` sets","name":"y","type":"set[any]"},"wasm":true},"io.jwt.decode":{"args":[{"description":"JWT token to decode","name":"jwt","type":"string"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Decodes a JSON Web Token and outputs it as an object.","implementations":{"java":"0.1.0"},"introduced":"v0.17.0","result":{"description":"`[header, payload, sig]`, where `header` and `payload` are objects; `sig` is the hexadecimal representation of the signature on the token.","name":"output","type":"array<object[any: any], object[any: any], string>"},"wasm":false},"io.jwt.decode_verify":{"args":[{"description":"JWT token whose signature is to be verified and whose claims are to be checked","name":"jwt","type":"string"},{"description":"claim verification constraints","name":"constraints","type":"object[string: any]"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Verifies a JWT signature under parameterized constraints and decodes the claims if it is valid.\\nSupports the following algorithms: HS256, HS384, HS512, RS256, RS384, RS512, ES256, ES384, ES512, PS256, PS384, PS512, and EdDSA.","implementations":{"java":"0.1.0"},"introduced":"v0.17.0","result":{"description":"`[valid, header, payload]`: if the input token is verified and meets the requirements of `constraints` then `valid` is `true`; `header` and `payload` are objects containing the JOSE header and the JWT claim set; otherwise, `valid` is `false`, `header` and `payload` are `{}`","name":"output","type":"array<boolean, object[any: any], object[any: any]>"},"wasm":false},"io.jwt.encode_sign":{"args":[{"description":"JWS Protected Header","name":"headers","type":"object[string: any]"},{"description":"JWS Payload","name":"payload","type":"object[string: any]"},{"description":"JSON Web Key (RFC7517)","name":"key","type":"object[string: any]"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Encodes and optionally signs a JSON Web Token. Inputs are taken as objects, not encoded strings (see `io.jwt.encode_sign_raw`).","implementations":{"java":"0.1.0"},"introduced":"v0.17.0","result":{"description":"signed JWT","name":"output","type":"string"},"wasm":false},"io.jwt.encode_sign_raw":{"args":[{"description":"JWS Protected Header","name":"headers","type":"string"},{"description":"JWS Payload","name":"payload","type":"string"},{"description":"JSON Web Key (RFC7517)","name":"key","type":"string"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Encodes and optionally signs a JSON Web Token.","implementations":{"java":"0.1.0"},"introduced":"v0.17.0","result":{"description":"signed JWT","name":"output","type":"string"},"wasm":false},"io.jwt.verify_eddsa":{"args":[{"description":"JWT token whose signature is to be verified","name":"jwt","type":"string"},{"description":"PEM encoded certificate, PEM encoded public key, or the JWK key (set) used to verify the signature","name":"certificate","type":"string"}],"available":["v1.8.0","v1.9.0","v1.10.0","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Verifies if an EdDSA JWT signature is valid.","implementations":{"java":"0.4.0"},"introduced":"v1.8.0","result":{"description":"`true` if the signature is valid, `false` otherwise","name":"result","type":"boolean"},"wasm":false},"io.jwt.verify_es256":{"args":[{"description":"JWT token whose signature is to be verified","name":"jwt","type":"string"},{"description":"PEM encoded certificate, PEM encoded public key, or the JWK key (set) used to verify the signature","name":"certificate","type":"string"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Verifies if a ES256 JWT signature is valid.","implementations":{"java":"0.1.0"},"introduced":"v0.17.0","result":{"description":"`true` if the signature is valid, `false` otherwise","name":"result","type":"boolean"},"wasm":false},"io.jwt.verify_es384":{"args":[{"description":"JWT token whose signature is to be verified","name":"jwt","type":"string"},{"description":"PEM encoded certificate, PEM encoded public key, or the JWK key (set) used to verify the signature","name":"certificate","type":"string"}],"available":["v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Verifies if a ES384 JWT signature is valid.","implementations":{"java":"0.1.0"},"introduced":"v0.20.0","result":{"description":"`true` if the signature is valid, `false` otherwise","name":"result","type":"boolean"},"wasm":false},"io.jwt.verify_es512":{"args":[{"description":"JWT token whose signature is to be verified","name":"jwt","type":"string"},{"description":"PEM encoded certificate, PEM encoded public key, or the JWK key (set) used to verify the signature","name":"certificate","type":"string"}],"available":["v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Verifies if a ES512 JWT signature is valid.","implementations":{"java":"0.1.0"},"introduced":"v0.20.0","result":{"description":"`true` if the signature is valid, `false` otherwise","name":"result","type":"boolean"},"wasm":false},"io.jwt.verify_hs256":{"args":[{"description":"JWT token whose signature is to be verified","name":"jwt","type":"string"},{"description":"plain text secret used to verify the signature","name":"secret","type":"string"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Verifies if a HS256 (secret) JWT signature is valid.","implementations":{"java":"0.1.0"},"introduced":"v0.17.0","result":{"description":"`true` if the signature is valid, `false` otherwise","name":"result","type":"boolean"},"wasm":false},"io.jwt.verify_hs384":{"args":[{"description":"JWT token whose signature is to be verified","name":"jwt","type":"string"},{"description":"plain text secret used to verify the signature","name":"secret","type":"string"}],"available":["v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Verifies if a HS384 (secret) JWT signature is valid.","implementations":{"java":"0.1.0"},"introduced":"v0.20.0","result":{"description":"`true` if the signature is valid, `false` otherwise","name":"result","type":"boolean"},"wasm":false},"io.jwt.verify_hs512":{"args":[{"description":"JWT token whose signature is to be verified","name":"jwt","type":"string"},{"description":"plain text secret used to verify the signature","name":"secret","type":"string"}],"available":["v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Verifies if a HS512 (secret) JWT signature is valid.","implementations":{"java":"0.1.0"},"introduced":"v0.20.0","result":{"description":"`true` if the signature is valid, `false` otherwise","name":"result","type":"boolean"},"wasm":false},"io.jwt.verify_ps256":{"args":[{"description":"JWT token whose signature is to be verified","name":"jwt","type":"string"},{"description":"PEM encoded certificate, PEM encoded public key, or the JWK key (set) used to verify the signature","name":"certificate","type":"string"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Verifies if a PS256 JWT signature is valid.","implementations":{"java":"0.1.0"},"introduced":"v0.17.0","result":{"description":"`true` if the signature is valid, `false` otherwise","name":"result","type":"boolean"},"wasm":false},"io.jwt.verify_ps384":{"args":[{"description":"JWT token whose signature is to be verified","name":"jwt","type":"string"},{"description":"PEM encoded certificate, PEM encoded public key, or the JWK key (set) used to verify the signature","name":"certificate","type":"string"}],"available":["v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Verifies if a PS384 JWT signature is valid.","implementations":{"java":"0.1.0"},"introduced":"v0.20.0","result":{"description":"`true` if the signature is valid, `false` otherwise","name":"result","type":"boolean"},"wasm":false},"io.jwt.verify_ps512":{"args":[{"description":"JWT token whose signature is to be verified","name":"jwt","type":"string"},{"description":"PEM encoded certificate, PEM encoded public key, or the JWK key (set) used to verify the signature","name":"certificate","type":"string"}],"available":["v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Verifies if a PS512 JWT signature is valid.","implementations":{"java":"0.1.0"},"introduced":"v0.20.0","result":{"description":"`true` if the signature is valid, `false` otherwise","name":"result","type":"boolean"},"wasm":false},"io.jwt.verify_rs256":{"args":[{"description":"JWT token whose signature is to be verified","name":"jwt","type":"string"},{"description":"PEM encoded certificate, PEM encoded public key, or the JWK key (set) used to verify the signature","name":"certificate","type":"string"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Verifies if a RS256 JWT signature is valid.","implementations":{"java":"0.1.0"},"introduced":"v0.17.0","result":{"description":"`true` if the signature is valid, `false` otherwise","name":"result","type":"boolean"},"wasm":false},"io.jwt.verify_rs384":{"args":[{"description":"JWT token whose signature is to be verified","name":"jwt","type":"string"},{"description":"PEM encoded certificate, PEM encoded public key, or the JWK key (set) used to verify the signature","name":"certificate","type":"string"}],"available":["v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Verifies if a RS384 JWT signature is valid.","implementations":{"java":"0.1.0"},"introduced":"v0.20.0","result":{"description":"`true` if the signature is valid, `false` otherwise","name":"result","type":"boolean"},"wasm":false},"io.jwt.verify_rs512":{"args":[{"description":"JWT token whose signature is to be verified","name":"jwt","type":"string"},{"description":"PEM encoded certificate, PEM encoded public key, or the JWK key (set) used to verify the signature","name":"certificate","type":"string"}],"available":["v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Verifies if a RS512 JWT signature is valid.","implementations":{"java":"0.1.0"},"introduced":"v0.20.0","result":{"description":"`true` if the signature is valid, `false` otherwise","name":"result","type":"boolean"},"wasm":false},"is_array":{"args":[{"description":"input value","name":"x","type":"any"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Returns `true` if the input value is an array.","implementations":{"java":"0.1.0","swift":"0.0.1"},"introduced":"v0.17.0","result":{"description":"`true` if `x` is an array, `false` otherwise.","name":"result","type":"boolean"},"wasm":true},"is_boolean":{"args":[{"description":"input value","name":"x","type":"any"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Returns `true` if the input value is a boolean.","implementations":{"java":"0.1.0","swift":"0.0.1"},"introduced":"v0.17.0","result":{"description":"`true` if `x` is an boolean, `false` otherwise.","name":"result","type":"boolean"},"wasm":true},"is_null":{"args":[{"description":"input value","name":"x","type":"any"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Returns `true` if the input value is null.","implementations":{"java":"0.1.0","swift":"0.0.1"},"introduced":"v0.17.0","result":{"description":"`true` if `x` is null, `false` otherwise.","name":"result","type":"boolean"},"wasm":true},"is_number":{"args":[{"description":"input value","name":"x","type":"any"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Returns `true` if the input value is a number.","implementations":{"java":"0.1.0","swift":"0.0.1"},"introduced":"v0.17.0","result":{"description":"`true` if `x` is a number, `false` otherwise.","name":"result","type":"boolean"},"wasm":true},"is_object":{"args":[{"description":"input value","name":"x","type":"any"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Returns true if the input value is an object","implementations":{"java":"0.1.0","swift":"0.0.1"},"introduced":"v0.17.0","result":{"description":"`true` if `x` is an object, `false` otherwise.","name":"result","type":"boolean"},"wasm":true},"is_set":{"args":[{"description":"input value","name":"x","type":"any"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Returns `true` if the input value is a set.","implementations":{"java":"0.1.0","swift":"0.0.1"},"introduced":"v0.17.0","result":{"description":"`true` if `x` is a set, `false` otherwise.","name":"result","type":"boolean"},"wasm":true},"is_string":{"args":[{"description":"input value","name":"x","type":"any"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Returns `true` if the input value is a string.","implementations":{"java":"0.1.0","swift":"0.0.1"},"introduced":"v0.17.0","result":{"description":"`true` if `x` is a string, `false` otherwise.","name":"result","type":"boolean"},"wasm":true},"json.filter":{"args":[{"description":"object to filter","name":"object","type":"object[any: any]"},{"description":"JSON string paths","name":"paths","type":"any<array[any<string, array[any]>], set[any<string, array[any]>]>"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Filters the object. For example: `json.filter({\\"a\\": {\\"b\\": \\"x\\", \\"c\\": \\"y\\"}}, [\\"a/b\\"])` will result in `{\\"a\\": {\\"b\\": \\"x\\"}}`). Paths are not filtered in-order and are deduplicated before being evaluated.","implementations":{"java":"0.4.0","swift":"0.0.10"},"introduced":"v0.17.0","result":{"description":"remaining data from `object` with only keys specified in `paths`","name":"filtered","type":"object[any: any]"},"wasm":true},"json.is_valid":{"args":[{"description":"a JSON string","name":"x","type":"string"}],"available":["v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Verifies the input string is a valid JSON document.","implementations":{"java":"0.4.0","swift":"0.0.1"},"introduced":"v0.25.0-rc1","result":{"description":"`true` if `x` is valid JSON, `false` otherwise","name":"result","type":"boolean"},"wasm":true},"json.marshal":{"args":[{"description":"the term to serialize","name":"x","type":"any"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Serializes the input term to JSON.","implementations":{"java":"0.4.0","swift":"0.0.1"},"introduced":"v0.17.0","result":{"description":"the JSON string representation of `x`","name":"y","type":"string"},"wasm":true},"json.marshal_with_options":{"args":[{"description":"the term to serialize","name":"x","type":"any"},{"description":"encoding options","name":"opts","type":"object<indent: string, prefix: string, pretty: boolean>[string: any]"}],"available":["v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.0","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Serializes the input term JSON, with additional formatting options via the `opts` parameter. `opts` accepts keys `pretty` (enable multi-line/formatted JSON), `prefix` (string to prefix lines with, default empty string) and `indent` (string to indent with, default `\\\\t`).","implementations":{"java":"0.4.0","swift":"0.0.6"},"introduced":"v0.64.0","result":{"description":"the JSON string representation of `x`, with configured prefix/indent string(s) as appropriate","name":"y","type":"string"},"wasm":false},"json.match_schema":{"args":[{"description":"document to verify by schema","name":"document","type":"any<string, object[any: any]>"},{"description":"schema to verify document by","name":"schema","type":"any<string, object[any: any]>"}],"available":["v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Checks that the document matches the JSON schema. The `pattern` keyword is enforced using Go\'s RE2 regex dialect; schemas relying on ECMA-262 features that RE2 does not support (e.g. negative lookahead) will be rejected.","implementations":{"java":"0.4.0"},"introduced":"v0.50.0","result":{"description":"`output` is of the form `[match, errors]`. If the document is valid given the schema, then `match` is `true`, and `errors` is an empty array. Otherwise, `match` is `false` and `errors` is an array of objects describing the error(s).","name":"output","type":"array<boolean, array[object<desc: string, error: string, field: string, type: string>]>"},"wasm":false},"json.patch":{"args":[{"description":"the object, array or set to patch","name":"target","type":"any"},{"description":"the JSON patches to apply","name":"patches","type":"array[object<op: string, path: any>[any: any]]"}],"available":["v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Patches an object according to RFC6902. For example: `json.patch({\\"a\\": {\\"foo\\": 1}}, [{\\"op\\": \\"add\\", \\"path\\": \\"/a/bar\\", \\"value\\": 2}])` results in `{\\"a\\": {\\"foo\\": 1, \\"bar\\": 2}`. The patches are applied atomically: if any of them fails, the result will be undefined. Additionally works on sets, where a value contained in the set is considered to be its path.","implementations":{"java":"0.4.0","swift":"0.0.10"},"introduced":"v0.25.0","result":{"description":"result obtained after consecutively applying all patch operations in `patches`","name":"output","type":"any"},"wasm":false},"json.remove":{"args":[{"description":"object to remove paths from","name":"object","type":"object[any: any]"},{"description":"JSON string paths","name":"paths","type":"any<array[any<string, array[any]>], set[any<string, array[any]>]>"}],"available":["v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Removes paths from an object. For example: `json.remove({\\"a\\": {\\"b\\": \\"x\\", \\"c\\": \\"y\\"}}, [\\"a/b\\"])` will result in `{\\"a\\": {\\"c\\": \\"y\\"}}`. Paths are not removed in-order and are deduplicated before being evaluated.","implementations":{"java":"0.4.0","swift":"0.0.10"},"introduced":"v0.18.0","result":{"description":"result of removing all keys specified in `paths`","name":"output","type":"object[any: any]"},"wasm":true},"json.unmarshal":{"args":[{"description":"a JSON string","name":"x","type":"string"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Deserializes the input string.","implementations":{"java":"0.4.0","swift":"0.0.1"},"introduced":"v0.17.0","result":{"description":"the term deserialized from `x`","name":"y","type":"any"},"wasm":true},"json.verify_schema":{"args":[{"description":"the schema to verify","name":"schema","type":"any<string, object[any: any]>"}],"available":["v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Checks that the input is a valid JSON schema object. The schema can be either a JSON string or an JSON object. The `pattern` keyword, if present, is compiled using Go\'s RE2 regex dialect; schemas relying on ECMA-262 features that RE2 does not support (e.g. negative lookahead) will be rejected.","implementations":{"java":"0.4.0"},"introduced":"v0.50.0","result":{"description":"`output` is of the form `[valid, error]`. If the schema is valid, then `valid` is `true`, and `error` is `null`. Otherwise, `valid` is `false` and `error` is a string describing the error.","name":"output","type":"array<boolean, any<null, string>>"},"wasm":false},"lower":{"args":[{"description":"string that is converted to lower-case","name":"x","type":"string"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Returns the input string but with all characters in lower-case.","implementations":{"java":"0.1.0","swift":"0.0.1"},"introduced":"v0.17.0","result":{"description":"lower-case of x","name":"y","type":"string"},"wasm":true},"lt":{"args":[{"name":"x","type":"any"},{"name":"y","type":"any"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"implementations":{"java":"0.1.0","swift":"0.0.1"},"infix":"<","introduced":"v0.17.0","result":{"description":"true if `x` is less than `y`; false otherwise","name":"result","type":"boolean"},"wasm":true},"lte":{"args":[{"name":"x","type":"any"},{"name":"y","type":"any"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"implementations":{"java":"0.1.0","swift":"0.0.1"},"infix":"<=","introduced":"v0.17.0","result":{"description":"true if `x` is less than or equal to `y`; false otherwise","name":"result","type":"boolean"},"wasm":true},"max":{"args":[{"description":"the set or array to be searched","name":"collection","type":"any<array[any], set[any]>"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Returns the maximum value in a collection.","implementations":{"java":"0.1.0","swift":"0.0.1"},"introduced":"v0.17.0","result":{"description":"the maximum of all elements","name":"n","type":"any"},"wasm":true},"min":{"args":[{"description":"the set or array to be searched","name":"collection","type":"any<array[any], set[any]>"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Returns the minimum value in a collection.","implementations":{"java":"0.1.0","swift":"0.0.1"},"introduced":"v0.17.0","result":{"description":"the minimum of all elements","name":"n","type":"any"},"wasm":true},"minus":{"args":[{"name":"x","type":"any<number, set[any]>"},{"name":"y","type":"any<number, set[any]>"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Minus subtracts the second number from the first number or computes the difference between two sets.","implementations":{"java":"0.1.0","swift":"0.0.1"},"infix":"-","introduced":"v0.17.0","result":{"description":"the difference of `x` and `y`","name":"z","type":"any<number, set[any]>"},"wasm":true},"mul":{"args":[{"name":"x","type":"number"},{"name":"y","type":"number"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Multiplies two numbers.","implementations":{"java":"0.1.0","swift":"0.0.1"},"infix":"*","introduced":"v0.17.0","result":{"description":"the product of `x` and `y`","name":"z","type":"number"},"wasm":true},"neq":{"args":[{"name":"x","type":"any"},{"name":"y","type":"any"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"implementations":{"java":"0.1.0","swift":"0.0.1"},"infix":"!=","introduced":"v0.17.0","result":{"description":"true if `x` is not equal to `y`; false otherwise","name":"result","type":"boolean"},"wasm":true},"net.cidr_contains":{"args":[{"description":"CIDR to check against","name":"cidr","type":"string"},{"description":"CIDR or IP to check","name":"cidr_or_ip","type":"string"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Checks if a CIDR or IP is contained within another CIDR. `output` is `true` if `cidr_or_ip` (e.g. `127.0.0.64/26` or `127.0.0.1`) is contained within `cidr` (e.g. `127.0.0.1/24`) and `false` otherwise. Supports both IPv4 and IPv6 notations.","implementations":{"java":"0.4.0"},"introduced":"v0.17.0","result":{"description":"`true` if `cidr_or_ip` is contained within `cidr`","name":"result","type":"boolean"},"wasm":true},"net.cidr_contains_matches":{"args":[{"description":"CIDRs to check against","name":"cidrs","type":"any<string, array[any<string, array[any]>], object[string: any<string, array[any]>], set[any<string, array[any]>]>"},{"description":"CIDRs or IPs to check","name":"cidrs_or_ips","type":"any<string, array[any<string, array[any]>], object[string: any<string, array[any]>], set[any<string, array[any]>]>"}],"available":["v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Checks if collections of cidrs or ips are contained within another collection of cidrs and returns matches. This function is similar to `net.cidr_contains` except it allows callers to pass collections of CIDRs or IPs as arguments and returns the matches (as opposed to a boolean result indicating a match between two CIDRs/IPs).","implementations":{"java":"0.4.0"},"introduced":"v0.19.0-rc1","result":{"description":"tuples identifying matches where `cidrs_or_ips` are contained within `cidrs`","name":"output","type":"set[array<any, any>]"},"wasm":false},"net.cidr_expand":{"args":[{"description":"CIDR to expand","name":"cidr","type":"string"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Expands CIDR to set of hosts (e.g., `net.cidr_expand(\\"192.168.0.0/30\\")` generates 4 hosts: `{\\"192.168.0.0\\", \\"192.168.0.1\\", \\"192.168.0.2\\", \\"192.168.0.3\\"}`).","implementations":{"java":"0.4.0"},"introduced":"v0.17.0","result":{"description":"set of IP addresses the CIDR `cidr` expands to","name":"hosts","type":"set[string]"},"wasm":false},"net.cidr_intersects":{"args":[{"description":"first CIDR","name":"cidr1","type":"string"},{"description":"second CIDR","name":"cidr2","type":"string"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Checks if a CIDR intersects with another CIDR (e.g. `192.168.0.0/16` overlaps with `192.168.1.0/24`). Supports both IPv4 and IPv6 notations.","implementations":{"java":"0.4.0"},"introduced":"v0.17.0","result":{"description":"`true` if `cidr1` intersects with `cidr2`","name":"result","type":"boolean"},"wasm":true},"net.cidr_is_valid":{"args":[{"description":"CIDR to validate","name":"cidr","type":"string"}],"available":["v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Parses an IPv4/IPv6 CIDR and returns a boolean indicating if the provided CIDR is valid.","implementations":{"java":"0.4.0"},"introduced":"v0.46.0","result":{"description":"`true` if `cidr` is a valid CIDR","name":"result","type":"boolean"},"wasm":false},"net.cidr_merge":{"args":[{"description":"CIDRs or IP addresses","name":"addrs","type":"any<array[any<string>], set[string]>"}],"available":["v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Merges IP addresses and subnets into the smallest possible list of CIDRs (e.g., `net.cidr_merge([\\"192.0.128.0/24\\", \\"192.0.129.0/24\\"])` generates `{\\"192.0.128.0/23\\"}`.This function merges adjacent subnets where possible, those contained within others and also removes any duplicates.\\nSupports both IPv4 and IPv6 notations. IPv6 inputs need a prefix length (e.g. \\"/128\\").","implementations":{"java":"0.4.0"},"introduced":"v0.24.0","result":{"description":"smallest possible set of CIDRs obtained after merging the provided list of IP addresses and subnets in `addrs`","name":"output","type":"set[string]"},"wasm":false},"net.cidr_overlap":{"args":[{"type":"string"},{"type":"string"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"deprecated":true,"implementations":{},"introduced":"v0.17.0","result":{"type":"boolean"},"wasm":true},"net.lookup_ip_addr":{"args":[{"description":"domain name to resolve","name":"name","type":"string"}],"available":["v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Returns the set of IP addresses (both v4 and v6) that the passed-in `name` resolves to using the standard name resolution mechanisms available.","implementations":{"java":"0.4.0"},"introduced":"v0.35.0","result":{"description":"IP addresses (v4 and v6) that `name` resolves to","name":"addrs","type":"set[string]"},"wasm":false},"numbers.range":{"args":[{"description":"the start of the range","name":"a","type":"number"},{"description":"the end of the range (inclusive)","name":"b","type":"number"}],"available":["v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Returns an array of numbers in the given (inclusive) range. If `a==b`, then `range == [a]`; if `a > b`, then `range` is in descending order.","implementations":{"java":"0.1.0","swift":"0.0.1"},"introduced":"v0.22.0","result":{"description":"the range between `a` and `b`","name":"range","type":"array[number]"},"wasm":true},"numbers.range_step":{"args":[{"description":"the start of the range","name":"a","type":"number"},{"description":"the end of the range (inclusive)","name":"b","type":"number"},{"description":"the step between numbers in the range","name":"step","type":"number"}],"available":["v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Returns an array of numbers in the given (inclusive) range incremented by a positive step.\\n\\tIf \\"a==b\\", then \\"range == [a]\\"; if \\"a > b\\", then \\"range\\" is in descending order.\\n\\tIf the provided \\"step\\" is less then 1, an error will be thrown.\\n\\tIf \\"b\\" is not in the range of the provided \\"step\\", \\"b\\" won\'t be included in the result.\\n\\t","implementations":{"java":"0.1.0","swift":"0.0.1"},"introduced":"v0.56.0","result":{"description":"the range between `a` and `b` in `step` increments","name":"range","type":"array[number]"},"wasm":false},"object.filter":{"args":[{"description":"object to filter keys","name":"object","type":"object[any: any]"},{"description":"keys to keep in `object`","name":"keys","type":"any<array[any], object[any: any], set[any]>"}],"available":["v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Filters the object by keeping only specified keys. For example: `object.filter({\\"a\\": {\\"b\\": \\"x\\", \\"c\\": \\"y\\"}, \\"d\\": \\"z\\"}, [\\"a\\"])` will result in `{\\"a\\": {\\"b\\": \\"x\\", \\"c\\": \\"y\\"}}`).","implementations":{"java":"0.1.0","swift":"0.0.9"},"introduced":"v0.17.2","result":{"description":"remaining data from `object` with only keys specified in `keys`","name":"filtered","type":"object[any: any]"},"wasm":true},"object.get":{"args":[{"description":"object to get `key` from","name":"object","type":"object[any: any]"},{"description":"key to lookup in `object`","name":"key","type":"any"},{"description":"default to use when lookup fails","name":"default","type":"any"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Returns value of an object\'s key if present, otherwise a default. If the supplied `key` is an `array`, then `object.get` will search through a nested object or array using each key in turn. For example: `object.get({\\"a\\": [{ \\"b\\": true }]}, [\\"a\\", 0, \\"b\\"], false)` results in `true`.","implementations":{"java":"0.1.0","swift":"0.0.1"},"introduced":"v0.17.0","result":{"description":"`object[key]` if present, otherwise `default`","name":"value","type":"any"},"wasm":true},"object.keys":{"args":[{"description":"object to get keys from","name":"object","type":"object[any: any]"}],"available":["v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Returns a set of an object\'s keys. For example: `object.keys({\\"a\\": 1, \\"b\\": true, \\"c\\": \\"d\\")` results in `{\\"a\\", \\"b\\", \\"c\\"}`.","implementations":{"java":"0.1.0","swift":"0.0.1"},"introduced":"v0.47.0","result":{"description":"set of `object`\'s keys","name":"value","type":"set[any]"},"wasm":true},"object.remove":{"args":[{"description":"object to remove keys from","name":"object","type":"object[any: any]"},{"description":"keys to remove from x","name":"keys","type":"any<array[any], object[any: any], set[any]>"}],"available":["v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Removes specified keys from an object.","implementations":{"java":"0.1.0","swift":"0.0.9"},"introduced":"v0.17.2","result":{"description":"result of removing the specified `keys` from `object`","name":"output","type":"object[any: any]"},"wasm":true},"object.subset":{"args":[{"description":"object to test if sub is a subset of","name":"super","type":"any<array[any], object[any: any], set[any]>"},{"description":"object to test if super is a superset of","name":"sub","type":"any<array[any], object[any: any], set[any]>"}],"available":["v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Determines if an object `sub` is a subset of another object `super`.Object `sub` is a subset of object `super` if and only if every key in `sub` is also in `super`, **and** for all keys which `sub` and `super` share, they have the same value. This function works with objects, sets, arrays and a set of array and set.If both arguments are objects, then the operation is recursive, e.g. `{\\"c\\": {\\"x\\": {10, 15, 20}}` is a subset of `{\\"a\\": \\"b\\", \\"c\\": {\\"x\\": {10, 15, 20, 25}, \\"y\\": \\"z\\"}`. If both arguments are sets, then this function checks if every element of `sub` is a member of `super`, but does not attempt to recurse. If both arguments are arrays, then this function checks if `sub` appears contiguously in order within `super`, and also does not attempt to recurse. If `super` is array and `sub` is set, then this function checks if `super` contains every element of `sub` with no consideration of ordering, and also does not attempt to recurse.","implementations":{"java":"0.1.0","swift":"0.0.9"},"introduced":"v0.42.0","result":{"description":"`true` if `sub` is a subset of `super`, otherwise undefined","name":"result","type":"boolean"},"wasm":false},"object.union":{"args":[{"description":"left-hand object","name":"a","type":"object[any: any]"},{"description":"right-hand object","name":"b","type":"object[any: any]"}],"available":["v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Creates a new object of the asymmetric union of two objects. For example: `object.union({\\"a\\": 1, \\"b\\": 2, \\"c\\": {\\"d\\": 3}}, {\\"a\\": 7, \\"c\\": {\\"d\\": 4, \\"e\\": 5}})` will result in `{\\"a\\": 7, \\"b\\": 2, \\"c\\": {\\"d\\": 4, \\"e\\": 5}}`.","implementations":{"java":"0.1.0","swift":"0.0.1"},"introduced":"v0.17.2","result":{"description":"a new object which is the result of an asymmetric recursive union of two objects where conflicts are resolved by choosing the key from the right-hand object `b`","name":"output","type":"object[any: any]"},"wasm":true},"object.union_n":{"args":[{"description":"list of objects to merge","name":"objects","type":"array[object[any: any]]"}],"available":["v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Creates a new object that is the asymmetric union of all objects merged from left to right. For example: `object.union_n([{\\"a\\": 1}, {\\"b\\": 2}, {\\"a\\": 3}])` will result in `{\\"b\\": 2, \\"a\\": 3}`.","implementations":{"java":"0.1.0","swift":"0.0.1"},"introduced":"v0.37.0","result":{"description":"asymmetric recursive union of all objects in `objects`, merged from left to right, where conflicts are resolved by choosing the key from the right-hand object","name":"output","type":"object[any: any]"},"wasm":true},"opa.runtime":{"args":[],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Returns an object that describes the runtime environment where OPA is deployed.","implementations":{"java":"0.3.0"},"introduced":"v0.17.0","result":{"description":"includes a `config` key if OPA was started with a configuration file; an `env` key containing the environment variables that the OPA process was started with; includes `version` and `commit` keys containing the version and build commit of OPA.","name":"output","type":"object[string: any]"},"wasm":false},"or":{"args":[{"name":"x","type":"set[any]"},{"name":"y","type":"set[any]"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Returns the union of two sets.","implementations":{"java":"0.1.0","swift":"0.0.1"},"infix":"|","introduced":"v0.17.0","result":{"description":"the union of `x` and `y`","name":"z","type":"set[any]"},"wasm":true},"plus":{"args":[{"name":"x","type":"number"},{"name":"y","type":"number"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Plus adds two numbers together.","implementations":{"java":"0.1.0","swift":"0.0.1"},"infix":"+","introduced":"v0.17.0","result":{"description":"the sum of `x` and `y`","name":"z","type":"number"},"wasm":true},"print":{"args":[],"available":["v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"implementations":{},"introduced":"v0.34.0","result":{},"wasm":false},"product":{"args":[{"description":"the set or array of numbers to multiply","name":"collection","type":"any<array[number], set[number]>"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Multiplies elements of an array or set of numbers","implementations":{"java":"0.1.0","swift":"0.0.1"},"introduced":"v0.17.0","result":{"description":"the product of all elements","name":"n","type":"number"},"wasm":true},"providers.aws.sign_req":{"args":[{"description":"HTTP request object","name":"request","type":"object[string: any]"},{"description":"AWS configuration object","name":"aws_config","type":"object[string: any]"},{"description":"nanoseconds since the epoch","name":"time_ns","type":"number"}],"available":["v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Signs an HTTP request object for Amazon Web Services. Currently implements [AWS Signature Version 4 request signing](https://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-authenticating-requests.html) by the `Authorization` header method.","implementations":{"java":"0.4.0"},"introduced":"v0.47.0","result":{"description":"HTTP request object with `Authorization` header","name":"signed_request","type":"object[any: any]"},"wasm":false},"rand.intn":{"args":[{"description":"seed string for the random number","name":"str","type":"string"},{"description":"upper bound of the random number (exclusive)","name":"n","type":"number"}],"available":["v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Returns a random integer between `0` and `n` (`n` exclusive). If `n` is `0`, then `y` is always `0`. For any given argument pair (`str`, `n`), the output will be consistent throughout a query evaluation.","implementations":{"java":"0.1.0","swift":"0.0.1"},"introduced":"v0.31.0","result":{"description":"random integer in the range `[0, abs(n))`","name":"y","type":"number"},"wasm":false},"re_match":{"args":[{"type":"string"},{"type":"string"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"deprecated":true,"implementations":{},"introduced":"v0.17.0","result":{"type":"boolean"},"wasm":true},"regex.find_all_string_submatch_n":{"args":[{"description":"regular expression","name":"pattern","type":"string"},{"description":"string to match","name":"value","type":"string"},{"description":"number of matches to return; `-1` means all matches","name":"number","type":"number"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Returns all successive matches of the expression.","implementations":{"java":"0.4.0","swift":"0.0.7"},"introduced":"v0.17.0","result":{"description":"array of all matches","name":"output","type":"array[array[string]]"},"wasm":true},"regex.find_n":{"args":[{"description":"regular expression","name":"pattern","type":"string"},{"description":"string to match","name":"value","type":"string"},{"description":"number of matches to return, if `-1`, returns all matches","name":"number","type":"number"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Returns the specified number of matches when matching the input against the pattern.","implementations":{"java":"0.4.0","swift":"0.0.7"},"introduced":"v0.17.0","result":{"description":"collected matches","name":"output","type":"array[string]"},"wasm":false},"regex.globs_match":{"args":[{"description":"first glob-style regular expression","name":"glob1","type":"string"},{"description":"second glob-style regular expression","name":"glob2","type":"string"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Checks if the intersection of two glob-style regular expressions matches a non-empty set of non-empty strings.\\nThe set of regex symbols is limited for this builtin: only `.`, `*`, `+`, `[`, `-`, `]` and `\\\\` are treated as special symbols.","implementations":{"java":"0.4.0"},"introduced":"v0.17.0","result":{"description":"true if the intersection of `glob1` and `glob2` matches a non-empty set of non-empty strings","name":"result","type":"boolean"},"wasm":false},"regex.is_valid":{"args":[{"description":"regular expression","name":"pattern","type":"string"}],"available":["v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Checks if a string is a valid regular expression: the detailed syntax for patterns is defined by https://github.com/google/re2/wiki/Syntax.","implementations":{"java":"0.4.0","swift":"0.0.7"},"introduced":"v0.23.0","result":{"description":"true if `pattern` is a valid regular expression","name":"result","type":"boolean"},"wasm":true},"regex.match":{"args":[{"description":"regular expression","name":"pattern","type":"string"},{"description":"value to match against `pattern`","name":"value","type":"string"}],"available":["v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Matches a string against a regular expression.","implementations":{"java":"0.4.0","swift":"0.0.7"},"introduced":"v0.23.0","result":{"description":"true if `value` matches `pattern`","name":"result","type":"boolean"},"wasm":true},"regex.replace":{"args":[{"description":"string being processed","name":"s","type":"string"},{"description":"regex pattern to be applied","name":"pattern","type":"string"},{"description":"regex value","name":"value","type":"string"}],"available":["v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Find and replaces the text using the regular expression pattern.","implementations":{"java":"0.4.0","swift":"0.0.7"},"introduced":"v0.45.0","result":{"description":"string with replaced substrings","name":"output","type":"string"},"wasm":false},"regex.split":{"args":[{"description":"regular expression","name":"pattern","type":"string"},{"description":"string to match","name":"value","type":"string"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Splits the input string by the occurrences of the given pattern.","implementations":{"java":"0.4.0","swift":"0.0.7"},"introduced":"v0.17.0","result":{"description":"the parts obtained by splitting `value`","name":"output","type":"array[string]"},"wasm":false},"regex.template_match":{"args":[{"description":"template expression containing `0..n` regular expressions","name":"template","type":"string"},{"description":"string to match","name":"value","type":"string"},{"description":"start delimiter of the regular expression in `template`","name":"delimiter_start","type":"string"},{"description":"end delimiter of the regular expression in `template`","name":"delimiter_end","type":"string"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Matches a string against a pattern, where the pattern may be glob-like","implementations":{"java":"0.4.0","swift":"0.0.7"},"introduced":"v0.17.0","result":{"description":"true if `value` matches the `template`","name":"result","type":"boolean"},"wasm":false},"rego.metadata.chain":{"args":[],"available":["v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Returns the chain of metadata for the active rule.\\nOrdered starting at the active rule, going outward to the most distant node in its package ancestry.\\nA chain entry is a JSON document with two members: \\"path\\", an array representing the path of the node; and \\"annotations\\", a JSON document containing the annotations declared for the node.\\nThe first entry in the chain always points to the active rule, even if it has no declared annotations (in which case the \\"annotations\\" member is not present).","implementations":{},"introduced":"v0.40.0","result":{"description":"each array entry represents a node in the path ancestry (chain) of the active rule that also has declared annotations","name":"chain","type":"array[any]"},"wasm":false},"rego.metadata.rule":{"args":[],"available":["v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Returns annotations declared for the active rule and using the _rule_ scope.","implementations":{},"introduced":"v0.40.0","result":{"description":"\\"rule\\" scope annotations for this rule; empty object if no annotations exist","name":"output","type":"any"},"wasm":false},"rego.parse_module":{"args":[{"description":"file name to attach to AST nodes\' locations","name":"filename","type":"string"},{"description":"Rego module","name":"rego","type":"string"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Parses the input Rego string and returns an object representation of the AST.","implementations":{},"introduced":"v0.17.0","result":{"description":"AST object for the Rego module","name":"output","type":"object[string: any]"},"wasm":false},"rem":{"args":[{"name":"x","type":"number"},{"name":"y","type":"number"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Returns the remainder for of `x` divided by `y`, for `y != 0`.","implementations":{"java":"0.1.0","swift":"0.0.1"},"infix":"%","introduced":"v0.17.0","result":{"description":"the remainder","name":"z","type":"number"},"wasm":true},"replace":{"args":[{"description":"string being processed","name":"x","type":"string"},{"description":"substring to replace","name":"old","type":"string"},{"description":"string to replace `old` with","name":"new","type":"string"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Replace replaces all instances of a sub-string.","implementations":{"java":"0.1.0","swift":"0.0.1"},"introduced":"v0.17.0","result":{"description":"string with replaced substrings","name":"y","type":"string"},"wasm":true},"round":{"args":[{"description":"the number to round","name":"x","type":"number"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Rounds the number to the nearest integer.","implementations":{"java":"0.1.0","swift":"0.0.1"},"introduced":"v0.17.0","result":{"description":"the result of rounding `x`","name":"y","type":"number"},"wasm":true},"semver.compare":{"args":[{"description":"first version string","name":"a","type":"string"},{"description":"second version string","name":"b","type":"string"}],"available":["v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Compares valid SemVer formatted version strings.","implementations":{"java":"0.4.0","swift":"0.0.3"},"introduced":"v0.22.0","result":{"description":"`-1` if `a < b`; `1` if `a > b`; `0` if `a == b`","name":"result","type":"number"},"wasm":false},"semver.is_valid":{"args":[{"description":"input to validate","name":"vsn","type":"any"}],"available":["v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Validates that the input is a valid SemVer string.","implementations":{"java":"0.4.0","swift":"0.0.3"},"introduced":"v0.22.0","result":{"description":"`true` if `vsn` is a valid SemVer; `false` otherwise","name":"result","type":"boolean"},"wasm":false},"set_diff":{"args":[{"type":"set[any]"},{"type":"set[any]"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"deprecated":true,"implementations":{},"introduced":"v0.17.0","result":{"type":"set[any]"},"wasm":true},"sort":{"args":[{"description":"the array or set to be sorted","name":"collection","type":"any<array[any], set[any]>"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Returns a sorted array.","implementations":{"java":"0.1.0","swift":"0.0.1"},"introduced":"v0.17.0","result":{"description":"the sorted array","name":"n","type":"array[any]"},"wasm":true},"split":{"args":[{"description":"string that is split","name":"x","type":"string"},{"description":"delimiter used for splitting","name":"delimiter","type":"string"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Split returns an array containing elements of the input string split on a delimiter.","implementations":{"java":"0.1.0","swift":"0.0.1"},"introduced":"v0.17.0","result":{"description":"split parts","name":"ys","type":"array[string]"},"wasm":true},"sprintf":{"args":[{"description":"string with formatting verbs","name":"format","type":"string"},{"description":"arguments to format into formatting verbs","name":"values","type":"array[any]"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Returns the given string, formatted.","implementations":{"java":"0.1.0","swift":"0.0.1"},"introduced":"v0.17.0","result":{"description":"`format` formatted by the values in `values`","name":"output","type":"string"},"wasm":false},"startswith":{"args":[{"description":"search string","name":"search","type":"string"},{"description":"base string","name":"base","type":"string"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Returns true if the search string begins with the base string.","implementations":{"java":"0.1.0","swift":"0.0.1"},"introduced":"v0.17.0","result":{"description":"result of the prefix check","name":"result","type":"boolean"},"wasm":true},"strings.any_prefix_match":{"args":[{"description":"search string(s)","name":"search","type":"any<string, array[string], set[string]>"},{"description":"base string(s)","name":"base","type":"any<string, array[string], set[string]>"}],"available":["v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Returns true if any of the search strings begins with any of the base strings.","implementations":{"java":"0.1.0","swift":"0.0.5"},"introduced":"v0.44.0","result":{"description":"result of the prefix check","name":"result","type":"boolean"},"wasm":false},"strings.any_suffix_match":{"args":[{"description":"search string(s)","name":"search","type":"any<string, array[string], set[string]>"},{"description":"base string(s)","name":"base","type":"any<string, array[string], set[string]>"}],"available":["v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Returns true if any of the search strings ends with any of the base strings.","implementations":{"java":"0.1.0","swift":"0.0.5"},"introduced":"v0.44.0","result":{"description":"result of the suffix check","name":"result","type":"boolean"},"wasm":false},"strings.count":{"args":[{"description":"string to search in","name":"search","type":"string"},{"description":"substring to look for","name":"substring","type":"string"}],"available":["v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.0","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Returns the number of non-overlapping instances of a substring in a string.","implementations":{"java":"0.1.0","swift":"0.0.1"},"introduced":"v0.67.0","result":{"description":"count of occurrences, `0` if not found","name":"output","type":"number"},"wasm":false},"strings.render_template":{"args":[{"description":"a templated string","name":"value","type":"string"},{"description":"a mapping of template variable keys to values","name":"vars","type":"object[string: any]"}],"available":["v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Renders a templated string with given template variables injected. For a given templated string and key/value mapping, values will be injected into the template where they are referenced by key.\\n\\tFor examples of templating syntax, see https://pkg.go.dev/text/template","implementations":{"swift":"0.0.5"},"introduced":"v0.59.0","result":{"description":"rendered template with template variables injected","name":"result","type":"string"},"wasm":false},"strings.replace_n":{"args":[{"description":"replacement pairs","name":"patterns","type":"object[string: string]"},{"description":"string to replace substring matches in","name":"value","type":"string"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Replaces a string from a list of old, new string pairs.\\nReplacements are performed in the order they appear in the target string, without overlapping matches.\\nThe old string comparisons are done in argument order.","implementations":{"java":"0.1.0","swift":"0.0.5"},"introduced":"v0.17.0","result":{"description":"string with replaced substrings","name":"output","type":"string"},"wasm":true},"strings.reverse":{"args":[{"description":"string to reverse","name":"x","type":"string"}],"available":["v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Reverses a given string.","implementations":{"java":"0.1.0","swift":"0.0.1"},"introduced":"v0.36.0","result":{"description":"reversed string","name":"y","type":"string"},"wasm":true},"strings.split_n":{"args":[{"description":"string that is split","name":"x","type":"string"},{"description":"delimiter used for splitting","name":"delimiter","type":"string"},{"description":"number of parts to return; positive selects from the left, negative from the right, zero returns an empty array","name":"n","type":"number"}],"available":["v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Returns an array of at most `n` parts of `x` split on `delimiter`. If `n` is positive, returns the first `n` parts. If `n` is negative, returns the last `abs(n)` parts. If `n` is zero, returns an empty array. If `abs(n)` exceeds the number of parts, all parts are returned.","implementations":{},"introduced":"v1.19.0","result":{"description":"split parts","name":"ys","type":"array[string]"},"wasm":false},"substring":{"args":[{"description":"string to extract substring from","name":"value","type":"string"},{"description":"offset, must be positive","name":"offset","type":"number"},{"description":"length of the substring starting from `offset`","name":"length","type":"number"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Returns the portion of a string for a given `offset` and a `length`. If `length < 0`, `output` is the remainder of the string.","implementations":{"java":"0.1.0","swift":"0.0.1"},"introduced":"v0.17.0","result":{"description":"substring of `value` from `offset`, of length `length`","name":"output","type":"string"},"wasm":true},"sum":{"args":[{"description":"the set or array of numbers to sum","name":"collection","type":"any<array[number], set[number]>"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Sums elements of an array or set of numbers.","implementations":{"java":"0.1.0","swift":"0.0.1"},"introduced":"v0.17.0","result":{"description":"the sum of all elements","name":"n","type":"number"},"wasm":true},"time.add_date":{"args":[{"description":"nanoseconds since the epoch","name":"ns","type":"number"},{"description":"number of years to add","name":"years","type":"number"},{"description":"number of months to add","name":"months","type":"number"},{"description":"number of days to add","name":"days","type":"number"}],"available":["v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Returns the nanoseconds since epoch after adding years, months and days to nanoseconds. Month & day values outside their usual ranges after the operation and will be normalized - for example, October 32 would become November 1. `undefined` if the result would be outside the valid time range that can fit within an `int64`.","implementations":{"java":"0.1.0","swift":"0.0.2"},"introduced":"v0.19.0","result":{"description":"nanoseconds since the epoch representing the input time, with years, months and days added","name":"output","type":"number"},"wasm":false},"time.clock":{"args":[{"description":"a number representing the nanoseconds since the epoch (UTC); or a two-element array of the nanoseconds, and a timezone string","name":"x","type":"any<number, array<number, string>>"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Returns the `[hour, minute, second]` of the day for the nanoseconds since epoch.","implementations":{"java":"0.1.0","swift":"0.0.3"},"introduced":"v0.17.0","result":{"description":"the `hour`, `minute` (0-59), and `second` (0-59) representing the time of day for the nanoseconds since epoch in the supplied timezone (or UTC)","name":"output","type":"array<number, number, number>"},"wasm":false},"time.date":{"args":[{"description":"a number representing the nanoseconds since the epoch (UTC); or a two-element array of the nanoseconds, and a timezone string","name":"x","type":"any<number, array<number, string>>"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Returns the `[year, month, day]` for the nanoseconds since epoch.","implementations":{"java":"0.1.0","swift":"0.0.3"},"introduced":"v0.17.0","result":{"description":"an array of `year`, `month` (1-12), and `day` (1-31)","name":"date","type":"array<number, number, number>"},"wasm":false},"time.diff":{"args":[{"description":"nanoseconds since the epoch; or a two-element array of the nanoseconds, and a timezone string","name":"ns1","type":"any<number, array<number, string>>"},{"description":"nanoseconds since the epoch; or a two-element array of the nanoseconds, and a timezone string","name":"ns2","type":"any<number, array<number, string>>"}],"available":["v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Returns the difference between two unix timestamps in nanoseconds (with optional timezone strings).","implementations":{"java":"0.1.0","swift":"0.0.3"},"introduced":"v0.28.0","result":{"description":"difference between `ns1` and `ns2` (in their supplied timezones, if supplied, or UTC) as array of numbers: `[years, months, days, hours, minutes, seconds]`","name":"output","type":"array<number, number, number, number, number, number>"},"wasm":false},"time.format":{"args":[{"description":"a number representing the nanoseconds since the epoch (UTC); or a two-element array of the nanoseconds, and a timezone string; or a three-element array of ns, timezone string and a layout string or golang defined formatting constant (see golang supported time formats)","name":"x","type":"any<number, array<number, string>, array<number, string, string>>"}],"available":["v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Returns the formatted timestamp for the nanoseconds since epoch.","implementations":{"java":"0.1.0","swift":"0.0.3"},"introduced":"v0.48.0","result":{"description":"the formatted timestamp represented for the nanoseconds since the epoch in the supplied timezone (or UTC)","name":"formatted timestamp","type":"string"},"wasm":false},"time.now_ns":{"args":[],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Returns the current time since epoch in nanoseconds.","implementations":{"java":"0.1.0","swift":"0.0.1"},"introduced":"v0.17.0","result":{"description":"nanoseconds since epoch","name":"now","type":"number"},"wasm":false},"time.parse_duration_ns":{"args":[{"description":"a duration like \\"3m\\"; see the [OPA `Duration Parsing` documentation](https://www.openpolicyagent.org/docs/latest/policy-reference/builtins/time#duration-parsing) for more details","name":"duration","type":"string"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Returns the duration in nanoseconds represented by a string.","implementations":{"java":"0.1.0","swift":"0.0.3"},"introduced":"v0.17.0","result":{"description":"the `duration` in nanoseconds","name":"ns","type":"number"},"wasm":false},"time.parse_ns":{"args":[{"description":"format used for parsing, see the [Go `time` package documentation](https://golang.org/pkg/time/#Parse) for more details","name":"layout","type":"string"},{"description":"input to parse according to `layout`","name":"value","type":"string"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Returns the time in nanoseconds parsed from the string in the given format. `undefined` if the result would be outside the valid time range that can fit within an `int64`.","implementations":{"java":"0.1.0","swift":"0.0.3"},"introduced":"v0.17.0","result":{"description":"`value` in nanoseconds since epoch","name":"ns","type":"number"},"wasm":false},"time.parse_rfc3339_ns":{"args":[{"description":"input string to parse in RFC3339 format","name":"value","type":"string"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Returns the time in nanoseconds parsed from the string in RFC3339 format. `undefined` if the result would be outside the valid time range that can fit within an `int64`.","implementations":{"java":"0.1.0","swift":"0.0.3"},"introduced":"v0.17.0","result":{"description":"`value` in nanoseconds since epoch","name":"ns","type":"number"},"wasm":false},"time.weekday":{"args":[{"description":"a number representing the nanoseconds since the epoch (UTC); or a two-element array of the nanoseconds, and a timezone string","name":"x","type":"any<number, array<number, string>>"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Returns the day of the week (Monday, Tuesday, ...) for the nanoseconds since epoch.","implementations":{"java":"0.1.0","swift":"0.0.3"},"introduced":"v0.17.0","result":{"description":"the weekday represented by `ns` nanoseconds since the epoch in the supplied timezone (or UTC)","name":"day","type":"string"},"wasm":false},"to_number":{"args":[{"description":"value to convert","name":"value","type":"any<null, boolean, number, string>"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Converts value of type string, null or boolean to number. Numeric strings converts to the corresponding number when possible. Null and boolean `false` converts to 0 and boolean `true` to 1. Numbers are returned without conversion.","implementations":{"java":"0.1.0","swift":"0.0.1"},"introduced":"v0.17.0","result":{"description":"the numeric representation of `value`","name":"num","type":"number"},"wasm":true},"trace":{"args":[{"description":"the note to include","name":"note","type":"string"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Emits `note` as a `Note` event in the query explanation. Query explanations show the exact expressions evaluated by OPA during policy execution. For example, `trace(\\"Hello There!\\")` includes `Note \\"Hello There!\\"` in the query explanation. To include variables in the message, use `sprintf`. For example, `person := \\"Bob\\"; trace(sprintf(\\"Hello There! %v\\", [person]))` will emit `Note \\"Hello There! Bob\\"` inside of the explanation.","implementations":{"swift":"0.0.1"},"introduced":"v0.17.0","result":{"description":"always `true`","name":"result","type":"boolean"},"wasm":false},"trim":{"args":[{"description":"string to trim","name":"value","type":"string"},{"description":"string of characters that are cut off","name":"cutset","type":"string"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Returns `value` with all leading or trailing instances of the `cutset` characters removed.","implementations":{"java":"0.1.0","swift":"0.0.1"},"introduced":"v0.17.0","result":{"description":"string trimmed of `cutset` characters","name":"output","type":"string"},"wasm":true},"trim_left":{"args":[{"description":"string to trim","name":"value","type":"string"},{"description":"string of characters that are cut off on the left","name":"cutset","type":"string"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Returns `value` with all leading instances of the `cutset` characters removed.","implementations":{"java":"0.1.0","swift":"0.0.1"},"introduced":"v0.17.0","result":{"description":"string left-trimmed of `cutset` characters","name":"output","type":"string"},"wasm":true},"trim_prefix":{"args":[{"description":"string to trim","name":"value","type":"string"},{"description":"prefix to cut off","name":"prefix","type":"string"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Returns `value` without the prefix. If `value` doesn\'t start with `prefix`, it is returned unchanged.","implementations":{"java":"0.1.0","swift":"0.0.1"},"introduced":"v0.17.0","result":{"description":"string with `prefix` cut off","name":"output","type":"string"},"wasm":true},"trim_right":{"args":[{"description":"string to trim","name":"value","type":"string"},{"description":"string of characters that are cut off on the right","name":"cutset","type":"string"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Returns `value` with all trailing instances of the `cutset` characters removed.","implementations":{"java":"0.1.0","swift":"0.0.1"},"introduced":"v0.17.0","result":{"description":"string right-trimmed of `cutset` characters","name":"output","type":"string"},"wasm":true},"trim_space":{"args":[{"description":"string to trim","name":"value","type":"string"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Return the given string with all leading and trailing white space removed.","implementations":{"java":"0.1.0","swift":"0.0.1"},"introduced":"v0.17.0","result":{"description":"string leading and trailing white space cut off","name":"output","type":"string"},"wasm":true},"trim_suffix":{"args":[{"description":"string to trim","name":"value","type":"string"},{"description":"suffix to cut off","name":"suffix","type":"string"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Returns `value` without the suffix. If `value` doesn\'t end with `suffix`, it is returned unchanged.","implementations":{"java":"0.1.0","swift":"0.0.1"},"introduced":"v0.17.0","result":{"description":"string with `suffix` cut off","name":"output","type":"string"},"wasm":true},"type_name":{"args":[{"description":"input value","name":"x","type":"any"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Returns the type of its input value.","implementations":{"java":"0.1.0","swift":"0.0.1"},"introduced":"v0.17.0","result":{"description":"one of \\"null\\", \\"boolean\\", \\"number\\", \\"string\\", \\"array\\", \\"object\\", \\"set\\"","name":"type","type":"string"},"wasm":true},"union":{"args":[{"description":"set of sets to merge","name":"xs","type":"set[set[any]]"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Returns the union of the given input sets.","implementations":{"java":"0.1.0","swift":"0.0.1"},"introduced":"v0.17.0","result":{"description":"the union of all `xs` sets","name":"y","type":"set[any]"},"wasm":true},"units.parse":{"args":[{"description":"the unit to parse","name":"x","type":"string"}],"available":["v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Converts strings like \\"10G\\", \\"5K\\", \\"4M\\", \\"1500m\\", and the like into a number.\\nThis number can be a non-integer, such as 1.5, 0.22, etc. Scientific notation is supported,\\nallowing values such as \\"1e-3K\\" (1) or \\"2.5e6M\\" (2.5 million M).\\n\\nSupports standard metric decimal and binary SI units (e.g., K, Ki, M, Mi, G, Gi, etc.) where\\nm, K, M, G, T, P, and E are treated as decimal units and Ki, Mi, Gi, Ti, Pi, and Ei are treated as\\nbinary units.\\n\\nNote that \'m\' and \'M\' are case-sensitive to allow distinguishing between \\"milli\\" and \\"mega\\" units\\nrespectively. Other units are case-insensitive.","implementations":{"swift":"0.0.1"},"introduced":"v0.41.0","result":{"description":"the parsed number","name":"y","type":"number"},"wasm":false},"units.parse_bytes":{"args":[{"description":"the byte unit to parse","name":"x","type":"string"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Converts strings like \\"10GB\\", \\"5K\\", \\"4mb\\", or \\"1e6KB\\" into an integer number of bytes.\\n\\nSupports standard byte units (e.g., KB, KiB, etc.) where KB, MB, GB, and TB are treated as decimal\\nunits, and KiB, MiB, GiB, and TiB are treated as binary units. Scientific notation is supported,\\nenabling values like \\"1.5e3MB\\" (1500MB) or \\"2e6GiB\\" (2 million GiB).\\n\\nThe bytes symbol (b/B) in the unit is optional; omitting it will yield the same result (e.g., \\"Mi\\"\\nand \\"MiB\\" are equivalent).","implementations":{"swift":"0.0.1"},"introduced":"v0.17.0","result":{"description":"the parsed number","name":"y","type":"number"},"wasm":false},"upper":{"args":[{"description":"string that is converted to upper-case","name":"x","type":"string"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Returns the input string but with all characters in upper-case.","implementations":{"java":"0.1.0","swift":"0.0.1"},"introduced":"v0.17.0","result":{"description":"upper-case of x","name":"y","type":"string"},"wasm":true},"uri.is_valid":{"args":[{"description":"the URI string to validate","name":"uri","type":"string"}],"available":["v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Returns true if the input can be parsed as a URI.","implementations":{"java":"0.4.0"},"introduced":"v1.16.0","result":{"description":"true if `uri` is a valid URI, false otherwise","name":"result","type":"boolean"},"wasm":false},"uri.parse":{"args":[{"description":"the URI string to parse","name":"uri","type":"string"}],"available":["v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Parses a URI and returns an object c
1ontaining its components according to RFC 3986. Empty components are omitted. In addition to the standard components, `raw_query` is returned for use with `urlquery` builtins, and `raw_path` is returned to allow detection of path-based exploits using percent-encoded characters.","implementations":{"java":"0.4.0"},"introduced":"v1.16.0","result":{"description":"object containing URI components","name":"output","type":"object[string: string]"},"wasm":false},"urlquery.decode":{"args":[{"description":"the URL-encoded string","name":"x","type":"string"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Decodes a URL-encoded input string.","implementations":{"swift":"0.0.7"},"introduced":"v0.17.0","result":{"description":"URL-encoding deserialization of `x`","name":"y","type":"string"},"wasm":false},"urlquery.decode_object":{"args":[{"description":"the query string","name":"x","type":"string"}],"available":["v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Decodes the given URL query string into an object.","implementations":{"swift":"0.0.7"},"introduced":"v0.24.0","result":{"description":"the resulting object","name":"object","type":"object[string: array[string]]"},"wasm":false},"urlquery.encode":{"args":[{"description":"the string to encode","name":"x","type":"string"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Encodes the input string into a URL-encoded string.","implementations":{"swift":"0.0.7"},"introduced":"v0.17.0","result":{"description":"URL-encoding serialization of `x`","name":"y","type":"string"},"wasm":false},"urlquery.encode_object":{"args":[{"description":"the object to encode","name":"object","type":"object[string: any<string, array[string], set[string]>]"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Encodes the given object into a URL encoded query string.","implementations":{"swift":"0.0.7"},"introduced":"v0.17.0","result":{"description":"the URL-encoded serialization of `object`","name":"y","type":"string"},"wasm":false},"uuid.parse":{"args":[{"description":"UUID string to parse","name":"uuid","type":"string"}],"available":["v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.0","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Parses the string value as an UUID and returns an object with the well-defined fields of the UUID if valid.","implementations":{"java":"0.4.0","swift":"0.0.1"},"introduced":"v0.57.0","result":{"description":"Properties of UUID if valid (version, variant, etc). Undefined otherwise.","name":"result","type":"object[string: any]"},"wasm":false},"uuid.rfc4122":{"args":[{"description":"seed string","name":"k","type":"string"}],"available":["v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Returns a new UUIDv4.","implementations":{"java":"0.4.0","swift":"0.0.1"},"introduced":"v0.20.0","result":{"description":"a version 4 UUID; for any given `k`, the output will be consistent throughout a query evaluation","name":"output","type":"string"},"wasm":false},"walk":{"args":[{"description":"value to walk","name":"x","type":"any"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Generates `[path, value]` tuples for all nested documents of `x` (recursively). Queries can use `walk` to traverse documents nested under `x`.","implementations":{"java":"0.4.0","swift":"0.0.1"},"introduced":"v0.17.0","relation":true,"result":{"description":"pairs of `path` and `value`: `path` is an array representing the pointer to `value` in `x`. If `path` is assigned a wildcard (`_`), the `walk` function will skip path creation entirely for faster evaluation.","name":"output","type":"array<array[any], any>"},"wasm":true},"yaml.is_valid":{"args":[{"description":"a YAML string","name":"x","type":"string"}],"available":["v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Verifies the input string is a valid YAML document.","implementations":{"java":"0.4.0","swift":"0.0.10"},"introduced":"v0.25.0-rc1","result":{"description":"`true` if `x` is valid YAML, `false` otherwise","name":"result","type":"boolean"},"wasm":false},"yaml.marshal":{"args":[{"description":"the term to serialize","name":"x","type":"any"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Serializes the input term to YAML.","implementations":{"java":"0.4.0","swift":"0.0.10"},"introduced":"v0.17.0","result":{"description":"the YAML string representation of `x`","name":"y","type":"string"},"wasm":false},"yaml.unmarshal":{"args":[{"description":"a YAML string","name":"x","type":"string"}],"available":["v0.17.0","v0.17.1","v0.17.2","v0.17.3","v0.18.0","v0.19.0-rc1","v0.19.0","v0.19.1","v0.19.2","v0.20.0","v0.20.1","v0.20.2","v0.20.3","v0.20.4","v0.20.5","v0.21.0","v0.21.1","v0.22.0","v0.23.0","v0.23.1","v0.23.2","v0.24.0","v0.25.0-rc1","v0.25.0-rc2","v0.25.0-rc3","v0.25.0-rc4","v0.25.0","v0.25.1","v0.25.2","v0.26.0","v0.27.0","v0.27.1","v0.28.0","v0.29.0","v0.29.1","v0.29.2","v0.29.3","v0.29.4","v0.30.0","v0.30.1","v0.30.2","v0.31.0","v0.32.0","v0.32.1","v0.33.0","v0.33.1","v0.34.0","v0.34.1","v0.34.2","v0.35.0","v0.36.0","v0.36.1","v0.37.0","v0.37.1","v0.37.2","v0.38.0","v0.38.1","v0.39.0","v0.40.0","v0.41.0","v0.42.0","v0.42.1","v0.42.2","v0.43.0","v0.43.1","v0.44.0","v0.45.0","v0.46.0","v0.46.1","v0.46.2","v0.46.3","v0.47.0","v0.47.1","v0.47.2","v0.47.3","v0.47.4","v0.48.0","v0.49.0","v0.49.1","v0.49.2","v0.50.0","v0.50.1","v0.50.2","v0.51.0","v0.52.0","v0.53.0","v0.53.1","v0.54.0","v0.55.0","v0.56.0","v0.57.0","v0.57.1","v0.58.0","v0.59.0","v0.60.0","v0.61.0","v0.62.0","v0.62.1","v0.63.0","v0.64.0","v0.64.1","v0.65.0","v0.66.0","v0.67.0","v0.67.1","v0.68.0","v0.69.0","v0.70.0","v1.0.0","v1.0.1","v1.1.0","v1.2.0","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.6.0","v1.7.0","v1.8.0","v1.9.0","v1.10.
10","v1.11.0","v1.11.1","v1.12.0","v1.12.1","v1.12.2","v1.12.3","v1.13.0","v1.13.1","v1.13.2","v1.14.0","v1.14.1","v1.15.0","v1.15.1","v1.16.0","v1.16.1","v1.16.2","v1.17.0","v1.17.1","v1.18.0","v1.18.1","v1.18.2","v1.19.0","v1.19.1","v1.20.0","v1.20.1","v1.20.2","edge"],"description":"Deserializes the input string.","implementations":{"java":"0.4.0","swift":"0.0.10"},"introduced":"v0.17.0","result":{"description":"the term deserialized from `x`","name":"y","type":"any"},"wasm":false}}')},29777:v=>{"use strict";v.exports=JSON.parse('{"attributes":{"request":{"http":{"headers":{"authorization":"Basic bob"},"method":"GET","path":"/","protocol":"HTTP/1.1"}}}}')},30017:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/opa-wasm-dotnet-af6e6a1b7ad8672fab95a8bfb8b9a869.png"},30491:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i="data:image/svg+xml;base64,PHN2ZyB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOmNjPSJodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9ucyMiIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyIgeG1sbnM6c3ZnPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczpzb2RpcG9kaT0iaHR0cDovL3NvZGlwb2RpLnNvdXJjZWZvcmdlLm5ldC9EVEQvc29kaXBvZGktMC5kdGQiIHhtbG5zOmlua3NjYXBlPSJodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy9uYW1lc3BhY2VzL2lua3NjYXBlIiB2aWV3Qm94PSIwIDAgMTI3OC43NSAzMTIuNSIgaGVpZ2h0PSIzMTIuNSIgd2lkdGg9IjEyNzguNzUiIHhtbDpzcGFjZT0icHJlc2VydmUiIHZlcnNpb249IjEuMSIgaWQ9InN2ZzIiIGlua3NjYXBlOnZlcnNpb249IjAuOTIuMyAoMjQwNTU0NiwgMjAxOC0wMy0xMSkiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4KIDxzb2RpcG9kaTpuYW1lZHZpZXcgcGFnZWNvbG9yPSIjZmZmZmZmIiBib3JkZXJjb2xvcj0iIzY2NjY2NiIgYm9yZGVyb3BhY2l0eT0iMSIgb2JqZWN0dG9sZXJhbmNlPSIxMCIgZ3JpZHRvbGVyYW5jZT0iMTAiIGd1aWRldG9sZXJhbmNlPSIxMCIgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAiIGlua3NjYXBlOnBhZ2VzaGFkb3c9IjIiIGlua3NjYXBlOndpbmRvdy13aWR0aD0iMTkyMCIgaW5rc2NhcGU6d2luZG93LWhlaWdodD0iMTAwNSIgaWQ9Im5hbWVkdmlldzMzIiBzaG93Z3JpZD0iZmFsc2UiIGlua3NjYXBlOnpvb209IjEuNDk5NjQ3IiBpbmtzY2FwZTpjeD0iMTEwOS40NjI3IiBpbmtzY2FwZTpjeT0iMTg2LjQ0MDYiIGlua3NjYXBlOndpbmRvdy14PSItOSIgaW5rc2NhcGU6d2luZG93LXk9Ii05IiBpbmtzY2FwZTp3aW5kb3ctbWF4aW1pemVkPSIxIiBpbmtzY2FwZTpjdXJyZW50LWxheWVyPSJzdmcyIj4KIDwvc29kaXBvZGk6bmFtZWR2aWV3PgogPG1ldGFkYXRhIGlkPSJtZXRhZGF0YTgiPgogIDxyZGY6UkRGPgogICA8Y2M6V29yayByZGY6YWJvdXQ9IiI+CiAgICA8ZGM6Zm9ybWF0PgogICAgIGltYWdlL3N2Zyt4bWwKICAgIDwvZGM6Zm9ybWF0PgogICAgPGRjOnR5cGUgcmRmOnJlc291cmNlPSJodHRwOi8vcHVybC5vcmcvZGMvZGNtaXR5cGUvU3RpbGxJbWFnZSI+CiAgICA8L2RjOnR5cGU+CiAgIDwvY2M6V29yaz4KICA8L3JkZjpSREY+CiA8L21ldGFkYXRhPgogPGRlZnMgaWQ9ImRlZnM2Ij4KICA8Y2xpcFBhdGggaWQ9ImNsaXBQYXRoMTgiIGNsaXBQYXRoVW5pdHM9InVzZXJTcGFjZU9uVXNlIj4KICAgPHBhdGggaWQ9InBhdGgyMCIgZD0iTSAwLDI1MCAxMDIzLDI1MCAxMDIzLDAgMCwwIDAsMjUwIFoiPgogICA8L3BhdGg+CiAgPC9jbGlwUGF0aD4KIDwvZGVmcz4KIDxnIHRyYW5zZm9ybT0ibWF0cml4KDEuMjUsMCwwLC0xLjI1LDAsMzEyLjUpIiBpZD0iZzEwIj4KICA8cGF0aCBpZD0icGF0aDEyIiBzdHlsZT0iZmlsbDojZTYwMDIzO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiBkPSJtIDQwMi45OTYsMTU5Ljg4NyAzMi4zMTIsMCAwLC0xMDEuNDkzIC0zMi4zMTIsMCAwLDEwMS40OTMgeiI+CiAgPC9wYXRoPgogIDxnIGlkPSJnMTQiPgogICA8ZyBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgxOCkiIGlkPSJnMTYiPgogICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNDQyLjA1NDksMTU5Ljg4NzEpIiBpZD0iZzIyIj4KICAgICA8cGF0aCBpZD0icGF0aDI0IiBzdHlsZT0iZmlsbDojZTYwMDIzO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiBkPSJtIDAsMCAzMS4xMjIsMCAwLC0xMy44NzYgMC41OTQsMCBjIDcuNTMzLDEwLjkwMyAxNy4yNDYsMTYuODQ5IDMxLjMyMSwxNi44NDkgMjIuMjAxLDAgMzUuMjg0LC0xNS44NTggMzUuMjg0LC0zOC40NTYgbCAwLC02Ni4wMSAtMzIuMzExLDAgMCw1OS40NjggYyAwLDEwLjcwNSAtNS4zNTIsMTguMDQgLTE1Ljg1OCwxOC4wNCAtMTAuNzA0LDAgLTE3Ljg0MSwtOC45MjEgLTE3Ljg0MSwtMjEuNDA5IGwgMCwtNTYuMDk5IC0zMi4zMTEsMCBMIDAsMCBaIj4KICAgICA8L3BhdGg+CiAgICA8L2c+CiAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg0MzguNTMzNCwxODcuMDQwNSkiIGlkPSJnMjYiPgogICAgIDxwYXRoIGlkPSJwYXRoMjgiIHN0eWxlPSJmaWxsOiNlNjAwMjM7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOm5vbnplcm87c3Ryb2tlOm5vbmUiIGQ9Im0gMCwwIGMgMCwxMC43MDUgLTguNjc4LDE5LjM4MiAtMTkuMzgyLDE5LjM4MiAtMTAuNzA0LDAgLTE5LjM4MiwtOC42NzcgLTE5LjM4MiwtMTkuMzgyIDAsLTEwLjcwNCA4LjY3OCwtMTkuMzgxIDE5LjM4MiwtMTkuMzgxIEMgLTguNjc4LC0xOS4zODEgMCwtMTAuNzA0IDAsMCI+CiAgICAgPC9wYXRoPgogICAgPC9nPgogICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNzY3LjYyNjIsMTYxLjM1MykiIGlkPSJnMzAiPgogICAgIDxwYXRoIGlkPSJwYXRoMzIiIHN0eWxlPSJmaWxsOiNlNjAwMjM7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOm5vbnplcm87c3Ryb2tlOm5vbmUiIGQ9Im0gMCwwIGMgLTAuOTIyLDAuMDgzIC0xLjk3OSwwLjEyIC0zLjIxNiwwLjEyIC0xMi4yOSwwIC0yMC42MTUsLTUuMzUyIC0yNy43NTIsLTE3LjQ0NCBsIC0wLjU5NCwwIDAsMTUuODU4IC0zMC45MjQsMCAwLC0xMDEuNDkyIDMyLjMxMSwwIDAsNDUuNTkyIGMgMCwyMS4xMjUgMTEuNjk5LDMwLjkxNCAzMC4xNzUsMjkuMjA2IEwgMCwwIFoiPgogICAgIDwvcGF0aD4KICAgIDwvZz4KICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDkyNi4xODk2LDEyMi40MjI4KSIgaWQ9ImczNCI+CiAgICAgPHBhdGggaWQ9InBhdGgzNiIgc3R5bGU9ImZpbGw6I2U2MDAyMztmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgZD0ibSAwLDAgYyAtMTIuODg1LDIuMzc4IC0yNC4zODIsMy4zNjkgLTI0LjM4MiwxMC41MDUgMCw2LjM0NCA2LjE0Niw5LjMxNyAxNC4wNzQsOS4zMTcgOC45MiwwIDE1LjA2NiwtMi43NzUgMTYuMjU1LC0xMS44OTQgbCAyOS43MzUsMCBjIC0xLjU4NiwyMC4wMjEgLTE3LjA0OCwzMi41MSAtNDUuNzksMzIuNTEgLTIzLjk4NywwIC00My44MSwtMTEuMTAxIC00My44MSwtMzIuNTEgMCwtMjMuNzg2IDE4LjgzMiwtMjguNTQ0IDM2LjQ3NSwtMzEuNTE4IDEzLjQ3OSwtMi4zNzkgMjUuNzY5LC0zLjM3IDI1Ljc2OSwtMTIuNDg4IDAsLTYuNTQyIC02LjE0NSwtMTAuMTEgLTE1Ljg1OCwtMTAuMTEgLTkuNzQ1LDAgLTE2LjE5LDQuMTIzIC0xOC4xNjYsMTIuNDg4IGwgLTMwLjc4OSwwIGMgMi4yNjYsLTIwLjg2NCAyMC41OCwtMzMuNSA0OS4xNTMsLTMzLjUgMjYuNTYzLDAgNDYuMTg3LDExLjQ5NyA0Ni4xODcsMzMuNjk4IEMgMzguODUzLC03LjUzMyAxNy44NDEsLTIuOTc0IDAsMCI+CiAgICAgPC9wYXRoPgogICAgPC9nPgogICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoODE3Ljc0OTIsMTM5Ljg2NjYpIiBpZD0iZzM4Ij4KICAgICA8cGF0aCBpZD0icGF0aDQwIiBzdHlsZT0iZmlsbDojZTYwMDIzO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiBkPSJtIDAsMCBjIDEwLjUwNiwwIDE4LjAzOCwtNy43MzEgMTkuMjI4LC0xOS44MjQgbCAtNDAuMDQyLDAgQyAtMTguNjM0LC03LjczMSAtMTIuMjksMCAwLDAgbSAxLjc4NCwtNjEuMjUyIGMgLTEzLjI4MiwwIC0yMC44MTQsOC41MjMgLTIyLjc5NywyMi4yMDEgbCA3Mi45NDksMCBjIDAuMTk4LDIwLjYxNSAtNS43NDgsMzguMjU4IC0xNy44NDEsNDkuMzU4IC04LjcyMiw3LjkyOSAtMjAuMjE5LDEyLjY4NyAtMzQuNjkxLDEyLjY4NyAtMzAuOTIzLDAgLTUyLjEzMywtMjMuMTkyIC01Mi4xMzMsLTUzLjUyMiAwLC0zMC43MjQgMjAuNjE2LC01My45MTggNTQuMTE2LC01My45MTggMTIuODg0LDAgMjMuMTkzLDMuMzcgMzEuNzE3LDkuMzE3IDguOTIsNi4xNDUgMTQuODY3L
1DE0Ljg2NyAxNy4wNDcsMjMuOTg1IGwgLTMxLjUxOCwwIEMgMTUuODU3LC01Ny40ODcgMTAuMzA4LC02MS4yNTIgMS43ODQsLTYxLjI1MiI+CiAgICAgPC9wYXRoPgogICAgPC9nPgogICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTAyMS45NDk0LDgyLjMyNzEpIiBpZD0iZzQyIj4KICAgICA8cGF0aCBpZD0icGF0aDQ0IiBzdHlsZT0iZmlsbDojZTYwMDIzO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiBkPSJtIDAsMCBjIC0xLjQ5NywtMC4wNTkgLTMuNTA3LC0wLjE0NiAtNS4zNTQsLTAuMTQ2IC02LjkzOSwwIC0xMS4yOTksMS45ODMgLTExLjI5OSw5LjkxMiBsIDAsNDcuNTc1IDE2LjY1MywwIDAsMjAuMjE5IC0xNi42NTMsMCAwLDMyLjExMyAtMzEuNTE5LDAgMCwtMzIuMTEzIC05LjkxNywwIDAsLTIwLjIxOSA5LjkxNywwIDAsLTU0LjUxMyBjIDAsLTIxLjgwNiAxMy40OCwtMjcuOTUgMzIuMzEyLC0yNy45NSA3LjE4NSwwIDEyLjYxNiwwLjUzOCAxNS44NiwxLjE3MSBMIDAsMCBaIj4KICAgICA8L3BhdGg+CiAgICA8L2c+CiAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg1OTguMDc4Myw4Mi4yODEyKSIgaWQ9Imc0NiI+CiAgICAgPHBhdGggaWQ9InBhdGg0OCIgc3R5bGU9ImZpbGw6I2U2MDAyMztmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgZD0ibSAwLDAgYyAtMS4yODksLTAuMDUgLTIuNzc3LC0wLjEgLTQuMTY3LC0wLjEgLTYuOTM3LDAgLTExLjI5OSwxLjk4MyAtMTEuMjk5LDkuOTEyIGwgMCw0Ny41NzUgMTUuNDY2LDAgMCwyMC4yMTkgLTE1LjQ2NiwwIDAsMzIuMTEzIC0zMS41MTgsMCAwLC0zMi4xMTMgLTEwLjUxLDAgMCwtMjAuMjE5IDEwLjUxLDAgMCwtNTQuNTEzIGMgMCwtMjEuODA2IDEzLjQ3OSwtMjcuOTUgMzIuMzExLC0yNy45NSA2LjM3MiwwIDExLjM2MSwwLjQyNCAxNC42NzMsMC45NjEgTCAwLDAgWiI+CiAgICAgPC9wYXRoPgogICAgPC9nPgogICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNjY4LjQ1ODIsMTIwLjA0MjkpIiBpZD0iZzUwIj4KICAgICA8cGF0aCBpZD0icGF0aDUyIiBzdHlsZT0iZmlsbDojZTYwMDIzO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiBkPSJNIDAsMCBDIC0xLjE4OSwxMi4wOTIgLTguNzIzLDE5LjgyNCAtMTkuMjI5LDE5LjgyNCAtMzEuNTE5LDE5LjgyNCAtMzcuODYyLDEyLjA5MiAtNDAuMDQzLDAgTCAwLDAgWiBtIC03MS45NTcsLTEwLjcwNCBjIDAsMzAuMzI5IDIxLjIxLDUzLjUyMSA1Mi4xMzQsNTMuNTIxIDE0LjQ3LDAgMjUuOTY4LC00Ljc1NyAzNC42OSwtMTIuNjg2IEMgMjYuOTU5LDE5LjAzIDMyLjkwNSwxLjM4OCAzMi43MDcsLTE5LjIyOCBsIC03Mi45NDcsMCBjIDEuOTgxLC0xMy42NzcgOS41MTQsLTIyLjIwMSAyMi43OTYsLTIyLjIwMSA4LjUyMywwIDE0LjA3NCwzLjc2NiAxNi44NDgsMTAuMTA5IGwgMzEuNTE5LDAgYyAtMi4xODEsLTkuMTE4IC04LjEyNywtMTcuODQgLTE3LjA0OCwtMjMuOTg2IC04LjUyMywtNS45NDYgLTE4LjgzMSwtOS4zMTYgLTMxLjcxNiwtOS4zMTYgLTMzLjUwMSwwIC01NC4xMTYsMjMuMTkzIC01NC4xMTYsNTMuOTE4Ij4KICAgICA8L3BhdGg+CiAgICA8L2c+CiAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzNDYuODgyNSwxMzMuNTIyNCkiIGlkPSJnNTQiPgogICAgIDxwYXRoIGlkPSJwYXRoNTYiIHN0eWxlPSJmaWxsOiNlNjAwMjM7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOm5vbnplcm87c3Ryb2tlOm5vbmUiIGQ9Ik0gMCwwIEMgMTIuNjg3LDAgMTkuODIzLDcuNTMzIDE5LjgyMywxOC44MzMgMTkuODIzLDMwLjEzMSAxMi40ODgsMzcuMDY5IDAsMzcuMDY5IGwgLTI0Ljc4LDAgTCAtMjQuNzgsMCAwLDAgWiBtIC01Ny40OTIsNjYuNjA1IDU2LjExLDAgYyAxNy4yNDUsMCAyOS45MzIsLTQuNzU3IDM4LjY1NCwtMTMuMDgzIDkuMTE5LC04LjUyMyAxNC4yNzMsLTIwLjYxNiAxNC4yNzMsLTM0Ljg4OCAwLC0yNy4xNTcgLTE4LjgzMiwtNDYuMzg2IC00Ny45NzIsLTQ2LjM4NiBsIC0yOC4zNTMsMCAwLC00Ny4zNzYgLTMyLjcxMiwwIDAsMTQxLjczMyB6Ij4KICAgICA8L3BhdGg+CiAgICA8L2c+CiAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyNDUuMDM0NCwxMjQuOTk5OSkiIGlkPSJnNTgiPgogICAgIDxwYXRoIGlkPSJwYXRoNjAiIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOm5vbnplcm87c3Ryb2tlOm5vbmUiIGQ9Im0gMCwwIGMgMCwtNjcuMzc0IC01NC42MTgsLTEyMS45OTIgLTEyMS45OTIsLTEyMS45OTIgLTY3LjM3NCwwIC0xMjEuOTkyLDU0LjYxOCAtMTIxLjk5MiwxMjEuOTkyIDAsNjcuMzc1IDU0LjYxOCwxMjEuOTkyIDEyMS45OTIsMTIxLjk5MiBDIC01NC42MTgsMTIxLjk5MiAwLDY3LjM3NSAwLDAiPgogICAgIDwvcGF0aD4KICAgIDwvZz4KICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEyMy4wNDIyLDI0Ni45OTIxKSIgaWQ9Imc2MiI+CiAgICAgPHBhdGggaWQ9InBhdGg2NCIgc3R5bGU9ImZpbGw6I2U2MDAyMztmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgZD0ibSAwLDAgYyAtNjcuMzc0LDAgLTEyMS45OTIsLTU0LjYxOCAtMTIxLjk5MiwtMTIxLjk5MiAwLC01MS42ODIgMzIuMTU1LC05NS44NjMgNzcuNTM1LC0xMTMuNjM4IC0xLjA2Niw5LjY1MiAtMi4wMywyNC40OTYgMC40MjMsMzUuMDMzIDIuMjE3LDkuNTIxIDE0LjMwNSw2MC42MzggMTQuMzA1LDYwLjYzOCAwLDAgLTMuNjQ5LDcuMzA4IC0zLjY0OSwxOC4xMTIgMCwxNi45NjMgOS44MzIsMjkuNjI3IDIyLjA3NCwyOS42MjcgMTAuNDA4LDAgMTUuNDM1LC03LjgxNCAxNS40MzUsLTE3LjE4NCAwLC0xMC40NjcgLTYuNjY0LC0yNi4xMTYgLTEwLjEwMywtNDAuNjE4IC0yLjg3NCwtMTIuMTQyIDYuMDg5LC0yMi4wNDQgMTguMDY1LC0yMi4wNDQgMjEuNjgyLDAgMzguMzQ5LDIyLjg2MiAzOC4zNDksNTUuODYzIDAsMjkuMjA5IC0yMC45ODgsNDkuNjMxIC01MC45NTcsNDkuNjMxIC0zNC43MTEsMCAtNTUuMDg1LC0yNi4wMzUgLTU1LjA4NSwtNTIuOTQxIDAsLTEwLjQ4NSA0LjAzOSwtMjEuNzI4IDkuMDc5LC0yNy44NCAwLjk5NywtMS4yMDggMS4xNDMsLTIuMjY2IDAuODQ2LC0zLjQ5OSAtMC45MjYsLTMuODUzIC0yLjk4NCwtMTIuMTM5IC0zLjM4OCwtMTMuODM1IC0wLjUzMiwtMi4yMzMgLTEuNzY4LC0yLjcwNyAtNC4wOCwtMS42MzEgLTE1LjIzNiw3LjA5MiAtMjQuNzYyLDI5LjM2OCAtMjQuNzYyLDQ3LjI2IDAsMzguNDgyIDI3Ljk2LDczLjgyMyA4MC42MDUsNzMuODIzIDQyLjMxOSwwIDc1LjIwNiwtMzAuMTU2IDc1LjIwNiwtNzAuNDU3IDAsLTQyLjA0MyAtMjYuNTA5LC03NS44NzkgLTYzLjMwMywtNzUuODc5IC0xMi4zNjIsMCAtMjMuOTgzLDYuNDIyIC0yNy45NjEsMTQuMDA4IDAsMCAtNi4xMTcsLTIzLjI5MiAtNy42LC0yOSAtMi43NTQsLTEwLjU5NiAtMTAuMTg5LC0yMy44NzggLTE1LjE2MiwtMzEuOTgxIDExLjQxNCwtMy41MzQgMjMuNTQ0LC01LjQ0IDM2LjEyLC01LjQ0IDY3LjM3NSwwIDEyMS45OTMsNTQuNjE4IDEyMS45OTMsMTIxLjk5MiBDIDEyMS45OTMsLTU0LjYxOCA2Ny4zNzUsMCAwLDAiPgogICAgIDwvcGF0aD4KICAgIDwvZz4KICAgPC9nPgogIDwvZz4KIDwvZz4KPC9zdmc+"},30608:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/scanara-74eb19c0c921368f10ea73b9b24f8820.png"},30660:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/pomerium-authz-a9856d87e6d86bf00d4b5bc90549421a.png"},31311:(v,e,t)=>{"use strict";function i(v){var e=t(77327),i=e.keys(),s="./"+v+".",a="./default.png",M=i.find((function(v){return v.startsWith(s)})),n=null;if(M?n=M:("default"!==v&&i.includes(a)||"default"===v&&i.includes(a))&&(n=a),!n)return console.warn("Logo key '"+v+"' not found, and default.png is also missing or not in context."),null;try{var o=e(n);return o.default||o}catch(c){if(console.error("Error loading logo asset '"+n+"':",c),n!==a&&i.includes(a))try{var r=e(a);return r.default||r}catch(g){return console.error("Error loading fallback default logo '"+a+"':",g),null}return null}}t.d(e,{A:()=>i})},31580:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/clair-datasource-66c36c1191c197b4f7ad2e062d75721c.png"},32509:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDY2IiBoZWlnaHQ9IjQ0NiIgdmlld0JveD0iMCAwIDQ2NiA0NDYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPHBhdGggZD0iTTIzMi42MzkgMTUwLjA2OEwzMjAuODUyIDIzOC43N0wyMzIuNjM5IDMyNy40NzJMMTQ0LjQyNSAyMzguNzdMMjMyLjYzOSAxNTAuMDY4W
1iIgZmlsbD0iIzYxQTFEQyIgLz4KICA8cGF0aCBkPSJNMjI5LjUxMyAxNDQuMzIxTDEzOC43MDMgMjM1LjYzM0gzOC45Mjc2TDIyOS41MDkgNDQuMDAzNEwyMjkuNTEzIDE0NC4zMjFaIiBmaWxsPSIjNkFCNUZBIiAvPgogIDxwYXRoIGQ9Ik0xMzguNzA3IDI0MS45MkwyMjkuNTE2IDMzMy4yMzNWNDMzLjU1TDM4LjkzODIgMjQxLjkySDEzOC43MDdaIiBmaWxsPSIjNkFCNUZBIiAvPgogIDxwYXRoIGQ9Ik0yMzUuNzY4IDMzMy4yMjlMMzI2LjU3OCAyNDEuOTE3SDQyNi4zNUwyMzUuNzcyIDQzMy41NDdMMjM1Ljc2OCAzMzMuMjI5WiIgZmlsbD0iIzBCNDc4MSIgLz4KICA8cGF0aCBkPSJNMzI2LjU3NCAyMzUuNjNMMjM1Ljc2NSAxNDQuMzE3VjQ0TDQyNi4zNDMgMjM1LjYzSDMyNi41NzRaIiBmaWxsPSIjMTQ3QURCIiAvPgogIDxwYXRoIGQ9Ik0zMTYuODc4IDMzNS44NzJDMzA1LjYzMiAzNDcuOTQ1IDI4My42OTIgMzQ2Ljc3NiAyNjkuMjU1IDMzNC4yODhDMjU0Ljc4MyAzMjEuNzc4IDI1MS44OTkgMzAzLjg4OSAyNjEuNjEzIDI5My40MzNDMjY2LjcxMiAyODguMzI0IDI5NC43NTcgMjYyLjgxNyAzMTYuMjIyIDIzMy42MDFDMzM4Ljg5IDIwNS4zMTggMzU0Ljk3NyAxNzMuMzI0IDM2My45NTUgMTc2Ljc5OUMzNzIuNzE0IDE3OS43NjIgMzcyLjc0MSAyMjAuMzE4IDM1OS40NjkgMjU3LjY4NUMzNDcuNzM3IDI5NS42NTggMzIyLjcwNSAzMzAuNDQyIDMxNi44NzggMzM1Ljg3MloiIGZpbGw9IiMxQzUyODYiIC8+CiAgPHBhdGggZD0iTTI5MC40MjggMjgyLjU1N0MzMDEuNjgzIDI3OC44NDEgMzYwLjM3IDI1MS4zNTQgMzYxLjgyOCAyNTAuNTY1QzM2MS4wOTQgMjUyLjk0NCAzNjAuMzA4IDI1NS4zMjEgMzU5LjQ2OCAyNTcuNjg2QzM0Ny43MzUgMjk1LjY2IDMyMi43MDUgMzMwLjQ0MyAzMTYuODc3IDMzNS44NzJDMzA1LjYzMSAzNDcuOTQ1IDI4My42OTEgMzQ2Ljc3NiAyNjkuMjU0IDMzNC4yODhDMjYzLjgwNCAzMjkuNTc3IDI1OS45OTkgMzI0LjEwMyAyNTcuODkgMzE4LjU1MUMyNTguNDQzIDMxNS44NTYgMjU5LjQgMjkyLjgwMiAyOTAuNDI4IDI4Mi41NTdaIiBmaWxsPSIjMUM2MEExIiAvPgogIDxwYXRoIGQ9Ik0zMjcuNDAzIDM2Ny43MDZDMzEyLjIyMyAzNzQuMTcxIDI5Mi42NSAzNjQuMTkxIDI4NC41MjggMzQ2LjkxN0MyNzYuMzg0IDMyOS42MDggMjgxLjAxNSAzMTIuMDg4IDI5NC4xMzcgMzA2LjQ3OUMzMDAuODcxIDMwMy44ODIgMzM2Ljg1OSAyOTEuOTY0IDM2OC4zNCAyNzMuOTgyQzQwMC41NDEgMjU3LjM0MyA0MjguMjM1IDIzNC42NCA0MzUuMDI3IDI0MS40NjJDNDQxLjgyOCAyNDcuNzI3IDQyNS4zODEgMjg0Ljc5OSAzOTguMDc3IDMxMy41NTVDMzcxLjkzNCAzNDMuNDkgMzM0LjkzMyAzNjUuMTEgMzI3LjQwMyAzNjcuNzA2WiIgZmlsbD0iIzFENkVCQSIgLz4KICA8cGF0aCBkPSJNMzkzLjQ4MSAyODIuNzU4QzM5MS43ODkgMjg3LjU0OCAzODkuODgyIDI5Mi4zNTYgMzg3Ljc0NyAyOTcuMDkyQzM3Mi45MjcgMzMzLjk3IDM0NS4xMTcgMzY2LjU3NyAzMzguODYyIDM3MS41MDdDMzI2LjY2MSAzODIuNjEzIDMwNC44OTMgMzc5LjY0MiAyOTEuNTMyIDM2Ni4wMDdDMjc4LjEzOSAzNTIuMzQ5IDI3Ni43MzggMzM0LjI4MiAyODcuMjc4IDMyNC42NjJDMjg4LjMyNSAzMjMuNzczIDM4Ny45MDEgMjg1LjQ2MiAzOTMuNDgxIDI4Mi43NThaIiBmaWxsPSIjMjI3RkQ3IiAvPgogIDxwYXRoIGQ9Ik0zMTUuMzc1IDM5Ni4zNjFDMjk4Ljg3OCAzOTYuMTA5IDI4NS4wMzkgMzc5LjA0NCAyODQuNjI3IDM1OS45NjFDMjg0LjIwOSAzNDAuODM2IDI5NS41NTMgMzI2LjcwNCAzMDkuODIyIDMyNi45MDNDMzE3LjAzMSAzMjcuMjY0IDM1NC43NTggMzMwLjk3OCAzOTAuODI3IDMyNy4zMjFDNDI3LjAwOSAzMjUuMTg0IDQ2MS41MzQgMzE1LjY3NSA0NjQuOTczIDMyNC42NjhDNDY4LjY0NiAzMzMuMTU0IDQzOC41NjggMzYwLjM2IDQwMS45NDMgMzc1LjU1OEMzNjUuOTAyIDM5Mi4zMDUgMzIzLjMxIDM5Ny4wNDcgMzE1LjM3NSAzOTYuMzYxWiIgZmlsbD0iIzM5OTBFMCIgLz4KICA8cGF0aCBkPSJNMTQ4LjQwMiAzMzUuODcyQzE1OS42NDggMzQ3Ljk0NSAxODEuNTg3IDM0Ni43NzYgMTk2LjAyNSAzMzQuMjg4QzIxMC40OTcgMzIxLjc3OCAyMTMuMzgxIDMwMy44ODkgMjAzLjY2NyAyOTMuNDMzQzE5OC41NjcgMjg4LjMyNCAxNzAuNTIzIDI2Mi44MTcgMTQ5LjA1OCAyMzMuNjAxQzEyNi4zOSAyMDUuMzE4IDExMC4zMDMgMTczLjMyNCAxMDEuMzI1IDE3Ni43OTlDOTIuNTY1NSAxNzkuNzYyIDkyLjUzOTEgMjIwLjMxOCAxMDUuODExIDI1Ny42ODVDMTE3LjU0MyAyOTUuNjU4IDE0Mi41NzUgMzMwLjQ0MiAxNDguNDAyIDMzNS44NzJaIiBmaWxsPSIjMUM1Mjg2IiAvPgogIDxwYXRoIGQ9Ik0xNzQuODUyIDI4Mi41NTdDMTYzLjU5NyAyNzguODQxIDEwNC45MSAyNTEuMzU0IDEwMy40NTIgMjUwLjU2NUMxMDQuMTg2IDI1Mi45NDQgMTA0Ljk3MiAyNTUuMzIxIDEwNS44MTIgMjU3LjY4NkMxMTcuNTQ1IDI5NS42NiAxNDIuNTc1IDMzMC40NDMgMTQ4LjQwMyAzMzUuODcyQzE1OS42NDkgMzQ3Ljk0NSAxODEuNTg5IDM0Ni43NzYgMTk2LjAyNiAzMzQuMjg4QzIwMS40NzYgMzI5LjU3NyAyMDUuMjgxIDMyNC4xMDMgMjA3LjM5IDMxOC41NTFDMjA2LjgzNyAzMTUuODU2IDIwNS44OCAyOTIuODAyIDE3NC44NTIgMjgyLjU1N1oiIGZpbGw9IiMxQzYwQTEiIC8+CiAgPHBhdGggZD0iTTEzNy44NzcgMzY3LjcwNkMxNTMuMDU3IDM3NC4xNzEgMTcyLjYzIDM2NC4xOTEgMTgwLjc1MiAzNDYuOTE3QzE4OC44OTYgMzI5LjYwOCAxODQuMjY1IDMxMi4wODggMTcxLjE0NCAzMDYuNDc5QzE2NC40MDkgMzAzLjg4MiAxMjguNDIxIDI5MS45NjQgOTYuOTQwNiAyNzMuOTgyQzY0LjczOSAyNTcuMzQzIDM3LjA0NDkgMjM0LjY0IDMwLjI1MjkgMjQxLjQ2MkMyMy40NTE4IDI0Ny43MjcgMzkuODk5MyAyODQuNzk5IDY3LjIwMjYgMzEzLjU1NUM5My4zNDY1IDM0My40OSAxMzAuMzQ4IDM2NS4xMSAxMzcuODc3IDM2Ny43MDZaIiBmaWxsPSIjMUQ2RUJBIiAvPgogIDxwYXRoIGQ9Ik03MC43MTYxIDI4Mi43NThDNzIuNDA4MyAyODcuNTQ4IDc0LjMxNTUgMjkyLjM1NiA3Ni40NTEgMjk3LjA5MkM5MS4yNzA1IDMzMy45NyAxMTkuMDgxIDM2Ni41NzYgMTI1LjMzNiAzNzEuNTA2QzEzNy41MzcgMzgyLjYxMyAxNTkuMzA2IDM3OS42NDEgMTcyLjY2NiAzNjYuMDA3QzE4Ni4wNTkgMzUyLjM0OCAxODcuNDYgMzM0LjI4MSAxNzYuOTIgMzI0LjY2MUMxNzUuODczIDMyMy43NzMgNzYuMjk2MiAyODUuNDYyIDcwLjcxNjEgMjgyLjc1OFoiIGZpbGw9IiMyMjdGRDciIC8+CiAgPHBhdGggZD0iTTE0OS45MDQgMzk2LjM2MkMxNjYuNDAxIDM5Ni4xMDkgMTgwLjI0IDM3OS4wNDUgMTgwLjY1MiAzNTkuOTYxQzE4MS4wNyAzNDAuODM2IDE2OS43MjYgMzI2LjcwNCAxNTUuNDU4IDMyNi45MDNDMTQ4LjI0OSAzMjcuMjY0IDExMC41MjEgMzMwLjk3OCA3NC40NTI4IDMyNy4zMjFDMzguMjY5MiAzMjUuMTgzIDMuNzQzOTYgMzE1LjY3NiAwLjMwNDM0MyAzMjQuNjY5Qy0zLjM2ODgyIDMzMy4xNTUgMjYuNzA5OSAzNjAuMzYxIDYzLjMzNDMgMzc1LjU1OUM5OS4zNzggMzkyLjMwNSAxNDEuOTcgMzk3LjA0NyAxNDkuOTA0IDM5Ni4z
1NjJaIiBmaWxsPSIjMzk5MEUwIiAvPgogIDxwYXRoIGQ9Ik0zNDguNjcyIDM3My40MjlDMzQ4LjY3MiA0MzcuNTEyIDI5Ni43MjMgNDQ2IDIzMi42NDEgNDQ2QzE2OC41NTggNDQ2IDExNi42MDkgNDM3LjUxMSAxMTYuNjA5IDM3My40MjlDMTE2LjYwOSAzMDkuMzQ3IDE2OC41NTcgMjQ5LjE5NiAyMzIuNjQgMjQ5LjE5NkMyOTYuNzIzIDI0OS4xOTYgMzQ4LjY3MiAzMDkuMzQ3IDM0OC42NzIgMzczLjQyOVoiIGZpbGw9InVybCgjcGFpbnQwX2xpbmVhcl8wXzEpIiAvPgogIDxwYXRoIGQ9Ik0yMTAuNDQ3IDI4MC40MTJDMjAwLjUzMiAyODMuODMgMTkxLjg0MiAyODkuMTM0IDE4NC42MTcgMjk2LjE3N0MxODEuODAxIDI5OC45MjMgMTc3LjI5MiAyOTguODY2IDE3NC41NDYgMjk2LjA0OUMxNzEuOCAyOTMuMjMyIDE3MS44NTggMjg4LjcyMyAxNzQuNjc1IDI4NS45NzhDMTgzLjQxNSAyNzcuNDU3IDE5My44ODggMjcxLjA1NCAyMDUuODAzIDI2Ni45NDVDMjA5LjUyMiAyNjUuNjYzIDIxMy41ODEgMjY3LjYzNiAyMTQuODU3IDI3MS4zNTZDMjE2LjU3NiAyNzYuMzYxIDIxMS40NzQgMjgwLjA1NyAyMTAuNDQ3IDI4MC40MTJaIiBmaWxsPSIjRDVFQkZGIiAvPgogIDxwYXRoIGQ9Ik0xNjAuNDc0IDM1OC42NDlDMTY3LjcyIDM1OC42NDkgMTczLjU5NCAzNTIuNzc1IDE3My41OTQgMzQ1LjUyOUMxNzMuNTk0IDMzOC4yODQgMTY3LjcyIDMzMi40MSAxNjAuNDc0IDMzMi40MUMxNTMuMjI5IDMzMi40MSAxNDcuMzU1IDMzOC4yODQgMTQ3LjM1NSAzNDUuNTI5QzE0Ny4zNTUgMzUyLjc3NSAxNTMuMjI5IDM1OC42NDkgMTYwLjQ3NCAzNTguNjQ5WiIgZmlsbD0iYmxhY2siIC8+CiAgPHBhdGggZD0iTTMwNi40MzkgMzU4LjY0OUMzMTMuNjg1IDM1OC42NDkgMzE5LjU1OSAzNTIuNzc1IDMxOS41NTkgMzQ1LjUyOUMzMTkuNTU5IDMzOC4yODQgMzEzLjY4NSAzMzIuNDEgMzA2LjQzOSAzMzIuNDFDMjk5LjE5NCAzMzIuNDEgMjkzLjMyIDMzOC4yODQgMjkzLjMyIDM0NS41MjlDMjkzLjMyIDM1Mi43NzUgMjk5LjE5NCAzNTguNjQ5IDMwNi40MzkgMzU4LjY0OVoiIGZpbGw9ImJsYWNrIiAvPgogIDxwYXRoIGQ9Ik0yMzEuMzU0IDM5OS4yMjlDMjQwLjI4MSAzOTkuMjI5IDI0OC41NDUgMzk3LjkzOSAyNTYuMTQ3IDM5NS4zNThDMjYzLjc0OSAzOTIuNzc4IDI3MC43OTIgMzg4Ljk3NyAyNzcuMjc4IDM4My45NTZMMjgxLjk4NiAzOTAuODZDMjc1LjM2IDM5Ni4zIDI2Ny43MjQgNDAwLjY1OSAyNTkuMDc2IDQwMy45MzZDMjUwLjQ5OCA0MDcuMjg0IDI0MS4yNTcgNDA4Ljk1OCAyMzEuMzU0IDQwOC45NThDMjIxLjQ1MSA0MDguOTU4IDIxMi4xNzYgNDA3LjI4NCAyMDMuNTI4IDQwMy45MzZDMTk0Ljk1IDQwMC42NTkgMTg3LjM0OCAzOTYuMyAxODAuNzIzIDM5MC44NkwxODUuNDMgMzgzLjk1NkMxOTEuOTE2IDM4OC45NzcgMTk4Ljk2IDM5Mi43NzggMjA2LjU2MiAzOTUuMzU4QzIxNC4xNjMgMzk3LjkzOSAyMjIuNDI4IDM5OS4yMjkgMjMxLjM1NCAzOTkuMjI5WiIgZmlsbD0iYmxhY2siIC8+CiAgPHBhdGggZD0iTTE4Mi45NzggMzkuNDY1MkMxODMuNzc0IDM5LjU0MzggMTg0LjM4MSA0MC4yMTMxIDE4NC4zOCA0MS4wMTIyQzE4NC4zOCA0MS44MTE4IDE4My43NzQgNDIuNDgxIDE4Mi45NzggNDIuNTU5MkMxNzMuMzI3IDQzLjQwMDQgMTY0LjI4MSA0Ny42MTcxIDE1Ny40MzEgNTQuNDY2OUMxNTAuNTgxIDYxLjMxNjcgMTQ2LjM2NCA3MC4zNjI5IDE0NS41MjMgODAuMDE0M0MxNDUuNDE1IDgwLjc4NDIgMTQ0Ljc1NSA4MS4zNTU0IDE0My45NzcgODEuMzUxOUMxNDMuMiA4MS4zNDg4IDE0Mi41NDUgODAuNzcxOSAxNDIuNDQyIDgwLjAwMUMxNDEuNjAyIDcwLjM1IDEzNy4zODYgNjEuMzA0MSAxMzAuNTM1IDU0LjQ1MzJDMTIzLjY4NSA0Ny42MDI5IDExNC42MzkgNDMuMzg2OCAxMDQuOTg3IDQyLjU0NTlDMTA0LjIxOCA0Mi40MzcyIDEwMy42NDcgNDEuNzc2OCAxMDMuNjUgNDAuOTk5OEMxMDMuNjUzIDQwLjIyMjMgMTA0LjIzIDM5LjU2NjcgMTA1LjAwMSAzOS40NjU1QzExNC42NDkgMzguNjI1MyAxMjMuNjkzIDM0LjQxMDggMTMwLjU0IDI3LjU2MzNDMTM3LjM4OCAyMC43MTU3IDE0MS42MDIgMTEuNjcxOCAxNDIuNDQzIDIuMDI0MDNDMTQyLjU0NCAxLjI1MzE3IDE0My4xOTkgMC42NzYyMzcgMTQzLjk3NyAwLjY3MjY4NUMxNDQuNzU0IDAuNjY5MTMzIDE0NS40MTUgMS4yNDAzNCAxNDUuNTIzIDIuMDEwMzJDMTQ2LjM2NCAxMS42NjE4IDE1MC41ODEgMjAuNzA3OSAxNTcuNDMxIDI3LjU1NzdDMTY0LjI4MSAzNC40MDc5IDE3My4zMjcgMzguNjI0NCAxODIuOTc4IDM5LjQ2NTRMMTgyLjk3OCAzOS40NjUyWiIgZmlsbD0iIzRBOTJGRiIgLz4KICA8cGF0aCBkPSJNMzk1LjkxNCAxMDMuMTc2QzM5Ni4zNDEgMTAzLjIxOCAzOTYuNjY3IDEwMy41NzcgMzk2LjY2NyAxMDQuMDA2QzM5Ni42NjcgMTA0LjQzNSAzOTYuMzQxIDEwNC43OTQgMzk1LjkxNCAxMDQuODM2QzM5MC43MzYgMTA1LjI4OCAzODUuODgyIDEwNy41NSAzODIuMjA2IDExMS4yMjZDMzc4LjUzMSAxMTQuOTAxIDM3Ni4yNjggMTE5Ljc1NSAzNzUuODE3IDEyNC45MzRDMzc1Ljc1OSAxMjUuMzQ3IDM3NS40MDQgMTI1LjY1MyAzNzQuOTg3IDEyNS42NTFDMzc0LjU3IDEyNS42NSAzNzQuMjE5IDEyNS4zNCAzNzQuMTY0IDEyNC45MjZDMzczLjcxMyAxMTkuNzQ4IDM3MS40NTEgMTE0Ljg5NCAzNjcuNzc1IDExMS4yMThDMzY0LjA5OSAxMDcuNTQyIDM1OS4yNDUgMTA1LjI4IDM1NC4wNjYgMTA0LjgyOUMzNTMuNjUzIDEwNC43NzEgMzUzLjM0NyAxMDQuNDE2IDM1My4zNDkgMTAzLjk5OUMzNTMuMzUxIDEwMy41ODIgMzUzLjY2IDEwMy4yMyAzNTQuMDc0IDEwMy4xNzZDMzU5LjI1MSAxMDIuNzI1IDM2NC4xMDMgMTAwLjQ2NCAzNjcuNzc3IDk2Ljc4OTdDMzcxLjQ1MiA5My4xMTU1IDM3My43MTMgODguMjYyOCAzNzQuMTY0IDgzLjA4NkMzNzQuMjE4IDgyLjY3MjQgMzc0LjU3IDgyLjM2MjkgMzc0Ljk4NyA4Mi4zNjA5QzM3NS40MDQgODIuMzU5IDM3NS43NTkgODIuNjY1NSAzNzUuODE3IDgzLjA3ODdDMzc2LjI2OCA4OC4yNTc0IDM3OC41MzEgOTMuMTExMyAzODIuMjA2IDk2Ljc4Njd
1DMzg1Ljg4MiAxMDAuNDYyIDM5MC43MzUgMTAyLjcyNSAzOTUuOTE0IDEwMy4xNzZMMzk1LjkxNCAxMDMuMTc2WiIgZmlsbD0iIzRBOTJGRiIgLz4KICA8ZGVmcz4KICAgIDxsaW5lYXJHcmFkaWVudCBpZD0icGFpbnQwX2xpbmVhcl8wXzEiIHgxPSIyMzIuNjQxIiB5MT0iMjQ5LjE5NiIgeDI9IjIzMi42NDEiIHkyPSI0NDYiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj4KICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iIzg2QkFFQiIgLz4KICAgICAgPHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjMDA1Q0IzIiAvPgogICAgPC9saW5lYXJHcmFkaWVudD4KICA8L2RlZnM+Cjwvc3ZnPgo="},32631:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/principled-evolution-42b792ecf6e05c3bcc0e3e25b9f9707f.svg"},32670:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/scalr-iacp-718cbd4da74e1c671160b96bba74a1e9.png"},33090:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyBhcmlhLWxhYmVsPSJDYXBpdGFsIE9uZSIgdmVyc2lvbj0iMS4xIiB2aWV3Qm94PSIwIDAgNDE4IDE1MCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KIDxwYXRoIGQ9Ik0yODMuNywxMDguNWgtLjFjLTE3LjgsMTIuNi0zOC44LDI1LjgtNjEuNSwzOS43bC0uOS41YS43LjcsMCwxLDAsLjgsMS4xbC43LS40YzE5LjMtMTAsNDEuNC0yMS45LDYzLjYtMzQuMmwuNC0uMkEyNC43LDI0LjcsMCwwLDEsMjgzLjcsMTA4LjVaTTQwMC41LDEzLjljLTI4LTMwLjktMjA4LjYtMy4xLTI4NS4zLDEzLjdsLTEuOC40YS44LjgsMCwwLDAtLjYuOC42LjYsMCwwLDAsLjguNWwxLjgtLjNDMTc5LDE3LjcsMzExLjMsMiwzMzkuNywzMC4yYzguNyw4LjYsNi43LDE5LjctMy40LDMyLjhhMjUuNywyNS43LDAsMCwxLDExLDE1LjhDMzg2LjYsNTIuNyw0MTMsMjcuNyw0MDAuNSwxMy45WiIgZmlsbD0iI2NjMjQyNyIvPgogPGcgZmlsbD0iIzAxM2Q1YiI+CiAgPHBhdGggZD0ibTEzMyA4NC4zYTEwLjQgMTAuNCAwIDAgMC02LjEgMiA5LjQgOS40IDAgMCAwLTMuMyA2Yy0wLjYgMy4xLTAuMyA1LjIgMC45IDYuNmE3LjEgNy4xIDAgMCAwIDUuMyAyIDEwLjIgMTAuMiAwIDAgMCA0LjQtMC45IDguMSA4LjEgMCAwIDAgMy4zLTIuOCAxMi41IDEyLjUgMCAwIDAgMS45LTQuNmMwLjUtMi44IDAuMS00LjgtMS4yLTYuMmE2LjcgNi43IDAgMCAwLTUuMi0yLjF6bS0zMS4xIDM4LjggOC4zLTQ2LjhoMTVsLTEuMiA2YTE0LjIgMTQuMiAwIDAgMSA2LjMtNC41IDI3IDI3IDAgMCAxIDkuNy0yYzMuOSAwIDYuMyAwLjIgOS4yIDEuN2ExMi40IDEyLjQgMCAwIDEgNiA2LjYgMTYuOCAxNi44IDAgMCAxIDAuOCA5LjUgMjAuNyAyMC43IDAgMCAxLTguNCAxMy43Yy00LjYgMy4zLTguNyA0LjItMTQuNiA0LjJhMjAuNCAyMC40IDAgMCAxLTUuMy0wLjYgMTIuMSAxMi4xIDAgMCAxLTMuNC0xLjMgMTUuNSAxNS41IDAgMCAxLTIuOC0yLjZsLTIuOCAxNi4xem0xNzMuMS0xMi4xaC0xNy40bDguOC00OC42IDE2LjkgMC40em0tODYuOC0zNS4xIDEuMi03LjEgMTcuOC0zLjgtMS45IDEwLjloOC44bC0xLjcgNy4xaC04LjVsLTUuMSAyOGgtMTcuM2w1LjItMjhoLTYuNWwxLjMtN2g2Ljd6bS0xMzguNiAyMi42YTYyLjMgNjIuMyAwIDAgMS0xNC4yIDEuNWMtOC4xIDAtMTQuNi00LTE0LjItMTEuNSAwLjItNC45IDYuMS0xNS4zIDIwLjktMTUuM2EyNC4zIDI0LjMgMCAwIDEgMTMuMyAzLjZsMi4xLTEyLjFhNDAuMyA0MC4zIDAgMCAwLTE2LjgtMi44Yy0xOS41IDAuMi0zOC4yIDktNDAuNSAyN3MyMCAyMi45IDI5LjkgMjIuOWM1LjcgMCAxMS43LTAuMyAxNy4yLTAuOHptMTg5LjctMy41LTIuOSAwLjgtNi43IDEuMmExMC44IDEwLjggMCAwIDAtNC41IDEuNCAzIDMgMCAwIDAtMS41IDIuMiAyLjIgMi4yIDAgMCAwIDAuOSAyLjRjMC45IDAuNiAyLjMgMC44IDQuMyAwLjhhMTYuMSAxNi4xIDAgMCAwIDQuNC0wLjYgMTAuMiAxMC4yIDAgMCAwIDMuNi0xLjkgNS4xIDUuMSAwIDAgMCAxLjUtMi4zIDIyLjQgMjIuNCAwIDAgMCAwLjktNHptMTguNC0xMS41Yy0wLjEgMS43LTAuNCAzLjMtMC44IDUuOGwtMy4xIDE3LjVhMy4yIDMuMiAwIDAgMCAxLjcgMy42djAuNmgtMTcuOXYtNC41YTM2IDM2IDAgMCAxLTguNiAzLjcgMzIuMiAzMi4yIDAgMCAxLTguNiAxYy01LjcgMC05LTAuNi0xMS4zLTIuNnMtMy40LTMuNC0zLjMtNi4yYTkuNSA5LjUgMCAwIDEgMi4yLTUuMiAxMy4zIDEzLjMgMCAwIDEgNC43LTMuMyAyNS40IDI1LjQgMCAwIDEgNy4xLTJjMy4yLTAuNSA3LjYtMSAxMy41LTEuNWEyNCAyNCAwIDAgMCA1LjgtMS4zYzEuMi0wLjUgMS43LTEgMS45LTJzLTAuMi0yLjgtMi42LTMuM2MtNi40LTEuMy0xOC40IDAuOC0yNC42IDIuM2wzLjMtOWExNjEuNyAxNjEuNyAwIDAgMSAyMy45LTJjMTIuNyAwLjEgMTYuOCAzLjggMTYuNyA4LjR6bS0xMDIuMiAyNy41IDYuMi0zNC45aDE3LjFsLTYuMiAzNC45em03LjItNDIuOWMwLjUtMi45IDUtNS4yIDEwLjEtNS4yczguNyAyLjMgOC4yIDUuMi01IDUuMi0xMC4xIDUuMi04LjctMi40LTguMi01LjJ6bS03Ny4yIDI2LjhhMTMgMTMgMCAwIDEtMi45IDAuOGwtNi42IDEuMmExMC44IDEwLjggMCAwIDAtNC42IDEuNCAzLjIgMy4yIDAgMCAwLTEuNSAyLjMgMi4xIDIuMSAwIDAgMCAxIDIuMyA3LjMgNy4zIDAgMCAwIDQuMiAwLjkgMTYuMiAxNi4yIDAgMCAwIDQuNC0wLjcgMTAuMiAxMC4yIDAgMCAwIDMuNi0xLjkgNS4xIDUuMSAwIDAgMCAxLjUtMi4zIDE0LjcgMTQuNyAwIDAgMCAwLjktNHptMTguNC0xMS40Yy0wLjEgMS43LTAuNCAzLjItMC44IDUuOGwtMy4xIDE3LjRhMy4yIDMuMiAwIDAgMCAxLjcgMy42djAuN2gtMTcuOXYtNC40YTQwLjIgNDAuMiAwIDAgMS04LjYgMy42IDMxLjggMzEuOCAwIDAgMS04LjUgMS4xYy01LjggMC05LjEtMC42LTExLjMtMi42cy0zLjUtMy40LTMuNC02LjNhOS42IDkuNiAwIDAgMSAyLjItNS4xIDEzLjUgMTMuNSAwIDAgMSA0LjctMy40IDI4LjkgMjguOSAwIDAgMSA3LjItMmMzLjEtMC41IDcuNS0xIDEzLjQtMS41YTE1LjcgMTUuNyAwIDAgMCA1LjgtMS4zYzEuMy0wLjUgMS43LTEgMS45LTJzLTAuMi0yLjgtMi42LTMuM2MtNi40LTEuMi0xOC40IDAuOC0yNC42IDIuNGwzLjMtOS4xYTE2Mi44IDE2Mi44IDAgMCAxIDIzLjktMmMxMi43IDAgMTYuOCAzLjcgMTYuNyA4LjR6Ii8+CiAgPHBhdGggZD0ibTM0NC42IDg4
1LjIgMy45LTAuNGMxLjMgMCAyLjQgMC4zIDIuNSAxLjVzLTEuMyA2LTEuNiA3LjNsLTIuNyAxMS43Yy0xIDQuOC0yLjIgOS44LTMuMiAxMy44aDYuOGwzLjgtMTguNmMxMS44LTEyLjIgMTYuMy0xNi4yIDE5LTE2LjJhMiAyIDAgMCAxIDIuMiAyLjJjMC4xIDIuMS0xLjMgNy0xLjcgOC40bC00IDEzLjVjLTAuOCAzLjEtMS41IDUuOC0xLjQgNy44czEuOSA0LjMgNC41IDQuM2M1IDAgOC43LTUuMiAxMS44LTEwLjNsLTAuOS0xLjdjLTEuMyAyLTQuMiA2LjUtNi42IDYuNS0wLjcgMC0xLjQtMC41LTEuNC0xLjdhMjAuNSAyMC41IDAgMCAxIDEtNS41bDQuNC0xNS45YzEuMS00LjQgMS43LTcuMiAxLjctOC43cy0xLjktNC4zLTQuNS00LjNjLTQuNSAwLTEwLjUgMy4zLTIzLjEgMTcuOGgtMC4ybDEuNi03LjFjMC45LTMuOSAxLjctNy45IDIuNS0xMC43YTExNC41IDExNC41IDAgMCAxLTE0LjUgNC4xem02Ni45IDAuNGMtMC4xLTIuOC0xLjUtNC43LTQuNC00LjctNyAwLTE0LjQgMTMuNy0xNS43IDE5LjIgMTEuNCAwIDIwLjQtNi44IDIwLjEtMTQuNXptMS41IDIxLjUgMS4zIDAuOWMtMy40IDYuOS0xMC4zIDEyLjUtMTguNSAxMi41LTYuNyAwLTEyLjEtNC40LTEyLjQtMTIuNy0wLjYtMTUgMTMuNS0yOC45IDI0LjktMjguOSA0LjkgMCA5LjUgMi4yIDkuNyA3LjUgMC40IDExLjktMTYuMyAxNS41LTI3LjMgMTUuN2ExNC4zIDE0LjMgMCAwIDAtMC40IDQuNGMwLjIgNSAzLjIgOS4xIDkuMyA5LjFzMTAuNy00LjMgMTMuNC04LjV6bS0xMTcuOS05LjdjMC4zIDEwLjkgNy4yIDE5LjggMTYuMiAxOS44IDE3LjQgMCAyNC44LTIxLjQgMjQuMy0zNS43LTAuNC0xMC45LTcuNC0xOS44LTE2LjQtMTkuOC0xNSAwLTI0LjcgMjEuMy0yNC4xIDM1Ljd6bS05LjItMC42Yy0wLjctMTguNiAxMy45LTM3LjYgMzUtMzcuNiAxNC4yIDAgMjMuNCA5LjUgMjMuOSAyMy45IDAuNyAxOS42LTEyLjkgMzcuNi0zNSAzNy42LTE0LjIgMC0yMy40LTkuNC0yMy45LTIzLjl6Ii8+CiA8L2c+Cjwvc3ZnPgo="},33241:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/marsh-mclennan-dark-c8187880d86a7f7cac531f3ff7c7537d.svg"},33244:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/graphql-fc6b9451733c620ceb86a49ca3953d65.png"},33599:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/terraform-bd24e438b686b0d145607687550462b6.png"},33671:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/alfred-4a9277f7b9762a25a4ed3354f7243822.png"},34603:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i="data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJCbGFjay1Mb2dvIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHg9IjAiIHk9IjAiIHZpZXdCb3g9IjAgMCAxODYgMzUuMSIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PHBhdGggZD0iTTU1LjEgMTcuNWMtLjktLjUtMi4yLS45LTMuNy0xLjItMS42LS40LTIuNi0uNy0zLjItMXMtLjgtLjgtLjgtMS40YzAtLjcuMy0xLjIuOC0xLjYuNi0uNCAxLjMtLjYgMi4yLS42IDEgMCAxLjcuMyAyLjMuOHMuOSAxLjIuOSAxLjloNGMwLTEuNy0uNy0zLjEtMi00LjEtMS4zLTEuMS0zLjEtMS42LTUuMi0xLjYtMiAwLTMuNy41LTUgMS42LTEuMyAxLTIgMi4zLTIgMy45IDAgMS45IDEgMy4zIDMgNC4yLjkuNCAyLjEuOCAzLjQgMS4xczIuNC42IDMgMSAuOS45LjkgMS42LS4zIDEuMi0uOCAxLjYtMS40LjYtMi40LjZjLTEuMSAwLTItLjMtMi42LS44LS43LS41LTEtMS4zLTEuMS0yLjJoLTMuOWMwIDEuMS4zIDIuMSAxIDNzMS41IDEuNyAyLjcgMi4yIDIuNS44IDMuOS44YzIuMiAwIDMuOS0uNSA1LjMtMS41IDEuMy0xIDItMi4zIDItMy45IDAtMS0uMi0xLjgtLjctMi41LS40LS45LTEuMS0xLjUtMi0xLjl6bTE3IDQuMmMtLjcgMS40LTIgMi4xLTQgMi4xLTEuOSAwLTIuOC0xLjEtMi44LTMuNFY4LjhoLTR2MTEuN2MwIDIuMi41IDMuOCAxLjUgNSAxIDEuMSAyLjUgMS43IDQuNCAxLjcgMi4yIDAgMy45LS43IDUuMS0yLjFsLjEgMS44aDMuOHYtMThoLTRsLS4xIDEyLjh6bTE5LjUtMTEuMWMtMS4yLTEuNC0yLjgtMi4xLTQuOC0yLjEtMi4yIDAtMy45LjgtNS4yIDIuNS0xLjMgMS43LTIgMy45LTIgNi43IDAgMyAuNyA1LjMgMiA3czMuMSAyLjUgNS4yIDIuNWMxLjkgMCAzLjUtLjYgNC43LTEuOXYxLjJjMCAxLjQtLjQgMi41LTEuMiAzLjItLjguNy0xLjggMS4xLTMuMiAxLjEtMS44IDAtMy40LS43LTQuNi0yLjJMODAuNiAzMWMuNy45IDEuNiAxLjYgMi45IDIuMiAxLjMuNSAyLjYuOCAzLjkuOCAyLjUgMCA0LjUtLjcgNi0yIDEuNS0xLjQgMi4yLTMuMiAyLjItNS42VjguOEg5MmwtLjQgMS44em0tLjIgMTEuMWMtLjggMS40LTIgMi4xLTMuNiAyLjEtMS4zIDAtMi4zLS41LTMuMS0xLjYtLjctMS0xLjEtMi41LTEuMS00LjMgMC0yLjEuNC0zLjYgMS4xLTQuN3MxLjgtMS42IDMuMS0xLjZjMS42IDAgMi44LjcgMy42IDJ2OC4xem0yMi40LTcuMmMwLTEuOS0uNy0zLjQtMS45LTQuNS0xLjMtMS4xLTIuOS0xLjYtNS0xLjYtMS40IDAtMi42LjItMy44LjctMS4xLjUtMiAxLjItMi43IDItLjcuOS0xIDEuOC0xIDIuOGg0YzAtLjcuMy0xLjMuOS0xLjhzMS4zLS43IDIuMy0uN2MxLjEgMCAxLjkuMyAyLjQuOC41LjYuOCAxLjMuOCAyLjJ2MS4yaC0yLjVjLTIuNyAwLTQuNy41LTYuMSAxLjVzLTIuMSAyLjUtMi4xIDQuNGMwIDEuNS42IDIuOCAxLjcgMy44czIuNiAxLjUgNC40IDEuNWMxLjkgMCAzLjQtLjcgNC43LTIgLjEuOC4zIDEuMy41IDEuN2g0LjF2LS4zYy0uNS0xLS43LTIuMy0uNy0zLjl2LTcuOHptLTQgNy4yYy0uNC43LS45IDEuMi0xLjYgMS42cy0xLjUuNi0yLjMuNmMtLjkgMC0xLjYtLjItMi4xLS43cy0uOC0xLjEtLjgtMS45YzAtMSAuNC0xLjcgMS4xLTIuMi44LS41IDEuOS0uOCAzLjQtLjhoMi4ydjMuNGguMXpNMTIyIDEwLjhsLS4xLTJIMTE4djE4aDRWMTQuNWMuNi0xLjQgMS45LTIuMSAzLjctMi4xLjYgMCAxLjEgMCAxLjYuMVY4LjdjLS40LS4yLS45LS4yLTEuNC0uMi0xLjUtLjEtMi45LjctMy45IDIuM3ptMTEgMS4zYzEtMS4zIDIuNC0xLjkgNC4yLTEuO
1SAxLjQgMCAyLjYuNCAzLjUgMS4zLjkuOSAxLjQgMiAxLjUgMy40aDEuOWMtLjEtMS45LS44LTMuNS0yLjEtNC42LTEuMy0xLjItMi45LTEuOC00LjktMS44LTEuNiAwLTIuOS40LTQuMSAxLjEtMS4yLjctMi4xIDEuOC0yLjcgMy4yLS42IDEuNC0uOSAyLjktLjkgNC43di41YzAgMi44LjcgNSAyLjEgNi42IDEuNCAxLjYgMy4zIDIuNSA1LjYgMi41IDEuMiAwIDIuMy0uMyAzLjQtLjggMS0uNSAxLjktMS4yIDIuNS0yLjFzMS0xLjkgMS0zaC0xLjljLS4xIDEuMi0uNiAyLjMtMS41IDMtLjkuOC0yLjEgMS4yLTMuNSAxLjItMS44IDAtMy4yLS42LTQuMi0xLjlzLTEuNS0zLjEtMS41LTUuNHYtLjZjLjEtMi4zLjYtNC4xIDEuNi01LjR6bTE3LjEtLjVWOC43aC0xLjl2MThoMlYxNC40Yy40LTEuMyAxLTIuMyAxLjgtMyAuOS0uNyAxLjktMSAzLjItMSAuNSAwIC45IDAgMS4zLjFWOC43Yy0uMy0uMS0uOC0uMi0xLjMtLjItMi4zLS4xLTQgMS01LjEgMy4xem0yOC44LTMuMmMtMS4zIDAtMi41LjMtMy42LjktMS4xLjYtMS45IDEuNS0yLjYgMi42LS44LTIuMy0yLjYtMy41LTUuNC0zLjUtMS4yIDAtMi4zLjMtMy4zLjhzLTEuOCAxLjQtMi41IDIuNGwtLjEtMi45aC0xLjl2MThoMlYxNC40Yy40LTEuNCAxLjEtMi41IDItMy4yczItMS4xIDMuMi0xLjFjMS41IDAgMi42LjQgMy4zIDEuMS43LjggMS4xIDEuOSAxLjEgMy41djEyaDJWMTQuOWMuMS0xLjMuNy0yLjQgMS42LTMuMyAxLS45IDIuMi0xLjQgMy42LTEuNCAxLjUgMCAyLjcuNCAzLjMgMS4yLjcuOCAxIDIgMSAzLjZ2MTEuOWgydi0xMmMuMS00LjQtMS44LTYuNS01LjctNi41ek0xLjIgNy4ydjQuM2wxNy4xIDYuNyAxNy02LjdWNy4yTDE4LjMuNXoiLz48cGF0aCBkPSJNMTguMyAyMC41TDMuMiAxNC42bC0yIC44djQuM2wxNy4xIDYuNyAxNy02Ljd2LTQuM2wtMi0uOHoiLz48cGF0aCBkPSJNMTguMyAyOC43TDMuMiAyMi44bC0yIC44VjI4bDE3LjEgNi42IDE3LTYuNnYtNC40bC0xLjktLjh6Ii8+PC9zdmc+"},35323:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/open-service-mesh-8feec84163a6ac26b4036dc604c99861.png"},35379:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/swift-opa-b9243846be025ad0c89d459bde0d339f.png"},35558:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/opa-golang-92a1aebfb4ea664b7d9c550b29f450a5.png"},35635:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/kubernetes-authorization-ce1f338cb33ce19111406f1a144dce2e.png"},37166:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i="data:image/png;base64,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"},37215:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAYAAAD0eNT6AAAbfklEQVR42u3df5Tdd13n8dfnTiZpfra0FIRS8Ac/pJSC1GXFCiaTtFqx6FlNtbhwFJayKrCKQKVpy8Vm0oKKx7oqrSsqLojturta93Rtmx9SK60IIlrY0gIW29qfQTszaZPJ3M/+QcAQkzbJvTPfe+f7eJzDoaR3vvf9vYfJ+znfe+feBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYbErTAyx267c8ckIy9vJa84Ja6vM7Nc+rqccn5bgkq5IsbXpGoBnb7rq36RGatifJdJJ/TsrOlHp7aj6b1Nsyt/ej+e0X7Gx6wMVMAMyD9ZPTp/VqfqwkZ6bkRUk6Tc8EDB8B8Lh6ST6VmhtS5j6Uq57/d00PtNgIgAE5p1tXzIxPvz61vH7f0gd4XALgiPxNUj+QrP5Arnr6rqaHWQwEQJ/O7j68Zs/SY95Ua/2ZJCc2PQ8wOgTAUXkgKb+SvXO/ng9861TTw4wyl6b7MLF55pzd48tuq7VOxvIHWAhPSeplWdK5PW+8/bVJ9YPsUfLAHYWJzY8+K2Xud5Ksa3oWYHS5AjAQN2ZJ53X5jWf/Y9ODjBpXAI7QxOaZc1LmPhnLH2AYbMje3t/k/M+9sulBRo0AOFy1lnWbpyZT6h8nOb7pcQD4mhOSXJs33v7upgcZJZ4COAwbr65jD39u+jdTyhuangVYPDwFMA9KfjdPu+cN6a7b2/Qow84VgCew8eo6tvOOXX9o+QOMgJofz70nfTgb61jToww7AfB4ai0PfW7mypr6Q02PAsBh25jj7/zNpocYdgLgcaybnN5cSl7f9BwAHKFa35Dzb+82PcYwEwCHsG5y5pWllHc2PQcAR6tckjfc8aqmpxhWAuAgztq86+SS+nvxIkmAUVZS6u/k9Z95VtODDCMBcKBay95O73fzlV8rAWC0HZ/Okt9qeohhJAAOsH5y5tWpmWh6DgAGpOTMvOGOc5seY9gIgP2c3X14TU1+qek5ABiwUt+Xn7ptVdNjDBMBsJ89S495U0q+oek5ABi4k7J3/KeaHmKYCIB9zunWFTX1vzQ9BwDz5q05/94VTQ8xLATAPjPj069PzVOangOAefPUZOonmh5iWAiAr6rFG/4ALHalCIB9BECStZNTp6bkRU3PAcA8qzk953/2hU2PMQwEQJJSy2uangGABVKWnNf0CMNAACTplJzV9AwALJCaM5seYRi0PgDWb3nkhJqc1vQcACyU+m35ybue1PQUTWt9ACRjL4/HAaBNxtLb811ND9G01i++Xo0XgwC0Ta93atMjNK31AZBSn9f0CAAssFJa/3d/6wOg1Dy36RkAWGAlAqDpAYbAiU0PAMACq3ly0yM0TQAkq5seAIAFt6bpAZomAAQAQBsd2/QATRMAydKmBwBgwS1reoCmCQAAaCEBAAAtJAAAoIUEAAC0kAAAgBYSAADQQgIAAFpIAABACwkAAGghAQAALSQAAKCFBAAAtJAAAIAWEgAA0EICAABaSAAAQAsJAABoIQEAAC0kAACghQQAALSQAACAFhIAANBCAgAAWkgAAEALCQAAaCEBAAAtJAAAoIUEAAC0kAAAgBYSAADQQgIAAFpIAABACwkAAGghAQAALSQAAKCFBAAAtJAAAIAWEgAA0EICAABaSAAAQAsJAABoIQEAAC0kAACghQQAALSQAACAFhIAANBCAgAAWkgAAEALCQAAaCEBAAAtJAAAoIUEAAC0kAAAgBYSAADQQgIAAFpIAABACwkAAGghAQAALSQAAKCFBAAAtJAAAIAWEgAA0EICAABaaEnTA9Bu2zatKk3PAE2p16c2PUOblauanqBZrgAAQAsJAABoIQEAAC0kAACghQQAALSQAACAFhIAANBCAgAAWkgAAEALCQAAaCEBAAAtJAAAoIUEAAC0kAAAgBYSAADQQgIAAFpIAABACwkAAGghAQAALSQAAKCFBAAAtJAAAIAWEgAA0EICAABaSAAAQAsJAABoIQEAAC0kAACghQQAALSQAACAFhIAANBCAgAAWkgAAEALCQAAaCEBAAAtJAAAoIUEAAC00JKmB4DFYm33y8d1liw5rSanllK+OSVPr7WcXEo9NrWuTMoxScaTOpWUx5JMJ/XepNxVki+WXv3bR5c+9ombLzhxqulzARY/AQBH6cz3zDx9bq6uT81EUl+RlG9OkvLVG9SkpCb16/40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"},37606:v=>{"use strict";v.exports=!0},37784:(v,e,t)=>{"use strict";t.d(e,{A:()=>i});const i=t.p+"assets/images/logo-92a1aebfb4ea664b7d9c550b29f450a5.png"},38273:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/atmos-3a25959d03902e3bb97f5335556f193a.png"},38317:(v,e,t)=>{"use strict";t.r(e),t.d(e,{contentTitle:()=>M,default:()=>r,frontMatter:()=>a,toc:()=>n});var i=t(74848),s=t(28453);const a={},M=void 0,n=[];function o(v){const e={a:"a",p:"p",...(0,s.R)(),...v.components};return(0,i.jsxs)(e.p,{children:["Applications can directly integrate with OPA using the\n",(0,i.jsx)(e.a,{href:"./ecosystem",children:"SDKs"})," or ",(0,i.jsx)(e.a,{href:"./docs/rest-api",children:"REST API"}),". This is great when your\napplication needs to make domain specific runtime decisions."]})}function r(v={}){const{wrapper:e}={...(0,s.R)(),...v.components};return e?(0,i.jsx)(e,{...v,children:(0,i.jsx)(o,{...v})}):o(v)}},38706:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i="data:image/png;base64,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"},38712:v=>{"use strict";v.exports=JSON.parse('{"showInput":true,"showData":false,"showTitles":false,"command":"data.kubernetes.validating.existence.deny"}')},38831:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/iptables-ab6aa055a2cc6f28d0cedd15b689d28f.png"},39750:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});
1const i=t.p+"assets/images/sql-datafiltering-b47f0de47453fac070bcafa33e06ea47.png"},39801:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/opal-e2b8066b1fb681a95f380d739f5c8c9a.png"},40870:(v,e,t)=>{"use strict";t.r(e),t.d(e,{contentTitle:()=>M,default:()=>r,frontMatter:()=>a,toc:()=>n});var i=t(74848),s=t(28453);const a={},M=void 0,n=[];function o(v){const e={a:"a",p:"p",...(0,s.R)(),...v.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(e.p,{children:"OPA can be used to control which Kubernetes resources can be created in a given\ncluster. By configuring the Kubernetes API to send admission requests to OPA, you\ncan create custom policies to enforce your organization's rules."}),"\n",(0,i.jsxs)(e.p,{children:["Browse more ",(0,i.jsx)(e.a,{href:"https://play.openpolicyagent.org/?example-group=kubernetes",children:"Kubernetes Examples"}),"\non the playground."]})]})}function r(v={}){const{wrapper:e}={...(0,s.R)(),...v.components};return e?(0,i.jsx)(e,{...v,children:(0,i.jsx)(o,{...v})}):o(v)}},41549:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i="data:image/svg+xml;base64,PHN2ZyB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOmNjPSJodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9ucyMiIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyIgeG1sbnM6c3ZnPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczpzb2RpcG9kaT0iaHR0cDovL3NvZGlwb2RpLnNvdXJjZWZvcmdlLm5ldC9EVEQvc29kaXBvZGktMC5kdGQiIHhtbG5zOmlua3NjYXBlPSJodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy9uYW1lc3BhY2VzL2lua3NjYXBlIiB2aWV3Qm94PSIwIDAgMTI3OC43NSAzMTIuNSIgaGVpZ2h0PSIzMTIuNSIgd2lkdGg9IjEyNzguNzUiIHhtbDpzcGFjZT0icHJlc2VydmUiIHZlcnNpb249IjEuMSIgaWQ9InN2ZzIiIGlua3NjYXBlOnZlcnNpb249IjAuOTIuMyAoMjQwNTU0NiwgMjAxOC0wMy0xMSkiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4KIDxzb2RpcG9kaTpuYW1lZHZpZXcgcGFnZWNvbG9yPSIjZmZmZmZmIiBib3JkZXJjb2xvcj0iIzY2NjY2NiIgYm9yZGVyb3BhY2l0eT0iMSIgb2JqZWN0dG9sZXJhbmNlPSIxMCIgZ3JpZHRvbGVyYW5jZT0iMTAiIGd1aWRldG9sZXJhbmNlPSIxMCIgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAiIGlua3NjYXBlOnBhZ2VzaGFkb3c9IjIiIGlua3NjYXBlOndpbmRvdy13aWR0aD0iMTkyMCIgaW5rc2NhcGU6d2luZG93LWhlaWdodD0iMTAwNSIgaWQ9Im5hbWVkdmlldzMzIiBzaG93Z3JpZD0iZmFsc2UiIGlua3NjYXBlOnpvb209IjEuNDk5NjQ3IiBpbmtzY2FwZTpjeD0iMTEwOS40NjI3IiBpbmtzY2FwZTpjeT0iMTg2LjQ0MDYiIGlua3NjYXBlOndpbmRvdy14PSItOSIgaW5rc2NhcGU6d2luZG93LXk9Ii05IiBpbmtzY2FwZTp3aW5kb3ctbWF4aW1pemVkPSIxIiBpbmtzY2FwZTpjdXJyZW50LWxheWVyPSJzdmcyIj4KIDwvc29kaXBvZGk6bmFtZWR2aWV3PgogPG1ldGFkYXRhIGlkPSJtZXRhZGF0YTgiPgogIDxyZGY6UkRGPgogICA8Y2M6V29yayByZGY6YWJvdXQ9IiI+CiAgICA8ZGM6Zm9ybWF0PgogICAgIGltYWdlL3N2Zyt4bWwKICAgIDwvZGM6Zm9ybWF0PgogICAgPGRjOnR5cGUgcmRmOnJlc291cmNlPSJodHRwOi8vcHVybC5vcmcvZGMvZGNtaXR5cGUvU3RpbGxJbWFnZSI+CiAgICA8L2RjOnR5cGU+CiAgIDwvY2M6V29yaz4KICA8L3JkZjpSREY+CiA8L21ldGFkYXRhPgogPGRlZnMgaWQ9ImRlZnM2Ij4KICA8Y2xpcFBhdGggaWQ9ImNsaXBQYXRoMTgiIGNsaXBQYXRoVW5pdHM9InVzZXJTcGFjZU9uVXNlIj4KICAgPHBhdGggaWQ9InBhdGgyMCIgZD0iTSAwLDI1MCAxMDIzLDI1MCAxMDIzLDAgMCwwIDAsMjUwIFoiPgogICA8L3BhdGg+CiAgPC9jbGlwUGF0aD4KIDwvZGVmcz4KIDxnIHRyYW5zZm9ybT0ibWF0cml4KDEuMjUsMCwwLC0xLjI1LDAsMzEyLjUpIiBpZD0iZzEwIj4KICA8cGF0aCBpZD0icGF0aDEyIiBzdHlsZT0iZmlsbDojZTYwMDIzO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiBkPSJtIDQwMi45OTYsMTU5Ljg4NyAzMi4zMTIsMCAwLC0xMDEuNDkzIC0zMi4zMTIsMCAwLDEwMS40OTMgeiI+CiAgPC9wYXRoPgogIDxnIGlkPSJnMTQiPgogICA8ZyBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgxOCkiIGlkPSJnMTYiPgogICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNDQyLjA1NDksMTU5Ljg4NzEpIiBpZD0iZzIyIj4KICAgICA8cGF0aCBpZD0icGF0aDI0IiBzdHlsZT0iZmlsbDojZTYwMDIzO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiBkPSJtIDAsMCAzMS4xMjIsMCAwLC0xMy44NzYgMC41OTQsMCBjIDcuNTMzLDEwLjkwMyAxNy4yNDYsMTYuODQ5IDMxLjMyMSwxNi44NDkgMjIuMjAxLDAgMzUuMjg0LC0xNS44NTggMzUuMjg0LC0zOC40NTYgbCAwLC02Ni4wMSAtMzIuMzExLDAgMCw1OS40NjggYyAwLDEwLjcwNSAtNS4zNTIsMTguMDQgLTE1Ljg1OCwxOC4wNCAtMTAuNzA0LDAgLTE3Ljg0MSwtOC45MjEgLTE3Ljg0MSwtMjEuNDA5IGwgMCwtNTYuMDk5IC0zMi4zMTEsMCBMIDAsMCBaIj4KICAgICA8L3BhdGg+CiAgICA8L2c+CiAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg0MzguNTMzNCwxODcuMDQwNSkiIGlkPSJnMjYiPgogICAgIDxwYXRoIGlkPSJwYXRoMjgiIHN0eWxlPSJmaWxsOiNlNjAwMjM7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOm5vbnplcm87c3Ryb2tlOm5vbmUiIGQ9Im0gMCwwIGMgMCwxMC43MDUgLTguNjc4LDE5LjM4MiAtMTkuMzgyLDE5LjM4MiAtMTAuNzA0LDAgLTE5LjM4MiwtOC42NzcgLTE5LjM4MiwtMTkuMzgyIDAsLTEwLjcwNCA4LjY3OCwtMTkuMzgxIDE5LjM4MiwtMTkuMzgxIEMgLTguNjc4LC0xOS4zODEgMCwtMTAuNzA0IDAsMCI+CiAgICAgPC9wYXRoPgogICAgPC9nPgogICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNzY3LjYyNjIsMTYxLjM1MykiIGlkPSJnMzAiPgogICAgIDxwYXRoIGlkPSJwYXRoMzIiIHN0eWxlPSJmaWxsOiNlNjAwMjM7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOm5vbnplcm87c3Ryb2tlOm5vbmUiIGQ9Im0gMCwwIGMgLTAuOTIyLDAuMDgzIC0xLjk3OSwwLjEyIC0zLjIxNiwwLjEyIC0xMi4yOSwwIC0yMC42MTUsLTUuMzUyIC0yNy43NTIsLTE3LjQ0NCBsIC0wLjU5NCwwIDAsMTUuODU4IC0zMC45MjQsMCAwLC0xMDEuNDkyIDMyLjMxMSwwIDAsNDUuNTkyIGMgMCwyMS4xMjUgMTEuNjk5LDMwLjkxNCAzMC4xNzUsMjkuMjA2IEwgMCwwIFoiPgogICAgIDwvcGF0aD4KICAgIDwvZz4KICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDkyNi4xODk2LDEyMi40MjI4KSIgaWQ9ImczNCI+CiAgICAgPHBhdGggaWQ9InBhdGgzNiIgc3R5bGU9ImZpbGw6I2U2MDAyMztmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgZD0ibSAwLDAgYyAtMTIuODg1LDIuMzc4IC0yNC4zODIsMy4zNjkgLTI0LjM4MiwxMC41MDUgMCw2LjM0NCA2LjE0Niw5LjMxNyAxNC4wNzQsOS4zMTcgOC45MiwwIDE1LjA2NiwtMi43NzUgMTYuMjU1LC0xMS44OTQgbCAyOS43MzUsMCBjIC0xLjU4NiwyMC4wMjEgLTE3LjA0OCwzMi41MSAtNDUuNzksMzIuNTEgLTIzLjk4NywwIC00My44MSwtMTEuMTAxIC00My44MSwtMzIuNTEgMCwtMjMuNzg2IDE4LjgzMiwtMjguNTQ0IDM2LjQ3NSwtMzEuNTE4IDEzLjQ3OSwtMi4zNzkgMjUuNzY5LC0zLjM3IDI1Ljc2OSwtMTIuNDg4IDAsLTYuNTQyIC02LjE0NSwtMTAuMTEgLTE1Ljg1OCwtMTAuMTEgLTkuNzQ1LDAgLTE2LjE5LDQuMTIzIC0xOC4xNjYsMTIuNDg4IGwgLTMwLjc4OSwwIGMgMi4yNjYsLTIwLjg2NCAyMC41OCwtMzMuNSA0OS4xNTMsLTMzLjUgMjYuNTYzLDAgNDYuMTg3LDExLjQ5NyA0Ni4xODcsMzMuNjk4IEMgMzguODUzLC03LjUzMyAxNy44NDEsLTIuOTc0IDAsMCI+CiAgICAgPC9wYXRoPgogICAgPC9nPgogICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoODE3Ljc0OTIsMTM5Ljg2NjYpIiBpZD0iZzM4Ij4KICAgICA8cGF0aCBpZD0icGF0aDQwIiBzdHlsZT0iZmlsbDojZTYwMDIzO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiBkPSJtIDAsMCBjIDEwLjUwNiwwIDE4LjAzOCwtNy43MzEgMTkuMjI4LC0xOS44MjQgbCAtNDAuMDQyLDAgQyAtMTguNjM0LC03LjczMSAtMTIuMjksMCAwLDAgbSAxLjc4NCwtNjEuMjUyIGMgLTEzLjI4MiwwIC0yMC44MTQsOC41MjMgLTIyLjc5NywyMi4yMDEgbCA3Mi45NDksMCBjIDAuMTk4LDIwLjYxNSAtNS43NDgsMzguMjU4IC0xNy44NDEsNDkuMzU4IC04LjcyMiw3LjkyOSAtMjAuMjE5LDEyLjY4NyAtMzQuNjkxLDEyLjY4NyAtMzAuOTIzLDAgLTUyLjEzMywtMjMuMTkyIC01Mi4xMzMsLTUzLjUyMiAwLC0zMC43MjQgMjAuNjE2LC01My45MTggNTQuMTE2LC01My45MTggMTIuODg0LDAgMjMuMTkzLDMuMzcgMzEuNzE3LDkuMzE3IDguOTIsNi4xNDUgMTQuODY3L
1DE0Ljg2NyAxNy4wNDcsMjMuOTg1IGwgLTMxLjUxOCwwIEMgMTUuODU3LC01Ny40ODcgMTAuMzA4LC02MS4yNTIgMS43ODQsLTYxLjI1MiI+CiAgICAgPC9wYXRoPgogICAgPC9nPgogICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTAyMS45NDk0LDgyLjMyNzEpIiBpZD0iZzQyIj4KICAgICA8cGF0aCBpZD0icGF0aDQ0IiBzdHlsZT0iZmlsbDojZTYwMDIzO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiBkPSJtIDAsMCBjIC0xLjQ5NywtMC4wNTkgLTMuNTA3LC0wLjE0NiAtNS4zNTQsLTAuMTQ2IC02LjkzOSwwIC0xMS4yOTksMS45ODMgLTExLjI5OSw5LjkxMiBsIDAsNDcuNTc1IDE2LjY1MywwIDAsMjAuMjE5IC0xNi42NTMsMCAwLDMyLjExMyAtMzEuNTE5LDAgMCwtMzIuMTEzIC05LjkxNywwIDAsLTIwLjIxOSA5LjkxNywwIDAsLTU0LjUxMyBjIDAsLTIxLjgwNiAxMy40OCwtMjcuOTUgMzIuMzEyLC0yNy45NSA3LjE4NSwwIDEyLjYxNiwwLjUzOCAxNS44NiwxLjE3MSBMIDAsMCBaIj4KICAgICA8L3BhdGg+CiAgICA8L2c+CiAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg1OTguMDc4Myw4Mi4yODEyKSIgaWQ9Imc0NiI+CiAgICAgPHBhdGggaWQ9InBhdGg0OCIgc3R5bGU9ImZpbGw6I2U2MDAyMztmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgZD0ibSAwLDAgYyAtMS4yODksLTAuMDUgLTIuNzc3LC0wLjEgLTQuMTY3LC0wLjEgLTYuOTM3LDAgLTExLjI5OSwxLjk4MyAtMTEuMjk5LDkuOTEyIGwgMCw0Ny41NzUgMTUuNDY2LDAgMCwyMC4yMTkgLTE1LjQ2NiwwIDAsMzIuMTEzIC0zMS41MTgsMCAwLC0zMi4xMTMgLTEwLjUxLDAgMCwtMjAuMjE5IDEwLjUxLDAgMCwtNTQuNTEzIGMgMCwtMjEuODA2IDEzLjQ3OSwtMjcuOTUgMzIuMzExLC0yNy45NSA2LjM3MiwwIDExLjM2MSwwLjQyNCAxNC42NzMsMC45NjEgTCAwLDAgWiI+CiAgICAgPC9wYXRoPgogICAgPC9nPgogICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNjY4LjQ1ODIsMTIwLjA0MjkpIiBpZD0iZzUwIj4KICAgICA8cGF0aCBpZD0icGF0aDUyIiBzdHlsZT0iZmlsbDojZTYwMDIzO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiBkPSJNIDAsMCBDIC0xLjE4OSwxMi4wOTIgLTguNzIzLDE5LjgyNCAtMTkuMjI5LDE5LjgyNCAtMzEuNTE5LDE5LjgyNCAtMzcuODYyLDEyLjA5MiAtNDAuMDQzLDAgTCAwLDAgWiBtIC03MS45NTcsLTEwLjcwNCBjIDAsMzAuMzI5IDIxLjIxLDUzLjUyMSA1Mi4xMzQsNTMuNTIxIDE0LjQ3LDAgMjUuOTY4LC00Ljc1NyAzNC42OSwtMTIuNjg2IEMgMjYuOTU5LDE5LjAzIDMyLjkwNSwxLjM4OCAzMi43MDcsLTE5LjIyOCBsIC03Mi45NDcsMCBjIDEuOTgxLC0xMy42NzcgOS41MTQsLTIyLjIwMSAyMi43OTYsLTIyLjIwMSA4LjUyMywwIDE0LjA3NCwzLjc2NiAxNi44NDgsMTAuMTA5IGwgMzEuNTE5LDAgYyAtMi4xODEsLTkuMTE4IC04LjEyNywtMTcuODQgLTE3LjA0OCwtMjMuOTg2IC04LjUyMywtNS45NDYgLTE4LjgzMSwtOS4zMTYgLTMxLjcxNiwtOS4zMTYgLTMzLjUwMSwwIC01NC4xMTYsMjMuMTkzIC01NC4xMTYsNTMuOTE4Ij4KICAgICA8L3BhdGg+CiAgICA8L2c+CiAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzNDYuODgyNSwxMzMuNTIyNCkiIGlkPSJnNTQiPgogICAgIDxwYXRoIGlkPSJwYXRoNTYiIHN0eWxlPSJmaWxsOiNlNjAwMjM7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOm5vbnplcm87c3Ryb2tlOm5vbmUiIGQ9Ik0gMCwwIEMgMTIuNjg3LDAgMTkuODIzLDcuNTMzIDE5LjgyMywxOC44MzMgMTkuODIzLDMwLjEzMSAxMi40ODgsMzcuMDY5IDAsMzcuMDY5IGwgLTI0Ljc4LDAgTCAtMjQuNzgsMCAwLDAgWiBtIC01Ny40OTIsNjYuNjA1IDU2LjExLDAgYyAxNy4yNDUsMCAyOS45MzIsLTQuNzU3IDM4LjY1NCwtMTMuMDgzIDkuMTE5LC04LjUyMyAxNC4yNzMsLTIwLjYxNiAxNC4yNzMsLTM0Ljg4OCAwLC0yNy4xNTcgLTE4LjgzMiwtNDYuMzg2IC00Ny45NzIsLTQ2LjM4NiBsIC0yOC4zNTMsMCAwLC00Ny4zNzYgLTMyLjcxMiwwIDAsMTQxLjczMyB6Ij4KICAgICA8L3BhdGg+CiAgICA8L2c+CiAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyNDUuMDM0NCwxMjQuOTk5OSkiIGlkPSJnNTgiPgogICAgIDxwYXRoIGlkPSJwYXRoNjAiIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOm5vbnplcm87c3Ryb2tlOm5vbmUiIGQ9Im0gMCwwIGMgMCwtNjcuMzc0IC01NC42MTgsLTEyMS45OTIgLTEyMS45OTIsLTEyMS45OTIgLTY3LjM3NCwwIC0xMjEuOTkyLDU0LjYxOCAtMTIxLjk5MiwxMjEuOTkyIDAsNjcuMzc1IDU0LjYxOCwxMjEuOTkyIDEyMS45OTIsMTIxLjk5MiBDIC01NC42MTgsMTIxLjk5MiAwLDY3LjM3NSAwLDAiPgogICAgIDwvcGF0aD4KICAgIDwvZz4KICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEyMy4wNDIyLDI0Ni45OTIxKSIgaWQ9Imc2MiI+CiAgICAgPHBhdGggaWQ9InBhdGg2NCIgc3R5bGU9ImZpbGw6I2U2MDAyMztmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgZD0ibSAwLDAgYyAtNjcuMzc0LDAgLTEyMS45OTIsLTU0LjYxOCAtMTIxLjk5MiwtMTIxLjk5MiAwLC01MS42ODIgMzIuMTU1LC05NS44NjMgNzcuNTM1LC0xMTMuNjM4IC0xLjA2Niw5LjY1MiAtMi4wMywyNC40OTYgMC40MjMsMzUuMDMzIDIuMjE3LDkuNTIxIDE0LjMwNSw2MC42MzggMTQuMzA1LDYwLjYzOCAwLDAgLTMuNjQ5LDcuMzA4IC0zLjY0OSwxOC4xMTIgMCwxNi45NjMgOS44MzIsMjkuNjI3IDIyLjA3NCwyOS42MjcgMTAuNDA4LDAgMTUuNDM1LC03LjgxNCAxNS40MzUsLTE3LjE4NCAwLC0xMC40NjcgLTYuNjY0LC0yNi4xMTYgLTEwLjEwMywtNDAuNjE4IC0yLjg3NCwtMTIuMTQyIDYuMDg5LC0yMi4wNDQgMTguMDY1LC0yMi4wNDQgMjEuNjgyLDAgMzguMzQ5LDIyLjg2MiAzOC4zNDksNTUuODYzIDAsMjkuMjA5IC0yMC45ODgsNDkuNjMxIC01MC45NTcsNDkuNjMxIC0zNC43MTEsMCAtNTUuMDg1LC0yNi4wMzUgLTU1LjA4NSwtNTIuOTQxIDAsLTEwLjQ4NSA0LjAzOSwtMjEuNzI4IDkuMDc5LC0yNy44NCAwLjk5NywtMS4yMDggMS4xNDMsLTIuMjY2IDAuODQ2LC0zLjQ5OSAtMC45MjYsLTMuODUzIC0yLjk4NCwtMTIuMTM5IC0zLjM4OCwtMTMuODM1IC0wLjUzMiwtMi4yMzMgLTEuNzY4LC0yLjcwNyAtNC4wOCwtMS42MzEgLTE1LjIzNiw3LjA5MiAtMjQuNzYyLDI5LjM2OCAtMjQuNzYyLDQ3LjI2IDAsMzguNDgyIDI3Ljk2LDczLjgyMyA4MC42MDUsNzMuODIzIDQyLjMxOSwwIDc1LjIwNiwtMzAuMTU2IDc1LjIwNiwtNzAuNDU3IDAsLTQyLjA0MyAtMjYuNTA5LC03NS44NzkgLTYzLjMwMywtNzUuODc5IC0xMi4zNjIsMCAtMjMuOTgzLDYuNDIyIC0yNy45NjEsMTQuMDA4IDAsMCAtNi4xMTcsLTIzLjI5MiAtNy42LC0yOSAtMi43NTQsLTEwLjU5NiAtMTAuMTg5LC0yMy44NzggLTE1LjE2MiwtMzEuOTgxIDExLjQxNCwtMy41MzQgMjMuNTQ0LC01LjQ0IDM2LjEyLC01LjQ0IDY3LjM3NSwwIDEyMS45OTMsNTQuNjE4IDEyMS45OTMsMTIxLjk5MiBDIDEyMS45OTMsLTU0LjYxOCA2Ny4zNzUsMCAwLDAiPgogICAgIDwvcGF0aD4KICAgIDwvZz4KICAgPC9nPgogIDwvZz4KIDwvZz4KPC9zdmc+"},41579:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/opa-springboot-247cc5d32b9861cfbfe3fb30eaffae47.png"},42413:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/alluxio-4f5cca900ac3ff7cef3549ebd5717d91.png"},42497:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/spinnaker-pipeline-5fb2cb50efb5b918684953e4bf2bbd95.png"},42575:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/marsh-mclennan-light-a65ad93dec27696e0cd6f9e6f306e045.svg"},42677:v=>{"use strict";v.exports=JSON.parse('{"showInput":false,"showData":false,"showTitles":false,"showInitialOutput":false,"command":"data.payments"}')},43071:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/pre-commit-hooks-0585cce9767692e858c929b20632b083.png"},43120:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/env0-ceac9bc0256d42cbe953cf531ecdd286.png"},43284:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/vscode-opa-92a1aebfb4ea664b7d9c550b29f450a5.png"},43980:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+CiAgPHJlY3Qgd2lkdGg9IjUxMiIgaGVpZ2h0PSI1MTIiIHJ4PSI5NiIgZmlsbD0iIzBmMTcyYSIvPgogIDxyZWN0IHg9IjU2IiB5PSI1NiIgd2lkdGg9IjQwMCIgaGVpZ2h0PSI0MDAiIHJ4PSI3MiIgZmlsbD0iIzExMTgyNyIgc3Ryb2tlPSIjMjJjNTVlIiBzdHJva2Utd2lkdGg9IjEyIi8+CiAgPHBhdGggZD0iTTE2MCAxNzZoNTZsNDAgNjQgNDAtNjRoNTZsLTY4IDEwNCA3MiAxMTJoLTU2bC00NC03MC00NCA3MGgtNTZsNzItMTEyeiIgZmlsbD0iI2U1ZTdlYiIvPgogIDx0ZXh0IHg9IjI1NiIgeT0iNDQ0IiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBmb250LWZhbWlseT0iQXJpYWwsIHNhbnMtc2VyaWYiIGZvbnQtc2l6ZT0iNDIiIGZpbGw9IiMyMmM1NWUiPktPUEE8L3RleHQ+Cjwvc3ZnPgo="},44040:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/apache-apisix-d5805fcedbff01725f3c04f3adcd8a20.png"},44852:(v,e,t)=>{var i={"./config":82481,"./config.json":82481,"./data":95399,"./data.json":95399,"./input":29777,"./input.json":29777,"./intro.md":90521,"./output":37606,"./output.json":37606,"./policy.rego":8590,"./title.txt":74663};function s(v){var e=a(v);return t(e)}function a(v){if(!t.o(i,v)){var e=new Error("Cannot find module '"+v+"'");throw e.code="MODULE_NOT_FOUND",e}return i[v]}s.keys=function(){return Object.keys(i)},s.resolve=a,v.exports=s,s.id=44852},45193:(v,e,t)=>{"use strict";t.d(e,{A:()=>i});const i=t.p+"assets/images/logo-text-dark-20ab84c6b2ba2433801b16fa43fe6550.png"},45697:v=>{"use strict";v.exports=JSON.parse('{"role":"staff","owner":"[email protected]","path":["pets","pet113-987"],"user":"[email protected]"}')},46001:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/enterprise-contract-27b184c577d5de158ca2f94e8023af4c.svg"},46171:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/styra-academy-247cc5d32b9861cfbfe3fb30eaffae47.png"},46975:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i="data:image/svg+xml;
1base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxMy4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDE0OTQ4KSAgLS0+DQo8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPg0KPHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJMb2dvX3dpdGhfQ2xlYXJfU3BhY2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiDQoJIHg9IjBweCIgeT0iMHB4IiB3aWR0aD0iMjA2LjA4OHB4IiBoZWlnaHQ9IjQ0LjY2OHB4IiB2aWV3Qm94PSIzMC4xODkgMzcyLjc0MiAyMDYuMDg4IDQ0LjY2OCINCgkgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAzMC4xODkgMzcyLjc0MiAyMDYuMDg4IDQ0LjY2OCIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8Zz4NCgk8cG9seWdvbiBmaWxsPSIjMkI5Q0FFIiBwb2ludHM9Ijc0LjU0OSwzOTUuMjMgNDkuNjk5LDQwNC42NzcgMzAuMTg5LDQxMi4yNzUgNDIuNzE3LDM5NS4yMyAzMC4xODksMzc4LjE4NCA0OS42OTksMzg1LjU3OCAJIi8+DQoJPHBhdGggZmlsbD0iIzA0MjQzQyIgZD0iTTgxLjQyOSwzNzIuOTQ3aDMyLjE0MWMxMi40MjUsMCwxNS41MDUsNS4zNCwxNS41MDUsMTAuMjY5djAuNjE2YzAsNS4zMzktNC43MjQsOC43MjgtOC4wMSw5LjAzNg0KCQljNC44MjYsMC42MTYsMTAuMTY2LDQuMzEzLDEwLjE2NiwxMS4xOTJ2MC42MTZjMCw1Ljk1Ni0zLjU5NCwxMi41MjctMTcuNDU3LDEyLjUyN0g4MS40Mjl2LTQ0LjQ2MmwwLDBWMzcyLjk0N3ogTTk0Ljk4MywzODIuMTg5DQoJCXY3LjcwMWgxNS4xOTdjMy41OTQsMCw0LjcyMy0xLjc0Niw0LjcyMy0zLjc5OWwwLDBjMC0yLjA1NC0xLjIzMi0zLjkwMi00LjcyMy0zLjkwMkg5NC45ODN6IE05NC45ODMsMzk4LjcyMXY4LjQyMWgxNi4wMTkNCgkJYzQuMjEsMCw1LjM0LTIuMTU2LDUuMzQtNC40MTZsMCwwYzAtMi4xNTYtMS4yMzItNC4wMDUtNS4zNC00LjAwNUg5NC45ODN6Ii8+DQoJPHBhdGggZmlsbD0iIzA0MjQzQyIgZD0iTTE1MS42NjUsMzcyLjk0N2wxOC4xNzUsMjQuNzQ3di0yNC43NDdoMTMuNTU0djQ0LjQ2M2gtMTYuMDE5bC0xNy45Ny0yNC40Mzl2MjQuNDM5aC0xMy41NTV2LTQ0LjQ2Mw0KCQlIMTUxLjY2NUwxNTEuNjY1LDM3Mi45NDd6Ii8+DQoJPHBhdGggZmlsbD0iIzA0MjQzQyIgZD0iTTIwMi41OTcsMzk4LjgyNGwtMTkuMS0yNS44NzdoMTYuODRsOS41NSwxMy4wNDFsOS41NS0xMy4wNDFoMTYuODRsLTE5LjEsMjUuODc3djE4LjQ4MmgtMTQuNjg0di0xOC40ODINCgkJSDIwMi41OTd6Ii8+DQo8L2c+DQo8L3N2Zz4NCg=="},47254:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/envoy-authorization-29d773e285c1cf4f1538dd8871488e4a.png"},47420:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDgiIGhlaWdodD0iNTciIHZpZXdCb3g9IjAgMCAxMDggNTciIHJvbGU9ImltZyI+CiAgICAgICAgPHRpdGxlIGlkPSJmdy1jLWhlYWRlcl9fbG9nby10aXRsZSI+Q2lzY28uY29tIFdvcmxkd2lkZTwvdGl0bGU+CiAgICAgICAgPGRlZnM+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0wIDIyLjc2OWEyLjM0OCAyLjM0OCAwIDAgMCAzLjkzNSAxLjU0NWMuNDM0LS40MDMuNy0uOTU1Ljc0NC0xLjU0NXYtNS4yYTIuMzQgMi4zNCAwIDAgMC00LjY3OSAwdjUuMiIgaWQ9ImJhcl9zaG9ydCIgY2xhc3M9ImJhciI+PC9wYXRoPgogICAgICAgICAgICA8cGF0aCBkPSJNMTIuOTUgMjIuNzY5YTIuMzQ5IDIuMzQ5IDAgMCAwIDIuMzQgMi4xNzEgMi4zNDYgMi4zNDYgMCAwIDAgMi4zMzktMi4xNzFWMTEuMTEyYTIuMzQxIDIuMzQxIDAgMCAwLTQuNjc5IDBWMjIuNzciIGlkPSJiYXJfdGFsbCIgY2xhc3M9ImJhciI+PC9wYXRoPgogICAgICAgICAgICA8cGF0aCBkPSJNMjUuODMyIDI3LjQ2NGEyLjM0NSAyLjM0NSAwIDAgMCA0LjY3OCAwVjIuMjQ5YTIuMzQyIDIuMzQyIDAgMCAwLTQuNjc4IDB2MjUuMjE1IiBpZD0iYmFyX2dyYW5kZSIgY2xhc3M9ImJhciI+PC9wYXRoPgogICAgICAgICAgICA8cGF0aCBkPSJNMjQuMDI2IDU2LjI3N3YtNS4wMDJsLS4wOTguMDQzYTkuMjUzIDkuMjUzIDAgMCAxLTMuNjA1LjkxNSA1LjMwMyA1LjMwMyAwIDAgMS0zLjYzLTEuMDcgNC42NDQgNC42NDQgMCAwIDEtMS41OC0yLjI0NCA1LjM5NSA1LjM5NSAwIDAgMS0uMTA2LTMgNC42IDQuNiAwIDAgMSAxLjYwOS0yLjU2NiA0LjgyMyA0LjgyMyAwIDAgMSAyLjUyOC0xLjA5IDguMzMyIDguMzMyIDAgMCAxIDQuNzc0Ljg5NWwuMTA4LjA1NnYtNS4wM2wtLjIyOC0uMDYxYTEyLjc4IDEyLjc4IDAgMCAwLTQuNTUyLS41OTYgMTAuNTM0IDEwLjUzNCAwIDAgMC00LjA2NS45MyA5LjI5IDkuMjkgMCAwIDAtMy4zMjkgMi41NzIgMTAuMDE0IDEwLjAxNCAwIDAgMC0uMTgyIDEyLjE4IDkuNTQ2IDkuNTQ2IDAgMCAwIDUuMjkyIDMuNDAzYzIuMjExLjUzOCA0LjUyOC40NTYgNi42OTctLjIzNGwuMzY3LS4xMDEiIGlkPSJjaXNjb19jIj48L3BhdGg+CiAgICAgICAgPC9kZWZzPgogICAgICAgIDxnIGZpbGw9IiMwMGJjZWIiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgICAgIDx1c2UgaHJlZj0iI2Npc2NvX2MiPjwvdXNlPgogICAgICAgICAgICA8dXNlIGhyZWY9IiNjaXNjb19jIiB4PSI0OS41Ij48L3VzZT4KICAgICAgICAgICAgPHBhdGggZD0iTTQxLjY5IDUyLjEyNWwtLjAxOSA0LjMwOC4zMTUuMDU0Yy45ODkuMTg1IDEuOTg3LjMxMyAyLjk5LjM4NWExOC4xIDE4LjEgMCAwIDAgMi42NDIuMDUxYy44NDItLjA2IDEuNjc1LS4yMTggMi40OC0uNDY4YTYuODYyIDYuODYyIDAgMCAwIDIuNTczLTEuMzcxIDUuMTkgNS4xOSAwIDAgMCAxLjQ5OC0yLjE0OCA1LjkxMiA1LjkxMiAwIDAgMC0uMDMtNC4zMjQgNC44NTIgNC44NTIgMCAwIDAtMS4zNDMtMS44NjIgNS41NjggNS41NjggMCAwIDAtMS45Ny0xLjE0N2wtMy4yNS0xLjIwNmExLjc0MiAxLjc0MiAwIDAgMS0uODg3LS44NDUgMS4xMDcgMS4xMDcgMCAwIDEgLjAzNi0uOTg2IDEuMjkgMS4yOSAwIDAgMSAuMjE3LS4yOTEgMS43NSAxLjc1IDAgMCAxIC40OC0uMzQ3Yy4zNjMtLjE4Ljc1NS0uMjkzIDEuMTU4LS4zMzdhNi43NiA2Ljc2IDAgMCAxIDIuMDcyLjAyMmMuODEuMDg4IDEuNjEzLjIzMSAyLjQwMi40M2wuMTY4LjAzN3YtMy45NzRsLS4zMS0uMDY3YTIxLjE0IDIxLjE0IDAgMCAwLTIuNDQ0LS40MzUgMTIuNTQ1IDEyLjU0NSAwIDAgMC0zLjIxMy0uMDE0IDYuOTQ1IDYuOTQ1IDAgMCAwLTMuNjk5IDEuNDg4IDQuOTA4IDQuOTA4IDAgMCAwLTEuNTggMi4xNzggNS45ODQgNS45ODQgMCAwIDAtLjAwMyA0LjA1Yy4yNDIuNjUuNjMgMS4yMzcgMS4xMzYgMS43MTQuNDM3LjQyMi45MzIuNzggMS40NyAxLjA2NS43MDguMzggMS40NTguNjc1IDIuMjM1Ljg3OC4yNTcuMDc3LjUxMi4xNTguNzY2LjI0M2wuMzg1LjE0MS4xMS4wNDVjLjM4LjEzNi43MjYuMzUgMS4wMTguNjI4LjIwMi4xOS4zNTguNDIzLjQ1NS42ODMuMDYuMjM3LjA2MS40ODUuMDAzLjcyM2ExLjUzNiAxLjUzNiAwIDAgMS0uNzQ0Ljg5MiAzLjY5MSAzLjY5MSAwIDAgMS0xLjIzOS4zODcgOSA5IDAgMCAxLTEuOTIuMDk3IDIxLjk3MyAyMS45NzMgMCAwIDEtMi41MDctLjMzNGMtLjQzMy0uMDktLjg2NC0uMTktMS4yOTEtLjMwM2wtLjE2LS4wNHpNMzAuNTQ2IDU2LjYwN2g0LjczVjM3Ljg0NmgtNC43M3pNODUuMzA1IDQzLjM4NmE0LjkzNCA0LjkzNCAwIDEgMSA2LjE1NyA3LjcxMSA0LjkzNCA0LjkzNCAwIDAgMS02LjE1Ny03LjcxbS02Ljg2NyAzLjg0OEE5Ljg3IDkuODcgMCAwIDAgOTAuNDQgNTYuNzJhOS42MjkgOS42MjkgMCAwIDAgMy4xNTctMTcuNzI5IDkuOTM0IDkuOTM0IDAgMCAwLTE1LjE2IDguMjQ0Ij48L3BhdGg+CiAgICAgICAgICAgIDx1c2UgaHJlZj0iI2Jhcl9zaG9ydCIgeD0iMCI+PC91c2U+CiAgICAgICAgICAgIDx1c2UgaHJlZj0iI2Jhcl90YWxsIiB4PSIwIj48L3VzZT4KICAgICAgICAgICAgPHVzZSBocmVmPSIjYmFyX2dyYW5kZSIgeD0iMCI+PC91c2U+CiAgICAgICAgICAgIDx1c2UgaHJlZj0iI2Jhcl90YWxsIiB4PSIyNS44NzUiPjwvdXNlPgogICAgICAgICAgICA8dXNlIGhyZWY9IiNiYXJfc2hvcnQiIHg9IjUxLjc1Ij48L3VzZT4KICAgICAgICAgICAgPHVzZSBocmVmPSIjYmFyX3RhbGwiIHg9IjUxLjc1Ij48L3VzZT4KICAgICAgICAgICAgPHVzZSBocmVmPSIjYmFyX2dyYW5kZSIgeD0iNTEuNzUiPjwvdXNlPgogICAgICAgICAgICA8dXNlIGhyZWY9IiNiYXJfdGFsbCIgeD0iNzcuNjI1Ij48L3VzZT4KICAgICAgICAgICAgPHVzZSBocmVmPSIjYmFyX3Nob3J0IiB4PSIxMDMuMzc1Ij48L3VzZT4KICAgICAgICA8L2c+CiAgICA8L3N2Zz4="},48029:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgd2lkdGg9IjEwMCIKICAgaGVpZ2h0PSI1MCIKICAgdmlld0JveD0iMCAwIDEwMCA1MCIKICAgZmlsbD0ibm9uZSIKICAgdmVyc2lvbj0iMS4xIgogICBpZD0ic3ZnMjIwIgogICBzb2RpcG9kaTpkb2NuYW1lPSJiYW5rZGF0YV9sb2dvLnN2ZyIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMS4yLjIgKGIwYTg0ODYsIDIwMjItMTItMDEpIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogIDxkZWZzCiAgICAgaWQ9ImRlZnMyMjQiIC8+CiAgPHNvZGlwb2RpOm5hbWVkdmlldwogICAgIGlkPSJuYW1lZHZpZXcyMjIiCiAgICAgcGFnZWNvbG9yPSIjZmZmZmZmIgogICAgIGJvcmRlcmNvbG9yPSIjMDAwMDAwIgogICAgIGJvcmRlcm9wYWNpdHk9IjAuMjUiCiAgICAgaW5rc2NhcGU6c2hvd3BhZ2VzaGFkb3c9IjIiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAuMCIKICAgICBpbmtzY2FwZTpwYWdlY2hlY2tlcmJvYXJkPSIwIgogICAgIGlua3NjYXBlOmRlc2tjb2xvcj0iI2QxZDFkMSIKICAgICBzaG93Z3JpZD0iZmFsc2UiCiAgICAgaW5rc2NhcGU6em9vbT0iNy44ODYwNzU5IgogICAgIGlua3NjYXBlOmN4PSI1Mi40MzQxODkiCiAgICAgaW5rc2NhcGU6Y3k9IjE1LjAyNjQ4NSIKICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjEzOTAiCiAgICAgaW5rc2NhcGU6d2luZG93LWhlaWdodD0iMTIwNSIKICAgICBpbmtzY2FwZTp3aW5kb3cteD0iMCIKICAgICBpbmtzY2FwZTp3aW5kb3cteT0iMjUiCiAgICAgaW5rc2NhcGU6d2luZG93LW1heGltaXplZD0iMCIKICAgICBpbmtzY2FwZTpjdXJyZW50LWxheWVyPSJzdmcyMjAiIC8+CiAgPHBhdGgKICAgICBmaWxsLXJ1bGU9ImV2ZW5vZGQiCiAgICAgY2xpcC1ydWxlPSJldmVub2RkIgogICAgIGQ9Ik0gNS43MTU0MzA0LDIzLjExMjIxNSBIIDIuNTQ2MjY1OCB2IDkuMzQzNzk4IGggMy4wODc5MDUxIGMgMC44MTI2MDEzLDAgMS44MTUwMDYzLC0wLjA4MzY3IDIuNDkyMzQ4MSwtMC42MTM3MzUgMS4xMTAzNzk3LC0wLjgzNjcwOCAxLjMwMDEyNjYsLTIuNzYxMDc1IDEuMzAwMTI2NiwtNC4wNzE3MDggMCwtMi43NjE1MTkgLTAuNjc2ODM1NSwtNC42NTgzNTUgLTMuNzExMjE1MiwtNC42NTgzNTUgeiBNIDguOTExODk4NywzNC4wNzM3OTcgQyA3LjgyODI5MTEsMzQuNDkyMTUyIDYuNjA5MzY3MSwzNC41NDgyMjggNS40NzE3MDg5LDM0LjU0ODIyOCBIIDAgViAxNiBoIDIuNTQ2MzI5MSB2IDUuMDIwNTgyIEggNi4yMDMwNTcgYyAwLjU0MjA2OTYsMCAxLjExMDQyNCwwLjAyODA2IDEuNjUyNDQ5MywwLjExMTcyOCAzLjE2OTY4MzcsMC41MDIwMDcgNC4xOTg3OTc3LDMuNTE0MDgyIDQuMTk4Nzk3Nyw2LjQ0Mjk0MyAwLDIuNTEwNTA2IC0wLjU5NTU3LDUuNDk0NTU3IC0zLjE0MjQwNTMsNi40OTg1NDQgeiIKICAgICBmaWxsPSJ3aGl0ZSIKICAgICBpZD0icGF0aDIwNCIKICAgICBzdHlsZT0ic3Ryb2tlLXdpZHRoOjAuNjMyOTExIiAvPgogIDxwYXRoCiAgICAgZmlsbC1ydWxlPSJldmVub2RkIgogICAgIGNsaXAtcnVsZT0iZXZlbm9kZCIKICAgICBkPSJtIDIyLjUzMjIxNSwyOC40MTIwODkgaCAtNC4zMzQ1NTcgYyAtMS41MTY3MDksMCAtMi42Mjc1OTUsMC4yNTEwMTIgLTIuNjI3NTk1LDIuMDYzNjA3IDAsMS43Mjk0OTQgMS4xOTIxNTIsMS45ODA1MDcgMi42Mjc1OTUsMS45ODA1MDcgaCA0LjMzNDU1NyB6IG0gLTQuNjg2NDU2LDYuMTM1ODIyIGMgLTAuODEzMTAxLDAgLTEuNjc5NzQ2LC0wLjAyODA0IC0yLjQ2NTA2MywtMC4zMDcwODggLTEuNjUyNDY4LC0wLjU1NzY1OCAtMi40Mzc4NDgsLTIuMDM2MDc2IC0yLjQzNzg0OCwtMy43NjU1NyAwLC0xLjAzMTU4MiAwLjI5Nzc4NSwtMi4xMTkyNCAwLjk0NzQwNSwtMi45MDAzMTYgMC45NzU2MzMsLTEuMjI3NDY5IDIuNTQ2ODM2LC0xLjI1NTA2NCAzLjk4MjI3OSwtMS4yNTUwNjQgaCA0LjY1OTU1NyB2IC0wLjM2MjcyMSBjIDAsLTIuNTM4MTAxIC0wLjU5NjA3NiwtMi44NDQ2ODQgLTIuOTUyNjU5LC0yLjg0NDY4NCBIIDEzLjQ1NzE1MiBWIDIxLjAyMDI2IGggNi44NTM2NzEgYyAzLjQxMzQxOCwwIDQuNzY3NTk1LDAuOTc2NDU1IDQuNzY3NTk1LDQuNjMwMzEgdiA4Ljg5NzM0MSB6IgogICAgIGZpbGw9IndoaXRlIgogICAgIGlkPSJwYXRoMjA2IgogICAgIHN0eWxlPSJzdHJva2Utd2lkdGg6MC42MzI5MTEiIC8+CiAgPHBhdGgKICAgICBmaWxsLXJ1bGU9ImV2ZW5vZGQiCiAgICAgY2xpcC1ydWxlPSJldmVub2RkIgogICAgIGQ9Im0gMzUuODQ4NjcxLDM0LjU0ODE2NSB2IC03Ljc4MTU4MyBjIDAsLTIuNDU0NDMgLTAuNTY4Nzk4LC0zLjY1Mzg2MSAtMy4xNDE4OTksLTMuNjUzODYxIEggMjkuNjQ1MTI3IFYgMzQuNTQ4MTY1IEggMjcuMDk5MzA0IFYgMjEuMDIxMDMyIGggNi4wMTMyOTEgYyAzLjg0NjUxOSwwIDUuMjU1MTksMS41MzQwOTUgNS4yNTUxOSw1LjQ2NjUgdiA4LjA2MDYzMyB6IgogICAgIGZpbGw9IndoaXRlIgogICAgIGlkPSJwYXRoMjA4IgogICAgIHN0eWxlPSJzdHJva2Utd2lkdGg6MC42MzI5MTEiIC8+CiAgPHBhdGgKICAgICBmaWxsLXJ1bGU9ImV2ZW5vZGQiCiAgICAgY2xpcC1ydWxlPSJldmVub2RkIgogICAgIGQ9Im0gNDUuOTY5MTE0LDI2LjM3NTgyMyBoIDEuMTEwMzggYyAzLjE5NjQ1NSwtMC4wMjgwNCA0LjY1OTYyLDAuODkyNzg1IDQuNjU5NjIsNC4zNzg3OTcgdiAzLjc5MzYwOCBoIC0yLjU0NjMyOSB2IC0zLjEyNDI0MSBjIDAsLTIuNjIxNzcyIC0wLjc1ODYwO
1CwtMy4xNTE4MzUgLTMuMjUwOTUsLTMuMTUxODM1IGggLTMuMDA2NTgyIHYgNi4yNzYwNzYgSCA0MC4zODg5MjQgViAxNiBoIDIuNTQ2MzI5IHYgMTAuNDAzOTI0IGwgNi4yMzAyNTMsLTUuMzgzMzQyIGggMy4xOTY0NTYgeiIKICAgICBmaWxsPSJ3aGl0ZSIKICAgICBpZD0icGF0aDIxMCIKICAgICBzdHlsZT0ic3Ryb2tlLXdpZHRoOjAuNjMyOTExIiAvPgogIDxwYXRoCiAgICAgZmlsbC1ydWxlPSJldmVub2RkIgogICAgIGNsaXAtcnVsZT0iZXZlbm9kZCIKICAgICBkPSJtIDYyLjM5MDYzMywyMy4xMTIyMTUgaCAtMi44NDQxMTQgYyAtMy4wODc0MDUsMCAtNC4wODkzMDQsMS42MTc3ODUgLTQuMDg5MzA0LDQuNjU3ODQ4IDAsMi44MTcxNTIgMC41NjgzNTUsNC42ODU0NDMgMy42ODI5NzUsNC42ODU0NDMgaCAzLjI1MDQ0MyB6IG0gLTMuMjIzMDM4LDExLjQzNTUwNyBjIC0xLjExMDQ0MywwIC0yLjI0ODAzOCwtMC4wMjgwNCAtMy4yNzc3MjIsLTAuNDQ2MzkzIC0yLjMwMjAyNSwtMC45MjAzMTYgLTMuMDYwNjMyLC0zLjczNzQ2OCAtMy4wNjA2MzIsLTYuMDUyMTUyIDAsLTEuNTA2NTE5IDAuMzUyMjc4LC0zLjM3NDc0NyAxLjEzNzY1OCwtNC42MzAyNTMgMS4yMTg5MjQsLTEuOTgwNSAzLjMwNDkzNiwtMi4zOTgzNDIgNS40MTcyMTUsLTIuMzk4MzQyIGggMy4wMDY2NDUgViAxNiBoIDIuNTQ2NTgzIHYgMTguNTQ3NzIyIHoiCiAgICAgZmlsbD0id2hpdGUiCiAgICAgaWQ9InBhdGgyMTIiCiAgICAgc3R5bGU9InN0cm9rZS13aWR0aDowLjYzMjkxMSIgLz4KICA8cGF0aAogICAgIGZpbGwtcnVsZT0iZXZlbm9kZCIKICAgICBjbGlwLXJ1bGU9ImV2ZW5vZGQiCiAgICAgZD0ibSA3NS42OTExMzksMjguNDEyMDg5IGggLTQuMzM0ODEgYyAtMS41MTY0NTYsMCAtMi42MjcyMTUsMC4yNTEwMTIgLTIuNjI3MjE1LDIuMDYzNjA3IDAsMS43Mjk0OTQgMS4xOTE3NzIsMS45ODA1MDcgMi42MjcyMTUsMS45ODA1MDcgaCA0LjMzNDgxIHogbSAtNC42ODY3MDksNi4xMzU4MjIgYyAtMC44MTI2NTgsMCAtMS42NzkxMTQsLTAuMDI4MDQgLTIuNDY0NTU3LC0wLjMwNzA4OCAtMS42NTI1MzEsLTAuNTU3NjU4IC0yLjQzNzk3NCwtMi4wMzYwNzYgLTIuNDM3OTc0LC0zLjc2NTU3IDAsLTEuMDMxNTgyIDAuMjk3NDY4LC0yLjExOTI0IDAuOTQ4MTAxLC0yLjkwMDMxNiAwLjk3NDY4NCwtMS4yMjc0NjkgMi41NDYyMDMsLTEuMjU1MDY0IDMuOTgxNjQ2LC0xLjI1NTA2NCBoIDQuNjU5NDkzIHYgLTAuMzYyNzIxIGMgMCwtMi41MzgxMDEgLTAuNTk2MjAyLC0yLjg0NDY4NCAtMi45NTI1MzEsLTIuODQ0Njg0IEggNjYuNjE2NDU2IFYgMjEuMDIwMjYgaCA2Ljg1MzE2NCBjIDMuNDEzOTI0LDAgNC43Njc3MjIsMC45NzY0NTUgNC43Njc3MjIsNC42MzAzMSB2IDguODk3MzQxIHoiCiAgICAgZmlsbD0id2hpdGUiCiAgICAgaWQ9InBhdGgyMTQiCiAgICAgc3R5bGU9InN0cm9rZS13aWR0aDowLjYzMjkxMSIgLz4KICA8cGF0aAogICAgIGZpbGwtcnVsZT0iZXZlbm9kZCIKICAgICBjbGlwLXJ1bGU9ImV2ZW5vZGQiCiAgICAgZD0ibSA4NC42MjUzMTYsMzQuNTQ3NzIyIGMgLTIuODk4NzM0LDAgLTMuNTc1OTQ5LC0xLjI1NSAtMy41NzU5NDksLTQuMDQ0MTE0IHYgLTcuMzkxMzI5IGggLTIuNDkyNDA1IHYgLTIuMDkxNjk3IGggMi40OTI0MDUgViAxNiBoIDIuNTE5NjIgdiA1LjAyMDU4MiBoIDMuODE4OTg4IHYgMi4wOTE2OTcgaCAtMy44MTg5ODggdiA3LjUzMDYzMiBjIDAsMC41MDIwMjYgMC4wMjY1OCwxLjA4NzY1OSAwLjQwNjMyOSwxLjQ1MDM4IDAuNDA2OTYyLDAuMzkwMzE3IDEuNjUyNTMyLDAuMzkwMzE3IDIuMTY2NDU2LDAuMzkwMzE3IDAuNDA2MzI5LDAgMC44Mzk4NzQsLTAuMDI3NTMgMS4yNDYyMDMsLTAuMDI3NTMgdiAyLjA5MTY0NiB6IgogICAgIGZpbGw9IndoaXRlIgogICAgIGlkPSJwYXRoMjE2IgogICAgIHN0eWxlPSJzdHJva2Utd2lkdGg6MC42MzI5MTEiIC8+CiAgPHBhdGgKICAgICBmaWxsLXJ1bGU9ImV2ZW5vZGQiCiAgICAgY2xpcC1ydWxlPSJldmVub2RkIgogICAgIGQ9Ik0gOTcuNDUzNzk3LDI4LjQxMjA4OSBIIDkzLjExOTYyIGMgLTEuNTE3MDg4LDAgLTIuNjI3ODQ4LDAuMjUxMDEyIC0yLjYyNzg0OCwyLjA2MzYwNyAwLDEuNzI5NDk0IDEuMTkyNDA1LDEuOTgwNTA3IDIuNjI3ODQ4LDEuOTgwNTA3IGggNC4zMzQxNzcgeiBtIC00LjY4NjA3NSw2LjEzNTgyMiBjIC0wLjgxMzI5MiwwIC0xLjY3OTc0NywtMC4wMjgwNCAtMi40NjUxOSwtMC4zMDcwODggLTEuNjUyNTMyLC0wLjU1NzY1OCAtMi40Mzg2MDgsLTIuMDM2MDc2IC0yLjQzODYwOCwtMy43NjU1NyAwLC0xLjAzMTU4MiAwLjI5ODEwMSwtMi4xMTkyNCAwLjk0ODEwMSwtMi45MDAzMTYgMC45NzUzMTcsLTEuMjI3NDY5IDIuNTQ2ODM2LC0xLjI1NTA2NCAzLjk4MjI3OSwtMS4yNTUwNjQgaCA0LjY1OTQ5MyB2IC0wLjM2MjcyMSBjIDAsLTIuNTM4MTAxIC0wLjU5NjIwMiwtMi44NDQ2ODQgLTIuOTUyNTMxLC0yLjg0NDY4NCBIIDg4LjM3OTExNCBWIDIxLjAyMDI2IGggNi44NTMxNjQgYyAzLjQxMzkyNSwwIDQuNzY3NzIyLDAuOTc2NDU1IDQuNzY3NzIyLDQuNjMwMzEgdiA4Ljg5NzM0MSB6IgogICAgIGZpbGw9IndoaXRlIgogICAgIGlkPSJwYXRoMjE4IgogICAgIHN0eWxlPSJzdHJva2Utd2lkdGg6MC42MzI5MTEiIC8+Cjwvc3ZnPgo="},48059:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i="data:image/png;base64,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"},48498:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/regal-c9d780e2b3f9cc36b9e5619e1588057b.png"},49002:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/aws-api-gateway-b320e55e598e3ba3b0ba6e6ede3b1bfd.png"},50253:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/conftest-92a1aebfb4ea664b7d9c550b29f450a5.png"},50730:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/opa-python-82efb64f8698a267f8bfd3b57ceab88a.png"},52132:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDEzLjAuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMTQ5NDgpICAtLT4KPCFET0NUWVBF
1IHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIj4KPHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJMb2dvX3dpdGhfQ2xlYXJfU3BhY2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiCgkgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSIyMDYuMDg4cHgiIGhlaWdodD0iNDQuNjY4cHgiIHZpZXdCb3g9IjMwLjE4OSAzNzIuNzQyIDIwNi4wODggNDQuNjY4IgoJIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMzAuMTg5IDM3Mi43NDIgMjA2LjA4OCA0NC42NjgiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8Zz4KCTxwb2x5Z29uIGZpbGw9IiNGRkZGRkYiIHBvaW50cz0iNzQuNTQ5LDM5NS4yMyA0OS42OTksNDA0LjY3NyAzMC4xODksNDEyLjI3NSA0Mi43MTcsMzk1LjIzIDMwLjE4OSwzNzguMTg0IDQ5LjY5OSwzODUuNTc4IAkiLz4KCTxwYXRoIGZpbGw9IiNGRkZGRkYiIGQ9Ik04MS40MjksMzcyLjk0N2gzMi4xNDFjMTIuNDI1LDAsMTUuNTA1LDUuMzQsMTUuNTA1LDEwLjI2OXYwLjYxNmMwLDUuMzM5LTQuNzI0LDguNzI4LTguMDEsOS4wMzYKCQljNC44MjYsMC42MTYsMTAuMTY2LDQuMzEzLDEwLjE2NiwxMS4xOTJ2MC42MTZjMCw1Ljk1Ni0zLjU5NCwxMi41MjctMTcuNDU3LDEyLjUyN0g4MS40Mjl2LTQ0LjQ2MmwwLDBWMzcyLjk0N3ogTTk0Ljk4MywzODIuMTg5CgkJdjcuNzAxaDE1LjE5N2MzLjU5NCwwLDQuNzIzLTEuNzQ2LDQuNzIzLTMuNzk5bDAsMGMwLTIuMDU0LTEuMjMyLTMuOTAyLTQuNzIzLTMuOTAySDk0Ljk4M3ogTTk0Ljk4MywzOTguNzIxdjguNDIxaDE2LjAxOQoJCWM0LjIxLDAsNS4zNC0yLjE1Niw1LjM0LTQuNDE2bDAsMGMwLTIuMTU2LTEuMjMyLTQuMDA1LTUuMzQtNC4wMDVIOTQuOTgzeiIvPgoJPHBhdGggZmlsbD0iI0ZGRkZGRiIgZD0iTTE1MS42NjUsMzcyLjk0N2wxOC4xNzUsMjQuNzQ3di0yNC43NDdoMTMuNTU0djQ0LjQ2M2gtMTYuMDE5bC0xNy45Ny0yNC40Mzl2MjQuNDM5aC0xMy41NTV2LTQ0LjQ2MwoJCUgxNTEuNjY1TDE1MS42NjUsMzcyLjk0N3oiLz4KCTxwYXRoIGZpbGw9IiNGRkZGRkYiIGQ9Ik0yMDIuNTk3LDM5OC44MjRsLTE5LjEtMjUuODc3aDE2Ljg0bDkuNTUsMTMuMDQxbDkuNTUtMTMuMDQxaDE2Ljg0bC0xOS4xLDI1Ljg3N3YxOC40ODJoLTE0LjY4NHYtMTguNDgyCgkJSDIwMi41OTd6Ii8+CjwvZz4KPC9zdmc+Cg=="},54032:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/default-92a1aebfb4ea664b7d9c550b29f450a5.png"},54153:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/expressing-or-247cc5d32b9861cfbfe3fb30eaffae47.png"},54811:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/clojure-2f435fa11b53598021f19212163f4ebe.png"},54934:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/opa-mcp-efd2083114784c3fb14c716296f52610.png"},55239:(v,e,t)=>{"use strict";function i(v){var e=[];return Object.keys(v).forEach((function(t){var i=v[t],s=0;if(Array.isArray(i.tutorials)){var a=i.tutorials.map((function(v){try{return new URL(v).host}catch(e){return null}})).filter(Boolean);s=new Set(a).size}var M=0;Array.isArray(i.videos)&&(M=i.videos.length);var n=0;if(Array.isArray(i.blogs)){var o=i.blogs.map((function(v){try{return new URL(v).host}catch(e){return null}})).filter(Boolean);n=new Set(o).size}var r=0;Array.isArray(i.code)&&(r=i.code.length);var c=s+M+n+r;e.push({id:t,rank:c})})),e.sort((function(v,e){return e.rank-v.rank})),e.map((function(v){return v.id}))}t.d(e,{A:()=>i})},55354:v=>{"use strict";v.exports={}},55370:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/google-kubernetes-engine-fe6d9978a4bd9b9e96faf11a266388c5.png"},55506:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/spacelift-0960880aaff335b7fc8a3e11d05bb836.png"},55590:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/gluu-gateway-authz-c1286b25a17a40ddbd10413d90a144eb.png"},55773:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i="data:image/png;base64,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"},55883:(v,e,t)=>{var i={"./allstate-dark.svg":84539,"./allstate-light.svg":88337,"./atlassian-dark.svg":12903,"./atlassian-light.svg":76565,"./bankdata-dark.svg":48029,"./bankdata-light.svg":10059,"./bloomberg-dark.svg":88254,"./bloomberg-light.svg":82622,"./bny-dark.svg":52132,"./bny-light.svg":46975,"./capital-one-dark.svg":73338,"./capital-one-light.svg":33090,"./cisco-dark.svg":63783,"./cisco-light.svg":47420,"./goldman-sachs-dark.svg":21527,"./goldman-sachs-light.svg":4140,"./intuit-dark.svg":96642,"./intuit-light.svg":27418,"./marsh-mclennan-dark.svg":33241,"./marsh-mclennan-light.svg":42575,"./pinterest-dark.svg":41549,"./pinterest-light.svg":30491,"./sugarcrm-dark.svg":72765,"./sugarcrm-light.svg":34603,"./t-mobile-dark.svg":77866,"./t-mobile-light.svg":4882,"./tripadvisor-dark.svg":69090,"./tripadvisor-light.svg":60410,"./vodafone-dark.svg":4201,"./vodafone-light.svg":59295,"./zalando-dark.svg":16054,"./zalando-light.svg":88006};function s(v){var e=a(v);return t(e)}function a(v){if(!t.o(i,v)){var e=new Error("Cannot find module '"+v+"'");throw e.code="MODULE_NOT_FOUND",e}return i[v]}s.keys=function(){return Object.keys(i)},s.resolve=a,v.exports=s,s.id=55883},56062:(v,e,t)=>{"use strict";t.d(e,{A:()=>n});t(96540);var i=t(87331),s=t(28774);const a={card:"card_tSoT",header:"header_F_Jh",icon:"icon_VP0I",title:"title_aezp",note:"note_L3e1",link:"link_N59J",dateAdded:"dateAdded_Xndt"};var M=t(74848);function n(v){var e=v.item;return(0,M.jsxs)("div",{className:a.card,children:[(0,M.jsxs)("div",{className:a.header,children:[e.icon&&(0,M.jsx)("img",{src:e.icon,alt:"",className:a.icon}),(0,M.jsx)("h3",{className:a.title,children:e.title})]}),e.note&&(0,M.jsx)("div",{className:a.note,children:(0,M.jsx)(i.oz,{children:e.note})}),e.link&&(0,M.jsx)(s.A,{to:e.link,className:a.link,children:e.link_text||"Learn more"}),e.dateAdded&&(0,M.jsxs)("div",{className:a.dateAdded,children:["Added ",e.dateAdded]})]})}},56743:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i="data:image/png;base64,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"},57576:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});
1const i=t.p+"assets/images/opa-nats-e2b8066b1fb681a95f380d739f5c8c9a.png"},57715:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/nginx-6deb4c193ef741ce1c394984e7173ffd.png"},57773:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/kubernetes-provisioning-ce1f338cb33ce19111406f1a144dce2e.png"},58263:v=>{"use strict";v.exports={}},58595:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/terraform-cloud-bd24e438b686b0d145607687550462b6.png"},59295:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/vodafone-light-d3b604a2183d581cf449b0d9b8b3fb57.svg"},59593:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/opa-typescript-247cc5d32b9861cfbfe3fb30eaffae47.png"},59951:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i='package coding.tools\n\ndeny contains $"Tool {tc.tool} is not allowed" if {\n\tsome tc in input.tool_calls\n\ttc.tool in _disallowed_tools\n}\n\ndeny contains $"WebFetch can only load from HTTPS
1URLs" if {\n\tsome tc in input.tool_calls\n\ttc.tool == "WebFetch"\n\tnot startswith(tc.params.url, "https://")\n}\n\ndeny contains $"WebSearch cannot load more than {_max_results} results" if {\n\tsome tc in input.tool_calls\n\ttc.tool == "WebSearch"\n\ttc.params.num_results > _max_results\n}\n\ndeny contains $"Tool timeout cannot be more than 10s" if {\n\tsome tc in input.tool_calls\n\ttc.params.timeout > 10000\n}\n\n_disallowed_tools := {"Bash", "Write", "Edit"}\n\n_max_results := 10\n'},60410:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i="data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJMYXllcl8xIiB4bWxuczp4PSJuc19leHRlbmQ7IiB4bWxuczppPSJuc19haTsiIHhtbG5zOmdyYXBoPSJuc19ncmFwaHM7IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIgdmlld0JveD0iMCAwIDMzMy44IDcxIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAzMzMuOCA3MTsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgogPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KICAuc3Qwe2ZpbGw6IzM0RTBBMTt9CiA8L3N0eWxlPgogPG1ldGFkYXRhPgogIDxzZncgeG1sbnM9Im5zX3NmdzsiPgogICA8c2xpY2VzPgogICA8L3NsaWNlcz4KICAgPHNsaWNlU291cmNlQm91bmRzIGJvdHRvbUxlZnRPcmlnaW49InRydWUiIGhlaWdodD0iNzEiIHdpZHRoPSIzMzMuOCIgeD0iMTUxMC4yIiB5PSIzMjEuMiI+CiAgIDwvc2xpY2VTb3VyY2VCb3VuZHM+CiAgPC9zZnc+CiA8L21ldGFkYXRhPgogPGc+CiAgPHBhdGggZD0iTTMzMS45LDQ3LjRjLTEsMC0xLjksMC44LTEuOSwxLjlzMC44LDEuOSwxLjksMS45YzEsMCwxLjktMC44LDEuOS0xLjlDMzMzLjgsNDguMywzMzIuOSw0Ny40LDMzMS45LDQ3LjR6IE0zMzEuOSw1MC45CgkJYy0wLjksMC0xLjYtMC43LTEuNi0xLjZjMC0wLjksMC43LTEuNiwxLjYtMS42YzAuOSwwLDEuNiwwLjcsMS42LDEuNkMzMzMuNSw1MC4yLDMzMi44LDUwLjksMzMxLjksNTAuOXogTTMzMi41LDQ5CgkJYzAtMC4zLTAuMi0wLjUtMC42LTAuNWgtMC42djEuN2gwLjN2LTAuNmgwLjNsMC4zLDAuNmgwLjNsLTAuMy0wLjdDMzMyLjQsNDkuNCwzMzIuNSw0OS4yLDMzMi41LDQ5eiBNMzMxLjksNDkuM2gtMC4zdi0wLjZoMC4zCgkJYzAuMiwwLDAuMywwLjEsMC4zLDAuM0MzMzIuMiw0OS4yLDMzMi4xLDQ5LjMsMzMxLjksNDkuM3ogTTEwNS44LDI4LjV2LTQuNWgtN3YyN2g3VjM0LjdjMC0yLjksMS45LTQuNCw0LjgtNC40aDMuOHYtNi40aC0zLjMKCQlDMTA4LjYsMjMuOSwxMDYuNCwyNS4yLDEwNS44LDI4LjV6IE0xMjEsMTMuMmMtMi40LDAtNC4yLDEuOS00LjIsNC4zYzAsMi4zLDEuOCw0LjIsNC4yLDQuMnM0LjItMS45LDQuMi00LjIKCQlDMTI1LjIsMTUuMSwxMjMuMywxMy4yLDEyMSwxMy4yeiBNMTE3LjUsNTAuOWg2Ljl2LTI3aC02LjlWNTAuOXogTTE1Ny41LDM3LjRjMCw3LjctNi4yLDE0LTE0LDE0Yy0zLjEsMC01LjktMS04LjItMi43djEwLjJoLTYuOQoJCVYyMy45aDYuOXYyLjNjMi4zLTEuNyw1LjEtMi43LDguMi0yLjdDMTUxLjMsMjMuNSwxNTcuNSwyOS43LDE1Ny41LDM3LjR6IE0xNTAuNSwzNy40YzAtNC4yLTMuNC03LjYtNy42LTcuNnMtNy42LDMuNC03LjYsNy42CgkJYzAsNC4yLDMuNCw3LjYsNy42LDcuNkMxNDcuMSw0NSwxNTAuNSw0MS42LDE1MC41LDM3LjR6IE0yNzguMSwzNWwtNC0xLjFjLTIuNy0wLjctMy43LTEuNS0zLjctMi45YzAtMS40LDEuNS0yLjMsMy41LTIuMwoJCWMyLDAsMy41LDEuMywzLjUsM3YwLjJoNi40di0wLjJjMC00LjktNC04LjItOS45LTguMmMtNS45LDAtMTAuMiwzLjMtMTAuMiw3LjhjMCwzLjUsMi4zLDYuMiw2LjQsNy4zbDMuOSwxLjFjMi45LDAuOCw0LDEuNyw0LDMuMwoJCWMwLDEuNy0xLjYsMi45LTMuOSwyLjljLTIuNSwwLTQuMS0xLjYtNC4xLTMuOXYtMC4yaC02LjhWNDJjMCw1LjUsNC41LDkuNCwxMC44LDkuNGM2LjIsMCwxMC42LTMuOCwxMC42LTkKCQlDMjg0LjcsMzkuOCwyODMuNiwzNi41LDI3OC4xLDM1eiBNMTgyLjEsMjMuOWg2Ljl2MjdoLTYuOXYtMi4zYy0yLjMsMS43LTUuMSwyLjctOC4yLDIuN2MtNy43LDAtMTQtNi4yLTE0LTE0czYuMi0xNCwxNC0xNAoJCWMzLjEsMCw1LjksMSw4LjIsMi43VjIzLjl6IE0xODIuMSwzNy40TDE4Mi4xLDM3LjRjMC00LjItMy40LTcuNi03LjYtNy42cy03LjYsMy40LTcuNiw3LjZjMCw0LjIsMy40LDcuNiw3LjYsNy42CgkJQzE3OC43LDQ1LDE4Mi4xLDQxLjYsMTgyLjEsMzcuNHogTTIxNC4xLDE0LjNoNi45djM2LjZoLTYuOXYtMi4zYy0yLjMsMS43LTUuMSwyLjctOC4yLDIuN2MtNy43LDAtMTQtNi4yLTE0LTE0czYuMi0xNCwxNC0xNAoJCWMzLjEsMCw1LjksMSw4LjIsMi43VjE0LjN6IE0yMTQuMSwzNy40YzAtNC4yLTMuNC03LjYtNy42LTcuNmMtNC4yLDAtNy42LDMuNC03LjYsNy42YzAsNC4yLDMuNCw3LjYsNy42LDcuNgoJCUMyMTAuNyw0NSwyMTQuMSw0MS42LDIxNC4xLDM3LjR6IE0yNTMuMyw1MC45aDYuOXYtMjdoLTYuOVY1MC45eiBNMjU2LjgsMTMuMmMtMi40LDAtNC4yLDEuOS00LjIsNC4zYzAsMi4zLDEuOCw0LjIsNC4yLDQuMgoJCWMyLjQsMCw0LjItMS45LDQuMi00LjJDMjYxLDE1LjEsMjU5LjIsMTMuMiwyNTYuOCwxMy4yeiBNMzE0LjcsMzcuNGMwLDcuNy02LjIsMTQtMTQsMTRjLTcuNywwLTE0LTYuMi0xNC0xNHM2LjItMTQsMTQtMTQKCQlDMzA4LjUsMjMuNSwzMTQuNywyOS43LDMxNC43LDM3LjR6IE0zMDguNCwzNy40YzAtNC4yLTMuNC03LjYtNy42LTcuNnMtNy42LDMuNC03LjYsNy42YzAsNC4yLDMuNCw3LjYsNy42LDcuNgoJCUMzMDUsNDUsMzA4LjQsNDEuNiwzMDguNCwzNy40eiBNMTAyLjMsMTQuM0g3NS42djYuMmg5Ljl2MzAuNGg2LjlWMjAuNWg5LjlMMTAyLjMsMTQuM0wxMDIuMywxNC4zeiBNMjM2LjksNDMuNWwtNi4yLTE5LjZoLTcuMwoJCWw5LjMsMjdoOC40bDkuMy0yN2gtNy4zTDIzNi45LDQzLjV6IE0zMjQuOSwyOC41di00LjVoLTd2MjdoN1YzNC43YzAtMi45LDEuOS00LjQsNC44LTQuNGgzLjh2LTYuNGgtMy4zCgkJQzMyNy43LDIzLjksMzI1LjUsMjUuMiwzMjQuOSwyOC41eiI+CiAgPC9wYXRoPgogIDxjaXJjbGUgY2xhc3M9InN0MCIgY3g9IjM1LjUiIGN5PSIzNS41IiByPSIzNS41Ij4KICA8L2NpcmNsZT4KICA8cGF0aCBkPSJNNTcuNCwyOC42bDQuMy00LjdoLTkuNWMtNC44LTMuMi0xMC41LTUuMS0xNi43LTUuMWMtNi4yLDAtMTEuOSwxLjktMTYuNyw1LjFIOS4zbDQuMyw0LjdDMTEsMzEsOS4zLDM0LjQsOS4zLDM4LjMKCQljMCw3LjIsNS45LDEzLjEsMTMuMSwxMy4xYzMuNCwwLDYuNi0xLjMsOC45LTMuNWw0LjIsNC42bDQuMi00LjZjMi4zLDIuMiw1LjUsMy41LDguOSwzLjVjNy4yLDAsMTMuMS01LjksMTMuMS0xMy4xCgkJQzYxLjcsMzQuNCw2MC4xLDMxLDU3LjQsMjguNnogTTIyLjQsNDcuMWMtNC45LDAtOC45LTQtOC45LTguOXM0LTguOSw4LjktOC45czguOSw0LDguOSw4LjlTMjcuMyw0Ny4xLDIyLjQsNDcuMXogTTM1LjUsMzgKCQljMC01LjgtNC4yLTEwLjgtOS44LTEzYzMtMS4zLDYuMy0yLDkuOC0yYzMuNSwwLDYuOCwwLjcsOS44LDJDMzkuNywyNy4yLD
1M1LjUsMzIuMiwzNS41LDM4eiBNNDguNiw0Ny4xYy00LjksMC04LjktNC04LjktOC45CgkJczQtOC45LDguOS04LjlzOC45LDQsOC45LDguOVM1My41LDQ3LjEsNDguNiw0Ny4xeiBNNDguNiwzMy42Yy0yLjYsMC00LjYsMi4xLTQuNiw0LjZjMCwyLjYsMi4xLDQuNiw0LjYsNC42CgkJYzIuNiwwLDQuNi0yLjEsNC42LTQuNkM1My4yLDM1LjcsNTEuMiwzMy42LDQ4LjYsMzMuNnogTTI3LjEsMzguM2MwLDIuNi0yLjEsNC42LTQuNiw0LjZzLTQuNi0yLjEtNC42LTQuNmMwLTIuNiwyLjEtNC42LDQuNi00LjYKCQlDMjUsMzMuNiwyNy4xLDM1LjcsMjcuMSwzOC4zeiI+CiAgPC9wYXRoPgogPC9nPgo8L3N2Zz4="},60715:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i="data:image/png;base64,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"},61445:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAgMTAwIj4KICA8Y2lyY2xlIGN4PSI1MCIgY3k9IjUwIiByPSI1MCIgZmlsbD0iIzE2YTM0YSIvPgogIDxzdmcgeD0iMTgiIHk9IjE4IiB3aWR0aD0iNjQiIGhlaWdodD0iNjQiIHZpZXdCb3g9Ii0xLjUgLTEuNSAyNyAyNyIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjZmZmZmZmIiBzdHJva2Utd2lkdGg9IjIuNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCBtZWV0Ij4KICAgIDxsaW5lIHgxPSI2IiB5MT0iMyIgeDI9IjYiIHkyPSIyMSIvPgogICAgPGxpbmUgeDE9IjYiIHkxPSIxMiIgeDI9IjE4IiB5Mj0iNCIvPgogICAgPGxpbmUgeDE9IjYiIHkxPSIxMiIgeDI9IjE4IiB5Mj0iMjAiLz4KICAgIDxjaXJjbGUgY3g9IjYiIGN5PSIzIiByPSIyIi8+CiAgICA8Y2lyY2xlIGN4PSI2IiBjeT0iMTIiIHI9IjIiLz4KICAgIDxjaXJjbGUgY3g9IjYiIGN5PSIyMSIgcj0iMiIvPgogICAgPGNpcmNsZSBjeD0iMTgiIGN5PSI0IiByPSIyIi8+CiAgICA8Y2lyY2xlIGN4PSIxOCIgY3k9IjIwIiByPSIyIi8+CiAgPC9zdmc+Cjwvc3ZnPgo="},63179:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=""},63424:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/flipt-39c97ddab08b696d6c211803c3b6b042.png"},63783:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDgiIGhlaWdodD0iNTciIHZpZXdCb3g9IjAgMCAxMDggNTciIHJvbGU9ImltZyI+CiAgICAgICAgPHRpdGxlIGlkPSJmdy1jLWhlYWRlcl9fbG9nby10aXRsZSI+Q2lzY28uY29tIFdvcmxkd2lkZTwvdGl0bGU+CiAgICAgICAgPGRlZnM+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0wIDIyLjc2OWEyLjM0OCAyLjM0OCAwIDAgMCAzLjkzNSAxLjU0NWMuNDM0LS40MDMuNy0uOTU1Ljc0NC0xLjU0NXYtNS4yYTIuMzQgMi4zNCAwIDAgMC00LjY3OSAwdjUuMiIgaWQ9ImJhcl9zaG9ydCIgY2xhc3M9ImJhciI+PC9wYXRoPgogICAgICAgICAgICA8cGF0aCBkPSJNMTIuOTUgMjIuNzY5YTIuMzQ5IDIuMzQ5IDAgMCAwIDIuMzQgMi4xNzEgMi4zNDYgMi4zNDYgMCAwIDAgMi4zMzktMi4xNzFWMTEuMTEyYTIuMzQxIDIuMzQxIDAgMCAwLTQuNjc5IDBWMjIuNzciIGlkPSJiYXJfdGFsbCIgY2xhc3M9ImJhciI+PC9wYXRoPgogICAgICAgICAgICA8cGF0aCBkPSJNMjUuODMyIDI3LjQ2NGEyLjM0NSAyLjM0NSAwIDAgMCA0LjY3OCAwVjIuMjQ5YTIuMzQyIDIuMzQyIDAgMCAwLTQuNjc4IDB2MjUuMjE1IiBpZD0iYmFyX2dyYW5kZSIgY2xhc3M9ImJhciI+PC9wYXRoPgogICAgICAgICAgICA8cGF0aCBkPSJNMjQuMDI2IDU2LjI3N3YtNS4wMDJsLS4wOTguMDQzYTkuMjUzIDkuMjUzIDAgMCAxLTMuNjA1LjkxNSA1LjMwMyA1LjMwMyAwIDAgMS0zLjYzLTEuMDcgNC42NDQgNC42NDQgMCAwIDEtMS41OC0yLjI0NCA1LjM5NSA1LjM5NSAwIDAgMS0uMTA2LTMgNC42IDQuNiAwIDAgMSAxLjYwOS0yLjU2NiA0LjgyMyA0LjgyMyAwIDAgMSAyLjUyOC0xLjA5IDguMzMyIDguMzMyIDAgMCAxIDQuNzc0Ljg5NWwuMTA4LjA1NnYtNS4wM2wtLjIyOC0uMDYxYTEyLjc4IDEyLjc4IDAgMCAwLTQuNTUyLS41OTYgMTAuNTM0IDEwLjUzNCAwIDAgMC00LjA2NS45MyA5LjI5IDkuMjkgMCAwIDAtMy4zMjkgMi41NzIgMTAuMDE0IDEwLjAxNCAwIDAgMC0uMTgyIDEyLjE4IDkuNTQ2IDkuNTQ2IDAgMCAwIDUuMjkyIDMuNDAzYzIuMjExLjUzOCA0LjUyOC40NTYgNi42OTctLjIzNGwuMzY3LS4xMDEiIGlkPSJjaXNjb19jIj48L3BhdGg+CiAgICAgICAgPC9kZWZzPgogICAgICAgIDxnIGZpbGw9IiNmZmYiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgICAgIDx1c2UgaHJlZj0iI2Npc2NvX2MiPjwvdXNlPgogICAgICAgICAgICA8dXNlIGhyZWY9IiNjaXNjb19jIiB4PSI0OS41Ij48L3VzZT4KICAgICAgICAgICAgPHBhdGggZD0iTTQxLjY5IDUyLjEyNWwtLjAxOSA0LjMwOC4zMTUuMDU0Yy45ODkuMTg1IDEuOTg3LjMxMyAyLjk5LjM4NWExOC4xIDE4LjEgMCAwIDAgMi42NDIuMDUxYy44NDItLjA2IDEuNjc1LS4yMTggMi40OC0uNDY4YTYuODYyIDYuODYyIDAgMCAwIDIuNTczLTEuMzcxIDUuMTkgNS4xOSAwIDAgMCAxLjQ5OC0yLjE0OCA1LjkxMiA1LjkxMiAwIDAgMC0uMDMtNC4zMjQgNC44NTIgNC44NTIgMCAwIDAtMS4zNDMtMS44NjIgNS41NjggNS41NjggMCAwIDAtMS45Ny0xLjE0N2wtMy4yNS0xLjIwNmExLjc0MiAxLjc0MiAwIDAgMS0uODg3LS44NDUgMS4xMDcgMS4xMDcgMCAwIDEgLjAzNi0uOTg2IDEuMjkgMS4yOSAwIDAgMSAuMjE3LS4yOTEgMS43NSAxLjc1IDAgMCAxIC40OC0uMzQ3Yy4zNjMtLjE4Ljc1NS0uMjkzIDEuMTU4LS4zMzdhNi43NiA2Ljc2IDAgMCAxIDIuMDcyLjAyMmMuODEuMDg4IDEuNjEzLjIzMSAyLjQwMi40M2wuMTY4LjAzN3YtMy45NzRsLS4zMS0uMDY3YTIxLjE0IDIxLjE0IDAgMCAwLTIuNDQ0LS40MzUgMTIuNTQ1IDEyLjU0NSAwIDAgMC0zLjIxMy0uMDE0IDYuOTQ1IDYuOTQ1IDAgMCAwLTMuNjk5IDEuNDg4IDQuOTA4IDQuOTA4IDAgMCAwLTEuNTggMi4xNzggNS45ODQgNS45ODQgMCAwIDAtLjAwMyA0LjA1Yy4yNDIuNjUuNjMgMS4yMzcgMS4xMzYgMS43MTQuNDM3LjQyMi45MzIuNzggMS40NyAxLjA2NS43MDguMzggMS40NTguNjc1IDIuMjM1Ljg3OC4yNTcuMDc3LjUxMi4xNTguNzY2LjI0M2wuMzg1LjE0MS4xMS4wNDVjLjM4LjEzNi43MjYuMzUgMS4wMTguNjI4LjIwMi4xOS4zNTguNDIzLjQ1NS42ODMuMDYuMjM3LjA2MS40ODUuMDAzLjcyM2ExLjUzNiAxLjUzNiAwIDAgMS0uNzQ0Ljg5MiAzLjY5MSAzLjY5MSAwIDAgMS0xLjIzOS4zODcgOSA5IDAgMCAxLTEuOTIuMDk3IDIxLjk3MyAyMS45NzMgMCAwIDEtMi41MDctLjMzNGMtLjQzMy0uMDktLjg2NC0uMTktMS4yOTEtLjMwM2wtLjE2LS4wNHpNMzAuNTQ2IDU2LjYwN2g0LjczVjM3Ljg0NmgtNC43M3pNODUuMzA1IDQzLjM4NmE0LjkzNCA0LjkzNCAwIDEgMSA2LjE1NyA3LjcxMSA0LjkzNCA0LjkzNCAwIDAgMS02LjE1Ny03LjcxbS02Ljg2NyAzLjg0OEE5Ljg3IDkuODcgMCAwIDAgOTAuNDQgNTYuNzJhOS42MjkgOS42MjkgMCAwIDAgMy4xNTctMTcuNzI5IDkuOTM0IDkuOTM0IDAgMCAwLTE1LjE2IDguMjQ0Ij48L3BhdGg+CiAgICAgICAgICAgIDx1c2UgaHJlZj0iI2Jhcl9zaG9ydCIgeD0iMCI+PC91c2U+CiAgICAgICAgICAgIDx1c2UgaHJlZj0iI2Jhcl90YWxsIiB4PSIwIj48L3VzZT4KICAgICAgICAgICAgPHVzZSBocmVmPSIjYmFyX2dyYW5kZSIgeD0iMCI+PC91c2U+CiAgICAgICAgICAgIDx1c2UgaHJlZj0iI2Jhcl90YWxsIiB4PSIyNS44NzUiPjwvdXNlPgogICAgICAgICAgICA8dXNlIGhyZWY9IiNiYXJfc2hvcnQiIHg9IjUxLjc1Ij48L3VzZT4KICAgICAgICAgICAgPHVzZSBocmVmPSIjYmFyX3RhbGwiIHg9IjUxLjc1Ij48L3VzZT4KICAgICAgICAgICAgPHVzZSBocmVmPSIjYmFyX2dyYW5kZSIgeD0iNTEuNzUiPjwvdXNlPgogICAgICAgICAgICA8dXNlIGhyZWY9IiNiYXJfdGFsbCIgeD0iNzcuNjI1Ij48L3VzZT4KICAgICAgICAgICAgPHVzZSBocmVmPSIjYmFyX3Nob3J0IiB4PSIxMDMuMzc1Ij48L3VzZT4KICAgICAgICA8L2c+CiAgICA8L3N2Zz4="},63965:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/boomerang-bosun-cd50744e45a39ed2379972d46f241172.png"},64188:(v,e,t)=>{"use strict";t.d(e,{A:()=>i});const i=t.p+"assets/images/github-7194f371f4ed45ea52d94602641a64aa.png"},64221:(v,e,t)=>{"use strict";t.r(e),t.d(e,{contentTitle:()=>M,default:()=>r,frontMatter:()=>a,toc:()=>n});var i=t(74848),s=t(28453);const a={},M=void 0,n=[];function o(v){return(0,i.jsx)(i.Fragment,{})}function r(v={}){const{wrapper:e}={...(0,s.R)(),...v.components};return e?(0,i.jsx)(e,{...v,children:(0,i.jsx)(o,{...v})}):o()}},65328:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/opa-java-247cc5d32b9861cfbfe3fb30eaffae47.png"},65468:(v,e,t)=>{"use strict";t.d(e,{A:()=>i});const i=t.p+"assets/images/performance-96543736340717309b3bc0e3b7a7fa46.png"},65614:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/eopa-247cc5d32b9861cfbfe3fb30eaffae47.png"},66266:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/coredns-authz-f876d87af36125a9bfb44e4e949a5f29.png"},66417:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/sphinx-rego-633193e48f886acb76010c7ad24d6a35.png"},66438:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/spire-2961c60dce327b676306d41b752df856.png"},67544:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i="data:image/png;base64,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"},67697:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/fiber-a9bfc6d0d26422777859de89367b1108.png"},68383:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/flask-opa-69910ea536ce5a258e77e5b379d53ac8.png"},68719:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/opa-wasm-java-f5dd86c3ef6ef3f85acf14f07bf0daa8.png"},69090:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i="data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJMYXllcl8xIiB4bWxuczp4PSJuc19leHRlbmQ7IiB4bWxuczppPSJuc19haTsiIHhtbG5zOmdyYXBoPSJuc19ncmFwaHM7IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIgdmlld0JveD0iMCAwIDMzMy44IDcxIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAzMzMuOCA3MTsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgogPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KICAuc3Qwe2ZpbGw6I0ZGRkZGRjt9Cgkuc3Qxe2ZpbGw6IzM0RTBBMTt9CiA8L3N0eWxlPgogPG1ldGFkYXRhPgogIDxzZncgeG1sbnM9Im5zX3NmdzsiPgogICA8c2xpY2VzPgogICA8L3NsaWNlcz4KICAgPHNsaWNlU291cmNlQm91bmRzIGJvdHRvbUxlZnRPcmlnaW49InRydWUiIGhlaWdodD0iNzEiIHdpZHRoPSIzMzMuOCIgeD0iMTUxMC4yIiB5PSIzMjEuMiI+CiAgIDwvc2xpY2VTb3VyY2VCb3VuZHM+CiAgPC9zZnc+CiA8L21ldGFkYXRhPgogPGc+CiAgPHBhdGggY2xhc3M9InN0MCIgZD0iTTMzMS45LDQ3LjRjLTEsMC0xLjksMC44LTEuOSwxLjlzMC44LDEuOSwxLjksMS45YzEsMCwxLjktMC44LDEuOS0xLjlDMzMzLjgsNDguMywzMzIuOSw0Ny40LDMzMS45LDQ3LjR6CgkJIE0zMzEuOSw1MC45Yy0wLjksMC0xLjYtMC43LTEuNi0xLjZjMC0wLjksMC43LTEuNiwxLjYtMS42YzAuOSwwLDEuNiwwLjcsMS42LDEuNkMzMzMuNSw1MC4yLDMzMi44LDUwLjksMzMxLjksNTAuOXogTTMzMi41LDQ5CgkJYzAtMC4zLTAuMi0wLjUtMC42LTAuNWgtMC42djEuN2gwLjN2LTAuNmgwLjNsMC4zLDAuNmgwLjNsLTAuMy0wLjdDMzMyLjQsNDkuNCwzMzIuNSw0OS4yLDMzMi41LDQ5eiBNMzMxLjksNDkuM2gtMC4zdi0wLjZoMC4zCgkJYzAuMiwwLDAuMywwLjEsMC4zLDAuM0MzMzIuMiw0OS4yLDMzMi4xLDQ5LjMsMzMxLjksNDkuM3ogTTEwNS44LDI4LjV2LTQuNWgtN3YyN2g3VjM0LjdjMC0yLjksMS45LTQuNCw0LjgtNC40aDMuOHYtNi40aC0zLjMKCQlDMTA4LjYsMjMuOSwxMDYuNCwyNS4yLDEwNS44LDI4LjV6IE0xMjEsMTMuMmMtMi40LDAtNC4yLDEuOS00LjIsNC4zYzAsMi4zLDEuOCw0LjIsNC4yLDQuMnM0LjItMS45LDQuMi00LjIKCQlDMTI1LjIsMTUuMSwxMjMuMywxMy4yLDEyMSwxMy4yeiBNMTE3LjUsNTAuOWg2Ljl2LTI3aC02LjlWNTAuOXogTTE1Ny41LDM3LjRjMCw3LjctNi4yLDE0LTE0LDE0Yy0zLjEsMC01LjktMS04LjItMi43djEwLjJoLTYuOQoJCVYyMy45aDYuOXYyLjNjMi4zLTEuNyw1LjEtMi43LDguMi0yLjdDMTUxLjMsMjMuNSwxNTcuNSwyOS43LDE1Ny41LDM3LjR6IE0xNTAuNSwzNy40YzAtNC4yLTMuNC03LjYtNy42LTcuNnMtNy42LDMuNC03LjYsNy42CgkJYzAsNC4yLDMuNCw3LjYsNy42LDcuNkMxNDcuMSw0NSwxNTAuNSw0MS42LDE1MC4
11LDM3LjR6IE0yNzguMSwzNWwtNC0xLjFjLTIuNy0wLjctMy43LTEuNS0zLjctMi45YzAtMS40LDEuNS0yLjMsMy41LTIuMwoJCWMyLDAsMy41LDEuMywzLjUsM3YwLjJoNi40di0wLjJjMC00LjktNC04LjItOS45LTguMmMtNS45LDAtMTAuMiwzLjMtMTAuMiw3LjhjMCwzLjUsMi4zLDYuMiw2LjQsNy4zbDMuOSwxLjFjMi45LDAuOCw0LDEuNyw0LDMuMwoJCWMwLDEuNy0xLjYsMi45LTMuOSwyLjljLTIuNSwwLTQuMS0xLjYtNC4xLTMuOXYtMC4yaC02LjhWNDJjMCw1LjUsNC41LDkuNCwxMC44LDkuNGM2LjIsMCwxMC42LTMuOCwxMC42LTkKCQlDMjg0LjcsMzkuOCwyODMuNiwzNi41LDI3OC4xLDM1eiBNMTgyLjEsMjMuOWg2Ljl2MjdoLTYuOXYtMi4zYy0yLjMsMS43LTUuMSwyLjctOC4yLDIuN2MtNy43LDAtMTQtNi4yLTE0LTE0czYuMi0xNCwxNC0xNAoJCWMzLjEsMCw1LjksMSw4LjIsMi43VjIzLjl6IE0xODIuMSwzNy40TDE4Mi4xLDM3LjRjMC00LjItMy40LTcuNi03LjYtNy42cy03LjYsMy40LTcuNiw3LjZjMCw0LjIsMy40LDcuNiw3LjYsNy42CgkJQzE3OC43LDQ1LDE4Mi4xLDQxLjYsMTgyLjEsMzcuNHogTTIxNC4xLDE0LjNoNi45djM2LjZoLTYuOXYtMi4zYy0yLjMsMS43LTUuMSwyLjctOC4yLDIuN2MtNy43LDAtMTQtNi4yLTE0LTE0czYuMi0xNCwxNC0xNAoJCWMzLjEsMCw1LjksMSw4LjIsMi43VjE0LjN6IE0yMTQuMSwzNy40YzAtNC4yLTMuNC03LjYtNy42LTcuNmMtNC4yLDAtNy42LDMuNC03LjYsNy42YzAsNC4yLDMuNCw3LjYsNy42LDcuNgoJCUMyMTAuNyw0NSwyMTQuMSw0MS42LDIxNC4xLDM3LjR6IE0yNTMuMyw1MC45aDYuOXYtMjdoLTYuOVY1MC45eiBNMjU2LjgsMTMuMmMtMi40LDAtNC4yLDEuOS00LjIsNC4zYzAsMi4zLDEuOCw0LjIsNC4yLDQuMgoJCWMyLjQsMCw0LjItMS45LDQuMi00LjJDMjYxLDE1LjEsMjU5LjIsMTMuMiwyNTYuOCwxMy4yeiBNMzE0LjcsMzcuNGMwLDcuNy02LjIsMTQtMTQsMTRjLTcuNywwLTE0LTYuMi0xNC0xNHM2LjItMTQsMTQtMTQKCQlDMzA4LjUsMjMuNSwzMTQuNywyOS43LDMxNC43LDM3LjR6IE0zMDguNCwzNy40YzAtNC4yLTMuNC03LjYtNy42LTcuNnMtNy42LDMuNC03LjYsNy42YzAsNC4yLDMuNCw3LjYsNy42LDcuNgoJCUMzMDUsNDUsMzA4LjQsNDEuNiwzMDguNCwzNy40eiBNMTAyLjMsMTQuM0g3NS42djYuMmg5Ljl2MzAuNGg2LjlWMjAuNWg5LjlMMTAyLjMsMTQuM0wxMDIuMywxNC4zeiBNMjM2LjksNDMuNWwtNi4yLTE5LjZoLTcuMwoJCWw5LjMsMjdoOC40bDkuMy0yN2gtNy4zTDIzNi45LDQzLjV6IE0zMjQuOSwyOC41di00LjVoLTd2MjdoN1YzNC43YzAtMi45LDEuOS00LjQsNC44LTQuNGgzLjh2LTYuNGgtMy4zCgkJQzMyNy43LDIzLjksMzI1LjUsMjUuMiwzMjQuOSwyOC41eiI+CiAgPC9wYXRoPgogIDxjaXJjbGUgY2xhc3M9InN0MSIgY3g9IjM1LjUiIGN5PSIzNS41IiByPSIzNS41Ij4KICA8L2NpcmNsZT4KICA8cGF0aCBkPSJNNTcuNCwyOC42bDQuMy00LjdoLTkuNWMtNC44LTMuMi0xMC41LTUuMS0xNi43LTUuMWMtNi4yLDAtMTEuOSwxLjktMTYuNyw1LjFIOS4zbDQuMyw0LjdDMTEsMzEsOS4zLDM0LjQsOS4zLDM4LjMKCQljMCw3LjIsNS45LDEzLjEsMTMuMSwxMy4xYzMuNCwwLDYuNi0xLjMsOC45LTMuNWw0LjIsNC42bDQuMi00LjZjMi4zLDIuMiw1LjUsMy41LDguOSwzLjVjNy4yLDAsMTMuMS01LjksMTMuMS0xMy4xCgkJQzYxLjcsMzQuNCw2MC4xLDMxLDU3LjQsMjguNnogTTIyLjQsNDcuMWMtNC45LDAtOC45LTQtOC45LTguOXM0LTguOSw4LjktOC45czguOSw0LDguOSw4LjlTMjcuMyw0Ny4xLDIyLjQsNDcuMXogTTM1LjUsMzgKCQljMC01LjgtNC4yLTEwLjgtOS44LTEzYzMtMS4zLDYuMy0yLDkuOC0yYzMuNSwwLDYuOCwwLjcsOS44LDJDMzkuNywyNy4yLDM1LjUsMzIuMiwzNS41LDM4eiBNNDguNiw0Ny4xYy00LjksMC04LjktNC04LjktOC45CgkJczQtOC45LDguOS04LjlzOC45LDQsOC45LDguOVM1My41LDQ3LjEsNDguNiw0Ny4xeiBNNDguNiwzMy42Yy0yLjYsMC00LjYsMi4xLTQuNiw0LjZjMCwyLjYsMi4xLDQuNiw0LjYsNC42CgkJYzIuNiwwLDQuNi0yLjEsNC42LTQuNkM1My4yLDM1LjcsNTEuMiwzMy42LDQ4LjYsMzMuNnogTTI3LjEsMzguM2MwLDIuNi0yLjEsNC42LTQuNiw0LjZzLTQuNi0yLjEtNC42LTQuNmMwLTIuNiwyLjEtNC42LDQuNi00LjYKCQlDMjUsMzMuNiwyNy4xLDM1LjcsMjcuMSwzOC4zeiI+CiAgPC9wYXRoPgogPC9nPgo8L3N2Zz4="},69250:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=""},69286:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/gloo-api-gateway-644174134f9c7bc8d7375fd7f54501e9.png"},69517:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/trino-165953016d653cdea0df649083cee8ce.png"},70018:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/asp-dotnet-core-af6e6a1b7ad8672fab95a8bfb8b9a869.png"},70245:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/dependency-management-data-8bae3cdc76ec6120ca7f705499b34d33.png"},71252:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/zed-rego-92a1aebfb4ea664b7d9c550b29f450a5.png"},71579:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i="data:image/png;base64,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"},72e3:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/moat-1e74c82f919bcf2de8833b0e605f8405.png"},72378:(v,e,t)=>{"use strict";t.d(e,{A:()=>T});var i=t(96540),s=t(78478),a=t(43845),M=t(26058),n=t(71765),o=1,r=3,c=new Set(["DIV","P"]);function g(v){var e=(0,M.A)();(0,i.useEffect)((function(){var t=v.current,i=null==t?void 0:t.parentElement;if(i){var s=new Map,M=function(v){var i=A(t);if(!i||i!==v.target&&!i.contains(v.target))return null;var a=L(i);return a&&n.My.languages[a]?(s.has(a)||s.set(a,j(e,a)),{code:i,language:a,styles:s.get(a)}):null},c=function(v,e){var t=v.code,i=v.language,s=v.styles;void 0===e&&(e=null);var M=l(t),n=d(t,null==M?void 0:M.node,null==M?void 0:M.offset),c=n.text,g=n.caret,u=N(c,i);if(u){I(t,u,s),t.dataset.snippetHighlighted="true";var A=null!=g?g:e;null!==A&&document.activeElement===t&&function(v,e){var t=window.getSelection();if(!t)return;var i=e,s=null,M=function(v){for(var e,t=(0,a.A)(v.childNodes);!(e=t()).done;){var n=e.value;if(s)return;if(n.nodeType===r){if(i<=n.data.length)return void(s={node:n,offset:i});i-=n.data.length}else n.nodeType===o&&M(n)}};M(v);var n=document.createRange();s?(n.setStart(s.node,s.offset),n.collapse(!0)):(n.selectNodeContents(v),n.collapse(!1));t.removeAllRanges(),t.addRange(n)}(t,A)}},g=!1,u=function(v){var e=M(v);if(e&&!e.code.dataset.snippetHighlighted){var t=l(e.code),i=t?d(e.code,t.node,t.offset).caret:null;window.setTimeout((function(){return c(e,i)}),0)}},y=function(v){var e=M(v);e&&!g&&c(e)},D=function(v){M(v)&&(g=!0)},w=function(v){var e=M(v);e&&(g=!1,c(e))};i.addEventListener("focusin",u),i.addEventListener("input",y),i.addEventListener("compositionstart",D),i.addEventListener("compositionend",w);var p=A(t);if(null!=p&&p.dataset.snippetHighlighted){var T=L(p);T&&n.My.languages[T]&&c({code:p,language:T,styles:j(e,T)})}return function(){i.removeEventListener("focusin",u),i.removeEventListener("input",y),i.removeEventListener("compositionstart",D),i.removeEventListener("compositionend",w)}}}),[v,e])}function u(v,e,t){try{JSON.parse(e)}catch(s){return}var i=N(e,"json");i&&I(v,i,j(t,"json"))}function A(v){var e,t=null==v?void 0:v.previousElementSibling;return t?null!=(e=t.querySelector("code"))?e:t:null}function L(v){var e,t,i=null!=(e=v.closest("pre"))?e:v.parentElement,s=/(?:^|\s)language-([\w-]+)/.exec(null!=(t=null==i?void 0:i.className)?t:"");return null==s?void 0:s[1]}function j(v,e){for(var t,i={},s=(0,a.A)(v.styles);!(t=s()).done;){var M=t.value,n=M.types,o=M.style,r=M.languages;if(!r||r.includes(e))for(var c,g=(0,a.A)(n);!(c=g()).done;){var u=c.value;i[u]=Object.assign({},i[u],o)}}return i}function N(v,e){var t={code:v,grammar:n.My.languages[e],language:e,tokens:[]};return t.grammar?(n.My.hooks.run("before-tokenize",t),t.tokens=n.My.tokenize(t.code,t.grammar),n.My.hooks.run("after-tokenize",t),(0,n.I0)(t.tokens)):null}function I(v,e,t){var i=document.createDocumentFragment();e.forEach((function(v,e){e>0&&i.append(document.createTextNode("\n"));for(var s,M=(0,a.A)(v);!(s=M()).done;){var n=s.value;n.empty||""===n.content||i.append(y(n,t))}})),v.replaceChildren(i)}function y(v,e){var t=1===v.types.length&&"plain"===v.types[0]?null:Object.assign.apply(Object,[{}].concat(v.types.map((function(v){return e[v]}))));if(!t)return document.createTextNode(v.content);var i=document.createElement("span");i.className=["token"].concat(v.types).join(" ");for(var s=0,a=Object.entries(t);s<a.length;s++){var M=a[s],n=M[0],o=M[1];void 0!==o&&(i.style[n]=o)}return i.textContent=v.content,i}function l(v){var e=window.getSelection();if(!e||0===e.rangeCount)return null;var t=e.getRangeAt(0);return v.contains(t.endContainer)?{node:t.endContainer,offset:t.endOffset}:null}function d(v,e,t){var i="",s=null,a=function(v){for(var M=v.childNodes,n=0;n<M.length;n++){v===e&&n===t&&(s=i.length);var g=M[n];g.nodeType===r?(g===e&&(s=i.length+Math.min(t,g.data.length)),i+=g.data):"BR"===g.nodeName?i+="\n":g.no
1deType===o&&(c.has(g.nodeName)&&""!==i&&!i.endsWith("\n")&&(i+="\n"),a(g))}v===e&&t>=M.length&&(s=i.length)};return a(v),{text:i,caret:s}}const D={runButton:"runButton_WilU",output:"output_ABvn",error:"error_c39m",dn:"dn_VbjP",codeApiSnippetLoadingPlaceholder:"codeApiSnippetLoadingPlaceholder_L3Wr",codeApiSnippet:"codeApiSnippet__ttq"};var w=t(74848),p=["\ud83d\udc96","\ud83d\ude00","\ud83d\ude03","\ud83d\ude95","\ud83c\udfce","\ud83d\udef8","\ud83c\udf89","\ud83d\udcec","\ud83d\udd29","\u2764\ufe0f\u200d\ud83d\udd25","\u2705","\ud83c\udd97","\ud83d\uddef","\ud83c\udfc1","\ud83d\udcaf","\ud83d\udc95","\ud83e\ude75","\ud83e\uddff","\ud83c\udf88","\ud83c\udf81","\ud83e\udd16","\ud83e\udd73"];function T(v){var e,t,a,n=v.id,o=v.files,r=v.depends,c=v.command,A=v.playgroundLink,L=v.output,j=(0,i.useState)(!0),N=j[0],I=j[1],y=(0,i.useState)(!!L),l=y[0],d=y[1],T=(0,i.useState)(null),C=T[0],z=T[1],m=(0,i.useRef)(null),h=(0,i.useRef)(null);if((0,i.useEffect)((function(){var v=setTimeout((function(){I(!1)}),500);return function(){return clearTimeout(v)}}),[]),(0,i.useEffect)((function(){if(L&&C){var v=function(){return d(!1)};return C.addEventListener("result",v),function(){return C.removeEventListener("result",v)}}}),[L,C]),g(m),e=h,t=L,a=(0,M.A)(),(0,i.useEffect)((function(){e.current&&t&&u(e.current,t,a)}),[e,t,a]),function(v){var e=(0,M.A)();(0,i.useEffect)((function(){if(v){var t=function(){var t,i=null!=(t=v.querySelector("codapi-output code"))?t:v.querySelector("codapi-output");i&&u(i,i.textContent,e)};return v.addEventListener("result",t),function(){return v.removeEventListener("result",t)}}}),[v,e])}(C),!c&&!o)return(0,w.jsx)("div",{ref:m,children:(0,w.jsx)(s.A,{children:function(){return(0,w.jsx)("codapi-snippet",{editor:"basic",id:n,"data-copy-exclude":!0})}})});var x=(0,i.useMemo)((function(){return p[Math.floor(Math.random()*p.length)]}),[]);return(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)("div",{ref:m,children:(0,w.jsx)(s.A,{children:function(){return(0,w.jsx)("codapi-snippet",{ref:z,sandbox:"javascript",engine:"playground",editor:"basic",id:n,command:c,files:o,"depends-on":r,"init-delay":500,className:N?D.dn:D.codeApiSnippet,"data-copy-exclude":!0,children:(0,w.jsxs)("codapi-toolbar",{children:[(0,w.jsx)("button",{children:"Evaluate"}),(0,w.jsx)("a",{href:"#edit",children:"Edit"}),A&&(0,w.jsx)("a",{target:"_blank",href:A,children:"Open in Playground"}),(0,w.jsx)("div",{className:D.codeApiHider,children:(0,w.jsx)("codapi-status",{done:x+" Done in $DURATION"})})]})})}})}),l&&(0,w.jsxs)("div",{children:[(0,w.jsx)("div",{className:D.dn,children:"Output"}),(0,w.jsx)("pre",{ref:h,children:L})]}),(0,w.jsx)("div",{className:N?D.codeApiSnippetLoadingPlaceholder:D.dn,"data-copy-exclude":!0,children:"Loading..."})]})}},72671:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/github-action-opa-rego-test-5331c5a9f38fef183fafac30fdb000af.png"},72765:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i="data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJCbGFjay1Mb2dvIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHg9IjAiIHk9IjAiIHZpZXdCb3g9IjAgMCAxODYgMzUuMSIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CiAgPHBhdGggZmlsbD0id2hpdGUiIGQ9Ik01NS4xIDE3LjVjLS45LS41LTIuMi0uOS0zLjctMS4yLTEuNi0uNC0yLjYtLjctMy4yLTFzLS44LS44LS44LTEuNGMwLS43LjMtMS4yLjgtMS42LjYtLjQgMS4zLS42IDIuMi0uNiAxIDAgMS43LjMgMi4zLjhzLjkgMS4yLjkgMS45aDRjMC0xLjctLjctMy4xLTItNC4xLTEuMy0xLjEtMy4xLTEuNi01LjItMS42LTIgMC0zLjcuNS01IDEuNi0xLjMgMS0yIDIuMy0yIDMuOSAwIDEuOSAxIDMuMyAzIDQuMi45LjQgMi4xLjggMy40IDEuMXMyLjQuNiAzIDEgLjkuOS45IDEuNi0uMyAxLjItLjggMS42LTEuNC42LTIuNC42Yy0xLjEgMC0yLS4zLTIuNi0uOC0uNy0uNS0xLTEuMy0xLjEtMi4yaC0zLjljMCAxLjEuMyAyLjEgMSAzczEuNSAxLjcgMi43IDIuMiAyLjUuOCAzLjkuOGMyLjIgMCAzLjktLjUgNS4zLTEuNSAxLjMtMSAyLTIuMyAyLTMuOSAwLTEtLjItMS44LS43LTIuNS0uNC0uOS0xLjEtMS41LTItMS45em0xNyA0LjJjLS43IDEuNC0yIDIuMS00IDIuMS0xLjkgMC0yLjgtMS4xLTIuOC0zLjRWOC44aC00djExLjdjMCAyLjIuNSAzLjggMS41IDUgMSAxLjEgMi41IDEuNyA0LjQgMS43IDIuMiAwIDMuOS0uNyA1LjEtMi4xbC4xIDEuOGgzLjh2LTE4aC00bC0uMSAxMi44em0xOS41LTExLjFjLTEuMi0xLjQtMi44LTIuMS00LjgtMi4xLTIuMiAwLTMuOS44LTUuMiAyLjUtMS4zIDEuNy0yIDMuOS0yIDYuNyAwIDMgLjcgNS4zIDIgN3MzLjEgMi41IDUuMiAyLjVjMS45IDAgMy41LS42IDQuNy0xLjl2MS4yYzAgMS40LS40IDIuNS0xLjIgMy4yLS44LjctMS44IDEuMS0zLjIgMS4xLTEuOCAwLTMuNC0uNy00LjYtMi4yTDgwLjYgMzFjLjcuOSAxLjYgMS42IDIuOSAyLjIgMS4zLjUgMi42LjggMy45LjggMi41IDAgNC41LS43IDYtMiAxLjUtMS40IDIuMi0zLjIgMi4yLTUuNlY4LjhIOTJsLS40IDEuOHptLS4yIDExLjFjLS44IDEuNC0yIDIuMS0zLjYgMi4xLTEuMyAwLTIuMy0uNS0zLjEtMS42LS43LTEtMS4xLTIuNS0xLjEtNC4zIDAtMi4xLjQtMy42IDEuMS00LjdzMS44LTEuNiAzLjEtMS42YzEuNiAwIDIuOC43IDMuNiAydjguMXptMjIuNC03LjJjMC0xLjktLjctMy40LTEuOS00LjUtMS4zLTEuMS0yLjktMS42LTUtMS42LTEuNCAwLTIuNi4yLTMuOC43LTEuMS41LTIgMS4yLTIuNyAyLS43LjktMSAxLjgtMSAyLjhoNGMwLS43LjMtMS4zLjktMS44czEuMy0uNyAyLjMtLjdjMS4xIDAgMS45LjMgMi40LjguNS42LjggMS4zLjggMi4ydjEuMmgtMi41Yy0yLjcgMC00LjcuNS02LjEgMS41cy0yLjEgMi41LTIuMSA0LjRjMCAxLjUuNiAyLjggMS43IDMuOHMyLjYgMS41IDQuNCAxLjVjMS45IDAgMy40LS43IDQuNy0yIC4xLjguMyAxLjMuNSAxLjdoNC4xdi0uM2MtLjUtMS0uNy0yLjMtLjctMy45di03Ljh6bS00IDcuMmMtLjQuNy0uOSAxLjItMS42IDEuNnMtMS41LjYtMi4zLjZjLS45IDAtMS42LS4yLTIuMS0uN3MtLjgtMS4xLS44LTEuOWMwLTEgLjQtMS43IDEuMS0yLjIuOC0uNSAxLjktLjggMy40LS44aDIuMnYzLjRoLjF6TTEyMiAxMC44bC0uMS0ySDExOHYxOGg0VjE0LjVjLjYtMS40IDEuOS0yLjEgMy43LTIuMS42IDAgMS4xIDAgMS42LjFWOC43Yy0uNC0uMi0uOS0uMi0xLjQtLjItMS41LS4xLTIuOS43LTMuOSAyLjN6bTExIDEuM2MxLTEuMyAyLjQtMS45IDQuMi0xLjkgMS40IDAgMi42LjQgMy41IDEuMy45LjkgMS40IDIgMS41IDMuNGgxLjljLS4xLTEuOS0uOC0zLjUtMi4xLTQuNi0xLjMtMS4yLTIuOS0xLjgtNC45LTEuOC0xLjYgMC0yLjkuNC00LjEgMS4xLTEuMi43LTIuMSAxLjgtMi43IDMuMi0uNiAxLjQtLjkgMi45LS45IDQuN3YuNWMwIDIuOC43IDUgMi4xIDYuNiAxLjQgMS42IDMuMyAyLjUgNS42IDIuNSAxLjIgMCAyLjMtLjMgMy40LS44IDEtLjUgMS45LTEuMiAyLjUtMi4xczEtMS45IDEtM2gtMS45Yy0uMSAxLjItLjYgMi4zLTEuNSAzLS45LjgtMi4xIDEuMi0zLjUgMS4yLTEuOCAwLTMuMi0uNi00LjItMS45cy0xLjUtMy4xLTEuNS01LjR2LS42Yy4xLTIuMy42LTQuMSAxLjYtNS40em0xNy4xLS41VjguN2gtMS45djE4aDJWMTQuNGMuNC0xLjMgMS0yLjMgMS44LTMgLjktLjcgMS45LTEgMy4yLTEgLjUgMCAuOSAwIDEuMy4xVjguN2MtLjMtLjEtLjgtLjItMS4zLS4yLTIuMy0uMS00IDEtNS4xIDMuMXptMjguOC0zLjJjLTEuMyAwLTIuNS4zLTMuNi45LTEuMS42LTEuOSAxLjUtMi42IDIuNi0uOC0yLjMtMi42LTMuNS01LjQtMy41LTEuMiAwLTIuMy4zLTMuMy44cy0xLjggMS40LTIuNSAyLjRsLS4xLTIuOWgtMS45djE4aDJWMTQuNGMuNC0xLjQgMS4xLTIuNSAyLTMuMnMyLTEuMSAzLjItMS4xYzEuNSAwIDIuNi40IDMuMyAxLjEuNy44IDEuMSAxLjkgMS4xIDMuNXYxMmgyVjE0LjljLjEtMS4zLjctMi4
10IDEuNi0zLjMgMS0uOSAyLjItMS40IDMuNi0xLjQgMS41IDAgMi43LjQgMy4zIDEuMi43LjggMSAyIDEgMy42djExLjloMnYtMTJjLjEtNC40LTEuOC02LjUtNS43LTYuNXpNMS4yIDcuMnY0LjNsMTcuMSA2LjcgMTctNi43VjcuMkwxOC4zLjV6Ii8+CiAgPHBhdGggZmlsbD0id2hpdGUiIGQ9Ik0xOC4zIDIwLjVMMy4yIDE0LjZsLTIgLjh2NC4zbDE3LjEgNi43IDE3LTYuN3YtNC4zbC0yLS44eiIvPgogIDxwYXRoIGZpbGw9IndoaXRlIiBkPSJNMTguMyAyOC43TDMuMiAyMi44bC0yIC44VjI4bDE3LjEgNi42IDE3LTYuNnYtNC40bC0xLjktLjh6Ii8+Cjwvc3ZnPgo="},72872:(v,e,t)=>{var i={"./config":42677,"./config.json":42677,"./data":1755,"./data.json":1755,"./input":98901,"./input.json":98901,"./intro.md":64221,"./output":16258,"./output.json":16258,"./policy.rego":74170,"./title.txt":63179};function s(v){var e=a(v);return t(e)}function a(v){if(!t.o(i,v)){var e=new Error("Cannot find module '"+v+"'");throw e.code="MODULE_NOT_FOUND",e}return i[v]}s.keys=function(){return Object.keys(i)},s.resolve=a,v.exports=s,s.id=72872},73338:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i="data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJMYXllcl8xIiB4bWxuczp4PSJuc19leHRlbmQ7IiB4bWxuczppPSJuc19haTsiIHhtbG5zOmdyYXBoPSJuc19ncmFwaHM7IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIgdmlld0JveD0iMCAwIDQxOCAxNTAuMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNDE4IDE1MC4xOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CiA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgogIC5zdDB7ZmlsbDojQ0MyNDI3O30KCS5zdDF7ZmlsbDojRkZGRkZGO30KIDwvc3R5bGU+CiA8bWV0YWRhdGE+CiAgPHNmdyB4bWxucz0ibnNfc2Z3OyI+CiAgIDxzbGljZXM+CiAgIDwvc2xpY2VzPgogICA8c2xpY2VTb3VyY2VCb3VuZHMgYm90dG9tTGVmdE9yaWdpbj0idHJ1ZSIgaGVpZ2h0PSIxNTAuMSIgd2lkdGg9IjQxOCIgeD0iLTcuNiIgeT0iLTI4My43Ij4KICAgPC9zbGljZVNvdXJjZUJvdW5kcz4KICA8L3Nmdz4KIDwvbWV0YWRhdGE+CiA8Zz4KICA8cGF0aCBjbGFzcz0ic3QwIiBkPSJNMjgzLjcsMTA4LjVoLTAuMWMtMTcuOCwxMi42LTM4LjgsMjUuOC02MS41LDM5LjdsLTAuOSwwLjVjLTAuNCwwLjEtMC41LDAuNi0wLjQsMC45YzAuMSwwLjQsMC42LDAuNSwwLjksMC40CgkJYzAuMSwwLDAuMi0wLjEsMC4zLTAuMmwwLjctMC40YzE5LjMtMTAsNDEuNC0yMS45LDYzLjYtMzQuMmwwLjQtMC4yQzI4NS40LDExMywyODQuMywxMTAuOCwyODMuNywxMDguNXogTTQwMC41LDEzLjkKCQljLTI4LTMwLjktMjA4LjYtMy4xLTI4NS4zLDEzLjdsLTEuOCwwLjRjLTAuNCwwLjEtMC42LDAuNC0wLjYsMC44YzAsMC4zLDAuMywwLjYsMC43LDAuNWMwLDAsMC4xLDAsMC4xLDBsMS44LTAuMwoJCUMxNzksMTcuNywzMTEuMywyLDMzOS43LDMwLjJjOC43LDguNiw2LjcsMTkuNy0zLjQsMzIuOGM1LjYsMy42LDkuNSw5LjMsMTEsMTUuOEMzODYuNiw1Mi43LDQxMywyNy43LDQwMC41LDEzLjl6Ij4KICA8L3BhdGg+CiAgPHBhdGggY2xhc3M9InN0MSIgZD0iTTI5NS4xLDEwMC40YzAuMywxMC45LDcuMiwxOS44LDE2LjIsMTkuOGMxNy40LDAsMjQuOC0yMS40LDI0LjMtMzUuN2MtMC40LTEwLjktNy40LTE5LjgtMTYuNC0xOS44CgkJQzMwNC4yLDY0LjcsMjk0LjUsODYsMjk1LjEsMTAwLjR6IE0yODUuOSw5OS44Yy0wLjctMTguNiwxMy45LTM3LjYsMzUtMzcuNmMxNC4yLDAsMjMuNCw5LjUsMjMuOSwyMy45YzAuNywxOS42LTEyLjksMzcuNi0zNSwzNy42CgkJQzI5NS42LDEyMy43LDI4Ni40LDExNC4zLDI4NS45LDk5Ljh6Ij4KICA8L3BhdGg+CiAgPHBhdGggY2xhc3M9InN0MSIgZD0iTTg1LjUsOTQuOWMtMC45LDAuNC0xLjksMC42LTIuOSwwLjhMNzYsOTYuOWMtMS42LDAuMS0zLjIsMC42LTQuNiwxLjRjLTAuOCwwLjUtMS40LDEuMy0xLjUsMi4zCgkJYy0wLjIsMC45LDAuMiwxLjgsMSwyLjNjMS4zLDAuNywyLjcsMSw0LjIsMC45YzEuNSwwLDMtMC4zLDQuNC0wLjdjMS4zLTAuNCwyLjUtMSwzLjYtMS45YzAuNy0wLjYsMS4yLTEuNCwxLjUtMi4zCgkJQzg1LjEsOTcuNiw4NS40LDk2LjMsODUuNSw5NC45eiBNMTAzLjksODMuNWMtMC4xLDEuNy0wLjQsMy4yLTAuOCw1LjhsLTMuMSwxNy40Yy0wLjMsMS40LDAuNCwyLjksMS43LDMuNnYwLjdIODMuOHYtNC40CgkJYy0yLjcsMS41LTUuNiwyLjctOC42LDMuNmMtMi44LDAuNy01LjYsMS4xLTguNSwxLjFjLTUuOCwwLTkuMS0wLjYtMTEuMy0yLjZzLTMuNS0zLjQtMy40LTYuM2MwLjItMS45LDEtMy43LDIuMi01LjEKCQljMS4zLTEuNSwyLjktMi42LDQuNy0zLjRjMi4zLTEsNC43LTEuNiw3LjItMmMzLjEtMC41LDcuNS0xLDEzLjQtMS41YzItMC4xLDQtMC41LDUuOC0xLjNjMS4zLTAuNSwxLjctMSwxLjktMnMtMC4yLTIuOC0yLjYtMy4zCgkJYy02LjQtMS4yLTE4LjQsMC44LTI0LjYsMi40bDMuMy05LjFjNy45LTEuMywxNS45LTEuOSwyMy45LTJDOTkuOSw3NS4xLDEwNCw3OC44LDEwMy45LDgzLjV6Ij4KICA8L3BhdGg+CiAgPHBhdGggY2xhc3M9InN0MSIgZD0iTTE1NS41LDExMWw2LjItMzQuOWgxNy4xbC02LjIsMzQuOUgxNTUuNXogTTE2Mi43LDY4LjFjMC41LTIuOSw1LTUuMiwxMC4xLTUuMnM4LjcsMi4zLDguMiw1LjIKCQlzLTUsNS4yLTEwLjEsNS4yUzE2Mi4yLDcwLjksMTYyLjcsNjguMXoiPgogIDwvcGF0aD4KICA8cGF0aCBjbGFzcz0ic3QxIiBkPSJNMjM5LjMsOTVsLTIuOSwwLjhsLTYuNywxLjJjLTEuNiwwLjEtMy4xLDAuNi00LjUsMS40Yy0wLjgsMC41LTEuNCwxLjMtMS41LDIuMmMtMC4yLDAuOSwwLjEsMS45LDAuOSwyLjQKCQljMC45LDAuNiwyLjMsMC44LDQuMywwLjhjMS41LDAsMy0wLjIsNC40LTAuNmMxLjMtMC40LDIuNS0xLDMuNi0xLjljMC43LTAuNiwxLjItMS40LDEuNS0yLjNDMjM4LjgsOTcuNywyMzkuMSw5Ni40LDIzOS4zLDk1egoJCSBNMjU3LjcsODMuNWMtMC4xLDEuNy0wLjQsMy4zLTAuOCw1LjhsLTMuMSwxNy41Yy0wLjMsMS40LDAuNCwyLjksMS43LDMuNnYwLjZoLTE3Ljl2LTQuNWMtMi43LDEuNi01LjYsMi44LTguNiwzLjcKCQljLTIuOCwwLjctNS43LDEuMS04LjYsMWMtNS43LDAtOS0wLjYtMTEuMy0yLjZzLTMuNC0zLjQtMy4zLTYuMmMwLjItMS45LDEtMy43LDIuMi01LjJjMS4zLTEuNCwyLjktMi42LDQuNy0zLjMKCQljMi4zLTEsNC42LTEuNyw3LjEtMmMzLjItMC41LDcuNi0xLDEzLjUtMS41YzItMC4yLDMuOS0wLjYsNS44
1LTEuM2MxLjItMC41LDEuNy0xLDEuOS0ycy0wLjItMi44LTIuNi0zLjMKCQljLTYuNC0xLjMtMTguNCwwLjgtMjQuNiwyLjNsMy4zLTljNy45LTEuMywxNS45LTEuOSwyMy45LTJDMjUzLjcsNzUuMiwyNTcuOCw3OC45LDI1Ny43LDgzLjV6Ij4KICA8L3BhdGg+CiAgPHBhdGggY2xhc3M9InN0MSIgZD0iTTQ5LjYsOTguNWMtNC43LDEtOS40LDEuNS0xNC4yLDEuNWMtOC4xLDAtMTQuNi00LTE0LjItMTEuNWMwLjItNC45LDYuMS0xNS4zLDIwLjktMTUuMwoJCWM0LjctMC4xLDkuMywxLjEsMTMuMywzLjZsMi4xLTEyLjFjLTUuMy0yLjEtMTEuMS0zLjEtMTYuOC0yLjhjLTE5LjUsMC4yLTM4LjIsOS00MC41LDI3czIwLDIyLjksMjkuOSwyMi45CgkJYzUuNywwLDExLjctMC4zLDE3LjItMC44TDQ5LjYsOTguNXoiPgogIDwvcGF0aD4KICA8cGF0aCBjbGFzcz0ic3QxIiBkPSJNMTg4LjIsNzUuOWwxLjItNy4xbDE3LjgtMy44bC0xLjksMTAuOWg4LjhsLTEuNyw3LjFoLTguNWwtNS4xLDI4aC0xNy4zbDUuMi0yOGgtNi41bDEuMy03TDE4OC4yLDc1LjkKCQlMMTg4LjIsNzUuOXoiPgogIDwvcGF0aD4KICA8cG9seWdvbiBjbGFzcz0ic3QxIiBwb2ludHM9IjI3NSwxMTEgMjU3LjYsMTExIDI2Ni40LDYyLjQgMjgzLjMsNjIuOCAJIj4KICA8L3BvbHlnb24+CiAgPHBhdGggY2xhc3M9InN0MSIgZD0iTTEzMyw4NC4zYy0yLjIsMC00LjMsMC43LTYuMSwyYy0xLjgsMS41LTMsMy43LTMuMyw2Yy0wLjYsMy4xLTAuMyw1LjIsMC45LDYuNmMxLjQsMS40LDMuMywyLjEsNS4zLDIKCQljMS41LDAsMy0wLjMsNC40LTAuOWMxLjMtMC42LDIuNS0xLjYsMy4zLTIuOGMwLjktMS40LDEuNi0zLDEuOS00LjZjMC41LTIuOCwwLjEtNC44LTEuMi02LjJDMTM2LjgsODUsMTM0LjksODQuMiwxMzMsODQuM3oKCQkgTTEwMS45LDEyMy4xbDguMy00Ni44aDE1bC0xLjIsNmMxLjYtMi4xLDMuOC0zLjYsNi4zLTQuNWMzLjEtMS4zLDYuNC0xLjksOS43LTJjMy45LDAsNi4zLDAuMiw5LjIsMS43YzIuNywxLjQsNC45LDMuNyw2LDYuNgoJCWMxLjIsMywxLjUsNi4zLDAuOCw5LjVjLTAuOCw1LjUtMy45LDEwLjUtOC40LDEzLjdjLTQuNiwzLjMtOC43LDQuMi0xNC42LDQuMmMtMS44LDAtMy42LTAuMi01LjMtMC42Yy0xLjItMC4zLTIuMy0wLjctMy40LTEuMwoJCWMtMS0wLjctMi0xLjYtMi44LTIuNmwtMi44LDE2LjFMMTAxLjksMTIzLjF6Ij4KICA8L3BhdGg+CiAgPHBhdGggY2xhc3M9InN0MSIgZD0iTTQxMS41LDg4LjZjLTAuMS0yLjgtMS41LTQuNy00LjQtNC43Yy03LDAtMTQuNCwxMy43LTE1LjcsMTkuMkM0MDIuOCwxMDMuMSw0MTEuOCw5Ni4zLDQxMS41LDg4LjZ6CgkJIE00MTMsMTEwLjFsMS4zLDAuOWMtMy40LDYuOS0xMC4zLDEyLjUtMTguNSwxMi41Yy02LjcsMC0xMi4xLTQuNC0xMi40LTEyLjdjLTAuNi0xNSwxMy41LTI4LjksMjQuOS0yOC45YzQuOSwwLDkuNSwyLjIsOS43LDcuNQoJCWMwLjQsMTEuOS0xNi4zLDE1LjUtMjcuMywxNS43Yy0wLjQsMS40LTAuNSwyLjktMC40LDQuNGMwLjIsNSwzLjIsOS4xLDkuMyw5LjFTNDEwLjMsMTE0LjMsNDEzLDExMC4xeiI+CiAgPC9wYXRoPgogIDxwYXRoIGNsYXNzPSJzdDEiIGQ9Ik0zNDQuNiw4OC4ybDMuOS0wLjRjMS4zLDAsMi40LDAuMywyLjUsMS41cy0xLjMsNi0xLjYsNy4zbC0yLjcsMTEuN2MtMSw0LjgtMi4yLDkuOC0zLjIsMTMuOGg2LjhsMy44LTE4LjYKCQljMTEuOC0xMi4yLDE2LjMtMTYuMiwxOS0xNi4yYzEuMS0wLjEsMi4xLDAuNywyLjIsMS44YzAsMC4xLDAsMC4zLDAsMC40YzAuMSwyLjEtMS4zLDctMS43LDguNGwtNCwxMy41Yy0wLjgsMy4xLTEuNSw1LjgtMS40LDcuOAoJCXMxLjksNC4zLDQuNSw0LjNjNSwwLDguNy01LjIsMTEuOC0xMC4zbC0wLjktMS43Yy0xLjMsMi00LjIsNi4
11LTYuNiw2LjVjLTAuNywwLTEuNC0wLjUtMS40LTEuN2MwLjEtMS45LDAuNC0zLjcsMS01LjVsNC40LTE1LjkKCQljMS4xLTQuNCwxLjctNy4yLDEuNy04LjdzLTEuOS00LjMtNC41LTQuM2MtNC41LDAtMTAuNSwzLjMtMjMuMSwxNy44aC0wLjJsMS42LTcuMWMwLjktMy45LDEuNy03LjksMi41LTEwLjcKCQljLTQuNywxLjctOS42LDMuMS0xNC41LDQuMUwzNDQuNiw4OC4yeiI+CiAgPC9wYXRoPgogPC9nPgo8L3N2Zz4="},73396:v=>{"use strict";v.exports=JSON.parse('{"showInput":true,"showData":false,"showTitles":false,"command":"data.coding.tools.deny"}')},74158:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i='package application.authz\n\n# Only owner can update the pet\'s information. Ownership\n# information is provided as part of the request data from\n# the application.\ndefault allow := false\n\nallow if {\n\tinput.method == "PUT"\n\tsome petid\n\tinput.path = ["pets", petid]\n\tinput.user == input.owner\n}\n'},74170:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i='# Run your first Rego policy!\npackage payments\n\ndefault allow := false\n\nallow if {\n\tinput.account.state == "open"\n\tinput.user.risk_score in ["low", "medium"]\n\tinput.transaction.amount <= 1000\n}\n\n# Open in the Rego Playground to see the full example.\n'},74663:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=""},75103:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/optoggles-9d6a1440d7a0bc5a7491afc3b79a5bb8.png"},75677:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/opa-errors-247cc5d32b9861cfbfe3fb30eaffae47.png"},76119:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i="data:image/png;base64,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"},76565:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTk1IiBoZWlnaHQ9IjMyIiB2aWV3Qm94PSIwIDAgMTk1IDMyIiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4KIDxwYXRoIGQ9Ik0xMjEuMjEgMTcuOTQ2M0MxMjEuMjEgMTQuNTQzMyAxMTkuMzg0IDEyLjkzMTMgMTE0LjI5NyAxMS44MjA5QzExMS40NjcgMTEuMjExOSAxMTAuNzg3IDEwLjU2NzIgMTEwLjc4NyA5LjY3MTY0QzExMC43ODcgOC41NjEyIDExMS43OSA4LjA1OTcgMTEzLjY1MiA4LjA1OTdDMTE1LjkwOSA4LjA1OTcgMTE4LjEzIDguNzQwMyAxMjAuMjQzIDkuNzA3NDdWNS4yMjk4NUMxMTguNzc1IDQuNDc3NjEgMTE2LjQ4MiAzLjkwNDQ4IDExMy43OTYgMy45MDQ0OEMxMDguNzQ1IDMuOTA0NDggMTA2LjEzIDYuMDg5NTUgMTA2LjEzIDkuNzA3NDdDMTA2LjEzIDEyLjU3MzEgMTA3LjQ1NSAxNC44NjU3IDExMi42ODUgMTUuODY4N0MxMTUuODAxIDE2LjUxMzQgMTE2LjQ0NiAxNy4wMTQ5IDExNi40NDYgMTguMDUzN0MxMTYuNDQ2IDE5LjA1NjcgMTE1LjgwMSAxOS43MDE1IDExMy41ODEgMTkuNzAxNUMxMTEuMDM3IDE5LjcwMTUgMTA3Ljk5MyAxOC44NDE4IDEwNi4wMjIgMTcuNjU5N1YyMi4zNTIyQzEwNy41OTkgMjMuMTQwMyAxMDkuNjc2IDI0IDExMy41NDUgMjRDMTE5LjA2MSAyNCAxMjEuMjEgMjEuNTY0MiAxMjEuMjEgMTcuOTQ2M1oiIGZpbGw9IiMwMDUyQ0MiPgogPC9wYXRoPgogPHBhdGggZD0iTTE3Ni4zMzkgNC4xOTEwNFYyMy43MTM0SDE4MC40OTRWOC44MTE5NEwxODIuMjQ5IDEyLjc4ODFMMTg4LjEyNCAyMy43MTM0SDE5My4zNTRWNC4xOTEwNEgxODkuMTk4VjE2LjhMMTg3LjYyMiAxMy4xNDYzTDE4Mi44OTQgNC4xOTEwNEgxNzYuMzM5WiIgZmlsbD0iIzAwNTJDQyI+CiA8L3BhdGg+CiA8cGF0aCBkPSJNMTQ5LjkwMyA0LjE5MTA0SDE0NS4zNTRWMjMuNjc3NkgxNDkuOTAzVjQuMTkxMDRaIiBmaWxsPSIjMDA1MkNDIj4KIDwvcGF0aD4KIDxwYXRoIGQ9Ik0xNDAuMTI0IDE3Ljk0NjNDMTQwLjEyNCAxNC41NDMzIDEzOC4yOTcgMTIuOTMxMyAxMzMuMjEgMTEuODIwOUMxMzAuMzgxIDExLjIxMTkgMTI5LjcgMTAuNTY3MiAxMjkuNyA5LjY3MTY0QzEyOS43IDguNTYxMiAxMzAuNzAzIDguMDU5NyAxMzIuNTY2IDguMDU5N0MxMzQuODIyIDguMDU5NyAxMzcuMDQzIDguNzQwMyAxMzkuMTU3IDkuNzA3NDdWNS4yMjk4NUMxMzcuNjg4IDQuNDc3NjEgMTM1LjM5NiAzLjkwNDQ4IDEzMi43MDkgMy45MDQ0OEMxMjcuNjU4IDMuOTA0NDggMTI1LjA0MyA2LjA4OTU1IDEyNS4wNDMgOS43MDc0N0MxMjUuMDQzIDEyLjU3MzEgMTI2LjM2OSAxNC44NjU3IDEzMS41OTggMTUuODY4N0MxMzQuNzE1IDE2LjUxMzQgMTM1LjM2IDE3LjAxNDkgMTM1LjM2IDE4LjA1MzdDMTM1LjM2IDE5LjA1NjcgMTM0LjcxNSAxOS43MDE1IDEzMi40OTQgMTkuNzAxNUMxMjkuOTUxIDE5LjcwMTUgMTI2LjkwNiAxOC44NDE4IDEyNC45MzYgMTcuNjU5N1YyMi4zNTIyQzEyNi41MTIgMjMuMTQwMyAxMjguNTkgMjQgMTMyLjQ1OCAyNEMxMzcuOTc1IDI0IDE0MC4xMjQgMjEuNTY0MiAxNDAuMTI0IDE3Ljk0NjNaIiBmaWxsPSIjMDA1MkNDIj4KIDwvcGF0aD4KIDxwYXRoIGQ9Ik03MC44ODIxIDQuMTkxMDRWMjMuNzEzNEg4MC4yMzEzTDgxLjcgMTkuNDg2Nkg3NS40NjcyVjQuMTkxMDRINzAuODgyMVoiIGZpbGw9IiMwMDUyQ0MiPgogPC9wYXRoPgogPHBhdGggZD0iTTUyLjQ3MDEgNC4xOTEwNFY4LjQxNzkxSDU3LjQ4NTFWMjMuNzEzNEg2Mi4wNzAxVjguNDE3OTFINjcuNDc5MVY0LjE5MTA0SDUyLjQ3MDFaIiBmaWxsPSIjMDA1MkNDIj4KIDwvcGF0aD4KIDxwYXRoIGQ9Ik00NS44NDMzIDQuMTkxMDRIMzkuODYxMkwzMy4wNTUyIDIzLjY3NzZIMzguMjQ5M0wzOS4yMTY0IDIwLjM4MjFDNDAuMzYyNyAyMC43MDQ1IDQxLjU4MDYgMjAuOTE5NCA0Mi44NzAxIDIwLjkxOTRDNDQuMTIzOSAyMC45MTk0IDQ1LjM0MTggMjAuNzQwMyA0Ni41MjM5IDIwLjM4MjFMNDcuNDkxIDIzLjY3NzZINTIuNjg1MUw0NS44NDMzIDQuMTkxMDRaTTQyLjgzNDMgMTYuOTA3NUM0MS45NzQ2IDE2LjkwNzUgNDEuMTE0OSAxNi43NjQyIDQwLjMyNjkgMTYuNTQ5Mkw0Mi44MzQzIDguMDIzODhMNDUuMzQxOCAxNi41NDkyQzQ0LjU1MzcgMTYuNzY0MiA0My42OTQgMTYuOTA3NSA0Mi44MzQzIDE2LjkwNzVaIiBmaWxsPSIjMDA1MkNDIj4KIDwvcGF0aD4KIDxwYXRoIGQ9Ik05Ni4zMTQ5IDQuMTkxMDRIOTAuMzMyOEw4My41MjY5IDIzLjY3NzZIODguNzIwOUw4OS42ODgxIDIwLjM4MjFDOTAuODM0MyAyMC43MDQ1IDkyLjA1MjIgMjAuOTE5NCA5My4zNDE4IDIwLjkxOTRDOTQuNTk1NSAyMC45MTk0IDk1LjgxMzQgMjAuNzQwMyA5Ni45OTU1IDIwLjM4MjFMOTcuOTYyNyAyMy42Nzc2SDEwMy4xNTdMOTYuMzE0OSA0LjE5MTA0Wk05My4zNDE4IDE2LjkwNzVDOTIuNDgyMSAxNi45MDc1IDkxLjYyMjQgMTYuNzY0MiA5MC44MzQzIDE2LjU0OTJMOTMuMzQxOCA4LjAyMzg4TDk1Ljg0OTMgMTYuNTQ5MkM5NS4wMjU0IDE2Ljc2NDIgOTQuMjAxNSAxNi45MDc1IDkzLjM0MTggMTYuOTA3NVoiIGZpbGw9IiMwMDUyQ0MiPgogPC9wYXRoPgogPHBhdGggZD0iTTE2Ni4yNzMgNC4xOTEwNEgxNjAuMjkxTDE1My40ODUgMjMuNjc3NkgxNTguNjc5TDE1OS42NDYgMjAuMzgyMUMxNjAuNzkzIDIwLjcwNDUgMTYyLjAxIDIwLjkxOTQgMTYzLjMgMjAuOTE5NEMxNjQuNTU0IDIwLjkxOTQgMTY1Ljc3MiAyMC43NDAzIDE2Ni45NTQgMjAuMzgyMUwxNjcuOTIxIDIzLjY3NzZIMTczLjExNUwxNjYuMjczIDQuMTkxMDRaTTE2My4yNjQgMTYuOTA3NUMxNjIuNDA0IDE2LjkwNzUgMTYxLjU0NSAxNi43NjQyIDE2MC43NTcgMTYuNTQ5MkwxNjMuMjY0IDguMDIzODhMMTY1Ljc3MiAxNi41NDkyQzE2NC45ODQgMTYuNzY0MiAxNjQuMTYgMTYuOTA3NSAxNjMuMjY0IDE2LjkwNzVaIiBmaWxsPSIjMDA1MkNDIj4KIDwvcGF0aD4KIDxwYXRoIGQ9Ik0xNDAuMTI0IDE3Ljk0NjNDMTQwLjEyNCAxNC41ND
1MzIDEzOC4zMzMgMTIuOTMxMyAxMzMuMjEgMTEuODIwOUMxMzAuMzgxIDExLjIxMTkgMTI5LjcgMTAuNTY3MiAxMjkuNyA5LjY3MTYzQzEyOS43IDguNTYxMTkgMTMwLjcwMyA4LjA1OTY5IDEzMi41NjYgOC4wNTk2OUMxMzQuODIyIDguMDU5NjkgMTM3LjA0MyA4Ljc0MDI5IDEzOS4xNTcgOS43MDc0NVY1LjIyOTg0QzEzNy4xNTEgNC4yOTg1IDEzNC45MyAzLjg2ODY1IDEzMi43MDkgMy45MDQ0N0MxMjcuNjU4IDMuOTA0NDcgMTI1LjA0MyA2LjA4OTU0IDEyNS4wNDMgOS43MDc0NUMxMjUuMDQzIDEyLjU3MzEgMTI2LjM2OSAxNC44NjU3IDEzMS41OTggMTUuODY4NkMxMzQuNzE1IDE2LjUxMzQgMTM1LjM2IDE3LjAxNDkgMTM1LjM2IDE4LjA1MzdDMTM1LjM2IDE5LjA5MjUgMTM0LjcxNSAxOS43MDE1IDEzMi40OTQgMTkuNzAxNUMxMjkuODQzIDE5LjY2NTcgMTI3LjIyOCAxOC45NDkyIDEyNC45MzYgMTcuNjU5N1YyMi4zNTIyQzEyNi41MTIgMjMuMTQwMyAxMjguNTkgMjQgMTMyLjQ1OCAyNEMxMzcuOTM5IDI0IDE0MC4wODggMjEuNTY0MiAxNDAuMTI0IDE3Ljk0NjNaIiBmaWxsPSIjMDA1MkNDIj4KIDwvcGF0aD4KIDxwYXRoIGQ9Ik02LjgzNDMzIDExLjA2ODdDNi43MjY4NiAxMC45MjU0IDYuNTExOTQgMTAuODUzNyA2LjMzMjgzIDEwLjg1MzdDNi4xODk1NSAxMC44ODk2IDYuMDQ2MjcgMTAuOTk3IDUuOTc0NjIgMTEuMTQwM0wwLjA2NDE3NjggMjIuOTYxMkMtMC4wNzkxMDY4IDIzLjIxMTkgMC4wMjgzNTU5IDIzLjUzNDMgMC4yNzkxMDIgMjMuNjQxOEMwLjM1MDc0NCAyMy42Nzc2IDAuNDIyMzg2IDIzLjcxMzQgMC40OTQwMjggMjMuNzEzNEg4LjczMjgzQzguOTExOTQgMjMuNzEzNCA5LjEyNjg2IDIzLjYwNiA5LjE5ODUxIDIzLjQyNjlDMTAuOTUzNyAxOS44NDQ4IDkuODc5MSAxNC4yOTI1IDYuODM0MzMgMTEuMDY4N1oiIGZpbGw9IiMwMDUyQ0MiPgogPC9wYXRoPgogPHBhdGggZD0iTTIzLjcwNiAyMi45NjEyQzIzLjU2MjcgMjIuNzQ2MyAxMi42MzczIDAuODIzODgxIDEyLjM1MDcgMC4yODY1NjdDMTIuMjc5MSAwLjEwNzQ2MyAxMi4xMzU4IDAgMTEuOTU2NyAwSDExLjkyMDlDMTEuNzQxOCAwIDExLjU2MjcgMC4xMDc0NjMgMTEuNDU1MiAwLjI4NjU2N0M4LjQ4MjA5IDQuOTc5MSA4LjE1OTcgMTAuNjc0NiAxMC41NTk3IDE1LjQ3NDZMMTQuNTM1OCAyMy4zOTFDMTQuNjA3NSAyMy41NzAyIDE0Ljc4NjYgMjMuNjc3NiAxNS4wMDE1IDIzLjY3NzZIMjMuMjQwM0MyMy41MjY5IDIzLjY3NzYgMjMuNzQxOCAyMy40NjI3IDIzLjc0MTggMjMuMTc2MUMyMy43NDE4IDIzLjEwNDUgMjMuNzQxOCAyMy4wMzI4IDIzLjcwNiAyMi45NjEyWiIgZmlsbD0iIzAwNTJDQyI+CiA8L3BhdGg+Cjwvc3ZnPg=="},77327:(v,e,t)=>{var i={"./alfred.png":33671,"./alluxio.png":42413,"./antlr.png":85042,"./apache-apisix.png":44040,"./aserto.png":78993,"./asp-dotnet-core.png":70018,"./atmos.png":38273,"./aws-api-gateway.png":49002,"./aws-cloudformation-hook.svg":7113,"./backstage.svg":8548,"./big-acl.png":38706,"./boomerang-bosun.png":63965,"./bottle.png":76119,"./carbonetes.png":85735,"./ceph.png":627,"./circleci.png":9595,"./clair-datasource.png":31580,"./clojure.png":54811,"./cloudflare-worker.png":14075,"./conftest.png":50253,"./coredns-authz.png":66266,"./cosign.png":81274,"./dapr.png":67544,"./dart-authorization.png":48059,"./default.png":54032,"./dependency-management-data.png":70245,"./digger.png":55773,"./docker-machine.png":89071,"./easegress.svg":27685,"./elasticsearch-datafiltering.png":88259,"./emissary-ingress.png":78520,"./enterprise-contract.svg":46001,"./env0.png":43120,"./envoy-authorization.png":47254,"./eopa.png":65614,"./evolith.png":88746,"./expressing-or.png":54153,"./fiber.png":67697,"./fig.png":11505,"./flask-opa.png":68383,"./flipt.png":63424,"./gcp-forseti.png":8042,"./github-action-opa-rego-test.png":72671,"./gloo-api-gateway.png":69286,"./gluu-gateway-authz.png":55590,"./google-calendar.png":37215,"./google-kubernetes-engine.png":55370,"./gradle-plugin.png":23936,"./graphene-graphql.png":11213,"./graphql.png":33244,"./i2scim.png":25722,"./iptables.png":38831,"./istio-authorization-mixer.png":71579,"./jenkins-job-authorization.png":84587,"./kafka-authorization.png":12217,"./kong-authorization.png":7016,"./kopa.svg":43980,"./kubernetes-authorization.png":35635,"./kubernetes-provisioning.png":57773,"./kubernetes-validating-admission.png":17697,"./kubescape.png":4592,"./kubeshield.png":88687,"./kubestellar-console.svg":8395,"./legitify.png":25516,"./linux-pam.png":15364,"./lula.svg":92587,"./magda.png":56743,"./minio.png":92295,"./moat.png":72e3,"./nacp.png":84385,"./nginx.png":57715,"./nodejs-express.png":93637,"./oauth2.svg":15558,"./ocpr.svg":5767,"./oidc.png":1780,"./opa-aspnetcore.png":80696,"./opa-csharp.png":409,"./opa-dotnet-asp-core.png":405,"./opa-dotnet.png":87502,"./opa-errors.png":75677,"./opa-golang.png":35558,"./opa-java-client.png":91210,"./opa-java-wasm.png":23831,"./opa-java.png":65328,"./opa-mcp.png":54934,"./opa-nats.png":57576,"./opa-playground.png":95243,"./opa-python.png":50730,"./opa-springboot.png":41579,"./opa-typescript.png":59593,"./opa-wasm-dotnet.png":30017,"./opa-wasm-java.png":68719,"./opa-wasm-js.png":81002,"./opa-wasm-rust.png":94341,"./opa-wasm-zig.svg":12753,"./opal.png":39801,"./open-service-mesh.png":35323,"./openfaas-function-authorization.png":25635,"./optoggles.png":75103,"./ossrisk.svg":61445,"./permit.png":8158,"./php-authorization.png":4607,"./pomerium-authz.png":30660,"./pre-commit-hooks.png":43071,"./principled-evolution.svg":32631,"./pulumi.png":80853,"./raygun.png":99901,"./regal.png":48498,"./rego-cheat-sheet.png":9606,"./rego-test-assertions.png":93135,"./regocpp.svg":82549,"./rekor.svg":27312,"./reposaur.png":37166,"./rond.png":81428,"./scalr-iacp.png":32670,"./scanara.png":30608,"./spacelift.png":55506,"./sphinx-rego.png":66417,"./spinnaker-pipeline.png":42497,"./spire.png":66438,"./springsecurity-api.png":4621,"./sql-datafilter
1ing.png":39750,"./strimzi.png":60715,"./styra-academy.png":46171,"./swift-opa.png":35379,"./sysdig-image-scanner.png":95143,"./tavoai.png":80897,"./terraform-cloud.png":58595,"./terraform.png":33599,"./topaz.svg":32509,"./torque.png":18109,"./traefik-api-gateway.png":86535,"./trino.png":69517,"./vscode-opa.png":43284,"./vulnetix.png":19714,"./waltid.png":85092,"./zed-rego.png":71252};function s(v){var e=a(v);return t(e)}function a(v){if(!t.o(i,v)){var e=new Error("Cannot find module '"+v+"'");throw e.code="MODULE_NOT_FOUND",e}return i[v]}s.keys=function(){return Object.keys(i)},s.resolve=a,v.exports=s,s.id=77327},77866:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i="data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJMYXllcl8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIgdmlld0JveD0iMCAwIDQwNy40IDEzMi42IiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA0MDcuNCAxMzIuNjsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgogPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KICAuc3Qwe2ZpbGw6I0UyMDA3NDt9Cgkuc3Qxe29wYWNpdHk6MC40O2ZpbGw6bm9uZTt9CiA8L3N0eWxlPgogPGc+CiAgPHBhdGggY2xhc3M9InN0MCIgZD0iTTI5NC4yLDQxLjZjMS43LDAsMy4xLTAuNiw0LjMtMS44YzEuMS0xLjIsMS43LTIuNiwxLjctNC4yYzAtMS42LTAuNi0zLTEuOC00LjJjLTEuMS0xLjItMi41LTEuOC00LjEtMS44CgkJYy0xLjcsMC0zLjEsMC42LTQuMywxLjdjLTEuMiwxLjEtMS44LDIuNi0xLjgsNC4zYzAsMS42LDAuNiwzLDEuOCw0LjJDMjkxLjEsNDEsMjkyLjUsNDEuNiwyOTQuMiw0MS42Ij4KICA8L3BhdGg+CiAgPHBhdGggY2xhc3M9InN0MCIgZD0iTTIwNi44LDUxLjJjLTYuOCwwLTEyLjMsMi43LTE2LjYsOGMtMy43LDQuNy01LjUsMTAuOS01LjUsMTguNmMwLDcuNywxLjgsMTMuOSw1LjUsMTguNmM0LjIsNS40LDkuNiw4LDE2LjIsOAoJCWM3LDAsMTIuNi0yLjcsMTYuOC04YzMuNy00LjcsNS41LTExLDUuNS0xOC43YzAtNy42LTEuOC0xMy44LTUuNS0xOC41QzIxOS4xLDUzLjksMjEzLjYsNTEuMiwyMDYuOCw1MS4yIE0yMDYuOCwxMDAuOQoJCWMtMy45LDAtNi43LTEuOC04LjUtNS40Yy0yLTQuMS0zLTEwLjItMy0xOC4yYzAtOS43LDEuNi0xNi4yLDQuOC0xOS41YzItMiw0LjItMyw2LjctM2MxLjYsMCwzLjEsMC40LDQuNCwxLjJjMiwxLjIsMy41LDMsNC41LDUuMwoJCWMxLjcsMy43LDIuNSw5LjIsMi41LDE2LjNDMjE4LjIsOTMuMiwyMTQuNCwxMDAuOSwyMDYuOCwxMDAuOSI+CiAgPC9wYXRoPgogIDxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0yNjAsNTEuN2MtMy42LDAtNi43LDEuMS05LjQsMy4yYy0xLjUsMS4yLTIuNiwyLjgtMy42LDQuOVYyOS40bC0xNS42LDAuN3YzLjRoMC44YzIuMSwwLDMuNSwwLjQsNC4yLDEuMwoJCWMwLjksMSwxLjMsMy40LDEuMyw3LjR2NDkuOWMwLDQuNS0wLjIsNy40LTAuNSw4LjljMCwwLjItMC4yLDAuOC0wLjYsMS45aDMuNmMwLjgtMS4zLDEuNi0yLjUsMi4zLTMuNWMwLjgtMS4xLDEuNS0xLjcsMi4xLTEuNwoJCWMwLjUsMCwxLjIsMC4zLDEuOSwwLjljMS44LDEuNSwzLjEsMi41LDMuNiwyLjhjMi43LDEuNyw1LjcsMi42LDguOSwyLjZjNiwwLDEwLjgtMi41LDE0LjQtNy40YzMuOS01LjMsNS45LTExLjksNS45LTE5LjcKCQljMC04LjItMi4yLTE0LjgtNi42LTE5LjdDMjY5LjYsNTMuNSwyNjUuMiw1MS43LDI2MCw1MS43IE0yNTguMSwxMDAuMmMtMS45LDAtMy42LTAuNS01LjEtMS41Yy0xLjgtMS4yLTMuMi0yLjgtNC4yLTQuOQoJCWMtMS44LTMuOS0yLjctOS40LTIuNy0xNi41YzAtOS4yLDEuOS0xNS41LDUuOC0xOS4xYzIuMS0xLjgsNC4zLTIuOCw2LjctMi44YzMuNCwwLDUuOSwxLjgsNy42LDUuM2MxLjgsMy44LDIuNyw5LjMsMi43LDE2LjMKCQlDMjY4LjksOTIuNSwyNjUuMywxMDAuMiwyNTguMSwxMDAuMiI+CiAgPC9wYXRoPgogIDxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0zNjkuOSw5NS43Yy0yLjUsMy01LjcsNC41LTkuNCw0LjVjLTQuOCwwLTguMi0yLjQtMTAuMi03LjFjLTEuNC0zLjQtMi4yLTguNi0yLjItMTUuNmgyOS44CgkJYy0wLjItNi0xLjMtMTEtMy40LTE1Yy0zLjgtNy41LTkuNC0xMS4zLTE2LjktMTEuM2MtNSwwLTkuNCwyLTEyLjksNmMtNC41LDUuMS02LjgsMTEuOC02LjgsMjAuM2MwLDkuMiwyLjMsMTYuMiw2LjgsMjEuMQoJCWMzLjcsMy45LDguMyw1LjksMTQuMSw1LjljNy44LDAsMTQtNC42LDE4LjUtMTMuOGwtMy4zLTEuN0MzNzIuNyw5MS44LDM3MS4zLDk0LjEsMzY5LjksOTUuNyBNMzQ5LjMsNjQuNGMxLjctNi4yLDQuNy05LjQsOC45LTkuNAoJCWMzLjcsMCw2LjUsMi41LDguMiw3LjZjMSwyLjksMS40LDYuNSwxLjQsMTFoLTE5LjdDMzQ4LjIsNzAsMzQ4LjYsNjYuOSwzNDkuMyw2NC40Ij4KICA8L3BhdGg+CiAgPHBhdGggY2xhc3M9InN0MCIgZD0iTTMyOC42LDk4LjJjLTAuOS0xLTEuMy0zLjUtMS4zLTcuNVYyOS40bC0xNiwwLjd2My40aDEuMmMyLjEsMCwzLjUsMC40LDQuMiwxLjNjMC45LDEsMS4zLDMuNSwxLjMsNy40djQ4LjQKCQljMCw0LTAuNCw2LjUtMS4zLDcuNWMtMC43LDAuOS0yLjEsMS4zLTQuMiwxLjNoLTEuOHYzLjRoMjMuOHYtMy40aC0xLjhDMzMwLjgsOTkuNSwzMjkuNCw5OS4xLDMyOC42LDk4LjIiPgogIDwvcGF0aD4KICA8cGF0aCBjbGFzcz0ic3QwIiBkPSJNMzAxLDk4LjJjLTAuOS0xLTEuMy0zLjUtMS4zLTcuNVY1MmwtMTYsMC43djMuNGgxLjJjMi4xLDAsMy41LDAuNCw0LjIsMS4zYzAuOSwxLDEuMywzLjUsMS4zLDcuNHYyNS45CgkJYzAsNC0wLjQsNi41LTEuMyw3LjVjLTAuNywwLjktMi4yLDEuMy00LjIsMS4zaC0xLjh2My40aDIzLjh2LTMuNGgtMS44QzMwMy4xLDk5LjUsMzAxLjcsOTkuMSwzMDEsOTguMiI+CiAgPC9wYXRoPgogIDxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0xNDYuNCw4My43bC0xNS42LTUzLjVoLTIxLjF2My41aDJjMS42LDAsMi45LDAuMSwzLjcsMC40YzEuNSwwLjUsMi40LDEuNiwyLjgsMy4zYzAuMiwwLjgsMC4zLDIuNCwwLjMsNQoJCXY0Mi4xYzAsMy45LTAuMSw2LjctMC40LDguNGMtMC40LDIuMi0xLjEsMy44LTIuMyw0LjhjLTEuMywxLjEtMi44LDEuNy00LjQsMS43aC0xLjh2My41aDIyLjV2LTMuNWgtMS40Yy0zLjksMC02LjQtMS45LTcuNS01LjcKCQljLTAuNC0xLjQtMC41LTQuNS0wLjUtOS4yVjM2LjhsMTkuMiw2Ni4xaDMuNGwxOS4yLTY2LjF2NTEuOWMwLDIuNS0wLjEsNC41LTAuMyw2Yy0wLjEsMS4zLTAuNiwyLjMtMS4zLDMKCQljLTEuMSwxLjEtMy4xLDEuNi01LjgsMS42aC0wLjl2My41aDI3LjN2LTMuNUgxODJjLTMuOCwwLTYtMS4xLTYuOC0zLjRjLTAuNC0xLjItMC42LTMuNy0wLjYtNy40VjQ0LjRjMC0yLjUsMC4xLTQuNSwwLjMtNi4xCgkJYzAuMS0xLjMsMC42LTIuMywxLjMtM2MxLjEtMS4xLDMtMS43LDUuOC0xLjdoMS41di0zLjVoLTIxLjNMMTQ2LjQsODMuN3oiPgogIDwvcGF0aD4KICA8cmVjdCB4PSI3NC40IiB5PSI2My42IiBjbGFzcz0ic3QwIiB3aWR0aD0iMTQuNyIgaGVpZ2h0PSIxNC43Ij4KICA8L3JlY3Q+CiAgPHBhdGggY2xhc3M9InN0MCIgZD0iTTU5LjMsMTAyLjloMTcuOXYtNC4xYy0yLDAtMy4
10LDAtNC4yLTAuMWMtMi44LTAuMy00LjctMS01LjktMi4yYy0xLjQtMS40LTItNC40LTItOS4xVjY3Ljd2LTM0CgkJYzYuMSwwLjIsMTAuOCwyLjIsMTQuMiw2YzMuMiwzLjcsNS4yLDkuMyw2LDE2LjhsMy45LTAuN2wtMC43LTI1LjdIMzAuMmwtMC43LDI1LjdsMy45LDAuN2MwLjctNy42LDIuNy0xMy4yLDYtMTYuOAoJCWMzLjQtMy44LDguMS01LjgsMTQuMi02djM0djE5LjdjMCw0LjctMC43LDcuNy0yLDkuMWMtMS4yLDEuMi0zLjEsMS45LTUuOSwyLjJjLTAuOCwwLjEtMi4yLDAuMS00LjIsMC4xdjQuMUg1OS4zIj4KICA8L3BhdGg+CiAgPHJlY3QgeD0iMjkuNSIgeT0iNjMuNiIgY2xhc3M9InN0MCIgd2lkdGg9IjE0LjciIGhlaWdodD0iMTQuNyI+CiAgPC9yZWN0PgogIDxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0zODQuOCw1NC4xYzAsMi0xLjQsMy41LTMuNCwzLjVjLTIsMC0zLjQtMS41LTMuNC0zLjVjMC0yLDEuNS0zLjUsMy40LTMuNUMzODMuMyw1MC42LDM4NC44LDUyLjEsMzg0LjgsNTQuMQoJCSBNMzg0LjEsNTQuMWMwLTEuNi0xLjItMi45LTIuOC0yLjljLTEuNiwwLTIuOCwxLjItMi44LDIuOWMwLDEuNywxLjIsMi45LDIuOCwyLjlDMzgzLDU3LDM4NC4xLDU1LjcsMzg0LjEsNTQuMSBNMzgyLDU0LjVsMC44LDEuMgoJCWgtMC43bC0wLjctMS4yaC0wLjZ2MS4yaC0wLjZ2LTMuM2gxLjRjMC43LDAsMS4yLDAuNCwxLjIsMUMzODIuOCw1NCwzODIuNSw1NC4zLDM4Miw1NC41IE0zODAuOCw1My45aDAuOGMwLjQsMCwwLjYtMC4xLDAuNi0wLjUKCQljMC0wLjMtMC4yLTAuNS0wLjYtMC41aC0wLjhWNTMuOXoiPgogIDwvcGF0aD4KICA8cGF0aCBjbGFzcz0ic3QxIiBkPSJNNDA3LjQsMTMyLjZWNjYuNFYwSDB2MTMyLjZINDA3LjR6Ij4KICA8L3BhdGg+CiA8L2c+Cjwvc3ZnPg=="},78520:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/emissary-ingress-99a20b58bf1471ef996f3d1785c12ed2.png"},78740:(v,e,t)=>{var i={"./config":86561,"./config.json":86561,"./data":58263,"./data.json":58263,"./input":45697,"./input.json":45697,"./intro.md":38317,"./output":98742,"./output.json":98742,"./policy.rego":74158,"./title.txt":17959};function s(v){var e=a(v);return t(e)}function a(v){if(!t.o(i,v)){var e=new Error("Cannot find module '"+v+"'");throw e.code="MODULE_NOT_FOUND",e}return i[v]}s.keys=function(){return Object.keys(i)},s.resolve=a,v.exports=s,s.id=78740},78993:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/aserto-539140b878430df17586ed60ce5f90eb.png"},79225:(v,e,t)=>{"use strict";t.d(e,{A:()=>i});const i=t.p+"assets/images/slack-72de1ea7ddb57476e0eab6b56ebdb54c.png"},79493:v=>{"use strict";v.exports=JSON.parse('{"zed-rego":{"title":"Zed Extension","subtitle":"OPA Integration for the Zed editor","labels":{"category":"tooling","layer":"editor"},"inventors":["styra"],"code":["https://github.com/StyraInc/zed-rego"],"software":["editors"],"docs_features":{"editors":{"note":"The Zed editor extension for Rego and OPA has support for\\nsyntax highlighting, running of OPA tests, completions, linting\\nvia the [Regal Language Server](/integrations/regal/).\\n"}},"content":"\\nThe [zed-rego extension](https://github.com/StyraInc/zed-rego)\\nis an extension for the [Zed editor](https://zed.dev/) that provides\\nsupport for the Rego language and OPA functionality. The extension\\nalso includes support for the [Regal Language Server](/integrations/regal/).\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/zed-rego.md","id":"zed-rego"},"wirelesssecuritylab":{"title":"ccbr","subtitle":"CIS Benchmark for Kubernetes with Rego","labels":{"category":"network","layer":"application"},"software":["ccbr"],"code":["https://github.com/wirelesssecuritylab/ccbr"],"inventors":["wirelesssecuritylab"],"docs_features":{"kubernetes":{"note":"Implements the CIS benchmark using Rego for Kubernetes workloads."}},"allow_missing_image":true,"content":"\\nCCBR is a policy management system project. It uses the policy language\\nRego to implement the CIS benchmark test of cloud native Kubernetes.\\nIn addition, it integrates gatekeeper, manages its constraint templates,\\nconstraints and policies, and supports policy deployment and audit inspection.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/wirelesssecuritylab.md","id":"wirelesssecuritylab"},"waltid":{"title":"walt.id SSI Kit","subtitle":"Self-Sovereign Identity toolkit with OPA policy support","labels":{"category":"authorization","layer":"application","type":"poweredbyopa"},"inventors":["waltid","blockchainlabum","netis"],"software":["ssikit"],"code":["https://github.com/walt-id/waltid-identity"],"tutorials":["https://docs.walt.id/community-stack/verifier/credential-verification/policies/dynamic-verification-policies"],"videos":[{"title":"Verifying W3C Verifiable Credentials with the SSI Kit using OPA (Open Policy Agent)","speakers":[{"name":"Severin Stampler","organization":"waltid"}],"link":"https://youtu.be/mue4UjzOZ3Q"}],"docs_features":{"rest-api-integration":{"note":"SSI Kit\'s CLI exposes policy management commands which update a local\\nOPA instance. The feature is\\n[documented in the walt.id docs](
1https://docs.walt.id/community-stack/verifier/credential-verification/policies/dynamic-verification-policies).\\n"}},"content":"\\nVerifying W3C Verifiable Credentials for building SSI (Self-Sovereign Identity) use cases.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/waltid.md","id":"waltid"},"vulnetix":{"title":"Vulnetix","subtitle":"Unified CLI security scanner powered by Rego policies","labels":{"category":"security","layer":"application","type":"poweredbyopa"},"software":["github","kubernetes","docker","terraform"],"inventors":["vulnetix"],"code":["https://github.com/vulnetix/cli"],"tutorials":["https://www.vulnetix.com/features/code-scanner","https://docs.cli.vulnetix.com/docs/getting-started/"],"docs_features":{"policy-testing":{"note":"Vulnetix ships with 250+ built-in Rego rules spanning SCA, IaC, container,\\nsecrets, SAST, license and SBOM checks, and lets teams extend coverage\\nwith their own policy-as-code rule repositories via the `--rule` flag.\\nSee the\\n[Code Scanner docs](https://docs.cli.vulnetix.com/docs/sast-rules/custom-rules/)\\nfor details.\\n"}},"content":"\\nVulnetix is a unified CLI security scanner that uses Rego to evaluate findings\\nacross Software Composition Analysis (SCA), Infrastructure as Code (IaC),\\ncontainers, secrets, Static Application Security Testing (SAST), license\\ncompliance, and SBOM generation for 35+ ecosystems.\\n\\nPolicy-as-code is a first-class concern: detections, severity thresholds, and\\nsupply-chain controls (such as `--block-malware`, `--block-unpinned`,\\n`--version-lag`, and `--cooldown`) are expressed as Rego rules, so organizations\\ncan tune or replace the built-in rule set to match their own security posture.\\nResults can be emitted as SARIF, CycloneDX, SPDX, VEX, or token-efficient plain\\ntext for [use in CI](https://www.vulnetix.com/integrations) quality gates and\\n[AI coding agents](https://ai-docs.vulnetix.com/docs/getting-started/installation/).\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/vulnetix.md","id":"vulnetix"},"vscode-opa":{"title":"VS Code Extension","subtitle":"OPA Integration for the VS Code editor","labels":{"category":"tooling","layer":"editor"},"code":["https://github.com/open-policy-agent/vscode-opa"],"videos":["https://www.youtube.com/watch?v=BpMttxuPv6Y"],"tutorials":["https://www.openpolicyagent.org/projects/regal/editor-support#visual-studio-code"],"software":["editors"],"inventors":["styra"],"docs_features":{"editors":{"note":"This is the official VS Code extension for Rego and OPA. The\\nextension brings a number of features that make writing Rego easier\\nsuch as syntax highlighting, running of OPA tests as well as\\ncompletions, linting and more from the\\n[Regal Language Server](/integrations/regal/).\\n"},"debugging-rego":{"note":"The extension provides support for debugging Rego policies using the\\nnative VS Code debugging interface. This is based on Regal\'s Debug\\nAdapter, see the\\n[VS Code documentation](/projects/regal/editor-support#visual-studio-code)\\nto get started.\\n"}},"content":"\\nThe [vscode-opa extension](https://marketplace.visualstudio.com/items?itemName=tsandall.opa)\\nis a Visual Studio Code extension that provides support for the Rego language\\nand OPA functionality. The extension includes syntax highlighting, and first\\nclass support for the Regal\\n[Language Server](/projects/regal/language-server) and\\n[Debug Adapter](/projects/regal/debug-adapter).\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/vscode-opa.md","id":"vscode-opa"},"trino":{"title":"Trino","software":["trino"],"tutorials":["https://trino.io/ecosystem/add-on#open-policy-agent","https://trino.io/docs/current/security/opa-access-control.html","https://trinodb.github.io/presentations/presentations/what-is-trino/index.html"],"code":["https://github.com/trinodb/trino/tree/master/plugin/trino-opa"],"blogs":["https://trino.io/blog/2024/02/06/opa-arrived"],"videos":[{"title":"Trino OPA Authorizer - Stackable and Bloomberg at Trino Summit 2023","link":"https://www.youtube.com/watch?v=fbqqapQbAv0"},{"title":"Avoiding pitfalls with query federation in data lakehouses - Raft at Trino Summit 2023","link":"https://www.youtube.com/watch?v=6KspMwCbOfI&t=1279s"}],"content":"\\nTrino is a ludicrously fast, open source, SQL query engine designed to query\\nlarge data sets from one or more disparate data sources.\\n\\nThe OPA Trino plugin enables the use of Open Policy Agent (OPA) as authorization\\nengine for access control to catalogs, schemas, tables, and other objects in\\nTrino. Policies are defined in OPA, and Trino checks access control privileges\\nin OPA.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/trino.md","id":"trino"},"traefik-api-gateway":{"title":"Traefik API Gateway","labels":{"category":"servicemesh","layer":"gateway"},"tutorials":["https://plugins.traefik.io/plugins/659e6aaf0f0494247310c69a/jwt-and-opa-access-management"],"code":["https://github.com/traefik-plugins/traefik-jwt-plugin","https://github.com/unsoon/traefik-open-policy-agent"],"content":"\\nThe Traefik API Gateway is open-source software that controls API traffic into your application.\\nOPA can be configured as a plugin to implement authorization policies for those APIs.\\n\\n[`traefik-jwt-plugin`](https://github.com/traefik-plugins/traefik-jwt-plugin)\\nis a Traefik plugin which checks JWT tokens for required fields.\\n\\n[`traefik-open-policy-agent`](https://github.com/unsoon/traefik-open-policy-agent)\\nis another plugin available for use cases where more than JWT validation is needed.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/traefik-api-gateway.md","id":"traefik-api-gateway"},"torque":{"title":"Torque","labels":{"category":"Environments as a Service","layer":"Infrastru
1cture","type":"poweredbyopa"},"software":["terraform","helm","cloudformation","kubernetes","ansible","aws","gcp","azure"],"tutorials":["https://docs.qtorque.io/governance/policies"],"code":["https://github.com/QualiTorque/opa"],"inventors":["quali"],"blogs":["https://www.quali.com/blog/enforcing-open-policy-agent-guardrails-across-your-cloud-configurations/"],"docs_features":{"cli-integration":{"note":"Torque policy evaluation is done using the OPA CLI. See an\\n[example command](https://github.com/QualiTorque/opa#perform-policy-evaluation)\\nin the documentation.\\n"},"terraform":{"note":"Torque supports Terraform policy enforcement and defines some\\n[sample policies here](https://github.com/QualiTorque/opa).\\n"}},"content":"\\nTorque by Quali is a cloud-based platform that provides infrastructure automation and orchestration solutions for digital transformation and DevOps initiatives. Troque utilizes Open Policy Agent (OPA) to enforce policy-as-code, enabling users to define and automate their own security, compliance, and governance policies across their infrastructure.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/torque.md","id":"torque"},"topaz":{"title":"Topaz","labels":{"category":"authorization","layer":"application","type":"poweredbyopa"},"inventors":["aserto"],"software":["topaz"],"code":["https://github.com/aserto-dev/topaz"],"tutorials":["https://www.topaz.sh","https://github.com/aserto-dev/topaz#quickstart"],"blogs":["https://www.aserto.com/blog/topaz-oss-cloud-native-authorization-combines-opa-zanzibar"],"docs_features":{"go-integration":{"note":"Topaz\'s Authorizer component makes use of the Rego API to evaluate\\npolicies to make authorization decisions for connected applications.\\n"}},"content":"\\nTopaz is an open source authorization service providing fine grained, real-time, policy based access control for applications and APIs.\\nTopaz uses OPA as its decision engine, and includes an embedded database that stores subjects, relations, and objects, inspired by the Google Zanzibar data model.\\nTopaz can be deployed as a sidecar or microservice in your cloud.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/topaz.md","id":"topaz"},"terraform":{"title":"Terraform Policy","subtitle":"Check resources are compliant before they\'re deployed.","software":["terraform","aws","gcp","azure"],"labels":{"category":"publiccloud","layer":"orchestration"},"tutorials":["https://www.openpolicyagent.org/docs/terraform.html","https://github.com/open-policy-agent/conftest/blob/master/README.md"],"code":["https://github.com/open-policy-agent/conftest","https://github.com/fugue/regula","https://github.com/tenable/terrascan","https://github.com/Checkmarx/kics","https://github.com/open-policy-agent/library/tree/master/terraform","https://github.com/tenable/terrascan/tree/master/pkg/policies/opa/rego","https://github.com/Checkmarx/kics/tree/master/assets/queries/terraform"],"blogs":["https://web.archive.org/web/https://www.styra.com/blog/policy-based-infrastructure-guardrails-with-terraform-and-opa/"],"inventors":["fugue","accurics","checkmarx","medallia","styra","docker","snyk"],"content":"\\nTerraform lets you describe the infrastructure you want and automatically\\ncreates, deletes, and modifies your existing infrastructure to match. OPA makes\\nit possible to write policies that test the changes Terraform is about to make\\nbefore it makes them.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/terraform.md","id":"terraform"},"terraform-cloud":{"title":"Terraform Cloud","software":["terraform","terraform-cloud","aws","gcp","azure"],"labels":{"category":"publiccloud","layer":"orchestration"},"tutorials":["https://developer.hashicorp.com/terraform/cloud-docs/workspaces/policy-enforcement/define-policies/opa","https://developer.hashicorp.com/terraform/tutorials/cloud/drift-and-policy","https://developer.hashicorp.com/terraform/cloud-docs/workspaces/policy-enforcement/manage-policy-sets/opa-vcs"],"videos":[{"title":"Terraform Cloud Learn Lab: Validate Infrastructure and Enforce OPA Policies","speakers":[{"name":"Rita Sokolova","organization":"HashiCorp"},{"name":"Cole Morrison","organization":"HashiCorp"}],"venue":"HashiConf Europe 2022","link":"https://www.youtube.com/watch?v=jO2CiYMPxFE"}],"inventors":["hashicorp"],"docs_features":{"terraform":{"note":"Terraform cloud has native support for enforcing Rego policy on plans.\\nThe feature is [documented here](https://developer.hashicorp.com/terraform/cloud-docs/workspaces
1/policy-enforcement/define-policies/opa).\\n"}},"content":"\\nPolicies are rules that Terraform Cloud enforces on runs. You use the Rego\\npolicy language to write policies for the Open Policy Agent (OPA) framework.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/terraform-cloud.md","id":"terraform-cloud"},"tavoai":{"title":"TavoAI","software":["tavo"],"inventors":["tavoai"],"code":["https://github.com/TavoAI/tavo-sdk","https://github.com/TavoAI/tavo-cli"],"content":"\\nTavo leverages OPA for proactive AI risk management by enforcing risk controls. Risk controls are translated to Rego code and allow developers to implement the controls seamlessly by integrating with Tavo SDK.\\nTavo uses OPA as the decision engine for control enforcement.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/tavoai.md","id":"tavoai"},"sysdig-image-scanner":{"title":"Sysdig Image Scanner Admission Controller","software":["kubernetes","sysdigsecure"],"labels":{"category":"containers","layer":"orchestration"},"code":["https://github.com/sysdiglabs/opa-image-scanner"],"inventors":["sysdig"],"docs_feature":{"kubernetes":{"note":"Integrates image scanning results with Kubernetes admission checks\\nusing Rego to make pod admission decisions. See the\\n[README](https://github.com/sysdiglabs/opa-image-scanner#overview)\\nfor more details.\\n"}},"content":"\\nSysdig\u2019s OPA Image Scanner combines Sysdig Secure image scanner with OPA policy-based rego language to evaluate the scan results and the admission context, providing great flexibility on the admission decision.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/sysdig-image-scanner.md","id":"sysdig-image-scanner"},"swift-opa":{"title":"Swift-OPA","subtitle":"Swift package for evaluating OPA IR Plans","for_language":"swift","labels":{"category":"sdk","layer":"application"},"inventors":["Apple"],"blogs":["https://openpolicyagent.org/blog/introducing-swift-opa-native-policy-evaluation-for-swift-d5136c8a662e"],"code":["https://github.com/open-policy-agent/swift-opa"],"tutorials":["https://github.com/open-policy-agent/swift-opa?tab=readme-ov-file#usage"],"content":"\\nSwift-OPA is a Swift package for evaluating\\n[OPA IR Plans](https://www.openpolicyagent.org/docs/ir) compiled from\\n[Rego](https://www.openpolicyagent.org/docs/latest/policy-language/#what-is-rego)\\ndeclarative policy.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/swift-opa.md","id":"swift-opa"},"strimzi":{"title":"Strimzi (Apache Kafka on Kubernetes)","software":["kafka","strimzi"],"labels":{"category":"streaming","layer":"data"},"blogs":["https://strimzi.io/blog/2020/08/05/using-open-policy-agent-with-strimzi-and-apache-kafka/","https://strimzi.io/blog/2020/09/01/enforce-custom-resource-policies-with-opa-gatekeeper/"],"code":["https://github.com/strimzi/strimzi-kafka-operator","https://github.com/scholzj/demo-opa-kafka-authorization","https://github.com/StyraOSS/opa-kafka-plugin"],"inventors":["redhat"],"docs_features":{"rest-api-integration":{"note":"Strimzi can be configured to use OPA via the REST API as the Kafka\\nauthorizer using [this project](https://github.com/scholzj/demo-opa-kafka-authorization).\\n"}},"content":"\\nStrimzi provides a way to run an Apache Kafka cluster on Kubernetes in various deployment configurations. Strimzi ships with the OPA authorizer plugin right out of the box, and supports OPA as an option for Kafka authorization.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/strimzi.md","id":"strimzi"},"sql-datafiltering":{"title":"SQL Database Data Filtering","labels":{"layer":"data","category":"filtering"},"software":["sqlite"],"code":["https://github.com/open-policy-agent/contrib/tree/main/data_filter_example"],"blogs":["https://openpolicyagent.org/blog/write-policy-in-opa-enforce-policy-in-sql-d9d24db93bf4"],"inventors":["styra"],"content":"\\nThis integration enables the client of a SQL database to enhance a SQL query so that the results obey an OPA-defined policy.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/sql-datafilter
1ing.md","id":"sql-datafiltering"},"springsecurity-api":{"title":"Spring Security Authorization","subtitle":"Use OPA to make authorization decisions in Spring applications","for_language":"java","labels":{"layer":"network","category":"application"},"software":["java"],"code":["https://github.com/open-policy-agent/contrib/tree/main/spring_authz","https://github.com/Bisnode/opa-spring-security","https://github.com/massenz/jwt-opa","https://github.com/eugenp/tutorials/tree/master/spring-security-modules/spring-security-opa","https://github.com/big-acl/authz-spring-boot-starter"],"tutorials":["https://github.com/open-policy-agent/contrib/blob/main/spring_authz/README.md","https://github.com/massenz/jwt-opa#web-server-demo-app","https://www.baeldung.com/spring-security-authorization-opa"],"inventors":["styra","build-security","bisnode","alertavert","big-acl"],"docs_features":{"rest-api-integration":{"note":"OPA Spring Security uses the REST API to query OPA about authz decisions.\\nSee an example application in OPA\'s\\n[contrib repo](https://github.com/open-policy-agent/contrib/tree/main/spring_authz).\\n"}},"content":"\\nSpring Security provides a framework for securing Java applications. These integrations provide simple implementations for Spring Security that use OPA for making API authorization decisions. They provide support for both traditional Spring Security (MVC), as well as an implementation for Spring Reactive (Web Flux).\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/springsecurity-api.md","id":"springsecurity-api"},"spire":{"title":"SPIRE","labels":{"layer":"network","category":"application"},"software":["spiffe","spire"],"blogs":["https://web.archive.org/web/https://www.styra.com/blog/zero-trust-with-envoy-spire-and-open-policy-agent-opa/"],"code":["https://github.com/spiffe/spire/blob/v1.0.2/doc/authorization_policy_engine.md"],"tutorials":["https://spiffe.io/docs/latest/microservices/envoy-opa/readme/","https://spiffe.io/docs/latest/microservices/envoy-jwt-opa/readme/"],"docs_features":{"envoy":{"note":"SPIRE can be used to integrate with Envoy and OPA. See a\\n[blog here](https://web.archive.org/web/https://www.styra.com/blog/zero-trust-with-envoy-spire-and-open-policy-agent-opa/)\\nto learn more.\\n"},"rest-api-integration":{"note":"SPIRE can work in tandem with the Envoy proxy to integrate with the OPA\\nREST API. See the\\n[tutorial here](https://spiffe.io/docs/latest/microservices/envoy-jwt-opa/readme/).\\n"}},"content":"\\nSPIRE is a production-ready implementation of the SPIFFE APIs that performs node and workload attestation in order to securely issue SPIFFE Verifiable Identity Documents (SVIDs) to workloads, and verify the SVIDs of other workloads, based on a predefined set of conditions.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/spire.md","id":"spire"},"spinnaker-pipeline":{"title":"Armory Policy Engine for Spinnaker","labels":{"layer":"cicd"},"software":["spinnaker"],"blogs":null,"tutorials":["https://docs.armory.io/plugins/policy-engine/"],"inventors":["armory"],"content":"\\nSpinnaker is a Continuous Delivery and Deployment tool started by Netflix.\\nThe [Armory Policy Engine](https://spinnaker.armory.io/products/policy-engine/)\\nlets you configure policies that dictate what kinds of Spinnaker pipelines\\ndevelopers can create.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/spinnaker-pipeline.md","id":"spinnaker-pipeline"},"sphinx-rego":{"title":"Automatically document Rego policies","software":["sphinx-doc"],"code":["https://github.com/zenitysec/sphinx-rego"],"inventors":["zenity"],"labels":{"category":"tooling","layer":"cicd"},"content":"\\nSphinx extension that automatically documents Open Policy Agent Rego policies using meta properties.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/sphinx-rego.md","id":"sphinx-rego"},"spacelift":{"title":"Spacelift","labels":{"category":"Infrastructure as Code","layer":"cicd"},"software":["terraform","pulumi","cloudformation","kubernetes","ansible","aws","gcp","azure"],"tutorials":["https://docs.spacelift.io/concepts/policy"],"code":["https://github.com/spacelift-io/sp
1acelift-policies-example-library"],"inventors":["spacelift"],"blogs":["https://spacelift.io/blog/what-is-open-policy-agent-and-how-it-works"],"docs_features":{"rego-language-embedding":{"note":"Spacelift supports Rego as a language to describe policies for IaC\\nresources. View the docs on\\n[creating Rego policies](https://docs.spacelift.io/concepts/policy).\\n"},"terraform":{"note":"Spacelift supports Rego as a language to describe policies for Terraform\\nJSON plans.\\n[This blog](https://spacelift.io/blog/what-is-open-policy-agent-and-how-it-works)\\noutlines how the integration works.\\n"},"kubernetes":{"note":"Spacelift supports Rego as a language to describe policies for various\\nresource types, including Kubernetes. View the\\n[policy documentation](https://docs.spacelift.io/concepts/policy) for\\nmore information.\\n"}},"content":"\\nSpacelift is a sophisticated CI/CD platform for Infrastructure as Code including Terraform, Pulumi, CloudFormation, Kubernetes, and Ansible. Spacelift utilizes Open Policy Agent to support a variety of policy types within the platform and Policy as Code for secure and compliance Infrastructure as Code.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/spacelift.md","id":"spacelift"},"scanara":{"title":"Scanara EU AI Act Compliance Scanning","labels":{"category":"compliance"},"tutorials":["https://scanara.io/en/methodology/"],"inventors":["scanara"],"content":"\\nScanara is an automated EU AI Act conformity platform for AI system providers and deployers. This integration uses OPA/Rego to evaluate uploaded technical documentation for EU AI Act compliance, turning document-level regulatory obligations into executable policy checks alongside Scanara\'s source-code scanning.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/scanara.md","id":"scanara"},"scalr-iacp":{"title":"Scalr","subtitle":"Policy enforcement for Terraform","labels":{"category":"Infrastructure as Code","layer":"cicd"},"software":["terraform"],"tutorials":["https://docs.scalr.io/docs/policy-as-code"],"code":["https://github.com/Scalr/sample-tf-opa-policies"],"inventors":["scalr"],"blogs":["https://scalr.com/blog/opa-is-to-policy-automation-as-terraform-is-to-iac"],"docs_features":{"cli-integration":{"note":"These policies can be run using OPA at the command line against a\\nTerraform plan JSON. See\\n[the example](https://github.com/Scalr/sample-tf-opa-policies#policy-evaluation)\\nin the README.\\n"},"terraform":{"note":"These policies can be run using OPA at the command line against a\\nTerraform plan JSON. See\\n[the example](https://github.com/Scalr/sample-tf-opa-policies#policy-evaluation)\\nin the README.\\n"}},"content":"\\nScalr allows teams to easily collaborate on Terraform through its pipeline that runs all Terraform operations, policy checks, and stores state. Scalr uses OPA to check the auto-generated Terraform JSON plan to ensure that it meets your organization standards prior to an apply.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/scalr-iacp.md","id":"scalr-iacp"},"sansshell":{"title":"Sansshell","software":["sansshell"],"labels":{"category":"management","layer":"server","type":"poweredbyopa"},"code":["https://github.com/Snowflake-Labs/sansshell"],"inventors":["snowflake"],"allow_missing_image":true,"content":"\\nA non-interactive daemon for host management\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/sansshell.md","id":"sansshell"},"rond":{"title":"R\xf6nd","software":["rond"],"labels":{"category":"authorization","layer":"application"},"code":["https://github.com/rond-authz/rond"],"tutorials":["https://github.com/rond-authz/example"],"videos":[{"title":"R\xf6nd - The Open Source K8s sidecar that defines security policies over your APIs","speakers":[{"name":"Federico Maggi","organization":"mia-platform"}],"link":"https://youtu.be/ubT31NtHV8w"}],"inventors":["mia-platform"],"blogs":["https://mia-platform.eu/blog/rond-open-source-api-enforcement/","https://mia-platform.eu/blog/role-based-access-control-rbac/","https://mia-platform.eu/library/rbac-implementation-platform-engineering/"],"docs_features":{"go-integration":{"note":"The R\xf6nd sidecar uses the OPA Rego API to make API-access\\nauthorization decisions. See the\\n[OPA evaluator](https://github.com/rond-authz/rond/blob/4c27fa6a127f68b8670a39c792b0e40dac52dafa/core/opaevaluator.go#L173)\\ncode.\\n"}},"content":"\\nR\xf6nd is a lightweight container that distributes security policy enforcement throughout your application.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/rond.md","id":"rond"},"reposaur":{"title":"Reposaur","software":["github"],"labels":{"category":"security","type":"poweredbyopa"},"tutorials":["https://docs.reposaur.com/guides/writing-your-first-policy"],"code":["https://github.com/reposaur/reposaur"],"inventors":["reposaur"],"content":"\\nAudit, verify and report on development platforms (GitHub and others) easily with pre-defined and/or custom policies.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/reposaur.md","id":"reposaur"},"rekor":{"title":"Rekor transparency log monitoring and alerting","labels":{"category":"security","layer":"application"},"software":["rekor"],"inventors":["sigstore"],"code":["https://github.com/nsmith5/rekor-sidekick"],"videos":["https://www.youtube.com/watch?v=lHSLPIo1pz8"],"content":"\\nRekor Sidekick monitors a Rekor signature transparency log and forwards events of interest where ever you like.\\nAlert policies written in Rego determine if an event is of interest.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/rekor.md","id":"rekor"},"regoround":{"title":"Regoround","subtitle":"Self hosted OPA playground with bundles","labels":{"category":"application"},"software":["regoround"],"inventors":["John Hooks"],"code":["https://gitlab.com/sencillodev/regoround"],"content":"\\nThis is a rego playground that you can run locally and requires no other dependencies. It also allows you to load a custom bundle into the playground. URLs are safe to share, the URL parameters are built from the code itself and so cannot be guessed. A [live version](https://regoround.fly.dev) is running with the example bundle from the repo.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/regoround.md","id":"regoround"},"regocpp":{"title":"regocpp","software":["regopy","regorust"],"inventors":["microsoft"],"tutorials":["https://microsoft.github.io/rego-cpp/"],"code":["https://github.com/microsoft/rego-cpp"],"content":"\\nThe rego-cpp project is a Rego compiler and runtime implemented in cross-platform C++. As such, it provides the ability to integrate Rego natively into a wider range of languages on most platforms. In addition to CMake FetchContent support for C and C++, the project also distributes a Rust crate and a Python wheel. The integration is regularly updated to support Rego as of the latest OPA release.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/regocpp.md","id":"regocpp"},"rego-test-assertions":{"title":"rego-test-assertions","subtitle":"Helper functions for unit testing Rego","labels":{"category":"library"},"inventors":["anderseknert"],"code":["https://github.com/anderseknert/rego-test-assertions"],"tutorials":["https://github.com/anderseknert/rego-test-assertions/blob/main/README.md"],"docs_features":{"policy-testing":{"note":"The [rego-test-assertions](https://github.com/anderseknert/rego-test-assertions)\\nlibrary contains various assertion functions, which will print the\\nexpected result vs. the outcome to the console on failure.\\n"},"debugging-rego":{"note":"The [rego-test-assertions](https://github.com/anderseknert/rego-test-assertions)\\nlibrary is designed to make debugging Rego tests easier.\\n"}},"content":"\\nA Rego library providing helper functions for unit testing. The library\\nprimarily contains various assertion functions, which will print the expected\\nresult vs. the outcome to the console on failure. This allows you to quickly\\ngrasp what went wrong in your unit tests, resulting in a faster test iteration\\nprocess!\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/rego-test-assertions.md","id":"rego-test-assertions"},"rego-cheat-sheet":{"title":"Rego Cheat Sheet","subtitle":"Quick reference for learning Rego","labels":{"category":"learning"},"code":["https://github.com/open-policy-agent/rego-cheat-sheet"],"tutorials":["https://www.openpolicyagent.org/docs/cheatsheet"],"docs_features":{"learning-rego":{"note":"The [Rego Cheat Sheet](https://www.openpolicyagent.org/docs/cheatsheet)\\nwas designed as a language reference, featuring common contact points,\\nwith Rego learners in mind.\\n"}},"content":"\\nThe [Rego Cheat Sheet](https://www.openpolicyagent.org/docs/cheatsheet) has been\\ndesigned to be a reference for Rego learners and users documenting the common\\ncontact points with the language. There is also a\\n[PDF version](https://www.openpolicyagent.org/cheatsheet.pdf) for those looking for\\na printable reference.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/rego-cheat-sheet.md","id":"rego-cheat-sheet"}
1,"regal":{"title":"Regal","subtitle":"The Linter of Rego Language","labels":{"category":"tooling","layer":"shell"},"inventors":["styra"],"blogs":["https://web.archive.org/web/https://www.styra.com/blog/guarding-the-guardrails-introducing-regal-the-rego-linter/","https://thenewstack.io/scaling-open-source-community-by-getting-closer-to-users/"],"code":["https://github.com/open-policy-agent/regal"],"videos":["https://www.youtube.com/live/Xx8npd2TQJ0?feature=share&t=2567","https://youtu.be/XtA-NKoJDaI?feature=shared&t=934"],"tutorials":["https://www.openpolicyagent.org/projects/regal#try-it-out"],"docs_features":{"learning-rego":{"note":"Regal can automatically check for common Rego mistakes as you code.\\nEach violation is accompanied by a detailed explanation which can be a\\ngreat learning tool for new Rego users. See the\\n[Supported Rules](https://www.openpolicyagent.org/projects/regal/rules).\\n"},"go-integration":{"note":"Regal is built using the Go Rego API. Regal evaluates linting rules\\ndefined in Rego against the Rego AST of policy files. The\\n[linter package](https://github.com/open-policy-agent/regal/blob/main/pkg/linter/linter.go)\\nis a good place to see how OPA is used in the project.\\n"},"policy-testing":{"note":"Regal is a useful step to use when testing Rego policies to ensure\\ncode is correct and free of common errors. See\\n[the README](https://www.openpolicyagent.org/projects/regal#try-it-out)\\nto get started.\\n"},"debugging-rego":{"note":"Regal can be used to debug Rego policies by identifying common mistakes.\\nSee [Bugs](https://www.openpolicyagent.org/projects/regal/rules/bugs) for\\nsome example issues it can identify automatically.\\n\\nRegal also implements a\\n[language server](https://www.openpolicyagent.org/projects/regal/language-server) and\\n[debug adapter](https://www.openpolicyagent.org/projects/regal/debug-adapter) for Rego to\\nallow clients to debug Rego code as users type.\\n"}},"content":"\\nRegal is the official linter for Rego, with the goal of making your Rego\\nmagnificent!\\n\\nRegal can:\\n\\n- Identify common mistakes, bugs and inefficiencies in Rego policies, and\\n suggest better approaches\\n- Provide advice on best practices, coding style, and tooling\\n- Allow users, teams and organizations to enforce custom rules on their policy\\n code\\n\\nRegal also implements a\\n[language server](https://www.openpolicyagent.org/projects/regal/language-server) and\\n[debug adapter](https://www.openpolicyagent.org/projects/regal/debug-adapter) for Rego to\\nallow clients to debug Rego code as users type.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/regal.md","id":"regal"},"raygun":{"title":"raygun","subtitle":"Black-box Automated Testing for Rego","labels":{"category":"tooling","layer":"shell"},"inventors":["paclabsnet"],"code":["https://github.com/paclabsnet/raygun"],"tutorials":["https://github.com/paclabsnet/raygun/blob/main/README.md"],"blogs":["https://paclabs.substack.com/p/raygun-automated-testing-for-rego"],"docs_features":{"policy-testing":{"note":"[Raygun](https://github.com/paclabsnet/raygun)\\nmakes it easier to test Rego code in a \\"real-world\\" facsimile.\\n"}},"content":"\\nA command-line tool for \\"black-box\\" automated testing of Rego. Raygun uses\\nOPA as a client, instead of as the test driver. You create YAML\\ntest suites that specify the location of the bundle, the policy path,\\nthe input JSON and the expected response, and Raygun starts up an OPA\\nprocess with that bundle, POSTs the input JSON to OPA, checks substrings\\nof the response against your expectations and reports on the results.\\nEasy to integrate into existing build chains. Keeps the tests separate from\\nthe policy source code.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/raygun.md","id":"raygun"},"pulumi":{"title":"Pulumi","software":["pulumi","aws","gcp","azure"],"labels":{"category":"publiccloud","layer":"orchestration"},"code":["https://github.com/pulumi/pulumi-policy-opa"],"blogs":["https://www.pulumi.com/blog/opa-support-for-crossguard/"],"videos":[{"title":"Testing Configuration with Open Policy Agent","speakers":[{"name":"Gareth Rushgrove","organization":"snyk"}],"venue":"Cloud Engineering Summit 2020","link":"https://www.pulumi.com/resources/testing-configuration-with-open-policy-agent/"}],"inventors":["pulumi"],"docs_features":{"go-integration":{"note":"The Pulumi OPA bridge uses the Rego API to evaluate policies in a\\npolicy pack. View the [docs and code](https://github.com/pulumi/pulumi-policy-opa).\\n"}}
1,"content":"\\nBuild infrastructure as code in familiar languages. CrossGuard is Pulumi\'s policy as code offering, providing OPA as one of the options to use for defining policy.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/pulumi.md","id":"pulumi"},"principled-evolution":{"title":"Principled Evolution (GOPAL & AICertify)","software":["gopal","aicertify"],"inventors":["principled-evolution-ltd"],"code":["https://github.com/principled-evolution/gopal","https://github.com/principled-evolution/aicertify"],"content":"\\nGOPAL is a library of Rego policies that encode AI-governance regulations as executable allow/deny checks. It covers the EU AI Act, the UK pro-innovation principles together with the automated decision-making regime in UK GDPR Articles 22A to 22D, the NIST AI Risk Management Framework, ICAO, FAA and EASA aviation standards, PRA SS1/23 and the FCA Consumer Duty in financial services, FERPA and COPPA in education, and professional-conduct rules for AI use in legal practice.\\n\\nThe project publishes per-article coverage matrices stating which obligations are implemented and which are not, and every obligation in those matrices is currently implemented. Each framework is versioned under `v1/` with semver guarantees, so an amended regulation ships as `v2/` alongside the old reading rather than breaking a pinned deployment. Every policy carries allow/deny tests, and `opa check`, Regal and `opa test` run in CI.\\n\\nThe policies are plain Rego with no wrapper on top, so they load into any OPA deployment: `opa eval` in a CI job, Conftest, or a running OPA server queried on the request path. Organizations can keep proprietary rules in a git-ignored `custom/` tree that evaluates alongside the public set, which lets internal AI use-case policy sit next to the regulatory baseline without forking.\\n\\nAICertify is the companion Python framework. It captures the input context for an AI application, evaluates it against GOPAL policies through OPA, and produces audit-ready PDF, Markdown, and JSON reports. In both paths OPA is the decision engine, which brings the policy-as-code workflow the OPA community already uses for Kubernetes admission and cloud authorization to AI compliance.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/principled-evolution.md","id":"principled-evolution"},"pre-commit-hooks":{"title":"Pre-commit hooks","labels":{"category":"tooling","layer":"cicd"},"software":["git","pre-commit"],"code":["https://github.com/anderseknert/pre-commit-opa"],"blogs":["https://www.eknert.com/tech/2020/08/31/pre-commit-hooks-for-opa"],"inventors":["independent"],"content":"\\nPre-commit git hooks for OPA and Rego development\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/pre-commit-hooks.md","id":"pre-commit-hooks"},"pomerium-authz":{"title":"Pomerium Access Proxy","labels":{"layer":"network","category":"proxy"},"software":["pomerium"],"blogs":["https://github.com/pomerium/pomerium/releases/tag/v0.7.0"],"tutorials":["https://www.pomerium.com/docs/capabilities/authorization#rego-policies"],"code":["https://github.com/pomerium/pomerium"],"content":"\\nPomerium is an identity-aware proxy that enables secure access to internal applications. OPA implements authorization under the hood.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/pomerium-authz.md","id":"pomerium-authz"},"php-authorization":{"title":"PHP OPA Library","for_language":"php","labels":{"layer":"network","category":"application"},"software":["php"],"tutorials":["https://coil.com/p/segra/OPA-for-API-Authorization-with-Slim-PHP/H-7YsQL2m"],"code":["https://github.com/segrax/opa-php-examples","https://github.com/segrax/openpolicyagent","https://github.com/mdragun/opa-symfony-middleware-fork/"],"inventors":["build-security"],"docs_features":{"rest-api-integration":{"note":"This library provides a PHP wrapper around the OPA REST API. It can\\nupdate policies and query for decisions. See the\\n[project README](https://github.com/segrax/openpolicyagent)\\nfor various examples.\\n"}},"content":"\\nThese integrations demonstrate using OPA to perform API authorization in PSR-15 and Symfony compliant frameworks.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/php-authorization.md","id":"php-authorization"},"permit":{"title":"Permit.io","labels":{"category":"authorization","layer":"application"},"inventors":["permitio"],"code":["https://github.com/permitio"],"tutorials":["https://docs.permit.io/"],"blogs":["https://www.permit.io/blog/introduction-to-opa","https://www.permit.io/blog/implement-abac-using-opa","https://www.permit.io/blog/implement-rbac-using-opa"],"content":"\\nPermit.io empowers developers to bake in permissions and access-control into any product in minutes and takes away the pain of constantly rebuilding them.\\nPermit is based on OPA.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/permit.md","id":"permit"},"ossrisk":{"title":"ossrisk","subtitle":"Dependency supply-chain risk scanner with Rego policy gates","labels":{"category":"security","layer":"cicd","type":"poweredbyopa"},"inventors":["depkeep"],"code":["https://github.com/depkeep/ossrisk"],"tutorials":["https://github.com/depkeep/ossrisk#policy-as-code-opa"],"software":["npm","pypi","github-actions"],"content":"\\nossrisk scans npm and PyPI dependency trees for supply-chain and long-term\\nviability risk: known CVEs (via OSV.dev), end-of-life versions, abandonment\\nsignals, typosquatting, license compliance, maintainer-takeover patterns, and\\ninstall scripts.\\n\\nBeyond a simple `--fail-on <severity>` threshold, ossrisk delegates gating\\ndecisions to OPA. The scan result is passed to `opa eval` as `input`;
1 policies\\nlive in `package ossrisk` and add human-readable messages to a `deny` set, and\\nany violation fails the scan. This enables cross-signal rules a severity\\nthreshold cannot express - for example \\"no strong-copyleft licenses in direct\\ndependencies\\" or \\"block packages that add install scripts under a brand-new\\npublisher\\" (the event-stream takeover pattern).\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/ossrisk.md","id":"ossrisk"},"optoggles":{"title":"OPToggles (Open Policy Toggles)","labels":{"category":"updates","layer":"application"},"inventors":["permitio"],"code":["https://github.com/permitio/OPToggles"],"tutorials":["https://optoggles.opal.ac/tutorials/demo/"],"content":"\\nOPToggles uses OPA and OPAL to sync open-policy to your frontend with the help of feature flag solutions.\\nOPToggles creates user-targeted feature flags based on the policy rules you defined in OPA and keeps the users updated in real-time with OPAL\'s real-time policy and policy-data change detection.\\nOPToggles already supports launchdarkly.com and a generic REST API.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/optoggles.md","id":"optoggles"},"openfaas-function-authorization":{"title":"OpenFaaS Serverless Function Authorization","labels":{"layer":"application","category":"serverless"},"software":["openfaas"],"code":["https://github.com/adaptant-labs/openfaas-function-auth-opa"],"tutorials":["https://github.com/adaptant-labs/openfaas-function-auth-opa/blob/master/README.md"],"inventors":["adaptant"],"content":"\\nOpenFaaS is a serverless function framework that runs on Docker Swarm and Kubernetes. OPA makes it possible to provide fine-grained context-aware authorization on a per-function basis.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/openfaas-function-authorization.md","id":"openfaas-function-authorization"},"open-service-mesh":{"title":"Open Service Mesh (OSM)","software":["osm"],"labels":{"category":"servicemesh","layer":"network"},"tutorials":["https://release-v1-2.docs.openservicemesh.io/docs/guides/integrations/external_auth_opa/"],"docs_features":{"envoy":{"note":"External Authorization supports OPA and is documented\\n[here](https://release-v1-2.docs.openservicemesh.io/docs/guides/integrations/external_auth_opa/)\\n"}},"content":"\\nOpen Service Mesh is a lightweight and extensible cloud native service mesh.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/open-service-mesh.md","id":"open-service-mesh"},"opal":{"title":"OPAL","subtitle":"Open Policy Administration Layer","labels":{"category":"updates","layer":"application"},"inventors":["permitio"],"software":["opal"],"code":["https://github.com/permitio/opal"],"tutorials":["https://github.com/permitio/opal/tree/master/documentation/docs/tutorials"],"videos":["https://www.youtube.com/watch?v=K1Zm2FPfrh8"],"docs_features":{"rest-api-integration":{"note":"OPAL uses the OPA REST API to update the policy and data pushed down\\nfrom the OPAL server.\\nSee [how this works](https://docs.opal.ac/overview/architecture/).\\n"},"external-data":{"note":"The OPAL Client uses the OPA REST API to update the state pushed down\\nfrom the OPAL server.\\nSee [how this works](https://docs.opal.ac/overview/architecture/).\\n"},"external-data-realtime-push":{"note":"OPAL is able to deliver real-time data updates to OPA instances.\\nSee\\n[how this works](https://docs.opal.ac/getting-started/quickstart/opal-playground/publishing-data-update/)\\nin the OPAL docs.\\n"}},"content":"\\nOPAL is an administration layer for Open Policy Agent (OPA), detecting changes in realtime to both policy and policy data and pushing live updates to your agents.\\nOPAL brings open-policy up to the speed needed by live applications. As your application state changes (whether it\'s via your APIs, DBs, git, S3 or 3rd-party SaaS services), OPAL will make sure your services are always in sync with the authorization data and policy they need (and only those they need).\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/opal.md","id":"opal"},"opa-wasm-zig":{"title":"OPA Wasm Zig Library","for_language":"zig","software":["zig"],"inventors":["burdzwastaken"],"labels":{"category":"wasm","type":"poweredbyopa"},"tutorials":["https://github.com/burdzwastaken/zig-opa-wasm/blob/master/README.md"],"code":["https://github.com/burdzwastaken/zig-opa-wasm/"],"docs_features":{"wasm-integration":{"note":"This project implements the OPA Wasm module interface in Zig.\\n"}},"content":"\\nA Zig library to use OPA policies compiled to Wasm.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/opa-wasm-zig.md","id":"opa-wasm-zig"},"opa-wasm-rust":{"title":"OPA Wasm Rust Crate","for_language":"rust","software":["rust"],"inventors":["matrix"],"labels":{"category":"wasm","type":"poweredbyopa"},"tutorials":["https://github.com/matrix-org/rust-opa-wasm#try-it-out","https://docs.rs/opa/latest/opa/wasm/index.html"],"code":["https://github.com/matrix-org/rust-opa-wasm"],"docs_features":{"wasm-integration":{"note":"This project implements the OPA Wasm module interface in Rust.\\n"}},"content":"\\nA crate to use OPA policies compiled to Wasm.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/opa-wasm-rust.md","id":"opa-wasm-rust"},"opa-wasm-js":{"title":"OPA Wasm Javascript Module","for_language":"javascript","software":["javascript"],"inventors":["styra"],"labels":{"category":"wasm","type":"poweredbyopa"},"tutorials":["https://github.com/open-policy-agent/npm-opa-wasm/blob/main/README.md"],"code":["https://github.com/open-policy-agent/npm-opa-wasm/","https://www.npmjs.com/package/@open-policy-agent/opa-wasm?activeTab=readme"],"videos":[{"title":"Scratching an Itch: Running Policy in Hard to Reach Places with Wasm & OPA","speakers":[{"name":"Charlie Egan","organization":"styra"}],"link":"https://www.youtube.com/watch?v=BdeBhukLwt4"}],"docs_features":{"wasm-integration":{"note":"This project implements the OPA Wasm module interface in JavaScript.\\n"}},"content":"\\nA small SDK for using WebAssembly (Wasm) compiled Rego policies\\
1n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/opa-wasm-js.md","id":"opa-wasm-js"},"opa-wasm-java":{"title":"Wasm Java Gradle SDK (sangkeon)","for_language":"java","software":["java"],"inventors":["sangkeon"],"labels":{"category":"wasm","type":"poweredbyopa"},"tutorials":["https://github.com/sangkeon/java-opa-wasm#usage"],"code":["https://github.com/sangkeon/java-opa-wasm"],"docs_features":{"wasm-integration":{"note":"This project implements the OPA Wasm module interface in Java.\\n"}},"content":"\\nSDK to illustrate how to use Wasm compiled Rego policies from a Java application\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/opa-wasm-java.md","id":"opa-wasm-java"},"opa-wasm-dotnet":{"title":"Wasm .NET Package (christophwille)","for_language":"csharp","software":["csharp"],"inventors":["christophwille"],"labels":{"category":"wasm","type":"poweredbyopa"},"tutorials":["https://github.com/christophwille/dotnet-opa-wasm"],"code":["https://github.com/christophwille/dotnet-opa-wasm","https://www.nuget.org/packages/Opa.Wasm/"],"docs_features":{"wasm-integration":{"note":"This project implements the OPA Wasm module interface in C#.\\n"}},"content":"\\nCall Rego policies in Wasm from C# .NET Core\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/opa-wasm-dotnet.md","id":"opa-wasm-dotnet"},"opa-typescript":{"title":"Typescript OPA SDK (Styra)","for_language":"javascript","software":["javascript","typescript"],"inventors":["styra"],"labels":{"layer":"network","category":"application"},"tutorials":["https://open-policy-agent.github.io/opa-typescript/"],"code":["https://github.com/open-policy-agent/opa-typescript","https://www.npmjs.com/package/@open-policy-agent/opa"],"content":"\\nThe driver to connect to Open Policy Agent (OPA) deployments\\nfrom Typescript applications.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/opa-typescript.md","id":"opa-typescript"},"opa-springboot":{"title":"OPA Spring Boot SDK (Styra)","for_language":"java","labels":{"layer":"network","category":"application"},"software":["java"],"code":["https://github.com/open-policy-agent/opa-springboot","https://central.sonatype.com/artifact/com.styra.opa/springboot"],"inventors":["styra"],"content":"\\nThe OPA Spring Boot SDK enables seamless integration of Open\\nPolicy Agent deployments with Spring Boot applications\\nthrough an `AuthorizationManager` implementation. The SDK\u2019s installation and\\nusage details are provided on\\n[Maven Central](https://central.sonatype.com/artifact/com.styra.opa/springboot).\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/opa-springboot.md","id":"opa-springboot"},"opa-python":{"title":"Python Client (Turall)","labels":{"layer":"network","category":"application"},"software":["python"],"code":["https://github.com/Turall/OPA-python-client"],"inventors":["turall"],"content":"\\nPython client for integrating with the OPA REST API.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/opa-python.md","id":"opa-python"},"opa-playground":{"title":"OPA Playground","subtitle":"Online Rego Playground","software":[],"inventors":["styra"],"labels":{"category":"tooling","layer":"rego"},"code":["https://play.openpolicyagent.org/"],"blogs":["https://openpolicyagent.org/blog/the-rego-playground-977566855cec","https://openpolicyagent.org/blog/rego-playground-new-features-ec0345a73b9e"],"docs_features":{"learning-rego":{"note":"Sometimes if you\'re working on a Rego policy in an integrated system\\nit can help to debug it in isolation first. The playground is a great\\nplace to do that. Get started with a [hello world example](https://play.openpolicyagent.org/).\\n"},"language-tooling":{"note":"The playground is a great place to get started with writing and testing\\nyour first policies. You can also share links if you\'re asking for\\nhelp in the community Slack. Get started with a simple\\n[RBAC example](https://play.openpolicyagent.org/?example-group=access-control).\\n"},"debugging-rego":{"note":"The playground is a great place to debug Rego policies as you can\\nquickly iterate on the policy and data at the same time before sharing\\nlinks to collaborate on a fix with others.\\n"}},"content":"\\nInteractive online Rego playground for writing and sharing policies\\
1n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/opa-playground.md","id":"opa-playground"},"opa-nats":{"title":"NATS Plugin for OPA","subtitle":"An LRU cache backed by NATS Key-Value store for OPA","labels":{"layer":"data","category":"data"},"inventors":["permitio"],"software":["nats"],"code":["https://github.com/permitio/opa-nats"],"docs_features":{"go-integration":{"note":"opa-nats is written in Go and ships a custom OPA binary with the\\nplugin pre-registered, as well as a library for embedding the plugin\\nin other Go-based OPA builds.\\n"},"external-data":{"note":"opa-nats overrides the OPA runtime store for specific paths, backing\\nthem with an LRU cache populated from a NATS Key-Value store.\\n"}},"content":"\\nopa-nats is a Go plugin that backs OPA\'s runtime store with a [NATS Key-Value store](https://docs.nats.io/nats-concepts/jetstream/key-value-store), letting policies read externally managed data through an LRU cache kept in sync with NATS.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/opa-nats.md","id":"opa-nats"},"opa-mcp":{"title":"OPA MCP","subtitle":"Model Context Protocol server for authoring and debugging Rego","labels":{"category":"tooling","layer":"editor"},"inventors":["independent"],"code":["https://github.com/OrygnsCode/opa-mcp-server","https://www.npmjs.com/package/@orygn/opa-mcp","https://hub.docker.com/r/orygn/opa-mcp","https://smithery.ai/server/@orygn/opa-mcp"],"videos":["https://youtu.be/ByHocQDkB8M"],"blogs":["https://www.linkedin.com/pulse/llms-bad-writing-rego-policies-heres-why-what-i-built-daniel-okwor-fjnzc/"],"docs_features":{"learning-rego":{"note":"OPA MCP exposes higher-level helpers (rego_describe_policy,\\nrego_suggest_fix, rego_explain_decision) that compose opa fmt,\\nopa parse, and opa eval into AI-friendly tools. Agents in any MCP\\nclient (Claude Desktop, Cursor, VS Code, Zed) can author, format,\\nand review Rego with structured output instead of free-form CLI text.\\n"},"policy-testing":{"note":"The rego_test tool runs opa test over a directory and returns\\npass/fail per test with optional coverage. rego_generate_test_skeleton\\nproduces a _test.rego scaffold covering each rule in a policy.\\n"},"debugging-rego":{"note":"rego_explain_decision wraps opa eval --explain=full and returns a\\nstructured trace, letting agents answer \\"why was this rejected\\"\\nwithout reading raw traces. rego_eval_with_profile and\\nrego_eval_with_coverage surface hot rules and per-line coverage.\\n"},"editors":{"note":"OPA MCP is a stdio MCP server that plugs into any MCP-compatible\\nclient. One-line Smithery install for Claude Desktop, drop-in\\nconfigs for Cursor, VS Code, Zed, and Windsurf. Multi-arch Docker\\nimage and a signed .mcpb bundle are also published.\\n"}},"content":"\\nOPA MCP is a Model Context Protocol server that gives MCP-compatible\\nclients a structured interface to Rego. It wraps the OPA CLI (opa fmt,\\nopa check, opa eval, opa test, opa build, opa sign), the OPA REST API,\\nthe Regal linter, and Conftest, exposing 50+ tools with stable error codes\\nand schema-validated input/output.\\n\\nHigher-level helpers (rego_explain_decision, rego_describe_policy,\\nrego_generate_test_skeleton, rego_suggest_fix) compose the primitives\\ninto the tasks agents typically perform. A curated resource set exposes\\nthe OPA built-in function catalog, the Rego style guide, and a pattern\\nlibrary covering RBAC, ABAC, Kubernetes admission, IaC gates, API\\nauthorization, and rate limiting.\\n\\nDistributed via npm (@orygn/opa-mcp), Docker Hub (orygn/opa-mcp), and a\\nsigned .mcpb bundle.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/opa-mcp.md","id":"opa-mcp"},"opa-java":{"title":"Java OPA SDK (Styra)","for_language":"java","labels":{"layer":"network","category":"application"},"software":["java"],"code":["https://github.com/open-policy-agent/opa-java","https://central.sonatype.com/artifact/com.styra/opa"],"tutorials":["https://open-policy-agent.github.io/opa-java/javadoc/"],"inventors":["styra"],"content":"\\nThe Styra-supported driver to connect to Open Policy Agent (OPA) and Enterprise\\nOPA deployments from Java applications.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/opa-java.md","id":"opa-java"},"opa-java-wasm":{"title":"Java OPA Wasm SDK (Styra)","for_language":"java","software":["java"],"labels":{"category":"wasm","type":"poweredbyopa"},"code":["https://github.com/StyraOSS/opa-java-wasm","https://central.sonatype.com/artifact/com.styra.opa/opa-java-wasm"],"tutorials":["https://github.com/StyraOSS/opa-java-wasm?tab=readme-ov-file#getting-started"],"inventors":["andreatp"],"content":"\\nA Java SDK for using WebAssembly(wasm) compiled Open Policy Agent (OPA) policies powered by Chicory,\\na zero dependencies Java Wasm interpreter.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/opa-java-wasm.md","id":"opa-java-wasm"},"opa-java-client":{"title":"Java Client (Bisnode)","for_language":"java","labels":{"layer":"network","category":"application"},"software":["java"],"code":["https://github.com/Bisnode/opa-java-client"],"inventors":["bisnode"],"content":"\\nIntegrations for interacting with OPA from Java\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/opa-java-client.md","id":"opa-java-client"},"opa-golang":{"title":"OPA Go SDK","for_language":"golang","software":["golang"],"inventors":["styra"],"labels":{"category":"application","layer":"network"},"tutorials":["https://www.openpolicyagent.org/docs/latest/integration/#integrating-with-the-go-sdk"],"code":["https://pkg.go.dev/github.com/open-policy-agent/opa/sdk","https://github.com/open-policy-agent/opa/tree/main/sdk"],"content":"\\nOPA\'s native Go SDK allows application developers to run OPA functionality from within their application.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/opa-golang.md","id":"opa-golang"},"opa-dotnet":{"title":"Wasm .NET Package (me-viper)","for_language":"csharp","software":["csharp"],"inventors":["andriikurochka"],"labels":{"category":"wasm","type":"poweredbyopa"},"tutorials":["https://me-viper.github.io/OpaDotNet/articles/HowToStart.html"],"code":["https://github.com/me-viper/OpaDotNet","https://www.nuget.org/packages/OpaDotNet.Wasm/"],"docs_features":{"wasm-integration":{"note":"This project implements Open Policy Agent (OPA) WebAssembly .NET core SDK."}},"content":"\\nOpen Policy Agent (OPA) WebAssembly .NET core SDK\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/opa-dotnet.md","id":"opa-dotnet"},"opa-dotnet-asp-core":{"title":".NET Package (me-viper)","for_language":"csharp","labels":{"category":"application","layer":"network","type":"poweredbyopa"},"code":["https://github.com/me-viper/OpaDotNet.Extensions","https://www.nuget.org/packages/OpaDotNet.Extensions.AspNetCore/"],"inventors":["me-viper"],"software":["csharp"],"content":"\\nOpen Policy Agent (OPA) ASP.NET core authorization infrastru
1cture\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/opa-dotnet-asp-core.md","id":"opa-dotnet-asp-core"},"opa-csharp":{"title":"C# OPA SDK (Styra)","for_language":"csharp","labels":{"category":"application","layer":"network"},"code":["https://github.com/open-policy-agent/opa-csharp","https://www.nuget.org/packages/Styra.Opa"],"tutorials":["https://open-policy-agent.github.io/opa-csharp/"],"inventors":["styra"],"software":["csharp"],"content":"\\nThe driver to connect to Open Policy Agent (OPA) deployments from C#\\napplications.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/opa-csharp.md","id":"opa-csharp"},"opa-aspnetcore":{"title":"OPA ASP.NET Core SDK (Styra)","for_language":"csharp","labels":{"category":"application","layer":"network"},"code":["https://github.com/open-policy-agent/opa-aspnetcore","https://www.nuget.org/packages/Styra.Opa.AspNetCore"],"tutorials":["https://open-policy-agent.github.io/opa-aspnetcore/"],"inventors":["styra"],"software":["csharp"],"content":"\\nThe OPA ASP.NET Core SDK enables seamless integration of Open Policy Agent\\ndeployments with ASP.NET Core applications through an ASP.NET `Middleware`\\nimplementation. The SDK\u2019s installation and usage\\ndetails are provided on [NuGet](https://www.nuget.org/packages/Styra.Opa.AspNetCore).\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/opa-aspnetcore.md","id":"opa-aspnetcore"},"oidc":{"title":"OpenID Connect (OIDC)","software":["oauth","oidc"],"labels":{"category":"security"},"tutorials":["https://www.openpolicyagent.org/docs/oauth-oidc"],"blogs":["https://web.archive.org/web/https://www.styra.com/blog/integrating-identity-oauth2-and-openid-connect-in-open-policy-agent/"],"content":"\\nIntegrating OpenID Connect (OIDC) with Open Policy Agent\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/oidc.md","id":"oidc"},"ocpr":{"title":"Open Policy Containers","subtitle":"A Docker-inspired workflow for OPA policies","labels":{"category":"containers","layer":"application"},"inventors":["aserto"],"code":["https://github.com/opcr-io/policy"],"tutorials":["https://openpolicycontainers.com/docs/tutorial/"],"docs_features":{"go-integration":{"note":"Makes use of the\\n[OPA Repl package](https://pkg.go.dev/github.com/open-policy-agent/opa/repl)\\nto interact with an OPA instance.\\n"},"opa-bundles":{"note":"OPCR policy images can be loaded in over the Bundle API. The feature\\nit documented in the\\n[OPCR docs](https://openpolicycontainers.com/docs/opa/).\\n"},"opa-bundles-discovery":{"note":"OPCR images can be loaded in over the Bundle API and contain\\ndiscovery bundles. The feature it documented in the\\n[OPCR docs](https://openpolicycontainers.com/docs/opa/).\\n"},"external-data":{"note":"OPCR policy images can contain data as well as policy. If you need to\\ndistribute data to OPA from an OCI registry, OPCR can build and push\\nsuch images. See the docs for\\n[building images here](https://openpolicycontainers.com/docs/cli/build/).\\n"}},"content":"\\nThe Open Policy Registry project provides a docker-style workflow for OPA\\npolicies. The policy CLI can be used to build, tag, sign, push, and pull OPA\\npolicies as OCIv2 container images, in conjunction with any container registry.\\nThe Open Policy Registry (OPCR) is a reference implementation of a policy\\nregistry, built and hosted on GCP.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/ocpr.md","id":"ocpr"},"oauth2":{"title":"OAuth2","software":["oauth"],"labels":{"category":"security"},"tutorials":["https://www.openpolicyagent.org/docs/oauth-oidc"],"blogs":["https://web.archive.org/web/https://www.styra.com/blog/integrating-identity-oauth2-and-openid-connect-in-open-policy-agent/"],"content":"\\nIntegrating OAuth2 with Open Policy Agent\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/oauth2.md","id":"oauth2"},"nopa":{"title":"nopa","subtitle":"NATS + OPA","inventors":["John Hooks"],"labels":{"category":"application","layer":"library"},"software":["golang","NATS"],"code":["https://gitlab.com/sencillodev/nopa"],"content":"\\nNopa is a simple way to store OPA bundles in NATS object storage with real time updates with custom module injection.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/nopa.md","id":"nopa"},"nginx":{"title":"Nginx","labels":{"category":"gateway","layer":"network"},"software":["nginx"],"code":["https://github.com/summerwind/opa-nginx-rbac"],"content":"\\nOPA Authorization for Nginx\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/nginx.md","id":"nginx"},"nacp":{"title":"Nomad Admission Control Proxy","subtitle":"NACP","labels":{"type":"poweredbyopa","layer":"configuration"},"inventors":["mxab"],"code":["https://github.com/mxab/nacp"],"videos":["https://github.com/mxab/nacp/tree/main/example"],"tutorials":["https://github.com/mxab/nacp/tree/main/example"],"content":"\\nNACP is a proxy in front of the Nomad API that allows for mutation and\\nvalidation of job data. It intercepts Nomad API calls that include job data\\n(plan, register, validate) and performs the necessary operations, with\\nvalidation available through embedded Rego rules or webhooks.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/nacp.md","id":"nacp"},"moat":{"title":"Moat","subtitle":"A Data Control Plane for Trino & OPA","labels":{"category":"updates","layer":"application"},"inventors":["moat-io"],"software":["trino"],"code":["https://github.com/moat-io/moat"],"tutorials":["https://moat-io.github.io/moat/"],"docs_features":{"opa-bundles":{"note":"Moat supplies bundles to OPA to provide powerful data authorisation for Trino\\nSee [Moat Bundles](https://moat-io.github.io/moat/bundles/).\\n"},"external-data":{"note":"Moat aggregates data from multiple identity and metadata sources to provide powerful data authorisation for Trino\\nSee [Trino & OPA](https://moat-io.github.io/moat/trino_and_opa/).\\n"}},"content":"\\nOPA and Trino are an awesome combination, but maintaining the policy documents and required data object can be painful. Moat makes this easy with managed curation of principals and tables/views, as well as a predefined set of RBAC/ABAC policies suitable for most use cases. These policies can be used as-is, modified or completely replaced as needed.\\n\\n## Moat provides a Data Control Plane to serve bundles to OPA, including\\n\\n- SCIM2.0 server to allow integration with most identity providers (e.g Okta, EntraId)\\n- Data objects and attributes ingested from various sources (SQL DBs, data catalogs etc)\\n- Principals, attributes and groups ingested from identity providers (SQL DB, LDAP, etc)\\n- Pre-built rego policy documents to support common use cases (e.g. RBAC)\\n- OPA-compliant bundle API with built-in caching to allow fast polling\\n\\nMoat itself is not involved in policy decisions at runtime, it simply provides the information to the battle-hardened OPA.\\n\\nMoat can serve bundles to any number of OPA/Trino installations. This makes it very convenient to manage permissions across a fleet of trino clusters as well as ephemeral cluster
1s. Simply add an OPA container to the coordinator deployment and point its bundle service to moat\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/moat.md","id":"moat"},"minio":{"title":"Minio API Authorization","labels":{"layer":"data","category":"authorization"},"tutorials":["https://github.com/minio/minio/blob/master/docs/iam/opa.md"],"inventors":["minio","styra"],"docs_features":{"rest-api-integration":{"note":"Minio implements a native integration with OPA using the REST API.\\nThe [integration is documented](https://github.com/minio/minio/blob/master/docs/iam/opa.md)\\nin the Minio docs.\\n"}},"content":"\\nMinio is an open source, on-premise object database compatible with the Amazon S3 API. This integration lets OPA enforce policies on Minio\'s API.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/minio.md","id":"minio"},"magda":{"title":"Magda","labels":{"type":"poweredbyopa","category":"application","layer":"application"},"software":["magda"],"code":["https://github.com/magda-io/magda"],"blogs":["https://github.com/magda-io/magda/blob/master/docs/docs/architecture/Guide%20to%20Magda%20Internals.md#authorization-authz"],"content":"\\nMagda is a federated, Kubernetes-based, open-source data catalog system.\\nWorking as Magda\'s central authorisation policy engine, OPA helps not only the API endpoint authorisation.\\nMagda also uses its partial evaluation feature to translate datasets authorisation decisions to other database-specific DSLs (e.g. SQL or Elasticsearch DSL) and use them for dataset authorisation enforcement in different databases.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/magda.md","id":"magda"},"lula":{"title":"Lula","subtitle":"The Cloud-Native Compliance Engine","inventors":["defenseunicorns"],"labels":{"category":"compliance"},"code":["https://github.com/defenseunicorns/lula"],"docs_features":{"go-integration":{"note":"Lula is written in Go and uses the\\n[Rego Go API](https://www.openpolicyagent.org/docs/latest/integration/#integrating-with-the-go-api)\\nto evaluate configuration for compliance against security controls.\\n"}},"content":"\\nAutomated Governance with Machine-Readable data and OPA - [Lula](https://defenseunicorns.com/) is a tool designed to bridge the gap between expected configuration required for compliance and actual configuration.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/lula.md","id":"lula"},"linux-pam":{"title":"SSH and Sudo Authorization with Linux","software":["linuxpam"],"labels":{"layer":"server"},"tutorials":["https://www.openpolicyagent.org/docs/ssh-and-sudo-authorization.html"],"code":["https://github.com/open-policy-agent/contrib/tree/main/pam_opa"],"inventors":["styra"],"content":"\\nHost-level access controls are an important part of every organization\'s security strategy. OPA provides fine-grained, context-aware controls for SSH and sudo using Linux-PAM.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/linux-pam.md","id":"linux-pam"},"legitify":{"title":"Legitify","subtitle":"Security policy for SCM","labels":{"layer":"tooling","category":"application"},"inventors":["legitsecurity"],"tutorials":["https://www.legitsecurity.com/legitify","https://github.com/Legit-Labs/legitify#github-action-usage"],"code":["https://github.com/Legit-Labs/legitify"],"content":"\\nStrengthen the security posture of your source-code management. Detect and\\nremediate misconfigurations, security and compliance issues across all your\\nGitHub & GitLab assets with ease.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/legitify.md","id":"legitify"},"kubestellar-console":{"title":"KubeStellar Console","subtitle":"Multi-cluster Kubernetes dashboard with OPA Gatekeeper policy management and AI-driven compliance scoring","software":["kubernetes"],"labels":{"category":"kubernetes","layer":"application"},"inventors":["kubestellar"],"code":["https://github.com/kubestellar/console"],"tutorials":["https://console.kubestellar.io/security-posture?card=opa_policies","https://console.kubestellar.io/missions/install-open-policy-agent-opa"],"blogs":["https://kubestellar.io/docs/news/ai-maintained-codebase"],"docs_features":{"kubernetes":{"note":"KubeStellar Console provides a unified multi-cluster dashboard with\\nnative OPA Gatekeeper integration. It discovers constraint templates\\nand constraints across all connected clusters, displays policy\\nviolations in real time, and lets operators create new Rego policies\\
1nusing an AI-assisted workflow that generates ConstraintTemplate and\\nConstraint YAML from plain-English descriptions.\\n\\nThe [AI Cloud Maturity Model (ACMM)](https://arxiv.org/abs/2604.09388)\\nbuilt into the console scores clusters across 8 dimensions \u2014 including\\na policy-as-code dimension that checks for OPA/Gatekeeper, Kyverno,\\nand Conftest artifacts \u2014 producing a quantified maturity score with a\\npublic [leaderboard](https://console.kubestellar.io/leaderboard).\\n\\nThe Fleet Compliance Heatmap card aggregates OPA Gatekeeper status\\nalongside Kyverno, Trivy, Kubescape, Falco, and Compliance Trestle\\ninto a single cross-cluster compliance view.\\n"}},"content":"\\nKubeStellar Console is a CNCF Sandbox multi-cluster Kubernetes dashboard that\\nprovides fleet-wide visibility into OPA Gatekeeper policies and violations. It\\nconnects to any number of clusters and aggregates constraint templates,\\nconstraints, and violations into a single pane of glass.\\n\\nKey OPA integration features:\\n\\n- **OPA Policies card** \u2014 lists all Gatekeeper constraint templates per cluster\\n with violation counts and enforcement mode (audit/warn/deny)\\n- **Fleet Compliance Heatmap** \u2014 visualizes OPA Gatekeeper health across every\\n cluster alongside other compliance tools\\n- **AI-assisted policy creation** \u2014 describe a policy in plain English and the\\n console generates the ConstraintTemplate and Constraint YAML, ready to apply\\n- **Per-cluster drill-down** \u2014 inspect individual violations with full resource\\n context, namespace, and remediation guidance\\n- **ACMM scoring** \u2014 the AI Cloud Maturity Model evaluates each cluster\'s\\n policy-as-code posture, checking for OPA/Gatekeeper artifacts as part of an\\n 8-dimension maturity assessment ([paper](https://arxiv.org/abs/2604.09388))\\n- **Guided install mission** \u2014 a built-in [AI mission](https://console.kubestellar.io/missions/install-open-policy-agent-opa)\\n walks operators through installing and configuring OPA Gatekeeper on any\\n connected cluster, with preflight checks and cluster selection\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/kubestellar-console.md","id":"kubestellar-console"},"kubeshield":{"title":"KubeShield","subtitle":"Secure Kubernetes using eBPF & Open Policy Agent","software":["linux","kubernetes","ebpf"],"labels":{"layer":"application","category":"filtering"},"code":["https://github.com/kubeshield/bpf-opa-demo"],"blogs":["https://appscode.com/blog/post/bpf-opa/"],"docs_features":{"kubernetes":{"note":"KubeShield implements runtime policy for containers in a Kubernetes\\ncluster using eBPF. Follow the\\n[tutorial here](https://github.com/kubeshield/bpf-opa-demo#usage)\\nto get up and running.\\n"}},"content":"\\nEnsure runtime security in any linux machine by combining Extended Berkeley Packet Filter(eBPF) and Open Policy Agent.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/kubeshield.md","id":"kubeshield"},"kubescape":{"title":"Kubescape","subtitle":"Kubernetes security posture scanner","labels":{"category":"security","layer":"application"},"software":["kubescape"],"code":["https://github.com/kubescape/kubescape","https://github.com/kubescape/regolibrary"],"inventors":["armo"],"tutorials":["https://hub.armosec.io/docs/armo-platform"],"docs_features":{"go-integration":{"note":"Kubescape uses the Go Repo API to test Kubernetes objects against\\na range of posture controls.\\n"}},"content":"\\nThis integration uses OPA for defining security controls over Kubernetes clusters. Kubescape is a simple extensible tool\\nfinding security problems in your environment. OPA enables Kubescape to implement and extend very fast to answer new problems.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/kubescape.md","id":"kubescape"},"kubernetes-validating-admission":{"title":"Kubernetes Admission Control","subtitle":"Control cluster operations with Rego policies","software":["kubernetes"],"labels":{"category":"containers","layer":"orchestration"},"tutorials":["https://www.openpolicyagent.org/docs/kubernetes"],"code":["https://github.com/open-policy-agent/kube-mgmt","https://github.com/open-policy-agent/gatekeeper"],"inventors":["styra","microsoft","google"],"videos":[{"title":"Securing Kubernetes With Admission Controllers","speakers":[{"name":"Dave Strebel","organization":"microsoft"}
1],"venue":"Kubecon Seattle 2018","link":"https://sched.co/GrZQ"},{"title":"Using OPA for Admission Control in Production","speakers":[{"name":"Zach Abrahamson","organization":"Capital One"},{"name":"Todd Ekenstam","organization":"Intuit"}],"venue":"Kubecon Seattle 2018","link":"https://sched.co/Grbn"},{"title":"Liz Rice Keynote","speakers":[{"name":"Liz Rice","organization":"AquaSecurity"}],"venue":"Kubecon Seattle 2018","link":"https://youtu.be/McDzaTnUVWs?t=418"},{"title":"Intro to Open Policy Agent Gatekeeper","speakers":[{"name":"Rita Zhang","organization":"microsoft"},{"name":"Max Smythe","organization":"google"}],"venue":"Kubecon Barcelona 2019","link":"https://kccnceu19.sched.com/event/MPiM/intro-open-policy-agent-rita-zhang-microsoft-max-smythe-google"},{"title":"Policy Enabled Kubernetes and CICD","speakers":[{"name":"Jimmy Ray","organization":"capitalone"}],"venue":"OPA Summit at Kubecon San Diego 2019","link":"https://www.youtube.com/watch?v=vkvWZuqSk5M"},{"title":"TripAdvisor: Building a Testing Framework for Integrating OPA into K8s","speakers":[{"name":"Luke Massa","organization":"tripadvisor"}],"venue":"OPA Summit at Kubecon San Diego 2019","link":"https://www.youtube.com/watch?v=X09c1eXvCFM"},{"title":"Enforcing automatic mTLS with Linkerd and OPA Gatekeeper","speakers":[{"name":"Ivan Sim","organization":"buoyant"},{"name":"Rita Zhang","organization":"microsoft"}],"venue":"Kubecon San Diego 2019","link":"https://www.youtube.com/watch?v=gMaGVHnvNfs"},{"title":"Enforcing Service Mesh Structure using OPA Gatekeeper","speakers":[{"name":"Sandeep Parikh","organization":"google"}],"venue":"Kubecon San Diego 2019","link":"https://www.youtube.com/watch?v=90RHTBinAFU"},{"title":"TGIK: Exploring the Open Policy Agent","speakers":[{"name":"Joe Beda","organization":"VMware"}],"link":"https://www.youtube.com/watch?v=QU9BGPf0hBw"}],"blogs":["https://medium.com/@sbueringer/kubernetes-authorization-via-open-policy-agent-a9455d9d5ceb","https://medium.com/@jimmy.ray/policy-enabled-kubernetes-with-open-policy-agent-3b612b3f0203","https://openpolicyagent.org/blog/securing-the-kubernetes-api-with-open-policy-agent-ce93af0552c3","https://itnext.io/kubernetes-authorization-via-open-policy-agent-a9455d9d5ceb","https://medium.com/capital-one-tech/policy-enabled-kubernetes-with-open-policy-agent-3b612b3f0203","https://www.redhat.com/en/blog/fine-grained-policy-enforcement-in-openshift-with-open-policy-agent"],"docs_features":{"rest-api-integration":{"note":"The Kubernetes API server can be configured to use OPA as an\\nadmission controller. Creating a\\n[ValidatingWebhookConfiguration](https://kubernetes.io/docs/reference/access-authn-authz/extensible-admission-controllers/#validatingwebhookconfiguration)\\nresource can be used to query OPA for policy decisions.\\n"},"kubernetes":{"note":"View a selection of projects and talks about integrating OPA with\\nKubernetes.\\n"}},"content":"\\nKubernetes automates deployment, scaling, and management of containerized\\napplications. OPA provides fine-grained, context-aware authorization and\\nadmission control for clusters.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/kubernetes-validating-admission.md","id":"kubernetes-validating-admission"},"kubernetes-provisioning":{"title":"Kubernetes Provisioning","software":["kubernetes"],"labels":{"category":"containers","layer":"orchestration"},"inventors":["goldmansachs"],"videos":[{"title":"Kubernetes Policy Enforcement Using OPA at Goldman Sachs","speakers":[{"name":"Miguel Uzcategui","organization":"goldmansachs"},{"name":"Tim Hinrichs","organization":"styra"}],"venue":"Kubecon San Diego 2019","link":"https://www.youtube.com/watch?v=lYHr_UaHsYQ&list=PLj6h78yzYM2NDs-iu8WU5fMxINxHXlien&index=140&t=0s"}],"content":"\\nKubernetes automates deployment, scaling, and management of containerized applications. OPA decides which resources need to be created on k8s in response to a namespace being created.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/kubernetes-provisioning.md","id":"kubernetes-provisioning"},"kubernetes-authorization":{"title":"Kubernetes Authorization","code":["https://github.com/open-policy-agent/contrib/tree/main/k8s_authorization"],"blogs":["https://web.archive.org/web/https://www.styra.com/blog/kubernetes-authorization-webhook/","https://itnext.io/kubernetes-authorization-via-open-policy-agent-a9455d9d5ceb","https://itnext.io/optimizing-open-policy-agent-based-kubernetes-authorization-via-go-execution-tracer-7b439bb5dc5b"],"inventors":["styra"],"docs_features":{"rest-api-integration":{"note":"The Kubernetes API server can be configured to use OPA as an\\nauthorization webhook. Such an integration can be configured by\\nfollowing [the documentation](https://github.com/open-policy-agent/contrib/tree/main/k8s_authorization)\\nin the contrib repo.\\n"},"kubernetes":{"note":"View\\n[an example project](https://github.com/open-policy-agent/contrib/tree/main/k8s_authorization)\\nshowing how it\'s possible to integrate OPA with Kubernetes User Authorization.\\n"}},"content":"\\nKubernetes Authorization is a pluggable mechanism that lets administrators control which users can run which APIs and\\nis often handled by builtin RBAC. OPA\'s policy language is more flexible than the RBAC, for example,\\nwriting policy using a prohibited list of APIs instead of the usual RBAC style of listing the permitted APIs.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/kubernetes-authorization.md","id":"kubernetes-authorization"},"kopa":{"title":"Kopa","labels":{"category":"containers","layer":"orchestration"},"software":["kubernetes"],"code":["https://github.com/sfreet/kopa"],"docs_features":{"kubernetes":{"note":"Kopa integrates OPA with Kubernetes validating admission webhooks."}}
1,"content":"\\nKopa is a Kubernetes validating admission webhook that delegates policy\\ndecisions to OPA.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/kopa.md","id":"kopa"},"kong-authorization":{"title":"API Gateway Authorization with Kong","labels":{"layer":"network","category":"gateway"},"software":["kong"],"code":["https://github.com/open-policy-agent/contrib/tree/main/kong_api_authz"],"inventors":["wada-ama"],"content":"\\nKong is a microservice API Gateway. OPA provides fine-grained, context-aware\\ncontrol over the requests that Kong receives.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/kong-authorization.md","id":"kong-authorization"},"kafka-authorization":{"title":"Kafka Topic Authorization","subtitle":"Build fine grained access control for Kafka topics","software":["kafka"],"labels":{"category":"streaming","layer":"data"},"blogs":["https://www.opencredo.com/blogs/controlling-kafka-data-flows-using-open-policy-agent"],"tutorials":["https://www.openpolicyagent.org/docs/kafka-authorization"],"code":["https://github.com/StyraOSS/opa-kafka-plugin","https://github.com/llofberg/kafka-authorizer-opa","https://github.com/opencredo/opa-single-message-transformer"],"inventors":["ticketmaster","styra"],"videos":[{"title":"OPA at Scale: How Pinterest Manages Policy Distribution","speakers":[{"name":"Will Fu","organization":"pinterest"},{"name":"Jeremy Krach","organization":"pinterest"}],"venue":"OPA Summit at Kubecon San Diego 2019","link":"https://www.youtube.com/watch?v=LhgxFICWsA8"}],"docs_features":{"rest-api-integration":{"note":"This project implements a custom\\n[Kafka authorizer](https://docs.confluent.io/platform/current/kafka/authorization.html#authorizer)\\nthat uses OPA to make authorization decisions by calling the REST API.\\n\\nInstallation and configuration instructions are available in the\\nproject\'s [README](https://github.com/StyraOSS/opa-kafka-plugin#installation).\\n"}},"content":"\\nApache Kafka is a high-performance distributed streaming platform deployed by\\nthousands of companies. OPA provides fine-grained, context-aware access control\\nof which users can read/write which Kafka topics to enforce important\\nrequirements around confidentiality and integrity.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/kafka-authorization.md","id":"kafka-authorization"},"jenkins-job-authorization":{"title":"Jenkins Job Trigger Policy Enforcement","labels":{"layer":"cicd"},"software":["jenkins"],"inventors":["pinterest"],"videos":[{"title":"OPA at Scale: How Pinterest Manages Policy Distribution","speakers":[{"name":"Will Fu","organization":"pinterest"},{"name":"Jeremy Krach","organization":"pinterest"}],"venue":"OPA Summit at Kubecon San Diego 2019","link":"https://www.youtube.com/watch?v=LhgxFICWsA8"}],"content":"\\nJenkins automates software development processes. OPA lets you control which people and which machines can run which Jenkins jobs.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/jenkins-job-authorization.md","id":"jenkins-job-authorization"},"iptables":{"title":"IPTables","labels":{"layer":"network","category":"linux"},"software":["linux"],"tutorials":["https://github.com/open-policy-agent/contrib/blob/main/opa-iptables/docs/tutorial.md"],"code":["https://github.com/open-policy-agent/contrib/tree/main/opa-iptables"],"inventors":["gsoc","cisco","styra"],"content":"\\nIPTables is a useful tool available to Linux kernel for filtering network packets. OPA makes it possible to manage IPTables rules using context-aware policy.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/iptables.md","id":"iptables"},"i2scim":{"title":"i2scim.io SCIM Restful User/Group Provisioning API","labels":{"category":"security","layer":"application"},"software":["i2scim"],"code":["https://github.com/i2-open/i2scim","https://i2scim.io"],"inventors":["i2"],"tutorials":["https://i2scim.io/OPA_AccessControl.html"],"docs_features":{"rest-api-integration":{"note":"i2scim supports externalized access control decisions using OPA\'s REST API.\\nThe integration is described
1in the [i2scim documentation](https://i2scim.io/OPA_AccessControl.html).\\n"}},"content":"\\ni2scim.io is an open source, Apache 2 Licensed, implementation of SCIM (System for Cross-domain Identity Management RFC7643/7644) for use\\ncloud-native kubernetes platforms. i2scim supports externalized access control decisions through OPA. SCIM is a RESTful HTTP API that can be\\nused to provide a standardized way to provision accounts from Azure, Okta, PingIdentity and other providers and tools. SCIM can also be used\\nas a backing identity store for OAuth and other authentication services.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/i2scim.md","id":"i2scim"},"graphql":{"title":"GraphQL","labels":{"category":"network","layer":"application"},"software":["graphql"],"code":["https://github.com/StyraOSS/graphql-apollo-example"],"tutorials":["https://www.openpolicyagent.org/docs/graphql-api-authorization"],"content":"\\nGraphQL is a query language for APIs and a runtime for fulfilling those queries with your existing data.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/graphql.md","id":"graphql"},"gradle-plugin":{"title":"Gradle Build Plugin (Bisnode)","for_language":"java","labels":{"layer":"cicd","category":"cicdplugin","type":"poweredbyopa"},"software":["gradle","java","groovy","kotlin"],"code":["https://github.com/Bisnode/opa-gradle-plugin","https://plugins.gradle.org/plugin/com.bisnode.opa"],"inventors":["bisnode"],"content":"\\nBuild plugin adding various tasks to support using OPA as part of Gradle builds\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/gradle-plugin.md","id":"gradle-plugin"},"google-kubernetes-engine":{"title":"GKE Policy Automation","software":["kubernetes","google-kubernetes-engine"],"labels":{"category":"containers","layer":"orchestration"},"code":["https://github.com/google/gke-policy-automation"],"tutorials":["https://github.com/google/gke-policy-automation/tree/main/gke-policies"],"inventors":["google"],"docs_features":{"kubernetes":{"note":"The GKE Policy Automation project provides a set of policies for\\nvalidating Kubernetes clusters running on GKE. Review the\\n[policy library here](https://github.com/google/gke-policy-automation/tree/main/gke-policies-v2)\\n"}},"content":"\\nTool and policy library for reviewing Google Kubernetes Engine clusters against best practices\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/google-kubernetes-engine.md","id":"google-kubernetes-engine"},"google-calendar":{"title":"Google Calendar","labels":{"category":"data","layer":"rego"},"software":["google-calendar"],"inventors":["styra"],"code":["https://github.com/anderseknert/opa-google-calendar"],"blogs":["https://web.archive.org/web/https://www.styra.com/blog/the-power-of-data-calendar-based-policy-enforcement/"],"content":"\\nUsing the Google Calendar API with OPA for calendar powered policy decisions\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/google-calendar.md","id":"google-calendar"},"gloo-api-gateway":{"title":"Gloo API Gateway","labels":{"category":"servicemesh","layer":"gateway"},"blogs":["https://medium.com/solo-io/5-min-with-gloo-api-gateway-configuration-with-open-policy-agent-53da276a6534","https://docs.solo.io/gloo-mesh-enterprise/main/security/external-auth/opa/"],"content":"\\nGloo is an open-source Kubernetes-native ingress controller, and next-generation API gateway.\\nOPA can be used to implement authorization policies for those APIs.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/gloo-api-gateway.md","id":"gloo-api-gateway"},"github-action-opa-rego-test":{"title":"GitHub Action for OPA Rego Test","subtitle":"GitHub Action to automate testing OPA Rego policies","labels":{"category":"library","type":"GitHub Action"},"inventors":["masterpoint"],"code":["https://github.com/masterpointio/github-action-opa-rego-test"],"tutorials":["https://github.com/masterpointio/github-action-opa-rego-test/blob/main/README.md"],"docs_features":{"policy-testing":{"note":"[GitHub Action for OPA Rego Policy Tests](docs/website/content/integrations/rego-test-assertions.md) automates testing for your OPA (Open Policy Agent) Rego policies, generates a report with coverage information, and posts the test results as a comment on your pull requests, making it easy for your team to review and approve policies.\\n"}},"content":"\\n[GitHub Action for OPA Rego Policy Tests](docs/website/content/integrations/rego-test-assertions.md) by [Masterpoint](https://masterpoint.io/) is used to automate testing for your OPA (Open Policy Agent) Rego policies, generates a report with coverage information, and posts the test results as a comment on your pull requests, making it easy for your team to review and approve policies.\\n\\nUse this to test your OPA Rego files for [Spacelift policies](https://docs.spacelift.io/concepts/policy), [Kubernetes Admission Controller policies](https://www.openpolicyagent.org/docs/kubernetes), [Docker authorization policies](https://www.openpolicyagent.org/docs/docker-authorization), or any other use case that uses [Open Policy Agent\'s policy language Rego](https://www.openpolicyagent.org/docs). This Action also updates PR comments with the test results in place to prevent duplication.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/github-action-opa-rego-test.md","id":"github-action-opa-rego-test"},"ghostunnel":{"title":"Ghostunnel","subtitle":"A simple TLS proxy with mutual authentication support","labels":{"layer":"network","category":"proxy"},"software":["ghostunnel"],"tutorials":["https://ghostunnel.dev/docs/security/access-flags/#open-policy-agent"],"code":["https://github.com/ghostunnel/ghostunnel"],"docs_features":{"go-integration":{"note":"Ghostunnel is written in Go and embeds OPA to evaluate Rego\\nauthorization policies, in addition to its built-in certificate-based\\naccess control checks.\\n"}},"content":"\\nGhostunnel is a simple TLS proxy with mutual authentication support for securing non-TLS backend applications. It can enforce access control using Rego policies alongside certificate field checks.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/ghostunnel.md","id":"ghostunnel"},"gatekeeper":{"title":"OPA Gatekeeper","subtitle":"Rego Policy Controller for Kubernetes","labels":{"type":"poweredbyopa","layer":"configuration"},"code":["https://github.com/open-policy-agent/gatekeeper"],"software":["kubernetes"],"tutorials":["https://open-policy-agent.github.io/gatekeeper/website/docs/howto/"],"videos":["https://youtu.be/RMiovzGGCfI?t=1049","https://youtu.be/6RNp3m_THw4?t=864"],"docs_features":{"go-integration":{"note":"OPA Gatekeeper is written in Go and uses the\\n[Rego Go API](https://www.openpolicyagent.org/docs/latest/integration/#integrating-with-the-go-api)\\nto evaluate policies loaded from Custom Resources.\\n"},"kubernetes":{"note":"OPA Gatekeeper integrates with\\n[Kubernetes Admission](https://
1open-policy-agent.github.io/gatekeeper/website/docs/customize-admission/)\\nand also uses Custom Resources and the Kubernetes API server to\\nstore policy state.\\n"}},"allow_missing_image":true,"content":"\\nManage Rego Kubernetes admission policies using Custom Resources.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/gatekeeper.md","id":"gatekeeper"},"flipt":{"title":"Flipt","subtitle":"CloudNative Feature Flag Management","labels":{"layer":"application","category":"Feature Flags"},"software":["golang","oidc"],"inventors":["flipt"],"blogs":["https://blog.flipt.io/authorization-with-open-policy-agent"],"code":["https://github.com/flipt-io/flipt"],"tutorials":["https://docs.flipt.io/v1/authorization/overview","https://docs.flipt.io/v1/guides/operation/authorization/rbac-with-keycloak","https://docs.flipt.io/v1/configuration/authorization"],"docs_features":{"go-integration":{"note":"Flipt\'s authorization feature uses the Go API to embed Open Policy Agent and evaluate authorization policies.\\n[These docs](https://docs.flipt.io/v1/authorization/overview)\\nexplain how it works.\\n"}},"content":"\\nFlipt is an open-source, Enterprise-ready, GitOps enabled, CloudNative feature management solution.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/flipt.md","id":"flipt"},"flask-opa":{"title":"Flask-OPA","labels":{"category":"flask","layer":"library"},"software":["flask"],"code":["https://github.com/EliuX/flask-opa"],"blogs":["https://github.com/EliuX/flask-opa/tree/master/examples"],"content":"\\nSimple to use Flask extension that lets you secure your projects with OPA. It allows HTTP API Authorization and Policy Enforcement Point (AOP using decorators on methods).\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/flask-opa.md","id":"flask-opa"},"fig":{"title":"fig","labels":{"category":"utilities","layer":"shell"},"code":["https://github.com/open-policy-agent/contrib/tree/main/opa_fig_autocomplete","https://github.com/withfig/autocomplete/blob/master/src/opa.ts"],"inventors":["fig"],"content":"\\nBeautiful shell autocompletion for OPA and many other commands, for Mac OS\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/fig.md","id":"fig"},"fiber":{"title":"fiber","labels":{"category":"application","layer":"library"},"software":["golang","fiber"],"code":["https://github.com/gofiber/contrib/blob/main/v3/opa/README.md"],"content":"\\nFiber is an Express inspired web framework built on top of Fasthttp, the fastest HTTP engine for Go.\\nDesigned to ease things up for fast development with zero memory allocation and performance in mind.\\nWith Open Policy Agent integration, you can run your Rego policies as part of the request lifecycle in the middleware.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/fiber.md","id":"fiber"},"fairwinds-insights":{"title":"Fairwinds Insights Configuration Validation Software","labels":{"category":"kubernetes","layer":"cicd"},"inventors":["fairwinds"],"software":["kubernetes","docker","helm"],"tutorials":["https://insights.docs.fairwinds.com/features/admission-controller/","https://insights.docs.fairwinds.com/features/insights-cli/"],"blogs":["https://www.fairwinds.com/blog/managing-opa-policies-with-fairwinds-insights","https://www.fairwinds.com/blog/manage-open-policy-agent-opa-consistently","https://www.fairwinds.com/blog/kubernetes-multi-cluster-visibility-why-how-to-get-it","https://www.fairwinds.com/blog/what-is-kubernetes-policy-as-code","https://www.fairwinds.com/blog/why-kubernetes-policy-enforcement","https://www.fairwinds.com/blog/an-interview-with-flatfile-on-why-fairwinds-insights-kubernetes-configuration-validation"],"docs_features":{"kubernetes":{"note":"Implements auditing and admission checking of Kubernetes resources\\nusing Rego policy using\\n[Polaris](https://github.com/FairwindsOps/Polaris).\\n"}},"allow_missing_image":true,"content":"\\nAutomate, monitor and enforce OPA policies with visibility across multiple clusters and multiple teams. It ensures the same policies are applied across all your cluster
1s and gives some flexibility if you want certain policies to apply to only certain workloads. Run the same policies in CI/CD, Admission Control, and In-cluster scanning to apply policy consistently throughout the development and deployment process.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/fairwinds-insights.md","id":"fairwinds-insights"},"evolith":{"title":"Evolith","subtitle":"Architecture governance as a PR gate, Rego evaluated in Wasm","labels":{"type":"poweredbyopa","category":"tooling","layer":"configuration"},"inventors":["beyondnet"],"software":["github-actions","nodejs","typescript"],"code":["https://github.com/beyondnetcode/evolith_arch32","https://www.npmjs.com/package/@beyondnet/evolith-cli"],"tutorials":["https://github.com/beyondnetcode/evolith_arch32#quick-start","https://beyondnetcode.github.io/evolith_arch32/"],"docs_features":{"wasm-integration":{"note":"Evolith compiles its rule corpus to a `policy.wasm` bundle and evaluates\\nit in Node.js through the\\n[OPA Wasm JavaScript module](https://github.com/open-policy-agent/npm-opa-wasm),\\nso its CLI, GitHub Action, MCP server and REST API all run the same policy\\nbuild. The distribution model is written up in\\n[ADR-0085](https://github.com/beyondnetcode/evolith_arch32/blob/main/reference/core/architecture/adrs/core/0085-agnostic-opa-wasm-distribution.md).\\n"}},"content":"\\nEvolith runs architecture rules \u2014 layering, dependencies, security, CI/CD, ADRs \u2014 against a repository from CI and fails the pull request. Rules are written in Rego and evaluated through OPA\'s Wasm build. A rule the engine could not evaluate is reported as a failure, never as a silent pass, so coverage and compliance stop looking identical: `skipped` is a first-class outcome, and a blocking rule that ends `skipped` fails the run.\\n\\nIt ships as a CLI (`npx -y @beyondnet/evolith-cli validate --engine opa`), a GitHub Action, an MCP server for AI coding agents and a REST API.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/evolith.md","id":"evolith"},"eopa":{"title":"EOPA","software":["enterprise-opa"],"labels":{"category":"authorization","type":"poweredbyopa"},"code":["https://github.com/open-policy-agent/eopa"],"inventors":["styra"],"blogs":["https://web.archive.org/web/https://www.styra.com/blog/introducing-styra-load-enterprise-opa-distribution-for-data-heavy-authorization/"],"videos":[{"title":"Start Loving Your Data-heavy Authorization","speakers":[{"name":"Torin Sandall","organization":"styra"},{"name":"Chris Hendrix","organization":"styra"}],"venue":"online","link":"https://www.youtube.com/watch?v=Is1iBPr1YVs"}],"content":"\\nA version of OPA designed for data heavy workloads, with data-filtering\\nfunctionality included.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/eopa.md","id":"eopa"},"envoy-authorization":{"title":"Container Network Authorization with Envoy","subtitle":"Official OPA Envoy Integration","labels":{"category":"servicemesh","layer":"network"},"software":["envoy"],"tutorials":["https://github.com/tsandall/minimal-opa-envoy-example/blob/master/README.md","https://www.openpolicyagent.org/docs/envoy"],"code":["https://github.com/open-policy-agent/opa-envoy-plugin","https://github.com/tsandall/minimal-opa-envoy-example"],"inventors":["styra"],"blogs":["https://openpolicyagent.org/blog/envoy-external-authorization-with-opa-578213ed567c"],"videos":[{"title":"OPA at Scale: How Pinterest Manages Policy Distribution","speakers":[{"name":"Will Fu","organization":"pinterest"},{"name":"Jeremy Krach","organization":"pinterest"}],"venue":"OPA Summit at Kubecon San Diego 2019","link":"https://www.youtube.com/watch?v=LhgxFICWsA8"},{"title":"Deploying Open Policy Agent at Atlassian","speakers":[{"name":"Chris Stivers","organization":"atlassian"},{"name":"Nicholas Higgins","organization":"atlassian"}],"venue":"OPA Summit at Kubecon San Diego 2019","link":"https://www.youtube.com/watch?v=nvRTO8xjmrg"},{"title":"How Yelp Moved Security From the App to the Mesh with Envoy and OPA","speakers":[{"name":"Daniel Popescu","organization":"yelp"},{"name":"Ben Plotnick","organization":"yelp"}],"venue":"Kubecon San Diego 2019","link":"https://www.youtube.com/watch?v=Z6aN3Smt-9M"}],"docs_features":{"envoy":{"note":"The\\n[opa-envoy-plugin](https://github.com/open-policy-agent/opa-envoy-plugin)\\nproject is the official integration for OPA and Envoy.\\n"},"rest-api-integration":{"note":"The [opa-envoy-plugin](https://github.com/open-policy-agent/opa-envoy-plugin)\\nproject uses the REST API to allow and deny requests routed via an Envoy proxy.\\n\\nRead about this integration in the\\n[OPA Docs](https://www.openpolicyagent.org/docs/envoy).\\n"}},"content":"\\nEnvoy is a networking abstraction for cloud-native applications. OPA hooks into Envoy\u2019s external authorization filter to provide fine-grained, context-aware authorization for network or HTTP requests.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/envoy-authorization.md","id":"envoy-authorization"}
1,"env0":{"title":"env0","labels":{"category":"Infrastructure as Code","layer":"Automation and collaboration"},"software":["terraform","pulumi","cloudformation","kubernetes","ansible","aws","gcp","azure"],"inventors":["env0"],"tutorials":["https://docs.envzero.com/guides/integrations/plugins/opa-plugin","https://docs.envzero.com/guides/policies-governance/policies"],"code":["https://github.com/env0/approval-policies"],"blogs":["https://www.env0.com/blog/opa-tutorial-leveraging-env0-for-advanced-cloud-policy-management","https://www.env0.com/blog/open-policy-agent"],"videos":[{"title":"Open Policy Agent Extensibility to use across your Infrastructure as Code","speakers":[{"name":"Anders Eknert","organization":"styra"}],"venue":"Online","link":"https://www.youtube.com/watch?v=bnsqPu9XwCE"}],"docs_features":{"terraform":{"note":"env0 is a Terraform automation platform that allows you to manage your\\ninfrastructure as code (IaC) at scale. It has a built-in integration with\\nOPA. See docs [here](https://docs.envzero.com/guides/integrations/plugins/opa-plugin).\\n"}},"content":"\\nenv0 is the best way to deploy and manage IaC - Terraform, OpenTofu, CloudFormation, Pulumi, Kubernetes, and more. The env0 platform integrates with OPA to allow its users to streamline cloud governance, automate policy enforcement, and maintain control over cloud deployments while enabling managed self-service.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/env0.md","id":"env0"},"emissary-ingress":{"title":"Emissary-Ingress","labels":{"category":"network","layer":"gateway"},"software":["emissary-ingress"],"blogs":["https://www.infracloud.io/blogs/emissary-ingress-opa-integration/"],"content":"\\nEmissary-Ingress is an open-source Kubernetes-native API Gateway, Layer 7 load balancer and Kubernetes Ingress built on Envoy Proxy.\\nOPA can be integrated with Emissary as an external authorization service to enforce authorization policies over APIs.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/emissary-ingress.md","id":"emissary-ingress"},"elasticsearch-datafiltering":{"title":"Elasticsearch Data Filtering","labels":{"layer":"data","category":"filtering"},"software":["elasticsearch"],"code":["https://github.com/open-policy-agent/contrib/tree/main/data_filter_elasticsearch"],"tutorials":["https://github.com/open-policy-agent/contrib/blob/main/data_filter_elasticsearch/README.md"],"inventors":["styra"],"content":"\\nElasticsearch is a distributed, open source search and analytics engine. This OPA integration lets an elasticsearch client construct queries so that the data returned by elasticsearch obeys OPA-defined policies.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/elasticsearch-datafiltering.md","id":"elasticsearch-datafiltering"},"easegress":{"title":"Easegress","labels":{"category":"gateway","layer":"network"},"code":["https://github.com/easegress-io/easegress"],"inventors":["megaease"],"content":"\\nEasegress is a Cloud Native API orchestration system.\\nOPA can be configured as a filter(plugin) to implement authorization policies for the APIs.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/easegress.md","id":"easegress"},"docker-machine":{"title":"Docker controls via OPA Policies","software":["docker"],"labels":{"layer":"server","category":"container"},"code":["https://github.com/open-policy-agent/opa-docker-authz"],"tutorials":["https://www.openpolicyagent.org/docs/docker-authorization"],"inventors":["styra"],"content":"\\nDocker\'s out of the box authorization model is all or nothing. This integration demonstrates how to use OPA\'s context-aware policies to exert fine-grained control over Docker.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/docker-machine.md","id":"docker-machine"},"digger":{"title":"Digger","subtitle":"GitOps for Terraform","labels":{"layer":"cicd","category":"Infrastructure as Code"},"software":["terraform"],"inventors":["diggerhq"],"code":["https://github.com/diggerhq/digger"],"tutorials":["https://docs.opentaco.dev/readme/introduction","https://docs.opentaco.dev/digger-api/rbac-via-opa-guide","https://docs.opentaco.dev/configuration/using-opa-conftest"],"content":"\\nDigger is an open-source CI/CD orchestrator for Terraform. It provides role-based access control via OPA, and also integrates Conftest to check Terraform plan output against policies.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/digger.md","id":"digger"}
1,"dependency-management-data":{"title":"dependency-management-data","subtitle":"A set of tooling to get a better understanding of the use of dependencies across your organisation.","labels":{"category":"tooling","layer":"shell"},"inventors":["jamie-tanna"],"blogs":["https://dmd.tanna.dev/cookbooks/custom-advisories-opa/"],"code":["https://gitlab.com/tanna.dev/dependency-management-data"],"tutorials":["https://dmd.tanna.dev/cookbooks/custom-advisories-opa/"],"docs_features":{"go-integration":{"note":"dependency-management-data uses the Go Rego API to make it possible to\\nwrite more complex rules around usages of Open Source and internal\\ndependencies.\\n\\nExample policies can be found [in DMD\'s example project](https://gitlab.com/tanna.dev/dependency-management-data-example/-/tree/main/policies?ref_type=heads)\\nand provide an indication of some common use-cases.\\n"}},"content":"\\ndependency-management-data is a set of tooling that makes it easier to\\nunderstand the usage of Open Source and internal dependencies in an\\norganisation, taking data from Renovate, GitHub Dependabot, or Software Bill of\\nMaterials (SBOMs) and providing an SQLite database that can be used to query it.\\n\\nAlongside this base functionality, it\'s possible to write \\"advisories\\" to flag\\nusage of certain dependencies for i.e. \\"this internal library has a security\\nvulnerability\\" or \\"this Open Source project is no longer maintained\\".\\n\\nAs a step further than this, it\'s now possible to write \\"policies\\", using Open\\nPolicy Agent to provide much more powerful control over usage of dependencies,\\nleveraging the excellent support Rego and OPA has for common operations.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/dependency-management-data.md","id":"dependency-management-data"},"dart-authorization":{"title":"HTTP API Authorization in Dart","labels":{"layer":"network","category":"application"},"software":["dart"],"tutorials":["https://github.com/adaptant-labs/opa-api-authz-dart/blob/master/README.md"],"code":["https://github.com/adaptant-labs/opa-api-authz-dart"],"inventors":["adaptant"],"content":"\\nThis integration demonstrates how to leverage OPA to perform basic HTTP API\\nauthorization in a simple Dart microservice. OPA makes it possible to provide\\nfine-grained context-aware authorization for each REST endpoint and access\\nmethod.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/dart-authorization.md","id":"dart-authorization"},"dapr":{"title":"Dapr","software":["dapr"],"labels":{"category":"application","layer":"network"},"tutorials":["https://docs.dapr.io/reference/components-reference/supported-middleware/middleware-opa/"],"code":["https://github.com/dapr/dapr","https://github.com/dapr/components-contrib/blob/main/middleware/http/opa/middleware.go"],"docs_features":{"go-integration":{"note":"Dapr\'s contrib middleware include an OPA integration built on the Go\\nAPI.\\n[This tutorial](https://docs.dapr.io/reference/components-reference/supported-middleware/middleware-opa/)\\nexplains how to configure it.\\n"}},"content":"\\nMiddleware to apply Open Policy Agent policies on incoming requests\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/dapr.md","id":"dapr"},"custom-library-microservice-authorization":{"title":"Library-based Microservice Authorization","labels":{"category":"servicemesh","layer":"library"},"videos":[{"title":"How Netflix is Solving Authorization Across Their Cloud","speakers":[{"name":"Manish Mehta","organization":"netflix"},{"name":"Torin Sandall","organization":"styra"}],"venue":"Kubecon Austin 2017","link":"https://www.youtube.com/watch?v=R6tUNpRpdnY"}],"allow_missing_image":true,"content":"\\nMicroservice authorization can be enforced through a network proxy like Envoy/Istio/Linkerd/... or can be enforced by modifying the microservice code to use a common library. In both cases OPA makes the authorization decision that the network proxy or the library enforce.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/custom-library-microservice-authorization.md","id":"custom-library-microservice-authorization"},"cosign":{"title":"Container Signing, Verification and Storage in an OCI registry","labels":{"category":"security","layer":"application"},"software":["cosign"],"inventors":["sigstore"],"code":["https://docs.sigstore.dev/cosign/verifying/attestation/","https://github.com/sigstore/cosign-gatekeeper-provider"],"videos":["https://www.youtube.com/watch?v=gCi9_4NYyR0"],"docs_features":{"go-integration":{"note":"Cosign In-Toto attestations can be\\n[written in Rego](https://docs.sigstore.dev/cosign/verifying/attestation/),\\nthese are evaluated in the Cosign binary using the Go API.\\n"}},"content":"\\nCosign is a tool for container image signing and verifying maintained under the Project Sigstore\\nin collaboration with the Linux Foundation. Among other features, Cosign supports KMS signing,\\nbuilt-in binary transparency, and timestamping service with Rekor and Kubernetes policy enforcement.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/cosign.md","id":"cosign"},"coredns-authz":{"title":"CoreDNS Authorization","labels":{"layer":"network","category":"dns"},"software":["coredns"],"code":["https://github.com/coredns/policy"],"inventors":["infoblox"],"content":"\\nCoreDNS is a cloud-native DNS server written in Go. OPA can be used as a plugin to filter queries and responses.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/coredns-authz.md","id":"coredns-authz"}
1,"conftest":{"title":"Conftest","subtitle":"Rego policy for configuration files","labels":{"type":"poweredbyopa","layer":"configuration"},"code":["https://github.com/open-policy-agent/conftest"],"software":["kustomize","terraform","aws","toml","docker"],"tutorials":["https://www.conftest.dev","https://www.conftest.dev/examples/"],"videos":[{"title":"Applying Policy Throughout the Application Lifecycle with Open Policy Agent","speakers":[{"name":"Gareth Rushgrove","organization":"snyk"}],"venue":"Kubecon San Diego 2019","link":"https://www.youtube.com/watch?v=cXfsaE6RKfc"},{"title":"Terraform Code Reviews: Supercharged with Conftest","speakers":[{"name":"Jay Wallace","organization":"doordash"}],"venue":"Hashitalks 2020","link":"https://www.youtube.com/watch?v=ziKT-ZjZ7mM"}],"docs_features":{"policy-testing":{"note":"Conftest supports unit testing of policy and has a number of extra language\\nfeatures for working with configuration files. The functionality is\\n[documented here](https://www.conftest.dev/#testingverifying-policies).\\n"},"go-integration":{"note":"Conftest is written in Go and uses the\\n[Rego Go API](https://www.openpolicyagent.org/docs/latest/integration/#integrating-with-the-go-api).\\n"},"opa-bundles":{"note":"Conftest supports the loading of policy in a bundle format. The feature\\nis [documented here](https://www.conftest.dev/sharing/).\\n"},"terraform":{"note":"Conftest has generic support for Terraform source files defined in HCL.\\nThere is an example provided here on\\n[GitHub](https://github.com/open-policy-agent/conftest/tree/master/examples/hcl2).\\n"}},"content":"\\nConftest is a utility built on top of OPA to help you write tests against structured configuration data.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/conftest.md","id":"conftest"},"conforma":{"title":"Conforma","software":["conforma"],"inventors":["conforma"],"labels":{"category":"security","layer":"application"},"code":["https://github.com/conforma/cli"],"blogs":["https://conforma.dev/posts/"],"docs_features":{"go-integration":{"note":"[Conforma](https://conforma.dev/) uses the OPA go\\nlibrary to process rego policies when validating the signatures and\\nattestations of container images and other software artifacts.\\n"}},"content":"\\nSecurely verify supply chain artifacts, and enforce policies about how they were built and tested,\\nin a manageable, scalable, and declarative way.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/conforma.md","id":"conforma"},"cloudflare-worker":{"title":"Cloudflare Worker Enforcement of OPA Policies Using Wasm","software":["cloudflare"],"labels":{"layer":"application","category":"serverless"},"code":["https://github.com/open-policy-agent/contrib/tree/main/wasm/cloudflare-worker"],"tutorials":["https://github.com/open-policy-agent/contrib/blob/main/wasm/cloudflare-worker/README.md"],"docs_features":{"wasm-integration":{"note":"This example project in\\n[OPA contrib](https://github.com/open-policy-agent/contrib/tree/main/wasm/cloudflare-worker)\\nuses the\\n[NodeJS OPA Wasm Module](https://github.com/open-policy-agent/npm-opa-wasm)\\nto enforce policy at the edge of Cloudflare\'s network.\\n"}},"content":"\\nCloudflare Workers are a serverless platform that supports Wasm.\\nThis integration uses OPA\'s Wasm compiler to generate code enforced at the edge of Cloudflare\'s network.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/cloudflare-worker.md","id":"cloudflare-worker"},"clojure":{"title":"App authorization for Clojure","for_language":"clojure","software":["clojure","java"],"labels":{"layer":"network","category":"application"},"code":["https://github.com/anderseknert/clj-opa"],"inventors":["styra"],"content":"\\nAuthorization middleware for Ring based apps and other utilities for working with OPA in Clojure.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/clojure.md","id":"clojure"},"clair-datasource":{"title":"Kubernetes Admission Control using Vulnerability Scanning","software":["kubernetes","clair"],"labels":{"layer":"orchestration","category":"containers","datasource":"clair"},"code":["https://github.com/open-policy-agent/contrib/tree/main/image_enforcer"],"tutorials":["https://github.com/open-policy-agent/contrib/blob/main/image_enforcer/README.md"],"docs_features":{"rest-api-integration":{"note":"This example project in\\n[OPA contrib](https://github.com/open-policy-agent/contrib/tree/main/image_enforcer)\\nuses OPA over the REST API to enforce admission policy based on\\nvulnerability scanning results.\\n"},"kubernetes":{"note":"This example project in\\n[OPA contrib](https://github.com/open-policy-agent/contrib/tree/main/image_enforcer)\\nuses OPA to enforce admission policy in Kubernetes.\\n"}},"content":"\\nAdmission control policies in Kubernetes can be augmented with\\nvulnerability scanning results to make more informed decisions.\\nThis integration demonstrates how to integrate CoreOS Clair with OPA and\\nrun it as an admission controller.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/clair-datasource.md","id":"clair-datasource"},"circleci":{"title":"CircleCI","labels":{"category":"tooling","layer":"cicd","type":"poweredbyopa"},"tutorials":["https://circleci.com/docs/guides/config-policies/config-policy-management-overview/"],"inventors":["cir
1cleci"],"content":"\\nUse config policy management to create organization-level policies to impose rules and scopes around which configuration elements are required, allowed, not allowed etc.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/circleci.md","id":"circleci"},"chef-automate":{"title":"Chef Automate","subtitle":"Operational Visibility Dashboard","tutorials":["https://github.com/chef/automate/tree/master/components/authz-service#authz-with-opa"],"videos":[{"title":"OPA in Practice: From Angular to OPA in Chef Automate","speakers":[{"name":"Michael Sorens","organization":"chef"}],"venue":"OPA Summit at Kubecon San Diego 2019","link":"https://www.youtube.com/watch?v=jrrW855xL3s"}],"docs_features":{"go-integration":{"note":"Chef Automate uses the Go Rego API to evaluate authorization policies\\ncontrolling access to its own API endpoints. The feature is\\n[documented here](https://github.com/chef/automate/tree/master/components/authz-service#authz-with-opa).\\n"}},"allow_missing_image":true,"content":"\\nApplication require authorization decisions made at the API gateway, frontend, backend, and database.\\nOPA helps developers decouple authorization logic from application code, define a custom authorization model\\nthat enables end-users to control tenant permissions, and enforce that policy across the different components of the\\napplication (gateway, frontend, backend, database).\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/chef-automate.md","id":"chef-automate"},"ceph":{"title":"Ceph Object Storage Authorization","software":["ceph"],"labels":{"category":"object","layer":"data"},"tutorials":["https://docs.ceph.com/en/latest/radosgw/opa/"],"inventors":["styra","redhat"],"videos":["https://www.youtube.com/watch?v=9m4FymEvOqM&feature=share"],"docs_feature":{"rest-api-integration":{"note":"The Ceph Object Gateway implements a native integration with OPA using\\nthe REST API.\\nThe [integration is documented](https://docs.ceph.com/en/latest/radosgw/opa/)\\nin the Ceph docs.\\n"}},"content":"\\nCeph is a highly scalable distributed storage solution that uniquely delivers object, block, and file storage in one unified system. OPA provides fine-grained, context-aware authorization of the information stored within Ceph.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/ceph.md","id":"ceph"},"carbonetes":{"title":"Carbonetes - BrainIAC","software":["github","brainiac"],"labels":{"layer":"Infrastructure","category":"security","type":"poweredbyopa"},"code":["https://github.com/carbonetes/brainiac"],"inventors":["carbonetes"],"content":"\\nBrainIAC uses static code analysis to analyze IAC code to detect security issues before deployment. This tool can scan for issues like security policy misconfigurations, insecure cloud-based services, and compliance issues. The BrainIAC tool performs a comprehensive code scan and generates reports containing detailed insights into the identified issues..\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/carbonetes.md","id":"carbonetes"},"bottle":{"title":"Bottle Application Authorization","labels":{"layer":"network","category":"application"},"inventors":["dolevf"],"software":["bottle"],"code":["https://github.com/dolevf/bottle-acl-openpolicyagent"],"blogs":["https://blog.lethalbit.com/open-policy-agent-for-bottle-web-framework/"],"docs_features":{"rest-api-integration":{"note":"This sample python application calls has a middleware to call OPA\\nbefore processing each request. See the\\n[example code](https://github.com/dolevf/bottle-acl-openpolicyagent/blob/00a4336/main.py#L37).\\n"}},"content":"\\nThis integration demonstrates using Open Policy Agent to perform API authorization for a Python application backed by Bottle.\\nBottle is a fast, simple and lightweight WSGI micro web-framework for Python.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/bottle.md","id":"bottle"},"boomerang-bosun":{"title":"Boomerang Bosun Policy Gating","labels":{"type":"poweredbyopa","layer":"application"},"code":["https://github.com/boomerang-io"],"inventors":["ibm","boomerang"],"docs_features":{"rest-api-integration":{"note":"The\\n[Boomerang Bosun Service](https://github.com/boomerang-io/bosun.service.policy)\\ncomponent interacts with an OPA instance over the REST API to evaluate\\npolicy during CICD runs.\\n"}},"content":"\\nBoomerang Bosun is a policy-based gating system that combines Policy Templates with Rules and data to validate Gates.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/boomerang-bosun.md","id":"boomerang-bosun"}
1,"big-acl":{"title":"Big ACL","labels":{"category":"authorization","layer":"application","type":"poweredbyopa"},"inventors":["big-acl"],"code":["https://github.com/big-acl"],"tutorials":["https://docs.big-acl.com"],"blogs":["https://big-acl.com/blog"],"content":"\\nBig ACL natively integrates with OPA through bundle distribution (tar.gz with ETag-based polling), instance status tracking, and decision log collection. It supports RBAC, ABAC, and ReBAC patterns across multiple tenants.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/big-acl.md","id":"big-acl"},"backstage":{"title":"Backstage","labels":{"category":"authorization","layer":"application"},"software":["backstage"],"inventors":["petermacdonald"],"tutorials":["https://github.com/Parsifal-M/backstage-opa-plugins/blob/main/plugins/permission-backend-module-opa-wrapper/README.md"],"code":["https://github.com/Parsifal-M/backstage-opa-plugins/tree/main/plugins/permission-backend-module-opa-wrapper"],"content":"\\nThis integration is a plugin that acts as a wrapper around the Backstage permissions system, allowing you to use OPA to enforce permissions!\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/backstage.md","id":"backstage"},"aws-cloudformation-hook":{"title":"AWS CloudFormation Hook","software":["aws","cloudformation"],"labels":{"type":"poweredbyopa"},"tutorials":["https://www.openpolicyagent.org/docs/latest/aws-cloudformation-hooks/"],"code":["https://github.com/StyraOSS/opa-aws-cloudformation-hook"],"blogs":["https://web.archive.org/web/https://www.styra.com/blog/the-opa-aws-cloudformation-hook/"],"inventors":["styra"],"docs_features":{"rest-api-integration":{"note":"The OPA CloudFormation Hook uses AWS Lambda to consult an OPA instance\\nusing the REST API before allowing a CloudFormation stack to be created.\\n\\nRead [the tutorial](https://www.openpolicyagent.org/docs/latest/aws-cloudformation-hooks/)\\nhere in the OPA documentation.\\n"}},"content":"\\nAWS CloudFormation Hook that uses OPA to make policy decisions on infrastructure provisioned via AWS CloudFormation\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/aws-cloudformation-hook.md","id":"aws-cloudformation-hook"},"aws-api-gateway":{"title":"AWS API Gateway","labels":{"category":"servicemesh","layer":"gateway"},"code":["https://github.com/zotoio/sls-lambda-opa"],"content":"\\nThe AWS API Gateway controls API traffic for your application running on AWS. OPA can be configured as an external authorizer for that Gateway to implement authorization policies on APIs.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/aws-api-gateway.md","id":"aws-api-gateway"},"awesome-opa":{"title":"Awesome OPA List","software":[],"labels":{"category":"learning","type":"poweredbyopa"},"code":["https://github.com/open-policy-agent/awesome-opa"],"docs_features":{"learning-rego":{"note":"The Awesome OPA project maintains a list of\\n[policy packages](https://github.com/open-policy-agent/awesome-opa#policy-packages),\\nand [editor integrations](https://github.com/open-policy-agent/awesome-opa#ide-and-editor-integrations)\\nwhich can be helpful references for learning Rego.\\n"}},"allow_missing_image":true,"content":"\\nA curated list of awesome OPA related tools, frameworks and articles.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/awesome-opa.md","id":"awesome-opa"},"atmos":{"title":"Atmos","software":["aws","gcp","terraform","helm"],"inventors":["cloudposse"],"labels":{"category":"Infrastructure as Code","type":"poweredbyopa"},"tutorials":["https://atmos.tools/core-concepts/validate/opa/"],"code":["https://github.com/cloudposse/atmos"],"docs_features":{"terraform":{"note":"Atmos can validate Terraform stack before applying them. This is done\\nusing the `validate component` command\\n[documented here](https://atmos.tools/cli/commands/validate/component/).\\n"}},"content":"\\nWorkflow automation tool for DevOps. Keep configuration DRY with hierarchical imports of configurations, inheritance, and WAY more.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/atmos.md","id":"atmos"},"aserto":{"title":"Aserto","labels":{"category":"authorization","layer":"application","type":"poweredbyopa"},"inventors":["aserto"],"code":["https://github.com/aserto-dev","https://github.com/opcr-io"],"tutorials":["https://docs.aserto.com/docs"],"blogs":["https://www.aserto.com/blog/how-do-aserto-rego-policies-work","https://www.aserto.com/blog/testing-rego-policies","https://www.aserto.com/blog/aserto-on-aserto-an-opa-authorization-policy-for-aserto-tenants","https://www.aserto.com/blog/rego-getting-started"],"videos":["https://www.youtube.com/watch?v=RJkgmdjJn_w"],"content":"\\nAserto is a cloud-native authorization service that makes it easy to add permissions and RBAC to your SaaS applications and APIs.\\nAserto is based on the Open Policy Agent.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/aserto.md","id":"aserto"},"apache-apisix":{"title":"Authorization Integration with Apache APISIX","software":["apache-apisix"],"labels":{"category":"gateway","layer":"network"},"code":["https://github.com/apache/apisix"],"tutorials":["https://apisix.apache.org/docs/apisix/plugins/opa/"],"videos":["https://www.youtube.com/watch?v=DWl0QEYIXaA"],"blogs":["https://apisix.apache.org/blog/2021/12/24/open-policy-agent/","https://apisix.apache.org/blog/2023/03/02/security-policy-auditable/"],"docs_features":{"rest-api-integration":{"note":"Apache APISIX routes can delegate authorization decisions to OPA through\\nthe REST API. The\\n[Apache APISIX OPA plugin documentation](https://apisix.apache.org/docs/apisix/plugins/opa/)\\ndescribes the request and decision contract, plugin configuration, and\\nexample authorization policies.\\n"}},"content":"\\nApache APISIX provides a plugin for delegating fine-grained authorization decisions to OPA.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/apache-apisix.md","id":"apache-apisix"},"antlr":{"title":"ANTLR Grammar","labels":{"category":"utilities","layer":"rego"},"code":["https://github.com/antlr/grammars-v4"],"inventors":["independent"],"content":"\\nANTLR4 grammar for Rego.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/antlr.md","id":"antlr"},"alluxio":{"title":"Alluxio","labels":{"category":"authorization","type":"poweredbyopa"}
1,"tutorials":["https://documentation.alluxio.io/ee-ai-en/administration/security/enabling-authorization#management-api-authorization-with-open-policy-agent-opa"],"inventors":["alluxio"],"content":"\\nAlluxio is an open source data orchestration technology for analytics and AI for the cloud. Alluxio can integrate with OPA and delegate all permission checks to OPA.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/alluxio.md","id":"alluxio"},"alfred":{"title":"Alfred","subtitle":"Self-hosted OPA playground","labels":{"layer":"network","category":"application"},"software":["alfred"],"inventors":["dolevf"],"code":["https://github.com/dolevf/Open-Policy-Agent-Alfred"],"docs_features":{"learning-rego":{"note":"Similar to the public [OPA Playground](https://play.openpolicyagent.org/),\\nAlfred can be used to learn Rego interactively in an environment that\\ncan\'t use the public playground. Read about\\n[installation](https://github.com/dolevf/Open-Policy-Agent-Alfred#how-to-install).\\n"}},"content":"\\nAlfred introduces a local graphical user interface to interact with Open Policy Agent and acts as an alternative to OPA\'s playground, allowing the user to keep information related to policy testing locally.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/alfred.md","id":"alfred"},"agt-policies-africa":{"title":"AGT Policies Africa","subtitle":"OPA Policy Pack for African Data Protection and AI Agent Compliance","labels":{"category":"security","type":"poweredbyopa"},"code":["https://github.com/kingztech2019/agt-policies-nigeria"],"allow_missing_image":true,"docs_features":{"policy-testing":{"note":"Each jurisdiction ships a full `opa test` suite covering all decision\\noutcomes \u2014 `deny`, `escalate`, `audit`, and `allow` \u2014 for every rule.\\nThe test suite runs in CI and currently covers 140+ cases across\\n9 African jurisdictions.\\n"},"learning-rego":{"note":"The policies demonstrate real-world compliance patterns including\\nregex-based PII detection (national IDs, BVN/NIN biometrics),\\ncross-border data transfer controls, breach-notification suppression\\nguards, sector-specific transaction-limit enforcement, and\\nmulti-rule decision aggregation \u2014 useful reference implementations\\nfor anyone writing regulatory compliance policies in Rego.\\n"}},"content":"\\nAGT Policies Africa is an OPA policy pack for AI agents operating under African\\ndata protection and financial-sector regulations. It provides ready-to-deploy\\nRego policies and YAML `PolicyDocument` definitions for 9 jurisdictions:\\n\\n- **Nigeria** \u2014 NDPA 2023, CBN NIP transaction limits, NFIU AML/CFT, BVN/NIN protection\\n- **Kenya** \u2014 Data Protection Act 2019\\n- **Ghana** \u2014 Data Protection Act 2012 (Act 843)\\n- **Rwanda** \u2014 Law No. 058/2021 on Personal Data Protection\\n- **Egypt** \u2014 Personal Data Protection Law No. 151/2020\\n- **Mauritius** \u2014 Data Protection Act 2017\\n- **South Africa** \u2014 POPIA (Protection of Personal Information Act)\\n- **Tanzania** \u2014 Personal Data Protection Act 2022\\n- **Uganda** \u2014 Data Protection and Privacy Act 2019\\n\\nPolicies enforce controls such as cross-border transfer adequacy checks,\\nspecial-category and biometric data guards, breach notification suppression\\ndetection, national ID redaction (NIN, BVN, Ghana Card, Egypt NID, Mauritius NIC),\\nand sector-specific transaction limits \u2014 all returned as structured\\n`deny / escalate / audit / allow` decisions that AI agent runtimes can act on\\ndirectly without parsing error strings.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/agt-policies-africa.md","id":"agt-policies-africa"},"agent-evidence-admission":{"title":"Agent Evidence Admission","subtitle":"Rego admission rails for agent execution evidence, measured against a conformance corpus","labels":{"type":"poweredbyopa","category":"authorization","layer":"configuration"},"software":["kubernetes"],"code":["https://github.com/astrogilda/agent-evidence-admission","https://github.com/astrogilda/agent-evidence-ve
1ctors"],"docs_features":{"kubernetes":{"note":"A Rego policy admits or refuses a Kubernetes workload on the\\nadversarial-execution-evidence in-toto predicate attached to its image,\\nand declares per obligation what the engine enforces, what it only\\napproximates, and what it cannot reach.\\n"},"policy-testing":{"note":"`rego/execution_evidence_test.rego` runs the policy over a corpus\\ngenerated from\\n[agent-evidence-vectors](https://github.com/astrogilda/agent-evidence-vectors)\\nat tag `v0.10.1`, so the policy and the specification are checked against\\nthe same bytes. CI refuses a tag that has moved off the commit it is\\npinned to, and refuses any row that declares an obligation enforced while\\nthe run shows the rail answering differently from the oracle on a vector\\nciting it.\\n"}},"allow_missing_image":true,"content":"\\nAgent Evidence Admission carries four policy engines that decide whether a Kubernetes workload may run, on the strength of an in-toto attestation describing what an automated agent did while producing it. The Rego rail is `rego/execution_evidence.rego`.\\n\\nThe point of the repository is the honesty of its coverage table rather than the policy itself. `PROFILE-REGISTRY.md` records, obligation by obligation, whether each engine enforces it, approximates it, or cannot reach it, and `scripts/profile-map-gate.py` refuses a row that claims enforcement the run does not support. A reader can rebuild every one of those claims from a fresh clone in four commands, which is the property the project is built around: an admission decision nobody can re-derive is a decision you have to take on trust.\\n","filePath":"/opt/build/repo/docs/src/data/ecosystem/entries/agent-evidence-admission.md","id":"agent-evidence-admission"}}')},80696:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/opa-aspnetcore-247cc5d32b9861cfbfe3fb30eaffae47.png"},80853:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i="data:image/png;base64,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"},80897:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/tavoai-0b18f579e04e4370b9ed4af3b933e4f8.png"},81002:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/opa-wasm-js-ac815bbeda56b190c52f6e269018a5f0.png"},81274:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/cosign-2265748287bf7735359cb145e19bf6ab.png"},81428:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/rond-df3230ff256d52d094b5ae155c3866e8.png"},82348:(v,e,t)=>{"use strict";t.d(e,{A:()=>s});t(96540);var i=t(74848);function s(v){var e=v.children;return(0,i.jsx)("div",{children:e})}},82481:v=>{"use strict";v.exports=JSON.parse('{"showInput":true,"showData":false,"showTitles":false,"command":"data.envoy.http.public.allow"}')},82549:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI3MiIgaGVpZ2h0PSI3MiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cmVjdCBmaWxsPSIjMDA1OTlDIiB4PSIwIiB5PSIwIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHJ4PSI2IiAvPgogIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDQsIDQpIj4KICAgICAgPHBhdGggZmlsbD0iI2ZmZmZmZiIgZD0iTTEgMGExIDEgMCAwIDAtMSAxdjE0YTEgMSAwIDAgMCAxIDFoNXYtMUgydi0xaDR2LTFINHYtMWgydi0xSDJ2LTFoNFY5SDRWOGgyVjdIMlY2aDRWMmgxdjRoMVY0aDF2MmgxVjJoMXY0aDFWNGgxdjJoMVYyaDF2NGgxVjFhMSAxIDAgMCAwLTEtMUgxeiIvPgogIDwvZz4KPC9zdmc+"},82622:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i="data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJMYXllcl8xIiB4bWxuczp4PSJuc19leHRlbmQ7IiB4bWxuczppPSJuc19haTsiIHhtbG5zOmdyYXBoPSJuc19ncmFwaHM7IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIgdmlld0JveD0iMCAwIDIzOC4xIDQ4IiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAyMzguMSA0ODsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgogPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KICAuc3Qwe2ZpbGwtcnVsZTpldmVub2RkO2NsaXAtcnVsZTpldmVub2RkO30KIDwvc3R5bGU+CiA8bWV0YWRhdGE+CiAgPHNmdyB4bWxucz0ibnNfc2Z3OyI+CiAgIDxzbGljZXM+CiAgIDwvc2xpY2VzPgogICA8c2xpY2VTb3VyY2VCb3VuZHMgYm90dG9tTGVmdE9yaWdpbj0idHJ1ZSIgaGVpZ2h0PSI0OCIgd2lkdGg9IjIzOC4xIiB4PSItMTE0LjMiIHk9IjAuOCI+CiAgIDwvc2xpY2VTb3VyY2VCb3VuZHM+CiAgPC9zZnc+CiA8L21ldGFkYXRhPgogPGc+CiAgPHBhdGggY2xhc3M9InN0MCIgZD0iTTYuMywyMC41aDZjNS4xLDAsNy41LDEuMyw3LjUsNWMwLDQuNi00LjUsNS4yLTcuNyw1LjJINi4zVjIwLjV6IE0wLDM2LjFoMTIuN0MxOS40LDM2LjEsMjYsMzMuNywyNiwyNgoJCWMwLTQuNS0zLjItOC03LjYtOC41di0wLjFjMy42LTEuMSw2LjEtMy43LDYuMS03LjdjMC02LjQtNS41LTguOS0xMC44LTguOUgwVjM2LjF6IE02LjMsNi4yaDUuMmM0LjcsMCw2LjgsMS41LDYuOCw0LjUKCQljMCwyLjYtMi4xLDQuNC02LjMsNC40SDYuM0w2LjMsNi4yTDYuMyw2LjJ6IE0zMC4xLDM2LjFoNlYwaC02TDMwLjEsMzYuMXogTTQwLjEsMjQuMWMwLDcuNSw1LjgsMTIuNSwxMywxMi41YzcuMiwwLDEzLTUsMTMtMTIuNQoJCWMwLTcuNS01LjgtMTIuNS0xMy0xMi41QzQ1LjgsMTEuNiw0MC4xLDE2LjYsNDAuMSwyNC4xeiBNNDYsMjQuMWMwLTMuNywyLjYtNy4yLDctNy4yYzQuNCwwLDcsMy40LDcsNy4ycy0yLjYsNy4yLTcsNy4yCgkJQzQ4LjcsMzEuMyw0NiwyNy45LDQ2LDI0LjFMNDYsMjQuMXogTTY4LjcsMjQuMWMwLDcuNSw1LjgsMTIuNSwxMywxMi41YzcuMiwwLDEzLTUsMTMtMTIuNWMwLTcuNS01LjgtMTIuNS0xMy0xMi41CgkJQzc0LjUsMTEuNiw2OC43LDE2LjYsNjguNywyNC4xeiBNNzQuNywyNC4xYzAtMy43LDIuNi03LjIsNy03LjJjNC40LDAsNywzLjQsNyw3LjJzLTIuNiw3LjItNyw3LjJTNzQuNywyNy45LDc0LjcsMjQuMUw3NC43LDI0LjF6CgkJIE05OC40LDEyLjJoNS43djMuN2gwLjFjMS0yLjIsMy4zLTQuMyw3LjMtNC4zYzMuNywwLDYuMiwxLjQsNy41LDQuNGMxLjctMyw0LjMtNC40LDcuOS00LjRjNi40LDAsOC42LDQuNSw4LjYsMTAuMnYxNC4yaC02VjIyLjUKCQljMC0zLTAuOS01LjYtNC40LTUuNmMtMy43LDAtNS4xLDMuMS01LjEsNi4ydjEyLjloLTZWMjEuOGMwLTIuOS0xLjItNC45LTQuMS00LjljLTMuOSwwLTUuNSwyLjktNS41LDYuMXYxM2gtNkw5OC40LDEyLjIKCQkgTTE0MC4yLDM2LjFoNS43di0zLjZoMC4xYzEuNywyLjksNC45LDQuMiw4LjIsNC4yYzcuNCwwLDExLjgtNS41LDExLjgtMTIuNWMwLTcuMS00LjctMTIuNS0xMS41LTEyLjVjLTQuNSwwLTYuOSwyLjEtOC4xLDMuNgoJCWgtMC4xVjBoLTZMMTQwLjIsMzYuMUwxNDAuMiwzNi4xeiBNMTYwLDI0LjFjMCwzLjctMi42LDcuMi03LDcuMmMtNC40LDAtNy0zLjQtNy03LjJjMC0zLjcsMi42LTcuMiw3LTcuMgoJCUMxNTcuNCwxNywxNjAsMjAuNCwxNjAsMjQuMXogTTE5Mi45LDI2LjJ2LTEuNmMwLTguMy00LjUtMTMtMTEuMi0xM2MtNy4yLDAtMTMsNS0xMywxMi41YzAsNy41LDUuOCwxMi41LDEzLDEyLjUKCQljMy44LDAsNy4zLTEuMywxMC4xLTQuOGwtNC4zLTMuMmMtMS41LDEuOC0zLjQsMy4yLTYuNCwzLjJjLTMuMywwLTYtMi4xLTYuNC01LjdDMTc0LjcsMjYuMiwxOTIuOSwyNi4yLDE5Mi45LDI2LjJ6IE0xNzQuNywyMS43CgkJYzAuNC0zLjQsMi42LTUuNyw2LjItNS43YzMuNywwLDYsMi4yLDYuMSw1LjdIMTc0LjdMMTc0LjcsMjEuN3ogTTE5Ni44LDEyLjJoNlYxNmgwLjFjMS4zLTIuNywzLjktNC40LDcuMS00LjQKCQljMC43LDAsMS40LDAuMiwyLjEsMC4zdjUuOGMtMS0wLjItMS45LTAuNC0yLjktMC40Yy01LjYsMC02LjQsNC43LTYuNCw2djEyLjhoLTZMMTk2LjgsMTIuMiBNMjMyLjQsMTIuMnYzLjZoLTAuMQoJCWMtMS43LTIuOS00LjktNC4yLTguMi00LjJjLTcuNCwwLTExLjgsNS4
11LTExLjgsMTIuNWMwLDYuOCw0LjcsMTIuMiwxMS45LDEyLjJjMywwLDYuMS0xLjEsNy44LTMuNWgwLjF2MS43YzAsNC43LTEuOCw4LTcuNiw4CgkJYy0zLjMsMC01LjgtMS4yLTguMi0zLjRsLTMuNiw0LjljMy40LDMsNy40LDMuOSwxMS44LDMuOWM5LjMsMCwxMy41LTUuNSwxMy41LTE0LjFWMTIuMkgyMzIuNEwyMzIuNCwxMi4yeiBNMjI1LjQsMTcKCQljNC4zLDAsNy4xLDIuOSw3LjEsN2MwLDQtMi43LDctNy4xLDdjLTQsMC03LTMuMS03LTYuOUMyMTguMywxOS44LDIyMS4yLDE3LDIyNS40LDE3eiI+CiAgPC9wYXRoPgogPC9nPgo8L3N2Zz4="},84385:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/nacp-1bbbfe4c5b291c67717edfe58a611b77.png"},84539:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i="data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJMYXllcl8xIiB4bWxuczp4PSJuc19leHRlbmQ7IiB4bWxuczppPSJuc19haTsiIHhtbG5zOmdyYXBoPSJuc19ncmFwaHM7IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIgdmlld0JveD0iMCAwIDQ3My44IDEwMCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNDczLjggMTAwOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CiA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgogIC5zdDB7ZmlsbC1ydWxlOmV2ZW5vZGQ7Y2xpcC1ydWxlOmV2ZW5vZGQ7ZmlsbDojRkZGRkZGO30KIDwvc3R5bGU+CiA8bWV0YWRhdGE+CiAgPHNmdyB4bWxucz0ibnNfc2Z3OyI+CiAgIDxzbGljZXM+CiAgIDwvc2xpY2VzPgogICA8c2xpY2VTb3VyY2VCb3VuZHMgYm90dG9tTGVmdE9yaWdpbj0idHJ1ZSIgaGVpZ2h0PSIxMDAiIHdpZHRoPSI0NzMuOCIgeD0iLTMyMiIgeT0iMC43Ij4KICAgPC9zbGljZVNvdXJjZUJvdW5kcz4KICA8L3Nmdz4KIDwvbWV0YWRhdGE+CiA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTAwIC0yNSkiPgogIDxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik01NjYsMTEyaC0xLjF2Mi43aDEuMWMxLDAsMS42LTAuNCwxLjYtMS4zQzU2Ny42LDExMi41LDU2NywxMTIsNTY2LDExMnogTTU2OC40LDExOS44bC0yLjYtMy44aC0wLjh2My43aC0xLjUKCQl2LTloMi42YzEuOCwwLDMsMC45LDMsMi42YzAsMS4zLTAuNywyLjEtMS44LDIuNWwyLjUsMy43TDU2OC40LDExOS44eiBNNTY2LjEsMTA4LjJjLTMuNywwLTYuNiwyLjYtNi42LDcuMmMwLDQuNiwyLjksNy4yLDYuNiw3LjIKCQljMy43LDAsNi42LTIuNiw2LjYtNy4yQzU3Mi43LDExMC44LDU2OS43LDEwOC4yLDU2Ni4xLDEwOC4yTDU2Ni4xLDEwOC4yeiBNNTY2LjEsMTIzLjZjLTQuNSwwLTcuNy0zLjMtNy43LTguMQoJCWMwLTQuOCwzLjItOC4yLDcuNy04LjJjNC41LDAsNy43LDMuMyw3LjcsOC4yQzU3My44LDEyMC4zLDU3MC41LDEyMy42LDU2Ni4xLDEyMy42eiBNMTY5LjIsODAuN2gtMjMuNAoJCWMxLjUtMi40LDIzLjQtMzkuMiwyMy40LTM5LjJWODAuN0wxNjkuMiw4MC43eiBNMTU5LjMsMjVMMTAwLDEyMy41aDIwLjFjMCwwLDE0LjYtMjQuNSwxNS4xLTI1LjRoMzRsMCwyNS40bDE5LjEsMFYyNUwxNTkuMywyNQoJCUwxNTkuMywyNXogTTIwMiwyNXY5OC42aDE4LjZWMjVMMjAyLDI1eiBNMjM0LjEsMjVoMTguNnY5OC42aC0xOC42VjI1eiBNMjkzLjUsNzdjLTEwLjEtMi43LTEyLjItNC4zLTEyLTguNgoJCWMwLjItMy45LDMuMy02LjIsOC41LTYuMmM2LjQsMCwxNC4zLDIuMywyMSw2LjNsMS4xLDAuNmwyLjYtMTYuNGwtMC42LTAuM2MtNi45LTMuMy0xNS4yLTUtMjQtNWMtOC41LDAtMTUuNywyLjctMjAuNCw3LjYKCQljLTMuNywzLjktNS42LDktNS41LDE0LjZjMC4zLDE1LjIsNy4zLDE5LjUsMjMuOSwyMy45YzExLDIuOCwxMy4yLDQuNSwxMy4xLDkuOWMtMC4xLDQuOS0yLjksNi43LTEwLjMsNi43Yy03LjgsMC0xNi42LTMtMjQuMi04LjEKCQlsLTEuMS0wLjhsLTIuNiwxNi41bDAuNiwwLjNjNS45LDMuNCwxNi4xLDYuOSwyNi44LDYuOWMxMC40LDAsMTgtMi41LDIyLjgtNy41YzMuNy0zLjksNS41LTkuMSw1LjQtMTUuNwoJCUMzMTguMyw4NS40LDMxMC40LDgxLjUsMjkzLjUsNzcgTTM2My43LDEwNi45bC0xLDAuM2MtMS4zLDAuNC0yLjksMC41LTUuMSwwLjVjLTUuNSwwLTguMS0yLjYtOC4xLTguMVY2NC43aDEzLjZsMC4zLTE2aC0xMy45VjI1CgkJaC0xOC4zdjIzLjdoLTkuNXYxNmg5LjV2MzcuOGMwLDE1LDcuNiwyMi4zLDIzLjEsMjIuM2M1LDAsOC4xLTAuNiwxMC44LTEuMmwwLjgtMC4yTDM2My43LDEwNi45IE0zOTYuOCwxMTAKCQljLTQuNiwwLTcuNC0yLjktNy40LTcuNmMwLTguMyw3LjctMTMuNywyMi40LTE1Ljd2MTYuMkM0MDcuMiwxMDcuNSw0MDIuMSwxMTAsMzk2LjgsMTEweiBNNDAzLjIsNDcuMmMtMTEuNiwwLTIwLjMsMi45LTI3LjIsNS43CgkJbC0wLjcsMC4zbDIuNCwxNS44bDEtMC41YzguMy0zLjgsMTUuNC01LjYsMjIuMi01LjZjNy4zLDAsMTAuOCwzLjEsMTAuOCw5Ljl2MS45Yy0yNy40LDIuOS00MC44LDEyLjYtNDAuOCwyOS42CgkJYzAsMTIuNiw3LjksMjAuNywyMC4xLDIwLjdjOC40LDAsMTUuNS0zLjIsMjEuOS05LjdjMC40LDIuMiwxLjMsOC4yLDEuMyw4LjJoMTYuMVY3Mi4zQzQzMC4zLDU1LjIsNDIxLjcsNDcuMiw0MDMuMiw0Ny4yCgkJTDQwMy4yLDQ3LjJ6IE00NzgsMTA2LjlsLTAuOSwwLjNjLTEuMywwLjQtMi45LDAuNS01LjEsMC41Yy01LjUsMC04LjEtMi42LTguMS04LjFWNjQuN2gxMy43bDAuMy0xNmgtMTMuOVYyNWgtMTguM3YyMy43SDQzNnYxNgoJCWg5LjV2MzcuOGMwLDE1LDcuNiwyMi4zLDIzLjIsMjIuM2M1LDAsOC4yLTAuNiwxMC44LTEuMmwwLjgtMC4yTDQ3OCwxMDYuOXogTTUwMS45LDc3LjljMC44LTEwLjcsNS40LTE2LjksMTIuNS0xNi45CgkJYzkuNiwwLDEyLjIsOSwxMi41LDE2LjlINTAxLjl6IE01NDEuNywxMDEuMmMtOC4zLDYtMTUuMSw4LjUtMjIuOCw4LjVjLTEwLDAtMTYuMi03LTE3LjItMTkuMUg1NDVsMC4yLTUuMQoJCWMwLTI1LjQtMTAuMi0zOC4zLTMwLjMtMzguM2MtOC44LDAtMTYuMSwyLjgtMjEuNiw4LjVjLTYuNiw2LjgtMTAuMiwxNy41LTEwLjIsMzAuN2MwLDIzLjksMTMsMzguNywzNCwzOC43CgkJYzEwLjIsMCwxOS41LTIuOSwyNy42LTguN2wwLjUtMC4zbC0yLjMtMTUuNkw1NDEuNywxMDEuMnoiPgogIDwvcGF0aD4KIDwvZz4KPC9zdmc+"},84587:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/jenkins-job-authorization-c709e5938af6b575fc8853d16f00e42c.png"},85042:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAANwAAABQCAYAAAByKBsiAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i
177u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNS4xIE1hY2ludG9zaCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoyMzA4MzU0MkU3MUYxMUUxQkJEQkNFMjQzMjY0QjRDNCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoxNDk4QTk5MEU3MjYxMUUxQkJEQkNFMjQzMjY0QjRDNCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjIzMDgzNTQwRTcxRjExRTFCQkRCQ0UyNDMyNjRCNEM0IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjIzMDgzNTQxRTcxRjExRTFCQkRCQ0UyNDMyNjRCNEM0Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+jULLTQAADvFJREFUeNrsXXtwVNUZ/+69uxswJNlYRUAd1qpVxwdJeYyKjhuQhwYhUamPVEmwoyNMx2Q6av9qSKd/OM6UwLTTGWZsE53RMi02iahlkJClQFEeZkEeVSgsKKDhkc37sdl7e87du+mS3Lv3de5mN3y/mW8Cu+ee73z3nN/5znd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"},85092:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});
1const i=t.p+"assets/images/waltid-d4ffe0c9a4b5ad7d6e682403c096ac78.png"},85735:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/carbonetes-5bad17a76942af8eb81ee4c76e400c82.png"},86535:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/traefik-api-gateway-c6bcf039b3bc5a56e31880c433bdc36d.png"},86561:v=>{"use strict";v.exports=JSON.parse('{"showInput":true,"showData":false,"showTitles":false,"command":"data.application.authz"}')},86731:v=>{"use strict";v.exports=JSON.parse('["Tool Bash is not allowed","WebFetch can only load from HTTPS URLs"]')},87502:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/opa-dotnet-af6e6a1b7ad8672fab95a8bfb8b9a869.png"},88006:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgaWQ9IkxheWVyXzEiCiAgIHZpZXdCb3g9IjAgMCAxMDAgNDkuOTk5OTk5IgogICB3aWR0aD0iMTAwIgogICBoZWlnaHQ9IjUwIgogICB2ZXJzaW9uPSIxLjEiCiAgIHNvZGlwb2RpOmRvY25hbWU9InphbGFuZG8tbG9nby5zdmciCiAgIGlua3NjYXBlOnZlcnNpb249IjEuMi4yIChiMGE4NDg2LCAyMDIyLTEyLTAxKSIKICAgeG1sbnM6aW5rc2NhcGU9Imh0dHA6Ly93d3cuaW5rc2NhcGUub3JnL25hbWVzcGFjZXMvaW5rc2NhcGUiCiAgIHhtbG5zOnNvZGlwb2RpPSJodHRwOi8vc29kaXBvZGkuc291cmNlZm9yZ2UubmV0L0RURC9zb2RpcG9kaS0wLmR0ZCIKICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogICB4bWxuczpzdmc9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOmNjPSJodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9ucyMiCiAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyI+CiAgPGRlZnMKICAgICBpZD0iZGVmczI0OCIgLz4KICA8c29kaXBvZGk6bmFtZWR2aWV3CiAgICAgaWQ9Im5hbWVkdmlldzI0NiIKICAgICBwYWdlY29sb3I9IiNmZmZmZmYiCiAgICAgYm9yZGVyY29sb3I9IiMwMDAwMDAiCiAgICAgYm9yZGVyb3BhY2l0eT0iMC4yNSIKICAgICBpbmtzY2FwZTpzaG93cGFnZXNoYWRvdz0iMiIKICAgICBpbmtzY2FwZTpwYWdlb3BhY2l0eT0iMC4wIgogICAgIGlua3NjYXBlOnBhZ2VjaGVja2VyYm9hcmQ9IjAiCiAgICAgaW5rc2NhcGU6ZGVza2NvbG9yPSIjZDFkMWQxIgogICAgIHNob3dncmlkPSJmYWxzZSIKICAgICBpbmtzY2FwZTp6b29tPSIxMi41OCIKICAgICBpbmtzY2FwZTpjeD0iNTAiCiAgICAgaW5rc2NhcGU6Y3k9IjEwLjEzNTEzNSIKICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjE4MjEiCiAgICAgaW5rc2NhcGU6d2luZG93LWhlaWdodD0iMTIwNSIKICAgICBpbmtzY2FwZTp3aW5kb3cteD0iMCIKICAgICBpbmtzY2FwZTp3aW5kb3cteT0iMjUiCiAgICAgaW5rc2NhcGU6d2luZG93LW1heGltaXplZD0iMCIKICAgICBpbmtzY2FwZTpjdXJyZW50LWxheWVyPSJMYXllcl8xIiAvPgogIDxzdHlsZQogICAgIGlkPSJzdHlsZTIzNyI+LnN0MHtmaWxsOiNmZjY5MDB9PC9zdHlsZT4KICA8dGl0bGUKICAgICBpZD0idGl0bGUyMzkiPlNjaG9lbmVuIGVuIEZhc2hpb24gb25saW5lIOKAkyB6YWxhbmRvLm5sPC90aXRsZT4KICA8cGF0aAogICAgIGQ9Im0gMzMuMzc3NTI3LDMwLjgwMjAyOSBoIC04LjYwNDg5IGMgLTAuMjg5NTgyLDAgLTAuNTA0NzMzLC0wLjIyMzI5MiAtMC41MDQ3MzMsLTAuNTIxMDE1IHYgLTEuMDc1NzU2IGMgLTAuMDA4MSwtMC4yNjUxNiAwLjA3NDQzLC0wLjM4MDI5NSAwLjIzOTU3NCwtMC41ODczMDUgbCA2Ljg1MTExNSwtOC4xNTAxNjQgaCAtNi43MTAzOTQgYyAtMC4yODk1ODIsMCAtMC41MDQ3MzQsLTAuMjIzMjkyIC0wLjUwNDczNCwtMC41MjEwMTUgdiAtMC43NjE3NTIgYyAwLC0wLjI4OTU4MiAwLjIxNTE1MiwtMC41MjEwMTUgMC41MDQ3MzQsLTAuNTIxMDE1IGggOC42ODc0NiBjIDAuMjg5NTgyLDAgMC41MDQ3MzQsMC4yMjMyOTIgMC41MDQ3MzQsMC41MjEwMTUgdiAxLjEwMDE3OSBjIDAsMC4xOTg4NyAtMC4wNjYyOSwwLjM2NDAxMyAtMC4yMTUxNTIsMC41NDY2MDEgbCAtNi44NTkyNTYsOC4xNzQ1ODYgaCA2LjYxOTY4MiBjIDAuMjg5NTgyLDAgMC41MDQ3MzQsMC4yMjMyOTIgMC41MDQ3MzQsMC41MjEwMTUgdiAwLjc2MTc1MiBjIC0wLjAwODEsMC4yODk1ODIgLTAuMjIzMjkyLDAuNTEyODc0IC0wLjUxMjg3NCwwLjUxMjg3NCB6IG0gMTYuOTUzOTIyLDAuMjIzMjkzIGMgMC42MjEwMzIsLTAuMDA4MSAxLjA3NTc1NywtMC4xNDA3MjEgMS4yNDkwNDEsLTAuMzM5NTkxIDAuMDU4MTUsLTAuMDc0NDMgMC4wOTA3MSwtMC4xNTcwMDIgMC4wODI1NywtMC4yMzk1NzQgLTAuMDA4MSwtMC4wNjYyOSAtMC4wMDgxLC0wLjA2NjI5IC0wLjE3MzI4NCwtMC44NzY4ODYgbCAtMC4wMDgxLC0wLjAxNjI4IGMgLTAuMDMyNTYsLTAuMjE1MTUxIC0wLjE4MjU4OCwtMC4zMDU4NjQgLTAuMzA1ODY0LC0wLjMwNTg2NCBoIC0wLjAxNjI4IGMgMCwwIC0wLjE1NzAwMiwtMC4wMDgxIC0wLjMwNTg2NCwtMC4wMDgxIC0wLjQzODQ0MywtMC4wMTYyOCAtMC44MDI0NTYsLTAuMDgyNTcgLTAuODEwNTk3LC0wLjczNjE2NiBWIDE0LjcwODcxMiBjIDAsLTAuMjMxNDMzIC0wLjEzMjU3OSwtMC40NjI4NjYgLTAuMzk2NTc2LC0wLjQ3MjE3IGggLTAuMDc0NDMgbCAtMS4yMDAxOTUsMC4zMTQwMDUgYyAtMC4yMDcwMSwwLjAyNDQyIC0wLjQxNDAyMSwwLjE3MzI4NCAtMC40MDU4OCwwLjQ0NjU4NCB2IDEzLjUzNTkyNCBjIDAuMDA3LDEuNjA3MjM5IDAuODQzMTYsMi40OTIyNjcgMi4z
1NjU1MDEsMi40OTIyNjcgeiBtIDI0LjI5MjMyNywtMC4yMjMyOTMgaCAtMS4wNzU3NTcgYyAtMC4yODk1ODIsMCAtMC41MDQ3MzMsLTAuMjIzMjkyIC0wLjUwNDczMywtMC41MjEwMTUgViAyMS45OTAxMyBjIC0wLjAxNjI4LC0xLjQwNjA0MyAtMC40MzAzMDIsLTEuNzk1NjQxIC0xLjkwMjYzNSwtMS44MTE5MjMgLTEuNjYzMDYyLDAgLTMuMzUwNTQ2LDAuNDMwMzAzIC0zLjkxMzQyOCwwLjU4NzMwNSB2IDkuNTIzNjQzIGMgMCwwLjI5NzcyMyAtMC4xOTg4NywwLjUyMTAxNSAtMC40ODAzMTEsMC41MjEwMTUgaCAtMS4wOTIwMzggYyAtMC4yODk1ODIsMCAtMC41MDQ3MzMsLTAuMjIzMjkyIC0wLjUwNDczMywtMC41MjEwMTUgdiAtOS4zMDg0OTIgYyAtMC4wMTYyOCwtMC44NjA2MDUgMC4wNjYyOSwtMS40NTYwNTEgMS4yNTcxODEsLTEuODUzNzkgMS4xNDIwNDcsLTAuNDA1ODggMy4zMzQyNjQsLTAuNzQ0MzA3IDQuNzgyMTc0LC0wLjc0NDMwNyAyLjc1NTEsMCAzLjkzOTAxMywxLjAyNTc0OCAzLjkzOTAxMywzLjQwODY5NCB2IDguNDk3ODk1IGMgLTAuMDA4MSwwLjI4OTU4MiAtMC4yMjMyOTIsMC41MTI4NzQgLTAuNTA0NzMzLDAuNTEyODc0IHogTSA4NS4zODgzMTksMjAuNTE3Nzk3IGMgLTAuMzk2NTc2LC0wLjEwNjk5NCAtMS41MTQyLC0wLjM2NDAxMyAtMi43NzEzODEsLTAuMzY0MDEzIC0yLjMwODUxNiwwLjAyNDQyIC0zLjI3NjExNSwwLjY2MTczNiAtMy4zMDE3MDEsNC42MDA3NDkgMC4wMjQ0Miw0LjMxOTMwOCAxLjI4Mjc2Nyw0LjU1MDc0MSAzLjMyNjEyMyw0LjU3NTE2NCB2IDAuMDkwNzEgLTAuMDk4ODUgYyAxLjI3NDYyNiwwIDIuMzY2NjY1LC0wLjI3MzMwMSAyLjc1NTEsLTAuMzgwMjk1IHYgLTguNDIzNDY1IHogbSAwLjU3MTAyMywxMC4xMjcyMyAtMC4xMjQ0MzksMC4wMzI1NiBjIC0wLjY3ODAxNywwLjE3MzI4NSAtMS42MTMwNTMsMC40MjIxNjIgLTMuMjUxNjkyLDAuNDIyMTYyIGggLTAuMDA4MSBjIC00LjUwODg3MywtMC4wMDgxIC01LjQwMzIwNSwtMi4zNDEwNzkgLTUuNDAzMjA1LC02LjM3MDgwNCAwLjAwODEsLTQuNjE3MDMxIDEuNDMxNjI5LC02LjMzODI0MSA1LjI3MDYyNiwtNi4zNDYzODIgMS4zNTcxOTcsMCAyLjI4NDA5MiwwLjE4MjU4OCAyLjk1Mzk2OSwwLjM0NzczMSBsIC0wLjAwODEsLTMuNzIzODYyIGMgLTAuMDA4MSwtMC4xNjUxNDMgMC4wNjYyOSwtMC4zODAyOTUgMC40NDY1ODQsLTAuNDQ2NTg1IGwgMS4yMDAxOTYsLTAuMzE0MDA0IGggMC4wNjYyOSBjIDAuMjczMywwLjAwODEgMC4zNzIxNTMsMC4yNTcwMTggMC4zNzIxNTMsMC40NzIxNyB2IDEzLjk4MzY3NCBjIDAuMDE2MjgsMC44NzU3MjQgLTAuMDgyNTcsMS42MjgxNzIgLTEuNTE0MiwxLjk0MzM0IHogbSA4Ljc0NTYxLC0xLjM0OTA1NyBjIC0yLjk1Mzk2OSwtMC4wMTYyOCAtMy4xMDI4MzEsLTEuNTcyMzQ5IC0zLjEyNzI1MywtNC41NTA3NDEgMC4wMjQ0MiwtMi45OTQ2NzMgMC4xNjUxNDMsLTQuNTU4ODgxIDMuMTI3MjUzLC00LjU3NTE2MyAyLjk1Mzk2OSwwLjAxNjI4IDMuMTEwOTcyLDEuNTgwNDkgMy4xMjcyNTMsNC41NzUxNjMgLTAuMDI0NDIsMi45NzgzOTIgLTAuMTczMjg0LDQuNTQyNiAtMy4xMjcyNTMsNC41NTA3NDEgeiBtIDAsLTEwLjkyMTU0NSBjIC00Ljg3Mjg4NiwwLjAwODEgLTUuMjg2OTA3LDMuMjkzNTU5IC01LjI5NTA0OCw2LjM3MDgwNCAwLDMuMDY5MTA1IDAuNDE0MDIxLDYuMzM4MjQyIDUuMjk1MDQ4LDYuMzQ2MzgyIDQuODcyODg2LC0wLjAwODEgNS4yODY5MDcsLTMuMjY3OTczIDUuMjk1MDQ4LC02LjM0NjM4MiAtMC4wMDgxLC0zLjIxNzk2NSAtMC40MjA5OTksLTYuMzYyNjYzIC01LjI5NTA0OCwtNi4zNzA4MDQgeiBtIC0zMy43OTk2ODgsNi40MzcwOTQgYyAtMC40ODg0NTIsMC4wMDgxIC0yLjg1NTExNiwwLjA0MTg3IC0zLjc5ODI5MywwLjI0NzcxNSBsIC0wLjA3NDQzLDAuMDE2MjggYyAtMS4wNTk0NzUsMC4yMzk1NzQgLTEuODk0NDk0LDAuNDM4NDQzIC0xLjkxMDc3NiwyLjA0MzM1NiAwLDIuMDI3MDc0IDEuNTE0MiwyLjIwOTY2MiAzLjA2MDk2MywyLjIxNzgwMyB2IDAuMDkwNzEgLTAuMDkwNzEgYyAwLjk2NzYsMCAxLjg4NjM1NCwtMC4xNDA3MjEgMi43MjI1MzcsLTAuNDIyMTYyIHogbSAyLjA5MzM2NCwtMi45NTM5NjkgdiA2LjQzNzA5NCBjIDAuMDI0NDIsMS41OTY3NzIgLTAuMzgwMjk1LDIuMTA5NjQ2IC0xLjk1MjY0NCwyLjQ4MTggLTAuNjg3MzIxLDAuMTQ4ODYxIC0xLjc0NTYzMywwLjMxNDAwNCAtMi44ODc2NzksMC4zMjIxNDUgLTEuNjc5MzQzLC0wLjAwODEgLTUuMTc5OTEzLC0wLjAwODEgLTUuMTg4MDU0LC0zLjg4MDg2NCAtMC4wMDgxLC0zLjA0NDY4MiAxLjc3MTIxOSwtMy41ODMxNDIgMy45Mjk3MDksLTMuOTEzNDI4IDEuNDE1MzQ3LC0wLjIzMTQzMyAyLjg1NTExNiwtMC4yNjUxNTkgMy41ODMxNDIsLTAuMjY1MTU5IGggMC4zOTc3MzkgdiAtMS4xMDAxNzkgYyAtMC4wMDgxLC0wLjcyODAyNiAtMC4wMDgxLC0xLjE2NjQ2OSAtMC42Njk4NzYsLTEuNDIzNDg4IC0wLjQwNTg4LC0wLjE3MzI4NCAtMS4wMTc2MDgsLTAuMjU3MDE5IC0xLjkyMDA4LC0wLjI1NzAxOSAtMS40ODk3NzgsMCAtMi44Mjk1MzEsMC4zMzk1OTEgLTMuNzE0NTU5LDAuNTcxMDI0IGwgLTAuMzM5NTksMC4wODI1NyBjIC0wLjAzMjU2LDAuMDA4MSAtMC4wNzQ0MywwLjAxNjI4IC0wLjEyNDQzOSwwLjAyNDQyIC0wLjE1NzAwMiwwIC0wLjMzMTQ0OSwtMC4wOTg4NSAtMC4zODg0MzUsLTAuMzA1ODY0IGwgLTAuMDA4MSwtMC4wMTYyOCAtMC4xOTg4NjksLTEuMDMzODg5IHYgLTAuMDU4MTUgYyAwLC0wLjIzOTU3NCAwLjE3MzI4NCwtMC4zODg0MzYgMC4zMzk1OSwtMC40Mzg0NDQgMC43MTE3NDQsLTAuMjczMyAyLjU5ODA5NywtMC43MDM2MDMgNC42MzMzMTIsLTAuNzAzNjAzIDEuNDgxNjM3LDAgMi41NTYyMywwLjE5ODg3IDMuMjc2MTE1LDAuNjAzNTg3IDEuMjQwOSwwLjY2NTIyNSAxLjIzMjc1OSwxLjg4OTg0MyAxLjIzMjc1OSwyLjg3MzcyNCB6IG0gLTE5LjU5MjcyNSw3LjA2NjI2NyBjIC0wLjgzNjE4MiwwLjI4MTQ0MSAtMS43NTM3NzQsMC40MjIxNjEgLTIuNzIyNTM2LDAuNDIyMTYxIHYgMC4wOTA3MSAtMC4wOTA3MSBjIC0xLjU0Njc2MywtMC4wMTYyOCAtMy4wNjA5NjMsLTAuMTkwNzI4IC0zLjA2MDk2MywtMi4yMTc4MDMgMC4wMDgxLC0xLjYxMzA1MyAwLjg0NDMyMywtMS44MDM3ODIgMS45MTA3NzYsLTIuMDQzMzU1IGwgMC4wNzQ0MywtMC4wMTYyOCBjIDAuOTQzMTc2LC0wLjIwNzAxMSAzLjMwOTg0MSwtMC4yNDc3MTUgMy43OTgyOTIsLTAuMjQ3NzE1IHYgNC4xMDI5OTQgeiBtIDAuODYwNjA2LC05LjkzNzY2NSBjIC0wLjcxOTg4NSwtMC40MDU4OCAtMS43OTU2NDIsLTAuNjAzNTg2IC0zLjI3NjExNSwtMC42MDM1ODYgLTIuMDM1MjE1LDAgLTMuOTEzNDI4LDAuNDMwMzAyIC00LjYzMzMxMywwLjcwMzYwMyAtMC4xNTcwMDIsMC4wNTAwMSAtMC4zMzE0NDksMC4xOTg4NjkgLTAuMzM5NTksMC40Mzg0NDMgdiAwLjA1MDAxIGwgMC4xOTc3MDcsMS4wMzM4ODkgMC4wMDgxLDAuMDI0NDIgYyAwLjA2NjI5LDAuMjA3MDExIDAuMjMxNDMzLDAuMzA1ODY0IDAuMzg4NDM1LDAuMzA1ODY0IDAuMDUwMDEsMCAwLjA5MDcxLC0wLjAwODEgMC4xMjQ0MzksLTAuMDI0NDIgbCAwLjMzOTU5LC0wLjA4MjU3IGMgMC44ODUwMjgsLTAuMjIzMjkyIDIuMjI1OTQ0LC0wLjU3MTAyMyAzLjcxNDU1OCwtMC41NzEwMjMgMC45MDEzMSwwIDEuNTE0MiwwLjA4MjU3IDEuOTI4MjIxLDAuMjU3MDE4IDAuNjYxNzM2LDAuMjU3MDE5IDAuNjYxNzM2LDAuNjk1NDYzIDAuNjY5ODc3LDEuNDIzNDg4IHYgMS4wODM4OTggaCAtMC40MDU4OCBjIC0wLjcyODAyNiwwIC0yLjE2Nzc5NSwwLjAzMjU2IC0zLjU4MzE0MiwwLjI2NTE1OSAtMi4xNTk2NTQsMC4zMzk1OTEgLTMuOTQ3MTU0LDAuODY4NzQ2IC0zLjkyOTcwOSwzLjkyMTU2OSAwLDMuODcyNzI0IDMuNDk5NDA3LDMuODgwODY0IDUuMTg4MDUzLDMuODgwODY0IDEuMTQyMDQ3LDAgMi4xOTIyMTgsLTAuMTczMjg0IDIuODg3NjgsLTAuMzIyMTQ1IDEuNTcyMzQ5LC0wLjM3MjE1NCAxLjk2ODkyNSwtMC44ODUwMjggMS45NTI2NDMsLTIuNDgxNzk5IHYgLTYuNDMxMjggYyAtMC4wMDcsLTAuOTgzODgxIC0wLjAwNywtMi4yMDg0OTkgLTEuMjMxNTk1LC0yLjg3MTM5OCB6IgogICAgIGlkPSJwYXRoMjQxIgogICAgIHN0eWxlPSJzdHJva2Utd2lkdGg6MC4wMTE2Mjk4IiAvPgogIDxwYXRoCiAgICAgY2xhc3M9InN0MCIKICAgICBkPSJtIDE4LjIwMjk2MywyMS45NDAxMjIgYyAtMS40MTUzNDYsLTEuNzc5MzYgLTMuMzg0MjcyLC0zLjQ5OTQwNyAtNS45NzQyMjgsLTUuMDU1NDc0IGwgLTAuMDA4MSwtMC4wMDgxIEMgOS42MjI0OTY3LDE1LjM1NDE2NiA3LjE3MzI2MDgsMTQuNDY5MTM4IDQuOTY0NzYxNywxNC4xMDUxMjUgMy41OTEyODIzLDEzLjg3MzY5MiAyLjkyOTU0NjcsMTQuMTM3Njg5IDIuNjMxODIzOCwxNC4zMjAyNzcgMi4zMzQxMDA5LDE0LjQ5MzU2IDEuNzc5MzU5NCwxNC45NDk0NDkgMS4yODI3NjcsMTYuMjgxMDYxIDAuNDg4NDUxNjEsMTguNDI0NDMzIDAuMDI0NDIyNTgsMjEuMDM4ODEyIDAsMjQuMTA3OTE2IHYgMC4wMDgxIGMgMC4wMTYyODE3MiwzLjA2OTEwNCAwLjQ4ODQ1MTYxLDUuNjkyNzg3IDEuMjgyNzY3LDcuODM0OTk3IDAuNDk2NTkyNCwxLjM0MDkxNiAxLjA1MTMzMzksMS43ODc1IDEuMzQ5MDU2OCwxLjk2ODkyNSA
1wLjI5NzcyMjksMC4xNzMyODQgMC45NTk0NTg1LDAuNDQ2NTg0IDIuMzMyOTM3OSwwLjIxNTE1MSAyLjIwOTY2MiwtMC4zNjQwMTMgNC42NDk1OTQxLC0xLjI1NzE4MSA3LjI1NTgzMjMsLTIuNzc5NTIyIGwgMC4wMDgxLC0wLjAwODEgYyAyLjU4OTk1NiwtMS41NTYwNjcgNC41NTg4ODIsLTMuMjc2MTE1IDUuOTc0MjI4LC01LjA1NTQ3NCAwLjg3Njg4NywtMS4xMDgzMiAwLjk4NTA0NCwtMS44MjgyMDUgMC45ODUwNDQsLTIuMTc1OTM2IDAsLTAuMzQ3NzMxIC0wLjEwMDAxNiwtMS4wNjY0NTMgLTAuOTg1MDQ0LC0yLjE3NTkzNSIKICAgICBpZD0icGF0aDI0MyIKICAgICBzdHlsZT0ic3Ryb2tlLXdpZHRoOjAuMDExNjI5OCIgLz4KICA8bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGEyNTAiPgogICAgPHJkZjpSREY+CiAgICAgIDxjYzpXb3JrCiAgICAgICAgIHJkZjphYm91dD0iIj4KICAgICAgICA8ZGM6dGl0bGU+U2Nob2VuZW4gZW4gRmFzaGlvbiBvbmxpbmUg4oCTIHphbGFuZG8ubmw8L2RjOnRpdGxlPgogICAgICA8L2NjOldvcms+CiAgICA8L3JkZjpSREY+CiAgPC9tZXRhZGF0YT4KPC9zdmc+Cg=="},88238:(v,e,t)=>{"use strict";t.d(e,{A:()=>g});var i=t(28774),s=t(28453),a=t(26362),M=t(18973),n=(t(96540),t(72378)),o=t(82348),r=t(6903),c=t(74848);function g(v){var e,t,g,u,A,L,j,N,I,y=v.dir,l=v.files,d=y.keys().reduce((function(v,e){var t=e.replace("./","");return t.includes(".")?(t.endsWith(".json")?v[t]=y(e):v[t]=y(e).default,v):v}),{}),D=d["config.json"],w=d["input.json"]||{},p=d["data.json"]||{},T=d["policy.rego"],C=d["title.txt"],z=d["intro.md"],m=d["outro.md"],h=d["output.json"],x=null!=(e=null==D?void 0:D.showInput)?e:0!=Object.keys(w).length,b=null!=(t=null==D?void 0:D.showData)?t:0!=Object.keys(p).length,S=null==(g=null==D?void 0:D.showTitles)||g,O=null==(u=null==D?void 0:D.showPlayground)||u,E=null!=(A=null==D?void 0:D.command)?A:"data.play",f=null!=(L=null==D?void 0:D.titleSize)?L:2,k=null==(j=null==D?void 0:D.showInitialOutput)||j,Y=(N=JSON.stringify({i:JSON.stringify(w,null,2),d:JSON.stringify(p,null,2),p:T}),I=(new TextEncoder).encode(N),btoa(String.fromCharCode.apply(null,I))),Q="https://play.openpolicyagent.org/?state="+Y,U=h&&k?JSON.stringify(h,null,2):null,P=JSON.stringify(p,null,2),G=z?z():"",B=m?m():"",Z=function(v){for(var e=5381,t=0;t<v.length;t++)e=33*e^v.charCodeAt(t);return(e>>>0).toString(36).slice(0,6)}(Y),R=l?l+" #"+Z+"-input.json:input.json #"+Z+"-data.json:data.json":"#"+Z+"-input.json:input.json #"+Z+"-data.json:data.json",W=C&&function(v,e){return[(0,c.jsx)("h1",{children:e}),(0,c.jsx)("h2",{children:e}),(0,c.jsx)("h3",{children:e}),(0,c.jsx)("h4",{children:e}),(0,c.jsx)("h5",{children:e}),(0,c.jsx)("h6",{children:e})][Math.min(5,Math.max(0,v-1))]}(f,C),J=(0,c.jsxs)("div",{children:[z&&G,x&&(0,c.jsxs)(r.A,{children:[(0,c.jsx)(o.A,{children:(0,c.jsxs)(s.x,{components:M,children:[(0,c.jsx)(a.A,{language:"rego",title:"policy.rego",children:T}),(0,c.jsx)(n.A,{command:E,id:Z+"-policy.rego",files:R,output:U})]})}),(0,c.jsxs)(o.A,{children:[(0,c.jsxs)(s.x,{components:M,children:[(0,c.jsx)(a.A,{language:"json",title:"input.json",children:JSON.stringify(w,null,2)}),(0,c.jsx)(n.A,{id:Z+"-input.json"})]}),b&&(0,c.jsxs)(s.x,{components:M,children:[(0,c.jsx)(a.A,{language:"json",title:"data.json",children:P}),(0,c.jsx)(n.A,{id:Z+"-data.json"})]})]})]}),!b&&(0,c.jsxs)("div",{className:"dn",children:[(0,c.jsx)(a.A,{language:"json",title:"data.json",children:JSON.stringify(p,null,2)}),(0,c.jsx)(n.A,{id:Z+"-data.json"})]}),!x&&(0,c.jsxs)(s.x,{components:M,children:[(0,c.jsxs)("div",{className:"dn",children:[(0,c.jsx)(a.A,{language:"json",title:"input.json",children:JSON.stringify(w,null,2)}),(0,c.jsx)(n.A,{id:Z+"-input.json"})]}),(0,c.jsx)(a.A,{language:"rego",title:S?"policy.rego":"",children:T}),(0,c.jsx)(n.A,{command:E,id:Z+"-policy.rego",files:R,playgroundLink:O&&Q,output:U})]}),O&&x&&(0,c.jsx)("p",{children:(0,c.jsx)(i.A,{to:Q,children:"Open in OPA Playground"})}),m&&B]});return(0,c.jsxs)("div",{children:[W,J]})}},88254:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i="data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJMYXllcl8xIiB4bWxuczp4PSJuc19leHRlbmQ7IiB4bWxuczppPSJuc19haTsiIHhtbG5zOmdyYXBoPSJuc19ncmFwaHM7IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIgdmlld0JveD0iMCAwIDIzOC4xIDQ4IiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAyMzguMSA0ODsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgogPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KICAuc3Qwe2ZpbGwtcnVsZTpldmVub2RkO2NsaXAtcnVsZTpldmVub2RkO2ZpbGw6I0ZGRkZGRjt9CiA8L3N0eWxlPgogPG1ldGFkYXRhPgogIDxzZncgeG1sbnM9Im5zX3NmdzsiPgogICA8c2xpY2VzPgogICA8L3NsaWNlcz4KICAgPHNsaWNlU291cmNlQm91bmRzIGJvdHRvbUxlZnRPcmlnaW49InRydWUiIGhlaWdodD0iNDgiIHdpZHRoPSIyMzguMSIgeD0iLTExNC4zIiB5PSIwLjgiPgogICA8L3NsaWNlU291cmNlQm91bmRzPgogIDwvc2Z3PgogPC9tZXRhZGF0YT4KIDxnPgogIDxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik02LjMsMjAuNWg2YzUuMSwwLDcuNSwxLjMsNy41LDVjMCw0LjYtNC41LDUuMi03LjcsNS4ySDYuM1YyMC41eiBNMCwzNi4xaDEyLjdDMTkuNCwzNi4xLDI2LDMzLjcsMjYsMjYKCQljMC00LjUtMy4yLTgtNy42LTguNXYtMC4xYzMuNi0xLjEsNi4xLTMuNyw2LjEtNy43YzAtNi40LTUuNS04LjktMTAuOC04LjlIMFYzNi4xeiBNNi4zLDYuMmg1LjJjNC43LDAsNi44LDEuNSw2LjgsNC41CgkJYzAsMi42LTIuMSw0LjQtNi4zLDQuNEg2LjNMNi4zLDYuMkw2LjMsNi4yeiBNMzAuMSwzNi4xaDZWMGgtNkwzMC4xLDM2LjF6IE00MC4xLDI0LjFjMCw3LjUsNS44LDEyLjUsMTMsMTIuNWM3LjIsMCwxMy01LDEzLTEyLjUKCQljMC03LjUtNS44LTEyLjUtMTMtMTIuNUM0NS44LDExLjYsNDAuMSwxNi42LDQwLjEsMjQuMXogTTQ2LDI0LjFjMC0zLjcsMi42LTcuMiw3LTcuMmM0LjQsMCw3LDMuNCw3LDcuMnMtMi42LDcuMi03LDcuMgoJCUM0OC43LDMxLjMsNDYsMjcuOSw0NiwyNC4xTDQ2LDI0LjF6IE02OC43LDI0LjFjMCw3LjUsNS44LDEyLjUsMTMsMTIuNWM3LjIsMCwxMy01LDEzLTEyLjVjMC03LjUtNS44LTEyLjUtMTMtMTIuNQoJCUM3NC41LDExLjYsNjguNywxNi42LDY4LjcsMjQuMXogTTc0LjcsMjQuMWMwLTMuNywyLjYtNy4yLDctNy4yYzQuNCwwLDcsMy40LDcsNy4ycy0yLjYsNy4yLTcsNy4yUzc0LjcsMjcuOSw3NC43LDI0LjFMNzQuNywyNC4xegoJCSBNOTguNCwxMi4yaDUuN3YzLjdoMC4xYzEtMi4yLDMuMy00LjMsNy4zLTQuM2MzLjcsMCw2LjIsMS40LDcuNSw0LjRjMS43LTMsNC4zLTQuNCw3LjktNC40YzYuNCwwLDguNiw0LjUsOC42LDEwLjJ2MTQuMmgtNlYyMi41CgkJYzAtMy0wLjktNS42LTQuNC01LjZjLTMuNywwLTUuMSwzLjEtNS4xLDYuMnYxMi45aC02VjIxLjhjMC0yLjktMS4yLTQuOS00LjEtNC45Yy0zLjksMC01LjUsMi45LTUuNSw2LjF2MTNoLTZMOTguNCwxMi4yCgkJIE0xNDAuMiwzNi4xaDUuN3YtMy42aDAuMWMxLjcsMi45LDQuOSw0LjIsOC4yLDQuMmM3LjQsMCwxMS44LTUuNSwxMS44LTEyLjVjMC03LjEtNC43LTEyLjUtMTEuNS0xMi41Yy00LjUsMC02LjksMi4xLTguMSwzLjYKCQloLTAuMVYwaC02TDE0MC4yLDM2LjFMMTQwLjIsMzYuMXogTTE2MCwyNC4xYzAsMy43LTIuNiw3LjItNyw3LjJjLTQuNCwwLTctMy40LTctNy4yYzAtMy43LDIuNi03LjIsNy03LjIKCQlDMTU3Lj
1QsMTcsMTYwLDIwLjQsMTYwLDI0LjF6IE0xOTIuOSwyNi4ydi0xLjZjMC04LjMtNC41LTEzLTExLjItMTNjLTcuMiwwLTEzLDUtMTMsMTIuNWMwLDcuNSw1LjgsMTIuNSwxMywxMi41CgkJYzMuOCwwLDcuMy0xLjMsMTAuMS00LjhsLTQuMy0zLjJjLTEuNSwxLjgtMy40LDMuMi02LjQsMy4yYy0zLjMsMC02LTIuMS02LjQtNS43QzE3NC43LDI2LjIsMTkyLjksMjYuMiwxOTIuOSwyNi4yeiBNMTc0LjcsMjEuNwoJCWMwLjQtMy40LDIuNi01LjcsNi4yLTUuN2MzLjcsMCw2LDIuMiw2LjEsNS43SDE3NC43TDE3NC43LDIxLjd6IE0xOTYuOCwxMi4yaDZWMTZoMC4xYzEuMy0yLjcsMy45LTQuNCw3LjEtNC40CgkJYzAuNywwLDEuNCwwLjIsMi4xLDAuM3Y1LjhjLTEtMC4yLTEuOS0wLjQtMi45LTAuNGMtNS42LDAtNi40LDQuNy02LjQsNnYxMi44aC02TDE5Ni44LDEyLjIgTTIzMi40LDEyLjJ2My42aC0wLjEKCQljLTEuNy0yLjktNC45LTQuMi04LjItNC4yYy03LjQsMC0xMS44LDUuNS0xMS44LDEyLjVjMCw2LjgsNC43LDEyLjIsMTEuOSwxMi4yYzMsMCw2LjEtMS4xLDcuOC0zLjVoMC4xdjEuN2MwLDQuNy0xLjgsOC03LjYsOAoJCWMtMy4zLDAtNS44LTEuMi04LjItMy40bC0zLjYsNC45YzMuNCwzLDcuNCwzLjksMTEuOCwzLjljOS4zLDAsMTMuNS01LjUsMTMuNS0xNC4xVjEyLjJIMjMyLjRMMjMyLjQsMTIuMnogTTIyNS40LDE3CgkJYzQuMywwLDcuMSwyLjksNy4xLDdjMCw0LTIuNyw3LTcuMSw3Yy00LDAtNy0zLjEtNy02LjlDMjE4LjMsMTkuOCwyMjEuMiwxNywyMjUuNCwxN3oiPgogIDwvcGF0aD4KIDwvZz4KPC9zdmc+"},88259:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/elasticsearch-datafiltering-44356f7295b6506fb8535d4fd5e145ff.png"},88337:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgdmVyc2lvbj0iMS4yIgogICB2aWV3Qm94PSIwIDAgMTAwMCA1MDAiCiAgIHdpZHRoPSIxMDAwIgogICBoZWlnaHQ9IjUwMCIKICAgaWQ9InN2ZzEzMyIKICAgc29kaXBvZGk6ZG9jbmFtZT0iYWxsc3RhdGUtbG9nby5zdmciCiAgIGlua3NjYXBlOnZlcnNpb249IjEuMi4yIChiMGE4NDg2LCAyMDIyLTEyLTAxKSIKICAgeG1sbnM6aW5rc2NhcGU9Imh0dHA6Ly93d3cuaW5rc2NhcGUub3JnL25hbWVzcGFjZXMvaW5rc2NhcGUiCiAgIHhtbG5zOnNvZGlwb2RpPSJodHRwOi8vc29kaXBvZGkuc291cmNlZm9yZ2UubmV0L0RURC9zb2RpcG9kaS0wLmR0ZCIKICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogICB4bWxuczpzdmc9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOmNjPSJodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9ucyMiCiAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyI+CiAgPGRlZnMKICAgICBpZD0iZGVmczEzNyIgLz4KICA8c29kaXBvZGk6bmFtZWR2aWV3CiAgICAgaWQ9Im5hbWVkdmlldzEzNSIKICAgICBwYWdlY29sb3I9IiNmZmZmZmYiCiAgICAgYm9yZGVyY29sb3I9IiMwMDAwMDAiCiAgICAgYm9yZGVyb3BhY2l0eT0iMC4yNSIKICAgICBpbmtzY2FwZTpzaG93cGFnZXNoYWRvdz0iMiIKICAgICBpbmtzY2FwZTpwYWdlb3BhY2l0eT0iMC4wIgogICAgIGlua3NjYXBlOnBhZ2VjaGVja2VyYm9hcmQ9IjAiCiAgICAgaW5rc2NhcGU6ZGVza2NvbG9yPSIjZDFkMWQxIgogICAgIHNob3dncmlkPSJmYWxzZSIKICAgICBpbmtzY2FwZTp6b29tPSIwLjgwNTQyOTg2IgogICAgIGlua3NjYXBlOmN4PSI1NTkuMzI4NjUiCiAgICAgaW5rc2NhcGU6Y3k9IjE3Ni45MjQxNiIKICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjIwMzYiCiAgICAgaW5rc2NhcGU6d2luZG93LWhlaWdodD0iMTIwNSIKICAgICBpbmtzY2FwZTp3aW5kb3cteD0iMCIKICAgICBpbmtzY2FwZTp3aW5kb3cteT0iMjUiCiAgICAgaW5rc2NhcGU6d2luZG93LW1heGltaXplZD0iMCIKICAgICBpbmtzY2FwZTpjdXJyZW50LWxheWVyPSJzdmcxMzMiIC8+CiAgPHRpdGxlCiAgICAgaWQ9InRpdGxlMTI2Ij5sb2dvLWxhcmdlPC90aXRsZT4KICA8c3R5bGUKICAgICBpZD0ic3R5bGUxMjgiPgoJCS5zMCB7IGZpbGw6ICMwMDMzYTAgfSAKCTwvc3R5bGU+CiAgPGcKICAgICBpZD0iZzEzMSIKICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLjY0Njk1NjA3LDAsMCwwLjY0Njk1NjA3LDAuMTc2NTIxOTYsMTM4LjMxNzc0KSI+CiAgICA8cGF0aAogICAgICAgaWQ9IkxheWVyIgogICAgICAgZmlsbC1ydWxlPSJldmVub2RkIgogICAgICAgY2xhc3M9InMwIgogICAgICAgZD0ibSAxNTIxLjIsMzIyLjUgYyAtMTMuOSwwIC0yNS4xLC0xMS45IC0yNS4xLC0yNi42IDAsLTE0LjcgMTEuMiwtMjYuNiAyNS4xLC0yNi42IDEzLjgsMCAyNSwxMS45IDI1LDI2LjYgMCwxNC43IC0xMS4yLDI2LjYgLTI1LDI2LjYgeiBtIDIxLjUsLTI2LjYgYyAwLC0xMi45IC05LjYsLTIzLjQgLTIxLjUsLTIzLjQgLTExLjksMCAtMjEuNSwxMC41IC0yMS41LDIzLjQgMCwxMyA5LjYsMjMuNSAyMS41LDIzLjUgMTEuOSwwIDIxLjUsLTEwLjUgMjEuNSwtMjMuNSB6IG0gLTE0LjEsMTQuMyAtOC41LC0xMi42IGggLTIuOCB2IDEyLjEgaCAtNC45IHYgLTI5LjQgaCA4LjYgYyA2LDAgMTAsMy4xIDEwLDguNiAwLDQuMiAtMi4yLDcgLTUuOCw4LjEgbCA4LjIsMTIgeiBtIC03LjUsLTI1LjIgaCAtMy43IHYgOC42IGggMy41IGMgMy4yLDAgNS4yLC0xLjMgNS4yLC00LjMgMCwtMi45IC0xLjgsLTQuMyAtNSwtNC4zIHogTSAyODguOSwwLjkgdiAzMjEuNyBoIC02Mi40IGwgLTAuMSwtODIuOSBIIDExNS41IGMgLTEuNiwyLjggLTQ5LjMsODIuOCAtNDkuMyw4Mi44IEggMC41IEwgMTkzLjgsMSBjIDAsLTAuMSA5NS4xLC0wLjEgOTUuMSwtMC4xIHogbSAtNjIuNiw1My44IGMgMCwwIC03MS41LDEyMC4zIC03Ni4yLDEyOC4xIGggNzYuMiBjIDAsMCAwLC0xMjguMSAwLC0xMjguMSB6IE0gMzkzLjcsMSBWIDMyMi42IEggMzMzLjEgViAwLjkgWiBtIDQ0LjEsMCBoIDYwLjYgdiAzMjEuNyBoIC02MC42IHogbSAyNzUuNywyNTAuMyBjIDAuMywyMS4zIC01LjYsMzguNCAtMTcuNyw1MS4xIC0xNS40LDE2LjIgLTQwLjQsMjQuNCAtNzQuMywyNC40IC0zNC45LDAgLTY4LC0xMS41IC04Ny40LC0yMi42IGwgLTEuOCwtMSA4LjQsLTUzLjkgMy43LDIuNSBjIDI0LjksMTYuOSA1My41LDI2LjYgNzksMjYuNiAyNC4zLDAgMzMuNSwtNiAzMy43LC0yMS45IDAuMiwtMTcuNiAtNywtMjMuMSAtNDIuOCwtMzIuMiAtNTQuMSwtMTQuNCAtNzcsLTI4LjQgLTc4LC03OCAtMC4zLC0xOC40IDUuOSwtMzQuOSAxNy45LC00Ny43IDE1LjIsLTE2IDM4LjcsLTI0LjggNjYuNCwtMjQuOCAyOC44LDAgNTUuOCw1LjcgNzguNCwxNi4zIGwgMiwxIC04LjMsNTMuNyAtMy41LC0yLjEgYyAtMjIsLTEyLjggLTQ3LjYsLTIwLjQgLTY4LjYsLTIwLjQgLTE2LjksMCAtMjcuMSw3LjQgLTI3LjgsMjAuMyAtMC45LDE0LjIgNiwxOS4yIDM5LDI4LjEgNTUsMTQuNyA4MC45LDI3LjMgODEuNyw4MC42IHogbSAxNTUuMSw3MC45IC0yLjcsMC42IGMgLTguOSwyIC0xOSwzLjkgLTM1LjQsMy45IEMgNzc5LjcsMzI2LjcgNzU1LDMwMi44IDc1NSwyNTQgViAxMzAuNyBIIDcyMy45IFYgNzguMyBIIDc1NSBWIDEgaCA1OS43IHYgNzcuMyBoIDQ1LjIgbCAtMC44LDUyLjQgaCAtNDQuNCB2IDExMy44IGMgMCwxOC4yIDguMywyNi41IDI2LjMsMjYuNSA3LjIsMCAxMi41LC0wLjYgMTYuNiwtMS43IGwgMy4yLC0wLjkgYyAwLDAgNy44LDUzLjggNy44LDUzLjggeiBtIDIwOS42LC0xNjcgdiAxNjcuNCBoIC01Mi40IGMgMCwwIC0zLC0xOS44IC00LjIsLTI2LjkgLTIxLjEsMjEuMiAtNDQsMzEuNiAtNzEuNSwzMS42IC0zOS45LDAgLTY1LjUsLTI2LjUgLTY1LjUsLTY3LjUgMCwtNTUuNSA0My42LC04Ny4xIDEzMy4xLC05Ni42IHYgLTYuMyBjIDAsLTIyLjEgLTExLjMsLTMyLjMgLTM1LjEsLTMyLjMgLTIyLjQsMCAtNDUuNCw1LjggLTcyLjYsMTguMyBsIC0zLjQsMS41IC03LjgsLTUxLjYgMi4yLC0wLjkgYyAyMi42LC05LjEgNTEuMSwtMTguNiA4OC44LC0xOC42IDYwLjMsMCA4OC40LDI2LjEgODguNCw4MS45IHogbSAtNjAuNSwxMDAuMSB2IC01Mi45IGMgLTQ3LjgsNi42IC03MywyNC4zIC03Myw1MS4zIDAsMTUuMiA5LjIsMjQuNyAyNC4yLDI0LjcgMTcuMSwwIDM0LC04LjEgNDguOCwtMjMuMSB6IG0gMjIzLjgsNjYuOSAtMi42LDAuNiBjIC04LjUsMS45IC0xOSwzLjkgLTM1LjQsMy45IC01MC44LDAgLTc1LjcsLTIzLjkgLTc1LjcsLTcyLjcgViAxMzAuNyBoIC0zMC45IFYgNzguMyBoIDMwLjkgViAxIGggNTkuOCB2IDc3LjMgaCA0NS4zIGwgLTAuOCw1Mi40IGggLTQ0LjUgdiAxMTMuOCBjIDAsMTguMiA4LjQsMjYuNSAyNi41LDI2LjUgNywwIDEyLjQsLTAuNiAxNi41LC0xLjcgbCAzLjEsLTAuOSB6IG0gMjAzLjgsLTc1LjQgNy40LDUxIC0xLjUsMS4xIGMgLTI2LjQsMTguNyAtNTYuNiwyOC40IC05MCwyOC40IC02OC4yLDAgLTExMC44LC00OC4zIC0xMTAuOCwtMTI2LjIgMCwtNDMuMSAxMS41LC03Ny44IDMzLjIsLTEwMC4xIDE3LjgsLTE4LjUgNDEuNSwtMjcuOSA3MC4zLC0yNy44IDY1LjcsMC4xIDk5LDQyLjIgOTksMTI1IGwgLTAuNywxNi43IEggMTMxMSBjIDMuNCwzOS43IDIzLjcsNjIuNSA1Ni4yLDYyLjUgMjUuMSwwIDQ3LjIsLTguNCA3NC40LC0yNy45IHogbSAtNTEuOSwtNzMuMiBjIC0xLjIsLTI1LjkgLTkuNSwtNTUuMSAtNDAuOSwtNTUuMSAtMjMuMiwwIC0zOCwyMC4xIC00MC43LDU1LjEgeiIgLz4KICA8L2c+CiAgPG1ldGFkYXRhCiAgICAgaWQ9Im1ldGFkYXRhMTk0Ij4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+CiAgICAgICAgPGRjOnRpdGxlPmxvZ28tbGFyZ2U8L2RjOnRpdGxlPgogICAgICA8L2NjOldvcms+CiAgICA8L3JkZjpSREY+CiAgPC9tZXRhZGF0YT4KPC9zdmc+Cg=="},88687:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i="data:image/png;base64,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"},88746:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/evolith-d9140d6b22005b9d9da820169c78818e.png"},89071:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/docker-machine-fafe65848e8bda2c2be95601ae18fe62.png"},90491:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i='package kubernetes.validating.existence\n\ndeny contains msg if {\n\tvalue := input.request.object.metadata.labels.costcenter\n\tnot startswith(value, "cccode-")\n\tmsg := sprintf("Costcenter must start `cccode-`; found `%v`", [value])\n}\n\ndeny contains msg if {\n\tnot input.request.object.metadata.labels.costcenter\n\tmsg := "Every resource must have a costcenter label"\n}\n'},90521:(v,e,t)=>{"use strict";t.r(e),t.d(e,{contentTitle:()=>M,default:()=>r,frontMatter:()=>a,toc:()=>n});var i=t(74848),s=t(28453);const a={},M=void 0,n=[];function o(v){const e={a:"a",p:"p",...(0,s.R)(),...v.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(e.p,{children:["OPA has a ",(0,i.jsx)(e.a,{href:"./docs/envoy",children:"native integration"})," with the Envoy External\nAuthorization API. This example shows a simple policy using the input document\nsupplied from that API to authorize requests."]}),"\n",(0,i.jsxs)(e.p,{children:["Browse more ",(0,i.jsx)(e.a,{href:"https://play.openpolicyagent.org/?example-group=envoy",children:"Envoy Examples"}),"\non the playground."]})]})}function r(v={}){const{wrapper:e}={...(0,s.R)(),...v.components};return e?(0,i.jsx)(e,{...v,children:(0,i.jsx)(o,{...v})}):o(v)}},90866:(v,e,t)=>{"use strict";t.d(e,{A:()=>a});t(96540);const i={grid:"grid_pmaB",gridCenter:"gridCenter_DmrR"};var s=t(74848);function a(v){var e=v.children,t=v.justifyCenter,a=void 0===t||t;return(0,s.jsx)("div",{className:i.grid+" "+(a?i.gridCenter:""),children:e})}},91210:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/opa-java-client-f5dd86c3ef6ef3f85acf14f07bf0daa8.png"},92295:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i="data:image/png;base64,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"},92587:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/lula-2dc0ff9269f413c9b907a43a6d2d0c63.svg"},93135:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/rego-test-assertions-5331c5a9f38fef183fafac30fdb000af.png"},93637:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/nodejs-express-3a8eb1fb3958976c877b8a2f7851ba11.png"},93654:v=>{"use strict";v.exports={}},94341:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/opa-wasm-rust-7feb06fde5657d352dfed2eb0fd8b8e2.png"},95143:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i="data:image/png;base64,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"},95243:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/opa-playground-92a1aebfb4ea664b7d9c550b29f450a5.png"},95399:v=>{"use strict";v.exports={}},96642:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i="data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJMYXllcl8xIiB4bWxuczp4PSJuc19leHRlbmQ7IiB4bWxuczppPSJuc19haTsiIHhtbG5zOmdyYXBoPSJuc19ncmFwaHM7IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIgdmlld0JveD0iMCAwIDU4NyAxMTgiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDU4NyAxMTg7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CiAgLnN0MHtmaWxsOiMyMzZDRkY7fQogPC9zdHlsZT4KIDxtZXRhZGF0YT4KICA8c2Z3IHhtbG5zPSJuc19zZnc7Ij4KICAgPHNsaWNlcz4KICAgPC9zbGljZXM+CiAgIDxzbGljZVNvdXJjZUJvdW5kcyBib3R0b21MZWZ0T3JpZ2luPSJ0cnVlIiBoZWlnaHQ9IjExOCIgd2lkdGg9IjU4NyIgeD0iMCIgeT0iNyI+CiAgIDwvc2xpY2VTb3VyY2VCb3VuZHM+CiAgPC9zZnc+CiA8L21ldGFkYXRhPgogPGc+CiAgPHBhdGggY2xhc3M9InN0MCIgZD0iTTMwMS40LDY4LjNjMCwyOC43LDIzLjgsNDkuNyw1NC4xLDQ5LjdjMzAuMywwLDU0LjEtMjEsNTQuMS00OS43di02NmgtMjkuM3Y2Mi42YzAsMTUuNS0xMC43LDI1LjktMjQuOSwyNS45CgkJcy0yNC45LTEwLjQtMjQuOS0yNS45VjIuM2gtMjkuM0wzMDEuNCw2OC4zTDMwMS40LDY4LjN6IE00ODcuOCwyOC43aDM0Ljl2ODcuMmgyOS4zVjI4LjdINTg3VjIuM2gtOTkuMlYyOC43eiBNNDY4LjksMi4zaC0yOS4zCgkJdjExMy42aDI5LjNWMi4zeiBNMTgzLDI4LjdoMzQuOXY4Ny4yaDI5LjNWMjguN2gzNC45VjIuM0gxODNWMjguN3ogTTI5LjMsMi4zSDB2MTEzLjZoMjkuM1YyLjN6IE0xNjcuNiw0OS43CgkJQzE2Ny42LDIxLDE0My43LDAsMTEzLjUsMEM4My4yLDAsNTkuNCwyMSw1OS40LDQ5Ljd2NjYuMmgyOS4zVjUzLjNjMC0xNS41LDEwLjctMjUuOSwyNC45LTI1LjljMTQuMiwwLDI0LjksMTAuNCwyNC45LDI1Ljl2NjIuNgoJCWgyOS4zTDE2Ny42LDQ5LjdMMTY3LjYsNDkuN3oiPgogIDwvcGF0aD4KIDwvZz4KPC9zdmc+"},98742:v=>{"use strict";v.exports={allow:!1}},98901:v=>{"use strict";v.exports=JSON.parse('{"account":{"state":"open"},"user":{"risk_score":"low"},"transaction":{"amount":950}}')},99901:(v,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>i});const i=t.p+"assets/images/raygun-250eb02f38110152f3f908d984ba5406.png"}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.