From f211e8856f6dd8cce0d748d7f9516d30f7279928 Mon Sep 17 00:00:00 2001 From: danielyxie Date: Tue, 9 Jan 2018 14:48:06 -0600 Subject: [PATCH] Minor bug fixes, adding spotify music player, and adding sphinx documentation --- dist/bundle.js | 52 +- doc/Makefile | 20 + doc/build/doctrees/environment.pickle | Bin 0 -> 1334671 bytes doc/build/doctrees/index.doctree | Bin 0 -> 7619 bytes doc/build/doctrees/netscript.doctree | Bin 0 -> 4306 bytes .../netscriptadvancedfunctions.doctree | Bin 0 -> 7168 bytes doc/build/doctrees/netscriptdatatypes.doctree | Bin 0 -> 10171 bytes doc/build/doctrees/netscriptfunctions.doctree | Bin 0 -> 210239 bytes .../doctrees/netscripthacknetnodeapi.doctree | Bin 0 -> 27765 bytes doc/build/doctrees/netscriptixapi.doctree | Bin 0 -> 51430 bytes .../netscriptloopsandconditionals.doctree | Bin 0 -> 7564 bytes doc/build/doctrees/netscriptoperators.doctree | Bin 0 -> 22937 bytes .../doctrees/netscriptscriptarguments.doctree | Bin 0 -> 5358 bytes .../netscriptsingularityfunctions.doctree | Bin 0 -> 97228 bytes doc/build/html/.buildinfo | 4 + doc/build/html/.nojekyll | 0 doc/build/html/_sources/index.rst.txt | 31 + doc/build/html/_sources/netscript.rst.txt | 25 + .../netscriptadvancedfunctions.rst.txt | 45 + .../html/_sources/netscriptdatatypes.rst.txt | 44 + .../html/_sources/netscriptfunctions.rst.txt | 889 ++ .../_sources/netscripthacknetnodeapi.rst.txt | 127 + .../html/_sources/netscriptixapi.rst.txt | 174 + .../netscriptloopsandconditionals.rst.txt | 42 + .../html/_sources/netscriptoperators.rst.txt | 53 + .../_sources/netscriptscriptarguments.rst.txt | 17 + .../netscriptsingularityfunctions.rst.txt | 465 + doc/build/html/_static/agogo.css | 541 + doc/build/html/_static/ajax-loader.gif | Bin 0 -> 673 bytes doc/build/html/_static/basic.css | 639 + doc/build/html/_static/bgfooter.png | Bin 0 -> 276 bytes doc/build/html/_static/bgtop.png | Bin 0 -> 266 bytes doc/build/html/_static/comment-bright.png | Bin 0 -> 756 bytes doc/build/html/_static/comment-close.png | Bin 0 -> 829 bytes doc/build/html/_static/comment.png | Bin 0 -> 641 bytes doc/build/html/_static/doctools.js | 287 + doc/build/html/_static/down-pressed.png | Bin 0 -> 222 bytes doc/build/html/_static/down.png | Bin 0 -> 202 bytes doc/build/html/_static/file.png | Bin 0 -> 286 bytes doc/build/html/_static/jquery-3.1.0.js | 10074 ++++++++++++++++ doc/build/html/_static/jquery.js | 4 + doc/build/html/_static/minus.png | Bin 0 -> 90 bytes doc/build/html/_static/plus.png | Bin 0 -> 90 bytes doc/build/html/_static/pygments.css | 69 + doc/build/html/_static/searchtools.js | 758 ++ doc/build/html/_static/underscore-1.3.1.js | 999 ++ doc/build/html/_static/underscore.js | 31 + doc/build/html/_static/up-pressed.png | Bin 0 -> 214 bytes doc/build/html/_static/up.png | Bin 0 -> 203 bytes doc/build/html/_static/websupport.js | 808 ++ doc/build/html/genindex.html | 485 + doc/build/html/index.html | 264 + doc/build/html/netscript.html | 267 + .../html/netscriptadvancedfunctions.html | 173 + doc/build/html/netscriptdatatypes.html | 163 + doc/build/html/netscriptfunctions.html | 1587 +++ doc/build/html/netscripthacknetnodeapi.html | 292 + doc/build/html/netscriptixapi.html | 377 + .../html/netscriptloopsandconditionals.html | 162 + doc/build/html/netscriptoperators.html | 260 + doc/build/html/netscriptscriptarguments.html | 138 + .../html/netscriptsingularityfunctions.html | 724 ++ doc/build/html/objects.inv | Bin 0 -> 1114 bytes doc/build/html/search.html | 128 + doc/build/html/searchindex.js | 1 + doc/make.bat | 36 + doc/source/conf-guzzle.py | 25 + doc/source/conf.py | 183 + doc/source/index.rst | 31 + doc/source/netscript.rst | 25 + doc/source/netscriptadvancedfunctions.rst | 45 + doc/source/netscriptdatatypes.rst | 44 + doc/source/netscriptfunctions.rst | 889 ++ doc/source/netscripthacknetnodeapi.rst | 127 + doc/source/netscriptixapi.rst | 174 + doc/source/netscriptloopsandconditionals.rst | 42 + doc/source/netscriptoperators.rst | 53 + doc/source/netscriptscriptarguments.rst | 17 + doc/source/netscriptsingularityfunctions.rst | 465 + doc/source/ystatic/agogo.css | 541 + src/ActiveScriptsUI.js | 8 +- src/CompanyManagement.js | 6 +- src/Constants.js | 5 +- src/HacknetNode.js | 3 +- src/NetscriptWorker.js | 12 +- src/SaveObject.js | 5 + src/Terminal.js | 13 +- 87 files changed, 23934 insertions(+), 34 deletions(-) create mode 100644 doc/Makefile create mode 100644 doc/build/doctrees/environment.pickle create mode 100644 doc/build/doctrees/index.doctree create mode 100644 doc/build/doctrees/netscript.doctree create mode 100644 doc/build/doctrees/netscriptadvancedfunctions.doctree create mode 100644 doc/build/doctrees/netscriptdatatypes.doctree create mode 100644 doc/build/doctrees/netscriptfunctions.doctree create mode 100644 doc/build/doctrees/netscripthacknetnodeapi.doctree create mode 100644 doc/build/doctrees/netscriptixapi.doctree create mode 100644 doc/build/doctrees/netscriptloopsandconditionals.doctree create mode 100644 doc/build/doctrees/netscriptoperators.doctree create mode 100644 doc/build/doctrees/netscriptscriptarguments.doctree create mode 100644 doc/build/doctrees/netscriptsingularityfunctions.doctree create mode 100644 doc/build/html/.buildinfo create mode 100644 doc/build/html/.nojekyll create mode 100644 doc/build/html/_sources/index.rst.txt create mode 100644 doc/build/html/_sources/netscript.rst.txt create mode 100644 doc/build/html/_sources/netscriptadvancedfunctions.rst.txt create mode 100644 doc/build/html/_sources/netscriptdatatypes.rst.txt create mode 100644 doc/build/html/_sources/netscriptfunctions.rst.txt create mode 100644 doc/build/html/_sources/netscripthacknetnodeapi.rst.txt create mode 100644 doc/build/html/_sources/netscriptixapi.rst.txt create mode 100644 doc/build/html/_sources/netscriptloopsandconditionals.rst.txt create mode 100644 doc/build/html/_sources/netscriptoperators.rst.txt create mode 100644 doc/build/html/_sources/netscriptscriptarguments.rst.txt create mode 100644 doc/build/html/_sources/netscriptsingularityfunctions.rst.txt create mode 100644 doc/build/html/_static/agogo.css create mode 100644 doc/build/html/_static/ajax-loader.gif create mode 100644 doc/build/html/_static/basic.css create mode 100644 doc/build/html/_static/bgfooter.png create mode 100644 doc/build/html/_static/bgtop.png create mode 100644 doc/build/html/_static/comment-bright.png create mode 100644 doc/build/html/_static/comment-close.png create mode 100644 doc/build/html/_static/comment.png create mode 100644 doc/build/html/_static/doctools.js create mode 100644 doc/build/html/_static/down-pressed.png create mode 100644 doc/build/html/_static/down.png create mode 100644 doc/build/html/_static/file.png create mode 100644 doc/build/html/_static/jquery-3.1.0.js create mode 100644 doc/build/html/_static/jquery.js create mode 100644 doc/build/html/_static/minus.png create mode 100644 doc/build/html/_static/plus.png create mode 100644 doc/build/html/_static/pygments.css create mode 100644 doc/build/html/_static/searchtools.js create mode 100644 doc/build/html/_static/underscore-1.3.1.js create mode 100644 doc/build/html/_static/underscore.js create mode 100644 doc/build/html/_static/up-pressed.png create mode 100644 doc/build/html/_static/up.png create mode 100644 doc/build/html/_static/websupport.js create mode 100644 doc/build/html/genindex.html create mode 100644 doc/build/html/index.html create mode 100644 doc/build/html/netscript.html create mode 100644 doc/build/html/netscriptadvancedfunctions.html create mode 100644 doc/build/html/netscriptdatatypes.html create mode 100644 doc/build/html/netscriptfunctions.html create mode 100644 doc/build/html/netscripthacknetnodeapi.html create mode 100644 doc/build/html/netscriptixapi.html create mode 100644 doc/build/html/netscriptloopsandconditionals.html create mode 100644 doc/build/html/netscriptoperators.html create mode 100644 doc/build/html/netscriptscriptarguments.html create mode 100644 doc/build/html/netscriptsingularityfunctions.html create mode 100644 doc/build/html/objects.inv create mode 100644 doc/build/html/search.html create mode 100644 doc/build/html/searchindex.js create mode 100644 doc/make.bat create mode 100644 doc/source/conf-guzzle.py create mode 100644 doc/source/conf.py create mode 100644 doc/source/index.rst create mode 100644 doc/source/netscript.rst create mode 100644 doc/source/netscriptadvancedfunctions.rst create mode 100644 doc/source/netscriptdatatypes.rst create mode 100644 doc/source/netscriptfunctions.rst create mode 100644 doc/source/netscripthacknetnodeapi.rst create mode 100644 doc/source/netscriptixapi.rst create mode 100644 doc/source/netscriptloopsandconditionals.rst create mode 100644 doc/source/netscriptoperators.rst create mode 100644 doc/source/netscriptscriptarguments.rst create mode 100644 doc/source/netscriptsingularityfunctions.rst create mode 100644 doc/source/ystatic/agogo.css diff --git a/dist/bundle.js b/dist/bundle.js index 501bf7ad5..6cdb4d85e 100644 --- a/dist/bundle.js +++ b/dist/bundle.js @@ -3247,7 +3247,7 @@ let CONSTANTS = { "kill('foo.script', getHostname(), 1, 'foodnstuff');

" + "killall(hostname/ip)
Kills all running scripts on the specified server. This function takes a single argument which " + "must be a string containing the hostname or IP of the target server. This function will always return true.

" + - "exit()
Terminates the script immediately

" + + "exit()
Terminates the script immediately

" + "scp(script, [source], destination)
Copies a script or literature (.lit) file to another server. The first argument is a string with " + "the filename of the script or literature file " + "to be copied, or an array of filenames to be copied. The next two arguments are strings containing the hostname/IPs of the source and target server. " + @@ -3839,6 +3839,9 @@ let CONSTANTS = { "World Stock Exchange account and TIX API Access
", LatestUpdate: + "v0.34.1
" + + "-Added new 'secret' Terminal command. Try: run musicplayer
" + + "v0.34.0
" + "-Added clear() and exit() Netscript functions
" + "-When starting out or prestiging, you will now receive a 'Hacking Starter Guide'. It provides tips/pointers for new players
" + @@ -17377,6 +17380,12 @@ function runScriptsLoop() { var ip = workerScripts[i].serverIp; var name = workerScripts[i].name; + //Free RAM + __WEBPACK_IMPORTED_MODULE_5__Server_js__["b" /* AllServers */][ip].ramUsed -= workerScripts[i].ramUsage; + + //Delete script from Active Scripts + Object(__WEBPACK_IMPORTED_MODULE_0__ActiveScriptsUI_js__["b" /* deleteActiveScriptsItem */])(workerScripts[i]); + for (var j = 0; j < __WEBPACK_IMPORTED_MODULE_5__Server_js__["b" /* AllServers */][ip].runningScripts.length; j++) { if (__WEBPACK_IMPORTED_MODULE_5__Server_js__["b" /* AllServers */][ip].runningScripts[j].filename == name && Object(__WEBPACK_IMPORTED_MODULE_9__utils_HelperFunctions_js__["d" /* compareArrays */])(__WEBPACK_IMPORTED_MODULE_5__Server_js__["b" /* AllServers */][ip].runningScripts[j].args, workerScripts[i].args)) { @@ -17385,12 +17394,6 @@ function runScriptsLoop() { } } - //Free RAM - __WEBPACK_IMPORTED_MODULE_5__Server_js__["b" /* AllServers */][ip].ramUsed -= workerScripts[i].ramUsage; - - //Delete script from Active Scripts - Object(__WEBPACK_IMPORTED_MODULE_0__ActiveScriptsUI_js__["b" /* deleteActiveScriptsItem */])(workerScripts[i]); - //Delete script from workerScripts workerScripts.splice(i, 1); } @@ -28674,6 +28677,13 @@ let Terminal = { post("Incorrect number of arguments. Usage: run [program/script] [-t] [num threads] [arg1] [arg2]..."); } else { var executableName = commandArray[1]; + + //Music player! + if (executableName === "musicplayer") { + post('', false); + return; + } + //Check if its a script or just a program/executable if (executableName.indexOf(".script") == -1) { //Not a script @@ -28865,9 +28875,9 @@ let Terminal = { post("Theme not found"); } }else{ - inputBackgroundHex = args[0]; - inputTextHex = args[1]; - inputHighlightHex = args[2]; + var inputBackgroundHex = args[0]; + var inputTextHex = args[1]; + var inputHighlightHex = args[2]; if(/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(inputBackgroundHex) && /(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(inputTextHex) && /(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(inputHighlightHex)){ @@ -34534,10 +34544,9 @@ function addActiveScriptsItem(workerscript) { //Create the element itself. Each element is an accordion collapsible var itemNameArray = ["active", "scripts", server.hostname, workerscript.name]; for (var i = 0; i < workerscript.args.length; ++i) { - itemNameArray.push(workerscript.args[i].toString()); + itemNameArray.push(String(workerscript.args[i])); } var itemName = itemNameArray.join("-"); - //var itemName = "active-scripts-" + server.hostname + "-" + workerscript.name; var item = document.createElement("li"); item.setAttribute("id", itemName); @@ -34569,10 +34578,9 @@ function deleteActiveScriptsItem(workerscript) { } var itemNameArray = ["active", "scripts", server.hostname, workerscript.name]; for (var i = 0; i < workerscript.args.length; ++i) { - itemNameArray.push(workerscript.args[i].toString()); + itemNameArray.push(String(workerscript.args[i])); } var itemName = itemNameArray.join("-"); - //var itemName = "active-scripts-" + server.hostname + "-" + workerscript.name; var li = document.getElementById(itemName); if (li == null) { console.log("could not find Active scripts li element for: " + workerscript.name); @@ -34605,7 +34613,7 @@ function updateActiveScriptsItemContent(workerscript) { } var itemNameArray = ["active", "scripts", server.hostname, workerscript.name]; for (var i = 0; i < workerscript.args.length; ++i) { - itemNameArray.push(workerscript.args[i].toString()); + itemNameArray.push(String(workerscript.args[i])); } var itemName = itemNameArray.join("-"); var itemContent = document.getElementById(itemName + "-content") @@ -41355,17 +41363,21 @@ Corporation.prototype.displayCorporationOverviewContent = function() { display:"inline-block", clickListener:()=>{ var shares = Math.round(input.value); + var tempStockPrice = this.sharePrice; if (isNaN(shares)) { Object(__WEBPACK_IMPORTED_MODULE_4__utils_DialogBox_js__["a" /* dialogBoxCreate */])("ERROR: Invalid value for number of shares"); } else if (shares > this.issuedShares) { Object(__WEBPACK_IMPORTED_MODULE_4__utils_DialogBox_js__["a" /* dialogBoxCreate */])("ERROR: There are not this many oustanding shares to buy back"); + } else if (shares * tempStockPrice > __WEBPACK_IMPORTED_MODULE_2__Player_js__["a" /* Player */].money) { + Object(__WEBPACK_IMPORTED_MODULE_4__utils_DialogBox_js__["a" /* dialogBoxCreate */])("ERROR: You do not have enough money to purchase this many shares (you need " + + __WEBPACK_IMPORTED_MODULE_7__utils_numeral_min_js___default()(shares * tempStockPrice).format("$0.000a") + ")"); } else { this.numShares += shares; this.issuedShares -= shares; //TODO REMOVE from Player money Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["l" /* removeElementById */])(popupId); - return false; } + return false; } }); @@ -44258,7 +44270,8 @@ HacknetNode.prototype.updateMoneyGainRate = function() { } HacknetNode.prototype.calculateLevelUpgradeCost = function(levels=1) { - if (levels < 1) {return 0;} + levels = Math.round(levels); + if (isNaN(levels) || levels < 1) {return 0;} var mult = __WEBPACK_IMPORTED_MODULE_1__Constants_js__["a" /* CONSTANTS */].HacknetNodeUpgradeLevelMult; var totalMultiplier = 0; //Summed var currLevel = this.level; @@ -103716,7 +103729,12 @@ BitburnerSaveObject.prototype.exportGame = function() { this.AliasesSave = JSON.stringify(__WEBPACK_IMPORTED_MODULE_0__Alias_js__["a" /* Aliases */]); this.GlobalAliasesSave = JSON.stringify(__WEBPACK_IMPORTED_MODULE_0__Alias_js__["b" /* GlobalAliases */]); this.MessagesSave = JSON.stringify(__WEBPACK_IMPORTED_MODULE_7__Message_js__["b" /* Messages */]); + this.StockMarketSave = JSON.stringify(__WEBPACK_IMPORTED_MODULE_13__StockMarket_js__["c" /* StockMarket */]); + this.SettingsSave = JSON.stringify(__WEBPACK_IMPORTED_MODULE_11__Settings_js__["a" /* Settings */]); this.VersionSave = JSON.stringify(__WEBPACK_IMPORTED_MODULE_2__Constants_js__["a" /* CONSTANTS */].Version); + if (__WEBPACK_IMPORTED_MODULE_8__Player_js__["a" /* Player */].bitNodeN == 2 && __WEBPACK_IMPORTED_MODULE_8__Player_js__["a" /* Player */].inGang()) { + this.AllGangsSave = JSON.stringify(__WEBPACK_IMPORTED_MODULE_5__Gang_js__["a" /* AllGangs */]); + } var saveString = btoa(unescape(encodeURIComponent(JSON.stringify(this)))); var filename = "bitburnerSave.json"; diff --git a/doc/Makefile b/doc/Makefile new file mode 100644 index 000000000..04de3e359 --- /dev/null +++ b/doc/Makefile @@ -0,0 +1,20 @@ +# Minimal makefile for Sphinx documentation +# + +# You can set these variables from the command line. +SPHINXOPTS = +SPHINXBUILD = python -msphinx +SPHINXPROJ = Bitburner +SOURCEDIR = source +BUILDDIR = build + +# Put it first so that "make" without argument is like "make help". +help: + @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) + +.PHONY: help Makefile + +# Catch-all target: route all unknown targets to Sphinx using the new +# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). +%: Makefile + @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) \ No newline at end of file diff --git a/doc/build/doctrees/environment.pickle b/doc/build/doctrees/environment.pickle new file mode 100644 index 0000000000000000000000000000000000000000..20f11dd90cf290d5ce988518aa58b68659e72b44 GIT binary patch literal 1334671 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

jn_(u@gPP!?+(O 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

') + .appendTo($('#searchbox')); + } + }, + + /** + * 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(); + } + }, + + /** + * helper function to hide the search marks again + */ + hideSearchWords : function() { + $('#searchbox .highlight-link').fadeOut(300); + $('span.highlighted').removeClass('highlighted'); + }, + + /** + * make the url absolute + */ + makeURL : function(relativeURL) { + return DOCUMENTATION_OPTIONS.URL_ROOT + '/' + relativeURL; + }, + + /** + * get the current relative url + */ + 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); + }, + + initOnKeyListeners: function() { + $(document).keyup(function(event) { + var activeElementType = document.activeElement.tagName; + // don't navigate when in search box or textarea + if (activeElementType !== 'TEXTAREA' && activeElementType !== 'INPUT' && activeElementType !== 'SELECT') { + switch (event.keyCode) { + case 37: // left + var prevHref = $('link[rel="prev"]').prop('href'); + if (prevHref) { + window.location.href = prevHref; + return false; + } + case 39: // right + var nextHref = $('link[rel="next"]').prop('href'); + if (nextHref) { + window.location.href = nextHref; + return false; + } + } + } + }); + } +}; + +// quick alias for translations +_ = Documentation.gettext; + +$(document).ready(function() { + Documentation.init(); +}); \ No newline at end of file diff --git a/doc/build/html/_static/down-pressed.png b/doc/build/html/_static/down-pressed.png new file mode 100644 index 0000000000000000000000000000000000000000..5756c8cad8854722893dc70b9eb4bb0400343a39 GIT binary patch literal 222 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`OFdm2Ln;`PZ^+1>KjR?B@S0W7 z%OS_REiHONoJ6{+Ks@6k3590|7k9F+ddB6!zw3#&!aw#S`x}3V3&=A(a#84O-&F7T z^k3tZB;&iR9siw0|F|E|DAL<8r-F4!1H-;1{e*~yAKZN5f0|Ei6yUmR#Is)EM(Po_ zi`qJR6|P<~+)N+kSDgL7AjdIC_!O7Q?eGb+L+qOjm{~LLinM4NHn7U%HcK%uoMYO5 VJ~8zD2B3o(JYD@<);T3K0RV0%P>BEl literal 0 HcmV?d00001 diff --git a/doc/build/html/_static/down.png b/doc/build/html/_static/down.png new file mode 100644 index 0000000000000000000000000000000000000000..1b3bdad2ceffae91cee61b32f3295f9bbe646e48 GIT binary patch literal 202 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!60wlNoGJgf6CVIL!hEy=F?b*7pIY7kW{q%Rg zx!yQ<9v8bmJwa`TQk7YSw}WVQ()mRdQ;TC;* literal 0 HcmV?d00001 diff --git a/doc/build/html/_static/file.png b/doc/build/html/_static/file.png new file mode 100644 index 0000000000000000000000000000000000000000..a858a410e4faa62ce324d814e4b816fff83a6fb3 GIT binary patch literal 286 zcmV+(0pb3MP)s`hMrGg#P~ix$^RISR_I47Y|r1 z_CyJOe}D1){SET-^Amu_i71Lt6eYfZjRyw@I6OQAIXXHDfiX^GbOlHe=Ae4>0m)d(f|Me07*qoM6N<$f}vM^LjV8( literal 0 HcmV?d00001 diff --git a/doc/build/html/_static/jquery-3.1.0.js b/doc/build/html/_static/jquery-3.1.0.js new file mode 100644 index 000000000..f2fc27478 --- /dev/null +++ b/doc/build/html/_static/jquery-3.1.0.js @@ -0,0 +1,10074 @@ +/*eslint-disable no-unused-vars*/ +/*! + * jQuery JavaScript Library v3.1.0 + * https://jquery.com/ + * + * Includes Sizzle.js + * https://sizzlejs.com/ + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license + * https://jquery.org/license + * + * Date: 2016-07-07T21:44Z + */ +( function( global, factory ) { + + "use strict"; + + if ( typeof module === "object" && typeof module.exports === "object" ) { + + // For CommonJS and CommonJS-like environments where a proper `window` + // is present, execute the factory and get jQuery. + // For environments that do not have a `window` with a `document` + // (such as Node.js), expose a factory as module.exports. + // This accentuates the need for the creation of a real `window`. + // e.g. var jQuery = require("jquery")(window); + // See ticket #14549 for more info. + module.exports = global.document ? + factory( global, true ) : + function( w ) { + if ( !w.document ) { + throw new Error( "jQuery requires a window with a document" ); + } + return factory( w ); + }; + } else { + factory( global ); + } + +// Pass this if window is not defined yet +} )( typeof window !== "undefined" ? window : this, function( window, noGlobal ) { + +// Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1 +// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode +// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common +// enough that all such attempts are guarded in a try block. +"use strict"; + +var arr = []; + +var document = window.document; + +var getProto = Object.getPrototypeOf; + +var slice = arr.slice; + +var concat = arr.concat; + +var push = arr.push; + +var indexOf = arr.indexOf; + +var class2type = {}; + +var toString = class2type.toString; + +var hasOwn = class2type.hasOwnProperty; + +var fnToString = hasOwn.toString; + +var ObjectFunctionString = fnToString.call( Object ); + +var support = {}; + + + + function DOMEval( code, doc ) { + doc = doc || document; + + var script = doc.createElement( "script" ); + + script.text = code; + doc.head.appendChild( script ).parentNode.removeChild( script ); + } +/* global Symbol */ +// Defining this global in .eslintrc would create a danger of using the global +// unguarded in another place, it seems safer to define global only for this module + + + +var + version = "3.1.0", + + // Define a local copy of jQuery + jQuery = function( selector, context ) { + + // The jQuery object is actually just the init constructor 'enhanced' + // Need init if jQuery is called (just allow error to be thrown if not included) + return new jQuery.fn.init( selector, context ); + }, + + // Support: Android <=4.0 only + // Make sure we trim BOM and NBSP + rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, + + // Matches dashed string for camelizing + rmsPrefix = /^-ms-/, + rdashAlpha = /-([a-z])/g, + + // Used by jQuery.camelCase as callback to replace() + fcamelCase = function( all, letter ) { + return letter.toUpperCase(); + }; + +jQuery.fn = jQuery.prototype = { + + // The current version of jQuery being used + jquery: version, + + constructor: jQuery, + + // The default length of a jQuery object is 0 + length: 0, + + toArray: function() { + return slice.call( this ); + }, + + // Get the Nth element in the matched element set OR + // Get the whole matched element set as a clean array + get: function( num ) { + return num != null ? + + // Return just the one element from the set + ( num < 0 ? this[ num + this.length ] : this[ num ] ) : + + // Return all the elements in a clean array + slice.call( this ); + }, + + // Take an array of elements and push it onto the stack + // (returning the new matched element set) + pushStack: function( elems ) { + + // Build a new jQuery matched element set + var ret = jQuery.merge( this.constructor(), elems ); + + // Add the old object onto the stack (as a reference) + ret.prevObject = this; + + // Return the newly-formed element set + return ret; + }, + + // Execute a callback for every element in the matched set. + each: function( callback ) { + return jQuery.each( this, callback ); + }, + + map: function( callback ) { + return this.pushStack( jQuery.map( this, function( elem, i ) { + return callback.call( elem, i, elem ); + } ) ); + }, + + slice: function() { + return this.pushStack( slice.apply( this, arguments ) ); + }, + + first: function() { + return this.eq( 0 ); + }, + + last: function() { + return this.eq( -1 ); + }, + + eq: function( i ) { + var len = this.length, + j = +i + ( i < 0 ? len : 0 ); + return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] ); + }, + + end: function() { + return this.prevObject || this.constructor(); + }, + + // For internal use only. + // Behaves like an Array's method, not like a jQuery method. + push: push, + sort: arr.sort, + splice: arr.splice +}; + +jQuery.extend = jQuery.fn.extend = function() { + var options, name, src, copy, copyIsArray, clone, + target = arguments[ 0 ] || {}, + i = 1, + length = arguments.length, + deep = false; + + // Handle a deep copy situation + if ( typeof target === "boolean" ) { + deep = target; + + // Skip the boolean and the target + target = arguments[ i ] || {}; + i++; + } + + // Handle case when target is a string or something (possible in deep copy) + if ( typeof target !== "object" && !jQuery.isFunction( target ) ) { + target = {}; + } + + // Extend jQuery itself if only one argument is passed + if ( i === length ) { + target = this; + i--; + } + + for ( ; i < length; i++ ) { + + // Only deal with non-null/undefined values + if ( ( options = arguments[ i ] ) != null ) { + + // Extend the base object + for ( name in options ) { + src = target[ name ]; + copy = options[ name ]; + + // Prevent never-ending loop + if ( target === copy ) { + continue; + } + + // Recurse if we're merging plain objects or arrays + if ( deep && copy && ( jQuery.isPlainObject( copy ) || + ( copyIsArray = jQuery.isArray( copy ) ) ) ) { + + if ( copyIsArray ) { + copyIsArray = false; + clone = src && jQuery.isArray( src ) ? src : []; + + } else { + clone = src && jQuery.isPlainObject( src ) ? src : {}; + } + + // Never move original objects, clone them + target[ name ] = jQuery.extend( deep, clone, copy ); + + // Don't bring in undefined values + } else if ( copy !== undefined ) { + target[ name ] = copy; + } + } + } + } + + // Return the modified object + return target; +}; + +jQuery.extend( { + + // Unique for each copy of jQuery on the page + expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ), + + // Assume jQuery is ready without the ready module + isReady: true, + + error: function( msg ) { + throw new Error( msg ); + }, + + noop: function() {}, + + isFunction: function( obj ) { + return jQuery.type( obj ) === "function"; + }, + + isArray: Array.isArray, + + isWindow: function( obj ) { + return obj != null && obj === obj.window; + }, + + isNumeric: function( obj ) { + + // As of jQuery 3.0, isNumeric is limited to + // strings and numbers (primitives or objects) + // that can be coerced to finite numbers (gh-2662) + var type = jQuery.type( obj ); + return ( type === "number" || type === "string" ) && + + // parseFloat NaNs numeric-cast false positives ("") + // ...but misinterprets leading-number strings, particularly hex literals ("0x...") + // subtraction forces infinities to NaN + !isNaN( obj - parseFloat( obj ) ); + }, + + isPlainObject: function( obj ) { + var proto, Ctor; + + // Detect obvious negatives + // Use toString instead of jQuery.type to catch host objects + if ( !obj || toString.call( obj ) !== "[object Object]" ) { + return false; + } + + proto = getProto( obj ); + + // Objects with no prototype (e.g., `Object.create( null )`) are plain + if ( !proto ) { + return true; + } + + // Objects with prototype are plain iff they were constructed by a global Object function + Ctor = hasOwn.call( proto, "constructor" ) && proto.constructor; + return typeof Ctor === "function" && fnToString.call( Ctor ) === ObjectFunctionString; + }, + + isEmptyObject: function( obj ) { + + /* eslint-disable no-unused-vars */ + // See https://github.com/eslint/eslint/issues/6125 + var name; + + for ( name in obj ) { + return false; + } + return true; + }, + + type: function( obj ) { + if ( obj == null ) { + return obj + ""; + } + + // Support: Android <=2.3 only (functionish RegExp) + return typeof obj === "object" || typeof obj === "function" ? + class2type[ toString.call( obj ) ] || "object" : + typeof obj; + }, + + // Evaluates a script in a global context + globalEval: function( code ) { + DOMEval( code ); + }, + + // Convert dashed to camelCase; used by the css and data modules + // Support: IE <=9 - 11, Edge 12 - 13 + // Microsoft forgot to hump their vendor prefix (#9572) + camelCase: function( string ) { + return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); + }, + + nodeName: function( elem, name ) { + return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); + }, + + each: function( obj, callback ) { + var length, i = 0; + + if ( isArrayLike( obj ) ) { + length = obj.length; + for ( ; i < length; i++ ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } else { + for ( i in obj ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } + + return obj; + }, + + // Support: Android <=4.0 only + trim: function( text ) { + return text == null ? + "" : + ( text + "" ).replace( rtrim, "" ); + }, + + // results is for internal usage only + makeArray: function( arr, results ) { + var ret = results || []; + + if ( arr != null ) { + if ( isArrayLike( Object( arr ) ) ) { + jQuery.merge( ret, + typeof arr === "string" ? + [ arr ] : arr + ); + } else { + push.call( ret, arr ); + } + } + + return ret; + }, + + inArray: function( elem, arr, i ) { + return arr == null ? -1 : indexOf.call( arr, elem, i ); + }, + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + merge: function( first, second ) { + var len = +second.length, + j = 0, + i = first.length; + + for ( ; j < len; j++ ) { + first[ i++ ] = second[ j ]; + } + + first.length = i; + + return first; + }, + + grep: function( elems, callback, invert ) { + var callbackInverse, + matches = [], + i = 0, + length = elems.length, + callbackExpect = !invert; + + // Go through the array, only saving the items + // that pass the validator function + for ( ; i < length; i++ ) { + callbackInverse = !callback( elems[ i ], i ); + if ( callbackInverse !== callbackExpect ) { + matches.push( elems[ i ] ); + } + } + + return matches; + }, + + // arg is for internal usage only + map: function( elems, callback, arg ) { + var length, value, + i = 0, + ret = []; + + // Go through the array, translating each of the items to their new values + if ( isArrayLike( elems ) ) { + length = elems.length; + for ( ; i < length; i++ ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + + // Go through every key on the object, + } else { + for ( i in elems ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + } + + // Flatten any nested arrays + return concat.apply( [], ret ); + }, + + // A global GUID counter for objects + guid: 1, + + // Bind a function to a context, optionally partially applying any + // arguments. + proxy: function( fn, context ) { + var tmp, args, proxy; + + if ( typeof context === "string" ) { + tmp = fn[ context ]; + context = fn; + fn = tmp; + } + + // Quick check to determine if target is callable, in the spec + // this throws a TypeError, but we will just return undefined. + if ( !jQuery.isFunction( fn ) ) { + return undefined; + } + + // Simulated bind + args = slice.call( arguments, 2 ); + proxy = function() { + return fn.apply( context || this, args.concat( slice.call( arguments ) ) ); + }; + + // Set the guid of unique handler to the same of original handler, so it can be removed + proxy.guid = fn.guid = fn.guid || jQuery.guid++; + + return proxy; + }, + + now: Date.now, + + // jQuery.support is not used in Core but other projects attach their + // properties to it so it needs to exist. + support: support +} ); + +if ( typeof Symbol === "function" ) { + jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ]; +} + +// Populate the class2type map +jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ), +function( i, name ) { + class2type[ "[object " + name + "]" ] = name.toLowerCase(); +} ); + +function isArrayLike( obj ) { + + // Support: real iOS 8.2 only (not reproducible in simulator) + // `in` check used to prevent JIT error (gh-2145) + // hasOwn isn't used here due to false negatives + // regarding Nodelist length in IE + var length = !!obj && "length" in obj && obj.length, + type = jQuery.type( obj ); + + if ( type === "function" || jQuery.isWindow( obj ) ) { + return false; + } + + return type === "array" || length === 0 || + typeof length === "number" && length > 0 && ( length - 1 ) in obj; +} +var Sizzle = +/*! + * Sizzle CSS Selector Engine v2.3.0 + * https://sizzlejs.com/ + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license + * http://jquery.org/license + * + * Date: 2016-01-04 + */ +(function( window ) { + +var i, + support, + Expr, + getText, + isXML, + tokenize, + compile, + select, + outermostContext, + sortInput, + hasDuplicate, + + // Local document vars + setDocument, + document, + docElem, + documentIsHTML, + rbuggyQSA, + rbuggyMatches, + matches, + contains, + + // Instance-specific data + expando = "sizzle" + 1 * new Date(), + preferredDoc = window.document, + dirruns = 0, + done = 0, + classCache = createCache(), + tokenCache = createCache(), + compilerCache = createCache(), + sortOrder = function( a, b ) { + if ( a === b ) { + hasDuplicate = true; + } + return 0; + }, + + // Instance methods + hasOwn = ({}).hasOwnProperty, + arr = [], + pop = arr.pop, + push_native = arr.push, + push = arr.push, + slice = arr.slice, + // Use a stripped-down indexOf as it's faster than native + // https://jsperf.com/thor-indexof-vs-for/5 + indexOf = function( list, elem ) { + var i = 0, + len = list.length; + for ( ; i < len; i++ ) { + if ( list[i] === elem ) { + return i; + } + } + return -1; + }, + + booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped", + + // Regular expressions + + // http://www.w3.org/TR/css3-selectors/#whitespace + whitespace = "[\\x20\\t\\r\\n\\f]", + + // http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier + identifier = "(?:\\\\.|[\\w-]|[^\0-\\xa0])+", + + // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors + attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace + + // Operator (capture 2) + "*([*^$|!~]?=)" + whitespace + + // "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]" + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + whitespace + + "*\\]", + + pseudos = ":(" + identifier + ")(?:\\((" + + // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments: + // 1. quoted (capture 3; capture 4 or capture 5) + "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" + + // 2. simple (capture 6) + "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" + + // 3. anything else (capture 2) + ".*" + + ")\\)|)", + + // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter + rwhitespace = new RegExp( whitespace + "+", "g" ), + rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ), + + rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), + rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*" ), + + rattributeQuotes = new RegExp( "=" + whitespace + "*([^\\]'\"]*?)" + whitespace + "*\\]", "g" ), + + rpseudo = new RegExp( pseudos ), + ridentifier = new RegExp( "^" + identifier + "$" ), + + matchExpr = { + "ID": new RegExp( "^#(" + identifier + ")" ), + "CLASS": new RegExp( "^\\.(" + identifier + ")" ), + "TAG": new RegExp( "^(" + identifier + "|[*])" ), + "ATTR": new RegExp( "^" + attributes ), + "PSEUDO": new RegExp( "^" + pseudos ), + "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace + + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace + + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), + "bool": new RegExp( "^(?:" + booleans + ")$", "i" ), + // For use in libraries implementing .is() + // We use this for POS matching in `select` + "needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + + whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) + }, + + rinputs = /^(?:input|select|textarea|button)$/i, + rheader = /^h\d$/i, + + rnative = /^[^{]+\{\s*\[native \w/, + + // Easily-parseable/retrievable ID or TAG or CLASS selectors + rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, + + rsibling = /[+~]/, + + // CSS escapes + // http://www.w3.org/TR/CSS21/syndata.html#escaped-characters + runescape = new RegExp( "\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig" ), + funescape = function( _, escaped, escapedWhitespace ) { + var high = "0x" + escaped - 0x10000; + // NaN means non-codepoint + // Support: Firefox<24 + // Workaround erroneous numeric interpretation of +"0x" + return high !== high || escapedWhitespace ? + escaped : + high < 0 ? + // BMP codepoint + String.fromCharCode( high + 0x10000 ) : + // Supplemental Plane codepoint (surrogate pair) + String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); + }, + + // CSS string/identifier serialization + // https://drafts.csswg.org/cssom/#common-serializing-idioms + rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g, + fcssescape = function( ch, asCodePoint ) { + if ( asCodePoint ) { + + // U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER + if ( ch === "\0" ) { + return "\uFFFD"; + } + + // Control characters and (dependent upon position) numbers get escaped as code points + return ch.slice( 0, -1 ) + "\\" + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " "; + } + + // Other potentially-special ASCII characters get backslash-escaped + return "\\" + ch; + }, + + // Used for iframes + // See setDocument() + // Removing the function wrapper causes a "Permission Denied" + // error in IE + unloadHandler = function() { + setDocument(); + }, + + disabledAncestor = addCombinator( + function( elem ) { + return elem.disabled === true; + }, + { dir: "parentNode", next: "legend" } + ); + +// Optimize for push.apply( _, NodeList ) +try { + push.apply( + (arr = slice.call( preferredDoc.childNodes )), + preferredDoc.childNodes + ); + // Support: Android<4.0 + // Detect silently failing push.apply + arr[ preferredDoc.childNodes.length ].nodeType; +} catch ( e ) { + push = { apply: arr.length ? + + // Leverage slice if possible + function( target, els ) { + push_native.apply( target, slice.call(els) ); + } : + + // Support: IE<9 + // Otherwise append directly + function( target, els ) { + var j = target.length, + i = 0; + // Can't trust NodeList.length + while ( (target[j++] = els[i++]) ) {} + target.length = j - 1; + } + }; +} + +function Sizzle( selector, context, results, seed ) { + var m, i, elem, nid, match, groups, newSelector, + newContext = context && context.ownerDocument, + + // nodeType defaults to 9, since context defaults to document + nodeType = context ? context.nodeType : 9; + + results = results || []; + + // Return early from calls with invalid selector or context + if ( typeof selector !== "string" || !selector || + nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) { + + return results; + } + + // Try to shortcut find operations (as opposed to filters) in HTML documents + if ( !seed ) { + + if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) { + setDocument( context ); + } + context = context || document; + + if ( documentIsHTML ) { + + // If the selector is sufficiently simple, try using a "get*By*" DOM method + // (excepting DocumentFragment context, where the methods don't exist) + if ( nodeType !== 11 && (match = rquickExpr.exec( selector )) ) { + + // ID selector + if ( (m = match[1]) ) { + + // Document context + if ( nodeType === 9 ) { + if ( (elem = context.getElementById( m )) ) { + + // Support: IE, Opera, Webkit + // TODO: identify versions + // getElementById can match elements by name instead of ID + if ( elem.id === m ) { + results.push( elem ); + return results; + } + } else { + return results; + } + + // Element context + } else { + + // Support: IE, Opera, Webkit + // TODO: identify versions + // getElementById can match elements by name instead of ID + if ( newContext && (elem = newContext.getElementById( m )) && + contains( context, elem ) && + elem.id === m ) { + + results.push( elem ); + return results; + } + } + + // Type selector + } else if ( match[2] ) { + push.apply( results, context.getElementsByTagName( selector ) ); + return results; + + // Class selector + } else if ( (m = match[3]) && support.getElementsByClassName && + context.getElementsByClassName ) { + + push.apply( results, context.getElementsByClassName( m ) ); + return results; + } + } + + // Take advantage of querySelectorAll + if ( support.qsa && + !compilerCache[ selector + " " ] && + (!rbuggyQSA || !rbuggyQSA.test( selector )) ) { + + if ( nodeType !== 1 ) { + newContext = context; + newSelector = selector; + + // qSA looks outside Element context, which is not what we want + // Thanks to Andrew Dupont for this workaround technique + // Support: IE <=8 + // Exclude object elements + } else if ( context.nodeName.toLowerCase() !== "object" ) { + + // Capture the context ID, setting it first if necessary + if ( (nid = context.getAttribute( "id" )) ) { + nid = nid.replace( rcssescape, fcssescape ); + } else { + context.setAttribute( "id", (nid = expando) ); + } + + // Prefix every selector in the list + groups = tokenize( selector ); + i = groups.length; + while ( i-- ) { + groups[i] = "#" + nid + " " + toSelector( groups[i] ); + } + newSelector = groups.join( "," ); + + // Expand context for sibling selectors + newContext = rsibling.test( selector ) && testContext( context.parentNode ) || + context; + } + + if ( newSelector ) { + try { + push.apply( results, + newContext.querySelectorAll( newSelector ) + ); + return results; + } catch ( qsaError ) { + } finally { + if ( nid === expando ) { + context.removeAttribute( "id" ); + } + } + } + } + } + } + + // All others + return select( selector.replace( rtrim, "$1" ), context, results, seed ); +} + +/** + * Create key-value caches of limited size + * @returns {function(string, object)} Returns the Object data after storing it on itself with + * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength) + * deleting the oldest entry + */ +function createCache() { + var keys = []; + + function cache( key, value ) { + // Use (key + " ") to avoid collision with native prototype properties (see Issue #157) + if ( keys.push( key + " " ) > Expr.cacheLength ) { + // Only keep the most recent entries + delete cache[ keys.shift() ]; + } + return (cache[ key + " " ] = value); + } + return cache; +} + +/** + * Mark a function for special use by Sizzle + * @param {Function} fn The function to mark + */ +function markFunction( fn ) { + fn[ expando ] = true; + return fn; +} + +/** + * Support testing using an element + * @param {Function} fn Passed the created element and returns a boolean result + */ +function assert( fn ) { + var el = document.createElement("fieldset"); + + try { + return !!fn( el ); + } catch (e) { + return false; + } finally { + // Remove from its parent by default + if ( el.parentNode ) { + el.parentNode.removeChild( el ); + } + // release memory in IE + el = null; + } +} + +/** + * Adds the same handler for all of the specified attrs + * @param {String} attrs Pipe-separated list of attributes + * @param {Function} handler The method that will be applied + */ +function addHandle( attrs, handler ) { + var arr = attrs.split("|"), + i = arr.length; + + while ( i-- ) { + Expr.attrHandle[ arr[i] ] = handler; + } +} + +/** + * Checks document order of two siblings + * @param {Element} a + * @param {Element} b + * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b + */ +function siblingCheck( a, b ) { + var cur = b && a, + diff = cur && a.nodeType === 1 && b.nodeType === 1 && + a.sourceIndex - b.sourceIndex; + + // Use IE sourceIndex if available on both nodes + if ( diff ) { + return diff; + } + + // Check if b follows a + if ( cur ) { + while ( (cur = cur.nextSibling) ) { + if ( cur === b ) { + return -1; + } + } + } + + return a ? 1 : -1; +} + +/** + * Returns a function to use in pseudos for input types + * @param {String} type + */ +function createInputPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for buttons + * @param {String} type + */ +function createButtonPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return (name === "input" || name === "button") && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for :enabled/:disabled + * @param {Boolean} disabled true for :disabled; false for :enabled + */ +function createDisabledPseudo( disabled ) { + // Known :disabled false positives: + // IE: *[disabled]:not(button, input, select, textarea, optgroup, option, menuitem, fieldset) + // not IE: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable + return function( elem ) { + + // Check form elements and option elements for explicit disabling + return "label" in elem && elem.disabled === disabled || + "form" in elem && elem.disabled === disabled || + + // Check non-disabled form elements for fieldset[disabled] ancestors + "form" in elem && elem.disabled === false && ( + // Support: IE6-11+ + // Ancestry is covered for us + elem.isDisabled === disabled || + + // Otherwise, assume any non-

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մJSdnox07r593H z%j_6$rAh}FUPBT8vV1Y!v#WqZ^b^B-o zN3JVD@eFqT!Gp?^X#&kMvaO@%Qa5iM0gg1+aksl| z3wYtp#Bub=*gctHK^Q2@Z~B}m(fL-hEjn_D+#ZyShN9Jz21mO;t`SmaZjmG2T@Ad5 zj+K^GSdqe_pMR;bS0tbqm(meK%q?;Fg~kx#wbBad^#E%V~PPvncAW`4!yA3 zT&ZYeYUxY}fXgQS&(oO#9*L4slN&0Dc_mPGP$KYykH~yZ?#5lr0gCW|H znmOfYDP(b5%Z!7H!o82i4Wi#Y{r2fsXvmuNhH&(ai+``|1r}K(2ENl}dV95!8aDSj ze5H;X;eOLAR1`4}f#hp=!dI+`dDJ`746E<8BRYNjOp{1v`=S?9cPYXF_cq(c z3UrmJ__m*uH)wM{!+n|2d5sB&h9#3@vo4+`Pb4zR_v=s=B>coGY2GGB`CnACM^zEM zLpc&DvZSlke7*bP0LreR>N!u+2hhDNHjw13^dplK4|;sbRv@bOll9?FW;b=bGrpT% zr=o0^)7F%%U-iAoQRA$(H&swc-E0}+ka?F|M#Ll0dyO%sIAlA_Ts13VBu*M~=_4ug+o9y{zX%=S^zF3dz~ zW9x%0Z|>17=UejvC@! zT8p(7etz*bnS1|a^V&|hAjaYVYs;5|E^G>MJ=ZwXYKh{tuSZ#0l*5dWg6~rBxz5>^BEndc-N6@ zx3Ul2u}8Ihr#TW?q{MgZQhg5$vbV!-E~=)PVUAd@21uW3Gt6;GeOYF$D3els8_jf& zP!CxeTtKz8%bA0mP)f}~4VUCM+W!cu_)J>xq2?2kAZuxNjzc^F3lZw*6y%(Z5jcXa zbUI(#8SOEXgxCNj??5Eurs!(xqIVc-PZC}I`*f85xKJz$n^>X5I?|yFRJ|p|w{^4?XcP%c;CndfBO0 zu>mCC?;DePt+$Grau1|#Oud(jBOIzBP;r`}mye>xf{=|tYD64bdk7uffs$%wvBO44P`zXhiXxSUfdcj0D}i-V zS;BT7O}#1*mh^6ms4!5LbFIR%4^g%bYTVv*&u(uXywM7b2h?KmC~LvH{F42Dub(*0Ae6{A%jj4epl*+%WK$6+wI zBM~K&@ix3mM=wzC(#UhLc_qk6RIdC>A2S922fUGko$ z4TGgbe!z;j8Vy$P!5knN6}$e}9^M`EA>rx8r%@L=<>)FzA#0U@m`CBT5prJ$kD!%F zk=006YzlD+=II&2mvQ8LuAdO?HA3%@(N8wW$PrK5AgKh+umC3cIjw{GVzh$UNR{g$ z!V*`O*kL11D9W2g7L%M8-;5V>wNG)XLAa?};Pp%oj(r!@l7S3o`gnyi6 z(dmwhWeknda)1MkuCc@<>4mawaqP6!c62(PZ5v0K+h2^OH}oI^Cu)5TSp{85dpEb) zaf(Se&C{)+lJ^F8g|DA{hf*Q4CBj@`8C(tyX7Rrm0UWP40hOPFZgdKAfz=%EhGM0A z6I2n#N@%CIW1bO5`8g;+N&5$8Q!b}stiYP4g~Yz!{`z6`7tqIyOF^rESJOqNlQ<3l zVk}eqdic>D)JgY)Wpv$`n^ZNf+S_T2L;|$2KOF5Ytof#=_)J3Vs6$t4O>KChZ0k?|SJr_6>F_AX zoR#KtOoQ%Ff`rKX@m>>6Iap)~8xB3H9!RN3WVo?FEVQ&x!V)uhCZ8pOB~FP$(SFSH zc9>(@fcnhaU(^{Wj2f?kEM=M2@0Jso(10;z!0r-1F7F&aAMHOu0re~)+tG)Ps44^p8z?B!b#qLGhY}8f0U{q3D>=44TiZq0 zp$H^Al_rf8t%6QD&PL@>N_VKvS>{0@O)v3Umj^VSTw14r!}Q&^Hnd^MeU71AG#pK4MNpDMJtK-xW^S9ZVLJecS|8Ez~Ag_8)L0zzZr`A22^Su*fS zZbT(4@2xbRBe3WY2RwVib-cY5t*!^0a-3yQ1kZD2h=W6;B#7Q04lE)G&xJK%5Puzx zUTSi#StA^b@z0g81Cfm9O^XbyYp*8B-ijxSbI3rN=%OeO{-d>$I}UdQ)r;hypMe6MWB1%PwX9-{#QG0Y7b|S>}g>k zioP=((1si#NqM?iqf@{~+o9rEh->S8!XnSLyYuvP zD<^NVYzW8gOjvqD)2N0_{?t?J(R?4Sc$nwz>&a^j^Q5`po?V6$mdd)ab5O%g21feA|4)2ISW_KSR{?!^j)QpR9-bdbf$J1jl~QfdxLR1%-bqa=`x zVeWO$H0He~gi>!{R}z?3(QvZ$K?O$k0S|LoCRy9Y|` zTluTy1MHb%i8VLCVTVnir6ipclqi*n)LPU7*jcc?8vz{VPx`!+p92F(x=X=B6?2OQ ztSR<-bYMvx2Xl+0)b=X_P609#{BXFZ9Z#~w(=*ZOSX5?ff^VUc_gv`y5`Kyb6JmZ( zdZ)wRD`f{D3C~2s1-lZyK;LS^cH5yE!Z{AZpVHOf$n_Dn;_jGjc-=;@?psaSp?mC} ztdvEfp;TL;Aup<;9ULHVCYY_vEpRL@5kqf56_0F1!bFOz5?u_-(VOFeM$aBjRxjq( z3^m#OC~~)f3Y34jfs&#&dczb3v25!1+>_0EL&PJ|#cbyjtJE`uaV_lSJKi<|>1A^e z_tO?CiO(P{=+5zKvP6~4Ob>mYO^`%OQ1hHTv8V`zM zQ<@BO?E#vs<+tX4Y<|DRE3vuoLY0YU5olJ|d&7a+*cFXLe=i-d2D)0>-P*CB*x24S5YcbS z91mSTVvxXdX;{mE0kK}1Rnsvo8^p zGaIeth}X#h_2%SXmMj$LY?+^jE^_8}IGkJrQF0ERj}|eBP!LJ@+Z1M24P2Am9_6zR z)?;+!nc6whQ}`u;o*;HDr=oywmWIs%jWgZ97pc7ct4G8ShG&J#ycyVhK`L*r<} z6%y3&DM%Kc2){ctzIPd(m=MYM@i)&OKZ?e;*2lO#p|&deDd8|+?ttUvm#Yp@fMFeK zLAO2@ER^a-)RDK>u+J`z0&xxV7i$5;W+OW;3`z{E&8^1Q&Q4@q;ef4MRi|fWHe1_ zmM^DhcM$u889^P<_Bpo7nSa?!NHKFqV`@z?gPuIGN9HG+_2Hy)s6=VhRzQ%E60s@6 zCpf{>69S?5qJ9f9KecqCxl4|6!h}^>I4EM^G7buLA-<=SOZ{$@xMWdbJoXVCxFtLeeu-tkOqxZCig zPTxFKbyRe;*?p!Eu6@JQWtyI!-n6q(Vweo{4KoXwL^B%JJGKY}RB)*|B|;ts4%_oF{b^f`f2u z7c>%mtg*b3si_}ijfR%GMlHtI)76V1fa!E;!=eWjbE*9ITxm?F1Z5f?&B(fw=w5m*RR)crzi7rt|e7ULJ zfPXZeYQ?$*%u0ElyCe9Zfznr}8J5VT-{L+HmVPL@xuwyuaS=mVIWT~vJKxCk425N1 z4r(=)9e$YxCc9FLO4_YJd(Y4IR2-B{IAlz z?!Rrm+47glk--pNn+9|mb=ANthTWnE#{OpNw>9osQVRM(uogg;fz~oc6$>2VVNqR- z_7^CxVb(H7zF7mOx2GA_(J4mLSK`IwP3C&-S*$m^UIQFy-ftzCj&@+fHkap!*y>0z z4OnFPpdN4m!+9mT!C?fkaC%?uS3EB@3>4)IV~w!H>H!w%L*|+t?-U`Fn1ePR$<7z$ zGbV42;8-(+p4Bsz_fX0%RMKAQa#KEEWUHuSk4jidokp1hRFTQw@wg>eTV5k;5q+1B zyJ4Uxm$;FH_fE7h1cSq-leJ%Rn4^pBqykCW3o$Pv{(@pAXOw)WcAR)3fZqE~%!YOU zP>MQIw1N)+U)P}Iw#qkhM{N4df??FFmBA0(F_rG-)5OaWvOqg+233j}A1XBSxs3TK= zOO2X^bTf3^m6xARpe={tA6S-}03TuNrpydn1@|gSXc-8Wzp4%ErE(VMS zlC)dJYIwNZKPh2@5w13^x6ea4C4nU2MX_1!N+o_AZ4SSO(Hg2knGNoE%_5Lec7u}l z*VEm>!@Gln5$ce?KoEnuMu&!mKUbz4hWJ`YuM(5~R)zE;4zX`y)^rE{sU~DD$65E4W$ngjZTvJ%_5%5)#cJG($R2nnKu9AKKMQWp@@73TjLI$svC z{&NWfA_>nl4M^~$Rp+s%N5|>4)`g@2OH3&hL*^~&ALKpgdUTA|W{p(UYGpP*fSFJO{2b9fve z8Po9f9AU{vyOiEW4x*7t;7E0jaVd{uNJ=H}!=ZB!B}^1Xw^&G0{&S@ULFFsPk|P#& zRz_3)xY@FCf)WTWddhz#yPfDn4l5T9YXy4+?bAKD*4qh$2|Sp-?4ay-8)bv4&VR$F!$OOjnug-D}hrEDRS zf2(EsM$K*16Gn`axpv2j)M5T^@W}Qamb*~5ZYj=o!{acs+o<^riyXIl+f2y3n%O{X z$1%GNsrR=1MbXM4a!{bF8W1604jxM*p9k`Z3G(({KiRx6H()AAGpu1#go}JNxL}L9 zM#6F}y~7Akpg^7}hz%-@TqAC3`M8LYDf2W9$uoio$r2G&hw^2Crz4Qm0ka;^-B1B9c>cp(NigD)fWjpFfrEf0D*zF46I75JOoxFo2}{Fs+u=w4uY7N25$v=y8`O ztge+;mO1Re$Vb2e96m(`%9E`O%gJc5YjqXJ<@c-%5s-ABX@s*D4SkGf{9HeYet>{P z30YmDPMD}}wZm*7^qUG_hf84B)m?+E!h2Vc1s;3<; ztODv-FRbR6o;v?QoO;yk?TS$2~c%eoYu9%o0%F8&mVF0`EY>D zLJLaT58&2lyk}-mYO;aFN{{?DPuH<2RBmJjNXEh! zgT?THX7IghUyK1JebdnC8+vPHHD1Ov7JClzoLb{aF-&J38#}Nm#OFz;5B{j-;2y$g z5Px_`)lZ6zg*(SsO3_TwM|*d2RFsHu z%*Y~+GJ_)>>Ip4ZlH0hfo{hqSgPzK;YN8gNU6*@qNkTorDXHM1jKAKW%qEKwtj9yjMyq5=YjeteF6*yc|4UP)Y3?C=kyu$MO zx3XI0n!#pfn!|C?QL8*)k?DGRBog169*g+?Myq2OAq=ZyFGzUyfp?)(j?bIi*=@8K zJ2;q(W9}>#-lcxCGg?&Y9ytnkbtcemW}5=nlO zbR(*swsrz+1Jzm$juT#itWT%-wwsSKUNbLHt3d0+<&*jB#H(RKD__nMn=)+WL5@YD zqeJy2h7xnYs7VDRT^0*4Jw(&nxvhoj;Oh>cARzfJu}oU54z4Pp8Y!ldy@SF9b>+tq zwL=2E7aaK6DCo_k#SA3gRka{Zx>W;GsfzUItO=<@AL_)XET{PbKME0{7@FnUp%M~7 z?+OPkI8vQArKNBz$9#ri#~SE+)Gme=c2$;YA(FCE#_{$F;bc3AM_tNG@n|yJ&usLL z-GELQdB^2sBCb1rhu`t*DibApuhA5Xj=VifflKvNKob341Pj)}vMb~L*%;GTj+ij# z97OAcdH#;K!rh&*&PG9@u)LY<4xZhYpJ+U##ZQbZj=2~x^nq02NcQW-t69Ep4mWkp ztr>vGa2}2iv9T6*iFPi4BeFHZ=p}VQlJjbe^8Jo&4rAxB@OS23I<($O$Z!WR`LA=c zkYdQRbum0iPCZ5hhw4u}y?PEh!70X9X;mETA%p8!lE>yptHA>qd>uaHE2fsAP;s^` z?slKa6LiOd>nEhNTc{KM(`1I#3wEOA8c}-qXl|5aO|*WNDkAxs++?_)vrW0@4Qo~& zIABMI63rMEzLdid;7D_$H`J(5w|YFIT=(06Iw9I$6v0eJ|I+NJis{=Cz+mqz-XxmP zd7)>EP(&nQE2?IRFfH@CJ0@jq`%xU?e;_j8PPda;qj?r~=&ZJ^!{kIby)+J5>8u8u zLR_gv<{kyZfVpJHG~F1QOI)(&WrGfEl_*CD0BbSnMRTBqnO;nQMxsyD7SnR8{%MZr zJGA=>70Onl<;&qXKiKxzIQfF)uqsCWWfvEP`!wvDVek76^;)nCp9I887v-(Q7l7HKkU;+@YE8_B+S>m?&FvQ&EAzcKm4aYGN&R zjwPKdfZiew3Q*Ga@0W#V?w#+K%0OXiiTGlxA5TZP5cBFf&hbd&4=a5o5x<2>@_)?d zxM_Itcr?TM1&e(px~oTTy|Y=BdV zHepkU-z9yt>SmF4%0omXps4XM=xOHJ^&IXJZik+`TM0+2uu;w%$x7E4%{3=PhGM3( zx64uOJOPFkXf{PfQ`mkw;VH>Uv;UBkTehC~>t+8Xddhz#x{^bATa-?dXccq^DgDci zBObBz9&&)SSjaRJ?4+cu{+^Uy88IF4zC84XS>Eb*@eGSGLbX$0P`Q@a zR^zMReU+4xbIcILLxoR7f&-6WmM~&CRNG1#m`sy4B5%fr6j|2Ar=nZnfcUukwwzx4P<313=8f_+j%aom1#!$-ngQQs}by`5oagKximwWz+Keyl%FHC{egjBf*j@xyTdysSin&J9#9gu+MSi}P){!4 z=67fs@JMu7B*HGzK3XqFuO`EteQV!z9BK)r7s)~ESeeaC`6x{a;irm?X^4l`AP6(4OHFgT`zgF?NJQf;%BgS+}u`iGb|(UF)K z{$B4v0Ywt^9CsgWzpr!S31Q^$@iS_GgEAY>*>hpg~gsnxQ5oEO0JqgHwp}QDcf75nwG{ zj9%x8SI;?|^Qv3%Y9PsZF6dZY5|gMtEr2iuR(c}9a~XLg^cAIT3BTIh!_5X z8djc&HaW~J#{YA(I$waAd)!Y&$u7l}P;%$x3@JGu@uPXtj<-BtTx*b|y&!766e<{` z538Rf=8yPouG!gYU(|q8kKq zX0i>>G5Zxm39D%2N;<}!(a!Nf+lh8C+R5+w+v*ry*c9Tkq|57v(C9Jt6_-BrbDY-q zhnP9GGm9gbAOY*0NTZE3lxyMe0DgBCLB9X4WA3dr8gp7SGh zv1AtZ*@y!Nh5B0w319rM&JJ)Vu8q{d5V?OLn9XN9MKJU`UkDNlg?b;m`<-KiT0Q($ z%~QWO&)pHa+|mv#4jDdd6vE~c!bniPcqk{=a^`=xc{^^9bhb6a=2JmIfi4!xIXY^? zLWNzkZ3*SLfhpLTT;$3Ai}L}Vcv$D!26)K;)_w9Y23io`+QuDl?j zST|BFgXajT%xWWOMGUisI1KFxFx;aNa-heEhvn@ERcLiryiW+71qTUj1YgBc388DKE&1o7#sx3%)i{Rm{zF zn2RG$oah~xWWC%dt->XC2|dhULfbvavGCS3;S!Y0S>XaX`Q&{N9gnozFG4`_ok8vg z8d9T&1Af<<**X@~1R;BD8np08c0m>2tccZ)6en))>ki{=!qLZ>M(|Itc$K1(x2VHt z@(mE>^yV15$zpPpr)TbLR&-p8dLJK!{7Rg6U115x27qJh zEv$nMU6fEdWjUzflKdaEJr&-k;me6F>+T5Ku-9skh<}O&%HZxF?qEr>QBDq$qBdEB zM3U2{21Qwc+tV>8tWUDIRKQ5|;b;+Rv<_}B_SfRdek!^<85g^um2lQ032^13X@azDh7+)|aHU4=86xxGEMQko)&rw^Ee zPH>8GQA>C%2gAGfU=`Bnt>KPFsvCZXb`XJ-z8jRhnRbBgFRv!=vaAsS$#;|MR6A}@ z?ov#AnaymhtV5k9qFDxe;3>+5N~;|Bm9xqXjyp~q6@Y_Q|D6CzTH^{E!Ixzouw$3& za)l`tS#CB~k>->5Le>6KuFa01vIa*lv>7&^G6D*7!LD3iPgW0+pO#x39V&MvSS2o9 zEljeWv;De}Y4u8iBF*h~HkJSA!H`cKWcNY3lFcM{*+;#mfPcV+T z)BPM@^ zEK4jhrBcd|qXnQeZ#v%lUYmloZJt`9ngl#t+xWFNC@dz9cOe4ktt`QKVOO!DsIhQ4 zco07YO+n+d&BSqdwi+;{ZH6^$itxEs!AjvxHQM1+;pTK&zYS|%DoQ-m`s=p++lFUe1&OGwvubH^QTQGn2kuA!0YLJU}ZI@)~+#Rqq! zX036YN-BYmB_>(Va|+-lNM?j2{R~kH&RnE}lrUym<(MQbev;}@$NNPdfS>|1v&{pD_jh{)mI|4b;~+rI@~J6QhE-mz@$Gdn-cyf zZcx0BC=_lNJV)lM+14^B(ri)5hT6IL-jX(5vIX0Fv%9r!U_Cxvt@A{(6*^ z-*IeXgsQ#?ZCsL{i&fyMpks}bP*=0oIF8YkhD$jj8E>R)ut6p7tMHKZn1&NjM_yeQ zJS925{1L{9$ybBBXyyp-+#ZTXK!3Lv?^tLFqc@#{9FwG1#cAQ4@_ z3B5u&;jHhJ!#ZO;Al;}WZ-Ts;_Vwhsb~<`APla+Y1N19t6KbZx{^n(`IMwJaDZbr6 zN@?G3T&)$ytz(v$ z=y(u+9>KY8?}Wn!7yedxD_|trYX7&@9Ht`pC(Ya7@P~F#B{-6u`$=~6yD`hLp6=+- zf)qtBtOJjHMP))5hj&MaAV%(n%_n#4;=MbL0Z#N?Nkzrk$+6*8H0!+feK?bmy{W1W z8$gyL)ALL>*9Zu3q-oV7KoSfB3i2+7J^RXLF7zZKCJ8Ur4Q^P?&9rq`j4hB(DEn1w zXHS~-tzIje7&vD(qSF!g+J;my+FulwyvV`(k-5A_=q7?EWbTDSi|Y=EBOv)cpcM#C z84V+e{S77Fv#>BZo&w?Y!a3-|rVy!Spy=>4S{9kyjsjf8maSs&+X9{Z0}-?{7VQ9` zC9~DNjs_-<{BnO7T1iC_&mpfto=GbaTAbx(VmMTbR(3=UjclLsTqB_&_ZR5A0Chq- zH$&Z2bqdjgp&+plz>yt5V0|zgY-XWgx00UP#HNR+pW$d9#oPAtLx5vjC!~tR0S+~c zeJ}8nFxzTnkExat)Db@-4hsw2un6^ZxS4`+GyvdMBM8hxLWxX8pdX9M|Bm<#HH-)1 zV37|$0~TpA0~4Y&Usg!D{10YoIvhmAQ+YV(1g97#-ex(R;C2{d$N8os-X?;P=n}mDhm-H;iw)YD@gp);a=*1>?+cdeF#9?&$$A=!TT{A5^VH4t zJ3ON;)h|aP%lVzfPqJ1vPo=$Agsbgjtb7BET zs-^(T_A$E7AD|uDP)a3fmWjEWj`Z?Waz(E)jcUl`KW$>C${XuY-#a6*>^A*bGBNiy zs6)>>bJ;x^{t2+dX5H78PH1=!E-se`gYE4{L8(nPBkWm55{KztfWp1+L?r2FvfD35 zZ{(O4eK7y__|dcAjloKC@Apbo7WTqM^u%E-)$zNd>{P(wB3224Q1draC=c? z7a>c8LKKB4d&nL|Av@Q8ZBZ0L2$3a3QHY`_ilQh&Q4~c{6h%=KMbSH-bIs*k)cO71 z_w~oe{oZHp^E~s+a^}pLGjp*^TDt{j?^*?4Q4PMt8P%&8-q4(1U8GCr|029(_Wb(8 zj$}FensD|$h5asghZ(~W_C;P+qN)qqI{!YcJ(D~hDu%t;CGOLzrm%%;&hAy~2KR;! z9wykiccb9?`QVLNyE;j}UlhxWW#lu6AC5j_jE*d_A-xzo8g>& zFl5wXjp59EVwI6)nwb8jfv`6@FZQlBShbQIG{o@1O;}OFmKS~wb>4gBgj&Of3r4=H z=stvz9};dg66{Ob2A>h0y(S_0kU557NUSo_hs5+R4TQbPm2f`r?44&5?=u_R@}X7K zvZ(jp8-7$xk&Z8=>5>$!QH=nxjonmHR#(WxC>FO=uZY>xKJ;hgHv?DwLo1SDEpt>sEQ9H`ngxa&vcYJ+aUbGv%9i(c7d_?#fIri2Y{ zK({_Vcr9^ZyB+pFf-8OhCQS|%U zSY|Q!tUh?KMx?>$SJ|`mg{@r`_APjuyN%%SMD5#`I6DS97rAYH zmA=8%!)Ci=NL zA}yYa=T({5V3HfC{IA~JU-Hf=N#5LFaDpu1&2)HztXu0Y?HdHQBT8~gwDo_lUl&vy znehvLd&%a)(a3+1J#xa?JZ}KvgY)E3%RYwBb;AlH9SXyF`}-udhaJfg{SGj$cdLt> zs*7P&xX7uxv+w@SRT;KBkJLxYkXe8{;*=ySpE-Wf>_7q?wMXkp%d{&sSi#=P>c{|;URUNjTC&|(8J&`j9 z!Ge!`=sQq6MK+&hsD;x>tW>KJVEo3r=P?px!rsWV~|)`!Y(Gf zJ>*5J4tsD@;vJ2W+$AY|gBX-2+;pT*k5<9Y(fhpz|9eGFtUuDJ#8f%@o=lf)E$nCR z@aQ@CTwR`7@~g zup1X#;M+UcGI&gPz!D{rW zo)}IpB_1%ldMgZfCp--~vCgp3#JiFi?BGf8Nly60@N$2_;m^66!bY-0e?{`4;FNRp zc*bx7E36_io?%G%%4I@*VPlEI7``Ei58kaNea7Jbb{Lb^88({t-1Qsx28T>N`Umf^ zTLt$J2;L!Ia1~q(m%&`};*g709(E#=Qxb{aX6Y0>7bj{j8^f}UI;Rm`Q`kt6U>)wz zxnqNbyS)XUC5LOcDLl~lKOl;8ck;9{N zPi1PCq3b^zOUoDhk`k5=^4z5>~P{ z@xk3xlH8R)hVL;ZZRPx`65C0#&%EIAurchd!YU#|7lyO@;7EO8V_6eNIkLPi^6;z} zR*l3uqLqo=COBjg6R5iRq_C;C<`;#U5e8+`1xQpR)oeN&(6V7rZ z)D=?CapQrrKGohAlm;G%`?O`1cmV4kh`lIJi@Eu%1T^N(?Vvm%fDRY<*#CX(Kl}4sMqmy`}$; zpAB=any}`q(MR|R_ezMGj~Kp%7S<6N$1sHV6YCn>W-sxbU;azKLG0Ojzy-I7h~f1k zy23~gqJMS%o6xY0aPI&8LY<4A9{&Gvp-y5$VZUzd+yuK=YEQuBMmN3Nc#2S7)}+Rt0dC=xp?lU^J@>gkvZ{6*+FS=vbtN6 zi?;sdfcn3`n0l_tu(@+5dxN*rXNM?im}9w6AnBdFgG)Njt1WCQU+^UL;9DHQDKeiI zRSn)M2Up7l$JTus2j6-L&VEFnfQVs)6YGl%aALYt?TP&e&lO$p05K0pNxGWF@Gd&6 zFVc-LT(a`88)btd*-L*J^P%8litequRu7&y+h;(+o8YR!F-nqeg0=teqmkIZlzHhU z!!GB()bYiD;Nz{RwI+ru%M=)EZ!g(g*u$(Bdr*8-XJWX_Kk0*!eV;e+05$QoB*(zcJtK#~ z%{%vuOc5MSx*cd#YccF3!)hXP9EPNIhVxg%N*jG?XRYqR7e~GIY2Eeg$(jyH?|>1* z=dEGAj>Cg1MDXB9|~>=5j_8+ogZ7Z4R&`?;~vA&Pw;mMvw5ld!Uls!GWG7$w@>G;y-Qr| z%BSGAufcxXmzJY?@Gl3YiS=FLOAi0hO4zUL(bxC24{pxm05_@^F`QJm^ig19jbV#< zT}YSs)S!FgeU@7y@+F}Q-v-9A2TG_dVR8R^&0!CUbPG;oxTY!ix>oR$oA3nJy$1Kz z^CY{jt%6OkefQqJnHV(+|8lKc;+Ins>y30L=4QfyGiQdv=N%mRP!y_$=SZ!a7&$xu2rz54(~hIQi^@nX?ZL3Z72X{-FyV1suzjdVSg@ ztb}LR-HTTmwi?{Ay2rp^y=>p7MDV`aok=1m&M)@3ofytIM4#UH_o~AlTpxa);=H%t zL3e`7LVE-^GYB@GvoGjT3nGShKVh|zVF<&2wGnoz@WsDc670&)esQH$$M_z7qrapV zL!T0BjdUt8MSXqcf;PfF_b%f0Z`B>dpPNKH67>=RBN+QjM zA-cw}!HkLL7a}*_O0t6g%h|5~KD!WB7&a9ySQqyNpHz1bR^*_PV1FO|f*Zr@-KCEa z&#yFW_v#C8nt73@NX4)k|NCt-&(;~Xn(_RP4Xx-=3o(Yrm0avI!$>`03pa*uh|a!R z2KS^3wy5rX!Z*N?k9&iw{37?aifX;>f1f8vT6bhsO8U!xZ7}R+Hh<-N60U^0J9zKn z)*=7nRXVIBu^$)K7&e&Kq4?Q%1LytdeyYK1XY_K2;k1%t@3R|hr1A5rJnzTE+QVMt zIk&l=`^kM0d-oZTN-jlX^dy(e9*oaKI2;AkfAa zF(wTP)`isRk|i5IsYs_6o{GEt+>dF`{h03DkEzc6nC9G%SDgDX<+&f9Op#D;)~Dhw zOZ;u$C$DN1oa^i9VZog{1`oDrKWY4=C$l9SeD>_rx%)%G2R!|PH8;55MWlCadM8V! zm+gZ8<2s-tIwKBU(G5M&6Y=PczUYUCFaQtZ5e&wo7=odA9K$gZPhd30U@XSrDa^x5 zn1m^qifQ-*Covt*VkVx$^O%DdFc%Z>G#21xY{n;e6-%%bZ(teT#9LU2x3LPV@gCOT zeSCoR_z)Yh2_NGXEXJqUhNJimJMk61#vXiwz1WBEu^&I+M;yXWIE*9s6`x@{e#Z&y zz?T7i<3?mjSoo8I|Kq0OdAxwxIRjqAOXACT4X@)pypIj|2%q9Je2s7LExyC|IDl8L z4Oog_#AEmiXYdbFWDQ7(G{}KmSfNAj;CitbDxeYyUmZ{sb;P=;hlXg1X4qkpo#-HT zMtAf=Jo=(T!GO*fDh|g8jKXxxM8oR>?!g>!E*4`6HtX)EST3%>R`GMJ7dK+N_$79T zJFyG9@r?o7hd-_fIE5n$j^Y@O<4fcB6+SfaCZx+2kRA(j1S~=>F%R-0KaS-IIF9H1 z*&Ou8K$JI0MU2lIFcDS6>ZpNQsExX4ie_kz7U+P^h(}-a!vGA%5RAYmOvEHi!?S2x zAfN-v=L@KawuSr-TMWcjJd!`)Q9Nr%p2J}k{EFlF6OXEDDAHyRxDx4+5m}J~SK}Jw zMqU&|VU$E^+>ElQfJ(RnRnWq!@*wJqjnEiP(chvSh*n}7bVM8;#ZU~x2#movjK@Sg zjVX8zb1)wZ(Z@|@ z(x8|HRUDt?3fO@XVkx}qFV-T5iE|Kx>zr6L=}@%M-9|MZPZ0Q zG(;mbL36ag&4#@!x{JLKkG|-K0T_zm7=ck}W7BPqiQ;5T!8A{jgSChxOQq zZP<<-*ojj(jWbAYxuro`q(ge-MSc`Rag;zQltvkpM@3XZWz<7MG(rW=MGqb<>Csg#u}`}I_xvQ`>{>jj+7R68tf8x z;{Xog5Dw!Aj^YGP;tY~oM(L0q8ITE?kqwX8Weh_Bu@HW+dpLyK6jVTY1r<>PwNM*% z(Ht$%-p1Yuabh=gM=!*qFUDAb$6r>UfhAVQH&E7kP!7*2n1g?i z!n(Uu!7{w+cS~`|;2g%A;z|@Y5JmB>xEAkYJwC)HEHlYl*r@T3@tuML_yLFT3y$Fh z%tJ~YN`tGA8Cj4WIgkqlQ5Ypr8Wm6pHBlS&(Fl#v6!)SzmRO)~;Dp0~lXz6YPz=Ke zjK@SQbQrJ*GsIbV0rM~)3-K}*<5euhn^=jpR{3>!Hxlta*5gBL!bjMGFRc8#@PJ`z zg>Mw>!*@7_ zu@RfF8C$Rwt;|9j95Z0Yaaut#>%q0UTL78FtjLC|krUS-9}40+T#q8S0k_~*+=;5F zh8kFI(_Mjk#pdXO?#O0AU5%kO&f(~25Q86LGF z4aFvLGxlLWo-;Ue@CA0^phfmG(%B5sBLgxaGqNEU@}K|;VXe_!htgshltnp|M@3Xe zP27b#SgAv+&`0c#hcFP2Vrb-d2JB%h7MEZtmSH7UVJ+5S3$|h#wqpl&Vi$Jf43gUh zQy?|cAT2T=6Q0ue)5s;}L0;rXVHCwlhnIh&tXK}^Q4yWc1zph{JrIwFF&K|xD4xa? zOvQA}z%0ziLcEN{_{kfDBY0h0j(4#ZYaDcZfKSA2_znl~0}f%QS@;@%h^LUrhLZ*N zqh%!81!c#z$dAG(ib|-ADyWVcsD;|7i+X5?MreZOXn{()TN!P{_84cwnSkk-iFgHl z&=(J303N|`Jb}SBp&^(nzJvvM1v6|ov#>&Z2kWo_-zeCJ&Eluni|?@?KjJ8U$7M)| zJ8UFXkk*QHCDJ1!de{u&kyE?|8!dp3ah-TQir@y^h?3ZRUBIVkAU4L|_y?6Nyvpb# zc0o_;eQ%_4ICvQzS1=M!U<|VRvz*vsm$ntpDtHcCHTgN-5Z}amcpo3*6MTx#@FRZ0 z&-ewu;y2{RwfGZ%A(^hF#C`+uBd!#$LPlgkR^-4oL%bdN#DcgE*W*T%!24K_OlBb~ zt`@Js9jJn;sDYZOjoi2vjnNeM+8~-owhyr-TA>Ygcq!V65mx0<=&hh1M%oRJ#xLSA zyk#SP8&k#U*ku9i#tY&+%*R4(QvGJUDXzrZSdDkF79V00K2ZIK_(a@>XAJucd?y}2 zb%S#kih5zb5vLqVo<;^UlL&gD2!&A;rBMcDQ4RLrb(qeVuHCeLA!spBT<<7-*6~n1X4Th1pnwH?RzEVFlj7D!hly_!Q3@oENZN z{1UtIE%xGj?8lF|+%Dq^92ft@N&Jn|NM>~F+SD2#TV!=a9^^xQT!%8a4eJf|MpP8< zL=)VH9yWt`?8WzJY~rTqh&Viq!Ki8Vsf}TVa|C)I9{1U0+>aHie+TQZ0UPl#j+o>q zj*EX{lht-J(yKlrvf*mv$8{)#B3NU$`2lVeOWiP~s{CTNZpXo=QngZB7IhmIgl?1p|AfWa7o(HM(yn1Csm zhFO@6k5sh6hdJX zMKKgd36#Q79r_&^?SitPl7hkQ$fc z4=d{_+#r^~R*T|u+$xqwRn$N)8)qNX5$mA~x}!Jxp+5%V8P(6gNO3f#VmfAE7GA(S zypH8~6DyI$rjZ@*i|g?bw%`+N!)MrmFR%+=VGq8+KGd-&>fy8jOXhc1s6GR(LT3D? z-~~qayZTFH%@2sd1+l&8ldspc$^R3S>qbu{}DVGX`Q1 z24e_DV=TsD0;-y=8W`u$egbAGn2kA@i+Nap#aMz*Y!KV9(AKyJUBvDf>1A;=p0Yrn z#sPnJ5QlIWM{pF!a2zLa5*f^XCS*rWWYJJ|q*eWusG^`cYM>Tsqb}mm4c*ZT@#u?w z7=YfY>W80futzXa!DLLqG|a+mti&p$v?$VGkFM>-O0%#En@qA9Td);-uowHVAIESU zDJ+WA7^6eukX_7)T*!lBD2@^+g|aAzN~nw~sE(yNv<$g4ln3Q(rnjS|Nm}Em_&b`4 z%`gyyklHKkSfk(r z3{)@(8^w>YR9qIp7Wx);EBF>i@jFi9@5t|LlD{LjmGxTWLqS}J>rn(Z;6{|hEw~l8 zp#pBl9k>%!@vzw+j0R$3+=F|u+5%mJmKH^8^iU9w{uqe0CRvBn7RBWlsbDn5U>wF{ zBA&(+%*R5!jKz2z%W>R5{E4^4)#xC0#z*3o2pZptYGO_Nh7-8VAyYbBfeg4F#c%^k zppcFiK~=E^4r}OF)Di1pu$|Em+%LAoUm7}twqgf#L>#)HJ9;1<4`VRKU>u&t6imf* zypH8~8>^Ae3Re)Hi92w{>?gOL-lZFLP}j^fz)vPQg1;gY;~%6jAD^r03*-=U;Tq&c zK@`UID25wQ0ym>9GFw@*p{7_Htfw1s4M!51F%WQH)Di23ezzYg%uRVJaGYv ziN�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 literal 0 HcmV?d00001 diff --git a/doc/build/doctrees/netscript.doctree b/doc/build/doctrees/netscript.doctree new file mode 100644 index 0000000000000000000000000000000000000000..be565a86e58f8f6044d7a9decd72bcc363c1ca4f GIT binary patch literal 4306 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 literal 0 HcmV?d00001 diff --git a/doc/build/doctrees/netscriptfunctions.doctree b/doc/build/doctrees/netscriptfunctions.doctree new file mode 100644 index 0000000000000000000000000000000000000000..cdf12708ad63cd4a97d3825168a781763feb4cf3 GIT binary patch literal 210239 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 literal 0 HcmV?d00001 diff --git a/doc/build/doctrees/netscriptixapi.doctree b/doc/build/doctrees/netscriptixapi.doctree new file mode 100644 index 0000000000000000000000000000000000000000..837d6e810c91d163857f5e9c12db03d0bb0697a1 GIT binary patch literal 51430 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 s<@3bDb2?fSpFlXU20# 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 WXT&WhK(##`_ that is currently in the +early beta stage of development. The game `can be played here `_. + +What is Bitburner? +------------------ +Bitburner is a cyberpunk-themed incremental RPG where you, the player, take the role of an unknown hacker in a dark, dystopian world. +When a mysterious hacker called jump3R messages you, he/she confirms your suspicions that there is something wrong with the world around you. +Now, aided by jump3R, you embark on a quest to gain money and power by any means necessary, in the hopes that this will lead to to uncover the +secrets that you've been searching for. + +.. toctree:: + :maxdepth: 5 + :caption: Contents: + + Netscript + + + +Indices and tables +================== + +* :ref:`genindex` +* :ref:`modindex` +* :ref:`search` diff --git a/doc/build/html/_sources/netscript.rst.txt b/doc/build/html/_sources/netscript.rst.txt new file mode 100644 index 000000000..f4bd2d0f9 --- /dev/null +++ b/doc/build/html/_sources/netscript.rst.txt @@ -0,0 +1,25 @@ +Netscript Documentation +======================= +Netscript is the programming language used in the world of Bitburner. + +When you write scripts in Bitburner, they are written in the Netscript language. +Netscript is simply a tiny subset of Javascript. This means that Netscript's +syntax is almost idental to Javascript's, but it does not implement many of the +features that Javascript has. + +If you have any requests or suggestions to improve the Netscript language, feel free +to reach out to the developer! + +.. toctree:: + :maxdepth: 5 + :caption: Sections: + + Data Types and Variables + Operators + Loops and Conditionals + Script Arguments + Basic Functions + Advanced Functions + Hacknet Node API + Trade Information eXchange (TIX) API + Singularity Functions diff --git a/doc/build/html/_sources/netscriptadvancedfunctions.rst.txt b/doc/build/html/_sources/netscriptadvancedfunctions.rst.txt new file mode 100644 index 000000000..e71ebd2b6 --- /dev/null +++ b/doc/build/html/_sources/netscriptadvancedfunctions.rst.txt @@ -0,0 +1,45 @@ +Netscript Advanced Functions +============================ + +These Netscript functions become relevant later on in the game. They are put on a separate page because +they contain spoilers for the game. + +getBitNodeMultipliers +^^^^^^^^^^^^^^^^^^^^^ + +.. js:function:: getBitNodeMultipliers() + + Returns an object containing the current BitNode multipliers. This function requires Source-File 5 in order + to run. The multipliers are returned in integer forms (e.g. 1.5 instead of 150%). The multipliers represent + the difference between the current BitNode and the original BitNode (BitNode-1). For example, if the + *CrimeMoney* multiplier has a value of 0.1, then that means that committing crimes in the current BitNode + will only give 10% of the money you would have received in BitNode-1. The object has the following structure, + (subject to change in the future):: + + { + ServerMaxMoney: 1, + ServerStartingMoney: 1, + ServerGrowthRate: 1, + ServerWeakenRate: 1, + ServerStartingSecurity: 1, + ManualHackMoney: 1, + ScriptHackMoney: 1, + CompanyWorkMoney: 1, + CrimeMoney: 1, + HacknetNodeMoney: 1, + CompanyWorkExpGain: 1, + ClassGymExpGain: 1, + FactionWorkExpGain: 1, + HackExpGain: 1, + CrimeExpGain: 1, + FactionWorkRepGain: 1, + FactionPassiveRepGain: 1, + AugmentationRepCost: 1, + AugmentationMoneyCost: 1, + } + + Example:: + + mults = getBitNodeMultipliers(); + print(mults.ServerMaxMoney); + print(mults.HackExpGain); diff --git a/doc/build/html/_sources/netscriptdatatypes.rst.txt b/doc/build/html/_sources/netscriptdatatypes.rst.txt new file mode 100644 index 000000000..a230fee0e --- /dev/null +++ b/doc/build/html/_sources/netscriptdatatypes.rst.txt @@ -0,0 +1,44 @@ +Netscript Data Types and Variables +================================== + + +Data Types +---------- +Netscript supports three primitive data types: + +**Numbers** - Positive numerics, such as integers and floats. Examples: 6, 0, 10.5 + +**Strings** - A sequence of characters that represents text. The characters must be encapsulated by single or +double quotes. Example: "This is a string" or equivalently 'This is a string'. +*Strings are fully functional* `Javascript strings `_, +*which means that all of the member functions of Javascript strings such as toLowerCase() and includes() are also available in Netscript!* + +**Boolean** - true or false + +**Array** - An array is a special container object that is capable of holding many different values. Arrays are simply Javascript +arrays, and most Javascript array methods can be used in Netscript as well (join(), pop(), splice(), etc.). You can read more about +`Javascript arrays here `_ + +Variables +--------- + +Variables can be thought of as named containers. Their purpose is to label and store data. The data stored in the +variable can then be accessed and changed by referring to the variable's name. The name of a variable must start with +either a letter or an underscore. The rest of the variable name can contain any alphanumeric (letters and numbers), +as well as hyphens and underscores. + +The Netscript language is untyped, meaning that any variable can hold any of the data types above. The value type of a variable +can also change. For example, if a variable initially holds a number, it can later hold a string. + +The following shows how you can declare and initialize variables:: + + i = 1; + s = "This is a string"; + b = false; + +After declaring a variable, the values in variables can be used simply by referencing the name. For example:: + + j = i + 5; + s2 = s + " Adding more letters onto the string" + +The first command above will store the value 6 in the variable j. The second command will store the string "This is a string Adding more letters onto the string" into the variable s2. diff --git a/doc/build/html/_sources/netscriptfunctions.rst.txt b/doc/build/html/_sources/netscriptfunctions.rst.txt new file mode 100644 index 000000000..4723b54fc --- /dev/null +++ b/doc/build/html/_sources/netscriptfunctions.rst.txt @@ -0,0 +1,889 @@ +Netscript Basic Functions +========================= + +This page contains the complete documentation for all functions that are available in Netscript. +This includes information such as function signatures, what they do, and their return values. + +At the end is also a section that describes how to define your own functions in Netscript. + +hack +^^^^ + +.. js:function:: hack(hostname/ip) + + :param string hostname/ip: IP or hostname of the target server to hack + :returns: True if the hack is successful, false otherwise + + Function that is used to try and hack servers to steal money and gain hacking experience. The runtime for this command depends + on your hacking level and the target server's security level. In order to hack a server you must first gain root access + to that server and also have the required hacking level. + + A script can hack a server from anywhere. It does not need to be running on the same server to hack that server. For example, + you can create a script that hacks the 'foodnstuff' server and run that script on any server in the game. + + A successful hack() on a server will raise that server's security level by 0.002. + + Example:: + + hack("foodnstuff"); + hack("10.1.2.3"); + +grow +^^^^ + +.. js:function:: grow(hostname/ip) + + :param string hostname/ip: IP or hostname of the target server to grow + :returns: The number by which the money on the server was multiplied for the growth + + Use your hacking skills to increase the amount of money available on a server. The runtime for this command depends on your hacking + level and the target server's security level. When grow() completes, the money available on a target server will be increased by a + certain, fixed percentage. This percentage is determined by the target server's growth rate (which varies between servers) and security level. + Generally, higher-level servers have higher growth rates. The getServerGrowth() function can be used to obtain a server's growth rate. + + Like hack(), grow() can be called on any server, regardless of where the script is running. The grow() command requires + root access to the target server, but there is no required hacking level to run the command. It also raises the security level + of the target server by 0.004. + + Example:: + + grow("foodnstuff"); + +weaken +^^^^^^ + +.. js:function:: weaken(hostname/ip) + + :param string hostname.ip: IP or hostname of the target server to weaken + :returns: The amount by which the target server's security level was decreased. This is equivalent to 0.05 multiplied + by the number of script threads + + Use your hacking skills to attack a server's security, lowering the server's security level. The runtime for this command + depends on your hacking level and the target server's security level. This function lowers the security level of the target + server by 0.05. + + Like hack() and grow(), weaken() can be called on any server, regardless of where the script is running. This command requires + root access to the target server, but there is no required hacking level to run the command. + + Example:: + + weaken("foodnstuff"); + +sleep +^^^^^ + +.. js:function:: sleep(n[, log=true]) + + :param number n: Number of milliseconds to sleep + :param boolean log: Optional boolean specifying whether or not to log the action + + Suspends the script for n milliseconds. + +print +^^^^^ + +.. js:function:: print(x) + + :param x: Value to be printed + + Prints a value or a variable to the script's logs. + +tprint +^^^^^^ + +.. js:function:: tprint(x) + + :param x: Value to be printed + + Prints a value or a variable to the Terminal + +scan +^^^^ + +.. js:function:: scan(hostname/ip[, hostnames=true]) + + :param string hostname/ip: IP or hostname of the server to scan + :param boolean: Optional boolean specifying whether the function should output hostnames (if true) or IP addresses (if false) + + Returns an array containing the hostnames or IPs of all servers that are one node way from the specified target server. The + hostnames/IPs in the returned array are strings. + +nuke +^^^^ + +.. js:function:: nuke(hostname/ip) + + :param string hostname/ip: IP or hostname of the target server + + Runs the NUKE.exe program on the target server. NUKE.exe must exist on your home computer. + + Example:: + + nuke("foodnstuff"); + +brutessh +^^^^^^^^ + +.. js:function:: brutessh(hostname/ip) + + :param string hostname/ip: IP or hostname of the target server + + Runs the BruteSSH.exe program on the target server. BruteSSH.exe must exist on your home computer. + + Example:: + + brutessh("foodnstuff"); + +ftpcrack +^^^^^^^^ + +.. js:function:: ftpcrack(hostname/ip) + + :param string hostname/ip: IP or hostname of the target server + + Runs the FTPCrack.exe program on the target server. FTPCrack.exe must exist on your home computer. + + Example:: + + ftpcrack("foodnstuff"); + +relaysmtp +^^^^^^^^^ + +.. js:function:: relaysmtp(hostname/ip) + + :param string hostname/ip: IP or hostname of the target server + + Runs the relaySMTP.exe program on the target server. relaySMTP.exe must exist on your home computer. + + Example:: + + relaysmtp("foodnstuff"); + +httpworm +^^^^^^^^ + +.. js:function:: httpworm(hostname/ip) + + :param string hostname/ip: IP or hostname of the target server + + Runs the HTTPWorm.exe program on the target server. HTTPWorm.exe must exist on your home computer. + + Example:: + + httpworm("foodnstuff"); + +sqlinject +^^^^^^^^^ + +.. js:function:: sqlinject(hostname/ip) + + :param string hostname/ip: IP or hostname of the target server + + Runs the SQLInject.exe program on the target server. SQLInject.exe must exist on your home computer. + + Example:: + + sqlinject("foodnstuff"); + +run +^^^ + +.. js:function:: run(script, [numThreads=1], [args...]) + + :param string script: Filename of script to run + :param number numThreads: Optional thread count for new script. Set to 1 by default. Will be rounded to nearest integer + :param args...: + Additional arguments to pass into the new script that is being run. Note that if any arguments are being + passed into the new script, then the second argument *numThreads* must be filled in with a value. + + Run a script as a separate process. This function can only be used to run scripts located on the current server (the server + running the script that calls this function). + + Returns true if the script is successfully started, and false otherwise. Requires a significant amount of RAM to run this + command. + + The simplest way to use the *run* command is to call it with just the script name. The following example will run + 'foo.script' single-threaded with no arguments:: + + run("foo.script"); + + The following example will run 'foo.script' but with 5 threads instead of single-threaded:: + + run("foo.script", 5); + + This next example will run 'foo.script' single-threaded, and will pass the string 'foodnstuff' into the script + as an argument:: + + run("foo.script", 1, 'foodnstuff'); + +exec +^^^^ + +.. js:function:: exec(script, hostname/ip, [numThreads=1], [args...]) + + :param string script: Filename of script to execute + :param string hostname/ip: IP or hostname of the 'target server' on which to execute the script + :param number numThreads: Optional thread count for new script. Set to 1 by default. Will be rounded to nearest integer + :param args...: + Additional arguments to pass into the new script that is being run. Note that if any arguments are being + passed into the new script, then the third argument *numThreads* must be filled in with a value. + + Run a script as a separate process on a specified server. This is similar to the *run* function except + that it can be used to run a script on any server, instead of just the current server. + + Returns true if the script is successfully started, and false otherwise. + + The simplest way to use the *exec* command is to call it with just the script name and the target server. + The following example will try to run *generic-hack.script* on the *foodnstuff* server:: + + exec("generic-hack.script", "foodnstuff"); + + The following example will try to run the script *generic-hack.script* on the *joesguns* server with 10 threads:: + + exec("generic-hack.script", "joesguns", 10); + + This last example will try to run the script *foo.script* on the *foodnstuff* server with 5 threads. It will also pass + the number 1 and the string "test" in as arguments to the script:: + + exec("foo.script", "foodnstuff", 5, 1, "test"); + +kill +^^^^ + +.. js:function:: kill(script, hostname/ip, [args...]) + + :param string script: Filename of the script to kill + :param string hostname/ip: IP or hostname of the server on which to kill the script + :param args...: Arguments to identify which script to kill + + Kills the script on the target server specified by the script's name and arguments. Remember that scripts + are uniquely identified by both their name and arguments. For example, if *foo.script* is run with the argument 1, then this + is not the same as *foo.script* run with the argument 2, even though they have the same code. + + If this function successfully kills the specified script, then it will return true. Otherwise, it will return false. + + Examples: + + The following example will try to kill a script named *foo.script* on the *foodnstuff* server that was ran with no arguments:: + + kill("foo.script", "foodnstuff"); + + The following will try to kill a script named *foo.script* on the current server that was ran with no arguments:: + + kill("foo.script", getHostname()); + + The following will try to kill a script named *foo.script* on the current server that was ran with the arguments 1 and "foodnstuff":: + + kill("foo.script", getHostname(), 1, "foodnstuff"); + +killall +^^^^^^^ + +.. js:function:: killall(hostname/ip) + + :param string hostname/ip: IP or hostname of the server on which to kill all scripts + + Kills all running scripts on the specified server. This function will always return true. + + +exit +^^^^ + +.. js:function:: exit() + + Terminates the current script immediately + +scp +^^^ + +.. js:function:: scp(files, [source], destination) + + :param string/array files: Filename or an array of filenames of script/literature files to copy + :param string source: + Hostname or IP of the source server, which is the server from which the file will be copied. + This argument is optional and if it's omitted the source will be the current server. + :param string destination: Hostname or IP of the destination server, which is the server to which the file will be copied. + + Copies a script or literature (.lit) file(s) to another server. The *files* argument can be either a string specifying a + single file to copy, or an array of strings specifying multiple files to copy. + + Returns true if the script/literature file is successfully copied over and false otherwise. If the *files* argument is an array + then this function will return true if at least one of the files in the array is successfully copied. + + Examples:: + + //Copies hack-template.script from the current server to foodnstuff + scp("hack-template.script", "foodnstuff"); + + //Copies foo.lit from the helios server to the home computer + scp("foo.lit", "helios", "home"); + + //Tries to copy three files from rothman-uni to home computer + files = ["foo1.lit", "foo2.script", "foo3.script"]; + scp(files, "rothman-uni", "home"); + +ls +^^ + +.. js:function:: ls(hostname/ip) + + :param string hostname/ip: Hostname or IP of the target server + + Returns an array with the filenames of all files on the specified server (as strings). The returned array + is sorted in alphabetic order + +hasRootAccess +^^^^^^^^^^^^^ + +.. js:function:: hasRootAccess(hostname/ip) + + :param string hostname/ip: Hostname or IP of the target server + + Returns a boolean indicating whether or not the player has root access to the specified target server. + + Example:: + + if (hasRootAccess("foodnstuff") == false) { + nuke("foodnstuff"); + } + +getHostname +^^^^^^^^^^^ + +.. js:function:: getHostname() + + Returns a string with the hostname of the server that the script is running on + +getHackingLevel +^^^^^^^^^^^^^^^ + +.. js:function:: getHackingLevel() + + Returns the player's current hacking level + +getHackingMultipliers +^^^^^^^^^^^^^^^^^^^^^ + +.. js:function:: getHackingMultipliers() + + Returns an object containing the Player's hacking related multipliers. These multipliers are + returned in integer forms, not percentages (e.g. 1.5 instead of 150%). The object has the following structure:: + + { + chance: Player's hacking chance multiplier, + speed: Player's hacking speed multiplier, + money: Player's hacking money stolen multiplier, + growth: Player's hacking growth multiplier + } + + Example of how this can be used:: + + mults = getHackingMultipliers(); + print(mults.chance); + print(mults.growth); + +getServerMoneyAvailable +^^^^^^^^^^^^^^^^^^^^^^^ + +.. js:function:: getServerMoneyAvailable(hostname/ip) + + :param string hostname/ip: Hostname or IP of target server + + Returns the amount of money available on a server. **Running this function on the home computer will return + the player's money.** + + Example:: + + getServerMoneyAvailable("foodnstuff"); + getServerMoneyAvailable("home"); //Returns player's money + +getServerMaxMoney +^^^^^^^^^^^^^^^^^ + +.. js:function:: getServerMaxMoney(hostname/ip) + + :param string hostname/ip: Hostname or IP of target server + + Returns the maximum amount of money that can be available on a server + +getServerGrowth +^^^^^^^^^^^^^^^ + +.. js:function:: getServerGrowth(hostname/ip) + + :param string hostname/ip: Hostname or IP of target server + + Returns the server's instrinsic "growth parameter". This growth parameter is a number + between 1 and 100 that represents how quickly the server's money grows. This parameter affects the + percentage by which the server's money is increased when using the *grow()* function. A higher + growth parameter will result in a higher percentage increase from *grow()*. + +getServerSecurityLevel +^^^^^^^^^^^^^^^^^^^^^^ + +.. js:function:: getServerSecurityLevel(hostname/ip) + + :param string hostname/ip: Hostname or IP of target server + + Returns the security level of the target server. A server's security level is denoted by a number, typically + between 1 and 100 (but it can go above 100). + +getServerBaseSecurityLevel +^^^^^^^^^^^^^^^^^^^^^^^^^^ + +.. js:function:: getServerBaseSecurityLevel(hostname/ip) + + :param string hostname/ip: Hostname or IP of target server + + Returns the base security level of the target server. This is the security level that the server starts out with. + This is different than *getServerSecurityLevel()* because *getServerSecurityLevel()* returns the current + security level of a server, which can constantly change due to *hack()*, *grow()*, and *weaken()*, calls on that + server. The base security level will stay the same until you reset by installing an Augmentation(s). + +getServerMinSecurityLevel +^^^^^^^^^^^^^^^^^^^^^^^^^ + +.. js:function:: getServerMinSecurityLevel(hostname/ip) + + :param string hostname/ip: Hostname or IP of target server + + Returns the minimum security level of the target server + +getServerRequiredHackingLevel +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +.. js:function:: getServerRequiredHackingLevel(hostname/ip) + + :param string hostname/ip: Hostname or IP of target server + + Returns the required hacking level of the target server + +getServerNumPortsRequired +^^^^^^^^^^^^^^^^^^^^^^^^^ + +.. js:function:: getServerNumPortsRequired(hostname/ip) + + :param string hostname/ip: Hostname or IP of target server + + Returns the number of open ports required to successfully run NUKE.exe on the specified server. + +getServerRam +^^^^^^^^^^^^ + +.. js:function:: getServerRam(hostname/ip) + + :param string hostname/ip: Hostname or IP of target server + + Returns an array with two elements that gives information about a server's memory (RAM). The first + element in the array is the amount of RAM that the server has total (in GB). The second element in + the array is the amount of RAM that is currently being used on the server (in GB). + + Example:: + + res = getServerRam("helios"); + totalRam = res[0]; + ramUsed = res[1]; + +serverExists +^^^^^^^^^^^^ + +.. js:function:: serverExists(hostname/ip) + + :param string hostname/ip: Hostname or IP of target server + + Returns a boolean denoting whether or not the specified server exists + +fileExists +^^^^^^^^^^ + +.. js:function:: fileExists(filename, [hostname/ip]) + + :param string filename: Filename of file to check + :param string hostname/ip: + Hostname or IP of target server. This is optional. If it is not specified then the + function will use the current server as the target server + + Returns a boolean indicating whether the specified file exists on the target server. The filename + for scripts is case-sensitive, but for other types of files it is not. For example, *fileExists("brutessh.exe")* + will work fine, even though the actual program is named "BruteSSH.exe". + + If the *hostname/ip* argument is omitted, then the function will search through the current server (the server + running the script that calls this function) for the file. + + Examples:: + + fileExists("foo.script", "foodnstuff"); + fileExists("ftpcrack.exe"); + + The first example above will return true if the script named *foo.script* exists on the *foodnstuff* server, and false otherwise. + The second example above will return true if the current server contains the *FTPCrack.exe* program, and false otherwise. + +isRunning +^^^^^^^^^ + +.. js:function:: isRunning(filename, hostname/ip, [args...]) + + :param string filename: Filename of script to check. This is case-sensitive. + :param string hostname/ip: Hostname or IP of target server + :param args...: Arguments to specify/identify which scripts to search for + + Returns a boolean indicating whether the specified script is running on the target server. Remember that a script is + uniquely identified by both its name and its arguments. + + **Examples:** + + In this first example below, the function call will return true if there is a script named *foo.script* with no arguments + running on the *foodnstuff* server, and false otherwise:: + + isRunning("foo.script", "foodnstuff"); + + In this second example below, the function call will return true if there is a script named *foo.script* with no arguments + running on the current server, and false otherwise:: + + isRunning("foo.script", getHostname()); + + In this next example below, the function call will return true if there is a script named *foo.script* running with the arguments + 1, 5, and "test" (in that order) on the *joesguns* server, and false otherwise:: + + isRunning("foo.script", "joesguns", 1, 5, "test"); + +getNextHacknetNodeCost +^^^^^^^^^^^^^^^^^^^^^^ + +.. js:function:: getNextHacknetNodeCost() + + Returns the cost of purchasing a new Hacknet Node + +purchaseHacknetNode +^^^^^^^^^^^^^^^^^^^ + +.. js:function:: purchaseHacknetNode() + + Purchases a new Hacknet Node. Returns a number with the index of the Hacknet Node. This index is equivalent to the number at the + end of the Hacknet Node's name (e.g The Hacknet Node named 'hacknet-node-4' will have an index of 4). If the player cannot afford + to purchase a new Hacknet Node then the function will return false. + +purchaseServer +^^^^^^^^^^^^^^ + +.. js:function:: purchaseServer(hostname, ram) + + :param string hostname: Hostname of the purchased server + :param number ram: Amount of RAM of the purchased server. Must be a power of 2 (2, 4, 8, 16, etc.) + + Purchased a server with the specified hostname and amount of RAM. + + The *hostname* argument can be any data type, but it will be converted to a string and have whitespace removed. Anything that resolves to an empty string will + cause the function to fail. If there is already a server with the specified hostname, then the function will automatically append + a number at the end of the *hostname* argument value until it finds a unique hostname. For example, if the script calls + *purchaseServer("foo", 4)* but a server named "foo" already exists, the it will automatically change the hostname to "foo-0". If there is already + a server with the hostname "foo-0", then it will change the hostname to "foo-1", and so on. + + Note that there is a maximum limit to the amount of servers you can purchase. + + Returns the hostname of the newly purchased server as a string. If the function fails to purchase a server, then it will return an + empty string. The function will fail if the arguments passed in are invalid, if the player does not have enough money to purchase + the specified server, or if the player has exceeded the maximum amount of servers. + + Example:: + + ram = 64; + hn = "pserv-"; + for (i = 0; i < 5; ++i) { + purchaseServer(hn + i, ram); + } + +deleteServer +^^^^^^^^^^^^ + +.. js:function:: deleteServer(hostname) + + :param string hostname: Hostname of the server to delete + + Deletes one of your purchased servers, which is specified by its hostname. + + The *hostname* argument can be any data type, but it will be converted to a string. Whitespace is automatically removed from + the string. This function will not delete a server that still has scripts running on it. + + Returns true if successful, and false otherwise. + +getPurchasedServers +^^^^^^^^^^^^^^^^^^^ + +.. js:function:: getPurchasedServers([hostname=true]) + + :param boolean hostname: + Specifies whether hostnames or IP addresses should be returned. If it's true then hostnames will be returned, and if false + then IPs will be returned. If this argument is omitted then it is true by default + + Returns an array with either the hostnames or IPs of all of the servers you have purchased. + +round +^^^^^ + +.. js:function:: round(n) + + :param number n: Number to round + + Returns the argument *n* rounded to the nearest integer. If the argument passed in is not a number, then the function will return 0. + +write +^^^^^ + +.. js:function:: write(port/fn, data="", mode="a") + + :param string/number port/fn: Port or text file that will be written to + :param string data: Data to write + :param string mode: Defines the write mode. Only valid when writing to text files. + + This function can be used to either write data to a port or to a text file (.txt). + + If the first argument is a number between 1 and 10, then it specifies a port and this function will write *data* to that port. Read + about how `Netscript Ports work here `_. The third argument, *mode*, is not used + when writing to a port. + + If the first argument is a string, then it specifies the name of a text file (.txt) and this function will write *data* to that text file. If the + specified text file does not exist, then it will be created. The third argument *mode, defines how the data will be written to the text file. If *mode* + is set to "w", then the data is written in "write" mode which means that it will overwrite all existing data on the text file. If *mode* is set to + any other value then the data will be written in "append" mode which means that the data will be added at the end of the text file. + +read +^^^^ + +.. js:function:: read(port/fn) + + :param string/number port/fn: Port or text file to read from + + This function is used to read data from a port or from a text file (.txt). + + If the argument *port/fn* is a number between 1 and 10, then it specifies a port and it will read data from that port. Read + about how `Netscript Ports work here `_. A port is a serialized queue. This function + will remove the first element from that queue and return it. If the queue is empty, then the string "NULL PORT DATA" will be returned. + + If the argument *port/fn* is a string, then it specifies the name of a text file (.txt) and this function will return the data in the specified text file. If + the text file does not exist, an empty string will be returned. + +clear +^^^^^ + +.. js:function:: clear(port/fn) + + :param string/number port/fn: Port or text file to clear + + This function is used to clear data in a `Netscript Ports `_ or a text file. + + If the *port/fn* argument is a number between 1 and 10, then it specifies a port and will clear it (deleting all data from the underlying queue). + + If the *port/fn* argument is a string, then it specifies the name of a text file (.txt) and will delete all data from that text file. + +scriptRunning +^^^^^^^^^^^^^ + +.. js:function:: scriptRunning(scriptname, hostname/ip) + + :param string scriptname: Filename of script to check. This is case-sensitive. + :param string hostname/ip: Hostname or IP of target server + + Returns a boolean indicating whether any instance of the specified script is running on the target server, regardless of + its arguments. + + This is different than the *isRunning()* function because it does not try to identify a specific instance of a running script + by its arguments. + + **Examples:** + + The example below will return true if there is any script named *foo.script* running on the *foodnstuff* server, and false otherwise:: + + scriptRunning("foo.script", "foodnstuff"); + + The example below will return true if there is any script named "foo.script" running on the current server, and false otherwise:: + + scriptRunning("foo.script", getHostname()); + +scriptKill +^^^^^^^^^^ + +.. js:function:: scriptKill(scriptname, hostname/ip) + + :param string scriptname: Filename of script to kill. This is case-sensitive. + :param string hostname/ip: Hostname or IP of target server + + Kills all scripts with the specified filename on the target server specified by *hostname/ip*, regardless of arguments. Returns + true if one or more scripts were successfully killed, and false if none were. + +getScriptRam +^^^^^^^^^^^^ + +.. js:function:: getScriptRam(scriptname, hostname/ip) + + :param string scriptname: Filename of script. This is case-sensitive. + :param string hostname/ip: Hostname or IP of target server + + Returns the amount of RAM required to run the specified script on the target server + +getHackTime +^^^^^^^^^^^ + +.. js:function:: getHackTime(hostname/ip) + + :param string hostname/ip: Hostname or IP of target server + + Returns the amount of time in seconds it takes to execute the *hack()* Netscript function on the target server. + +getGrowTime +^^^^^^^^^^^ + +.. js:function:: getGrowTime(hostname/ip) + + :param string hostname/ip: Hostname or IP of target server + + Returns the amount of time in seconds it takes to execute the *grow()* Netscript function on the target server. + +getWeakenTime +^^^^^^^^^^^^^ + +.. js:function:: getWeakenTime(hostname/ip) + + :param string hostname/ip: Hostname or IP of target server + + Returns the amount of time in seconds it takes to execute the *weaken()* Netscript function on the target server. + +getScriptIncome +^^^^^^^^^^^^^^^ + +.. js:function:: getScriptIncome([scriptname], [hostname/ip], [args...]) + + :param string scriptname: Filename of script + :param string hostname/ip: Server on which script is running + :param args...: Arguments that the script is running with + + Returns the amount of income the specified script generates while online (when the game is open, does not apply for offline income). + Remember that a script is uniquely identified by both its name and its arguments. So for example if you ran a script with the arguments + "foodnstuff" and "5" then in order to use this function to get that script's income you must specify those same arguments in the same order + in this function call. + + This function can also be called with no arguments. If called with no arguments, then this function will return an array of two values. The + first value is the total income ($ / second) of all of your active scripts (scripts that are currently running on any server). The second value + is the total income ($ / second) that you've earned from scripts since you last installed Augmentations. + +getScriptExpGain +^^^^^^^^^^^^^^^^ + +.. js:function:: getScriptExpGain([scriptname], [hostname/ip], [args...]) + + :param string scriptname: Filename of script + :param string hostname/ip: Server on which script is running + :param args...: Arguments that the script is running with + + Returns the amount of hacking experience the specified script generates while online (when the game is open, does not apply for offline experience gains). + Remember that a script is uniquely identified by both its name and its arguments. + + This function can also return the total experience gain rate of all of your active scripts by running the function with no arguments. + +getTimeSinceLastAug +^^^^^^^^^^^^^^^^^^^ + +.. js:function:: getTimeSinceLastAug() + + Returns the amount of time in milliseconds that have passed since you last installed Augmentations + +sprintf +^^^^^^^ + +.. js:function:: sprintf() + + See `this link `_ for details. + +vsprintf +^^^^^^^^ + +.. js:function:: vsprintf() + + See `this link `_ for details. + +prompt +^^^^^^ + +.. js:function:: prompt(txt) + + :param string txt: Text to appear in the prompt dialog box + + Prompts the player with a dialog box with two options: "Yes" and "No". This function will return true if the player click "Yes" and + false if the player clicks "No". The script's execution is halted until the player selects one of the options. + + +Defining your own Functions +--------------------------- + +You can define your own functions in Netscript using the following syntax:: + + function name(args...) { + function code here... + return some_value + } + +Functions should have some return value. Here is an example of defining and using a function:: + + function sum(values) { + res = 0; + for (i = 0; i < values.length; ++i) { + res += values[i]; + } + return res; + } + + print(sum([1, 2, 3, 4, 5])); + print(sum([1, 10])); + +The example above prints the following in its log:: + + 15 + 11 + +**Note about variable scope in functions:** + +Functions can access "global" variables declared outside of the function's scope. However, they cannot change the value of any "global" variables. +Any changes to "global" variables will only be applied locally to the function. This also means that any variable that is first defined inside a +function will NOT be accessible outside of the function. + +For example, the following code:: + + function sum(values) { + res = 0; + for (i = 0; i < values.length; ++i) { + res += values[i]; + } + return res; + } + print(res); + +results in the following runtime error:: + + Script runtime error: + Server Ip: 75.7.4.1 + Script name: test.script + Args:[] + variable res not defined + +The following example shows that any change to "global" variable inside a function only applies in the function's local scope:: + + function foo() { + i = 5; + return "foo"; + } + + i = 0; + print(i); + foo(); + print(i); + +Results in the following log:: + + 0 + 0 + +**Other Notes about creating your own functions:** + +Defining a function does not create a Javascript function object in the underlying game code. This means that you cannot use any function +you create in functions such as `Array.sort() `_ (not yet at least, I'll try to make it work in the future). diff --git a/doc/build/html/_sources/netscripthacknetnodeapi.rst.txt b/doc/build/html/_sources/netscripthacknetnodeapi.rst.txt new file mode 100644 index 000000000..1f3755fe0 --- /dev/null +++ b/doc/build/html/_sources/netscripthacknetnodeapi.rst.txt @@ -0,0 +1,127 @@ +Netscript Hacknet Node API +========================== + +Netscript provides the following API for accessing and upgrading your Hacknet Nodes +through scripts. + +Note that none of these functions will write to the script's logs. If you want +to see what your script is doing you will have to print to the logs yourself. + +hacknetnodes +^^^^^^^^^^^^ + + *hacknetnodes* is a special variable. It is an array that maps to the player's + Hacknet Nodes. The Hacknet Nodes are accessed through indexed. These indexes + correspond to the number at the end of the name of the Hacknet Node. For example, + the first Hacknet Node you purchase will have the name "hacknet-node-0" and can be + accessed using *hacknetnodes[0]*. The fourth Hacknet Node you purchase will have the name + "hacknet-node-3" and can be accessed using *hacknetnodes[3]*. + +Hacknet Node Member Variables +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +The following is a list of member variables for a Hacknet Node object. These variables are read-only, which means you cannot assign +a value to these. + +Note that these must be called on an element inside the *hacknetnodes* array, not the array itself. + +.. js:function:: hacknetnodes[i].level + + Returns the level of the corresponding Hacknet Node + +.. js:function:: hacknetnodes[i].ram + + Returns the amount of RAM on the corresponding Hacknet Node + +.. js:function:: hacknetnodes[i].cores + + Returns the number of cores on the corresponding Hacknet Node + +.. js:function:: hacknetnodes[i].totalMoneyGenerated + + Returns the total amount of money that the corresponding Hacknet Node has earned + +.. js:function:: hacknetnodes[i].onlineTimeSeconds + + Returns the total amount of time (in seconds) that the corresponding Hacknet Node has existed + +.. js:function:: hacknetnodes[i].moneyGainRatePerSecond + + Returns the amount of income that the corresponding Hacknet Node earns + +Hacknet Node Methods +^^^^^^^^^^^^^^^^^^^^ + +The following is a list of supported functions/methods for a Hacknet Node object. + +Note that these must be called on an element inside the *hacknetnodes* array, not the +array itself. + +.. js:function:: hacknetnodes[i].upgradeLevel(n); + + :param number n: Number of levels to upgrade. Must be positive. Rounded to nearest integer + + Tries to upgrade the level of the corresponding Hacknet Node *n* times. Returns true if the + Hacknet Node's level is successfully upgraded *n* times or up to the max level (200), and false + otherwise. + +.. js:function:: hacknetnodes[i].upgradeRam() + + Tries to upgrade the amount of RAM on the corresponding Hacknet Node. Returns true if the RAM is + successfully upgraded and false otherwise. + +.. js:function:: hacknetnodes[i].upgradeCore() + + Tries to purchase an additional core for the corresponding Hacknet Node. Returns true if the + additional core is successfully purchased, and false otherwise. + +.. js:function:: hacknetnodes[i].getLevelUpgradeCost(n); + + :param number n: Number of levels to upgrade. Must be positive. Rounded to nearest integer + + Returns the cost of upgrading the specified Hacknet Node by *n* levels + +.. js:function:: hacknetnodes[i].getRamUpgradeCost() + + Returns the cost of upgrading the RAM of the specified Hacknet Node. Upgrading a Node's RAM doubles it. + +.. js:function:: hacknetnodes[i].getCoreUpgradeCost() + + Returns the cost of upgrading the number of cores of the specified Hacknet Node. Upgrading a Node's + number of cores adds one additional core. + +Example(s) +^^^^^^^^^^ + +The following is an example of one way a script can be used to automate the purchasing and upgrading of Hacknet Nodes. +This script purchases new Hacknet Nodes until the player has four. Then, it iteratively upgrades each of those four Hacknet +Nodes to a level of at least 75, RAM to at least 8GB, and number of cores to at least 2:: + + //Purchase 4 Hacknet Nodes + while(hacknetnodes.length < 4) { + purchaseHacknetNode(); + } + + //Upgrade all 4 Hacknet Nodes to at least level 75 + for (i = 0; i < 4; i = i++) { + while (hacknetnodes[i].level <= 75) { + hacknetnodes[i].upgradeLevel(5); + sleep(10000); + } + } + + //Upgrade RAM on all Hacknet Nodes to 8GB + for (i = 0; i < 4; i = i++) { + while (hacknetnodes[i].ram < 8) { + hacknetnodes[i].upgradeRam(); + sleep(10000); + } + } + + //Upgrade cores on all Hacknet Nodes to 2 + for (i = 0; i < 4; i = i++) { + while (hacknetnodes[i].cores < 2) { + hacknetnodes[i].upgradeCore(); + sleep(10000); + } + } diff --git a/doc/build/html/_sources/netscriptixapi.rst.txt b/doc/build/html/_sources/netscriptixapi.rst.txt new file mode 100644 index 000000000..8f34f99ae --- /dev/null +++ b/doc/build/html/_sources/netscriptixapi.rst.txt @@ -0,0 +1,174 @@ +Netscript Trade Information eXchange (TIX) API +============================================== + +The Trade Information eXchange (TIX) is the communications protocol supported by the World Stock Exchange (WSE). +The WESE provides an API that allows you to automatically communicate with the +`Stock Market `_. This API lets you write code using Netscript +to build automated trading systems and create your own algorithmic trading strategies. Access to this +TIX API can be purchased by visiting the World Stock Exchange in-game. + +Access to the TIX API currently costs $5 billion. After you purchase it, you will retain this +access even after you 'reset' by installing Augmentations + +getStockPrice +------------- + +.. js:function:: getStockPrice(sym) + + :param string sym: Stock symbol + + Returns the price of a stock, given its symbol (NOT the company name). The symbol is a sequence + of two to four capital letters. + + Example:: + + getStockPrice("FISG"); + +getStockPosition +---------------- + +.. js:function:: getStockPosition(sym) + + :param string sym: Stock symbol + + Returns an array of four elements that represents the player's position in a stock. + + The first element is the returned array is the number of shares the player owns of the stock in the + `Long position `_. The second + element in the array is the average price of the player's shares in the Long position. + + The third element in the array is the number of shares the player owns of the stock in the + `Short position `_. The fourth + element in the array is the average price of the player's Short position. + + All elements in the returned array are numeric. + + Example:: + + pos = getStockPosition("ECP"); + shares = pos[0]; + avgPx = pos[1]; + sharesShort = pos[2]; + avgPxShort = pos[3]; + +buyStock +-------- + +.. js:function:: buyStock(sym, shares) + + :param string sym: Symbol of stock to purchase + :param number shares: Number of shares to purchased. Must be positive. Will be rounded to nearest integer + + Attempts to purchase shares of a stock using a `Market Order `_. + + If the player does not have enough money to purchase the specified number of shares, then no shares will be purchased. Remember + that every transaction on the stock exchange costs a certain commission fee. + + If this function successfully purchases the shares, it will return the stock price at which each share was purchased. Otherwise, + it will return 0. + +sellStock +--------- + +.. js:function:: sellStock(sym, shares) + + :param string sym: Symbol of stock to sell + :param number shares: Number of shares to sell. Must be positive. Will be rounded to nearest integer + + Attempts to sell shares of a stock using a `Market Order `_. + + If the specified number of shares in the function exceeds the amount that the player actually owns, then this function will + sell all owned shares. Remember that every transaction on the stock exchange costs a certain commission fee. + + The net profit made from selling stocks with this function is reflected in the script's statistics. + This net profit is calculated as:: + + shares * (sell price - average price of purchased shares) + + If the sale is successful, this function will return the stock price at which each share was sold. Otherwise, it will return 0. + +shortStock +---------- + +.. js:function:: shortStock(sym, shares) + + :param string sym: Symbol of stock to short + :param number shares: Number of shares to short. Must be positive. Will be rounded to nearest integer + + Attempts to purchase a `short `_ position of a stock + using a `Market Order `_. + + The ability to short a stock is **not** immediately available to the player and must be unlocked later on in the game. + + If the player does not have enough money to purchase the specified number of shares, then no shares will be purchased. + Remember that every transaction on the stock exchange costs a certain commission fee. + + If the purchase is successful, this function will return the stock price at which each share was purchased. Otherwise, it will return 0. + +sellShort +--------- + +.. js:function:: sellShort(sym, shares) + + :param string sym: Symbol of stock to sell + :param number shares: Number of shares to sell. Must be positive. Will be rounded to nearest integer + + Attempts to sell a `short `_ position of a stock + using a `Market Order `_. + + The ability to short a stock is **not** immediately available to the player and must be unlocked later on in the game. + + If the specified number of shares exceeds the amount that the player actually owns, then this function will sell all owned + shares. Remember that every transaction on the stock exchange costs a certain commission fee. + + If the sale is successful, this function will return the stock price at which each share was sold. Otherwise it will return 0. + +placeOrder +---------- + +.. js:function:: placeOrder(sym, shares, price, type, pos) + + :param string sym: Symbol of stock to player order for + :param number shares: Number of shares for order. Must be positive. Will be rounded to nearest integer + :param number price: Execution price for the order + :param string type: Type of order. It must specify "limit" or "stop", and must also specify "buy" or "sell". This is NOT + case-sensitive. Here are four examples that will work: + + * limitbuy + * limitsell + * stopbuy + * stopsell + + :param string pos: + Specifies whether the order is a "Long" or "Short" position. The Values "L" or "S" can also be used. This is + NOT case-sensitive. + + Places an order on the stock market. This function only works for `Limit and Stop Orders `_. + + The ability to place limit and stop orders is **not** immediately available to the player and must be unlocked later on in the game. + + Returns true if the order is successfully placed, and false otherwise. + +cancelOrder +----------- + +.. js:function:: cancelOrder(sym, shares, price, type, pos) + + :param string sym: Symbol of stock to player order for + :param number shares: Number of shares for order. Must be positive. Will be rounded to nearest integer + :param number price: Execution price for the order + :param string type: Type of order. It must specify "limit" or "stop", and must also specify "buy" or "sell". This is NOT + case-sensitive. Here are four examples that will work: + + * limitbuy + * limitsell + * stopbuy + * stopsell + + :param string pos: + Specifies whether the order is a "Long" or "Short" position. The Values "L" or "S" can also be used. This is + NOT case-sensitive. + + Cancels an oustanding Limit or Stop order on the stock market. + + The ability to use limit and stop orders is **not** immediately available to the player and must be unlocked later on in the game. diff --git a/doc/build/html/_sources/netscriptloopsandconditionals.rst.txt b/doc/build/html/_sources/netscriptloopsandconditionals.rst.txt new file mode 100644 index 000000000..59c11280e --- /dev/null +++ b/doc/build/html/_sources/netscriptloopsandconditionals.rst.txt @@ -0,0 +1,42 @@ +Netscript Loops and Conditionals +================================ + + +Loops and Conditionals +---------------------- + +Netscript loops and conditionals are the same as Javascript. However, the one caveat is that when declaring variables such as the +iterator for traversing a loop, you should not use the 'var' or 'let' keyword. For reference, you can see the Javascript +documentation for loops/conditionals here: + +`While loops `_ + +`For loops `_ + +`Conditionals (If/Else statements) `_ + +Here are some simple code examples that show the use of loops and conditionals in Netscript. + +The following is a while loop that runs the hack() Netscript function ten times:: + + i = 0; + while (i < 10) { + hack('foodnstuff'); + i = i + 1; + } + +The following is a for loop that runs the hack() Netscript function ten times:: + + for (i = 0; i < 10; ++i) { + hack("foodnstuff"); + } + +The following is a conditional that uses the getServerMoneyAvailable() Netscript function to check how much money +exists on the 'foodnstuff' server. If there is more than $200,000 on the server, then the server will be hacked. +Otherwise, the money available on the server will be grown using the grow() Netscript function:: + + if (getServerMoneyAvailable('foodnstuff') > 200000) { + hack("foodnstuff"); + } else { + grow("foodnstuff"); + } diff --git a/doc/build/html/_sources/netscriptoperators.rst.txt b/doc/build/html/_sources/netscriptoperators.rst.txt new file mode 100644 index 000000000..84ca09f3c --- /dev/null +++ b/doc/build/html/_sources/netscriptoperators.rst.txt @@ -0,0 +1,53 @@ +Netscript Operators +=================== + +Operators +--------- + +Binary Operators +^^^^^^^^^^^^^^^^ + +Binary operators require two operands and produce a result based on their values. In general, binary +operators do not change the value of the operands. + +=========== =========================== ============================================================== +Operator Name Example/Comments +=========== =========================== ============================================================== += Assignment i = 5 would assign the value 5 to the variable i +\+ Addition 5 + 12 would return 17 +\- Subtraction 20 - 8 would return 12 +\* Multiplication 4 * 5 would return 20 +\/ Division 50 / 10 would return 5 +% Modulo 50 % 9 would return 5 +&& Logical AND true && false would return false +|| Logical OR true || false would return true +< Less than 4 < 5 would return true +> Greater than 4 > 5 would return false +<= Less than or equal to 5 <= 5 would return true +>= Greater than or equal to 5 >= 4 would return true +== Equality 1 == 1 would return true +!= Inequality 4 != 5 would return true +=== Strict equality 1 === "1" would return false +!== Strict inequality 1 !== "1" would return true +=========== =========================== ============================================================== + +Unary Operators +^^^^^^^^^^^^^^^ + +Unary operators require only a single operand and produce a result based on their values. Some unary operators will +change the value of their operands. For example:: + + i = 0; + ++i; + +Running the pre-increment unary operator (++) in the code above changes the value of the variable i. + + +=============== =========================== ============================================================================================== +Operator Name Example/comments +=============== =========================== ============================================================================================== +! Logical NOT operator !true would return false, and !false would return true. Does not change operand's value +\- Negation Negates a number. Only works for numerics. Does not change operand's value +++ Pre-increment ++i or i++. WARNING: This only pre-increments, even if you put i++. Changes operand's value +-- Pre-decrement --i or i--. WARNING: This only pre-decrements, even if you put i--. Changes operand's value +=============== =========================== ============================================================================================== diff --git a/doc/build/html/_sources/netscriptscriptarguments.rst.txt b/doc/build/html/_sources/netscriptscriptarguments.rst.txt new file mode 100644 index 000000000..b52403d28 --- /dev/null +++ b/doc/build/html/_sources/netscriptscriptarguments.rst.txt @@ -0,0 +1,17 @@ +Netscript Script Arguments +========================== + +Arguments passed into a script can be accessed in Netscript using a special array called *args*. The arguments can be +accessed using a normal array using the [] operator (args[0], args[1], etc...). + +For example, let's say we want to make a generic script 'generic-run.script' and we plan to pass two arguments into that script. +The first argument will be the name of another script, and the second argument will be a number. This generic script will run the +script specified in the first argument with the amount of threads specified in the second element. The code would look like:: + + run(args[0], args[1]); + +It is also possible to get the number of arguments that was passed into a script using:: + + args.length + +WARNING: Do not try to modify the args array. This will break the game. I will do my best to prevent players from doing this. diff --git a/doc/build/html/_sources/netscriptsingularityfunctions.rst.txt b/doc/build/html/_sources/netscriptsingularityfunctions.rst.txt new file mode 100644 index 000000000..7618f7bd6 --- /dev/null +++ b/doc/build/html/_sources/netscriptsingularityfunctions.rst.txt @@ -0,0 +1,465 @@ +Netscript Singularity Functions +=============================== + +The Singularity Functions are a special set of Netscript functions. These functions allow you to control +many additional aspects of the game through scripts, such as working for factions/companies, purchasing/installing Augmentations, +and creating programs. + +The Singularity Functions are **not** immediately available to the player and must be unlocked later in the game. + +**WARNING: This page contains spoilers for the game**. + +The Singularity Functions are unlocked in BitNode-4. If you are in BitNode-4, then you will automatically have access to all of these functions. +You can use the Singularity Functions in other BitNodes if and only if you have the Source-File for BitNode-4 (aka Source-File 4). Each level of +Source-File 4 will open up additional Singularity Functions that you can use in other BitNodes. If your Source-File 4 is upgraded all the way to +level 3, then you will be able to access all of the Singularity Functions. + +Note that Singularity Functions require a lot of RAM outside of BitNode-4 (their RAM costs are multiplied by 10 if you are not in BitNode-4) + +universityCourse +---------------- + +.. js:function:: universityCourse(universityName, courseName) + + :param string universityName: + Name of university. Not case-sensitive. You must be in the correct city for whatever university you specify. + + * Summit University + * Rothman University + * ZB Institute Of Technology + :param string courseName: + Name of course. Not case-sensitive. + + * Study Computer Science + * Data Strucures + * Networks + * Algorithms + * Management + * Leadership + + If you are not in BitNode-4, then you must have Level 1 of Source-File 4 in order to use this function. + + This function will automatically set you to start taking a course at a university. If you are already in the middle of some + "working" action (such as working at a company, for a faction, or on a program), then running this function will automatically + cancel that action and give you your earnings. + + The cost and experience gains for all of these universities and classes are the same as if you were to manually visit and take these classes. + + This function will return true if you successfully start taking the course, and false otherwise. + +gymWorkout +---------- + +.. js:function:: gymWorkout(gymName, stat) + + :param string gymName: + Name of gym. Not case-sensitive. You must be in the correct city for whatever gym you specify. + + * Crush Fitness Gym + * Snap Fitness Gym + * Iron Gym + * Powerhouse Gym + * Millenium Fitness Gym + :param string stat: + The stat you want to train. Not case-sensitive. + + * strength OR str + * defense OR def + * dexterity OR dex + * agility OR agi + + If you are not in BitNode-4, then you must have Level 1 of Source-File 4 in order to use this function. + + This function will automatically set you to start working out at a gym to train a particular stat. If you are + already in the middle of some "working" action (such as working at a company, for a faction, or on a program), + then running this function will automatically cancel that action and give you your earnings. + + The cost and experience gains for all of these gyms are the same as if you were to manually visit these gyms and train + + This function will return true if you successfully start working out at the gym, and false otherwise. + +travelToCity +------------ + +.. js:function:: travelToCity(cityName) + + :param string cityName: + City to travel to. CASE-SENSITIVE. + + * Aevum + * Chongqing + * Sector-12 + * New Tokyo + * Ishima + * Volhaven + + If you are not in BitNode-4, then you must have Level 1 of Source-File 4 in order to use this function. + + This function allows the player to travel to any city. The cost for using this function is the same as the cost for traveling through the Travel Agency. + + This function will return true if you successfully travel to the specified city and false otherwise. + +purchaseTor +----------- + +.. js:function:: purchaseTor() + + If you are not in BitNode-4, then you must have Level 1 of Source-File 4 in order to use this function. + + This function allows you to automatically purchase a TOR router. The cost for purchasing a TOR router using this + function is the same as if you were to manually purchase one. + + This function will return true if it successfully purchase a TOR router and false otherwise. + +purchaseProgram +--------------- + +.. js:function:: purchaseProgram(programName) + + :param string programName: Name of program to purchase. Must include '.exe' extension. Not case-sensitive. + + If you are not in BitNode-4, then you must have Level 1 of Source-File 4 in order to use this function. + + This function allows you to automatically purchase programs. You MUST have a TOR router in order to use this function. + The cost of purchasing programs using this function is the same as if you were purchasing them through the Dark Web using the + Terminal *buy* command. + + Example:: + + purchaseProgram("brutessh.exe"); + + This function will return true if the specified program is purchased, and false otherwise. + +getStats +-------- + +.. js:function:: getStats() + + If you are not in BitNode-4, then you must have Level 1 of Source-File 4 in order to run this function. + + Returns an object with the Player's stats. The object has the following properties:: + + Player.hacking + Player.strength + Player.defense + Player.dexterity + Player.agility + Player.charisma + Player.intelligence + + Example:: + + res = getStats(); + print('My charisma level is: ' + res.charisma); + +isBusy +------ + +.. js:function:: isBusy() + + If you are not in BitNode-4, then you must have Level 1 of Source-File 4 in order to run this function. + + Returns a boolean indicating whether or not the player is currently performing an 'action'. These actions include + working for a company/faction, studying at a univeristy, working out at a gym, creating a program, or committing a crime. + +upgradeHomeRam +-------------- + +.. js:function:: upgradeHomeRam() + + If you are not in BitNode-4, then you must have Level 2 of Source-File 4 in order to use this function. + + This function will upgrade amount of RAM on the player's home computer. The cost is the same as if you were to do it manually. + + This function will return true if the player's home computer RAM is successfully upgraded, and false otherwise. + +getUpgradeHomeRamCost +--------------------- + +.. js:function:: getUpgradeHomeRamCost() + + If you are not in BitNode-4, then you must have Level 2 of Source-File 4 in order to use this function. + + Returns the cost of upgrading the player's home computer RAM. + +workForCompany +-------------- + +.. js:function:: workForCompany() + + If you are not in BitNode-4, then you must have Level 2 of Source-File 4 in order to use this function. + + This function will automatically set you to start working at the company at which you are employed. + If you are already in the middle of some "working" action (such as working for a faction, training at + a gym, or creating a program), then running this function will automatically cancel that action and give you your earnings. + + This function will return true if the player starts working, and false otherwise. + + Note that when you are working for a company, you will not actually receive your earnings + (reputation, money, experience) until you FINISH the action. This can be an issue if, for example, + you only want to work until you get 100,000 company reputation. One small hack to get around this is to + continuously restart the action to receive your earnings:: + + while (getCompanyRep(COMPANY HERE) < VALUE) { + workForCompany(); + sleep(60000); + } + + This way, your company reputation will be updated every minute. + +applyToCompany +-------------- + +.. js:function:: applyToCompany(companyName, field) + + :param string companyName: Name of company to apply to. CASE-SENSITIVE. + :param string field: + Field to which you want to apply. Not case-sensitive + + * software + * software consultant + * it + * security engineer + * network engineer + * business + * business consultant + * security + * agent + * employee + * part-time employee + * waiter + * part-time waiter + + If you are not in BitNode-4, then you must have Level 2 of Source-File 4 in order to use this function. + + This function will automatically try to apply to the specified company for a position in the specified + field. This function can also be used to apply for promotions by specifying the company and field you + are already employed at. + + This function will return true if you successfully get a job/promotion, and false otherwise. Note that + if you are trying to use this function to apply for a promotion and you don't get one, it will return false. + +getCompanyRep +------------- + +.. js:function:: getCompanyRep(companyName) + + :param string companyName: Name of the company. CASE-SENSITIVE + + If you are not in BitNode-4, then you must have Level 2 of Source-File 4 in order to use this function. + + This function will return the amount of reputation you have at the specified company. + If the company passed in as an argument is invalid, -1 will be returned. + +checkFactionInvitations +----------------------- + +.. js:function:: checkFactionInvitations() + + If you are not in BitNode-4, then you must have Level 2 of Source-File 4 in order to use this function. + + Returns an array with the name of all Factions you currently have oustanding invitations from. + +joinFaction +----------- + +.. js:function:: joinFaction(name) + + :param string name: Name of faction to join. CASE-SENSITIVE + + If you are not in BitNode-4, then you must have Level 2 of Source-File 4 in order to use this function. + + This function will automatically accept an invitation from a faction and join it. + +workForFaction +-------------- + +.. js:function:: workForFaction(factionName, workType) + + :param string factionName: Name of faction to work for. CASE-SENSITIVE + :param string workType: + Type of work to perform for the faction + + * hacking/hacking contracts/hackingcontracts + * field/fieldwork/field work + * security/securitywork/security work + + If you are not in BitNode-4, then you must have Level 2 of Source-File 4 in order to use this function. + + This function will automatically set you to start working for the specified faction. + Obviously, you must be a member of the faction or else this function will fail. If you are already in + the middle of some "working" action (such as working for a company, training at a gym, or creating a program), + then running this function will automatically cancel that action and give you your earnings. + + This function will return true if you successfully start working for the specified faction, and false otherwise. + + Note that when you are working for a faction, you will not actually receive your earnings (reputation, experience) + until you FINISH the action. This can be an issue if, for example, you only want to work until you get 100,000 faction + reputation. One small hack to get around this is to continuously restart the action to receive your earnings:: + + while (getFactionRep(FACTION NAME) < VALUE) { + workForFaction(FACNAME, WORKTYPE); + sleep(60000); + } + + This way, your faction reputation will be updated every minute. + +getFactionRep +------------- + +.. js:function:: getFactionRep(factionName) + + :param string factionName: Name of faction. CASE-SENSITIVE + + If you are not in BitNode-4, then you must have Level 2 of Source-File 4 in order to use this function. + + This function returns the amount of reputation you have for the specified faction. + +createProgram +------------- + +.. js:function:: createProgram(programName) + + :param string programName: Name of program to create. Not case-sensitive + + If you are not in BitNode-4, then you must have Level 3 of Source-File 4 in order to use this function. + + This function will automatically set you to start working on creating the specified program. If you are + already in the middle of some "working" action (such as working for a company, training at a gym, or taking a course), + then running this function will automatically cancel that action and give you your earnings. + + Example: + + createProgram("relaysmtp.exe"); + + Note that creating a program using this function has the same hacking level requirements as it normally would. These level requirements are: + + * BruteSSH.exe: 50 + * FTPCrack.exe: 100 + * relaySMTP.exe: 250 + * HTTPWorm.exe: 500 + * SQLInject.exe: 750 + * DeepscanV1.exe: 75 + * DeepscanV2.exe: 400 + * ServerProfiler.exe: 75 + * AutoLink.exe: 25 + + This function returns true if you successfully start working on the specified program, and false otherwise. + +commitCrime +----------- + +.. js:function::commitCrime(crime) + + :param string crime: + Name of crime to attempt. Not case-sensitive. This argument is fairly lenient in terms of what inputs it accepts. + Here is a list of valid inputs for all of the crimes: + + * shoplift + * rob store + * mug + * larceny + * deal drugs + * bond forgery + * traffick arms + * homicide + * grand theft auto + * kidnap + * assassinate + * heist + + If you are not in BitNode-4, then you must have Level 3 of Source-File 4 in order to use this function. + + This function is used to automatically attempt to commit crimes. If you are already in the middle of some 'working' action + (such as working for a company or training at a gym), then running this function will automatically cancel that action and give you your earnings. + + Note that crimes committed using this function will have all of their earnings halved (this applied for both money and experience!) + + This function returns the number of seconds it takes to attempt the specified crime (e.g It takes 60 seconds to attempt the 'Rob Store' crime, + so running *commitCrime('rob store')* will return 60). + + Warning: I do not recommend using the time returned from this function to try and schedule your crime attempts. + Instead, I would use the isBusy() Singularity function to check whether you have finished attempting a crime. + This is because although the game sets a certain crime to be X amount of seconds, there is no guarantee that your + browser will follow that time limit. + +getCrimeChance +-------------- + +.. js:function:: getCrimeChance(crime) + + :param string crime: + Name of crime. Not case-sensitive. This argument is fairlyn lenient in terms of what inputs it accepts. + Check the documentation for the *commitCrime()* function for a list of example inputs. + + If you are not in BitNode-4, then you must have Level 3 of Source-File 4 in order to use this function. + + This function returns your chance of success at commiting the specified crime. The chance is returned as a decimal (i.e. 60% would be returned as 0.6). + +getOwnedAugmentations +--------------------- + +.. js:function:: getOwnedAugmentations(purchased=false) + + :param boolean purchase: + Specifies whether the returned array should include Augmentations you have purchased but not yet installed. + By default, this argument is false which means that the return value will NOT have the purchased Augmentations. + + If you are not in BitNode-4, then you must have Level 3 of Source-File 4 in order to use this function. + + This function returns an array containing the names (as strings) of all Augmentations you have. + +getAugmentationsFromFaction +--------------------------- + +.. js:function:: getAugmentationsFromFaction(facName) + + :param string facName: Name of faction. CASE-SENSITIVE + + If you are not in BitNode-4, then you must have Level 3 of Source-File 4 in order to use this function. + + Returns an array containing the names (as strings) of all Augmentations that are available from the specified faction. + +getAugmentationCost +------------------- + +.. js:function:: getAugmentationCost(augName) + + :param string augName: Name of Augmentation. CASE-SENSITIVE + + If you are not in BitNode-4, then you must have Level 3 of Source-File 4 in order to use this function. + + This function returns an array with two elements that gives the cost for the specified Augmentation. + The first element in the returned array is the reputation requirement of the Augmentation, and the second element is the money cost. + + If an invalid Augmentation name is passed in for the *augName* argument, this function will return the array [-1, -1]. + +purchaseAugmentation +-------------------- + +.. js:function:: purchaseAugmentation(factionName, augName) + + :param string factionName: Name of faction to purchase Augmentation from. CASE-SENSITIVE + :param string augName: Name of Augmentation to purchase. CASE-SENSITIVE + + + If you are not in BitNode-4, then you must have Level 3 of Source-File 4 in order to use this function. + + This function will try to purchase the specified Augmentation through the given Faction. + + This function will return true if the Augmentation is successfully purchased, and false otherwise. + +installAugmentations +-------------------- + +.. js:function:: installAugmentations(cbScript) + + :param string cbScript: + Optional callback script. This is a script that will automatically be run after Augmentations are installed (after the reset). + This script will be run with no arguments and 1 thread. It must be located on your home computer. + + If you are not in BitNode-4, then you must have Level 3 of Source-File 4 in order to use this function. + + This function will automatically install your Augmentations, resetting the game as usual. + + It will return true if successful, and false otherwise. diff --git a/doc/build/html/_static/agogo.css b/doc/build/html/_static/agogo.css new file mode 100644 index 000000000..3ff9bd04b --- /dev/null +++ b/doc/build/html/_static/agogo.css @@ -0,0 +1,541 @@ +/* + * agogo.css_t + * ~~~~~~~~~~~ + * + * Sphinx stylesheet -- agogo theme. + * + * :copyright: Copyright 2007-2017 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ + +* { + margin: 0px; + padding: 0px; +} + +body { + font-family: "Verdana", Arial, sans-serif; + line-height: 1.4em; + color: black; + background-color: #eeeeec; +} + + +/* Page layout */ + +div.header, div.content, div.footer { + width: 70em; + margin-left: auto; + margin-right: auto; +} + +div.header-wrapper { + background: #555573 url(bgtop.png) top left repeat-x; + border-bottom: 3px solid #2e3436; +} + + +/* Default body styles */ +a { + color: #ce5c00; +} + +div.bodywrapper a, div.footer a { + text-decoration: underline; +} + +.clearer { + clear: both; +} + +.left { + float: left; +} + +.right { + float: right; +} + +.line-block { + display: block; + margin-top: 1em; + margin-bottom: 1em; +} + +.line-block .line-block { + margin-top: 0; + margin-bottom: 0; + margin-left: 1.5em; +} + +h1, h2, h3, h4 { + font-family: "Georgia", "Times New Roman", serif; + font-weight: normal; + color: #3465a4; + margin-bottom: .8em; +} + +h1 { + color: #204a87; +} + +h2 { + padding-bottom: .5em; + border-bottom: 1px solid #3465a4; +} + +a.headerlink { + visibility: hidden; + color: #dddddd; + padding-left: .3em; +} + +h1:hover > a.headerlink, +h2:hover > a.headerlink, +h3:hover > a.headerlink, +h4:hover > a.headerlink, +h5:hover > a.headerlink, +h6:hover > a.headerlink, +dt:hover > a.headerlink, +caption:hover > a.headerlink, +p.caption:hover > a.headerlink, +div.code-block-caption:hover > a.headerlink { + visibility: visible; +} + +img { + border: 0; +} + +div.admonition { + margin-top: 10px; + margin-bottom: 10px; + padding: 2px 7px 1px 7px; + border-left: 0.2em solid black; +} + +p.admonition-title { + margin: 0px 10px 5px 0px; + font-weight: bold; +} + +dt:target, .highlighted { + background-color: #fbe54e; +} + +/* Header */ + +div.header { + padding-top: 10px; + padding-bottom: 10px; +} + +div.header .headertitle { + font-family: "Georgia", "Times New Roman", serif; + font-weight: normal; + font-size: 180%; + letter-spacing: .08em; + margin-bottom: .8em; +} + +div.header .headertitle a { + color: white; +} + +div.header div.rel { + margin-top: 1em; +} + +div.header div.rel a { + color: #fcaf3e; + letter-spacing: .1em; + text-transform: uppercase; +} + +p.logo { + float: right; +} + +img.logo { + border: 0; +} + + +/* Content */ +div.content-wrapper { + background-color: white; + padding-top: 20px; + padding-bottom: 20px; +} + +div.document { + width: 50em; + float: left; +} + +div.body { + padding-right: 2em; + text-align: justify; +} + +div.document h1 { + line-height: 120%; +} + +div.document ul { + margin: 1.5em; + list-style-type: square; +} + +div.document dd { + margin-left: 1.2em; + margin-top: .4em; + margin-bottom: 1em; +} + +div.document .section { + margin-top: 1.7em; +} +div.document .section:first-child { + margin-top: 0px; +} + +div.document div.highlight { + padding: 3px; + background-color: #eeeeec; + border-top: 2px solid #dddddd; + border-bottom: 2px solid #dddddd; + margin-top: .8em; + margin-bottom: .8em; +} + +div.document div.literal-block-wrapper { + margin-top: .8em; + margin-bottom: .8em; +} + +div.document div.literal-block-wrapper div.highlight { + margin: 0; +} + +div.document div.code-block-caption span.caption-number { + padding: 0.1em 0.3em; + font-style: italic; +} + +div.document div.code-block-caption span.caption-text { +} + +div.document h2 { + margin-top: .7em; +} + +div.document p { + margin-bottom: .5em; +} + +div.document li.toctree-l1 { + margin-bottom: 1em; +} + +div.document .descname { + font-weight: bold; +} + +div.document .sig-paren { + font-size: larger; +} + +div.document .docutils.literal { + background-color: #eeeeec; + padding: 1px; +} + +div.document .docutils.xref.literal { + background-color: transparent; + padding: 0px; +} + +div.document blockquote { + margin: 1em; +} + +div.document ol { + margin: 1.5em; +} + + +/* Sidebar */ + +div.sidebar { + width: 20em; + position:fixed; + right: 10%; + height:75%; + font-size: .9em; + overflow-y:auto; +} +/* +div.sidebar { + width: 20em; + float: right; + font-size: .9em; +} +*/ + +div.sidebar a, div.header a { + text-decoration: none; +} + +div.sidebar a:hover, div.header a:hover { + text-decoration: underline; +} + +div.sidebar h3 { + color: #2e3436; + text-transform: uppercase; + font-size: 130%; + letter-spacing: .1em; +} + +div.sidebar ul { + list-style-type: none; +} + +div.sidebar li.toctree-l1 a { + display: block; + padding: 1px; + border: 1px solid #dddddd; + background-color: #eeeeec; + margin-bottom: .4em; + padding-left: 3px; + color: #2e3436; +} + +div.sidebar li.toctree-l2 a { + background-color: transparent; + border: none; + margin-left: 1em; + border-bottom: 1px solid #dddddd; +} + +div.sidebar li.toctree-l3 a { + background-color: transparent; + border: none; + margin-left: 2em; + border-bottom: 1px solid #dddddd; +} + +div.sidebar li.toctree-l2:last-child a { + border-bottom: none; +} + +div.sidebar li.toctree-l1.current a { + border-right: 5px solid #fcaf3e; +} + +div.sidebar li.toctree-l1.current li.toctree-l2 a { + border-right: none; +} + +div.sidebar input[type="text"] { + width: 170px; +} + +div.sidebar input[type="submit"] { + width: 30px; +} + + +/* Footer */ + +div.footer-wrapper { + background: url(bgfooter.png) top left repeat-x; + border-top: 4px solid #babdb6; + padding-top: 10px; + padding-bottom: 10px; + min-height: 80px; +} + +div.footer, div.footer a { + color: #888a85; +} + +div.footer .right { + text-align: right; +} + +div.footer .left { + text-transform: uppercase; +} + + +/* Styles copied from basic theme */ + +img.align-left, .figure.align-left, object.align-left { + clear: left; + float: left; + margin-right: 1em; +} + +img.align-right, .figure.align-right, object.align-right { + clear: right; + float: right; + margin-left: 1em; +} + +img.align-center, .figure.align-center, object.align-center { + display: block; + margin-left: auto; + margin-right: auto; +} + +.align-left { + text-align: left; +} + +.align-center { + text-align: center; +} + +.align-right { + text-align: right; +} + +table caption span.caption-number { + font-style: italic; +} + +table caption span.caption-text { +} + +div.figure p.caption span.caption-number { + font-style: italic; +} + +div.figure p.caption span.caption-text { +} + +/* -- search page ----------------------------------------------------------- */ + +ul.search { + margin: 10px 0 0 20px; + padding: 0; +} + +ul.search li { + padding: 5px 0 5px 20px; + background-image: url(file.png); + background-repeat: no-repeat; + background-position: 0 7px; +} + +ul.search li a { + font-weight: bold; +} + +ul.search li div.context { + color: #888; + margin: 2px 0 0 30px; + text-align: left; +} + +ul.keywordmatches li.goodmatch a { + font-weight: bold; +} + +/* -- index page ------------------------------------------------------------ */ + +table.contentstable { + width: 90%; +} + +table.contentstable p.biglink { + line-height: 150%; +} + +a.biglink { + font-size: 1.3em; +} + +span.linkdescr { + font-style: italic; + padding-top: 5px; + font-size: 90%; +} + +/* -- general index --------------------------------------------------------- */ + +table.indextable td { + text-align: left; + vertical-align: top; +} + +table.indextable ul { + margin-top: 0; + margin-bottom: 0; + list-style-type: none; +} + +table.indextable > tbody > tr > td > ul { + padding-left: 0em; +} + +table.indextable tr.pcap { + height: 10px; +} + +table.indextable tr.cap { + margin-top: 10px; + background-color: #f2f2f2; +} + +img.toggler { + margin-right: 3px; + margin-top: 3px; + cursor: pointer; +} + +/* -- domain module index --------------------------------------------------- */ + +table.modindextable td { + padding: 2px; + border-collapse: collapse; +} + +/* -- viewcode extension ---------------------------------------------------- */ + +.viewcode-link { + float: right; +} + +.viewcode-back { + float: right; + font-family:: "Verdana", Arial, sans-serif; +} + +div.viewcode-block:target { + margin: -1px -3px; + padding: 0 3px; + background-color: #f4debf; + border-top: 1px solid #ac9; + border-bottom: 1px solid #ac9; +} + +div.code-block-caption { + background-color: #ddd; + color: #333; + padding: 2px 5px; + font-size: small; +} + +/* -- math display ---------------------------------------------------------- */ + +div.body div.math p { + text-align: center; +} + +span.eqno { + float: right; +} diff --git a/doc/build/html/_static/ajax-loader.gif b/doc/build/html/_static/ajax-loader.gif new file mode 100644 index 0000000000000000000000000000000000000000..61faf8cab23993bd3e1560bff0668bd628642330 GIT binary patch literal 673 zcmZ?wbhEHb6krfw_{6~Q|Nno%(3)e{?)x>&1u}A`t?OF7Z|1gRivOgXi&7IyQd1Pl zGfOfQ60;I3a`F>X^fL3(@);C=vM_KlFfb_o=k{|A33hf2a5d61U}gjg=>Rd%XaNQW zW@Cw{|b%Y*pl8F?4B9 zlo4Fz*0kZGJabY|>}Okf0}CCg{u4`zEPY^pV?j2@h+|igy0+Kz6p;@SpM4s6)XEMg z#3Y4GX>Hjlml5ftdH$4x0JGdn8~MX(U~_^d!Hi)=HU{V%g+mi8#UGbE-*ao8f#h+S z2a0-5+vc7MU$e-NhmBjLIC1v|)9+Im8x1yacJ7{^tLX(ZhYi^rpmXm0`@ku9b53aN zEXH@Y3JaztblgpxbJt{AtE1ad1Ca>{v$rwwvK(>{m~Gf_=-Ro7Fk{#;i~+{{>QtvI yb2P8Zac~?~=sRA>$6{!(^3;ZP0TPFR(G_-UDU(8Jl0?(IXu$~#4A!880|o%~Al1tN literal 0 HcmV?d00001 diff --git a/doc/build/html/_static/basic.css b/doc/build/html/_static/basic.css new file mode 100644 index 000000000..90acfde50 --- /dev/null +++ b/doc/build/html/_static/basic.css @@ -0,0 +1,639 @@ +/* + * basic.css + * ~~~~~~~~~ + * + * Sphinx stylesheet -- basic theme. + * + * :copyright: Copyright 2007-2017 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ + +/* -- main layout ----------------------------------------------------------- */ + +div.clearer { + clear: both; +} + +/* -- relbar ---------------------------------------------------------------- */ + +div.related { + width: 100%; + font-size: 90%; +} + +div.related h3 { + display: none; +} + +div.related ul { + margin: 0; + padding: 0 0 0 10px; + list-style: none; +} + +div.related li { + display: inline; +} + +div.related li.right { + float: right; + margin-right: 5px; +} + +/* -- sidebar --------------------------------------------------------------- */ + +div.sphinxsidebarwrapper { + padding: 10px 5px 0 10px; +} + +div.sphinxsidebar { + float: left; + width: 0px; + margin-left: -100%; + font-size: 90%; + word-wrap: break-word; + overflow-wrap : break-word; +} + +div.sphinxsidebar ul { + list-style: none; +} + +div.sphinxsidebar ul ul, +div.sphinxsidebar ul.want-points { + margin-left: 20px; + list-style: square; +} + +div.sphinxsidebar ul ul { + margin-top: 0; + margin-bottom: 0; +} + +div.sphinxsidebar form { + margin-top: 10px; +} + +div.sphinxsidebar input { + border: 1px solid #98dbcc; + font-family: sans-serif; + font-size: 1em; +} + +div.sphinxsidebar #searchbox input[type="text"] { + width: 170px; +} + +img { + border: 0; + max-width: 100%; +} + +/* -- search page ----------------------------------------------------------- */ + +ul.search { + margin: 10px 0 0 20px; + padding: 0; +} + +ul.search li { + padding: 5px 0 5px 20px; + background-image: url(file.png); + background-repeat: no-repeat; + background-position: 0 7px; +} + +ul.search li a { + font-weight: bold; +} + +ul.search li div.context { + color: #888; + margin: 2px 0 0 30px; + text-align: left; +} + +ul.keywordmatches li.goodmatch a { + font-weight: bold; +} + +/* -- index page ------------------------------------------------------------ */ + +table.contentstable { + width: 90%; + margin-left: auto; + margin-right: auto; +} + +table.contentstable p.biglink { + line-height: 150%; +} + +a.biglink { + font-size: 1.3em; +} + +span.linkdescr { + font-style: italic; + padding-top: 5px; + font-size: 90%; +} + +/* -- general index --------------------------------------------------------- */ + +table.indextable { + width: 100%; +} + +table.indextable td { + text-align: left; + vertical-align: top; +} + +table.indextable ul { + margin-top: 0; + margin-bottom: 0; + list-style-type: none; +} + +table.indextable > tbody > tr > td > ul { + padding-left: 0em; +} + +table.indextable tr.pcap { + height: 10px; +} + +table.indextable tr.cap { + margin-top: 10px; + background-color: #f2f2f2; +} + +img.toggler { + margin-right: 3px; + margin-top: 3px; + cursor: pointer; +} + +div.modindex-jumpbox { + border-top: 1px solid #ddd; + border-bottom: 1px solid #ddd; + margin: 1em 0 1em 0; + padding: 0.4em; +} + +div.genindex-jumpbox { + border-top: 1px solid #ddd; + border-bottom: 1px solid #ddd; + margin: 1em 0 1em 0; + padding: 0.4em; +} + +/* -- domain module index --------------------------------------------------- */ + +table.modindextable td { + padding: 2px; + border-collapse: collapse; +} + +/* -- general body styles --------------------------------------------------- */ + +div.body p, div.body dd, div.body li, div.body blockquote { + -moz-hyphens: auto; + -ms-hyphens: auto; + -webkit-hyphens: auto; + hyphens: auto; +} + +a.headerlink { + visibility: hidden; +} + +h1:hover > a.headerlink, +h2:hover > a.headerlink, +h3:hover > a.headerlink, +h4:hover > a.headerlink, +h5:hover > a.headerlink, +h6:hover > a.headerlink, +dt:hover > a.headerlink, +caption:hover > a.headerlink, +p.caption:hover > a.headerlink, +div.code-block-caption:hover > a.headerlink { + visibility: visible; +} + +div.body p.caption { + text-align: inherit; +} + +div.body td { + text-align: left; +} + +.first { + margin-top: 0 !important; +} + +p.rubric { + margin-top: 30px; + font-weight: bold; +} + +img.align-left, .figure.align-left, object.align-left { + clear: left; + float: left; + margin-right: 1em; +} + +img.align-right, .figure.align-right, object.align-right { + clear: right; + float: right; + margin-left: 1em; +} + +img.align-center, .figure.align-center, object.align-center { + display: block; + margin-left: auto; + margin-right: auto; +} + +.align-left { + text-align: left; +} + +.align-center { + text-align: center; +} + +.align-right { + text-align: right; +} + +/* -- sidebars -------------------------------------------------------------- */ + +div.sidebar { + margin: 0 0 0.5em 1em; + border: 1px solid #ddb; + padding: 7px 7px 0 7px; + background-color: #ffe; + width: 40%; + float: right; +} + +p.sidebar-title { + font-weight: bold; +} + +/* -- topics ---------------------------------------------------------------- */ + +div.topic { + border: 1px solid #ccc; + padding: 7px 7px 0 7px; + margin: 10px 0 10px 0; +} + +p.topic-title { + font-size: 1.1em; + font-weight: bold; + margin-top: 10px; +} + +/* -- admonitions ----------------------------------------------------------- */ + +div.admonition { + margin-top: 10px; + margin-bottom: 10px; + padding: 7px; +} + +div.admonition dt { + font-weight: bold; +} + +div.admonition dl { + margin-bottom: 0; +} + +p.admonition-title { + margin: 0px 10px 5px 0px; + font-weight: bold; +} + +div.body p.centered { + text-align: center; + margin-top: 25px; +} + +/* -- tables ---------------------------------------------------------------- */ + +table.docutils { + border: 0; + border-collapse: collapse; +} + +table caption span.caption-number { + font-style: italic; +} + +table caption span.caption-text { +} + +table.docutils td, table.docutils th { + padding: 1px 8px 1px 5px; + border-top: 0; + border-left: 0; + border-right: 0; + border-bottom: 1px solid #aaa; +} + +table.footnote td, table.footnote th { + border: 0 !important; +} + +th { + text-align: left; + padding-right: 5px; +} + +table.citation { + border-left: solid 1px gray; + margin-left: 1px; +} + +table.citation td { + border-bottom: none; +} + +/* -- figures --------------------------------------------------------------- */ + +div.figure { + margin: 0.5em; + padding: 0.5em; +} + +div.figure p.caption { + padding: 0.3em; +} + +div.figure p.caption span.caption-number { + font-style: italic; +} + +div.figure p.caption span.caption-text { +} + +/* -- field list styles ----------------------------------------------------- */ + +table.field-list td, table.field-list th { + border: 0 !important; +} + +.field-list ul { + margin: 0; + padding-left: 1em; +} + +.field-list p { + margin: 0; +} + +.field-name { + -moz-hyphens: manual; + -ms-hyphens: manual; + -webkit-hyphens: manual; + hyphens: manual; +} + +/* -- other body styles ----------------------------------------------------- */ + +ol.arabic { + list-style: decimal; +} + +ol.loweralpha { + list-style: lower-alpha; +} + +ol.upperalpha { + list-style: upper-alpha; +} + +ol.lowerroman { + list-style: lower-roman; +} + +ol.upperroman { + list-style: upper-roman; +} + +dl { + margin-bottom: 15px; +} + +dd p { + margin-top: 0px; +} + +dd ul, dd table { + margin-bottom: 10px; +} + +dd { + margin-top: 3px; + margin-bottom: 10px; + margin-left: 30px; +} + +dt:target, .highlighted { + background-color: #fbe54e; +} + +dl.glossary dt { + font-weight: bold; + font-size: 1.1em; +} + +.optional { + font-size: 1.3em; +} + +.sig-paren { + font-size: larger; +} + +.versionmodified { + font-style: italic; +} + +.system-message { + background-color: #fda; + padding: 5px; + border: 3px solid red; +} + +.footnote:target { + background-color: #ffa; +} + +.line-block { + display: block; + margin-top: 1em; + margin-bottom: 1em; +} + +.line-block .line-block { + margin-top: 0; + margin-bottom: 0; + margin-left: 1.5em; +} + +.guilabel, .menuselection { + font-family: sans-serif; +} + +.accelerator { + text-decoration: underline; +} + +.classifier { + font-style: oblique; +} + +abbr, acronym { + border-bottom: dotted 1px; + cursor: help; +} + +/* -- code displays --------------------------------------------------------- */ + +pre { + overflow: auto; + overflow-y: hidden; /* fixes display issues on Chrome browsers */ +} + +span.pre { + -moz-hyphens: none; + -ms-hyphens: none; + -webkit-hyphens: none; + hyphens: none; +} + +td.linenos pre { + padding: 5px 0px; + border: 0; + background-color: transparent; + color: #aaa; +} + +table.highlighttable { + margin-left: 0.5em; +} + +table.highlighttable td { + padding: 0 0.5em 0 0.5em; +} + +div.code-block-caption { + padding: 2px 5px; + font-size: small; +} + +div.code-block-caption code { + background-color: transparent; +} + +div.code-block-caption + div > div.highlight > pre { + margin-top: 0; +} + +div.code-block-caption span.caption-number { + padding: 0.1em 0.3em; + font-style: italic; +} + +div.code-block-caption span.caption-text { +} + +div.literal-block-wrapper { + padding: 1em 1em 0; +} + +div.literal-block-wrapper div.highlight { + margin: 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; +} + +h1 code, h2 code, h3 code, h4 code, h5 code, h6 code { + background-color: transparent; +} + +.viewcode-link { + float: right; +} + +.viewcode-back { + float: right; + font-family: sans-serif; +} + +div.viewcode-block:target { + margin: -1px -10px; + padding: 0 10px; +} + +/* -- math display ---------------------------------------------------------- */ + +img.math { + vertical-align: middle; +} + +div.body div.math p { + text-align: center; +} + +span.eqno { + float: right; +} + +span.eqno a.headerlink { + position: relative; + left: 0px; + z-index: 1; +} + +div.math:hover a.headerlink { + visibility: visible; +} + +/* -- printout stylesheet --------------------------------------------------- */ + +@media print { + div.document, + div.documentwrapper, + div.bodywrapper { + margin: 0 !important; + width: 100%; + } + + div.sphinxsidebar, + div.related, + div.footer, + #top-link { + display: none; + } +} \ No newline at end of file diff --git a/doc/build/html/_static/bgfooter.png b/doc/build/html/_static/bgfooter.png new file mode 100644 index 0000000000000000000000000000000000000000..b7c7cadd4e6978aa7081fe672fcf5afc97516bda GIT binary patch literal 276 zcmV+v0qg#WP)qvnR6EfsQ*t~7O=UY2%BZy- zs#7>Lw$#|1-#yb5jZ8}CcXenmE?Bb?+emvZy3eu4G&!aT9i`%Ot1U0%(#mRx?NNc)^t8TJHA0R4$Di^IIL4X9&MVm&N-9#bE;?}xqq}wTrc0WUU#YK z#2JfT+O{=ipwX3&j4H~AegD$wD(9Ee_Le?vx(rq^B%Dj?^+nzae0J!bK00|W&N)Yz aUi|<^NiO;Hz(H~V0000P0IhA`JcOe?|*M3M!YD+&^mI=Y=U~-8S>8l1XAJ*3?jZZ Q8UO$Q07*qoM6N<$f;!4|TmS$7 literal 0 HcmV?d00001 diff --git a/doc/build/html/_static/comment-bright.png b/doc/build/html/_static/comment-bright.png new file mode 100644 index 0000000000000000000000000000000000000000..15e27edb12ac25701ac0ac21b97b52bb4e45415e GIT binary patch literal 756 zcmVgfIX78 z$8Pzv({A~p%??+>KickCb#0FM1rYN=mBmQ&Nwp<#JXUhU;{|)}%&s>suq6lXw*~s{ zvHx}3C%<;wE5CH!BR{p5@ml9ws}y)=QN-kL2?#`S5d*6j zk`h<}j1>tD$b?4D^N9w}-k)bxXxFg>+#kme^xx#qg6FI-%iv2U{0h(Y)cs%5a|m%Pn_K3X_bDJ>EH#(Fb73Z zfUt2Q3B>N+ot3qb*DqbTZpFIn4a!#_R-}{?-~Hs=xSS6p&$sZ-k1zDdtqU`Y@`#qL z&zv-~)Q#JCU(dI)Hf;$CEnK=6CK50}q7~wdbI->?E07bJ0R;!GSQTs5Am`#;*WHjvHRvY?&$Lm-vq1a_BzocI^ULXV!lbMd%|^B#fY;XX)n<&R^L z=84u1e_3ziq;Hz-*k5~zwY3*oDKt0;bM@M@@89;@m*4RFgvvM_4;5LB!@OB@^WbVT zjl{t;a8_>od-~P4 m{5|DvB&z#xT;*OnJqG}gk~_7HcNkCr0000W zanA~u9RIXo;n7c96&U)YLgs-FGlx~*_c{Jgvesu1E5(8YEf&5wF=YFPcRe@1=MJmi zag(L*xc2r0(slpcN!vC5CUju;vHJkHc*&70_n2OZsK%O~A=!+YIw z7zLLl7~Z+~RgWOQ=MI6$#0pvpu$Q43 zP@36QAmu6!_9NPM?o<1_!+stoVRRZbW9#SPe!n;#A_6m8f}|xN1;H{`0RoXQ2LM47 zt(g;iZ6|pCb@h2xk&(}S3=EVBUO0e90m2Lp5CB<(SPIaB;n4))3JB87Or#XPOPcum z?<^(g+m9}VNn4Y&B`g8h{t_$+RB1%HKRY6fjtd-<7&EsU;vs0GM(Lmbhi%Gwcfs0FTF}T zL{_M6Go&E0Eg8FuB*(Yn+Z*RVTBE@10eIOb3El^MhO`GabDll(V0&FlJi2k^;q8af zkENdk2}x2)_KVp`5OAwXZM;dG0?M-S)xE1IKDi6BY@5%Or?#aZ9$gcX)dPZ&wA1a< z$rFXHPn|TBf`e?>Are8sKtKrKcjF$i^lp!zkL?C|y^vlHr1HXeVJd;1I~g&Ob-q)& z(fn7s-KI}G{wnKzg_U5G(V%bX6uk zIa+<@>rdmZYd!9Y=C0cuchrbIjuRB_Wq{-RXlic?flu1*_ux}x%(HDH&nT`k^xCeC ziHi1!ChH*sQ6|UqJpTTzX$aw8e(UfcS^f;6yBWd+(1-70zU(rtxtqR%j z-lsH|CKQJXqD{+F7V0OTv8@{~(wp(`oIP^ZykMWgR>&|RsklFMCnOo&Bd{le} zV5F6424Qzl;o2G%oVvmHgRDP9!=rK8fy^!yV8y*4p=??uIRrrr0?>O!(z*g5AvL2!4z0{sq%vhG*Po}`a<6%kTK5TNhtC8}rXNu&h^QH4A&Sk~Autm*s~45(H7+0bi^MraaRVzr05hQ3iK?j` zR#U@^i0WhkIHTg29u~|ypU?sXCQEQgXfObPW;+0YAF;|5XyaMAEM0sQ@4-xCZe=0e z7r$ofiAxn@O5#RodD8rh5D@nKQ;?lcf@tg4o+Wp44aMl~c47azN_(im0N)7OqdPBC zGw;353_o$DqGRDhuhU$Eaj!@m000000NkvXXu0mjfjZ7Z_ literal 0 HcmV?d00001 diff --git a/doc/build/html/_static/doctools.js b/doc/build/html/_static/doctools.js new file mode 100644 index 000000000..565497723 --- /dev/null +++ b/doc/build/html/_static/doctools.js @@ -0,0 +1,287 @@ +/* + * doctools.js + * ~~~~~~~~~~~ + * + * Sphinx JavaScript utilities for all documentation. + * + * :copyright: Copyright 2007-2017 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ + +/** + * 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]; + } + return result; +}; + +/** + * highlight a given string on a jquery object by wrapping it in + * span elements with the given class name. + */ +jQuery.fn.highlightText = function(text, className) { + function highlight(node) { + if (node.nodeType == 3) { + var val = node.nodeValue; + var pos = val.toLowerCase().indexOf(text); + if (pos >= 0 && !jQuery(node.parentNode).hasClass(className)) { + var span = document.createElement("span"); + span.className = className; + span.appendChild(document.createTextNode(val.substr(pos, text.length))); + node.parentNode.insertBefore(span, node.parentNode.insertBefore( + document.createTextNode(val.substr(pos + text.length)), + node.nextSibling)); + node.nodeValue = val.substr(0, pos); + } + } + else if (!jQuery(node).is("button, select, textarea")) { + jQuery.each(node.childNodes, function() { + highlight(this); + }); + } + } + return this.each(function() { + highlight(this); + }); +}; + +/* + * 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; +} + +/** + * Small JavaScript module for the documentation. + */ +var Documentation = { + + init : function() { + this.fixFirefoxAnchorBug(); + this.highlightSearchWords(); + this.initIndexTable(); + + }, + + /** + * i18n support + */ + TRANSLATIONS : {}, + PLURAL_EXPR : function(n) { return 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; + }, + + /** + * 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); + }); + }, + + /** + * workaround a firefox stupidity + * see: https://bugzilla.mozilla.org/show_bug.cgi?id=645075 + */ + fixFirefoxAnchorBug : function() { + if (document.location.hash) + window.setTimeout(function() { + document.location.href += ''; + }, 10); + }, + + /** + * 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); + $('