封装评查点的相关接口,完成评查点列表的简单搜索和查询
This commit is contained in:
@@ -0,0 +1,123 @@
|
||||
/* Compatability shim for jQuery and underscores.js.
|
||||
*
|
||||
* Copyright Sphinx contributors
|
||||
* Released under the two clause BSD licence
|
||||
*/
|
||||
|
||||
/**
|
||||
* small helper function to urldecode strings
|
||||
*
|
||||
* See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/decodeURIComponent#Decoding_query_parameters_from_a_URL
|
||||
*/
|
||||
jQuery.urldecode = function(x) {
|
||||
if (!x) {
|
||||
return x
|
||||
}
|
||||
return decodeURIComponent(x.replace(/\+/g, ' '));
|
||||
};
|
||||
|
||||
/**
|
||||
* small helper function to urlencode strings
|
||||
*/
|
||||
jQuery.urlencode = encodeURIComponent;
|
||||
|
||||
/**
|
||||
* This function returns the parsed url parameters of the
|
||||
* current request. Multiple values per key are supported,
|
||||
* it will always return arrays of strings for the value parts.
|
||||
*/
|
||||
jQuery.getQueryParameters = function(s) {
|
||||
if (typeof s === 'undefined')
|
||||
s = document.location.search;
|
||||
var parts = s.substr(s.indexOf('?') + 1).split('&');
|
||||
var result = {};
|
||||
for (var i = 0; i < parts.length; i++) {
|
||||
var tmp = parts[i].split('=', 2);
|
||||
var key = jQuery.urldecode(tmp[0]);
|
||||
var value = jQuery.urldecode(tmp[1]);
|
||||
if (key in result)
|
||||
result[key].push(value);
|
||||
else
|
||||
result[key] = [value];
|
||||
}
|
||||
return result;
|
||||
};
|
||||
|
||||
/**
|
||||
* highlight a given string on a jquery object by wrapping it in
|
||||
* span elements with the given class name.
|
||||
*/
|
||||
jQuery.fn.highlightText = function(text, className) {
|
||||
function highlight(node, addItems) {
|
||||
if (node.nodeType === 3) {
|
||||
var val = node.nodeValue;
|
||||
var pos = val.toLowerCase().indexOf(text);
|
||||
if (pos >= 0 &&
|
||||
!jQuery(node.parentNode).hasClass(className) &&
|
||||
!jQuery(node.parentNode).hasClass("nohighlight")) {
|
||||
var span;
|
||||
var isInSVG = jQuery(node).closest("body, svg, foreignObject").is("svg");
|
||||
if (isInSVG) {
|
||||
span = document.createElementNS("http://www.w3.org/2000/svg", "tspan");
|
||||
} else {
|
||||
span = document.createElement("span");
|
||||
span.className = className;
|
||||
}
|
||||
span.appendChild(document.createTextNode(val.substr(pos, text.length)));
|
||||
node.parentNode.insertBefore(span, node.parentNode.insertBefore(
|
||||
document.createTextNode(val.substr(pos + text.length)),
|
||||
node.nextSibling));
|
||||
node.nodeValue = val.substr(0, pos);
|
||||
if (isInSVG) {
|
||||
var rect = document.createElementNS("http://www.w3.org/2000/svg", "rect");
|
||||
var bbox = node.parentElement.getBBox();
|
||||
rect.x.baseVal.value = bbox.x;
|
||||
rect.y.baseVal.value = bbox.y;
|
||||
rect.width.baseVal.value = bbox.width;
|
||||
rect.height.baseVal.value = bbox.height;
|
||||
rect.setAttribute('class', className);
|
||||
addItems.push({
|
||||
"parent": node.parentNode,
|
||||
"target": rect});
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (!jQuery(node).is("button, select, textarea")) {
|
||||
jQuery.each(node.childNodes, function() {
|
||||
highlight(this, addItems);
|
||||
});
|
||||
}
|
||||
}
|
||||
var addItems = [];
|
||||
var result = this.each(function() {
|
||||
highlight(this, addItems);
|
||||
});
|
||||
for (var i = 0; i < addItems.length; ++i) {
|
||||
jQuery(addItems[i].parent).before(addItems[i].target);
|
||||
}
|
||||
return result;
|
||||
};
|
||||
|
||||
/*
|
||||
* backward compatibility for jQuery.browser
|
||||
* This will be supported until firefox bug is fixed.
|
||||
*/
|
||||
if (!jQuery.browser) {
|
||||
jQuery.uaMatch = function(ua) {
|
||||
ua = ua.toLowerCase();
|
||||
|
||||
var match = /(chrome)[ \/]([\w.]+)/.exec(ua) ||
|
||||
/(webkit)[ \/]([\w.]+)/.exec(ua) ||
|
||||
/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(ua) ||
|
||||
/(msie) ([\w.]+)/.exec(ua) ||
|
||||
ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec(ua) ||
|
||||
[];
|
||||
|
||||
return {
|
||||
browser: match[ 1 ] || "",
|
||||
version: match[ 2 ] || "0"
|
||||
};
|
||||
};
|
||||
jQuery.browser = {};
|
||||
jQuery.browser[jQuery.uaMatch(navigator.userAgent).browser] = true;
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
|
||||
<!-- saved from url=(1905)https://googleads.g.doubleclick.net/pagead/ads?client=ca-pub-8543159550507237&output=html&adk=1812271804&adf=3025194257&abgtt=6&lmt=1742918816&plat=1%3A16777216%2C2%3A16777216%2C3%3A16%2C4%3A16%2C9%3A134250504%2C16%3A8388608%2C17%3A32%2C24%3A32%2C25%3A32%2C30%3A1081344%2C32%3A32%2C41%3A32%2C42%3A32&format=0x0&url=https%3A%2F%2Fpostgrest.postgresql.ac.cn%2Fen%2Fv12%2Freferences%2Fapi%2Ftables_views.html&pra=5&wgl=1&aihb=0&asro=0&ailel=1~2~4~7~8~9~10~11~12~13~14~15~16~17~18~19~20~21~24~29~30~34&aiael=1~2~3~4~7~8~9~10~11~12~13~14~15~16~17~18~19~20~21~24~29~30~34&aicel=33~38&aifxl=29_18~30_19&aiixl=29_5~30_6&itsi=2&aiapm=0.15&aiapmi=0.33938&aiact=0.6&ailct=0.65&uach=WyJXaW5kb3dzIiwiMTUuMC4wIiwieDg2IiwiIiwiMTM0LjAuNjk5OC4xNzgiLG51bGwsMCxudWxsLCI2NCIsW1siQ2hyb21pdW0iLCIxMzQuMC42OTk4LjE3OCJdLFsiTm90OkEtQnJhbmQiLCIyNC4wLjAuMCJdLFsiR29vZ2xlIENocm9tZSIsIjEzNC4wLjY5OTguMTc4Il1dLDBd&dt=1743586875473&bpp=9&bdt=18&idt=42&shv=r20250401&mjsv=m202503270101&ptt=9&saldr=aa&abxe=1&cookie=ID%3D3cc7d08ea74aaacf%3AT%3D1743563350%3ART%3D1743586695%3AS%3DALNI_MYbZfLN193La06gpdGbWGcLF-geyQ&gpic=UID%3D0000100517b5f12e%3AT%3D1743563350%3ART%3D1743586695%3AS%3DALNI_MZ_DqSWmGT0F3xqdYcK-IpUUt7nyw&eo_id_str=ID%3De98a5540fe5f2598%3AT%3D1743563350%3ART%3D1743586695%3AS%3DAA-AfjZFwr_srXR4du2XMZLugW-_&nras=1&correlator=3071774986153&frm=20&pv=2&u_tz=480&u_his=34&u_h=1080&u_w=1920&u_ah=1032&u_aw=1920&u_cd=24&u_sd=1&dmc=8&adx=-12245933&ady=-12245933&biw=1784&bih=872&scr_x=0&scr_y=0&eid=95355972%2C95355974%2C31091240%2C42531705%2C95353387%2C95354562%2C95356499%2C95356505%2C31091407%2C31089210%2C95356787%2C95356928&oid=2&pvsid=2918862569797426&tmod=1115595993&uas=0&nvt=1&fsapi=1&fc=1920&brdim=24%2C148%2C24%2C148%2C1920%2C0%2C1815%2C967%2C1799%2C872&vis=1&rsz=%7C%7Cs%7C&abl=NS&fu=32768&bc=31&bz=1.01&td=1&tdf=2&psd=W251bGwsW251bGwsbnVsbCxudWxsLCJkZXByZWNhdGVkX2thbm9uIl0sbnVsbCwxXQ..&nt=1&ifi=1&uci=a!1&fsb=1&dtd=56 -->
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><script>var apcnf = '{"googMsgType":"apcnf","config":"[[],[],null,null,[],null,[],null,null,null,null,null,null,null,null,null,null,[1,null,null,[]],null,null,null,[\\\"zh-CN\\\"],null,null,null,null,null,null,null,null,null,null,[[\\\"\\\\u5c55\\\\u5f00/\\\\u6536\\\\u8d77\\\\u5de5\\\\u5177\\\\u680f\\\",\\\"\\\\u663e\\\\u793a/\\\\u9690\\\\u85cf\\\\u9690\\\\u79c1\\\\u8bbe\\\\u7f6e\\\\u548c\\\\u6cd5\\\\u5f8b\\\\u8bbe\\\\u7f6e\\\",\\\"\\\\u5173\\\\u95ed\\\\u663e\\\\u793a\\\\u9690\\\\u79c1\\\\u8bbe\\\\u7f6e\\\\u548c\\\\u6cd5\\\\u5f8b\\\\u8bbe\\\\u7f6e\\\"]]]"}';window.parent.postMessage(apcnf, '*');</script></head><body marginwidth="0" marginheight="0"></body></html>
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,95 @@
|
||||
/* Copy buttons */
|
||||
button.copybtn {
|
||||
position: absolute;
|
||||
display: flex;
|
||||
top: .3em;
|
||||
right: .3em;
|
||||
width: 1.7em;
|
||||
height: 1.7em;
|
||||
opacity: 0;
|
||||
transition: opacity 0.3s, border .3s, background-color .3s;
|
||||
user-select: none;
|
||||
padding: 0;
|
||||
border: none;
|
||||
outline: none;
|
||||
border-radius: 0.4em;
|
||||
/* The colors that GitHub uses */
|
||||
border: #1b1f2426 1px solid;
|
||||
background-color: #f6f8fa;
|
||||
color: #57606a;
|
||||
}
|
||||
|
||||
button.copybtn.success {
|
||||
border-color: #22863a;
|
||||
color: #22863a;
|
||||
}
|
||||
|
||||
button.copybtn svg {
|
||||
stroke: currentColor;
|
||||
width: 1.5em;
|
||||
height: 1.5em;
|
||||
padding: 0.1em;
|
||||
}
|
||||
|
||||
div.highlight {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
/* Show the copybutton */
|
||||
.highlight:hover button.copybtn, button.copybtn.success {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.highlight button.copybtn:hover {
|
||||
background-color: rgb(235, 235, 235);
|
||||
}
|
||||
|
||||
.highlight button.copybtn:active {
|
||||
background-color: rgb(187, 187, 187);
|
||||
}
|
||||
|
||||
/**
|
||||
* A minimal CSS-only tooltip copied from:
|
||||
* https://codepen.io/mildrenben/pen/rVBrpK
|
||||
*
|
||||
* To use, write HTML like the following:
|
||||
*
|
||||
* <p class="o-tooltip--left" data-tooltip="Hey">Short</p>
|
||||
*/
|
||||
.o-tooltip--left {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.o-tooltip--left:after {
|
||||
opacity: 0;
|
||||
visibility: hidden;
|
||||
position: absolute;
|
||||
content: attr(data-tooltip);
|
||||
padding: .2em;
|
||||
font-size: .8em;
|
||||
left: -.2em;
|
||||
background: grey;
|
||||
color: white;
|
||||
white-space: nowrap;
|
||||
z-index: 2;
|
||||
border-radius: 2px;
|
||||
transform: translateX(-102%) translateY(0);
|
||||
transition: opacity 0.2s cubic-bezier(0.64, 0.09, 0.08, 1), transform 0.2s cubic-bezier(0.64, 0.09, 0.08, 1);
|
||||
}
|
||||
|
||||
.o-tooltip--left:hover:after {
|
||||
display: block;
|
||||
opacity: 1;
|
||||
visibility: visible;
|
||||
transform: translateX(-100%) translateY(0);
|
||||
transition: opacity 0.2s cubic-bezier(0.64, 0.09, 0.08, 1), transform 0.2s cubic-bezier(0.64, 0.09, 0.08, 1);
|
||||
transition-delay: .5s;
|
||||
}
|
||||
|
||||
/* By default the copy button shouldn't show up when printing a page */
|
||||
@media print {
|
||||
button.copybtn {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,248 @@
|
||||
// Localization support
|
||||
const messages = {
|
||||
'en': {
|
||||
'copy': 'Copy',
|
||||
'copy_to_clipboard': 'Copy to clipboard',
|
||||
'copy_success': 'Copied!',
|
||||
'copy_failure': 'Failed to copy',
|
||||
},
|
||||
'es' : {
|
||||
'copy': 'Copiar',
|
||||
'copy_to_clipboard': 'Copiar al portapapeles',
|
||||
'copy_success': '¡Copiado!',
|
||||
'copy_failure': 'Error al copiar',
|
||||
},
|
||||
'de' : {
|
||||
'copy': 'Kopieren',
|
||||
'copy_to_clipboard': 'In die Zwischenablage kopieren',
|
||||
'copy_success': 'Kopiert!',
|
||||
'copy_failure': 'Fehler beim Kopieren',
|
||||
},
|
||||
'fr' : {
|
||||
'copy': 'Copier',
|
||||
'copy_to_clipboard': 'Copier dans le presse-papier',
|
||||
'copy_success': 'Copié !',
|
||||
'copy_failure': 'Échec de la copie',
|
||||
},
|
||||
'ru': {
|
||||
'copy': 'Скопировать',
|
||||
'copy_to_clipboard': 'Скопировать в буфер',
|
||||
'copy_success': 'Скопировано!',
|
||||
'copy_failure': 'Не удалось скопировать',
|
||||
},
|
||||
'zh-CN': {
|
||||
'copy': '复制',
|
||||
'copy_to_clipboard': '复制到剪贴板',
|
||||
'copy_success': '复制成功!',
|
||||
'copy_failure': '复制失败',
|
||||
},
|
||||
'it' : {
|
||||
'copy': 'Copiare',
|
||||
'copy_to_clipboard': 'Copiato negli appunti',
|
||||
'copy_success': 'Copiato!',
|
||||
'copy_failure': 'Errore durante la copia',
|
||||
}
|
||||
}
|
||||
|
||||
let locale = 'en'
|
||||
if( document.documentElement.lang !== undefined
|
||||
&& messages[document.documentElement.lang] !== undefined ) {
|
||||
locale = document.documentElement.lang
|
||||
}
|
||||
|
||||
let doc_url_root = DOCUMENTATION_OPTIONS.URL_ROOT;
|
||||
if (doc_url_root == '#') {
|
||||
doc_url_root = '';
|
||||
}
|
||||
|
||||
/**
|
||||
* SVG files for our copy buttons
|
||||
*/
|
||||
let iconCheck = `<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-check" width="44" height="44" viewBox="0 0 24 24" stroke-width="2" stroke="#22863a" fill="none" stroke-linecap="round" stroke-linejoin="round">
|
||||
<title>${messages[locale]['copy_success']}</title>
|
||||
<path stroke="none" d="M0 0h24v24H0z" fill="none"/>
|
||||
<path d="M5 12l5 5l10 -10" />
|
||||
</svg>`
|
||||
|
||||
// If the user specified their own SVG use that, otherwise use the default
|
||||
let iconCopy = ``;
|
||||
if (!iconCopy) {
|
||||
iconCopy = `<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-copy" width="44" height="44" viewBox="0 0 24 24" stroke-width="1.5" stroke="#000000" fill="none" stroke-linecap="round" stroke-linejoin="round">
|
||||
<title>${messages[locale]['copy_to_clipboard']}</title>
|
||||
<path stroke="none" d="M0 0h24v24H0z" fill="none"/>
|
||||
<rect x="8" y="8" width="12" height="12" rx="2" />
|
||||
<path d="M16 8v-2a2 2 0 0 0 -2 -2h-8a2 2 0 0 0 -2 2v8a2 2 0 0 0 2 2h2" />
|
||||
</svg>`
|
||||
}
|
||||
|
||||
/**
|
||||
* Set up copy/paste for code blocks
|
||||
*/
|
||||
|
||||
const runWhenDOMLoaded = cb => {
|
||||
if (document.readyState != 'loading') {
|
||||
cb()
|
||||
} else if (document.addEventListener) {
|
||||
document.addEventListener('DOMContentLoaded', cb)
|
||||
} else {
|
||||
document.attachEvent('onreadystatechange', function() {
|
||||
if (document.readyState == 'complete') cb()
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
const codeCellId = index => `codecell${index}`
|
||||
|
||||
// Clears selected text since ClipboardJS will select the text when copying
|
||||
const clearSelection = () => {
|
||||
if (window.getSelection) {
|
||||
window.getSelection().removeAllRanges()
|
||||
} else if (document.selection) {
|
||||
document.selection.empty()
|
||||
}
|
||||
}
|
||||
|
||||
// Changes tooltip text for a moment, then changes it back
|
||||
// We want the timeout of our `success` class to be a bit shorter than the
|
||||
// tooltip and icon change, so that we can hide the icon before changing back.
|
||||
var timeoutIcon = 2000;
|
||||
var timeoutSuccessClass = 1500;
|
||||
|
||||
const temporarilyChangeTooltip = (el, oldText, newText) => {
|
||||
el.setAttribute('data-tooltip', newText)
|
||||
el.classList.add('success')
|
||||
// Remove success a little bit sooner than we change the tooltip
|
||||
// So that we can use CSS to hide the copybutton first
|
||||
setTimeout(() => el.classList.remove('success'), timeoutSuccessClass)
|
||||
setTimeout(() => el.setAttribute('data-tooltip', oldText), timeoutIcon)
|
||||
}
|
||||
|
||||
// Changes the copy button icon for two seconds, then changes it back
|
||||
const temporarilyChangeIcon = (el) => {
|
||||
el.innerHTML = iconCheck;
|
||||
setTimeout(() => {el.innerHTML = iconCopy}, timeoutIcon)
|
||||
}
|
||||
|
||||
const addCopyButtonToCodeCells = () => {
|
||||
// If ClipboardJS hasn't loaded, wait a bit and try again. This
|
||||
// happens because we load ClipboardJS asynchronously.
|
||||
if (window.ClipboardJS === undefined) {
|
||||
setTimeout(addCopyButtonToCodeCells, 250)
|
||||
return
|
||||
}
|
||||
|
||||
// Add copybuttons to all of our code cells
|
||||
const COPYBUTTON_SELECTOR = 'div.highlight pre';
|
||||
const codeCells = document.querySelectorAll(COPYBUTTON_SELECTOR)
|
||||
codeCells.forEach((codeCell, index) => {
|
||||
const id = codeCellId(index)
|
||||
codeCell.setAttribute('id', id)
|
||||
|
||||
const clipboardButton = id =>
|
||||
`<button class="copybtn o-tooltip--left" data-tooltip="${messages[locale]['copy']}" data-clipboard-target="#${id}">
|
||||
${iconCopy}
|
||||
</button>`
|
||||
codeCell.insertAdjacentHTML('afterend', clipboardButton(id))
|
||||
})
|
||||
|
||||
function escapeRegExp(string) {
|
||||
return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); // $& means the whole matched string
|
||||
}
|
||||
|
||||
/**
|
||||
* Removes excluded text from a Node.
|
||||
*
|
||||
* @param {Node} target Node to filter.
|
||||
* @param {string} exclude CSS selector of nodes to exclude.
|
||||
* @returns {DOMString} Text from `target` with text removed.
|
||||
*/
|
||||
function filterText(target, exclude) {
|
||||
const clone = target.cloneNode(true); // clone as to not modify the live DOM
|
||||
if (exclude) {
|
||||
// remove excluded nodes
|
||||
clone.querySelectorAll(exclude).forEach(node => node.remove());
|
||||
}
|
||||
return clone.innerText;
|
||||
}
|
||||
|
||||
// Callback when a copy button is clicked. Will be passed the node that was clicked
|
||||
// should then grab the text and replace pieces of text that shouldn't be used in output
|
||||
function formatCopyText(textContent, copybuttonPromptText, isRegexp = false, onlyCopyPromptLines = true, removePrompts = true, copyEmptyLines = true, lineContinuationChar = "", hereDocDelim = "") {
|
||||
var regexp;
|
||||
var match;
|
||||
|
||||
// Do we check for line continuation characters and "HERE-documents"?
|
||||
var useLineCont = !!lineContinuationChar
|
||||
var useHereDoc = !!hereDocDelim
|
||||
|
||||
// create regexp to capture prompt and remaining line
|
||||
if (isRegexp) {
|
||||
regexp = new RegExp('^(' + copybuttonPromptText + ')(.*)')
|
||||
} else {
|
||||
regexp = new RegExp('^(' + escapeRegExp(copybuttonPromptText) + ')(.*)')
|
||||
}
|
||||
|
||||
const outputLines = [];
|
||||
var promptFound = false;
|
||||
var gotLineCont = false;
|
||||
var gotHereDoc = false;
|
||||
const lineGotPrompt = [];
|
||||
for (const line of textContent.split('\n')) {
|
||||
match = line.match(regexp)
|
||||
if (match || gotLineCont || gotHereDoc) {
|
||||
promptFound = regexp.test(line)
|
||||
lineGotPrompt.push(promptFound)
|
||||
if (removePrompts && promptFound) {
|
||||
outputLines.push(match[2])
|
||||
} else {
|
||||
outputLines.push(line)
|
||||
}
|
||||
gotLineCont = line.endsWith(lineContinuationChar) & useLineCont
|
||||
if (line.includes(hereDocDelim) & useHereDoc)
|
||||
gotHereDoc = !gotHereDoc
|
||||
} else if (!onlyCopyPromptLines) {
|
||||
outputLines.push(line)
|
||||
} else if (copyEmptyLines && line.trim() === '') {
|
||||
outputLines.push(line)
|
||||
}
|
||||
}
|
||||
|
||||
// If no lines with the prompt were found then just use original lines
|
||||
if (lineGotPrompt.some(v => v === true)) {
|
||||
textContent = outputLines.join('\n');
|
||||
}
|
||||
|
||||
// Remove a trailing newline to avoid auto-running when pasting
|
||||
if (textContent.endsWith("\n")) {
|
||||
textContent = textContent.slice(0, -1)
|
||||
}
|
||||
return textContent
|
||||
}
|
||||
|
||||
|
||||
var copyTargetText = (trigger) => {
|
||||
var target = document.querySelector(trigger.attributes['data-clipboard-target'].value);
|
||||
|
||||
// get filtered text
|
||||
let exclude = '.linenos';
|
||||
|
||||
let text = filterText(target, exclude);
|
||||
return formatCopyText(text, '', false, true, true, true, '', '')
|
||||
}
|
||||
|
||||
// Initialize with a callback so we can modify the text before copy
|
||||
const clipboard = new ClipboardJS('.copybtn', {text: copyTargetText})
|
||||
|
||||
// Update UI with error/success messages
|
||||
clipboard.on('success', event => {
|
||||
clearSelection()
|
||||
temporarilyChangeTooltip(event.trigger, messages[locale]['copy'], messages[locale]['copy_success'])
|
||||
temporarilyChangeIcon(event.trigger)
|
||||
})
|
||||
|
||||
clipboard.on('error', event => {
|
||||
temporarilyChangeTooltip(event.trigger, messages[locale]['copy'], messages[locale]['copy_failure'])
|
||||
})
|
||||
}
|
||||
|
||||
runWhenDOMLoaded(addCopyButtonToCodeCells)
|
||||
@@ -0,0 +1,152 @@
|
||||
.wy-nav-content {
|
||||
max-width: initial;
|
||||
}
|
||||
|
||||
#postgrest-documentation > h1 {
|
||||
display: none;
|
||||
}
|
||||
|
||||
div.wy-menu.rst-pro {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
div.highlight {
|
||||
background: #fff !important;
|
||||
}
|
||||
|
||||
div.line-block {
|
||||
margin-bottom: 0px !important;
|
||||
}
|
||||
|
||||
#sponsors {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#sponsors h2 {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
#sponsors img{
|
||||
margin: 10px;
|
||||
width: 13em; /* ".. image::" does not apply width properly to SVGs */
|
||||
}
|
||||
|
||||
#thanks{
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#thanks img{
|
||||
margin: 10px;
|
||||
}
|
||||
|
||||
#thanks h2{
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
#thanks p{
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
#thanks ul{
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.image-container {
|
||||
max-width: 800px;
|
||||
display: block;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
margin-bottom: 24px;
|
||||
}
|
||||
|
||||
.wy-table-responsive table td {
|
||||
white-space: normal !important;
|
||||
}
|
||||
|
||||
.wy-table-responsive {
|
||||
overflow: visible !important;
|
||||
}
|
||||
|
||||
#tutorials span.caption-text {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#references span.caption-text {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#explanations span.caption-text {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#how-tos span.caption-text {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#ecosystem span.caption-text {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#integrations span.caption-text {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#api span.caption-text {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* Tweaks for dark mode from extension: sphinx-rtd-dark-theme */
|
||||
|
||||
html[data-theme="dark"] .highlight {
|
||||
background-color: #17181c !important;
|
||||
}
|
||||
|
||||
html[data-theme="dark"] .sphinx-tabs-tab {
|
||||
color: var(--dark-link-color);
|
||||
}
|
||||
|
||||
html[data-theme="dark"] .sphinx-tabs-panel {
|
||||
border: 1px solid #404040;
|
||||
border-top: 0;
|
||||
background: #141414;
|
||||
}
|
||||
|
||||
html[data-theme="dark"] .sphinx-tabs-tab[aria-selected="true"] {
|
||||
border: 1px solid #404040;
|
||||
border-bottom: 1px solid #141414;
|
||||
background-color: #141414;
|
||||
}
|
||||
|
||||
html[data-theme="dark"] [role="tablist"] {
|
||||
border-bottom: 1px solid #404040;
|
||||
}
|
||||
|
||||
html[data-theme="dark"] .btn-neutral {
|
||||
color: white !important;
|
||||
}
|
||||
|
||||
html[data-theme="dark"] .img-dark {
|
||||
display: inline;
|
||||
}
|
||||
|
||||
html:not([data-theme="dark"]) .img-dark {
|
||||
display: none;
|
||||
}
|
||||
|
||||
html[data-theme="dark"] .img-light {
|
||||
display: none;
|
||||
}
|
||||
|
||||
html:not([data-theme="dark"]) .img-light {
|
||||
display: inline;
|
||||
}
|
||||
|
||||
html[data-theme="dark"] .img-translucent img {
|
||||
background-color: #cccccc;
|
||||
}
|
||||
|
||||
.img-translucent img {
|
||||
transition: background-color 0.3s;
|
||||
margin-bottom: 24px;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,521 @@
|
||||
:root {
|
||||
--dark-text-color: #c1c1c1;
|
||||
--dark-link-color: #249ee8;
|
||||
}
|
||||
|
||||
html[data-theme="dark"] body {
|
||||
color: #bfbfbf;
|
||||
}
|
||||
|
||||
html[data-theme="dark"] .wy-nav-content-wrap {
|
||||
background-color: #101010;
|
||||
}
|
||||
|
||||
html[data-theme="dark"] .wy-nav-content {
|
||||
background-color: #141414;
|
||||
}
|
||||
|
||||
html[data-theme="dark"] .section {
|
||||
color: var(--dark-text-color);
|
||||
}
|
||||
|
||||
html[data-theme="dark"] .highlight {
|
||||
background-color: #17181c;
|
||||
}
|
||||
|
||||
html[data-theme="dark"] .highlight .nn {
|
||||
color: var(--dark-text-color);
|
||||
}
|
||||
|
||||
html[data-theme="dark"] .highlight .nb {
|
||||
color: #8bb8df;
|
||||
}
|
||||
|
||||
html[data-theme="dark"] .highlight .nv {
|
||||
color: #40ffff;
|
||||
}
|
||||
|
||||
html[data-theme="dark"] .highlight .kn,
|
||||
html[data-theme="dark"] .highlight .kc,
|
||||
html[data-theme="dark"] .highlight .k {
|
||||
color: #41c2ea;
|
||||
}
|
||||
|
||||
html[data-theme="dark"] .highlight .s1,
|
||||
html[data-theme="dark"] .highlight .s2 {
|
||||
color: #b3e87f;
|
||||
}
|
||||
|
||||
html[data-theme="dark"] .highlight .nt {
|
||||
color: #ccb350;
|
||||
}
|
||||
|
||||
html[data-theme="dark"] .highlight .c1 {
|
||||
color: #686868;
|
||||
}
|
||||
|
||||
html[data-theme="dark"] .highlight .hll {
|
||||
background-color: #002c4d;
|
||||
}
|
||||
|
||||
html[data-theme="dark"] .rst-content div[class^="highlight"] {
|
||||
border-color: #1a1a1a;
|
||||
}
|
||||
|
||||
html[data-theme="dark"] .wy-nav-content a,
|
||||
html[data-theme="dark"] .wy-nav-content a:visited {
|
||||
color: var(--dark-link-color);
|
||||
}
|
||||
|
||||
html[data-theme="dark"] .btn-neutral {
|
||||
background-color: #17181c !important;
|
||||
}
|
||||
|
||||
html[data-theme="dark"] .btn-neutral:hover {
|
||||
background-color: #101114 !important;
|
||||
}
|
||||
|
||||
html[data-theme="dark"] .btn-neutral:visited {
|
||||
color: #c1c1c1 !important;
|
||||
}
|
||||
|
||||
html[data-theme="dark"] .btn {
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
html[data-theme="dark"] footer {
|
||||
color: #bdbdbd;
|
||||
}
|
||||
|
||||
html[data-theme="dark"] .wy-nav-side {
|
||||
background-color: #0d0d0d;
|
||||
}
|
||||
|
||||
html[data-theme="dark"] .wy-menu-vertical li.current {
|
||||
background-color: #141414;
|
||||
}
|
||||
|
||||
html[data-theme="dark"] .wy-menu-vertical li.current > a,
|
||||
html[data-theme="dark"] .wy-menu-vertical li.on a {
|
||||
background-color: #141415;
|
||||
color: var(--dark-text-color);
|
||||
}
|
||||
|
||||
html[data-theme="dark"] .wy-menu-vertical li.toctree-l1.current > a,
|
||||
html[data-theme="dark"] .wy-menu-vertical li.current a {
|
||||
border-color: #0b0c0d;
|
||||
}
|
||||
|
||||
html[data-theme="dark"] .wy-menu-vertical li.current a {
|
||||
color: #bbb;
|
||||
}
|
||||
|
||||
html[data-theme="dark"] .wy-menu-vertical li.current a:hover {
|
||||
background-color: #222;
|
||||
}
|
||||
|
||||
html[data-theme="dark"] .wy-menu-vertical a:hover,
|
||||
html[data-theme="dark"] .wy-menu-vertical li.current > a:hover,
|
||||
html[data-theme="dark"] .wy-menu-vertical li.on a:hover {
|
||||
background-color: #1e1e1e;
|
||||
}
|
||||
|
||||
html[data-theme="dark"] .wy-menu-vertical li.toctree-l2.current > a,
|
||||
html[data-theme="dark"]
|
||||
.wy-menu-vertical
|
||||
li.toctree-l2.current
|
||||
li.toctree-l3
|
||||
> a {
|
||||
background-color: #18181a;
|
||||
}
|
||||
|
||||
html[data-theme="dark"] .wy-side-nav-search {
|
||||
background-color: #0b152d;
|
||||
}
|
||||
|
||||
html[data-theme="dark"] .wy-side-nav-search .wy-dropdown > a,
|
||||
html[data-theme="dark"] .wy-side-nav-search > a {
|
||||
color: #ddd;
|
||||
}
|
||||
|
||||
html[data-theme="dark"] .wy-side-nav-search input[type="text"] {
|
||||
border-color: #111;
|
||||
background-color: #141414;
|
||||
color: var(--dark-text-color);
|
||||
}
|
||||
|
||||
html[data-theme="dark"] .theme-switcher {
|
||||
background-color: #0b0c0d;
|
||||
color: var(--dark-text-color);
|
||||
}
|
||||
|
||||
html[data-theme="dark"].writer-html4 .rst-content dl:not(.docutils) > dt,
|
||||
html[data-theme="dark"].writer-html5
|
||||
.rst-content
|
||||
dl[class]:not(.option-list):not(.field-list):not(.footnote):not(
|
||||
.glossary
|
||||
):not(.simple)
|
||||
> dt {
|
||||
background-color: #0b0b0b;
|
||||
color: #007dce;
|
||||
border-color: #282828;
|
||||
}
|
||||
|
||||
html[data-theme="dark"] .rst-content code,
|
||||
html[data-theme="dark"] .rst-content tt {
|
||||
color: var(--dark-text-color);
|
||||
}
|
||||
|
||||
html[data-theme="dark"].writer-html4
|
||||
.rst-content
|
||||
dl:not(.docutils)
|
||||
dl:not(.field-list)
|
||||
> dt,
|
||||
html[data-theme="dark"].writer-html5
|
||||
.rst-content
|
||||
dl[class]:not(.option-list):not(.field-list):not(.footnote):not(
|
||||
.glossary
|
||||
):not(.simple)
|
||||
dl:not(.field-list)
|
||||
> dt {
|
||||
background-color: #0f0f0f;
|
||||
color: #959595;
|
||||
border-color: #2b2b2b;
|
||||
}
|
||||
|
||||
html[data-theme="dark"] .rst-content code,
|
||||
html[data-theme="dark"] .rst-content tt,
|
||||
html[data-theme="dark"] code {
|
||||
background-color: #2d2d2d;
|
||||
border-color: #1c1c1c;
|
||||
}
|
||||
|
||||
html[data-theme="dark"] .rst-content code.xref,
|
||||
html[data-theme="dark"] .rst-content tt.xref,
|
||||
html[data-theme="dark"] a .rst-content code,
|
||||
html[data-theme="dark"] a .rst-content tt {
|
||||
color: #cecece;
|
||||
}
|
||||
|
||||
html[data-theme="dark"] .rst-content .hint,
|
||||
html[data-theme="dark"] .rst-content .important,
|
||||
html[data-theme="dark"] .rst-content .tip,
|
||||
html[data-theme="dark"] .rst-content .wy-alert-success.admonition,
|
||||
html[data-theme="dark"] .rst-content .wy-alert-success.admonition-todo,
|
||||
html[data-theme="dark"] .rst-content .wy-alert-success.attention,
|
||||
html[data-theme="dark"] .rst-content .wy-alert-success.caution,
|
||||
html[data-theme="dark"] .rst-content .wy-alert-success.danger,
|
||||
html[data-theme="dark"] .rst-content .wy-alert-success.error,
|
||||
html[data-theme="dark"] .rst-content .wy-alert-success.note,
|
||||
html[data-theme="dark"] .rst-content .wy-alert-success.seealso,
|
||||
html[data-theme="dark"] .rst-content .wy-alert-success.warning,
|
||||
html[data-theme="dark"] .wy-alert.wy-alert-success {
|
||||
background-color: #00392e;
|
||||
}
|
||||
|
||||
html[data-theme="dark"] .rst-content .hint .admonition-title,
|
||||
html[data-theme="dark"] .rst-content .hint .wy-alert-title,
|
||||
html[data-theme="dark"] .rst-content .important .admonition-title,
|
||||
html[data-theme="dark"] .rst-content .important .wy-alert-title,
|
||||
html[data-theme="dark"] .rst-content .tip .admonition-title,
|
||||
html[data-theme="dark"] .rst-content .tip .wy-alert-title,
|
||||
html[data-theme="dark"]
|
||||
.rst-content
|
||||
.wy-alert-success.admonition-todo
|
||||
.admonition-title,
|
||||
html[data-theme="dark"]
|
||||
.rst-content
|
||||
.wy-alert-success.admonition-todo
|
||||
.wy-alert-title,
|
||||
html[data-theme="dark"]
|
||||
.rst-content
|
||||
.wy-alert-success.admonition
|
||||
.admonition-title,
|
||||
html[data-theme="dark"]
|
||||
.rst-content
|
||||
.wy-alert-success.admonition
|
||||
.wy-alert-title,
|
||||
html[data-theme="dark"]
|
||||
.rst-content
|
||||
.wy-alert-success.attention
|
||||
.admonition-title,
|
||||
html[data-theme="dark"]
|
||||
.rst-content
|
||||
.wy-alert-success.attention
|
||||
.wy-alert-title,
|
||||
html[data-theme="dark"]
|
||||
.rst-content
|
||||
.wy-alert-success.caution
|
||||
.admonition-title,
|
||||
html[data-theme="dark"] .rst-content .wy-alert-success.caution .wy-alert-title,
|
||||
html[data-theme="dark"] .rst-content .wy-alert-success.danger .admonition-title,
|
||||
html[data-theme="dark"] .rst-content .wy-alert-success.danger .wy-alert-title,
|
||||
html[data-theme="dark"] .rst-content .wy-alert-success.error .admonition-title,
|
||||
html[data-theme="dark"] .rst-content .wy-alert-success.error .wy-alert-title,
|
||||
html[data-theme="dark"] .rst-content .wy-alert-success.note .admonition-title,
|
||||
html[data-theme="dark"] .rst-content .wy-alert-success.note .wy-alert-title,
|
||||
html[data-theme="dark"]
|
||||
.rst-content
|
||||
.wy-alert-success.seealso
|
||||
.admonition-title,
|
||||
html[data-theme="dark"] .rst-content .wy-alert-success.seealso .wy-alert-title,
|
||||
html[data-theme="dark"]
|
||||
.rst-content
|
||||
.wy-alert-success.warning
|
||||
.admonition-title,
|
||||
html[data-theme="dark"] .rst-content .wy-alert-success.warning .wy-alert-title,
|
||||
html[data-theme="dark"]
|
||||
.rst-content
|
||||
.wy-alert.wy-alert-success
|
||||
.admonition-title,
|
||||
html[data-theme="dark"]
|
||||
.wy-alert.wy-alert-success
|
||||
.rst-content
|
||||
.admonition-title,
|
||||
html[data-theme="dark"] .wy-alert.wy-alert-success .wy-alert-title {
|
||||
background-color: #006a56;
|
||||
}
|
||||
|
||||
html[data-theme="dark"] .rst-content .admonition,
|
||||
html[data-theme="dark"] .rst-content .note,
|
||||
html[data-theme="dark"] .rst-content .seealso,
|
||||
html[data-theme="dark"] .rst-content .wy-alert-info.admonition,
|
||||
html[data-theme="dark"] .rst-content .wy-alert-info.admonition-todo,
|
||||
html[data-theme="dark"] .rst-content .wy-alert-info.attention,
|
||||
html[data-theme="dark"] .rst-content .wy-alert-info.caution,
|
||||
html[data-theme="dark"] .rst-content .wy-alert-info.danger,
|
||||
html[data-theme="dark"] .rst-content .wy-alert-info.error,
|
||||
html[data-theme="dark"] .rst-content .wy-alert-info.hint,
|
||||
html[data-theme="dark"] .rst-content .wy-alert-info.important,
|
||||
html[data-theme="dark"] .rst-content .wy-alert-info.tip,
|
||||
html[data-theme="dark"] .rst-content .wy-alert-info.warning,
|
||||
html[data-theme="dark"] .wy-alert.wy-alert-info {
|
||||
background-color: #002c4d;
|
||||
}
|
||||
|
||||
html[data-theme="dark"] .rst-content .admonition .admonition-title,
|
||||
html[data-theme="dark"] .rst-content .note .admonition-title,
|
||||
html[data-theme="dark"] .rst-content .note .wy-alert-title,
|
||||
html[data-theme="dark"] .rst-content .seealso .admonition-title,
|
||||
html[data-theme="dark"] .rst-content .seealso .wy-alert-title,
|
||||
html[data-theme="dark"]
|
||||
.rst-content
|
||||
.wy-alert-info.admonition-todo
|
||||
.admonition-title,
|
||||
html[data-theme="dark"]
|
||||
.rst-content
|
||||
.wy-alert-info.admonition-todo
|
||||
.wy-alert-title,
|
||||
html[data-theme="dark"]
|
||||
.rst-content
|
||||
.wy-alert-info.admonition
|
||||
.admonition-title,
|
||||
html[data-theme="dark"] .rst-content .wy-alert-info.admonition .wy-alert-title,
|
||||
html[data-theme="dark"] .rst-content .wy-alert-info.attention .admonition-title,
|
||||
html[data-theme="dark"] .rst-content .wy-alert-info.attention .wy-alert-title,
|
||||
html[data-theme="dark"] .rst-content .wy-alert-info.caution .admonition-title,
|
||||
html[data-theme="dark"] .rst-content .wy-alert-info.caution .wy-alert-title,
|
||||
html[data-theme="dark"] .rst-content .wy-alert-info.danger .admonition-title,
|
||||
html[data-theme="dark"] .rst-content .wy-alert-info.danger .wy-alert-title,
|
||||
html[data-theme="dark"] .rst-content .wy-alert-info.error .admonition-title,
|
||||
html[data-theme="dark"] .rst-content .wy-alert-info.error .wy-alert-title,
|
||||
html[data-theme="dark"] .rst-content .wy-alert-info.hint .admonition-title,
|
||||
html[data-theme="dark"] .rst-content .wy-alert-info.hint .wy-alert-title,
|
||||
html[data-theme="dark"] .rst-content .wy-alert-info.important .admonition-title,
|
||||
html[data-theme="dark"] .rst-content .wy-alert-info.important .wy-alert-title,
|
||||
html[data-theme="dark"] .rst-content .wy-alert-info.tip .admonition-title,
|
||||
html[data-theme="dark"] .rst-content .wy-alert-info.tip .wy-alert-title,
|
||||
html[data-theme="dark"] .rst-content .wy-alert-info.warning .admonition-title,
|
||||
html[data-theme="dark"] .rst-content .wy-alert-info.warning .wy-alert-title,
|
||||
html[data-theme="dark"] .rst-content .wy-alert.wy-alert-info .admonition-title,
|
||||
html[data-theme="dark"] .wy-alert.wy-alert-info .rst-content .admonition-title,
|
||||
html[data-theme="dark"] .wy-alert.wy-alert-info .wy-alert-title {
|
||||
background-color: #004a7b;
|
||||
}
|
||||
|
||||
html[data-theme="dark"] .rst-content .admonition-todo,
|
||||
html[data-theme="dark"] .rst-content .attention,
|
||||
html[data-theme="dark"] .rst-content .caution,
|
||||
html[data-theme="dark"] .rst-content .warning,
|
||||
html[data-theme="dark"] .rst-content .wy-alert-warning.admonition,
|
||||
html[data-theme="dark"] .rst-content .wy-alert-warning.danger,
|
||||
html[data-theme="dark"] .rst-content .wy-alert-warning.error,
|
||||
html[data-theme="dark"] .rst-content .wy-alert-warning.hint,
|
||||
html[data-theme="dark"] .rst-content .wy-alert-warning.important,
|
||||
html[data-theme="dark"] .rst-content .wy-alert-warning.note,
|
||||
html[data-theme="dark"] .rst-content .wy-alert-warning.seealso,
|
||||
html[data-theme="dark"] .rst-content .wy-alert-warning.tip,
|
||||
html[data-theme="dark"] .wy-alert.wy-alert-warning {
|
||||
background-color: #533500;
|
||||
}
|
||||
|
||||
html[data-theme="dark"] .rst-content .admonition-todo .admonition-title,
|
||||
html[data-theme="dark"] .rst-content .admonition-todo .wy-alert-title,
|
||||
html[data-theme="dark"] .rst-content .attention .admonition-title,
|
||||
html[data-theme="dark"] .rst-content .attention .wy-alert-title,
|
||||
html[data-theme="dark"] .rst-content .caution .admonition-title,
|
||||
html[data-theme="dark"] .rst-content .caution .wy-alert-title,
|
||||
html[data-theme="dark"] .rst-content .warning .admonition-title,
|
||||
html[data-theme="dark"] .rst-content .warning .wy-alert-title,
|
||||
html[data-theme="dark"]
|
||||
.rst-content
|
||||
.wy-alert-warning.admonition
|
||||
.admonition-title,
|
||||
html[data-theme="dark"]
|
||||
.rst-content
|
||||
.wy-alert-warning.admonition
|
||||
.wy-alert-title,
|
||||
html[data-theme="dark"] .rst-content .wy-alert-warning.danger .admonition-title,
|
||||
html[data-theme="dark"] .rst-content .wy-alert-warning.danger .wy-alert-title,
|
||||
html[data-theme="dark"] .rst-content .wy-alert-warning.error .admonition-title,
|
||||
html[data-theme="dark"] .rst-content .wy-alert-warning.error .wy-alert-title,
|
||||
html[data-theme="dark"] .rst-content .wy-alert-warning.hint .admonition-title,
|
||||
html[data-theme="dark"] .rst-content .wy-alert-warning.hint .wy-alert-title,
|
||||
html[data-theme="dark"]
|
||||
.rst-content
|
||||
.wy-alert-warning.important
|
||||
.admonition-title,
|
||||
html[data-theme="dark"]
|
||||
.rst-content
|
||||
.wy-alert-warning.important
|
||||
.wy-alert-title,
|
||||
html[data-theme="dark"] .rst-content .wy-alert-warning.note .admonition-title,
|
||||
html[data-theme="dark"] .rst-content .wy-alert-warning.note .wy-alert-title,
|
||||
html[data-theme="dark"]
|
||||
.rst-content
|
||||
.wy-alert-warning.seealso
|
||||
.admonition-title,
|
||||
html[data-theme="dark"] .rst-content .wy-alert-warning.seealso .wy-alert-title,
|
||||
html[data-theme="dark"] .rst-content .wy-alert-warning.tip .admonition-title,
|
||||
html[data-theme="dark"] .rst-content .wy-alert-warning.tip .wy-alert-title,
|
||||
html[data-theme="dark"]
|
||||
.rst-content
|
||||
.wy-alert.wy-alert-warning
|
||||
.admonition-title,
|
||||
html[data-theme="dark"]
|
||||
.wy-alert.wy-alert-warning
|
||||
.rst-content
|
||||
.admonition-title,
|
||||
html[data-theme="dark"] .wy-alert.wy-alert-warning .wy-alert-title {
|
||||
background-color: #803b00;
|
||||
}
|
||||
|
||||
html[data-theme="dark"] .rst-content .danger,
|
||||
html[data-theme="dark"] .rst-content .error,
|
||||
html[data-theme="dark"] .rst-content .wy-alert-danger.admonition,
|
||||
html[data-theme="dark"] .rst-content .wy-alert-danger.admonition-todo,
|
||||
html[data-theme="dark"] .rst-content .wy-alert-danger.attention,
|
||||
html[data-theme="dark"] .rst-content .wy-alert-danger.caution,
|
||||
html[data-theme="dark"] .rst-content .wy-alert-danger.hint,
|
||||
html[data-theme="dark"] .rst-content .wy-alert-danger.important,
|
||||
html[data-theme="dark"] .rst-content .wy-alert-danger.note,
|
||||
html[data-theme="dark"] .rst-content .wy-alert-danger.seealso,
|
||||
html[data-theme="dark"] .rst-content .wy-alert-danger.tip,
|
||||
html[data-theme="dark"] .rst-content .wy-alert-danger.warning,
|
||||
html[data-theme="dark"] .wy-alert.wy-alert-danger {
|
||||
background-color: #82231a;
|
||||
}
|
||||
|
||||
html[data-theme="dark"] .rst-content .danger .admonition-title,
|
||||
html[data-theme="dark"] .rst-content .danger .wy-alert-title,
|
||||
html[data-theme="dark"] .rst-content .error .admonition-title,
|
||||
html[data-theme="dark"] .rst-content .error .wy-alert-title,
|
||||
html[data-theme="dark"]
|
||||
.rst-content
|
||||
.wy-alert-danger.admonition-todo
|
||||
.admonition-title,
|
||||
html[data-theme="dark"]
|
||||
.rst-content
|
||||
.wy-alert-danger.admonition-todo
|
||||
.wy-alert-title,
|
||||
html[data-theme="dark"]
|
||||
.rst-content
|
||||
.wy-alert-danger.admonition
|
||||
.admonition-title,
|
||||
html[data-theme="dark"]
|
||||
.rst-content
|
||||
.wy-alert-danger.admonition
|
||||
.wy-alert-title,
|
||||
html[data-theme="dark"]
|
||||
.rst-content
|
||||
.wy-alert-danger.attention
|
||||
.admonition-title,
|
||||
html[data-theme="dark"] .rst-content .wy-alert-danger.attention .wy-alert-title,
|
||||
html[data-theme="dark"] .rst-content .wy-alert-danger.caution .admonition-title,
|
||||
html[data-theme="dark"] .rst-content .wy-alert-danger.caution .wy-alert-title,
|
||||
html[data-theme="dark"] .rst-content .wy-alert-danger.hint .admonition-title,
|
||||
html[data-theme="dark"] .rst-content .wy-alert-danger.hint .wy-alert-title,
|
||||
html[data-theme="dark"]
|
||||
.rst-content
|
||||
.wy-alert-danger.important
|
||||
.admonition-title,
|
||||
html[data-theme="dark"] .rst-content .wy-alert-danger.important .wy-alert-title,
|
||||
html[data-theme="dark"] .rst-content .wy-alert-danger.note .admonition-title,
|
||||
html[data-theme="dark"] .rst-content .wy-alert-danger.note .wy-alert-title,
|
||||
html[data-theme="dark"] .rst-content .wy-alert-danger.seealso .admonition-title,
|
||||
html[data-theme="dark"] .rst-content .wy-alert-danger.seealso .wy-alert-title,
|
||||
html[data-theme="dark"] .rst-content .wy-alert-danger.tip .admonition-title,
|
||||
html[data-theme="dark"] .rst-content .wy-alert-danger.tip .wy-alert-title,
|
||||
html[data-theme="dark"] .rst-content .wy-alert-danger.warning .admonition-title,
|
||||
html[data-theme="dark"] .rst-content .wy-alert-danger.warning .wy-alert-title,
|
||||
html[data-theme="dark"]
|
||||
.rst-content
|
||||
.wy-alert.wy-alert-danger
|
||||
.admonition-title,
|
||||
html[data-theme="dark"]
|
||||
.wy-alert.wy-alert-danger
|
||||
.rst-content
|
||||
.admonition-title,
|
||||
html[data-theme="dark"] .wy-alert.wy-alert-danger .wy-alert-title {
|
||||
background-color: #b9372b;
|
||||
}
|
||||
|
||||
html[data-theme="dark"] .wy-nav-top {
|
||||
background-color: #0b152d;
|
||||
}
|
||||
|
||||
html[data-theme="dark"] .rst-content table.docutils thead,
|
||||
html[data-theme="dark"] .rst-content table.field-list thead,
|
||||
html[data-theme="dark"] .wy-table thead {
|
||||
color: var(--dark-text-color);
|
||||
}
|
||||
|
||||
html[data-theme="dark"]
|
||||
.rst-content
|
||||
table.docutils:not(.field-list)
|
||||
tr:nth-child(2n-1)
|
||||
td,
|
||||
html[data-theme="dark"] .wy-table-backed,
|
||||
html[data-theme="dark"] html[data-theme="dark"] .wy-table-odd td,
|
||||
html[data-theme="dark"] .wy-table-striped tr:nth-child(2n-1) td {
|
||||
background-color: #181818;
|
||||
}
|
||||
|
||||
html[data-theme="dark"] .rst-content table.docutils td,
|
||||
html[data-theme="dark"] .wy-table-bordered-all td,
|
||||
html[data-theme="dark"].writer-html5 .rst-content table.docutils th,
|
||||
html[data-theme="dark"] .rst-content table.docutils,
|
||||
html[data-theme="dark"] .wy-table-bordered-all {
|
||||
border-color: #262626;
|
||||
}
|
||||
|
||||
html[data-theme="dark"] .rst-content table.docutils caption,
|
||||
html[data-theme="dark"] .rst-content table.field-list caption,
|
||||
html[data-theme="dark"] .wy-table caption {
|
||||
color: var(--dark-text-color);
|
||||
}
|
||||
|
||||
html[data-theme="dark"] .wy-menu-vertical li.toctree-l3.current > a,
|
||||
html[data-theme="dark"]
|
||||
.wy-menu-vertical
|
||||
li.toctree-l3.current
|
||||
li.toctree-l4
|
||||
> a {
|
||||
background-color: #18181a;
|
||||
}
|
||||
|
||||
html[data-theme="dark"] .guilabel {
|
||||
background-color: #343434;
|
||||
border-color: #4d4d4d;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
const loadTheme = () => {
|
||||
let theme = localStorage.getItem('theme');
|
||||
|
||||
if (theme !== null) {
|
||||
if (theme === 'dark')
|
||||
document.documentElement.setAttribute('data-theme', 'dark');
|
||||
} else {
|
||||
localStorage.setItem('theme', 'light');
|
||||
document.documentElement.setAttribute('data-theme', 'light');
|
||||
}
|
||||
};
|
||||
|
||||
loadTheme();
|
||||
@@ -0,0 +1,156 @@
|
||||
/*
|
||||
* doctools.js
|
||||
* ~~~~~~~~~~~
|
||||
*
|
||||
* Base JavaScript utilities for all Sphinx HTML documentation.
|
||||
*
|
||||
* :copyright: Copyright 2007-2024 by the Sphinx team, see AUTHORS.
|
||||
* :license: BSD, see LICENSE for details.
|
||||
*
|
||||
*/
|
||||
"use strict";
|
||||
|
||||
const BLACKLISTED_KEY_CONTROL_ELEMENTS = new Set([
|
||||
"TEXTAREA",
|
||||
"INPUT",
|
||||
"SELECT",
|
||||
"BUTTON",
|
||||
]);
|
||||
|
||||
const _ready = (callback) => {
|
||||
if (document.readyState !== "loading") {
|
||||
callback();
|
||||
} else {
|
||||
document.addEventListener("DOMContentLoaded", callback);
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* Small JavaScript module for the documentation.
|
||||
*/
|
||||
const Documentation = {
|
||||
init: () => {
|
||||
Documentation.initDomainIndexTable();
|
||||
Documentation.initOnKeyListeners();
|
||||
},
|
||||
|
||||
/**
|
||||
* i18n support
|
||||
*/
|
||||
TRANSLATIONS: {},
|
||||
PLURAL_EXPR: (n) => (n === 1 ? 0 : 1),
|
||||
LOCALE: "unknown",
|
||||
|
||||
// gettext and ngettext don't access this so that the functions
|
||||
// can safely bound to a different name (_ = Documentation.gettext)
|
||||
gettext: (string) => {
|
||||
const translated = Documentation.TRANSLATIONS[string];
|
||||
switch (typeof translated) {
|
||||
case "undefined":
|
||||
return string; // no translation
|
||||
case "string":
|
||||
return translated; // translation exists
|
||||
default:
|
||||
return translated[0]; // (singular, plural) translation tuple exists
|
||||
}
|
||||
},
|
||||
|
||||
ngettext: (singular, plural, n) => {
|
||||
const translated = Documentation.TRANSLATIONS[singular];
|
||||
if (typeof translated !== "undefined")
|
||||
return translated[Documentation.PLURAL_EXPR(n)];
|
||||
return n === 1 ? singular : plural;
|
||||
},
|
||||
|
||||
addTranslations: (catalog) => {
|
||||
Object.assign(Documentation.TRANSLATIONS, catalog.messages);
|
||||
Documentation.PLURAL_EXPR = new Function(
|
||||
"n",
|
||||
`return (${catalog.plural_expr})`
|
||||
);
|
||||
Documentation.LOCALE = catalog.locale;
|
||||
},
|
||||
|
||||
/**
|
||||
* helper function to focus on search bar
|
||||
*/
|
||||
focusSearchBar: () => {
|
||||
document.querySelectorAll("input[name=q]")[0]?.focus();
|
||||
},
|
||||
|
||||
/**
|
||||
* Initialise the domain index toggle buttons
|
||||
*/
|
||||
initDomainIndexTable: () => {
|
||||
const toggler = (el) => {
|
||||
const idNumber = el.id.substr(7);
|
||||
const toggledRows = document.querySelectorAll(`tr.cg-${idNumber}`);
|
||||
if (el.src.substr(-9) === "minus.png") {
|
||||
el.src = `${el.src.substr(0, el.src.length - 9)}plus.png`;
|
||||
toggledRows.forEach((el) => (el.style.display = "none"));
|
||||
} else {
|
||||
el.src = `${el.src.substr(0, el.src.length - 8)}minus.png`;
|
||||
toggledRows.forEach((el) => (el.style.display = ""));
|
||||
}
|
||||
};
|
||||
|
||||
const togglerElements = document.querySelectorAll("img.toggler");
|
||||
togglerElements.forEach((el) =>
|
||||
el.addEventListener("click", (event) => toggler(event.currentTarget))
|
||||
);
|
||||
togglerElements.forEach((el) => (el.style.display = ""));
|
||||
if (DOCUMENTATION_OPTIONS.COLLAPSE_INDEX) togglerElements.forEach(toggler);
|
||||
},
|
||||
|
||||
initOnKeyListeners: () => {
|
||||
// only install a listener if it is really needed
|
||||
if (
|
||||
!DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS &&
|
||||
!DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS
|
||||
)
|
||||
return;
|
||||
|
||||
document.addEventListener("keydown", (event) => {
|
||||
// bail for input elements
|
||||
if (BLACKLISTED_KEY_CONTROL_ELEMENTS.has(document.activeElement.tagName)) return;
|
||||
// bail with special keys
|
||||
if (event.altKey || event.ctrlKey || event.metaKey) return;
|
||||
|
||||
if (!event.shiftKey) {
|
||||
switch (event.key) {
|
||||
case "ArrowLeft":
|
||||
if (!DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) break;
|
||||
|
||||
const prevLink = document.querySelector('link[rel="prev"]');
|
||||
if (prevLink && prevLink.href) {
|
||||
window.location.href = prevLink.href;
|
||||
event.preventDefault();
|
||||
}
|
||||
break;
|
||||
case "ArrowRight":
|
||||
if (!DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) break;
|
||||
|
||||
const nextLink = document.querySelector('link[rel="next"]');
|
||||
if (nextLink && nextLink.href) {
|
||||
window.location.href = nextLink.href;
|
||||
event.preventDefault();
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// some keyboard layouts may need Shift to get /
|
||||
switch (event.key) {
|
||||
case "/":
|
||||
if (!DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS) break;
|
||||
Documentation.focusSearchBar();
|
||||
event.preventDefault();
|
||||
}
|
||||
});
|
||||
},
|
||||
};
|
||||
|
||||
// quick alias for translations
|
||||
const _ = Documentation.gettext;
|
||||
|
||||
_ready(Documentation.init);
|
||||
@@ -0,0 +1,13 @@
|
||||
const DOCUMENTATION_OPTIONS = {
|
||||
VERSION: '',
|
||||
LANGUAGE: 'en',
|
||||
COLLAPSE_INDEX: false,
|
||||
BUILDER: 'html',
|
||||
FILE_SUFFIX: '.html',
|
||||
LINK_SUFFIX: '.html',
|
||||
HAS_SOURCE: true,
|
||||
SOURCELINK_SUFFIX: '.txt',
|
||||
NAVIGATION_WITH_KEYS: false,
|
||||
SHOW_SEARCH_SUMMARY: true,
|
||||
ENABLE_SEARCH_SHORTCUTS: true,
|
||||
};
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,69 @@
|
||||
input[type='color'],
|
||||
input[type='date'],
|
||||
input[type='datetime-local'],
|
||||
input[type='datetime'],
|
||||
input[type='email'],
|
||||
input[type='month'],
|
||||
input[type='number'],
|
||||
input[type='password'],
|
||||
input[type='search'],
|
||||
input[type='tel'],
|
||||
input[type='text'],
|
||||
input[type='time'],
|
||||
input[type='url'],
|
||||
input[type='week'] {
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
.theme-switcher {
|
||||
border-radius: 50%;
|
||||
position: fixed;
|
||||
right: 1.6em;
|
||||
bottom: 1.4em;
|
||||
z-index: 3;
|
||||
border: none;
|
||||
height: 2.2em;
|
||||
width: 2.2em;
|
||||
background-color: #fcfcfc;
|
||||
font-size: 20px;
|
||||
-webkit-box-shadow: 0px 3px 14px 4px rgba(0, 0, 0, 0.62);
|
||||
box-shadow: 0px 3px 14px 4px rgba(0, 0, 0, 0.62);
|
||||
color: #404040;
|
||||
transition: all 0.3s ease-in-out;
|
||||
}
|
||||
|
||||
body,
|
||||
.wy-nav-content-wrap,
|
||||
.wy-nav-content,
|
||||
.section,
|
||||
.highlight,
|
||||
.rst-content div[class^='highlight'],
|
||||
.wy-nav-content a,
|
||||
.btn-neutral,
|
||||
.btn,
|
||||
footer,
|
||||
.wy-nav-side,
|
||||
.wy-menu-vertical li,
|
||||
.wy-menu-vertical a,
|
||||
.wy-side-nav-search .wy-dropdown,
|
||||
.wy-side-nav-search a,
|
||||
.wy-side-nav-search input,
|
||||
html.writer-html4 .rst-content dl:not(.docutils) > dt,
|
||||
html.writer-html5
|
||||
.rst-content
|
||||
dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple)
|
||||
> dt,
|
||||
.rst-content code,
|
||||
.rst-content tt,
|
||||
html.writer-html4 .rst-content dl:not(.docutils) dl:not(.field-list) > dt,
|
||||
html.writer-html5
|
||||
.rst-content
|
||||
dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple)
|
||||
dl:not(.field-list)
|
||||
> dt,
|
||||
code,
|
||||
.rst-content code.xref,
|
||||
.rst-content tt.xref {
|
||||
transition: all 0.2s ease-in-out;
|
||||
}
|
||||
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,75 @@
|
||||
pre { line-height: 125%; }
|
||||
td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
|
||||
span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
|
||||
td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
|
||||
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
|
||||
.highlight .hll { background-color: #ffffcc }
|
||||
.highlight { background: #eeffcc; }
|
||||
.highlight .c { color: #408090; font-style: italic } /* Comment */
|
||||
.highlight .err { border: 1px solid #FF0000 } /* Error */
|
||||
.highlight .k { color: #007020; font-weight: bold } /* Keyword */
|
||||
.highlight .o { color: #666666 } /* Operator */
|
||||
.highlight .ch { color: #408090; font-style: italic } /* Comment.Hashbang */
|
||||
.highlight .cm { color: #408090; font-style: italic } /* Comment.Multiline */
|
||||
.highlight .cp { color: #007020 } /* Comment.Preproc */
|
||||
.highlight .cpf { color: #408090; font-style: italic } /* Comment.PreprocFile */
|
||||
.highlight .c1 { color: #408090; font-style: italic } /* Comment.Single */
|
||||
.highlight .cs { color: #408090; background-color: #fff0f0 } /* Comment.Special */
|
||||
.highlight .gd { color: #A00000 } /* Generic.Deleted */
|
||||
.highlight .ge { font-style: italic } /* Generic.Emph */
|
||||
.highlight .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */
|
||||
.highlight .gr { color: #FF0000 } /* Generic.Error */
|
||||
.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
|
||||
.highlight .gi { color: #00A000 } /* Generic.Inserted */
|
||||
.highlight .go { color: #333333 } /* Generic.Output */
|
||||
.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
|
||||
.highlight .gs { font-weight: bold } /* Generic.Strong */
|
||||
.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
|
||||
.highlight .gt { color: #0044DD } /* Generic.Traceback */
|
||||
.highlight .kc { color: #007020; font-weight: bold } /* Keyword.Constant */
|
||||
.highlight .kd { color: #007020; font-weight: bold } /* Keyword.Declaration */
|
||||
.highlight .kn { color: #007020; font-weight: bold } /* Keyword.Namespace */
|
||||
.highlight .kp { color: #007020 } /* Keyword.Pseudo */
|
||||
.highlight .kr { color: #007020; font-weight: bold } /* Keyword.Reserved */
|
||||
.highlight .kt { color: #902000 } /* Keyword.Type */
|
||||
.highlight .m { color: #208050 } /* Literal.Number */
|
||||
.highlight .s { color: #4070a0 } /* Literal.String */
|
||||
.highlight .na { color: #4070a0 } /* Name.Attribute */
|
||||
.highlight .nb { color: #007020 } /* Name.Builtin */
|
||||
.highlight .nc { color: #0e84b5; font-weight: bold } /* Name.Class */
|
||||
.highlight .no { color: #60add5 } /* Name.Constant */
|
||||
.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
|
||||
.highlight .ni { color: #d55537; font-weight: bold } /* Name.Entity */
|
||||
.highlight .ne { color: #007020 } /* Name.Exception */
|
||||
.highlight .nf { color: #06287e } /* Name.Function */
|
||||
.highlight .nl { color: #002070; font-weight: bold } /* Name.Label */
|
||||
.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
|
||||
.highlight .nt { color: #062873; font-weight: bold } /* Name.Tag */
|
||||
.highlight .nv { color: #bb60d5 } /* Name.Variable */
|
||||
.highlight .ow { color: #007020; font-weight: bold } /* Operator.Word */
|
||||
.highlight .w { color: #bbbbbb } /* Text.Whitespace */
|
||||
.highlight .mb { color: #208050 } /* Literal.Number.Bin */
|
||||
.highlight .mf { color: #208050 } /* Literal.Number.Float */
|
||||
.highlight .mh { color: #208050 } /* Literal.Number.Hex */
|
||||
.highlight .mi { color: #208050 } /* Literal.Number.Integer */
|
||||
.highlight .mo { color: #208050 } /* Literal.Number.Oct */
|
||||
.highlight .sa { color: #4070a0 } /* Literal.String.Affix */
|
||||
.highlight .sb { color: #4070a0 } /* Literal.String.Backtick */
|
||||
.highlight .sc { color: #4070a0 } /* Literal.String.Char */
|
||||
.highlight .dl { color: #4070a0 } /* Literal.String.Delimiter */
|
||||
.highlight .sd { color: #4070a0; font-style: italic } /* Literal.String.Doc */
|
||||
.highlight .s2 { color: #4070a0 } /* Literal.String.Double */
|
||||
.highlight .se { color: #4070a0; font-weight: bold } /* Literal.String.Escape */
|
||||
.highlight .sh { color: #4070a0 } /* Literal.String.Heredoc */
|
||||
.highlight .si { color: #70a0d0; font-style: italic } /* Literal.String.Interpol */
|
||||
.highlight .sx { color: #c65d09 } /* Literal.String.Other */
|
||||
.highlight .sr { color: #235388 } /* Literal.String.Regex */
|
||||
.highlight .s1 { color: #4070a0 } /* Literal.String.Single */
|
||||
.highlight .ss { color: #517918 } /* Literal.String.Symbol */
|
||||
.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
|
||||
.highlight .fm { color: #06287e } /* Name.Function.Magic */
|
||||
.highlight .vc { color: #bb60d5 } /* Name.Variable.Class */
|
||||
.highlight .vg { color: #bb60d5 } /* Name.Variable.Global */
|
||||
.highlight .vi { color: #bb60d5 } /* Name.Variable.Instance */
|
||||
.highlight .vm { color: #bb60d5 } /* Name.Variable.Magic */
|
||||
.highlight .il { color: #208050 } /* Literal.Number.Integer.Long */
|
||||
@@ -0,0 +1,302 @@
|
||||
/* Left for CSS overrides we need to make in the future */
|
||||
|
||||
/* Fix badge on RTD Theme */
|
||||
|
||||
/* Please keep RTD badge displayed on your site */
|
||||
.rst-versions.rst-badge {
|
||||
display: block;
|
||||
|
||||
bottom: 50px;
|
||||
|
||||
/* Workaround for mkdocs which set a specific height for this element */
|
||||
height: auto;
|
||||
}
|
||||
|
||||
.rst-other-versions {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.rst-other-versions a {
|
||||
border: 0;
|
||||
}
|
||||
|
||||
.rst-other-versions dl {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.rtd-current-item {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
|
||||
/* Fix RTD theme bottom margin */
|
||||
.rst-content .line-block {
|
||||
margin-bottom: 24px
|
||||
}
|
||||
|
||||
/* Fix for nav bottom padding with flyout */
|
||||
nav.wy-nav-side {
|
||||
padding-bottom: 3em;
|
||||
}
|
||||
|
||||
/* bookmark icon */
|
||||
.bookmark-added-msg {display: none;}
|
||||
.bookmark-active {display: none;}
|
||||
.bookmark-inactive {display: none;}
|
||||
|
||||
|
||||
/* Read the Docs promotional block, only applicable to RTD.org
|
||||
|
||||
To support sphinx_rtd_theme, a `wy-menu` element is added. Other themes are
|
||||
targeted using the theme identifier and use custom elements instead of a CSS
|
||||
framework html structure.
|
||||
|
||||
*/
|
||||
|
||||
div.ethical-sidebar,
|
||||
div.ethical-footer {
|
||||
display: block !important;
|
||||
}
|
||||
.ethical-sidebar,
|
||||
.ethical-footer {
|
||||
padding: 0.5em;
|
||||
margin: 1em 0;
|
||||
}
|
||||
.ethical-sidebar img,
|
||||
.ethical-footer img {
|
||||
width: 120px;
|
||||
height: 90px;
|
||||
display: inline-block;
|
||||
}
|
||||
.ethical-sidebar .ethical-callout,
|
||||
.ethical-footer .ethical-callout {
|
||||
padding-top: 1em;
|
||||
clear: both;
|
||||
}
|
||||
.ethical-sidebar .ethical-pixel,
|
||||
.ethical-footer .ethical-pixel,
|
||||
.ethical-fixedfooter .ethical-pixel {
|
||||
display: none !important;
|
||||
}
|
||||
.ethical-sidebar .ethical-text,
|
||||
.ethical-footer .ethical-text {
|
||||
margin-top: 1em;
|
||||
}
|
||||
.ethical-sidebar .ethical-image-link,
|
||||
.ethical-footer .ethical-image-link {
|
||||
border: 0;
|
||||
}
|
||||
|
||||
.ethical-sidebar,
|
||||
.ethical-footer {
|
||||
background-color: #eee;
|
||||
border: 1px solid #ccc;
|
||||
border-radius: 5px;
|
||||
color: #0a0a0a;
|
||||
font-size: 14px;
|
||||
line-height: 20px;
|
||||
}
|
||||
|
||||
/* Techstack badging */
|
||||
.ethical-sidebar ul {
|
||||
margin: 0 !important;
|
||||
padding-left: 0;
|
||||
list-style: none;
|
||||
}
|
||||
.ethical-sidebar ul li {
|
||||
display: inline-block;
|
||||
background-color: lightskyblue;
|
||||
color: black;
|
||||
padding: 0.25em 0.4em;
|
||||
font-size: 75%;
|
||||
font-weight: 700;
|
||||
margin: 0.25em;
|
||||
border-radius: 0.25rem;
|
||||
text-align: center;
|
||||
vertical-align: baseline;
|
||||
white-space: nowrap;
|
||||
line-height: 1.41;
|
||||
}
|
||||
.ethical-sidebar ul li:not(:last-child) {
|
||||
margin-right: .25rem;
|
||||
}
|
||||
|
||||
.ethical-sidebar a,
|
||||
.ethical-sidebar a:visited,
|
||||
.ethical-sidebar a:hover,
|
||||
.ethical-sidebar a:active,
|
||||
.ethical-footer a,
|
||||
.ethical-footer a:visited,
|
||||
.ethical-footer a:hover,
|
||||
.ethical-footer a:active {
|
||||
color: #0a0a0a;
|
||||
text-decoration: none !important;
|
||||
border-bottom: 0 !important;
|
||||
}
|
||||
|
||||
.ethical-callout a {
|
||||
color: #707070 !important;
|
||||
text-decoration: none !important;
|
||||
}
|
||||
|
||||
/* Sidebar promotions */
|
||||
.ethical-sidebar {
|
||||
text-align: center;
|
||||
max-width: 300px;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
/* Footer promotions */
|
||||
.ethical-footer {
|
||||
text-align: left;
|
||||
|
||||
font-size: 14px;
|
||||
line-height: 20px;
|
||||
}
|
||||
.ethical-footer img {
|
||||
float: right;
|
||||
margin-left: 25px;
|
||||
}
|
||||
.ethical-footer .ethical-callout {
|
||||
text-align: center;
|
||||
}
|
||||
.ethical-footer small {
|
||||
font-size: 10px;
|
||||
}
|
||||
|
||||
/* Fixed footer promotions */
|
||||
.ethical-fixedfooter {
|
||||
box-sizing: border-box;
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
z-index: 100;
|
||||
background-color: #eee;
|
||||
border-top: 1px solid #bfbfbf;
|
||||
font-size: 12px;
|
||||
line-height: 1.5;
|
||||
padding: 0.5em 1.5em;
|
||||
text-align: center;
|
||||
color: #404040;
|
||||
width: 100%; /* Fallback for Opera Mini */
|
||||
width: 100vw;
|
||||
}
|
||||
@media (min-width: 769px) {
|
||||
/* Improve viewing on non-mobile */
|
||||
.ethical-fixedfooter {
|
||||
font-size: 13px;
|
||||
padding: 1em 1.5em;
|
||||
}
|
||||
}
|
||||
.ethical-fixedfooter .ethical-text:before {
|
||||
margin-right: 4px;
|
||||
padding: 2px 6px;
|
||||
border-radius: 3px;
|
||||
background-color: #4caf50;
|
||||
color: #fff;
|
||||
content: "Sponsored";
|
||||
}
|
||||
.ethical-fixedfooter .ethical-callout {
|
||||
color: #999;
|
||||
padding-left: 6px;
|
||||
white-space: nowrap;
|
||||
}
|
||||
.ethical-fixedfooter a,
|
||||
.ethical-fixedfooter a:hover,
|
||||
.ethical-fixedfooter a:active,
|
||||
.ethical-fixedfooter a:visited {
|
||||
color: #404040;
|
||||
text-decoration: none;
|
||||
}
|
||||
.ethical-fixedfooter .ethical-close {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 5px;
|
||||
font-size: 20px;
|
||||
line-height: 20px;
|
||||
}
|
||||
|
||||
/* RTD Theme specific customizations */
|
||||
.wy-nav-side .ethical-rtd {
|
||||
/* RTD theme doesn't correctly set the sidebar width */
|
||||
max-width: 300px;
|
||||
padding: 0 1em;
|
||||
}
|
||||
.ethical-rtd .ethical-sidebar {
|
||||
/* RTD theme doesn't set sidebar text color */
|
||||
color: #b3b3b3;
|
||||
|
||||
font-size: 14px;
|
||||
line-height: 20px;
|
||||
}
|
||||
|
||||
@media (min-width: 769px) {
|
||||
/* Make sure the fixed footer ad is under the RTD theme version selector */
|
||||
.wy-body-for-nav .ethical-fixedfooter {
|
||||
padding-left: 300px;
|
||||
}
|
||||
}
|
||||
|
||||
/* Alabaster specific customizations */
|
||||
.ethical-alabaster a.ethical-image-link {
|
||||
/* Alabaster adds a border even to image links on hover */
|
||||
border: 0 !important;
|
||||
}
|
||||
.ethical-alabaster hr {
|
||||
/* Alabaster needs some extra spacing before the footer ad */
|
||||
margin-top: 2em;
|
||||
}
|
||||
.ethical-alabaster::before {
|
||||
/* Alabaster's search box above the ad is floating */
|
||||
clear: both;
|
||||
content: '';
|
||||
display: table;
|
||||
margin-top: 3em;
|
||||
}
|
||||
|
||||
/* Dark theme */
|
||||
.ethical-dark-theme .ethical-sidebar {
|
||||
background-color: #4e4b4b;
|
||||
border: 1px solid #a0a0a0;
|
||||
color: #c2c2c2 !important;
|
||||
}
|
||||
.ethical-dark-theme a,
|
||||
.ethical-dark-theme a:visited {
|
||||
color: #e6e6e6 !important;
|
||||
border-bottom: 0 !important;
|
||||
}
|
||||
.ethical-dark-theme .ethical-callout a {
|
||||
color: #b3b3b3 !important;
|
||||
}
|
||||
|
||||
|
||||
/* Ad block nag */
|
||||
.keep-us-sustainable {
|
||||
padding: .5em;
|
||||
margin: 1em auto;
|
||||
text-align: center;
|
||||
border: 1px dotted #8ECC4C;
|
||||
max-width: 300px;
|
||||
}
|
||||
.keep-us-sustainable a,
|
||||
.keep-us-sustainable a:hover,
|
||||
.keep-us-sustainable a:visited {
|
||||
text-decoration: none;
|
||||
}
|
||||
/* Read the Docs theme specific fixes */
|
||||
.wy-nav-side .keep-us-sustainable {
|
||||
margin: 1em 2em 1em 1em;
|
||||
color: #b3b3b3;
|
||||
}
|
||||
.wy-nav-side .keep-us-sustainable a {
|
||||
color: #efefef;
|
||||
font-size: 14px;
|
||||
line-height: 20px;
|
||||
}
|
||||
|
||||
/* Margin between the search results */
|
||||
.rtd_search_hits_spacing {
|
||||
margin: 10px 0;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
|
||||
<!-- saved from url=(0011)about:blank -->
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></head><body></body></html>
|
||||
@@ -0,0 +1,154 @@
|
||||
/* Highlighting utilities for Sphinx HTML documentation. */
|
||||
"use strict";
|
||||
|
||||
const SPHINX_HIGHLIGHT_ENABLED = true
|
||||
|
||||
/**
|
||||
* highlight a given string on a node by wrapping it in
|
||||
* span elements with the given class name.
|
||||
*/
|
||||
const _highlight = (node, addItems, text, className) => {
|
||||
if (node.nodeType === Node.TEXT_NODE) {
|
||||
const val = node.nodeValue;
|
||||
const parent = node.parentNode;
|
||||
const pos = val.toLowerCase().indexOf(text);
|
||||
if (
|
||||
pos >= 0 &&
|
||||
!parent.classList.contains(className) &&
|
||||
!parent.classList.contains("nohighlight")
|
||||
) {
|
||||
let span;
|
||||
|
||||
const closestNode = parent.closest("body, svg, foreignObject");
|
||||
const isInSVG = closestNode && closestNode.matches("svg");
|
||||
if (isInSVG) {
|
||||
span = document.createElementNS("http://www.w3.org/2000/svg", "tspan");
|
||||
} else {
|
||||
span = document.createElement("span");
|
||||
span.classList.add(className);
|
||||
}
|
||||
|
||||
span.appendChild(document.createTextNode(val.substr(pos, text.length)));
|
||||
const rest = document.createTextNode(val.substr(pos + text.length));
|
||||
parent.insertBefore(
|
||||
span,
|
||||
parent.insertBefore(
|
||||
rest,
|
||||
node.nextSibling
|
||||
)
|
||||
);
|
||||
node.nodeValue = val.substr(0, pos);
|
||||
/* There may be more occurrences of search term in this node. So call this
|
||||
* function recursively on the remaining fragment.
|
||||
*/
|
||||
_highlight(rest, addItems, text, className);
|
||||
|
||||
if (isInSVG) {
|
||||
const rect = document.createElementNS(
|
||||
"http://www.w3.org/2000/svg",
|
||||
"rect"
|
||||
);
|
||||
const bbox = parent.getBBox();
|
||||
rect.x.baseVal.value = bbox.x;
|
||||
rect.y.baseVal.value = bbox.y;
|
||||
rect.width.baseVal.value = bbox.width;
|
||||
rect.height.baseVal.value = bbox.height;
|
||||
rect.setAttribute("class", className);
|
||||
addItems.push({ parent: parent, target: rect });
|
||||
}
|
||||
}
|
||||
} else if (node.matches && !node.matches("button, select, textarea")) {
|
||||
node.childNodes.forEach((el) => _highlight(el, addItems, text, className));
|
||||
}
|
||||
};
|
||||
const _highlightText = (thisNode, text, className) => {
|
||||
let addItems = [];
|
||||
_highlight(thisNode, addItems, text, className);
|
||||
addItems.forEach((obj) =>
|
||||
obj.parent.insertAdjacentElement("beforebegin", obj.target)
|
||||
);
|
||||
};
|
||||
|
||||
/**
|
||||
* Small JavaScript module for the documentation.
|
||||
*/
|
||||
const SphinxHighlight = {
|
||||
|
||||
/**
|
||||
* highlight the search words provided in localstorage in the text
|
||||
*/
|
||||
highlightSearchWords: () => {
|
||||
if (!SPHINX_HIGHLIGHT_ENABLED) return; // bail if no highlight
|
||||
|
||||
// get and clear terms from localstorage
|
||||
const url = new URL(window.location);
|
||||
const highlight =
|
||||
localStorage.getItem("sphinx_highlight_terms")
|
||||
|| url.searchParams.get("highlight")
|
||||
|| "";
|
||||
localStorage.removeItem("sphinx_highlight_terms")
|
||||
url.searchParams.delete("highlight");
|
||||
window.history.replaceState({}, "", url);
|
||||
|
||||
// get individual terms from highlight string
|
||||
const terms = highlight.toLowerCase().split(/\s+/).filter(x => x);
|
||||
if (terms.length === 0) return; // nothing to do
|
||||
|
||||
// There should never be more than one element matching "div.body"
|
||||
const divBody = document.querySelectorAll("div.body");
|
||||
const body = divBody.length ? divBody[0] : document.querySelector("body");
|
||||
window.setTimeout(() => {
|
||||
terms.forEach((term) => _highlightText(body, term, "highlighted"));
|
||||
}, 10);
|
||||
|
||||
const searchBox = document.getElementById("searchbox");
|
||||
if (searchBox === null) return;
|
||||
searchBox.appendChild(
|
||||
document
|
||||
.createRange()
|
||||
.createContextualFragment(
|
||||
'<p class="highlight-link">' +
|
||||
'<a href="javascript:SphinxHighlight.hideSearchWords()">' +
|
||||
_("Hide Search Matches") +
|
||||
"</a></p>"
|
||||
)
|
||||
);
|
||||
},
|
||||
|
||||
/**
|
||||
* helper function to hide the search marks again
|
||||
*/
|
||||
hideSearchWords: () => {
|
||||
document
|
||||
.querySelectorAll("#searchbox .highlight-link")
|
||||
.forEach((el) => el.remove());
|
||||
document
|
||||
.querySelectorAll("span.highlighted")
|
||||
.forEach((el) => el.classList.remove("highlighted"));
|
||||
localStorage.removeItem("sphinx_highlight_terms")
|
||||
},
|
||||
|
||||
initEscapeListener: () => {
|
||||
// only install a listener if it is really needed
|
||||
if (!DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS) return;
|
||||
|
||||
document.addEventListener("keydown", (event) => {
|
||||
// bail for input elements
|
||||
if (BLACKLISTED_KEY_CONTROL_ELEMENTS.has(document.activeElement.tagName)) return;
|
||||
// bail with special keys
|
||||
if (event.shiftKey || event.altKey || event.ctrlKey || event.metaKey) return;
|
||||
if (DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS && (event.key === "Escape")) {
|
||||
SphinxHighlight.hideSearchWords();
|
||||
event.preventDefault();
|
||||
}
|
||||
});
|
||||
},
|
||||
};
|
||||
|
||||
_ready(() => {
|
||||
/* Do not call highlightSearchWords() when we are on the search page.
|
||||
* It will highlight words from the *previous* search query.
|
||||
*/
|
||||
if (typeof Search === "undefined") SphinxHighlight.highlightSearchWords();
|
||||
SphinxHighlight.initEscapeListener();
|
||||
});
|
||||
@@ -0,0 +1,90 @@
|
||||
.sphinx-tabs {
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
|
||||
[role="tablist"] {
|
||||
border-bottom: 1px solid #a0b3bf;
|
||||
}
|
||||
|
||||
.sphinx-tabs-tab {
|
||||
position: relative;
|
||||
font-family: Lato,'Helvetica Neue',Arial,Helvetica,sans-serif;
|
||||
color: #1D5C87;
|
||||
line-height: 24px;
|
||||
margin: 0;
|
||||
font-size: 16px;
|
||||
font-weight: 400;
|
||||
background-color: rgba(255, 255, 255, 0);
|
||||
border-radius: 5px 5px 0 0;
|
||||
border: 0;
|
||||
padding: 1rem 1.5rem;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.sphinx-tabs-tab[aria-selected="true"] {
|
||||
font-weight: 700;
|
||||
border: 1px solid #a0b3bf;
|
||||
border-bottom: 1px solid white;
|
||||
margin: -1px;
|
||||
background-color: white;
|
||||
}
|
||||
|
||||
.sphinx-tabs-tab:focus {
|
||||
z-index: 1;
|
||||
outline-offset: 1px;
|
||||
}
|
||||
|
||||
.sphinx-tabs-panel {
|
||||
position: relative;
|
||||
padding: 1rem;
|
||||
border: 1px solid #a0b3bf;
|
||||
margin: 0px -1px -1px -1px;
|
||||
border-radius: 0 0 5px 5px;
|
||||
border-top: 0;
|
||||
background: white;
|
||||
}
|
||||
|
||||
.sphinx-tabs-panel.code-tab {
|
||||
padding: 0.4rem;
|
||||
}
|
||||
|
||||
.sphinx-tab img {
|
||||
margin-bottom: 24 px;
|
||||
}
|
||||
|
||||
/* Dark theme preference styling */
|
||||
|
||||
@media (prefers-color-scheme: dark) {
|
||||
body[data-theme="auto"] .sphinx-tabs-panel {
|
||||
color: white;
|
||||
background-color: rgb(50, 50, 50);
|
||||
}
|
||||
|
||||
body[data-theme="auto"] .sphinx-tabs-tab {
|
||||
color: white;
|
||||
background-color: rgba(255, 255, 255, 0.05);
|
||||
}
|
||||
|
||||
body[data-theme="auto"] .sphinx-tabs-tab[aria-selected="true"] {
|
||||
border-bottom: 1px solid rgb(50, 50, 50);
|
||||
background-color: rgb(50, 50, 50);
|
||||
}
|
||||
}
|
||||
|
||||
/* Explicit dark theme styling */
|
||||
|
||||
body[data-theme="dark"] .sphinx-tabs-panel {
|
||||
color: white;
|
||||
background-color: rgb(50, 50, 50);
|
||||
}
|
||||
|
||||
body[data-theme="dark"] .sphinx-tabs-tab {
|
||||
color: white;
|
||||
background-color: rgba(255, 255, 255, 0.05);
|
||||
}
|
||||
|
||||
body[data-theme="dark"] .sphinx-tabs-tab[aria-selected="true"] {
|
||||
border-bottom: 2px solid rgb(50, 50, 50);
|
||||
background-color: rgb(50, 50, 50);
|
||||
}
|
||||
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,39 @@
|
||||
const createThemeSwitcher = () => {
|
||||
let btn = document.createElement('BUTTON');
|
||||
btn.className = 'theme-switcher';
|
||||
btn.id = 'themeSwitcher';
|
||||
btn.innerHTML =
|
||||
'<i id=themeMoon class="fa fa-moon-o"></i><i id=themeSun class="fa fa-sun-o"></i>';
|
||||
document.body.appendChild(btn);
|
||||
|
||||
if (localStorage.getItem('theme') === 'dark') $('#themeMoon').hide(0);
|
||||
else $('#themeSun').hide(0);
|
||||
};
|
||||
|
||||
$(document).ready(() => {
|
||||
createThemeSwitcher();
|
||||
$('#themeSwitcher').click(switchTheme);
|
||||
|
||||
$('footer').html(
|
||||
$('footer').html() +
|
||||
'<a href="https://github.com/MrDogeBro/sphinx_rtd_dark_mode">Dark theme</a> provided by <a href="http://mrdogebro.com">MrDogeBro</a>.'
|
||||
);
|
||||
});
|
||||
|
||||
const switchTheme = () => {
|
||||
if (localStorage.getItem('theme') === 'dark') {
|
||||
localStorage.setItem('theme', 'light');
|
||||
document.documentElement.setAttribute('data-theme', 'light');
|
||||
|
||||
$('#themeSun').fadeOut(200, () => {
|
||||
$('#themeMoon').fadeIn(200);
|
||||
});
|
||||
} else {
|
||||
localStorage.setItem('theme', 'dark');
|
||||
document.documentElement.setAttribute('data-theme', 'dark');
|
||||
|
||||
$('#themeMoon').fadeOut(200, () => {
|
||||
$('#themeSun').fadeIn(200);
|
||||
});
|
||||
}
|
||||
};
|
||||
@@ -0,0 +1,23 @@
|
||||
<!DOCTYPE html>
|
||||
<!-- saved from url=(0090)https://googleads.g.doubleclick.net/pagead/html/r20250401/r20190131/zrt_lookup_fy2021.html -->
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><script>
|
||||
(function(){'use strict';/*
|
||||
|
||||
Copyright The Closure Library Authors.
|
||||
SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
var p=this||self;function q(){var a=p.navigator;return a&&(a=a.userAgent)?a:""};function x(a,b){Array.prototype.forEach.call(a,b,void 0)};function y(a){y[" "](a);return a}y[" "]=function(){};var aa=q().toLowerCase().indexOf("webkit")!=-1&&q().indexOf("Edge")==-1;function ba(a){var b=window;b.addEventListener&&b.addEventListener("load",a,!1)};/*
|
||||
|
||||
Copyright Google LLC
|
||||
SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
let z=globalThis.trustedTypes,B;function ca(){let a=null;if(!z)return a;try{const b=c=>c;a=z.createPolicy("goog#html",{createHTML:b,createScript:b,createScriptURL:b})}catch(b){}return a};var C=class{constructor(a){this.g=a}toString(){return this.g+""}};function D(a){if(a instanceof C)return a.g;throw Error("");};var da=RegExp("^(?:([^:/?#.]+):)?(?://(?:([^\\\\/?#]*)@)?([^\\\\/?#]*?)(?::([0-9]+))?(?=[\\\\/?#]|$))?([^?#]+)?(?:\\?([^#]*))?(?:#([\\s\\S]*))?$");function E(a){try{var b;if(b=!!a&&a.location.href!=null)a:{try{y(a.foo);b=!0;break a}catch(c){}b=!1}return b}catch{return!1}}function F(a=!1){const b=[p.top],c=[];let d=0,f;for(;f=b[d++];){a&&!E(f)||c.push(f);try{if(f.frames)for(let e=0;e<f.frames.length&&b.length<1024;++e)b.push(f.frames[e])}catch{}}return c}function G(a,b){if(a)for(const c in a)Object.prototype.hasOwnProperty.call(a,c)&&b(a[c],c,a)}function ea(a=document){return a.createElement("img")};function fa(a){p.google_image_requests||(p.google_image_requests=[]);const b=ea(p.document);b.src=a;p.google_image_requests.push(b)};let H=null;function ha(){if(!H)b:{var a=F();for(var b=0;b<a.length;b++)try{const c=a[b].frames.google_esf;if(c&&E(c)){H=c;break b}}catch(c){}H=null}(a=H)?((b=a.esf_propArray)||(b=a.esf_propArray={}),a=b):a=null;return a?.[2]};var J=window;var K=/#(R?S)-(.*)/,ma=/^(\d+)-(.*)/;var na=class{constructor(a,b){this.error=a;this.meta={};this.context=b.context;this.msg=b.message||"";this.id=b.id||"jserror"}};function L(a){let b=a.toString();a.name&&b.indexOf(a.name)==-1&&(b+=": "+a.name);a.message&&b.indexOf(a.message)==-1&&(b+=": "+a.message);if(a.stack)a:{a=a.stack;var c=b;try{a.indexOf(c)==-1&&(a=c+"\n"+a);let d;for(;a!=d;)d=a,a=a.replace(RegExp("((https?:/..*/)[^/:]*:\\d+(?:.|\n)*)\\2"),"$1");b=a.replace(RegExp("\n *","g"),"\n");break a}catch(d){b=c;break a}b=void 0}return b};const oa=RegExp("^https?://(\\w|-)+\\.cdn\\.ampproject\\.(net|org)(\\?|/|$)");var pa=class{constructor(a,b){this.g=a;this.h=b}},qa=class{constructor(a,b){this.url=a;this.g=!!b;this.depth=null}};let M=null;function ra(){const a=p.performance;return a&&a.now&&a.timing?Math.floor(a.now()+a.timing.navigationStart):Date.now()}function sa(){const a=p.performance;return a&&a.now?a.now():null};var ta=class{constructor(a,b){var c=sa()||ra();this.label=a;this.type=b;this.value=c;this.duration=0;this.taskId=this.slotId=void 0;this.uniqueId=Math.random()}};const N=p.performance,ua=!!(N&&N.mark&&N.measure&&N.clearMarks),Q=function(a){let b=!1,c;return function(){b||(c=a(),b=!0);return c}}(()=>{var a;if(a=ua){var b;a=window;if(M===null){M="";try{let c="";try{c=a.top.location.hash}catch(d){c=a.location.hash}c&&(M=(b=c.match(/\bdeid=([\d,]+)/))?b[1]:"")}catch(c){}}b=M;a=!!b.indexOf&&b.indexOf("1337")>=0}return a});function va(a){a&&N&&Q()&&(N.clearMarks(`goog_${a.label}_${a.uniqueId}_start`),N.clearMarks(`goog_${a.label}_${a.uniqueId}_end`))};function R(a,b){const c={};c[a]=b;return[c]}function wa(a,b,c,d,f){const e=[];G(a,(g,l)=>{(g=xa(g,b,c,d,f))&&e.push(`${l}=${g}`)});return e.join(b)}
|
||||
function xa(a,b,c,d,f){if(a==null)return"";b=b||"&";c=c||",$";typeof c==="string"&&(c=c.split(""));if(a instanceof Array){if(d||(d=0),d<c.length){const e=[];for(let g=0;g<a.length;g++)e.push(xa(a[g],b,c,d+1,f));return e.join(c[d])}}else if(typeof a==="object")return f||(f=0),f<2?encodeURIComponent(wa(a,b,c,d,f+1)):"...";return encodeURIComponent(String(a))}function ya(a){let b=1;for(const c in a.h)c.length>b&&(b=c.length);return 3997-b-a.i.length-1}
|
||||
function za(a,b){let c="https://pagead2.googlesyndication.com"+b,d=ya(a)-b.length;if(d<0)return"";a.g.sort((e,g)=>e-g);b=null;let f="";for(let e=0;e<a.g.length;e++){const g=a.g[e],l=a.h[g];for(let h=0;h<l.length;h++){if(!d){b=b==null?g:b;break}let m=wa(l[h],a.i,",$");if(m){m=f+m;if(d>=m.length){d-=m.length;c+=m;f=a.i;break}b=b==null?g:b}}}a="";b!=null&&(a=`${f}${"trn"}=${b}`);return c+a}var S=class{constructor(){this.i="&";this.h={};this.j=0;this.g=[]}};var Ba=class{constructor(a=null){this.l=T;this.h=a;this.g=null;this.i=!1;this.m=this.j}j(a,b,c,d,f){f=f||"jserror";let e=void 0;try{const t=new S;var g=t;g.g.push(1);g.h[1]=R("context",a);b.error&&b.meta&&b.id||(b=new na(b,{message:L(b)}));g=b;if(g.msg){b=t;var l=g.msg.substring(0,512);b.g.push(2);b.h[2]=R("msg",l)}var h=g.meta||{};l=h;if(this.g)try{this.g(l)}catch(n){}if(d)try{d(l)}catch(n){}d=t;h=[h];d.g.push(3);d.h[3]=h;var m;if(!(m=r)){d=p;h=[];l=null;do{var k=d;if(E(k)){var v=k.location.href;
|
||||
l=k.document&&k.document.referrer||null}else v=l,l=null;h.push(new qa(v||""));try{d=k.parent}catch(n){d=null}}while(d&&k!==d);for(let n=0,ia=h.length-1;n<=ia;++n)h[n].depth=ia-n;k=p;if(k.location&&k.location.ancestorOrigins&&k.location.ancestorOrigins.length===h.length-1)for(v=1;v<h.length;++v){const n=h[v];n.url||(n.url=k.location.ancestorOrigins[v-1]||"",n.g=!0)}m=h}var r=m;let I=new qa(p.location.href,!1);m=null;const O=r.length-1;for(k=O;k>=0;--k){var u=r[k];!m&&oa.test(u.url)&&(m=u);if(u.url&&
|
||||
!u.g){I=u;break}}u=null;const Ga=r.length&&r[O].url;I.depth!==0&&Ga&&(u=r[O]);e=new pa(I,u);if(e.h){r=t;var w=e.h.url||"";r.g.push(4);r.h[4]=R("top",w)}var P={url:e.g.url||""};if(e.g.url){const n=e.g.url.match(da);var A=n[1],ja=n[3],ka=n[4];w="";A&&(w+=A+":");ja&&(w+="//",w+=ja,ka&&(w+=":"+ka));var la=w}else la="";A=t;P=[P,{url:la}];A.g.push(5);A.h[5]=P;Aa(this.l,f,t,this.i,c)}catch(t){try{Aa(this.l,f,{context:"ecmserr",rctx:a,msg:L(t),url:e?.g.url??""},this.i,c)}catch(I){}}return!0}};function Aa(a,b,c,d=!1,f){if((d?a.g:Math.random())<(f||.01))try{let e;c instanceof S?e=c:(e=new S,G(c,(l,h)=>{var m=e;const k=m.j++;l=R(h,l);m.g.push(k);m.h[k]=l}));const g=za(e,"/pagead/gen_204?id="+b+"&");g&&fa(g)}catch(e){}}function Ca(){var a=T,b=window.google_srt;b>=0&&b<=1&&(a.g=b)}var Da=class{constructor(){this.g=Math.random()}};let T,U;
|
||||
const V=new class{constructor(a,b){this.h=[];this.i=b||p;let c=null;b&&(b.google_js_reporting_queue=b.google_js_reporting_queue||[],this.h=b.google_js_reporting_queue,c=b.google_measure_js_timing);this.g=Q()||(c!=null?c:Math.random()<a)}start(a,b){if(!this.g)return null;a=new ta(a,b);b=`goog_${a.label}_${a.uniqueId}_start`;N&&Q()&&N.mark(b);return a}end(a){if(this.g&&typeof a.value==="number"){a.duration=(sa()||ra())-a.value;var b=`goog_${a.label}_${a.uniqueId}_end`;N&&Q()&&N.mark(b);!this.g||this.h.length>
|
||||
2048||this.h.push(a)}}}(1,window);function Ea(){window.google_measure_js_timing||(V.g=!1,V.h!==V.i.google_js_reporting_queue&&(Q()&&x(V.h,va),V.h.length=0))}(function(a){T=a??new Da;typeof window.google_srt!=="number"&&(window.google_srt=Math.random());Ca();U=new Ba(V);U.g=()=>{};U.i=!0;window.document.readyState==="complete"?Ea():V.g&&ba(()=>{Ea()})})();function Fa(a){U.g=b=>{x(a,c=>{c(b)})}};function Ha(a){a=a===null?"null":a===void 0?"undefined":a;B===void 0&&(B=ca());var b=B;return new C(b?b.createHTML(a):a)};var W;if(W=aa){var X="IFRAME",Ia=document;X=String(X);Ia.contentType==="application/xhtml+xml"&&(X=X.toLowerCase());W="srcdoc"in Ia.createElement(X)}const Ja=W;function Ka(a,b){a.open("text/html","replace");b=Ha(String(b));a.write(D(b));a.close()};function La(a){var b=F(!0).find(c=>!!c.google_reactive_sra_lookup)?.google_reactive_sra_lookup;return b?b[a]:(b=ha())?b[a]:null};(function(a){try{const b=/\/(r\d+|dev)\/r\d+\/zrt_lookup\.html/.exec(a.location.pathname);b&&b[1]&&Fa([c=>{c.shv=b[1]}])}catch(b){}})(window);function Ma(){var a=(K.exec("#"+J.name)||K.exec(J.location.href))?.[2];if(a&&(a=decodeURIComponent(a),a=ma.exec(a))&&(a=+a[1],!isNaN(a)&&(a=La(a)))){a=a.creative;let c=null;try{c=J.frameElement}catch(d){}var b;if(b=c)try{b=E(c.contentWindow)}catch(d){b=!1}b?(b=c,Ja?(a=Ha(a),b.srcdoc=D(a)):(b=b.contentWindow)&&Ka(b.document,a)):Ka(J.document,a)}}var Y=U;let Z;
|
||||
try{Y.h&&Y.h.g?(Z=Y.h.start((200).toString(),3),Ma(),Y.h.end(Z)):Ma()}catch(a){let b=!0;try{va(Z),b=Y.m(200,new na(a,{message:L(a)}),void 0,void 0)}catch(c){Y.j(217,c)}if(b)window.console?.error?.(a);else throw a;};}).call(this);
|
||||
</script>
|
||||
</head><body></body></html>
|
||||
Reference in New Issue
Block a user