update docs [bot]
This commit is contained in:
		
							
								
								
									
										2
									
								
								docs/_static/basic.css
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								docs/_static/basic.css
									
									
									
									
										vendored
									
									
								
							| @@ -4,7 +4,7 @@ | |||||||
|  * |  * | ||||||
|  * Sphinx stylesheet -- basic theme. |  * Sphinx stylesheet -- basic theme. | ||||||
|  * |  * | ||||||
|  * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. |  * :copyright: Copyright 2007-2024 by the Sphinx team, see AUTHORS. | ||||||
|  * :license: BSD, see LICENSE for details. |  * :license: BSD, see LICENSE for details. | ||||||
|  * |  * | ||||||
|  */ |  */ | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								docs/_static/doctools.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								docs/_static/doctools.js
									
									
									
									
										vendored
									
									
								
							| @@ -4,7 +4,7 @@ | |||||||
|  * |  * | ||||||
|  * Base JavaScript utilities for all Sphinx HTML documentation. |  * Base JavaScript utilities for all Sphinx HTML documentation. | ||||||
|  * |  * | ||||||
|  * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. |  * :copyright: Copyright 2007-2024 by the Sphinx team, see AUTHORS. | ||||||
|  * :license: BSD, see LICENSE for details. |  * :license: BSD, see LICENSE for details. | ||||||
|  * |  * | ||||||
|  */ |  */ | ||||||
|   | |||||||
							
								
								
									
										4
									
								
								docs/_static/language_data.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								docs/_static/language_data.js
									
									
									
									
										vendored
									
									
								
							| @@ -5,7 +5,7 @@ | |||||||
|  * This script contains the language-specific data used by searchtools.js, |  * This script contains the language-specific data used by searchtools.js, | ||||||
|  * namely the list of stopwords, stemmer, scorer and splitter. |  * namely the list of stopwords, stemmer, scorer and splitter. | ||||||
|  * |  * | ||||||
|  * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. |  * :copyright: Copyright 2007-2024 by the Sphinx team, see AUTHORS. | ||||||
|  * :license: BSD, see LICENSE for details. |  * :license: BSD, see LICENSE for details. | ||||||
|  * |  * | ||||||
|  */ |  */ | ||||||
| @@ -13,7 +13,7 @@ | |||||||
| var stopwords = ["a", "and", "are", "as", "at", "be", "but", "by", "for", "if", "in", "into", "is", "it", "near", "no", "not", "of", "on", "or", "such", "that", "the", "their", "then", "there", "these", "they", "this", "to", "was", "will", "with"]; | var stopwords = ["a", "and", "are", "as", "at", "be", "but", "by", "for", "if", "in", "into", "is", "it", "near", "no", "not", "of", "on", "or", "such", "that", "the", "their", "then", "there", "these", "they", "this", "to", "was", "will", "with"]; | ||||||
|  |  | ||||||
|  |  | ||||||
| /* Non-minified version is copied as a separate JS file, is available */ | /* Non-minified version is copied as a separate JS file, if available */ | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * Porter Stemmer |  * Porter Stemmer | ||||||
|   | |||||||
							
								
								
									
										155
									
								
								docs/_static/searchtools.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										155
									
								
								docs/_static/searchtools.js
									
									
									
									
										vendored
									
									
								
							| @@ -4,7 +4,7 @@ | |||||||
