diff --git a/docs/Types.rst b/docs/Types.rst index 78e52b2..d668c16 100644 --- a/docs/Types.rst +++ b/docs/Types.rst @@ -1,20 +1,20 @@ Types ============================= -.. autoclass:: pyqiwip2p.p2p_types.Customer.QiwiCustomer +.. autoclass:: pyqiwip2p.p2p_types.customer.QiwiCustomer :members: ----------------- -.. autoclass:: pyqiwip2p.p2p_types.Errors.QiwiError +.. autoclass:: pyqiwip2p.p2p_types.errors.QiwiError :members: ----------------- -.. autoclass:: pyqiwip2p.p2p_types.QiwiDatetime.QiwiDatetime +.. autoclass:: pyqiwip2p.p2p_types.qiwi_datetime.QiwiDatetime :members: ----------------- -.. autoclass:: pyqiwip2p.p2p_types.Responses.Bill +.. autoclass:: pyqiwip2p.p2p_types.responses.Bill :members: diff --git a/docs/_build/doctrees/environment.pickle b/docs/_build/doctrees/environment.pickle index 68a55fa..e1d1b27 100644 Binary files a/docs/_build/doctrees/environment.pickle and b/docs/_build/doctrees/environment.pickle differ diff --git a/docs/_build/doctrees/index.doctree b/docs/_build/doctrees/index.doctree index 394c915..7d6011f 100644 Binary files a/docs/_build/doctrees/index.doctree and b/docs/_build/doctrees/index.doctree differ diff --git a/docs/_build/html/.buildinfo b/docs/_build/html/.buildinfo index 53046ea..8ceae37 100644 --- a/docs/_build/html/.buildinfo +++ b/docs/_build/html/.buildinfo @@ -1,4 +1,4 @@ # Sphinx build info version 1 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. -config: 7417c51ab410bf868423f35830be2404 +config: afce2d67ccb796ffc7445cd054196eeb tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/docs/_build/html/_modules/index.html b/docs/_build/html/_modules/index.html index be1b725..50cd826 100644 --- a/docs/_build/html/_modules/index.html +++ b/docs/_build/html/_modules/index.html @@ -4,16 +4,16 @@ - + Обзор: исходный код модуля — документация PyQiwiP2P - - + + - + + - @@ -36,16 +36,13 @@

Навигация

Все модули, в которых есть код

-
- +
@@ -79,8 +76,8 @@

Навигация