|  * |  * | ||||||
|  * Sphinx JavaScript utilities for the full-text search. |  * Sphinx JavaScript utilities for the full-text search. | ||||||
|  * |  * | ||||||
|  * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. |  * :copyright: Copyright 2007-2024 by the Sphinx team, see AUTHORS. | ||||||
|  * :license: BSD, see LICENSE for details. |  * :license: BSD, see LICENSE for details. | ||||||
|  * |  * | ||||||
|  */ |  */ | ||||||
| @@ -99,7 +99,7 @@ const _displayItem = (item, searchTerms, highlightTerms) => { | |||||||
|       .then((data) => { |       .then((data) => { | ||||||
|         if (data) |         if (data) | ||||||
|           listItem.appendChild( |           listItem.appendChild( | ||||||
|             Search.makeSearchSummary(data, searchTerms) |             Search.makeSearchSummary(data, searchTerms, anchor) | ||||||
|           ); |           ); | ||||||
|         // highlight search terms in the summary |         // highlight search terms in the summary | ||||||
|         if (SPHINX_HIGHLIGHT_ENABLED)  // set in sphinx_highlight.js |         if (SPHINX_HIGHLIGHT_ENABLED)  // set in sphinx_highlight.js | ||||||
| @@ -116,8 +116,8 @@ const _finishSearch = (resultCount) => { | |||||||
|     ); |     ); | ||||||
|   else |   else | ||||||
|     Search.status.innerText = _( |     Search.status.innerText = _( | ||||||
|       `Search finished, found ${resultCount} page(s) matching the search query.` |       "Search finished, found ${resultCount} page(s) matching the search query." | ||||||
|     ); |     ).replace('${resultCount}', resultCount); | ||||||
| }; | }; | ||||||
| const _displayNextItem = ( | const _displayNextItem = ( | ||||||
|   results, |   results, | ||||||
| @@ -137,6 +137,22 @@ const _displayNextItem = ( | |||||||
|   // search finished, update title and status message |   // search finished, update title and status message | ||||||
|   else _finishSearch(resultCount); |   else _finishSearch(resultCount); | ||||||
| }; | }; | ||||||
|  | // Helper function used by query() to order search results. | ||||||
|  | // Each input is an array of [docname, title, anchor, descr, score, filename]. | ||||||
|  | // Order the results by score (in opposite order of appearance, since the | ||||||
|  | // `_displayNextItem` function uses pop() to retrieve items) and then alphabetically. | ||||||
|  | const _orderResultsByScoreThenName = (a, b) => { | ||||||
|  |   const leftScore = a[4]; | ||||||
|  |   const rightScore = b[4]; | ||||||
|  |   if (leftScore === rightScore) { | ||||||
|  |     // same score: sort alphabetically | ||||||
|  |     const leftTitle = a[1].toLowerCase(); | ||||||
|  |     const rightTitle = b[1].toLowerCase(); | ||||||
|  |     if (leftTitle === rightTitle) return 0; | ||||||
|  |     return leftTitle > rightTitle ? -1 : 1; // inverted is intentional | ||||||
|  |   } | ||||||
|  |   return leftScore > rightScore ? 1 : -1; | ||||||
|  | }; | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * Default splitQuery function. Can be overridden in ``sphinx.search`` with a |  * Default splitQuery function. Can be overridden in ``sphinx.search`` with a | ||||||
| @@ -160,13 +176,26 @@ const Search = { | |||||||
|   _queued_query: null, |   _queued_query: null, | ||||||
|   _pulse_status: -1, |   _pulse_status: -1, | ||||||
|  |  | ||||||
|   htmlToText: (htmlString) => { |   htmlToText: (htmlString, anchor) => { | ||||||
|     const htmlElement = new DOMParser().parseFromString(htmlString, 'text/html'); |     const htmlElement = new DOMParser().parseFromString(htmlString, 'text/html'); | ||||||
|     htmlElement.querySelectorAll(".headerlink").forEach((el) => { el.remove() }); |     for (const removalQuery of [".headerlinks", "script", "style"]) { | ||||||
|     const docContent = htmlElement.querySelector('[role="main"]'); |       htmlElement.querySelectorAll(removalQuery).forEach((el) => { el.remove() }); | ||||||
|     if (docContent !== undefined) return docContent.textContent; |     } | ||||||
|  |     if (anchor) { | ||||||
|  |       const anchorContent = htmlElement.querySelector(`[role="main"] ${anchor}`); | ||||||
|  |       if (anchorContent) return anchorContent.textContent; | ||||||
|  |  | ||||||
|       console.warn( |       console.warn( | ||||||
|       "Content block not found. Sphinx search tries to obtain it via '[role=main]'. Could you check your theme or template." |         `Anchored content block not found. Sphinx search tries to obtain it via DOM query '[role=main] ${anchor}'. Check your theme or template.` | ||||||
|  |       ); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     // if anchor not specified or not found, fall back to main content | ||||||
|  |     const docContent = htmlElement.querySelector('[role="main"]'); | ||||||
|  |     if (docContent) return docContent.textContent; | ||||||
|  |  | ||||||
|  |     console.warn( | ||||||
|  |       "Content block not found. Sphinx search tries to obtain it via DOM query '[role=main]'. Check your theme or template." | ||||||
|     ); |     ); | ||||||
|     return ""; |     return ""; | ||||||
|   }, |   }, | ||||||
| @@ -239,16 +268,7 @@ const Search = { | |||||||
|     else Search.deferQuery(query); |     else Search.deferQuery(query); | ||||||
|   }, |   }, | ||||||
|  |  | ||||||
|   /** |   _parseQuery: (query) => { | ||||||
|    * execute search (requires search index to be loaded) |  | ||||||
|    */ |  | ||||||
|   query: (query) => { |  | ||||||
|     const filenames = Search._index.filenames; |  | ||||||
|     const docNames = Search._index.docnames; |  | ||||||
|     const titles = Search._index.titles; |  | ||||||
|     const allTitles = Search._index.alltitles; |  | ||||||
|     const indexEntries = Search._index.indexentries; |  | ||||||
|  |  | ||||||
|     // stem the search terms and add them to the correct list |     // stem the search terms and add them to the correct list | ||||||
|     const stemmer = new Stemmer(); |     const stemmer = new Stemmer(); | ||||||
|     const searchTerms = new Set(); |     const searchTerms = new Set(); | ||||||
| @@ -284,16 +304,32 @@ const Search = { | |||||||
|     // console.info("required: ", [...searchTerms]); |     // console.info("required: ", [...searchTerms]); | ||||||
|     // console.info("excluded: ", [...excludedTerms]); |     // console.info("excluded: ", [...excludedTerms]); | ||||||
|  |  | ||||||
|     // array of [docname, title, anchor, descr, score, filename] |     return [query, searchTerms, excludedTerms, highlightTerms, objectTerms]; | ||||||
|     let results = []; |   }, | ||||||
|  |  | ||||||
|  |   /** | ||||||
|  |    * execute search (requires search index to be loaded) | ||||||
|  |    */ | ||||||
|  |   _performSearch: (query, searchTerms, excludedTerms, highlightTerms, objectTerms) => { | ||||||
|  |     const filenames = Search._index.filenames; | ||||||
|  |     const docNames = Search._index.docnames; | ||||||
|  |     const titles = Search._index.titles; | ||||||
|  |     const allTitles = Search._index.alltitles; | ||||||
|  |     const indexEntries = Search._index.indexentries; | ||||||
|  |  | ||||||
|  |     // Collect multiple result groups to be sorted separately and then ordered. | ||||||
|  |     // Each is an array of [docname, title, anchor, descr, score, filename]. | ||||||
|  |     const normalResults = []; | ||||||
|  |     const nonMainIndexResults = []; | ||||||
|  |  | ||||||
|     _removeChildren(document.getElementById("search-progress")); |     _removeChildren(document.getElementById("search-progress")); | ||||||
|  |  | ||||||
|     const queryLower = query.toLowerCase(); |     const queryLower = query.toLowerCase().trim(); | ||||||
|     for (const [title, foundTitles] of Object.entries(allTitles)) { |     for (const [title, foundTitles] of Object.entries(allTitles)) { | ||||||
|       if (title.toLowerCase().includes(queryLower) && (queryLower.length >= title.length/2)) { |       if (title.toLowerCase().trim().includes(queryLower) && (queryLower.length >= title.length/2)) { | ||||||
|         for (const [file, id] of foundTitles) { |         for (const [file, id] of foundTitles) { | ||||||
|           let score = Math.round(100 * queryLower.length / title.length) |           let score = Math.round(100 * queryLower.length / title.length) | ||||||
|           results.push([ |           normalResults.push([ | ||||||
|             docNames[file], |             docNames[file], | ||||||
|             titles[file] !== title ? `${titles[file]} > ${title}` : title, |             titles[file] !== title ? `${titles[file]} > ${title}` : title, | ||||||
|             id !== null ? "#" + id : "", |             id !== null ? "#" + id : "", | ||||||
| @@ -308,46 +344,47 @@ const Search = { | |||||||
|     // search for explicit entries in index directives |     // search for explicit entries in index directives | ||||||
|     for (const [entry, foundEntries] of Object.entries(indexEntries)) { |     for (const [entry, foundEntries] of Object.entries(indexEntries)) { | ||||||
|       if (entry.includes(queryLower) && (queryLower.length >= entry.length/2)) { |       if (entry.includes(queryLower) && (queryLower.length >= entry.length/2)) { | ||||||
|         for (const [file, id] of foundEntries) { |         for (const [file, id, isMain] of foundEntries) { | ||||||
|           let score = Math.round(100 * queryLower.length / entry.length) |           const score = Math.round(100 * queryLower.length / entry.length); | ||||||
|           results.push([ |           const result = [ | ||||||
|             docNames[file], |             docNames[file], | ||||||
|             titles[file], |             titles[file], | ||||||
|             id ? "#" + id : "", |             id ? "#" + id : "", | ||||||
|             null, |             null, | ||||||
|             score, |             score, | ||||||
|             filenames[file], |             filenames[file], | ||||||
|           ]); |           ]; | ||||||
|  |           if (isMain) { | ||||||
|  |             normalResults.push(result); | ||||||
|  |           } else { | ||||||
|  |             nonMainIndexResults.push(result); | ||||||
|  |           } | ||||||
|         } |         } | ||||||
|       } |       } | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     // lookup as object |     // lookup as object | ||||||
|     objectTerms.forEach((term) => |     objectTerms.forEach((term) => | ||||||
|       results.push(...Search.performObjectSearch(term, objectTerms)) |       normalResults.push(...Search.performObjectSearch(term, objectTerms)) | ||||||
|     ); |     ); | ||||||
|  |  | ||||||
|     // lookup as search terms in fulltext |     // lookup as search terms in fulltext | ||||||
|     results.push(...Search.performTermsSearch(searchTerms, excludedTerms)); |     normalResults.push(...Search.performTermsSearch(searchTerms, excludedTerms)); | ||||||
|  |  | ||||||
|     // let the scorer override scores with a custom scoring function |     // let the scorer override scores with a custom scoring function | ||||||
|     if (Scorer.score) results.forEach((item) => (item[4] = Scorer.score(item))); |     if (Scorer.score) { | ||||||
|  |       normalResults.forEach((item) => (item[4] = Scorer.score(item))); | ||||||
|     // now sort the results by score (in opposite order of appearance, since the |       nonMainIndexResults.forEach((item) => (item[4] = Scorer.score(item))); | ||||||
|     // display function below uses pop() to retrieve items) and then |  | ||||||
|     // alphabetically |  | ||||||
|     results.sort((a, b) => { |  | ||||||
|       const leftScore = a[4]; |  | ||||||
|       const rightScore = b[4]; |  | ||||||
|       if (leftScore === rightScore) { |  | ||||||
|         // same score: sort alphabetically |  | ||||||
|         const leftTitle = a[1].toLowerCase(); |  | ||||||
|         const rightTitle = b[1].toLowerCase(); |  | ||||||
|         if (leftTitle === rightTitle) return 0; |  | ||||||
|         return leftTitle > rightTitle ? -1 : 1; // inverted is intentional |  | ||||||
|     } |     } | ||||||
|       return leftScore > rightScore ? 1 : -1; |  | ||||||
|     }); |     // Sort each group of results by score and then alphabetically by name. | ||||||
|  |     normalResults.sort(_orderResultsByScoreThenName); | ||||||
|  |     nonMainIndexResults.sort(_orderResultsByScoreThenName); | ||||||
|  |  | ||||||
|  |     // Combine the result groups in (reverse) order. | ||||||
|  |     // Non-main index entries are typically arbitrary cross-references, | ||||||
|  |     // so display them after other results. | ||||||
|  |     let results = [...nonMainIndexResults, ...normalResults]; | ||||||
|  |  | ||||||
|     // remove duplicate search results |     // remove duplicate search results | ||||||
|     // note the reversing of results, so that in the case of duplicates, the highest-scoring entry is kept |     // note the reversing of results, so that in the case of duplicates, the highest-scoring entry is kept | ||||||
| @@ -361,7 +398,12 @@ const Search = { | |||||||
|       return acc; |       return acc; | ||||||
|     }, []); |     }, []); | ||||||
|  |  | ||||||
|     results = results.reverse(); |     return results.reverse(); | ||||||
|  |   }, | ||||||
|  |  | ||||||
|  |   query: (query) => { | ||||||
|  |     const [searchQuery, searchTerms, excludedTerms, highlightTerms, objectTerms] = Search._parseQuery(query); | ||||||
|  |     const results = Search._performSearch(searchQuery, searchTerms, excludedTerms, highlightTerms, objectTerms); | ||||||
|  |  | ||||||
|     // for debugging |     // for debugging | ||||||
|     //Search.lastresults = results.slice();  // a copy |     //Search.lastresults = results.slice();  // a copy | ||||||
| @@ -466,15 +508,19 @@ const Search = { | |||||||
|       // add support for partial matches |       // add support for partial matches | ||||||
|       if (word.length > 2) { |       if (word.length > 2) { | ||||||
|         const escapedWord = _escapeRegExp(word); |         const escapedWord = _escapeRegExp(word); | ||||||
|  |         if (!terms.hasOwnProperty(word)) { | ||||||
|           Object.keys(terms).forEach((term) => { |           Object.keys(terms).forEach((term) => { | ||||||
|           if (term.match(escapedWord) && !terms[word]) |             if (term.match(escapedWord)) | ||||||
|               arr.push({ files: terms[term], score: Scorer.partialTerm }); |               arr.push({ files: terms[term], score: Scorer.partialTerm }); | ||||||
|           }); |           }); | ||||||
|  |         } | ||||||
|  |         if (!titleTerms.hasOwnProperty(word)) { | ||||||
|           Object.keys(titleTerms).forEach((term) => { |           Object.keys(titleTerms).forEach((term) => { | ||||||
|           if (term.match(escapedWord) && !titleTerms[word]) |             if (term.match(escapedWord)) | ||||||
|             arr.push({ files: titleTerms[word], score: Scorer.partialTitle }); |               arr.push({ files: titleTerms[term], score: Scorer.partialTitle }); | ||||||
|           }); |           }); | ||||||
|         } |         } | ||||||
|  |       } | ||||||
|  |  | ||||||
|       // no match but word was a required one |       // no match but word was a required one | ||||||
|       if (arr.every((record) => record.files === undefined)) return; |       if (arr.every((record) => record.files === undefined)) return; | ||||||
| @@ -496,9 +542,8 @@ const Search = { | |||||||
|  |  | ||||||
|       // create the mapping |       // create the mapping | ||||||
|       files.forEach((file) => { |       files.forEach((file) => { | ||||||
|         if (fileMap.has(file) && fileMap.get(file).indexOf(word) === -1) |         if (!fileMap.has(file)) fileMap.set(file, [word]); | ||||||
|           fileMap.get(file).push(word); |         else if (fileMap.get(file).indexOf(word) === -1) fileMap.get(file).push(word); | ||||||
|         else fileMap.set(file, [word]); |  | ||||||
|       }); |       }); | ||||||
|     }); |     }); | ||||||
|  |  | ||||||
| @@ -549,8 +594,8 @@ const Search = { | |||||||
|    * search summary for a given text. keywords is a list |    * search summary for a given text. keywords is a list | ||||||
|    * of stemmed words. |    * of stemmed words. | ||||||
|    */ |    */ | ||||||
|   makeSearchSummary: (htmlText, keywords) => { |   makeSearchSummary: (htmlText, keywords, anchor) => { | ||||||
|     const text = Search.htmlToText(htmlText); |     const text = Search.htmlToText(htmlText, anchor); | ||||||
|     if (text === "") return null; |     if (text === "") return null; | ||||||
|  |  | ||||||
|     const textLower = text.toLowerCase(); |     const textLower = text.toLowerCase(); | ||||||
|   | |||||||
| @@ -16,7 +16,7 @@ | |||||||
|         <script src="_static/jquery.js?v=5d32c60e"></script> |         <script src="_static/jquery.js?v=5d32c60e"></script> | ||||||
|         <script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script> |         <script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script> | ||||||
|         <script src="_static/documentation_options.js?v=664ffad9"></script> |         <script src="_static/documentation_options.js?v=664ffad9"></script> | ||||||
|         <script src="_static/doctools.js?v=888ff710"></script> |         <script src="_static/doctools.js?v=9a2dae69"></script> | ||||||
|         <script src="_static/sphinx_highlight.js?v=dc90522c"></script> |         <script src="_static/sphinx_highlight.js?v=dc90522c"></script> | ||||||
|     <script src="_static/js/theme.js"></script> |     <script src="_static/js/theme.js"></script> | ||||||
|     <link rel="author" title="About these documents" href="#" /> |     <link rel="author" title="About these documents" href="#" /> | ||||||
|   | |||||||
| @@ -16,7 +16,7 @@ | |||||||
|         <script src="_static/jquery.js?v=5d32c60e"></script> |         <script src="_static/jquery.js?v=5d32c60e"></script> | ||||||
|         <script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script> |         <script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script> | ||||||
|         <script src="_static/documentation_options.js?v=664ffad9"></script> |         <script src="_static/documentation_options.js?v=664ffad9"></script> | ||||||
|         <script src="_static/doctools.js?v=888ff710"></script> |         <script src="_static/doctools.js?v=9a2dae69"></script> | ||||||
|         <script src="_static/sphinx_highlight.js?v=dc90522c"></script> |         <script src="_static/sphinx_highlight.js?v=dc90522c"></script> | ||||||
|     <script src="_static/js/theme.js"></script> |     <script src="_static/js/theme.js"></script> | ||||||
|     <link rel="author" title="About these documents" href="about.html" /> |     <link rel="author" title="About these documents" href="about.html" /> | ||||||
|   | |||||||
| @@ -15,7 +15,7 @@ | |||||||
|         <script src="_static/jquery.js?v=5d32c60e"></script> |         <script src="_static/jquery.js?v=5d32c60e"></script> | ||||||
|         <script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script> |         <script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script> | ||||||
|         <script src="_static/documentation_options.js?v=664ffad9"></script> |         <script src="_static/documentation_options.js?v=664ffad9"></script> | ||||||
|         <script src="_static/doctools.js?v=888ff710"></script> |         <script src="_static/doctools.js?v=9a2dae69"></script> | ||||||
|         <script src="_static/sphinx_highlight.js?v=dc90522c"></script> |         <script src="_static/sphinx_highlight.js?v=dc90522c"></script> | ||||||
|     <script src="_static/js/theme.js"></script> |     <script src="_static/js/theme.js"></script> | ||||||
|     <link rel="author" title="About these documents" href="about.html" /> |     <link rel="author" title="About these documents" href="about.html" /> | ||||||
|   | |||||||
| @@ -16,7 +16,7 @@ | |||||||
|         <script src="_static/jquery.js?v=5d32c60e"></script> |         <script src="_static/jquery.js?v=5d32c60e"></script> | ||||||
|         <script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script> |         <script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script> | ||||||
|         <script src="_static/documentation_options.js?v=664ffad9"></script> |         <script src="_static/documentation_options.js?v=664ffad9"></script> | ||||||
|         <script src="_static/doctools.js?v=888ff710"></script> |         <script src="_static/doctools.js?v=9a2dae69"></script> | ||||||
|         <script src="_static/sphinx_highlight.js?v=dc90522c"></script> |         <script src="_static/sphinx_highlight.js?v=dc90522c"></script> | ||||||
|     <script src="_static/js/theme.js"></script> |     <script src="_static/js/theme.js"></script> | ||||||
|     <link rel="author" title="About these documents" href="about.html" /> |     <link rel="author" title="About these documents" href="about.html" /> | ||||||
|   | |||||||
| @@ -16,7 +16,7 @@ | |||||||
|         <script src="_static/jquery.js?v=5d32c60e"></script> |         <script src="_static/jquery.js?v=5d32c60e"></script> | ||||||
|         <script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script> |         <script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script> | ||||||
|         <script src="_static/documentation_options.js?v=664ffad9"></script> |         <script src="_static/documentation_options.js?v=664ffad9"></script> | ||||||
|         <script src="_static/doctools.js?v=888ff710"></script> |         <script src="_static/doctools.js?v=9a2dae69"></script> | ||||||
|         <script src="_static/sphinx_highlight.js?v=dc90522c"></script> |         <script src="_static/sphinx_highlight.js?v=dc90522c"></script> | ||||||
|     <script src="_static/js/theme.js"></script> |     <script src="_static/js/theme.js"></script> | ||||||
|     <link rel="author" title="About these documents" href="about.html" /> |     <link rel="author" title="About these documents" href="about.html" /> | ||||||
|   | |||||||
| @@ -15,7 +15,7 @@ | |||||||
|         <script src="_static/jquery.js?v=5d32c60e"></script> |         <script src="_static/jquery.js?v=5d32c60e"></script> | ||||||
|         <script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script> |         <script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script> | ||||||
|         <script src="_static/documentation_options.js?v=664ffad9"></script> |         <script src="_static/documentation_options.js?v=664ffad9"></script> | ||||||
|         <script src="_static/doctools.js?v=888ff710"></script> |         <script src="_static/doctools.js?v=9a2dae69"></script> | ||||||
|         <script src="_static/sphinx_highlight.js?v=dc90522c"></script> |         <script src="_static/sphinx_highlight.js?v=dc90522c"></script> | ||||||
|     <script src="_static/js/theme.js"></script> |     <script src="_static/js/theme.js"></script> | ||||||
|     <link rel="author" title="About these documents" href="about.html" /> |     <link rel="author" title="About these documents" href="about.html" /> | ||||||
|   | |||||||
| @@ -16,7 +16,7 @@ | |||||||
|         <script src="_static/jquery.js?v=5d32c60e"></script> |         <script src="_static/jquery.js?v=5d32c60e"></script> | ||||||
|         <script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script> |         <script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script> | ||||||
|         <script src="_static/documentation_options.js?v=664ffad9"></script> |         <script src="_static/documentation_options.js?v=664ffad9"></script> | ||||||
|         <script src="_static/doctools.js?v=888ff710"></script> |         <script src="_static/doctools.js?v=9a2dae69"></script> | ||||||
|         <script src="_static/sphinx_highlight.js?v=dc90522c"></script> |         <script src="_static/sphinx_highlight.js?v=dc90522c"></script> | ||||||
|     <script src="_static/js/theme.js"></script> |     <script src="_static/js/theme.js"></script> | ||||||
|     <link rel="author" title="About these documents" href="about.html" /> |     <link rel="author" title="About these documents" href="about.html" /> | ||||||
|   | |||||||
| @@ -16,7 +16,7 @@ | |||||||
|         <script src="_static/jquery.js?v=5d32c60e"></script> |         <script src="_static/jquery.js?v=5d32c60e"></script> | ||||||
|         <script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script> |         <script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script> | ||||||
|         <script src="_static/documentation_options.js?v=664ffad9"></script> |         <script src="_static/documentation_options.js?v=664ffad9"></script> | ||||||
|         <script src="_static/doctools.js?v=888ff710"></script> |         <script src="_static/doctools.js?v=9a2dae69"></script> | ||||||
|         <script src="_static/sphinx_highlight.js?v=dc90522c"></script> |         <script src="_static/sphinx_highlight.js?v=dc90522c"></script> | ||||||
|     <script src="_static/js/theme.js"></script> |     <script src="_static/js/theme.js"></script> | ||||||
|     <script src="_static/searchtools.js"></script> |     <script src="_static/searchtools.js"></script> | ||||||
|   | |||||||
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
		Reference in New Issue
	
	Block a user