\ No newline at end of file diff --git a/docs/_build/html/_sources/index.rst.txt b/docs/_build/html/_sources/index.rst.txt index f8d712b..e4e85ec 100644 --- a/docs/_build/html/_sources/index.rst.txt +++ b/docs/_build/html/_sources/index.rst.txt @@ -6,10 +6,38 @@ Документация PyQiwiP2P приветствует тебя! ========================================= -Обёрточка для `API Qiwi P2P`_ на Python. +Удобная обёрточка для `API Qiwi P2P`_ на Python. .. _`API Qiwi P2P`: https://developer.qiwi.com/ru/p2p-payments/#API +Важное уведомление +------------------ + +С июня Qiwi начала блокировать кошельки, если пользователь открыл +страницу оплаты "напрямую", тем самым не передав заголовок referer. + +**Это случается при открытии ссылки:** + +* из мессенджера +* из смс +* из письма +* из адресной строки +* из браузера с повышенным режимом приватности или расширениями для приватного просмотра + +Для обхода всех проблем, кроме последней (она не решается), к объекту +``Bill`` был добавлен атрибут ``Bill.alt_url``, который предоставляет ссылку +для перенаправления на страницу оплаты через специальную +страницу-прокладу, добавляющую этот самый referer. + +Страница предоставлена мною, но её можно поднять на своём сервере +с помощью docker-контейнера. + +* Исходники: `Github `_ +* Образ контейнера: ``ghcr.io/whiteapfel/pyqiwip2p:p2proxy`` +* Запуск: ``docker run -p 3600:3600 -d ghcr.io/whiteapfel/pyqiwip2p:p2proxy`` +* Свой домен в клиенте: ``p2p = AioQiwiP2P(PrivKey, alt="example.com")`` + + Зависимости ----------- diff --git a/docs/_build/html/_static/basic.css b/docs/_build/html/_static/basic.css index 2e3cf32..0889677 100644 --- a/docs/_build/html/_static/basic.css +++ b/docs/_build/html/_static/basic.css @@ -4,7 +4,7 @@ * * Sphinx stylesheet -- basic theme. * - * :copyright: Copyright 2007-2020 by the Sphinx team, see AUTHORS. + * :copyright: Copyright 2007-2022 by the Sphinx team, see AUTHORS. * :license: BSD, see LICENSE for details. * */ @@ -130,7 +130,7 @@ ul.search li a { font-weight: bold; } -ul.search li div.context { +ul.search li p.context { color: #888; margin: 2px 0 0 30px; text-align: left; @@ -222,7 +222,7 @@ table.modindextable td { /* -- general body styles --------------------------------------------------- */ div.body { - min-width: 450px; + min-width: 360px; max-width: 800px; } @@ -237,16 +237,6 @@ a.headerlink { visibility: hidden; } -a.brackets:before, -span.brackets > a:before{ - content: "["; -} - -a.brackets:after, -span.brackets > a:after { - content: "]"; -} - h1:hover > a.headerlink, h2:hover > a.headerlink, h3:hover > a.headerlink, @@ -277,25 +267,25 @@ p.rubric { font-weight: bold; } -img.align-left, .figure.align-left, object.align-left { +img.align-left, figure.align-left, .figure.align-left, object.align-left { clear: left; float: left; margin-right: 1em; } -img.align-right, .figure.align-right, object.align-right { +img.align-right, figure.align-right, .figure.align-right, object.align-right { clear: right; float: right; margin-left: 1em; } -img.align-center, .figure.align-center, object.align-center { +img.align-center, figure.align-center, .figure.align-center, object.align-center { display: block; margin-left: auto; margin-right: auto; } -img.align-default, .figure.align-default { +img.align-default, figure.align-default, .figure.align-default { display: block; margin-left: auto; margin-right: auto; @@ -319,7 +309,8 @@ img.align-default, .figure.align-default { /* -- sidebars -------------------------------------------------------------- */ -div.sidebar { +div.sidebar, +aside.sidebar { margin: 0 0 0.5em 1em; border: 1px solid #ddb; padding: 7px; @@ -333,12 +324,16 @@ div.sidebar { p.sidebar-title { font-weight: bold; } +nav.contents, +aside.topic, div.admonition, div.topic, blockquote { clear: left; } /* -- topics ---------------------------------------------------------------- */ +nav.contents, +aside.topic, div.topic { border: 1px solid #ccc; @@ -377,12 +372,20 @@ div.body p.centered { /* -- content of sidebars/topics/admonitions -------------------------------- */ div.sidebar > :last-child, +aside.sidebar > :last-child, +nav.contents > :last-child, +aside.topic > :last-child, + div.topic > :last-child, div.admonition > :last-child { margin-bottom: 0; } div.sidebar::after, +aside.sidebar::after, +nav.contents::after, +aside.topic::after, + div.topic::after, div.admonition::after, blockquote::after { @@ -425,10 +428,6 @@ table.docutils td, table.docutils th { border-bottom: 1px solid #aaa; } -table.footnote td, table.footnote th { - border: 0 !important; -} - th { text-align: left; padding-right: 5px; @@ -455,20 +454,22 @@ td > :last-child { /* -- figures --------------------------------------------------------------- */ -div.figure { +div.figure, figure { margin: 0.5em; padding: 0.5em; } -div.figure p.caption { +div.figure p.caption, figcaption { padding: 0.3em; } -div.figure p.caption span.caption-number { +div.figure p.caption span.caption-number, +figcaption span.caption-number { font-style: italic; } -div.figure p.caption span.caption-text { +div.figure p.caption span.caption-text, +figcaption span.caption-text { } /* -- field list styles ----------------------------------------------------- */ @@ -503,6 +504,63 @@ table.hlist td { vertical-align: top; } +/* -- object description styles --------------------------------------------- */ + +.sig { + font-family: 'Consolas', 'Menlo', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace; +} + +.sig-name, code.descname { + background-color: transparent; + font-weight: bold; +} + +.sig-name { + font-size: 1.1em; +} + +code.descname { + font-size: 1.2em; +} + +.sig-prename, code.descclassname { + background-color: transparent; +} + +.optional { + font-size: 1.3em; +} + +.sig-paren { + font-size: larger; +} + +.sig-param.n { + font-style: italic; +} + +/* C++ specific styling */ + +.sig-inline.c-texpr, +.sig-inline.cpp-texpr { + font-family: unset; +} + +.sig.c .k, .sig.c .kt, +.sig.cpp .k, .sig.cpp .kt { + color: #0033B3; +} + +.sig.c .m, +.sig.cpp .m { + color: #1750EB; +} + +.sig.c .s, .sig.c .sc, +.sig.cpp .s, .sig.cpp .sc { + color: #067D17; +} + /* -- other body styles ----------------------------------------------------- */ @@ -553,6 +611,7 @@ ul.simple p { margin-bottom: 0; } +/* Docutils 0.17 and older (footnotes & citations) */ dl.footnote > dt, dl.citation > dt { float: left; @@ -570,6 +629,33 @@ dl.citation > dd:after { clear: both; } +/* Docutils 0.18+ (footnotes & citations) */ +aside.footnote > span, +div.citation > span { + float: left; +} +aside.footnote > span:last-of-type, +div.citation > span:last-of-type { + padding-right: 0.5em; +} +aside.footnote > p { + margin-left: 2em; +} +div.citation > p { + margin-left: 4em; +} +aside.footnote > p:last-of-type, +div.citation > p:last-of-type { + margin-bottom: 0em; +} +aside.footnote > p:last-of-type:after, +div.citation > p:last-of-type:after { + content: ""; + clear: both; +} + +/* Footnotes & citations ends */ + dl.field-list { display: grid; grid-template-columns: fit-content(30%) auto; @@ -629,14 +715,6 @@ dl.glossary dt { font-size: 1.1em; } -.optional { - font-size: 1.3em; -} - -.sig-paren { - font-size: larger; -} - .versionmodified { font-style: italic; } @@ -677,8 +755,9 @@ dl.glossary dt { .classifier:before { font-style: normal; - margin: 0.5em; + margin: 0 0.5em; content: ":"; + display: inline-block; } abbr, acronym { @@ -693,7 +772,7 @@ pre { overflow-y: hidden; /* fixes display issues on Chrome browsers */ } -pre, div[class|="highlight"] { +pre, div[class*="highlight-"] { clear: both; } @@ -702,9 +781,10 @@ span.pre { -ms-hyphens: none; -webkit-hyphens: none; hyphens: none; + white-space: nowrap; } -div[class^="highlight-"] { +div[class*="highlight-"] { margin: 1em 0; } @@ -764,8 +844,13 @@ div.code-block-caption code { } table.highlighttable td.linenos, -div.doctest > div.highlight span.gp { /* gp: Generic.Prompt */ - user-select: none; +span.linenos, +div.highlight span.gp { /* gp: Generic.Prompt */ + user-select: none; + -webkit-user-select: text; /* Safari fallback only */ + -webkit-user-select: none; /* Chrome/Safari */ + -moz-user-select: none; /* Firefox */ + -ms-user-select: none; /* IE10+ */ } div.code-block-caption span.caption-number { @@ -780,16 +865,6 @@ div.literal-block-wrapper { margin: 1em 0; } -code.descname { - background-color: transparent; - font-weight: bold; - font-size: 1.2em; -} - -code.descclassname { - background-color: transparent; -} - code.xref, a code { background-color: transparent; font-weight: bold; diff --git a/docs/_build/html/_static/doctools.js b/docs/_build/html/_static/doctools.js index daccd20..c3db08d 100644 --- a/docs/_build/html/_static/doctools.js +++ b/docs/_build/html/_static/doctools.js @@ -2,314 +2,263 @@ * doctools.js * ~~~~~~~~~~~ * - * Sphinx JavaScript utilities for all documentation. + * Base JavaScript utilities for all Sphinx HTML documentation. * - * :copyright: Copyright 2007-2020 by the Sphinx team, see AUTHORS. + * :copyright: Copyright 2007-2022 by the Sphinx team, see AUTHORS. * :license: BSD, see LICENSE for details. * */ +"use strict"; -/** - * select a different prefix for underscore - */ -$u = _.noConflict(); - -/** - * make the code below compatible with browsers without - * an installed firebug like debugger -if (!window.console || !console.firebug) { - var names = ["log", "debug", "info", "warn", "error", "assert", "dir", - "dirxml", "group", "groupEnd", "time", "timeEnd", "count", "trace", - "profile", "profileEnd"]; - window.console = {}; - for (var i = 0; i < names.length; ++i) - window.console[names[i]] = function() {}; -} - */ - -/** - * small helper function to urldecode strings - */ -jQuery.urldecode = function(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]; +const _ready = (callback) => { + if (document.readyState !== "loading") { + callback(); + } else { + document.addEventListener("DOMContentLoaded", callback); } - return result; }; /** - * highlight a given string on a jquery object by wrapping it in + * highlight a given string on a node 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( +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))); + parent.insertBefore( + span, + parent.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}); - } + node.nextSibling + ) + ); + node.nodeValue = val.substr(0, pos); + + 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 (!jQuery(node).is("button, select, textarea")) { - jQuery.each(node.childNodes, function() { - highlight(this, addItems); - }); - } + } else if (node.matches && !node.matches("button, select, textarea")) { + node.childNodes.forEach((el) => _highlight(el, addItems, text, className)); } - 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; -} +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. */ -var Documentation = { - - init : function() { - this.fixFirefoxAnchorBug(); - this.highlightSearchWords(); - this.initIndexTable(); - if (DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) { - this.initOnKeyListeners(); - } +const Documentation = { + init: () => { + Documentation.highlightSearchWords(); + Documentation.initDomainIndexTable(); + Documentation.initOnKeyListeners(); }, /** * i18n support */ - TRANSLATIONS : {}, - PLURAL_EXPR : function(n) { return n === 1 ? 0 : 1; }, - LOCALE : 'unknown', + 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 : function(string) { - var translated = Documentation.TRANSLATIONS[string]; - if (typeof translated === 'undefined') - return string; - return (typeof translated === 'string') ? translated : translated[0]; - }, - - ngettext : function(singular, plural, n) { - var translated = Documentation.TRANSLATIONS[singular]; - if (typeof translated === 'undefined') - return (n == 1) ? singular : plural; - return translated[Documentation.PLURALEXPR(n)]; - }, - - addTranslations : function(catalog) { - for (var key in catalog.messages) - this.TRANSLATIONS[key] = catalog.messages[key]; - this.PLURAL_EXPR = new Function('n', 'return +(' + catalog.plural_expr + ')'); - this.LOCALE = catalog.locale; + 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 + } }, - /** - * add context elements like header anchor links - */ - addContextElements : function() { - $('div[id] > :header:first').each(function() { - $('\u00B6'). - attr('href', '#' + this.id). - attr('title', _('Permalink to this headline')). - appendTo(this); - }); - $('dt[id]').each(function() { - $('\u00B6'). - attr('href', '#' + this.id). - attr('title', _('Permalink to this definition')). - appendTo(this); - }); + ngettext: (singular, plural, n) => { + const translated = Documentation.TRANSLATIONS[singular]; + if (typeof translated !== "undefined") + return translated[Documentation.PLURAL_EXPR(n)]; + return n === 1 ? singular : plural; }, - /** - * workaround a firefox stupidity - * see: https://bugzilla.mozilla.org/show_bug.cgi?id=645075 - */ - fixFirefoxAnchorBug : function() { - if (document.location.hash && $.browser.mozilla) - window.setTimeout(function() { - document.location.href += ''; - }, 10); + addTranslations: (catalog) => { + Object.assign(Documentation.TRANSLATIONS, catalog.messages); + Documentation.PLURAL_EXPR = new Function( + "n", + `return (${catalog.plural_expr})` + ); + Documentation.LOCALE = catalog.locale; }, /** * highlight the search words provided in the url in the text */ - highlightSearchWords : function() { - var params = $.getQueryParameters(); - var terms = (params.highlight) ? params.highlight[0].split(/\s+/) : []; - if (terms.length) { - var body = $('div.body'); - if (!body.length) { - body = $('body'); - } - window.setTimeout(function() { - $.each(terms, function() { - body.highlightText(this.toLowerCase(), 'highlighted'); - }); - }, 10); - $('') - .appendTo($('#searchbox')); - } - }, + highlightSearchWords: () => { + const highlight = + new URLSearchParams(window.location.search).get("highlight") || ""; + const terms = highlight.toLowerCase().split(/\s+/).filter(x => x); + if (terms.length === 0) return; // nothing to do - /** - * init the domain index toggle buttons - */ - initIndexTable : function() { - var togglers = $('img.toggler').click(function() { - var src = $(this).attr('src'); - var idnum = $(this).attr('id').substr(7); - $('tr.cg-' + idnum).toggle(); - if (src.substr(-9) === 'minus.png') - $(this).attr('src', src.substr(0, src.length-9) + 'plus.png'); - else - $(this).attr('src', src.substr(0, src.length-8) + 'minus.png'); - }).css('display', ''); - if (DOCUMENTATION_OPTIONS.COLLAPSE_INDEX) { - togglers.click(); - } + // 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( + '" + ) + ); }, /** * helper function to hide the search marks again */ - hideSearchWords : function() { - $('#searchbox .highlight-link').fadeOut(300); - $('span.highlighted').removeClass('highlighted'); + hideSearchWords: () => { + document + .querySelectorAll("#searchbox .highlight-link") + .forEach((el) => el.remove()); + document + .querySelectorAll("span.highlighted") + .forEach((el) => el.classList.remove("highlighted")); + const url = new URL(window.location); + url.searchParams.delete("highlight"); + window.history.replaceState({}, "", url); }, /** - * make the url absolute + * helper function to focus on search bar */ - makeURL : function(relativeURL) { - return DOCUMENTATION_OPTIONS.URL_ROOT + '/' + relativeURL; + focusSearchBar: () => { + document.querySelectorAll("input[name=q]")[0]?.focus(); }, /** - * get the current relative url + * Initialise the domain index toggle buttons */ - getCurrentURL : function() { - var path = document.location.pathname; - var parts = path.split(/\//); - $.each(DOCUMENTATION_OPTIONS.URL_ROOT.split(/\//), function() { - if (this === '..') - parts.pop(); - }); - var url = parts.join('/'); - return path.substring(url.lastIndexOf('/') + 1, path.length - 1); + 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: function() { - $(document).keydown(function(event) { - var activeElementType = document.activeElement.tagName; - // don't navigate when in search box or textarea - if (activeElementType !== 'TEXTAREA' && activeElementType !== 'INPUT' && activeElementType !== 'SELECT' - && !event.altKey && !event.ctrlKey && !event.metaKey && !event.shiftKey) { - switch (event.keyCode) { - case 37: // left - var prevHref = $('link[rel="prev"]').prop('href'); - if (prevHref) { - window.location.href = prevHref; - return false; + initOnKeyListeners: () => { + // only install a listener if it is really needed + if ( + !DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS && + !DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS + ) + return; + + const blacklistedElements = new Set([ + "TEXTAREA", + "INPUT", + "SELECT", + "BUTTON", + ]); + document.addEventListener("keydown", (event) => { + if (blacklistedElements.has(document.activeElement.tagName)) return; // bail for input elements + if (event.altKey || event.ctrlKey || event.metaKey) return; // bail with special keys + + 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(); } - case 39: // right - var nextHref = $('link[rel="next"]').prop('href'); - if (nextHref) { - window.location.href = nextHref; - return false; + 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; + case "Escape": + if (!DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS) break; + Documentation.hideSearchWords(); + event.preventDefault(); } } + + // 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 -_ = Documentation.gettext; +const _ = Documentation.gettext; -$(document).ready(function() { - Documentation.init(); -}); +_ready(Documentation.init); diff --git a/docs/_build/html/_static/documentation_options.js b/docs/_build/html/_static/documentation_options.js index fe7074a..9a9ed0a 100644 --- a/docs/_build/html/_static/documentation_options.js +++ b/docs/_build/html/_static/documentation_options.js @@ -8,5 +8,7 @@ var DOCUMENTATION_OPTIONS = { LINK_SUFFIX: '.html', HAS_SOURCE: true, SOURCELINK_SUFFIX: '.txt', - NAVIGATION_WITH_KEYS: false + NAVIGATION_WITH_KEYS: false, + SHOW_SEARCH_SUMMARY: true, + ENABLE_SEARCH_SHORTCUTS: false, }; \ No newline at end of file diff --git a/docs/_build/html/_static/jquery.js b/docs/_build/html/_static/jquery.js index b061403..c4c6022 100644 --- a/docs/_build/html/_static/jquery.js +++ b/docs/_build/html/_static/jquery.js @@ -1,2 +1,2 @@ -/*! jQuery v3.5.1 | (c) JS Foundation and other contributors | jquery.org/license */ -!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.5.1",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function D(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||j,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,j=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="",y.option=!!ce.lastChild;var ge={thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n",""]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function qe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function Le(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function He(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Oe(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Ut,Xt=[],Vt=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Xt.pop()||S.expando+"_"+Ct.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Vt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Vt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Vt,"$1"+r):!1!==e.jsonp&&(e.url+=(Et.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Xt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Ut=E.implementation.createHTMLDocument("").body).innerHTML="
",2===Ut.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):("number"==typeof f.top&&(f.top+="px"),"number"==typeof f.left&&(f.left+="px"),c.css(f))}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=$e(y.pixelPosition,function(e,t){if(t)return t=Be(e,n),Me.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},j=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||D,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,D=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="",y.option=!!ce.lastChild;var ge={thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n",""]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function je(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function De(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function qe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Le(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var _t,zt=[],Ut=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=zt.pop()||S.expando+"_"+wt.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Ut.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Ut.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Ut,"$1"+r):!1!==e.jsonp&&(e.url+=(Tt.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,zt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((_t=E.implementation.createHTMLDocument("").body).innerHTML="
",2===_t.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=Fe(y.pixelPosition,function(e,t){if(t)return t=We(e,n),Pe.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0=b.A){return false}a=b.D.charCodeAt(b._);if(a>e||a>>3]&1<<(a&7))===0){return false}b._++;return true};function l(a,d,c,e){var b;if(a._>=a.A){return false}b=a.D.charCodeAt(a._);if(b>e||b>>3]&1<<(b&7))===0){a._++;return true}return false};function d(a,b,d){var c;if(a._-a.E>1);h=0;c=f=0;j--){if(e-c===n){h=-1;break}h=d.D.charCodeAt(e-1-c)-a.X.charCodeAt(j);if(h!==0){break}c++}if(h<0){g=i;k=c}else{b=i;f=c}if(g-b<=1){if(b>0){break}if(g===b){break}if(l){break}l=true}}while(true){a=m[b];if(f>=a.G){d._=e-a.G|0;if(a.I==null){return a.J}o=a.I(d);d._=e-a.G|0;if(o){return a.J}}b=a.a;if(b<0){return 0}}return-1};function A(a,b,d,e){var c;c=e.length-(d-b);a.D=a.D.slice(0,b)+e+a.D.slice(d);a.A+=c|0;if(a._>=d){a._+=c|0}else if(a._>b){a._=b}return c|0};function c(a,f){var b;var c;var d;var e;b=false;if((c=a.B)<0||c>(d=a.C)||d>(e=a.A)||e>a.D.length?false:true){A(a,a.B,a.C,f);b=true}return b};g.prototype.H=function(){return false};g.prototype.Y=function(b){var a;var c;var d;var e;a=this.F['.'+b];if(a==null){c=this.D=b;d=this._=0;e=this.A=c.length;this.E=0;this.B=d;this.C=e;this.H();a=this.D;this.F['.'+b]=a}return a};g.prototype.stemWord=g.prototype.Y;g.prototype.Z=function(e){var d;var b;var c;var a;var f;var g;var h;d=[];for(b=0;b=this.A){break a}this._++}this.I_pV=this._;b:while(true){d=true;c:while(d===true){d=false;if(!l(this,b.g_v,1072,1103)){break c}break b}if(this._>=this.A){break a}this._++}b:while(true){e=true;c:while(e===true){e=false;if(!k(this,b.g_v,1072,1103)){break c}break b}if(this._>=this.A){break a}this._++}b:while(true){f=true;c:while(f===true){f=false;if(!l(this,b.g_v,1072,1103)){break c}break b}if(this._>=this.A){break a}this._++}this.I_p2=this._}this._=g;return true};b.prototype.r_mark_regions=b.prototype.R;function D(a){var h;var c;var d;var e;var f;var g;var i;a.I_pV=i=a.A;a.I_p2=i;h=a._;c=true;a:while(c===true){c=false;b:while(true){d=true;c:while(d===true){d=false;if(!k(a,b.g_v,1072,1103)){break c}break b}if(a._>=a.A){break a}a._++}a.I_pV=a._;b:while(true){e=true;c:while(e===true){e=false;if(!l(a,b.g_v,1072,1103)){break c}break b}if(a._>=a.A){break a}a._++}b:while(true){f=true;c:while(f===true){f=false;if(!k(a,b.g_v,1072,1103)){break c}break b}if(a._>=a.A){break a}a._++}b:while(true){g=true;c:while(g===true){g=false;if(!l(a,b.g_v,1072,1103)){break c}break b}if(a._>=a.A){break a}a._++}a.I_p2=a._}a._=h;return true};b.prototype.N=function(){return!(this.I_p2<=this._)?false:true};b.prototype.r_R2=b.prototype.N;b.prototype.T=function(){var a;var h;var f;var g;this.C=this._;a=e(this,b.a_0,9);if(a===0){return false}this.B=this._;switch(a){case 0:return false;case 1:f=true;a:while(f===true){f=false;h=this.A-this._;g=true;b:while(g===true){g=false;if(!d(this,1,'а')){break b}break a}this._=this.A-h;if(!d(this,1,'я')){return false}}if(!c(this,'')){return false}break;case 2:if(!c(this,'')){return false}break}return true};b.prototype.r_perfective_gerund=b.prototype.T;function E(a){var f;var i;var g;var h;a.C=a._;f=e(a,b.a_0,9);if(f===0){return false}a.B=a._;switch(f){case 0:return false;case 1:g=true;a:while(g===true){g=false;i=a.A-a._;h=true;b:while(h===true){h=false;if(!d(a,1,'а')){break b}break a}a._=a.A-i;if(!d(a,1,'я')){return false}}if(!c(a,'')){return false}break;case 2:if(!c(a,'')){return false}break}return true};b.prototype.P=function(){var a;this.C=this._;a=e(this,b.a_1,26);if(a===0){return false}this.B=this._;switch(a){case 0:return false;case 1:if(!c(this,'')){return false}break}return true};b.prototype.r_adjective=b.prototype.P;function n(a){var d;a.C=a._;d=e(a,b.a_1,26);if(d===0){return false}a.B=a._;switch(d){case 0:return false;case 1:if(!c(a,'')){return false}break}return true};b.prototype.O=function(){var f;var a;var j;var g;var h;var i;if(!n(this)){return false}a=this.A-this._;g=true;a:while(g===true){g=false;this.C=this._;f=e(this,b.a_2,8);if(f===0){this._=this.A-a;break a}this.B=this._;switch(f){case 0:this._=this.A-a;break a;case 1:h=true;b:while(h===true){h=false;j=this.A-this._;i=true;c:while(i===true){i=false;if(!d(this,1,'а')){break c}break b}this._=this.A-j;if(!d(this,1,'я')){this._=this.A-a;break a}}if(!c(this,'')){return false}break;case 2:if(!c(this,'')){return false}break}}return true};b.prototype.r_adjectival=b.prototype.O;function G(a){var g;var f;var k;var h;var i;var j;if(!n(a)){return false}f=a.A-a._;h=true;a:while(h===true){h=false;a.C=a._;g=e(a,b.a_2,8);if(g===0){a._=a.A-f;break a}a.B=a._;switch(g){case 0:a._=a.A-f;break a;case 1:i=true;b:while(i===true){i=false;k=a.A-a._;j=true;c:while(j===true){j=false;if(!d(a,1,'а')){break c}break b}a._=a.A-k;if(!d(a,1,'я')){a._=a.A-f;break a}}if(!c(a,'')){return false}break;case 2:if(!c(a,'')){return false}break}}return true};b.prototype.U=function(){var a;this.C=this._;a=e(this,b.a_3,2);if(a===0){return false}this.B=this._;switch(a){case 0:return false;case 1:if(!c(this,'')){return false}break}return true};b.prototype.r_reflexive=b.prototype.U;function H(a){var d;a.C=a._;d=e(a,b.a_3,2);if(d===0){return false}a.B=a._;switch(d){case 0:return false;case 1:if(!c(a,'')){return false}break}return true};b.prototype.W=function(){var a;var h;var f;var g;this.C=this._;a=e(this,b.a_4,46);if(a===0){return false}this.B=this._;switch(a){case 0:return false;case 1:f=true;a:while(f===true){f=false;h=this.A-this._;g=true;b:while(g===true){g=false;if(!d(this,1,'а')){break b}break a}this._=this.A-h;if(!d(this,1,'я')){return false}}if(!c(this,'')){return false}break;case 2:if(!c(this,'')){return false}break}return true};b.prototype.r_verb=b.prototype.W;function I(a){var f;var i;var g;var h;a.C=a._;f=e(a,b.a_4,46);if(f===0){return false}a.B=a._;switch(f){case 0:return false;case 1:g=true;a:while(g===true){g=false;i=a.A-a._;h=true;b:while(h===true){h=false;if(!d(a,1,'а')){break b}break a}a._=a.A-i;if(!d(a,1,'я')){return false}}if(!c(a,'')){return false}break;case 2:if(!c(a,'')){return false}break}return true};b.prototype.S=function(){var a;this.C=this._;a=e(this,b.a_5,36);if(a===0){return false}this.B=this._;switch(a){case 0:return false;case 1:if(!c(this,'')){return false}break}return true};b.prototype.r_noun=b.prototype.S;function F(a){var d;a.C=a._;d=e(a,b.a_5,36);if(d===0){return false}a.B=a._;switch(d){case 0:return false;case 1:if(!c(a,'')){return false}break}return true};b.prototype.Q=function(){var a;var d;this.C=this._;a=e(this,b.a_6,2);if(a===0){return false}this.B=d=this._;if(!(!(this.I_p2<=d)?false:true)){return false}switch(a){case 0:return false;case 1:if(!c(this,'')){return false}break}return true};b.prototype.r_derivational=b.prototype.Q;function C(a){var d;var f;a.C=a._;d=e(a,b.a_6,2);if(d===0){return false}a.B=f=a._;if(!(!(a.I_p2<=f)?false:true)){return false}switch(d){case 0:return false;case 1:if(!c(a,'')){return false}break}return true};b.prototype.V=function(){var a;this.C=this._;a=e(this,b.a_7,4);if(a===0){return false}this.B=this._;switch(a){case 0:return false;case 1:if(!c(this,'')){return false}this.C=this._;if(!d(this,1,'н')){return false}this.B=this._;if(!d(this,1,'н')){return false}if(!c(this,'')){return false}break;case 2:if(!d(this,1,'н')){return false}if(!c(this,'')){return false}break;case 3:if(!c(this,'')){return false}break}return true};b.prototype.r_tidy_up=b.prototype.V;function y(a){var f;a.C=a._;f=e(a,b.a_7,4);if(f===0){return false}a.B=a._;switch(f){case 0:return false;case 1:if(!c(a,'')){return false}a.C=a._;if(!d(a,1,'н')){return false}a.B=a._;if(!d(a,1,'н')){return false}if(!c(a,'')){return false}break;case 2:if(!d(a,1,'н')){return false}if(!c(a,'')){return false}break;case 3:if(!c(a,'')){return false}break}return true};b.prototype.H=function(){var s;var v;var w;var A;var p;var q;var i;var t;var u;var e;var f;var g;var h;var a;var j;var b;var k;var l;var m;var n;var x;var z;var o;var B;var J;var K;var L;var M;var N;var O;var r;s=this._;e=true;a:while(e===true){e=false;if(!D(this)){break a}}x=this._=s;this.E=x;o=this._=z=this.A;v=z-o;if(o=this.limit)return false;var s=this.current.charCodeAt(this.cursor);if(s>i||s>>3]&1<<(s&7))==0)return false;this.cursor++;return true};this.in_grouping_b=function(r,t,i){if(this.cursor<=this.limit_backward)return false;var s=this.current.charCodeAt(this.cursor-1);if(s>i||s>>3]&1<<(s&7))==0)return false;this.cursor--;return true};this.out_grouping=function(r,t,i){if(this.cursor>=this.limit)return false;var s=this.current.charCodeAt(this.cursor);if(s>i||s>>3]&1<<(s&7))==0){this.cursor++;return true}return false};this.out_grouping_b=function(r,t,i){if(this.cursor<=this.limit_backward)return false;var s=this.current.charCodeAt(this.cursor-1);if(s>i||s>>3]&1<<(s&7))==0){this.cursor--;return true}return false};this.eq_s=function(r){if(this.limit-this.cursor>>1);var a=0;var f=h0)break;if(i==t)break;if(n)break;n=true}}do{var l=r[t];if(h>=l[0].length){this.cursor=s+l[0].length;if(l.length<4)return l[2];var v=l[3](this);this.cursor=s+l[0].length;if(v)return l[2]}t=l[1]}while(t>=0);return 0};this.find_among_b=function(r){var t=0;var i=r.length;var s=this.cursor;var e=this.limit_backward;var h=0;var u=0;var n=false;while(true){var c=t+(i-t>>1);var a=0;var f=h=0;o--){if(s-f==e){a=-1;break}a=this.current.charCodeAt(s-1-f)-l[0].charCodeAt(o);if(a!=0)break;f++}if(a<0){i=c;u=f}else{t=c;h=f}if(i-t<=1){if(t>0)break;if(i==t)break;if(n)break;n=true}}do{var l=r[t];if(h>=l[0].length){this.cursor=s-l[0].length;if(l.length<4)return l[2];var v=l[3](this);this.cursor=s-l[0].length;if(v)return l[2]}t=l[1]}while(t>=0);return 0};this.replace_s=function(r,t,i){var s=i.length-(t-r);this.current=this.current.slice(0,r)+i+this.current.slice(t);this.limit+=s;if(this.cursor>=t)this.cursor+=s;else if(this.cursor>r)this.cursor=r;return s};this.slice_check=function(){if(this.bra<0||this.bra>this.ket||this.ket>this.limit||this.limit>this.current.length){return false}return true};this.slice_from=function(r){var t=false;if(this.slice_check()){this.replace_s(this.bra,this.ket,r);t=true}return t};this.slice_del=function(){return this.slice_from("")};this.insert=function(r,t,i){var s=this.replace_s(r,t,i);if(r<=this.bra)this.bra+=s;if(r<=this.ket)this.ket+=s};this.slice_to=function(){var r="";if(this.slice_check()){r=this.current.slice(this.bra,this.ket)}return r};this.assign_to=function(){return this.current.slice(0,this.limit)}}; +RussianStemmer=function(){var r=new BaseStemmer;var e=[["в",-1,1],["ив",0,2],["ыв",0,2],["вши",-1,1],["ивши",3,2],["ывши",3,2],["вшись",-1,1],["ившись",6,2],["ывшись",6,2]];var i=[["ее",-1,1],["ие",-1,1],["ое",-1,1],["ые",-1,1],["ими",-1,1],["ыми",-1,1],["ей",-1,1],["ий",-1,1],["ой",-1,1],["ый",-1,1],["ем",-1,1],["им",-1,1],["ом",-1,1],["ым",-1,1],["его",-1,1],["ого",-1,1],["ему",-1,1],["ому",-1,1],["их",-1,1],["ых",-1,1],["ею",-1,1],["ою",-1,1],["ую",-1,1],["юю",-1,1],["ая",-1,1],["яя",-1,1]];var u=[["ем",-1,1],["нн",-1,1],["вш",-1,1],["ивш",2,2],["ывш",2,2],["щ",-1,1],["ющ",5,1],["ующ",6,2]];var s=[["сь",-1,1],["ся",-1,1]];var a=[["ла",-1,1],["ила",0,2],["ыла",0,2],["на",-1,1],["ена",3,2],["ете",-1,1],["ите",-1,2],["йте",-1,1],["ейте",7,2],["уйте",7,2],["ли",-1,1],["или",10,2],["ыли",10,2],["й",-1,1],["ей",13,2],["уй",13,2],["л",-1,1],["ил",16,2],["ыл",16,2],["ем",-1,1],["им",-1,2],["ым",-1,2],["н",-1,1],["ен",22,2],["ло",-1,1],["ило",24,2],["ыло",24,2],["но",-1,1],["ено",27,2],["нно",27,1],["ет",-1,1],["ует",30,2],["ит",-1,2],["ыт",-1,2],["ют",-1,1],["уют",34,2],["ят",-1,2],["ны",-1,1],["ены",37,2],["ть",-1,1],["ить",39,2],["ыть",39,2],["ешь",-1,1],["ишь",-1,2],["ю",-1,2],["ую",44,2]];var t=[["а",-1,1],["ев",-1,1],["ов",-1,1],["е",-1,1],["ие",3,1],["ье",3,1],["и",-1,1],["еи",6,1],["ии",6,1],["ами",6,1],["ями",6,1],["иями",10,1],["й",-1,1],["ей",12,1],["ией",13,1],["ий",12,1],["ой",12,1],["ам",-1,1],["ем",-1,1],["ием",18,1],["ом",-1,1],["ям",-1,1],["иям",21,1],["о",-1,1],["у",-1,1],["ах",-1,1],["ях",-1,1],["иях",26,1],["ы",-1,1],["ь",-1,1],["ю",-1,1],["ию",30,1],["ью",30,1],["я",-1,1],["ия",33,1],["ья",33,1]];var c=[["ост",-1,1],["ость",-1,1]];var f=[["ейше",-1,1],["н",-1,2],["ейш",-1,1],["ь",-1,3]];var l=[33,65,8,232];var o=0;var n=0;function b(){n=r.limit;o=r.limit;var e=r.cursor;r:{e:while(true){i:{if(!r.in_grouping(l,1072,1103)){break i}break e}if(r.cursor>=r.limit){break r}r.cursor++}n=r.cursor;e:while(true){i:{if(!r.out_grouping(l,1072,1103)){break i}break e}if(r.cursor>=r.limit){break r}r.cursor++}e:while(true){i:{if(!r.in_grouping(l,1072,1103)){break i}break e}if(r.cursor>=r.limit){break r}r.cursor++}e:while(true){i:{if(!r.out_grouping(l,1072,1103)){break i}break e}if(r.cursor>=r.limit){break r}r.cursor++}o=r.cursor}r.cursor=e;return true}function _(){if(!(o<=r.cursor)){return false}return true}function k(){var i;r.ket=r.cursor;i=r.find_among_b(e);if(i==0){return false}r.bra=r.cursor;switch(i){case 1:r:{var u=r.limit-r.cursor;e:{if(!r.eq_s_b("а")){break e}break r}r.cursor=r.limit-u;if(!r.eq_s_b("я")){return false}}if(!r.slice_del()){return false}break;case 2:if(!r.slice_del()){return false}break}return true}function m(){r.ket=r.cursor;if(r.find_among_b(i)==0){return false}r.bra=r.cursor;if(!r.slice_del()){return false}return true}function v(){var e;if(!m()){return false}var i=r.limit-r.cursor;r:{r.ket=r.cursor;e=r.find_among_b(u);if(e==0){r.cursor=r.limit-i;break r}r.bra=r.cursor;switch(e){case 1:e:{var s=r.limit-r.cursor;i:{if(!r.eq_s_b("а")){break i}break e}r.cursor=r.limit-s;if(!r.eq_s_b("я")){r.cursor=r.limit-i;break r}}if(!r.slice_del()){return false}break;case 2:if(!r.slice_del()){return false}break}}return true}function d(){r.ket=r.cursor;if(r.find_among_b(s)==0){return false}r.bra=r.cursor;if(!r.slice_del()){return false}return true}function g(){var e;r.ket=r.cursor;e=r.find_among_b(a);if(e==0){return false}r.bra=r.cursor;switch(e){case 1:r:{var i=r.limit-r.cursor;e:{if(!r.eq_s_b("а")){break e}break r}r.cursor=r.limit-i;if(!r.eq_s_b("я")){return false}}if(!r.slice_del()){return false}break;case 2:if(!r.slice_del()){return false}break}return true}function w(){r.ket=r.cursor;if(r.find_among_b(t)==0){return false}r.bra=r.cursor;if(!r.slice_del()){return false}return true}function h(){r.ket=r.cursor;if(r.find_among_b(c)==0){return false}r.bra=r.cursor;if(!_()){return false}if(!r.slice_del()){return false}return true}function q(){var e;r.ket=r.cursor;e=r.find_among_b(f);if(e==0){return false}r.bra=r.cursor;switch(e){case 1:if(!r.slice_del()){return false}r.ket=r.cursor;if(!r.eq_s_b("н")){return false}r.bra=r.cursor;if(!r.eq_s_b("н")){return false}if(!r.slice_del()){return false}break;case 2:if(!r.eq_s_b("н")){return false}if(!r.slice_del()){return false}break;case 3:if(!r.slice_del()){return false}break}return true}this.stem=function(){var e=r.cursor;r:{while(true){var i=r.cursor;e:{i:while(true){var u=r.cursor;u:{r.bra=r.cursor;if(!r.eq_s("ё")){break u}r.ket=r.cursor;r.cursor=u;break i}r.cursor=u;if(r.cursor>=r.limit){break e}r.cursor++}if(!r.slice_from("е")){return false}continue}r.cursor=i;break}}r.cursor=e;b();r.limit_backward=r.cursor;r.cursor=r.limit;if(r.cursor { + const [docname, title, anchor, descr, score, filename] = result + return score }, */ @@ -28,9 +30,11 @@ if (!Scorer) { // or matches in the last dotted part of the object name objPartialMatch: 6, // Additive scores depending on the priority of the object - objPrio: {0: 15, // used to be importantResults - 1: 5, // used to be objectResults - 2: -5}, // used to be unimportantResults + objPrio: { + 0: 15, // used to be importantResults + 1: 5, // used to be objectResults + 2: -5, // used to be unimportantResults + }, // Used when the priority is not in the mapping. objPrioDefault: 0, @@ -39,445 +43,455 @@ if (!Scorer) { partialTitle: 7, // query found in terms term: 5, - partialTerm: 2 + partialTerm: 2, }; } -if (!splitQuery) { - function splitQuery(query) { - return query.split(/\s+/); +const _removeChildren = (element) => { + while (element && element.lastChild) element.removeChild(element.lastChild); +}; + +/** + * See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#escaping + */ +const _escapeRegExp = (string) => + string.replace(/[.*+\-?^${}()|[\]\\]/g, "\\$&"); // $& means the whole matched string + +const _displayItem = (item, highlightTerms, searchTerms) => { + const docBuilder = DOCUMENTATION_OPTIONS.BUILDER; + const docUrlRoot = DOCUMENTATION_OPTIONS.URL_ROOT; + const docFileSuffix = DOCUMENTATION_OPTIONS.FILE_SUFFIX; + const docLinkSuffix = DOCUMENTATION_OPTIONS.LINK_SUFFIX; + const showSearchSummary = DOCUMENTATION_OPTIONS.SHOW_SEARCH_SUMMARY; + + const [docName, title, anchor, descr] = item; + + let listItem = document.createElement("li"); + let requestUrl; + let linkUrl; + if (docBuilder === "dirhtml") { + // dirhtml builder + let dirname = docName + "/"; + if (dirname.match(/\/index\/$/)) + dirname = dirname.substring(0, dirname.length - 6); + else if (dirname === "index/") dirname = ""; + requestUrl = docUrlRoot + dirname; + linkUrl = requestUrl; + } else { + // normal html builders + requestUrl = docUrlRoot + docName + docFileSuffix; + linkUrl = docName + docLinkSuffix; } + const params = new URLSearchParams(); + params.set("highlight", [...highlightTerms].join(" ")); + let linkEl = listItem.appendChild(document.createElement("a")); + linkEl.href = linkUrl + "?" + params.toString() + anchor; + linkEl.innerHTML = title; + if (descr) + listItem.appendChild(document.createElement("span")).innerText = + " (" + descr + ")"; + else if (showSearchSummary) + fetch(requestUrl) + .then((responseData) => responseData.text()) + .then((data) => { + if (data) + listItem.appendChild( + Search.makeSearchSummary(data, searchTerms, highlightTerms) + ); + }); + Search.output.appendChild(listItem); +}; +const _finishSearch = (resultCount) => { + Search.stopPulse(); + Search.title.innerText = _("Search Results"); + if (!resultCount) + Search.status.innerText = Documentation.gettext( + "Your search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories." + ); + else + Search.status.innerText = _( + `Search finished, found ${resultCount} page(s) matching the search query.` + ); +}; +const _displayNextItem = ( + results, + resultCount, + highlightTerms, + searchTerms +) => { + // results left, load the summary and display it + // this is intended to be dynamic (don't sub resultsCount) + if (results.length) { + _displayItem(results.pop(), highlightTerms, searchTerms); + setTimeout( + () => _displayNextItem(results, resultCount, highlightTerms, searchTerms), + 5 + ); + } + // search finished, update title and status message + else _finishSearch(resultCount); +}; + +/** + * Default splitQuery function. Can be overridden in ``sphinx.search`` with a + * custom function per language. + * + * The regular expression works by splitting the string on consecutive characters + * that are not Unicode letters, numbers, underscores, or emoji characters. + * This is the same as ``\W+`` in Python, preserving the surrogate pair area. + */ +if (typeof splitQuery === "undefined") { + var splitQuery = (query) => query + .split(/[^\p{Letter}\p{Number}_\p{Emoji_Presentation}]+/gu) + .filter(term => term) // remove remaining empty strings } /** * Search Module */ -var Search = { - - _index : null, - _queued_query : null, - _pulse_status : -1, - - htmlToText : function(htmlString) { - var htmlElement = document.createElement('span'); - htmlElement.innerHTML = htmlString; - $(htmlElement).find('.headerlink').remove(); - docContent = $(htmlElement).find('[role=main]')[0]; - if(docContent === undefined) { - console.warn("Content block not found. Sphinx search tries to obtain it " + - "via '[role=main]'. Could you check your theme or template."); - return ""; - } - return docContent.textContent || docContent.innerText; +const Search = { + _index: null, + _queued_query: null, + _pulse_status: -1, + + htmlToText: (htmlString) => { + const htmlElement = document + .createRange() + .createContextualFragment(htmlString); + _removeChildren(htmlElement.querySelectorAll(".headerlink")); + const docContent = htmlElement.querySelector('[role="main"]'); + if (docContent !== undefined) return docContent.textContent; + console.warn( + "Content block not found. Sphinx search tries to obtain it via '[role=main]'. Could you check your theme or template." + ); + return ""; }, - init : function() { - var params = $.getQueryParameters(); - if (params.q) { - var query = params.q[0]; - $('input[name="q"]')[0].value = query; - this.performSearch(query); - } + init: () => { + const query = new URLSearchParams(window.location.search).get("q"); + document + .querySelectorAll('input[name="q"]') + .forEach((el) => (el.value = query)); + if (query) Search.performSearch(query); }, - loadIndex : function(url) { - $.ajax({type: "GET", url: url, data: null, - dataType: "script", cache: true, - complete: function(jqxhr, textstatus) { - if (textstatus != "success") { - document.getElementById("searchindexloader").src = url; - } - }}); - }, + loadIndex: (url) => + (document.body.appendChild(document.createElement("script")).src = url), - setIndex : function(index) { - var q; - this._index = index; - if ((q = this._queued_query) !== null) { - this._queued_query = null; - Search.query(q); + setIndex: (index) => { + Search._index = index; + if (Search._queued_query !== null) { + const query = Search._queued_query; + Search._queued_query = null; + Search.query(query); } }, - hasIndex : function() { - return this._index !== null; - }, + hasIndex: () => Search._index !== null, - deferQuery : function(query) { - this._queued_query = query; - }, + deferQuery: (query) => (Search._queued_query = query), - stopPulse : function() { - this._pulse_status = 0; - }, + stopPulse: () => (Search._pulse_status = -1), - startPulse : function() { - if (this._pulse_status >= 0) - return; - function pulse() { - var i; + startPulse: () => { + if (Search._pulse_status >= 0) return; + + const pulse = () => { Search._pulse_status = (Search._pulse_status + 1) % 4; - var dotString = ''; - for (i = 0; i < Search._pulse_status; i++) - dotString += '.'; - Search.dots.text(dotString); - if (Search._pulse_status > -1) - window.setTimeout(pulse, 500); - } + Search.dots.innerText = ".".repeat(Search._pulse_status); + if (Search._pulse_status >= 0) window.setTimeout(pulse, 500); + }; pulse(); }, /** * perform a search for something (or wait until index is loaded) */ - performSearch : function(query) { + performSearch: (query) => { // create the required interface elements - this.out = $('#search-results'); - this.title = $('

' + _('Searching') + '

').appendTo(this.out); - this.dots = $('').appendTo(this.title); - this.status = $('

 

').appendTo(this.out); - this.output = $(' \ No newline at end of file diff --git a/docs/_build/html/index.html b/docs/_build/html/index.html index 71fa392..f12b7c9 100644 --- a/docs/_build/html/index.html +++ b/docs/_build/html/index.html @@ -4,16 +4,17 @@ - + + Документация PyQiwiP2P приветствует тебя! — документация PyQiwiP2P - - + + - + + - @@ -39,21 +40,56 @@

Навигация

-
-

Документация PyQiwiP2P приветствует тебя!

-

Обёрточка для API Qiwi P2P на Python.

-
-

Зависимости

-
setuptools
-requests
-phonenumbers
-email_validator
-CherryPy
+  
+

Документация PyQiwiP2P приветствует тебя!

+

Удобная обёрточка для API Qiwi P2P на Python.

+
+

Важное уведомление

+

С июня Qiwi начала блокировать кошельки, если пользователь открыл +страницу оплаты «напрямую», тем самым не передав заголовок referer.

+

Это случается при открытии ссылки:

+
    +
  • из мессенджера

  • +
  • из смс

  • +
  • из письма

  • +
  • из адресной строки

  • +
  • из браузера с повышенным режимом приватности или расширениями для приватного просмотра

  • +
+

Для обхода всех проблем, кроме последней (она не решается), к объекту +Bill был добавлен атрибут Bill.alt_url, который предоставляет ссылку +для перенаправления на страницу оплаты через специальную +страницу-прокладу, добавляющую этот самый referer.

+

Страница предоставлена мною, но её можно поднять на своём сервере +с помощью docker-контейнера.

+
    +
  • Исходники: Github

  • +
  • Образ контейнера: ghcr.io/whiteapfel/pyqiwip2p:p2proxy

  • +
  • Запуск: docker run -p 3600:3600 -d ghcr.io/whiteapfel/pyqiwip2p:p2proxy

  • +
  • Свой домен в клиенте: p2p = AioQiwiP2P(PrivKey, alt="example.com")

  • +
+
+
+

Зависимости

+
setuptools>=63.1.0
+phonenumbers>=8.12.15
+email_validator>=1.2.1
+typing>=3.7.4.3
+Hypercorn>=0.11.2
+starlette>=0.19.0
+httpx>=0.23.0
+pydantic>=1.9.1
+validators>=0.20.0
+ipaddress~=1.0.23
+loguru>=0.6.0
+python-dotenv>=0.20.0
+pytest>=7.1.2
+CherryPy>=18.7.0
+response-report~=1.1.0
 
-
- -
+ +
@@ -85,18 +129,23 @@

Установка
-

Оглавление

-

@@ -132,8 +181,8 @@

Навигация

\ No newline at end of file diff --git a/docs/_build/html/objects.inv b/docs/_build/html/objects.inv index 9d5a0f7..1b8f2d0 100644 --- a/docs/_build/html/objects.inv +++ b/docs/_build/html/objects.inv @@ -2,6 +2,9 @@ # Project: PyQiwiP2P # Version: # The remainder of this file is compressed using zlib. -xڭ;N@{b%%0BVc.w`^HA E $0{#~opx#Qyv<7̮L7ĖSҍb-Rw2N7O)6`|UKt!njJM'2̖SHa&ŽpE`'tQeq!;[śOFbQr611'Oʴ6Q6%2C>ø_0pmxx+=;l(%(o+QPu.ux \ No newline at end of file +xڭn@~A% +[$XG= A;jT + Vl4iWFO&N]5,"\s#W⍐;gdƁR.ۋO?I|yr=q\+Y$uh œB9^[uLfZ<+{">PN2_ o7}:PEEx97,@+?|tsfOlZy+KxX/ۛkpKy6 )@,mМ+ +ۺF2( (o4 ”;Fj +'4s 13sh>ؔtl>8Sůr[.#:ų4G`yU +gkWٵT?8q-_F `>Yti͂Oȹh2!h/tiDzVRt-ˌnyIuEoAsKes:jv0pcx E}W,8:w\S - + Поиск — документация PyQiwiP2P - - + + - + + - + @@ -41,25 +42,34 @@

Навигация

Поиск

-
- + + + +

Searching for multiple words only shows matches that contain all words.

+ +
- +
+ +
+
@@ -82,8 +92,8 @@

Навигация

\ No newline at end of file diff --git a/docs/_build/html/searchindex.js b/docs/_build/html/searchindex.js index 410aef6..f511c74 100644 --- a/docs/_build/html/searchindex.js +++ b/docs/_build/html/searchindex.js @@ -1 +1 @@ -Search.setIndex({docnames:["Client","Notify","NotifyUse","Types","Use","index"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":3,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":2,"sphinx.domains.rst":2,"sphinx.domains.std":1,"sphinx.ext.todo":2,"sphinx.ext.viewcode":1,sphinx:56},filenames:["Client.rst","Notify.rst","NotifyUse.rst","Types.rst","Use.rst","index.rst"],objects:{"pyqiwip2p.notify":{QiwiNotify:[1,0,1,""]},"pyqiwip2p.notify.QiwiNotify":{start:[1,1,1,""]},"pyqiwip2p.types.Customer":{QiwiCustomer:[3,0,1,""]},"pyqiwip2p.types.Errors":{QiwiError:[3,0,1,""]},"pyqiwip2p.types.QiwiDatetime":{QiwiDatetime:[3,0,1,""]},"pyqiwip2p.types.QiwiDatetime.QiwiDatetime":{expiration:[3,1,1,""]},"pyqiwip2p.types.Responses":{Bill:[3,0,1,""]}},objnames:{"0":["py","class","Python \u043a\u043b\u0430\u0441\u0441"],"1":["py","method","Python \u043c\u0435\u0442\u043e\u0434"]},objtypes:{"0":"py:class","1":"py:method"},terms:{"\u0430":[1,4],"\u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a":4,"\u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446":[],"\u0430\u0434\u0440\u0435\u0441":3,"\u0430\u043a\u043a\u0430\u0443\u043d\u0442":3,"\u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442":[2,3],"\u0430\u0442\u0442\u0440\u0438\u0431\u0443\u0442":3,"\u0431\u0430\u0437\u043e\u0432":4,"\u0431\u0443\u0434\u0435\u0442":[1,2,4],"\u0431\u044b":3,"\u0431\u044b\u0442":[],"\u0432":[2,3,4],"\u0432\u0430\u043b\u044e\u0442":3,"\u0432\u0430\u0448":3,"\u0432\u0435\u0431":1,"\u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432":[],"\u0432\u043c\u0435\u0441\u0442":3,"\u0432\u043d\u0438\u043c\u0430\u043d":1,"\u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430":[],"\u0432\u043e\u043e\u0431\u0449":1,"\u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430":4,"\u0432\u043e\u0442":4,"\u0432\u0440\u0435\u043c":3,"\u0432\u0440\u0435\u043c\u0435\u043d":3,"\u0432\u0441\u0435\u0445":2,"\u0432\u0445\u043e\u0434\u044f":1,"\u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d":[],"\u0432\u044b\u0441\u0442\u0430\u0432":4,"\u0432\u044b\u0441\u0442\u0430\u0432\u043b\u0435\u043d":4,"\u0432\u044b\u0441\u0442\u0430\u0432\u043b\u044f":4,"\u0433\u0435\u043d\u0435\u0440\u0430\u0446":2,"\u0433\u0435\u043d\u0435\u0440\u0438\u0440":3,"\u0434\u0430\u0442":[],"\u0434\u0432\u0443\u0445":[],"\u0434\u043b\u044f":[1,2,3,5],"\u0434\u043e":[],"\u0434\u043e\u0431\u0430\u0432":2,"\u0434\u043e\u0432\u0435\u0440\u0435\u043d":1,"\u0434\u043e\u043b\u0436\u043d":2,"\u0434\u0440\u0443\u0433":3,"\u0435\u0433":4,"\u0435\u0441\u043b":[3,4],"\u0435\u0441\u0442":1,"\u0435\u0449":[1,4],"\u0436\u0438\u0437\u043d":3,"\u0437\u0430\u043a\u0430\u0437":[3,4],"\u0437\u0430\u043a\u0440":[3,4],"\u0437\u0430\u043a\u0440\u044b\u0432\u0430":[],"\u0437\u0430\u043a\u0440\u044b\u0442":3,"\u0437\u0430\u043f\u0440\u043e\u0441":[1,2,3],"\u0437\u0430\u043f\u0443\u0441\u043a":1,"\u0437\u0430\u043f\u0443\u0441\u043a\u0430":1,"\u0437\u0430\u043f\u0443\u0441\u0442":[1,2],"\u0437\u0430\u043f\u044f\u0442":[],"\u0437\u0430\u0445\u0435\u043d\u0434\u043b\u0435\u043d":1,"\u0437\u0430\u0447":3,"\u0437\u0430\u0449\u0438\u0449":1,"\u0437\u043d\u0430\u043a":[],"\u0437\u043d\u0430\u0447\u0435\u043d":[3,4],"\u0438":[1,3,4],"\u0438\u0431":[],"\u0438\u0433\u043d\u043e\u0440\u0438\u0440":3,"\u0438\u0433\u043d\u043e\u0440\u0438\u0440\u043e\u0432\u0430":3,"\u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440":3,"\u0438\u0437":[3,5],"\u0438\u0437\u0432\u0438\u043d":[],"\u0438\u0437\u043c\u0435\u043d\u0435\u043d":3,"\u0438\u043b":3,"\u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442":[],"\u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446":3,"\u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d":[],"\u0438\u0441\u043f\u043e\u043b\u044c\u0437":[],"\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d":3,"\u0438\u0441\u0445\u043e\u0434\u043d":[1,3],"\u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a":5,"\u0438\u0445":[],"\u043a":2,"\u043a\u0430\u043a":[1,5],"\u043a\u0430\u0441\u0442\u043e\u043c\u043d":3,"\u043a\u0438\u0432":3,"\u043a\u043b\u0430\u0441\u0441":3,"\u043a\u043b\u0438\u0435\u043d\u0442":[3,4,5],"\u043a\u043b\u044e\u0447":[1,2],"\u043a\u043e\u0433\u0434":3,"\u043a\u043e\u0434":[1,3],"\u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0446":4,"\u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440":3,"\u043a\u043e\u0442\u043e\u0440":[1,2,4],"\u043b\u044e\u0431":3,"\u043c\u0435\u043d":3,"\u043c\u0435\u0442\u043e\u0434":4,"\u043c\u0438\u043d\u0443\u0442":[3,4],"\u043c\u043d\u043e\u0433":[],"\u043c\u043e\u0436\u0435\u0442":1,"\u043c\u043e\u0436\u043d":[3,4],"\u043c\u043e\u043c\u0435\u043d\u0442":3,"\u043d\u0430":[1,2,3,4,5],"\u043d\u0430\u0434":[3,4],"\u043d\u0430\u0437\u0432\u0430\u043d":3,"\u043d\u0430\u043b\u0438\u0447":3,"\u043d\u0430\u0441\u0442\u0440\u043e":1,"\u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a":2,"\u043d\u0430\u0448":2,"\u043d\u0435":[1,3,4],"\u043d\u0435\u0432\u0430\u043b\u0438\u0434\u043d":3,"\u043d\u0435\u0433":3,"\u043d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d":3,"\u043d\u0435\u0442":3,"\u043d\u0438\u043a\u0430\u043a":1,"\u043d\u0438\u0445":[],"\u043d\u0438\u0447":1,"\u043d\u043e":3,"\u043d\u043e\u0432":[],"\u043d\u043e\u043c\u0435\u0440":[1,3],"\u043d\u0443\u0436":[],"\u043d\u0443\u0436\u043d":[2,3],"\u043e":[3,5],"\u043e\u0431\u0435\u0440\u0442\u043e\u0447\u043a":5,"\u043e\u0431\u043d\u043e\u0432":3,"\u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430":[1,2],"\u043e\u0431\u044a\u0435\u043a\u0442":[2,3,4],"\u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d":[],"\u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432":4,"\u043e\u0434\u043d":3,"\u043e\u043a\u0440\u0443\u0433\u043b\u044f":[],"\u043e\u043c":2,"\u043e\u043d":3,"\u043e\u043f\u0438\u0441\u0430\u043d":3,"\u043e\u043f\u043b\u0430\u0442":[3,4],"\u043e\u043f\u043b\u0430\u0447\u0435\u043d":2,"\u043e\u0441\u043d\u043e\u0432\u0430":[],"\u043e\u0441\u043d\u043e\u0432\u043d":[],"\u043e\u0442":3,"\u043e\u0442\u0432\u0435\u0442":[3,4],"\u043e\u0442\u0432\u0435\u0447\u0430":[],"\u043e\u0442\u043c\u0435\u043d":4,"\u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f":1,"\u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432":3,"\u043e\u0448\u0438\u0431\u043a":3,"\u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440":[1,3,4],"\u043f\u0435\u0440\u0435\u0434\u0430\u0441\u0442":2,"\u043f\u0435\u0440\u0435\u043c\u0435\u043d":[],"\u043f\u0435\u0440\u0435\u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d":2,"\u043f\u0435\u0447\u0430\u0442\u0430":2,"\u043f\u043b\u0430\u043d\u0438\u0440\u0443\u0435\u0442":4,"\u043f\u043b\u0430\u0442\u0435\u0436":[],"\u043f\u043e":[],"\u043f\u043e\u0434\u043d\u0438\u043c\u0430\u043d\u0438\u0435\u043c":1,"\u043f\u043e\u043a":[],"\u043f\u043e\u043a\u0443\u043f\u0430\u0442\u0435\u043b":3,"\u043f\u043e\u043b":3,"\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430":[1,5],"\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b":3,"\u043f\u043e\u043d\u044f":[],"\u043f\u043e\u0440\u0442":[1,2],"\u043f\u043e\u0441\u043b":[],"\u043f\u043e\u0441\u043b\u0435\u0434\u043d":3,"\u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442":4,"\u043f\u043e\u0441\u0442\u0430\u0432":3,"\u043f\u043e\u0442\u0435\u0440\u044f":4,"\u043f\u043e\u0447":3,"\u043f\u043e\u0447\u0442":3,"\u043f\u043e\u044f\u0441\u043b\u0435\u043d":3,"\u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a":3,"\u043f\u0440\u0435\u0434\u043f\u043e\u043b\u0430\u0433\u0430":1,"\u043f\u0440\u0438":[1,2,3],"\u043f\u0440\u0438\u0432\u0430\u0442\u043d":1,"\u043f\u0440\u0438\u0435\u043c":1,"\u043f\u0440\u0438\u043c\u0435\u043d\u044f":4,"\u043f\u0440\u0438\u043c\u0435\u0440":2,"\u043f\u0440\u0438\u043d\u0438\u043c\u0430":2,"\u043f\u0440\u043e":[],"\u043f\u0440\u043e\u0431\u043b\u0435\u043c":4,"\u043f\u0440\u043e\u0432\u0435\u0440":4,"\u043f\u0440\u043e\u0432\u0435\u0440\u044f":[],"\u043f\u0440\u043e\u043a\u0441\u0438\u0440\u043e\u0432\u0430":2,"\u043f\u0440\u043e\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d":1,"\u043f\u0440\u043e\u0441\u0442":3,"\u043f\u0441\u0435\u0432\u0434\u043e\u043d":[],"\u0440\u0430\u0431\u043e\u0442":3,"\u0440\u0430\u0431\u043e\u0442\u0430":[1,3,4],"\u0440\u0430\u0437":3,"\u0440\u0430\u0437\u043d\u0438\u0446":3,"\u0440\u0430\u0441\u0441\u0447\u0438\u0442\u044b\u0432\u0430":3,"\u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442":3,"\u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434":1,"\u0440\u0443\u0431\u043b":4,"\u0441":[1,3,4],"\u0441\u0430\u0439\u0442":3,"\u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440":4,"\u0441\u0434\u0435\u043b\u0430":1,"\u0441\u0435\u0431":2,"\u0441\u0435\u0440\u0432\u0435\u0440":[1,2,3],"\u0441\u0435\u0440\u0432\u0435\u0440\u043d":1,"\u0441\u0435\u0440\u0432\u0441\u0438\u0441":3,"\u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442":1,"\u0441\u0438\u043c\u0432\u043e\u043b":[],"\u0441\u0438\u0441\u0442\u0435\u043c":3,"\u0441\u043a\u043e\u043b\u044c\u043a":3,"\u0441\u043b\u0438\u0448\u043a":[],"\u0441\u043b\u043e\u0432\u0430\u0440":3,"\u0441\u043b\u0443\u0447\u0430":[2,3],"\u0441\u043c\u0435\u0440\u0442":[],"\u0441\u043e":[3,4],"\u0441\u043e\u0434\u0435\u0440\u0436":3,"\u0441\u043e\u0437\u0434\u0430":[],"\u0441\u043e\u0437\u0434\u0430\u0434":2,"\u0441\u043e\u0437\u0434\u0430\u043d":3,"\u0441\u043e\u043e\u0431\u0449\u0435\u043d":3,"\u0441\u0441\u044b\u043b\u043a":4,"\u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d":4,"\u0441\u0442\u0430\u0442\u0443\u0441":[3,4],"\u0441\u0442\u0440\u0430\u043d\u0438\u0446":[],"\u0441\u0442\u0440\u043e\u043a":[],"\u0441\u0443\u043c\u043c":[2,3,4],"\u0441\u0447\u0430\u0442":3,"\u0441\u0447\u0435\u0442":[2,3,4,5],"\u0442\u0430\u043a":[1,2,4],"\u0442\u0435\u043b\u0435\u0444\u043e\u043d":3,"\u0442\u0435\u043f\u0435\u0440":[2,4],"\u0442\u0438\u043f":3,"\u0442\u043e":3,"\u0442\u043e\u0433\u0434":4,"\u0442\u043e\u043b\u044c\u043a":2,"\u0442\u0443\u0442":1,"\u0443":3,"\u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d":5,"\u0443\u0432\u0435\u043d\u0447\u0430":[],"\u0443\u0434\u043e\u0431\u043d":3,"\u0443\u0434\u043e\u0431\u0441\u0442\u0432":3,"\u0443\u043a\u0430\u0437\u0430":[2,3,4],"\u0443\u043a\u0430\u0437\u044b\u0432\u0430":4,"\u0443\u043a\u0437\u0430\u0430":[],"\u0443\u043c\u0435\u0435\u0442":[],"\u0443\u043c\u043e\u043b\u0447\u0430\u043d":[],"\u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u0438\u0437\u0430\u0446":3,"\u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d":[],"\u0443\u0441\u043f\u0435\u0445":[],"\u0443\u0441\u043f\u0435\u0448\u043d":[],"\u0443\u0442\u043e\u0447\u043d":2,"\u0444\u043e\u0440\u043c":[],"\u0444\u043e\u0440\u043c\u0430\u0442":3,"\u0444\u0443\u043d\u043a\u0446":[1,2],"\u0445\u0435\u043d\u0434\u043b\u0435\u0440":1,"\u0445\u044d\u043d\u0434\u043b\u0435\u0440":2,"\u0447\u0435\u0440\u0435\u0437":[3,5],"\u0447\u0438\u0441\u043b":[],"\u0447\u0442\u043e":[2,3],"\u0447\u0442\u043e\u0431":1,"\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d":1,"\u0448\u0442\u0443\u0447\u043a":[1,3],"\u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043d":3,"\u044d\u0442":3,"\u044d\u0442\u043e\u0442":2,"\u044f":[],"class":[1,3],"default":3,"false":3,"float":3,"import":[2,4],"int":[1,3],"package":[],"return":[],"true":2,abcdef:[2,4],account:3,admin:2,alpha:[],amount:[2,3,4],api:[2,3,5],attr:[],auth_key:[1,4],bill:[2,3,4],bill_id:[2,3,4],billid:2,bool:3,cause:3,cert:2,check:4,cherrypy:5,clone:5,com:[2,5],comment:3,contents:[],creation:3,crt:2,currency:3,customer:3,datetime:3,datetime_qiwi:[],datetime_timastamp:[],ddthh:3,def:2,default_amount:4,description:3,dict:3,domain:2,email:3,email_validator:5,error_code:3,errors:3,exception:[],expiration:3,fields:3,from:[2,4],git:5,github:5,handler:2,http:2,https:[2,5],ignore_args:3,ignore_valid:3,install:5,iso:[],json:3,json_data:3,key:2,lambda:2,lifetime:[3,4],listen:2,literalinclude:[],location:2,made:[],models:3,module:[],moment:3,new_bill:4,nginx:[1,2],none:3,notify:[1,2],now:3,now_datetime:[],object:[],optional:3,p2p:[2,4,5],paid:2,param:[],pay_url:[3,4],phone:3,phonenumbers:5,pip:5,pkey:2,port:[1,2],print:[2,4],print_bill:2,privkey:[],proxy_pass:2,pyqiwip2p:[1,2,3,4],python3:5,python:5,qiwi:[1,2,3,5],qiwi_datetime:[],qiwi_notify:2,qiwi_priv_key:[2,4],qiwi_timestamp:[],qiwi_types:[],qiwicustomer:[3,4],qiwidatetime:[3,4],qiwierror:3,qiwinotify:[1,2],qiwip2p:4,raise:[],reject:4,requests:[3,5],requirements:[],response:3,response_json:3,responses:3,rtype:[],rub:[],self:[],server:2,server_name:2,service_name:3,sescription:[],set_from_datetime:[],set_from_qiwi:[],set_from_timestamp:[],setup:5,setuptools:5,site_id:3,ssl:1,ssl_certificate:2,ssl_certificate_key:2,start:[1,2],status:[2,3,4],status_changed:3,str:[1,3],submodules:[],subpackages:[],supersecretqiwiuri:2,timestamp:3,timestamp_datetime:[],timestamp_qiwi:[],trace_id:3,transfers:2,txt:[],type:[],types:[2,4,5],union:3,unix:3,update:5,uri:2,url:3,user_message:3,via:[],whiteapfel:5,xyz:[2,4],yyyy:3},titles:["\u041a\u043b\u0438\u0435\u043d\u0442","\u0423\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u044f \u043e \u0441\u0447\u0435\u0442\u0430\u0445","\u041a\u0430\u043a \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u044f\u043c\u0438","Types","\u041a\u0430\u043a \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f","\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f PyQiwiP2P \u043f\u0440\u0438\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0442\u0435\u0431\u044f!"],titleterms:{"\u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446":5,"\u0437\u0430\u0432\u0438\u0441\u0438\u043c":5,"\u043a\u0430\u043a":[2,4],"\u043a\u043b\u0438\u0435\u043d\u0442":0,"\u043c\u0435\u0442\u043e\u0434":[],"\u043e":1,"\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430":[2,4],"\u043f\u0440\u0438\u0432\u0435\u0442\u0441\u0442\u0432":5,"\u0441\u0447\u0435\u0442":1,"\u0442\u0435\u0431":5,"\u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d":[1,2],"\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a":5,"package":[],api:[],contents:[],customer:[],errors:[],module:[],pyqiwip2p:5,qiwi_types:[],qiwidatetime:[],qiwip2p:[],responses:[],submodules:[],subpackages:[],types:3}}) \ No newline at end of file +Search.setIndex({"docnames": ["Client", "Notify", "NotifyUse", "Types", "Use", "index"], "filenames": ["Client.rst", "Notify.rst", "NotifyUse.rst", "Types.rst", "Use.rst", "index.rst"], "titles": ["\u041a\u043b\u0438\u0435\u043d\u0442", "\u0423\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u044f \u043e \u0441\u0447\u0435\u0442\u0430\u0445", "\u041a\u0430\u043a \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u044f\u043c\u0438", "Types", "\u041a\u0430\u043a \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f", "\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f PyQiwiP2P \u043f\u0440\u0438\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0442\u0435\u0431\u044f!"], "terms": {"\u043a\u0430\u043a": [0, 1, 5], "\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430": [1, 5], "\u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d": [1, 5], "\u0441\u0435\u0440\u0432\u0435\u0440": [1, 3, 5], "\u0441\u0438\u043d\u0445\u0440\u043e\u043d": [1, 5], "qiwi": [0, 1, 2, 3, 4, 5], "\u043c\u043e\u0436\u0435\u0442": [1, 2], "\u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f": [1, 2], "\u043d\u0430": [0, 1, 2, 3, 4, 5], "\u043d\u0430\u0448": 2, "\u0441\u0435\u0440\u0432\u0438\u0441": 2, "\u0437\u0430\u043f\u0440\u043e\u0441": [0, 1, 2, 3], "\u043e\u0431": 2, "\u0438\u0437\u043c\u0435\u043d\u0435\u043d": [2, 3], "\u0441\u0442\u0430\u0442\u0443\u0441": [0, 2, 3, 4], "\u0441\u0447\u0435\u0442": [0, 2, 3, 4, 5], "\u0447\u0442\u043e\u0431": [1, 2, 4], "\u043c\u044b": [0, 2], "\u043c\u043e\u0433\u043b": 2, "\u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f": 2, "\u0442\u043e": [0, 2, 3, 4], "\u0434\u0435\u0439\u0441\u0442\u0432": 2, "\u0442\u0430\u043a\u043e\u0432": 2, "\u0441\u043e\u0431\u044b\u0442": 2, "\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440": [2, 4], "\u043e\u0431\u043d\u043e\u0432\u043b\u044f": 2, "\u0437\u0430\u043a\u0430\u0437": [0, 2, 3, 4], "\u0432": [0, 2, 3, 4, 5], "\u0431\u0430\u0437": 2, "\u0434\u0430\u043d": 2, "\u0438\u043b": [0, 2, 3, 4, 5], "\u0432\u044b\u0441\u044b\u043b\u0430": 2, "\u043a\u043b\u0438\u0435\u043d\u0442": [2, 3, 4, 5], "\u0447\u0435\u043a": 2, "\u043e\u043f\u043b\u0430\u0442": [0, 2, 3, 4, 5], "\u0441\u043b\u0443\u0447\u0430": [2, 3, 5], "\u0441\u0430\u043c\u043e\u0437\u0430\u043d\u044f\u0442": 2, "\u0441\u043e\u0441\u0442\u0430\u0432\u043b\u044f": 2, "\u0445\u0435\u043d\u0434\u043b\u0435\u0440": [1, 2], "\u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434": [1, 2], "\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430": 2, "\u0435\u0433": [2, 4], "\u0438\u0431": 2, "\u043e\u043d": [2, 3, 5], "\u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d": 2, "\u043f\u0440\u0438": [0, 1, 2, 3, 4, 5], "\u044d\u0442": [0, 2, 3, 5], "\u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430": 2, "\u0437\u0430\u0445\u0435\u043d\u0434\u043b\u0435\u043d": [1, 2], "\u0444\u0443\u043d\u043a\u0446": [0, 1, 2], "from": [2, 4], "pyqiwip2p": [0, 1, 2, 3, 4], "import": [2, 4], "qiwip2p": [0, 2, 3, 4], "aioqiwip2p": [2, 4, 5], "p2p_types": [2, 3], "bill": [0, 2, 3, 4, 5], "notify": [1, 2], "aioqiwinotify": [1, 2], "asyncio": 2, "qiwi_priv_key": [2, 4], "abcdef": [2, 4], "xyz": [2, 4], "qiwi_notify": 2, "p2p": [0, 2, 3, 4, 5], "auth_key": [0, 1, 2, 4], "handler": 2, "lambda": 2, "status": [2, 3, 4], "expired": 2, "async": [2, 4], "def": [2, 4], "on_expired": 2, "new_bill": [2, 4], "await": [2, 4], "amount": [0, 2, 3, 4], "comment": [0, 2, 3], "print": [2, 4], "pay_url": [2, 3, 4], "\u0434\u043e\u0431\u0430\u0432": 2, "\u0445\u044d\u043d\u0434\u043b\u0435\u0440": 2, "\u043a\u043e\u0442\u043e\u0440": [0, 1, 2, 4, 5], "\u0431\u0443\u0434\u0435\u0442": [0, 1, 2, 4], "\u043f\u0435\u0447\u0430\u0442\u0430": 2, "billid": 2, "\u0434\u043b\u044f": [0, 1, 2, 3, 4, 5], "\u0432\u0441\u0435\u0445": [2, 5], "true": [1, 2], "on_all": 2, "main": [2, 4], "p": [2, 5], "get_event_loop": 2, "server": 2, "create_task": 2, "a_start": 2, "port": [1, 2], "12345": 2, "loop": 2, "run_until_complete": 2, "\u043f\u0440\u043e\u0432\u0435\u0440": [0, 2, 4], "\u0432\u0440\u0435\u043c\u0435\u043d": [0, 2, 3], "\u043d\u043e": [2, 3, 5], "\u043b\u0443\u0447\u0448": 2, "\u043f\u0435\u0440\u0435\u0439\u0442": 2, "qiwinotify": [1, 2], "types": [2, 4, 5], "\u043f\u0440\u0438\u043d\u0438\u043c\u0430": [0, 2], "\u0441\u0435\u0431": 2, "\u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442": [0, 2, 3], "\u043f\u0435\u0440\u0435\u0434\u0430\u0441\u0442": 2, "\u043e\u0431\u044a\u0435\u043a\u0442": [0, 2, 3, 4, 5], "print_bill": 2, "bill_id": [0, 2, 3, 4], "\u0441\u043e\u0437\u0434\u0430\u0434": 2, "\u0441\u0443\u043c\u043c": [0, 2, 3, 4], "\u043e\u043f\u043b\u0430\u0447\u0435\u043d": 2, "paid": 2, "\u0442\u0435\u043f\u0435\u0440": [0, 2, 4], "\u0437\u0430\u043f\u0443\u0441\u0442": [1, 2], "\u043e\u043c": 2, "\u043f\u043e\u0440\u0442": [1, 2], "start": [1, 2], "\u0443\u0442\u043e\u0447\u043d": 2, "\u0447\u0442\u043e": [0, 2, 3], "\u043f\u0440\u043e\u043a\u0441\u0438\u0440\u043e\u0432\u0430": 2, "\u0434\u043e\u043b\u0436\u043d": 2, "\u0442\u0430\u043a": [0, 1, 2, 4], "\u0442\u043e\u043b\u044c\u043a": [0, 2], "\u044d\u0442\u043e\u0442": [2, 5], "uri": 2, "\u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430": [1, 2], "\u0438": [0, 1, 2, 3, 4], "\u043f\u0440\u0438\u043c\u0435\u0440": [2, 4], "\u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a": 2, "nginx": [1, 2], "\u043f\u0435\u0440\u0435\u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d": [2, 5], "\u043a": [0, 2, 5], "\u043d\u0438\u0436": [2, 4], "\u043d\u0443\u0436\u043d": [2, 3], "\u0433\u0435\u043d\u0435\u0440\u0430\u0446": 2, "\u043a\u043b\u044e\u0447": [0, 1, 2], "api": [0, 2, 3, 5], "https": [0, 2, 5], "com": [0, 2, 5], "admin": [0, 2], "transfers": [0, 2], "\u0443\u043a\u0430\u0437\u0430": [0, 2, 3, 4], "domain": 2, "supersecretqiwiuri": 2, "listen": 2, "443": [1, 2], "server_name": 2, "ssl_certificate": 2, "cert": 2, "crt": 2, "ssl_certificate_key": 2, "pkey": 2, "key": 2, "location": 2, "proxy_pass": 2, "http": 2, "0": [2, 5], "\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a": 4, "\u0438\u043d\u0442\u0443\u0438\u0442\u0438\u0432\u043d": 4, "\u043f\u043e\u043d\u044f\u0442\u043d": 4, "\u0438\u0441\u043f\u043e\u043b\u044c\u0437": [0, 4], "\u043f\u0440\u0430\u043a\u0442\u0438\u043a": 4, "\u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d": 4, "\u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b": 4, "\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d": [3, 4], "\u043e\u0441\u043d\u043e\u0432\u043d": [0, 4], "\u043a\u043b\u0430\u0441\u0441": [0, 4], "\u0432\u044b\u0441\u0442\u0430\u0432\u043b\u0435\u043d": [0, 4], "\u043f\u0440\u043e\u0432\u0435\u0440\u043a": 4, "\u0437\u0430\u043a\u0440\u044b\u0442": [0, 3, 4], "qiwicustomer": [0, 3, 4], "qiwidatetime": [0, 3, 4], "\u0432\u044b\u0441\u0442\u0430\u0432": 4, "228": 4, "\u0440\u0443\u0431\u043b": [0, 4], "\u0440\u0430\u0431\u043e\u0442\u0430": [0, 1, 3, 4], "45": 4, "\u043c\u0438\u043d\u0443\u0442": [0, 3, 4], "212332030": 4, "lifetime": [0, 3, 4], "\u0447\u0435\u0440\u0435\u0437": [0, 3, 4, 5], "check": [0, 4], "\u043f\u0440\u043e\u0441\u0442": [0, 3, 4], "\u043f\u0435\u0440\u0435\u0434\u0430\u0432": 4, "\u0441\u0430\u043c": [4, 5], "\u043f\u043e\u0442\u0435\u0440\u044f": 4, "\u0441\u0441\u044b\u043b\u043a": [0, 3, 4, 5], "\u043d\u0435": [0, 1, 3, 4, 5], "\u043f\u0440\u043e\u0431\u043b\u0435\u043c": 4, "245532": 4, "\u043e\u0442\u043c\u0435\u043d": 4, "\u0442\u043e\u0433\u0434": 4, "\u043d\u0430\u0434": [3, 4], "\u0437\u0430\u043a\u0440": [0, 3, 4], "reject": [0, 4], "\u0435\u0441\u043b": [0, 3, 4, 5], "\u043f\u043b\u0430\u043d\u0438\u0440\u0443\u0435\u0442": 4, "\u0432\u044b\u0441\u0442\u0430\u0432\u043b\u044f": 4, "\u0441": [0, 1, 3, 4, 5], "\u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432": 4, "\u043c\u043e\u0436\u043d": [0, 3, 4, 5], "\u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430": 4, "\u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440": [0, 1, 3, 4], "default_amount": [0, 4], "148": 4, "\u0443\u043a\u0430\u0437\u044b\u0432\u0430": 4, "\u043c\u0435\u0442\u043e\u0434": [0, 3, 4], "\u0437\u043d\u0430\u0447\u0435\u043d": [0, 3, 4], "\u043f\u0440\u0438\u043c\u0435\u043d\u044f": 4, "\u0431\u0430\u0437\u043e\u0432": 4, "6627358": 4, "\u0430": [1, 4], "\u0435\u0449": [1, 4], "\u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440": [0, 4], "\u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a": [0, 4], "\u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442": 4, "\u043e\u0442\u0432\u0435\u0442": [0, 3, 4], "\u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0446": 4, "\u0441\u043e": [0, 3, 4], "\u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d": 4, "\u0432\u043e\u0442": 4, "\u0437\u0430\u043f\u0440\u0435\u0442": 4, "\u043f\u043b\u0430\u0442\u0435\u0436": [0, 4], "\u043a\u0430\u0440\u0442": 4, "\u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c": 4, "\u043f\u0435\u0440\u0435\u0434\u0430": [4, 5], "paysourcesfilter": 4, "fields": [0, 3, 4], "\u0442\u0443\u0434": 4, "\u0436\u0435": 4, "themecode": 4, "qw": 4, "card": 4, "malchikgay": 4, "\u043b\u0438\u0431": 4, "\u0443\u0434\u043e\u0431\u043d": [3, 4, 5], "\u043f\u043e\u043b": [0, 3, 4], "pay_sources": [0, 4], "paymentmethods": [0, 4], "theme_code": [0, 4], "\u043e\u0431\u0435\u0440\u0442\u043e\u0447\u043a": 5, "python": 5, "\u0438\u044e\u043d": 5, "\u043d\u0430\u0447\u0430": 5, "\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430": 5, "\u043a\u043e\u0448\u0435\u043b\u044c\u043a": 5, "\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b": [3, 5], "\u043e\u0442\u043a\u0440": 5, "\u0441\u0442\u0440\u0430\u043d\u0438\u0446": [0, 5], "\u043d\u0430\u043f\u0440\u044f\u043c": 5, "\u0442\u0435\u043c": [0, 5], "\u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a": 5, "referer": [3, 5], "\u043e\u0442\u043a\u0440\u044b\u0442": 5, "\u0438\u0437": [3, 5], "\u043c\u0435\u0441\u0441\u0435\u043d\u0434\u0436\u0435\u0440": 5, "\u0441\u043c\u0441": 5, "\u043f\u0438\u0441\u044c\u043c": 5, "\u0430\u0434\u0440\u0435\u0441\u043d": 5, "\u0441\u0442\u0440\u043e\u043a": [0, 5], "\u0431\u0440\u0430\u0443\u0437\u0435\u0440": 5, "\u043f\u043e\u0432\u044b\u0448\u0435\u043d": 5, "\u0440\u0435\u0436\u0438\u043c": 5, "\u043f\u0440\u0438\u0432\u0430\u0442\u043d": [0, 1, 5], "\u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d": 5, "\u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440": 5, "\u043e\u0431\u0445\u043e\u0434": 5, "\u043f\u0440\u043e\u0431\u043b": 5, "\u043a\u0440\u043e\u043c": 5, "\u043f\u043e\u0441\u043b\u0435\u0434\u043d": [3, 5], "\u0440\u0435\u0448\u0430": 5, "\u0431\u044b\u043b": 5, "\u0434\u043e\u0431\u0430\u0432\u043b": 5, "\u0430\u0442\u0440\u0438\u0431\u0443\u0442": [0, 3, 5], "alt_url": [3, 5], "\u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f": 5, "\u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d": 5, "\u043f\u0440\u043e\u043a\u043b\u0430\u0434": 5, "\u0434\u043e\u0431\u0430\u0432\u043b\u044f": 5, "\u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b": 5, "\u043c\u043d\u043e": 5, "\u0435": 5, "\u043f\u043e\u0434\u043d\u044f": 5, "\u0441\u0432\u043e": 5, "\u043f\u043e\u043c\u043e\u0449": 5, "docker": 5, "\u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440": 5, "\u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a": 5, "github": 5, "\u043e\u0431\u0440\u0430\u0437": 5, "ghcr": 5, "io": 5, "whiteapfel": [0, 5], "p2proxy": 5, "\u0437\u0430\u043f\u0443\u0441\u043a": [1, 5], "run": 5, "3600": 5, "d": 5, "\u0434\u043e\u043c": [0, 5], "privkey": 5, "alt": [0, 3, 5], "example": 5, "setuptools": 5, "63": 5, "1": 5, "phonenumbers": 5, "8": 5, "12": 5, "15": 5, "email_validator": 5, "2": 5, "typing": 5, "3": [0, 5], "7": 5, "4": 5, "hypercorn": 5, "11": 5, "starlette": 5, "19": 5, "httpx": 5, "23": 5, "pydantic": 5, "9": 5, "validators": 5, "20": 5, "ipaddress": 5, "loguru": 5, "6": 5, "dotenv": 5, "pytest": 5, "cherrypy": 5, "18": 5, "response": [3, 5], "report": 5, "pip": 5, "python3": 5, "m": 5, "install": 5, "update": 5, "git": 5, "clone": 5, "cd": 5, "setup": 5, "py": 5, "\u0440\u0435\u0436": 5, "\u043e": [3, 5], "class": [0, 1, 3], "str": [0, 1, 3], "int": [0, 1, 3], "100": 0, "currency": [0, 3], "rub": 0, "qp2p": [0, 3], "0708": [0, 3], "su": [0, 3], "skip_key_validation": 0, "bool": [0, 3], "false": [0, 1, 3], "\u0438\u0441\u0445\u043e\u0434\u043d": [0, 1, 3], "\u043a\u043e\u0434": [0, 1, 3], "\u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442": 0, "\u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432": 0, "\u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446": 0, "\u043d\u0443\u0436": 0, "\u0440\u0430\u0431\u043e\u0442": [0, 3], "\u0432\u0430\u0448": [0, 3], "\u0430\u043a\u043a\u0430\u0443\u043d\u0442": [0, 3], "or": [0, 3], "float": [0, 3], "optional": [0, 3], "\u043f\u043e": 0, "\u0443\u043c\u043e\u043b\u0447\u0430\u043d": 0, "\u043d\u043e\u0432": 0, "\u0432\u0430\u043b\u044e\u0442": [0, 3], "\u0444\u043e\u0440\u043c\u0430\u0442": [0, 3], "alpha": 0, "iso": 0, "4217": 0, "\u043f\u043e\u043a": 0, "\u0443\u043c\u0435\u0435\u0442": 0, "kzt": 0, "\u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u043d": 0, "\u043f\u0440\u043e\u043a\u0441\u0438\u0440": 0, "union": [0, 3], "none": [0, 3], "expiration": [0, 3], "30": [0, 3], "customer": [0, 3], "dict": [0, 3], "via": 0, "list": 0, "\u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440": [0, 3], "\u0441\u0438\u0441\u0442\u0435\u043c": [0, 3], "\u0443\u043a\u0437\u0430\u0430": 0, "\u0433\u0435\u043d\u0435\u0440\u0438\u0440": [0, 3], "\u043e\u0441\u043d\u043e\u0432\u0430": 0, "\u043e\u043a\u0440\u0443\u0433\u043b\u044f": 0, "\u0434\u043e": 0, "\u0434\u0432\u0443\u0445": 0, "\u0437\u043d\u0430\u043a": 0, "\u043f\u043e\u0441\u043b": 0, "\u0437\u0430\u043f\u044f\u0442": 0, "\u0442\u0435\u043d\u0433": 0, "datetime": [0, 3], "\u043a\u043e\u0433\u0434": [0, 3], "timestamp": [0, 3], "yyyy": [0, 3], "mm": [0, 3], "ddthh": [0, 3], "ss": [0, 3], "hh": [0, 3], "default": [0, 3], "\u0432\u0440\u0435\u043c": [0, 3], "\u0436\u0438\u0437\u043d": [0, 3], "\u0434\u0430\u0442": 0, "phone": [0, 3], "email": [0, 3], "\u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440": [0, 3], "255": 0, "\u0441\u0438\u043c\u0432\u043e\u043b": 0, "\u043b\u0438\u0441\u0442": 0, "\u0445\u043e\u0442": 0, "\u0440\u0430\u0437\u0440\u0435\u0448": 0, "\u0435\u0441\u0442": [0, 1], "\u043e\u0444\u043e\u0440\u043c\u043b\u0435\u043d": 0, "\u043f\u043e\u043b\u0443\u0447": 0, "\u0441\u0430\u0439\u0442": [0, 3], "\u043a\u0438\u0432": [0, 3], "\u0441\u043b\u043e\u0432\u0430\u0440": [0, 3], "\u043a\u0430\u0441\u0442\u043e\u043c\u043d": [0, 3], "\u044f": 0, "\u043d\u0438\u0447": [0, 1], "\u043f\u0440\u043e": 0, "\u043d\u0438\u0445": 0, "\u043f\u043e\u043d\u044f": 0, "\u0438\u0437\u0432\u0438\u043d": 0, "\u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430": 0, "\u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432": 0, "\u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d": 0, "qiwierror": [0, 3], "\u0443\u0432\u0435\u043d\u0447\u0430": 0, "\u0443\u0441\u043f\u0435\u0445": 0, "\u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442": [0, 3], "\u0443\u0441\u043f\u0435\u0448\u043d": 0, "\u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d": 0, "\u0442\u0438\u043f": [0, 3], "\u043f\u0440\u043e\u0432\u0435\u0440\u044f": 0, "static": 0, "is_qiwi_ip": 0, "ip": 0, "qiwi_ips": 0, "args": 0, "kwargs": 0, "\u0432\u044b": 0, "\u043f\u0440\u043e\u0441": 0, "\u0441\u0434\u0435\u043b\u0430": [0, 1], "\u043e\u0434\u043d": [0, 3], "\u043f\u0440\u0438\u0447": 0, "\u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d": 0, "\u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430": 0, "\u0441\u0442\u0430\u0442\u0438\u0447\u043d": 0, "\u0430\u0434\u0440\u0435\u0441": [0, 3], "\u043f\u0440\u0438\u0448\u0435\u043b": 0, "tuple": 0, "\u0441\u043f\u0438\u0441\u043e\u043a": 0, "\u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d": 0, "\u043f\u043e\u0434\u0441\u0435\u0442": 0, "\u043f\u0440\u0438\u043d\u0430\u0434\u043b\u0435\u0436\u043d": 0, "\u0437\u0430\u043a\u0440\u044b\u0432\u0430": 0, "once": 1, "\u0448\u0442\u0443\u0447\u043a": [1, 3], "\u0441\u0435\u0440\u0432\u0435\u0440\u043d": 1, "\u0437\u0430\u043f\u0443\u0441\u043a\u0430": 1, "\u043f\u0440\u0438\u0435\u043c": 1, "\u0442\u0443\u0442": 1, "\u043d\u0430\u0441\u0442\u0440\u043e": 1, "8099": 1, "\u0432\u0435\u0431": 1, "\u0432\u0445\u043e\u0434\u044f": 1, "\u0432\u043d\u0438\u043c\u0430\u043d": 1, "\u043f\u0440\u0435\u0434\u043f\u043e\u043b\u0430\u0433\u0430": 1, "\u043f\u0440\u043e\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d": [1, 3], "\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d": 1, "\u0434\u043e\u0432\u0435\u0440\u0435\u043d": 1, "\u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442": 1, "ssl": 1, "\u043f\u043e\u0434\u043d\u0438\u043c\u0430\u043d\u0438\u0435\u043c": 1, "\u0437\u0430\u0449\u0438\u0449": 1, "\u043d\u0438\u043a\u0430\u043a": 1, "\u0432\u043e\u043e\u0431\u0449": 1, "\u043d\u043e\u043c\u0435\u0440": [1, 3], "account": 3, "json_data": 3, "ignore_valid": 3, "ignore_args": 3, "\u043f\u043e\u043a\u0443\u043f\u0430\u0442\u0435\u043b": 3, "\u043d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d": 3, "\u0437\u0430\u0447": 3, "\u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446": 3, "\u0440\u0430\u0437": 3, "\u043f\u043e\u0447": 3, "\u0431\u044b": 3, "\u043d\u0435\u0442": 3, "\u0443\u0434\u043e\u0431\u0441\u0442\u0432": 3, "\u0442\u0435\u043b\u0435\u0444\u043e\u043d": 3, "\u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a": 3, "\u043b\u044e\u0431": 3, "\u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043d": 3, "\u043f\u043e\u0447\u0442": 3, "\u043d\u0430\u043b\u0438\u0447": 3, "\u0434\u0440\u0443\u0433": 3, "\u0438\u0433\u043d\u043e\u0440\u0438\u0440": 3, "\u0438\u0433\u043d\u043e\u0440\u0438\u0440\u043e\u0432\u0430": 3, "\u043d\u0435\u0432\u0430\u043b\u0438\u0434\u043d": 3, "\u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432": 3, "\u043f\u043e\u0441\u0442\u0430\u0432": 3, "\u0432\u043c\u0435\u0441\u0442": 3, "\u043d\u0435\u0433": 3, "79994442211": 3, "json": 3, "errors": 3, "response_json": 3, "\u043e\u0448\u0438\u0431\u043a": 3, "\u043e\u0442": 3, "service_name": 3, "\u043d\u0430\u0437\u0432\u0430\u043d": 3, "\u0441\u0435\u0440\u0432\u0441\u0438\u0441": 3, "error_code": 3, "description": 3, "\u043e\u043f\u0438\u0441\u0430\u043d": 3, "user_message": 3, "\u0441\u043e\u043e\u0431\u0449\u0435\u043d": 3, "\u043c\u043e\u043c\u0435\u043d\u0442": 3, "trace_id": 3, "cause": 3, "\u043f\u043e\u044f\u0441\u043b\u0435\u043d": 3, "qiwi_datetime": 3, "moment": 3, "now": 3, "\u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u0438\u0437\u0430\u0446": 3, "\u0440\u0430\u0437\u043d\u0438\u0446": 3, "mss": 3, "unix": 3, "\u0440\u0430\u0441\u0441\u0447\u0438\u0442\u044b\u0432\u0430": 3, "\u0441\u043a\u043e\u043b\u044c\u043a": 3, "responses": 3, "qiwi_p2p": 3, "\u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d": 3, "site_id": 3, "status_changed": 3, "creation": 3, "\u0441\u043e\u0437\u0434\u0430\u043d": 3, "url": 3, "\u043e\u0431\u043d\u043e\u0432": 3, "\u0443": 3, "\u043c\u0435\u043d": 3, "type": [], "param": [], "\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d": 3, "\u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a": 3}, "objects": {"pyqiwip2p": [[0, 0, 1, "", "QiwiP2P"]], "pyqiwip2p.QiwiP2P": [[0, 1, 1, "", "bill"], [0, 1, 1, "", "check"], [0, 1, 1, "", "is_qiwi_ip"], [0, 1, 1, "", "reject"]], "pyqiwip2p.notify": [[1, 0, 1, "", "AioQiwiNotify"], [1, 0, 1, "", "QiwiNotify"]], "pyqiwip2p.notify.QiwiNotify": [[1, 1, 1, "", "start"]], "pyqiwip2p.p2p_types.customer": [[3, 0, 1, "", "QiwiCustomer"]], "pyqiwip2p.p2p_types.errors": [[3, 0, 1, "", "QiwiError"]], "pyqiwip2p.p2p_types.qiwi_datetime": [[3, 0, 1, "", "QiwiDatetime"]], "pyqiwip2p.p2p_types.qiwi_datetime.QiwiDatetime": [[3, 1, 1, "", "expiration"]], "pyqiwip2p.p2p_types.responses": [[3, 0, 1, "", "Bill"]]}, "objtypes": {"0": "py:class", "1": "py:method"}, "objnames": {"0": ["py", "class", "Python \u043a\u043b\u0430\u0441\u0441"], "1": ["py", "method", "Python \u043c\u0435\u0442\u043e\u0434"]}, "titleterms": {"\u043a\u043b\u0438\u0435\u043d\u0442": 0, "\u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d": [1, 2, 5], "\u043e": 1, "\u0441\u0447\u0435\u0442": 1, "\u043a\u0430\u043a": [2, 4], "\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430": [2, 4], "\u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d": [2, 4], "\u0441\u0435\u0440\u0432\u0435\u0440": 2, "\u0441\u0438\u043d\u0445\u0440\u043e\u043d": [2, 4], "types": 3, "\u0440\u0435\u0436": 4, "\u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446": 5, "pyqiwip2p": 5, "\u043f\u0440\u0438\u0432\u0435\u0442\u0441\u0442\u0432": 5, "\u0442\u0435\u0431": 5, "\u0432\u0430\u0436\u043d": 5, "\u0437\u0430\u0432\u0438\u0441\u0438\u043c": 5, "\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a": 5}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 6, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.todo": 2, "sphinx.ext.viewcode": 1, "sphinx": 56}}) \ No newline at end of file diff --git a/pyqiwip2p/AioQiwip2p.py b/pyqiwip2p/AioQiwip2p.py index cdf6df2..e71030f 100644 --- a/pyqiwip2p/AioQiwip2p.py +++ b/pyqiwip2p/AioQiwip2p.py @@ -1,15 +1,11 @@ import asyncio import json import random -import sys import time import typing from base64 import b64decode from ipaddress import IPv4Address, IPv4Network -if sys.version_info < (3, 10): - from __future__ import annotations - import httpx from loguru import logger diff --git a/pyqiwip2p/Qiwip2p.py b/pyqiwip2p/Qiwip2p.py index fa37b4d..3799059 100644 --- a/pyqiwip2p/Qiwip2p.py +++ b/pyqiwip2p/Qiwip2p.py @@ -1,14 +1,10 @@ import json import random -import sys import time import typing from base64 import b64decode from ipaddress import IPv4Address, IPv4Network -if sys.version_info < (3, 10): - from __future__ import annotations - import httpx from loguru import logger diff --git a/pyqiwip2p/__init__.py b/pyqiwip2p/__init__.py index a4d5dce..4ea8e4f 100644 --- a/pyqiwip2p/__init__.py +++ b/pyqiwip2p/__init__.py @@ -1,2 +1,4 @@ +from __future__ import annotations + from pyqiwip2p.AioQiwip2p import AioQiwiP2P from pyqiwip2p.Qiwip2p import QiwiP2P diff --git a/pyqiwip2p/p2p_types/__init__.py b/pyqiwip2p/p2p_types/__init__.py index 4ea57c3..45ba37e 100644 --- a/pyqiwip2p/p2p_types/__init__.py +++ b/pyqiwip2p/p2p_types/__init__.py @@ -1,5 +1,5 @@ +from pyqiwip2p.p2p_types.qiwi_datetime import * from pyqiwip2p.p2p_types.custom_fields import * from pyqiwip2p.p2p_types.customer import * from pyqiwip2p.p2p_types.errors import * -from pyqiwip2p.p2p_types.qiwi_datetime import * from pyqiwip2p.p2p_types.responses import * diff --git a/pyqiwip2p/p2p_types/responses.py b/pyqiwip2p/p2p_types/responses.py index fdfa583..d9a38cc 100644 --- a/pyqiwip2p/p2p_types/responses.py +++ b/pyqiwip2p/p2p_types/responses.py @@ -45,12 +45,11 @@ class Bill: :type customer: QiwiCustomer :param fields: кастомные поля Qiwi :type fields: ``dict`` - :param json: исходный словарь Qiwi на случай, - если они что-то обновят или у меня что-то не работает + :param json: исходный словарь Qiwi на случай, если они что-то обновят или у меня что-то не работает :type json: ``dict`` - :param alt_url: ссылка с проксированием через сервер - для установления заголовка referer + :param alt_url: ссылка с проксированием через сервер для установления заголовка referer :type alt_url: ``str`` + """ def __init__(self, response: typing.Union[Response, dict], alt="qp2p.0708.su"):