Page MenuHomeWildfire Games

Update sprintf.js library
ClosedPublic

Authored by elexis on Nov 13 2019, 2:38 PM.

Details

Summary

While working on D2412 I discovered a SpiderMonkey segfault described in #5636.

As of rP22856 one can trigger a segfault with this optimization:

diff --git a/binaries/data/mods/public/gui/lobby/lobby.js b/binaries/data/mods/public/gui/lobby/lobby.js
index 66a3de4d14..aaa4df4dbe 100644
--- a/binaries/data/mods/public/gui/lobby/lobby.js
+++ b/binaries/data/mods/public/gui/lobby/lobby.js
@@ -196,9 +196,7 @@ var g_NetMessageTypes = {
                },
                "leave": msg => {
                        addChatMessage({
-                               "text": "/special " + sprintf(translate("%(nick)s has left."), {
-                                       "nick": msg.nick
-                               }),
+                               "text": "/special " + sprintf(translate("%(nick)s has left."), msg),
                                "time": msg.time,
                                "isSpecial": true
                        });

It seems to be a SpiderMonkey segfault as described in the ticket.

Updating the sprintf file removes the triggering of the segfault, so the optimization could be used then, and the crash can still be reproduced reliably (by reverting this), fixed and confirmed.
The update won't hide the bug nor make it harder to fix, but it allows using that optimization before.

As described in the ticket, it was this sprintf changeset in particular https://github.com/alexei/sprintf.js/commit/61c795624204883948c0e19f8af208f5359e6fdb#diff-13ed28d46a5f76f4d44561850bda81bb

diff --git a/src/sprintf.js b/src/sprintf.js
index ccb78d8..1ade05d 100644
--- a/src/sprintf.js
+++ b/src/sprintf.js
@@ -41,7 +41,7 @@
                 if (ph.keys) { // keyword argument
                     arg = argv[cursor]
                     for (k = 0; k < ph.keys.length; k++) {
-                        if (!arg.hasOwnProperty(ph.keys[k])) {
+                        if (arg[ph.keys[k]] === undefined) {
                             throw new Error(sprintf('[sprintf] property "%s" does not exist', ph.keys[k]))
                         }
                         arg = arg[ph.keys[k]]
Test Plan

Open every GUI page and see that sprintf doesn't complain. Check exotic sprintf arguments, for example double percent or the fps counter.

Read through the revision history, identify changes.
Try to assess security risks.

Diff Detail

Repository
rP 0 A.D. Public Repository
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

elexis created this revision.Nov 13 2019, 2:38 PM
elexis updated the Trac tickets for this revision.Nov 13 2019, 2:39 PM

Successful build - Chance fights ever on the side of the prudent.

Linter detected issues:
Executing section Source...
Executing section JS...
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 0 tabs but found 4 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|  30|  30| **/
|  31|  31| 
|  32|  32| (function(window) {
|  33|    |-    'use strict'
|    |  33|+'use strict'
|  34|  34| 
|  35|  35| 	var re = {
|  36|  36|             not_string: /[^s]/,
|    | [NORMAL] ESLintBear (semi):
|    | Missing semicolon.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|  30|  30| **/
|  31|  31| 
|  32|  32| (function(window) {
|  33|    |-    'use strict'
|    |  33|+    'use strict';
|  34|  34| 
|  35|  35| 	var re = {
|  36|  36|             not_string: /[^s]/,
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 0 tabs but found 1.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|  32|  32| (function(window) {
|  33|  33|     'use strict'
|  34|  34| 
|  35|    |-	var re = {
|    |  35|+var re = {
|  36|  36|             not_string: /[^s]/,
|  37|  37|             not_bool: /[^t]/,
|  38|  38|             not_type: /[^T]/,
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 1 tab but found 12 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|  33|  33|     'use strict'
|  34|  34| 
|  35|  35| 	var re = {
|  36|    |-            not_string: /[^s]/,
|    |  36|+	not_string: /[^s]/,
|  37|  37|             not_bool: /[^t]/,
|  38|  38|             not_type: /[^T]/,
|  39|  39|             not_primitive: /[^v]/,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'not_string' found.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|  33|  33|     'use strict'
|  34|  34| 
|  35|  35| 	var re = {
|  36|    |-            not_string: /[^s]/,
|    |  36|+            "not_string": /[^s]/,
|  37|  37|             not_bool: /[^t]/,
|  38|  38|             not_type: /[^T]/,
|  39|  39|             not_primitive: /[^v]/,
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 1 tab but found 12 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|  34|  34| 
|  35|  35| 	var re = {
|  36|  36|             not_string: /[^s]/,
|  37|    |-            not_bool: /[^t]/,
|    |  37|+	not_bool: /[^t]/,
|  38|  38|             not_type: /[^T]/,
|  39|  39|             not_primitive: /[^v]/,
|  40|  40|             number: /[diefg]/,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'not_bool' found.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|  34|  34| 
|  35|  35| 	var re = {
|  36|  36|             not_string: /[^s]/,
|  37|    |-            not_bool: /[^t]/,
|    |  37|+            "not_bool": /[^t]/,
|  38|  38|             not_type: /[^T]/,
|  39|  39|             not_primitive: /[^v]/,
|  40|  40|             number: /[diefg]/,
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 1 tab but found 12 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|  35|  35| 	var re = {
|  36|  36|             not_string: /[^s]/,
|  37|  37|             not_bool: /[^t]/,
|  38|    |-            not_type: /[^T]/,
|    |  38|+	not_type: /[^T]/,
|  39|  39|             not_primitive: /[^v]/,
|  40|  40|             number: /[diefg]/,
|  41|  41|             numeric_arg: /[bcdiefguxX]/,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'not_type' found.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|  35|  35| 	var re = {
|  36|  36|             not_string: /[^s]/,
|  37|  37|             not_bool: /[^t]/,
|  38|    |-            not_type: /[^T]/,
|    |  38|+            "not_type": /[^T]/,
|  39|  39|             not_primitive: /[^v]/,
|  40|  40|             number: /[diefg]/,
|  41|  41|             numeric_arg: /[bcdiefguxX]/,
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 1 tab but found 12 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|  36|  36|             not_string: /[^s]/,
|  37|  37|             not_bool: /[^t]/,
|  38|  38|             not_type: /[^T]/,
|  39|    |-            not_primitive: /[^v]/,
|    |  39|+	not_primitive: /[^v]/,
|  40|  40|             number: /[diefg]/,
|  41|  41|             numeric_arg: /[bcdiefguxX]/,
|  42|  42|             json: /[j]/,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'not_primitive' found.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|  36|  36|             not_string: /[^s]/,
|  37|  37|             not_bool: /[^t]/,
|  38|  38|             not_type: /[^T]/,
|  39|    |-            not_primitive: /[^v]/,
|    |  39|+            "not_primitive": /[^v]/,
|  40|  40|             number: /[diefg]/,
|  41|  41|             numeric_arg: /[bcdiefguxX]/,
|  42|  42|             json: /[j]/,
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 1 tab but found 12 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|  37|  37|             not_bool: /[^t]/,
|  38|  38|             not_type: /[^T]/,
|  39|  39|             not_primitive: /[^v]/,
|  40|    |-            number: /[diefg]/,
|    |  40|+	number: /[diefg]/,
|  41|  41|             numeric_arg: /[bcdiefguxX]/,
|  42|  42|             json: /[j]/,
|  43|  43|             not_json: /[^j]/,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'number' found.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|  37|  37|             not_bool: /[^t]/,
|  38|  38|             not_type: /[^T]/,
|  39|  39|             not_primitive: /[^v]/,
|  40|    |-            number: /[diefg]/,
|    |  40|+            "number": /[diefg]/,
|  41|  41|             numeric_arg: /[bcdiefguxX]/,
|  42|  42|             json: /[j]/,
|  43|  43|             not_json: /[^j]/,
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 1 tab but found 12 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|  38|  38|             not_type: /[^T]/,
|  39|  39|             not_primitive: /[^v]/,
|  40|  40|             number: /[diefg]/,
|  41|    |-            numeric_arg: /[bcdiefguxX]/,
|    |  41|+	numeric_arg: /[bcdiefguxX]/,
|  42|  42|             json: /[j]/,
|  43|  43|             not_json: /[^j]/,
|  44|  44|             text: /^[^\x25]+/,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'numeric_arg' found.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|  38|  38|             not_type: /[^T]/,
|  39|  39|             not_primitive: /[^v]/,
|  40|  40|             number: /[diefg]/,
|  41|    |-            numeric_arg: /[bcdiefguxX]/,
|    |  41|+            "numeric_arg": /[bcdiefguxX]/,
|  42|  42|             json: /[j]/,
|  43|  43|             not_json: /[^j]/,
|  44|  44|             text: /^[^\x25]+/,
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 1 tab but found 12 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|  39|  39|             not_primitive: /[^v]/,
|  40|  40|             number: /[diefg]/,
|  41|  41|             numeric_arg: /[bcdiefguxX]/,
|  42|    |-            json: /[j]/,
|    |  42|+	json: /[j]/,
|  43|  43|             not_json: /[^j]/,
|  44|  44|             text: /^[^\x25]+/,
|  45|  45|             modulo: /^\x25{2}/,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'json' found.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|  39|  39|             not_primitive: /[^v]/,
|  40|  40|             number: /[diefg]/,
|  41|  41|             numeric_arg: /[bcdiefguxX]/,
|  42|    |-            json: /[j]/,
|    |  42|+            "json": /[j]/,
|  43|  43|             not_json: /[^j]/,
|  44|  44|             text: /^[^\x25]+/,
|  45|  45|             modulo: /^\x25{2}/,
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 1 tab but found 12 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|  40|  40|             number: /[diefg]/,
|  41|  41|             numeric_arg: /[bcdiefguxX]/,
|  42|  42|             json: /[j]/,
|  43|    |-            not_json: /[^j]/,
|    |  43|+	not_json: /[^j]/,
|  44|  44|             text: /^[^\x25]+/,
|  45|  45|             modulo: /^\x25{2}/,
|  46|  46|             placeholder: /^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'not_json' found.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|  40|  40|             number: /[diefg]/,
|  41|  41|             numeric_arg: /[bcdiefguxX]/,
|  42|  42|             json: /[j]/,
|  43|    |-            not_json: /[^j]/,
|    |  43|+            "not_json": /[^j]/,
|  44|  44|             text: /^[^\x25]+/,
|  45|  45|             modulo: /^\x25{2}/,
|  46|  46|             placeholder: /^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 1 tab but found 12 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|  41|  41|             numeric_arg: /[bcdiefguxX]/,
|  42|  42|             json: /[j]/,
|  43|  43|             not_json: /[^j]/,
|  44|    |-            text: /^[^\x25]+/,
|    |  44|+	text: /^[^\x25]+/,
|  45|  45|             modulo: /^\x25{2}/,
|  46|  46|             placeholder: /^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,
|  47|  47|             key: /^([a-z_][a-z_\d]*)/i,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'text' found.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|  41|  41|             numeric_arg: /[bcdiefguxX]/,
|  42|  42|             json: /[j]/,
|  43|  43|             not_json: /[^j]/,
|  44|    |-            text: /^[^\x25]+/,
|    |  44|+            "text": /^[^\x25]+/,
|  45|  45|             modulo: /^\x25{2}/,
|  46|  46|             placeholder: /^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,
|  47|  47|             key: /^([a-z_][a-z_\d]*)/i,
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 1 tab but found 12 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|  42|  42|             json: /[j]/,
|  43|  43|             not_json: /[^j]/,
|  44|  44|             text: /^[^\x25]+/,
|  45|    |-            modulo: /^\x25{2}/,
|    |  45|+	modulo: /^\x25{2}/,
|  46|  46|             placeholder: /^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,
|  47|  47|             key: /^([a-z_][a-z_\d]*)/i,
|  48|  48|             key_access: /^\.([a-z_][a-z_\d]*)/i,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'modulo' found.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|  42|  42|             json: /[j]/,
|  43|  43|             not_json: /[^j]/,
|  44|  44|             text: /^[^\x25]+/,
|  45|    |-            modulo: /^\x25{2}/,
|    |  45|+            "modulo": /^\x25{2}/,
|  46|  46|             placeholder: /^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,
|  47|  47|             key: /^([a-z_][a-z_\d]*)/i,
|  48|  48|             key_access: /^\.([a-z_][a-z_\d]*)/i,
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 1 tab but found 12 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|  43|  43|             not_json: /[^j]/,
|  44|  44|             text: /^[^\x25]+/,
|  45|  45|             modulo: /^\x25{2}/,
|  46|    |-            placeholder: /^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,
|    |  46|+	placeholder: /^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,
|  47|  47|             key: /^([a-z_][a-z_\d]*)/i,
|  48|  48|             key_access: /^\.([a-z_][a-z_\d]*)/i,
|  49|  49|             index_access: /^\[(\d+)\]/,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'placeholder' found.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|  43|  43|             not_json: /[^j]/,
|  44|  44|             text: /^[^\x25]+/,
|  45|  45|             modulo: /^\x25{2}/,
|  46|    |-            placeholder: /^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,
|    |  46|+            "placeholder": /^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,
|  47|  47|             key: /^([a-z_][a-z_\d]*)/i,
|  48|  48|             key_access: /^\.([a-z_][a-z_\d]*)/i,
|  49|  49|             index_access: /^\[(\d+)\]/,
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 1 tab but found 12 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|  44|  44|             text: /^[^\x25]+/,
|  45|  45|             modulo: /^\x25{2}/,
|  46|  46|             placeholder: /^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,
|  47|    |-            key: /^([a-z_][a-z_\d]*)/i,
|    |  47|+	key: /^([a-z_][a-z_\d]*)/i,
|  48|  48|             key_access: /^\.([a-z_][a-z_\d]*)/i,
|  49|  49|             index_access: /^\[(\d+)\]/,
|  50|  50|             sign: /^[+-]/
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'key' found.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|  44|  44|             text: /^[^\x25]+/,
|  45|  45|             modulo: /^\x25{2}/,
|  46|  46|             placeholder: /^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,
|  47|    |-            key: /^([a-z_][a-z_\d]*)/i,
|    |  47|+            "key": /^([a-z_][a-z_\d]*)/i,
|  48|  48|             key_access: /^\.([a-z_][a-z_\d]*)/i,
|  49|  49|             index_access: /^\[(\d+)\]/,
|  50|  50|             sign: /^[+-]/
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 1 tab but found 12 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|  45|  45|             modulo: /^\x25{2}/,
|  46|  46|             placeholder: /^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,
|  47|  47|             key: /^([a-z_][a-z_\d]*)/i,
|  48|    |-            key_access: /^\.([a-z_][a-z_\d]*)/i,
|    |  48|+	key_access: /^\.([a-z_][a-z_\d]*)/i,
|  49|  49|             index_access: /^\[(\d+)\]/,
|  50|  50|             sign: /^[+-]/
|  51|  51|         }
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'key_access' found.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|  45|  45|             modulo: /^\x25{2}/,
|  46|  46|             placeholder: /^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,
|  47|  47|             key: /^([a-z_][a-z_\d]*)/i,
|  48|    |-            key_access: /^\.([a-z_][a-z_\d]*)/i,
|    |  48|+            "key_access": /^\.([a-z_][a-z_\d]*)/i,
|  49|  49|             index_access: /^\[(\d+)\]/,
|  50|  50|             sign: /^[+-]/
|  51|  51|         }
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 1 tab but found 12 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|  46|  46|             placeholder: /^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,
|  47|  47|             key: /^([a-z_][a-z_\d]*)/i,
|  48|  48|             key_access: /^\.([a-z_][a-z_\d]*)/i,
|  49|    |-            index_access: /^\[(\d+)\]/,
|    |  49|+	index_access: /^\[(\d+)\]/,
|  50|  50|             sign: /^[+-]/
|  51|  51|         }
|  52|  52| 
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'index_access' found.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|  46|  46|             placeholder: /^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,
|  47|  47|             key: /^([a-z_][a-z_\d]*)/i,
|  48|  48|             key_access: /^\.([a-z_][a-z_\d]*)/i,
|  49|    |-            index_access: /^\[(\d+)\]/,
|    |  49|+            "index_access": /^\[(\d+)\]/,
|  50|  50|             sign: /^[+-]/
|  51|  51|         }
|  52|  52| 
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 1 tab but found 12 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|  47|  47|             key: /^([a-z_][a-z_\d]*)/i,
|  48|  48|             key_access: /^\.([a-z_][a-z_\d]*)/i,
|  49|  49|             index_access: /^\[(\d+)\]/,
|  50|    |-            sign: /^[+-]/
|    |  50|+	sign: /^[+-]/
|  51|  51|         }
|  52|  52| 
|  53|  53|         function sprintf(key) {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'sign' found.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|  47|  47|             key: /^([a-z_][a-z_\d]*)/i,
|  48|  48|             key_access: /^\.([a-z_][a-z_\d]*)/i,
|  49|  49|             index_access: /^\[(\d+)\]/,
|  50|    |-            sign: /^[+-]/
|    |  50|+            "sign": /^[+-]/
|  51|  51|         }
|  52|  52| 
|  53|  53|         function sprintf(key) {
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 0 tabs but found 8 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|  48|  48|             key_access: /^\.([a-z_][a-z_\d]*)/i,
|  49|  49|             index_access: /^\[(\d+)\]/,
|  50|  50|             sign: /^[+-]/
|  51|    |-        }
|    |  51|+}
|  52|  52| 
|  53|  53|         function sprintf(key) {
|  54|  54|             // `arguments` is not an array, but should be fine for this call
|    | [NORMAL] ESLintBear (semi):
|    | Missing semicolon.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|  48|  48|             key_access: /^\.([a-z_][a-z_\d]*)/i,
|  49|  49|             index_access: /^\[(\d+)\]/,
|  50|  50|             sign: /^[+-]/
|  51|    |-        }
|    |  51|+        };
|  52|  52| 
|  53|  53|         function sprintf(key) {
|  54|  54|             // `arguments` is not an array, but should be fine for this call
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 0 tabs but found 8 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|  50|  50|             sign: /^[+-]/
|  51|  51|         }
|  52|  52| 
|  53|    |-        function sprintf(key) {
|    |  53|+function sprintf(key) {
|  54|  54|             // `arguments` is not an array, but should be fine for this call
|  55|  55|             return sprintf_format(sprintf_parse(key), arguments)
|  56|  56|         }
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 1 tab but found 12 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|  51|  51|         }
|  52|  52| 
|  53|  53|         function sprintf(key) {
|  54|    |-            // `arguments` is not an array, but should be fine for this call
|    |  54|+	// `arguments` is not an array, but should be fine for this call
|  55|  55|             return sprintf_format(sprintf_parse(key), arguments)
|  56|  56|         }
|  57|  57| 
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 1 tab but found 12 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|  52|  52| 
|  53|  53|         function sprintf(key) {
|  54|  54|             // `arguments` is not an array, but should be fine for this call
|  55|    |-            return sprintf_format(sprintf_parse(key), arguments)
|    |  55|+	return sprintf_format(sprintf_parse(key), arguments)
|  56|  56|         }
|  57|  57| 
|  58|  58|         function vsprintf(fmt, argv) {
|    | [NORMAL] ESLintBear (semi):
|    | Missing semicolon.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|  52|  52| 
|  53|  53|         function sprintf(key) {
|  54|  54|             // `arguments` is not an array, but should be fine for this call
|  55|    |-            return sprintf_format(sprintf_parse(key), arguments)
|    |  55|+            return sprintf_format(sprintf_parse(key), arguments);
|  56|  56|         }
|  57|  57| 
|  58|  58|         function vsprintf(fmt, argv) {
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 0 tabs but found 8 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|  53|  53|         function sprintf(key) {
|  54|  54|             // `arguments` is not an array, but should be fine for this call
|  55|  55|             return sprintf_format(sprintf_parse(key), arguments)
|  56|    |-        }
|    |  56|+}
|  57|  57| 
|  58|  58|         function vsprintf(fmt, argv) {
|  59|  59|             return sprintf.apply(null, [fmt].concat(argv || []))
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 0 tabs but found 8 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|  55|  55|             return sprintf_format(sprintf_parse(key), arguments)
|  56|  56|         }
|  57|  57| 
|  58|    |-        function vsprintf(fmt, argv) {
|    |  58|+function vsprintf(fmt, argv) {
|  59|  59|             return sprintf.apply(null, [fmt].concat(argv || []))
|  60|  60|         }
|  61|  61| 
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 1 tab but found 12 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|  56|  56|         }
|  57|  57| 
|  58|  58|         function vsprintf(fmt, argv) {
|  59|    |-            return sprintf.apply(null, [fmt].concat(argv || []))
|    |  59|+	return sprintf.apply(null, [fmt].concat(argv || []))
|  60|  60|         }
|  61|  61| 
|  62|  62|         function sprintf_format(parse_tree, argv) {
|    | [NORMAL] ESLintBear (semi):
|    | Missing semicolon.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|  56|  56|         }
|  57|  57| 
|  58|  58|         function vsprintf(fmt, argv) {
|  59|    |-            return sprintf.apply(null, [fmt].concat(argv || []))
|    |  59|+            return sprintf.apply(null, [fmt].concat(argv || []));
|  60|  60|         }
|  61|  61| 
|  62|  62|         function sprintf_format(parse_tree, argv) {
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 0 tabs but found 8 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|  57|  57| 
|  58|  58|         function vsprintf(fmt, argv) {
|  59|  59|             return sprintf.apply(null, [fmt].concat(argv || []))
|  60|    |-        }
|    |  60|+}
|  61|  61| 
|  62|  62|         function sprintf_format(parse_tree, argv) {
|  63|  63|             var cursor = 1, tree_length = parse_tree.length, arg, output = '', i, k, ph, pad, pad_character, pad_length, is_positive, sign
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 0 tabs but found 8 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|  59|  59|             return sprintf.apply(null, [fmt].concat(argv || []))
|  60|  60|         }
|  61|  61| 
|  62|    |-        function sprintf_format(parse_tree, argv) {
|    |  62|+function sprintf_format(parse_tree, argv) {
|  63|  63|             var cursor = 1, tree_length = parse_tree.length, arg, output = '', i, k, ph, pad, pad_character, pad_length, is_positive, sign
|  64|  64|             for (i = 0; i < tree_length; i++) {
|  65|  65|                 if (typeof parse_tree[i] === 'string') {
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 1 tab but found 12 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|  60|  60|         }
|  61|  61| 
|  62|  62|         function sprintf_format(parse_tree, argv) {
|  63|    |-            var cursor = 1, tree_length = parse_tree.length, arg, output = '', i, k, ph, pad, pad_character, pad_length, is_positive, sign
|    |  63|+	var cursor = 1, tree_length = parse_tree.length, arg, output = '', i, k, ph, pad, pad_character, pad_length, is_positive, sign
|  64|  64|             for (i = 0; i < tree_length; i++) {
|  65|  65|                 if (typeof parse_tree[i] === 'string') {
|  66|  66|                     output += parse_tree[i]
|    | [NORMAL] ESLintBear (semi):
|    | Missing semicolon.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|  60|  60|         }
|  61|  61| 
|  62|  62|         function sprintf_format(parse_tree, argv) {
|  63|    |-            var cursor = 1, tree_length = parse_tree.length, arg, output = '', i, k, ph, pad, pad_character, pad_length, is_positive, sign
|    |  63|+            var cursor = 1, tree_length = parse_tree.length, arg, output = '', i, k, ph, pad, pad_character, pad_length, is_positive, sign;
|  64|  64|             for (i = 0; i < tree_length; i++) {
|  65|  65|                 if (typeof parse_tree[i] === 'string') {
|  66|  66|                     output += parse_tree[i]
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 1 tab but found 12 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|  61|  61| 
|  62|  62|         function sprintf_format(parse_tree, argv) {
|  63|  63|             var cursor = 1, tree_length = parse_tree.length, arg, output = '', i, k, ph, pad, pad_character, pad_length, is_positive, sign
|  64|    |-            for (i = 0; i < tree_length; i++) {
|    |  64|+	for (i = 0; i < tree_length; i++) {
|  65|  65|                 if (typeof parse_tree[i] === 'string') {
|  66|  66|                     output += parse_tree[i]
|  67|  67|                 }
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 2 tabs but found 16 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|  62|  62|         function sprintf_format(parse_tree, argv) {
|  63|  63|             var cursor = 1, tree_length = parse_tree.length, arg, output = '', i, k, ph, pad, pad_character, pad_length, is_positive, sign
|  64|  64|             for (i = 0; i < tree_length; i++) {
|  65|    |-                if (typeof parse_tree[i] === 'string') {
|    |  65|+		if (typeof parse_tree[i] === 'string') {
|  66|  66|                     output += parse_tree[i]
|  67|  67|                 }
|  68|  68|                 else if (typeof parse_tree[i] === 'object') {
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 20 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|  63|  63|             var cursor = 1, tree_length = parse_tree.length, arg, output = '', i, k, ph, pad, pad_character, pad_length, is_positive, sign
|  64|  64|             for (i = 0; i < tree_length; i++) {
|  65|  65|                 if (typeof parse_tree[i] === 'string') {
|  66|    |-                    output += parse_tree[i]
|    |  66|+			output += parse_tree[i]
|  67|  67|                 }
|  68|  68|                 else if (typeof parse_tree[i] === 'object') {
|  69|  69|                     ph = parse_tree[i] // convenience purposes only
|    | [NORMAL] ESLintBear (semi):
|    | Missing semicolon.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|  63|  63|             var cursor = 1, tree_length = parse_tree.length, arg, output = '', i, k, ph, pad, pad_character, pad_length, is_positive, sign
|  64|  64|             for (i = 0; i < tree_length; i++) {
|  65|  65|                 if (typeof parse_tree[i] === 'string') {
|  66|    |-                    output += parse_tree[i]
|    |  66|+                    output += parse_tree[i];
|  67|  67|                 }
|  68|  68|                 else if (typeof parse_tree[i] === 'object') {
|  69|  69|                     ph = parse_tree[i] // convenience purposes only
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 2 tabs but found 16 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|  64|  64|             for (i = 0; i < tree_length; i++) {
|  65|  65|                 if (typeof parse_tree[i] === 'string') {
|  66|  66|                     output += parse_tree[i]
|  67|    |-                }
|    |  67|+		}
|  68|  68|                 else if (typeof parse_tree[i] === 'object') {
|  69|  69|                     ph = parse_tree[i] // convenience purposes only
|  70|  70|                     if (ph.keys) { // keyword argument
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 2 tabs but found 16 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|  65|  65|                 if (typeof parse_tree[i] === 'string') {
|  66|  66|                     output += parse_tree[i]
|  67|  67|                 }
|  68|    |-                else if (typeof parse_tree[i] === 'object') {
|    |  68|+		else if (typeof parse_tree[i] === 'object') {
|  69|  69|                     ph = parse_tree[i] // convenience purposes only
|  70|  70|                     if (ph.keys) { // keyword argument
|  71|  71|                         arg = argv[cursor]
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 20 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|  66|  66|                     output += parse_tree[i]
|  67|  67|                 }
|  68|  68|                 else if (typeof parse_tree[i] === 'object') {
|  69|    |-                    ph = parse_tree[i] // convenience purposes only
|    |  69|+			ph = parse_tree[i] // convenience purposes only
|  70|  70|                     if (ph.keys) { // keyword argument
|  71|  71|                         arg = argv[cursor]
|  72|  72|                         for (k = 0; k < ph.keys.length; k++) {
|    | [NORMAL] ESLintBear (semi):
|    | Missing semicolon.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|  66|  66|                     output += parse_tree[i]
|  67|  67|                 }
|  68|  68|                 else if (typeof parse_tree[i] === 'object') {
|  69|    |-                    ph = parse_tree[i] // convenience purposes only
|    |  69|+                    ph = parse_tree[i]; // convenience purposes only
|  70|  70|                     if (ph.keys) { // keyword argument
|  71|  71|                         arg = argv[cursor]
|  72|  72|                         for (k = 0; k < ph.keys.length; k++) {
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 20 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|  67|  67|                 }
|  68|  68|                 else if (typeof parse_tree[i] === 'object') {
|  69|  69|                     ph = parse_tree[i] // convenience purposes only
|  70|    |-                    if (ph.keys) { // keyword argument
|    |  70|+			if (ph.keys) { // keyword argument
|  71|  71|                         arg = argv[cursor]
|  72|  72|                         for (k = 0; k < ph.keys.length; k++) {
|  73|  73|                             if (arg == undefined) {
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 24 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|  68|  68|                 else if (typeof parse_tree[i] === 'object') {
|  69|  69|                     ph = parse_tree[i] // convenience purposes only
|  70|  70|                     if (ph.keys) { // keyword argument
|  71|    |-                        arg = argv[cursor]
|    |  71|+				arg = argv[cursor]
|  72|  72|                         for (k = 0; k < ph.keys.length; k++) {
|  73|  73|                             if (arg == undefined) {
|  74|  74|                                 throw new Error(sprintf('[sprintf] Cannot access property "%s" of undefined value "%s"', ph.keys[k], ph.keys[k-1]))
|    | [NORMAL] ESLintBear (semi):
|    | Missing semicolon.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|  68|  68|                 else if (typeof parse_tree[i] === 'object') {
|  69|  69|                     ph = parse_tree[i] // convenience purposes only
|  70|  70|                     if (ph.keys) { // keyword argument
|  71|    |-                        arg = argv[cursor]
|    |  71|+                        arg = argv[cursor];
|  72|  72|                         for (k = 0; k < ph.keys.length; k++) {
|  73|  73|                             if (arg == undefined) {
|  74|  74|                                 throw new Error(sprintf('[sprintf] Cannot access property "%s" of undefined value "%s"', ph.keys[k], ph.keys[k-1]))
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 24 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|  69|  69|                     ph = parse_tree[i] // convenience purposes only
|  70|  70|                     if (ph.keys) { // keyword argument
|  71|  71|                         arg = argv[cursor]
|  72|    |-                        for (k = 0; k < ph.keys.length; k++) {
|    |  72|+				for (k = 0; k < ph.keys.length; k++) {
|  73|  73|                             if (arg == undefined) {
|  74|  74|                                 throw new Error(sprintf('[sprintf] Cannot access property "%s" of undefined value "%s"', ph.keys[k], ph.keys[k-1]))
|  75|  75|                             }
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 28 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|  70|  70|                     if (ph.keys) { // keyword argument
|  71|  71|                         arg = argv[cursor]
|  72|  72|                         for (k = 0; k < ph.keys.length; k++) {
|  73|    |-                            if (arg == undefined) {
|    |  73|+					if (arg == undefined) {
|  74|  74|                                 throw new Error(sprintf('[sprintf] Cannot access property "%s" of undefined value "%s"', ph.keys[k], ph.keys[k-1]))
|  75|  75|                             }
|  76|  76|                             arg = arg[ph.keys[k]]
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 6 tabs but found 32 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|  71|  71|                         arg = argv[cursor]
|  72|  72|                         for (k = 0; k < ph.keys.length; k++) {
|  73|  73|                             if (arg == undefined) {
|  74|    |-                                throw new Error(sprintf('[sprintf] Cannot access property "%s" of undefined value "%s"', ph.keys[k], ph.keys[k-1]))
|    |  74|+						throw new Error(sprintf('[sprintf] Cannot access property "%s" of undefined value "%s"', ph.keys[k], ph.keys[k-1]))
|  75|  75|                             }
|  76|  76|                             arg = arg[ph.keys[k]]
|  77|  77|                         }
|    | [NORMAL] ESLintBear (semi):
|    | Missing semicolon.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|  71|  71|                         arg = argv[cursor]
|  72|  72|                         for (k = 0; k < ph.keys.length; k++) {
|  73|  73|                             if (arg == undefined) {
|  74|    |-                                throw new Error(sprintf('[sprintf] Cannot access property "%s" of undefined value "%s"', ph.keys[k], ph.keys[k-1]))
|    |  74|+                                throw new Error(sprintf('[sprintf] Cannot access property "%s" of undefined value "%s"', ph.keys[k], ph.keys[k-1]));
|  75|  75|                             }
|  76|  76|                             arg = arg[ph.keys[k]]
|  77|  77|                         }
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 28 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|  72|  72|                         for (k = 0; k < ph.keys.length; k++) {
|  73|  73|                             if (arg == undefined) {
|  74|  74|                                 throw new Error(sprintf('[sprintf] Cannot access property "%s" of undefined value "%s"', ph.keys[k], ph.keys[k-1]))
|  75|    |-                            }
|    |  75|+					}
|  76|  76|                             arg = arg[ph.keys[k]]
|  77|  77|                         }
|  78|  78|                     }
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 28 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|  73|  73|                             if (arg == undefined) {
|  74|  74|                                 throw new Error(sprintf('[sprintf] Cannot access property "%s" of undefined value "%s"', ph.keys[k], ph.keys[k-1]))
|  75|  75|                             }
|  76|    |-                            arg = arg[ph.keys[k]]
|    |  76|+					arg = arg[ph.keys[k]]
|  77|  77|                         }
|  78|  78|                     }
|  79|  79|                     else if (ph.param_no) { // positional argument (explicit)
|    | [NORMAL] ESLintBear (semi):
|    | Missing semicolon.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|  73|  73|                             if (arg == undefined) {
|  74|  74|                                 throw new Error(sprintf('[sprintf] Cannot access property "%s" of undefined value "%s"', ph.keys[k], ph.keys[k-1]))
|  75|  75|                             }
|  76|    |-                            arg = arg[ph.keys[k]]
|    |  76|+                            arg = arg[ph.keys[k]];
|  77|  77|                         }
|  78|  78|                     }
|  79|  79|                     else if (ph.param_no) { // positional argument (explicit)
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 24 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|  74|  74|                                 throw new Error(sprintf('[sprintf] Cannot access property "%s" of undefined value "%s"', ph.keys[k], ph.keys[k-1]))
|  75|  75|                             }
|  76|  76|                             arg = arg[ph.keys[k]]
|  77|    |-                        }
|    |  77|+				}
|  78|  78|                     }
|  79|  79|                     else if (ph.param_no) { // positional argument (explicit)
|  80|  80|                         arg = argv[ph.param_no]
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 20 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|  75|  75|                             }
|  76|  76|                             arg = arg[ph.keys[k]]
|  77|  77|                         }
|  78|    |-                    }
|    |  78|+			}
|  79|  79|                     else if (ph.param_no) { // positional argument (explicit)
|  80|  80|                         arg = argv[ph.param_no]
|  81|  81|                     }
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 20 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|  76|  76|                             arg = arg[ph.keys[k]]
|  77|  77|                         }
|  78|  78|                     }
|  79|    |-                    else if (ph.param_no) { // positional argument (explicit)
|    |  79|+			else if (ph.param_no) { // positional argument (explicit)
|  80|  80|                         arg = argv[ph.param_no]
|  81|  81|                     }
|  82|  82|                     else { // positional argument (implicit)
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 24 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|  77|  77|                         }
|  78|  78|                     }
|  79|  79|                     else if (ph.param_no) { // positional argument (explicit)
|  80|    |-                        arg = argv[ph.param_no]
|    |  80|+				arg = argv[ph.param_no]
|  81|  81|                     }
|  82|  82|                     else { // positional argument (implicit)
|  83|  83|                         arg = argv[cursor++]
|    | [NORMAL] ESLintBear (semi):
|    | Missing semicolon.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|  77|  77|                         }
|  78|  78|                     }
|  79|  79|                     else if (ph.param_no) { // positional argument (explicit)
|  80|    |-                        arg = argv[ph.param_no]
|    |  80|+                        arg = argv[ph.param_no];
|  81|  81|                     }
|  82|  82|                     else { // positional argument (implicit)
|  83|  83|                         arg = argv[cursor++]
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 20 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|  78|  78|                     }
|  79|  79|                     else if (ph.param_no) { // positional argument (explicit)
|  80|  80|                         arg = argv[ph.param_no]
|  81|    |-                    }
|    |  81|+			}
|  82|  82|                     else { // positional argument (implicit)
|  83|  83|                         arg = argv[cursor++]
|  84|  84|                     }
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 20 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|  79|  79|                     else if (ph.param_no) { // positional argument (explicit)
|  80|  80|                         arg = argv[ph.param_no]
|  81|  81|                     }
|  82|    |-                    else { // positional argument (implicit)
|    |  82|+			else { // positional argument (implicit)
|  83|  83|                         arg = argv[cursor++]
|  84|  84|                     }
|  85|  85| 
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 24 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|  80|  80|                         arg = argv[ph.param_no]
|  81|  81|                     }
|  82|  82|                     else { // positional argument (implicit)
|  83|    |-                        arg = argv[cursor++]
|    |  83|+				arg = argv[cursor++]
|  84|  84|                     }
|  85|  85| 
|  86|  86|                     if (re.not_type.test(ph.type) && re.not_primitive.test(ph.type) && arg instanceof Function) {
|    | [NORMAL] ESLintBear (semi):
|    | Missing semicolon.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|  80|  80|                         arg = argv[ph.param_no]
|  81|  81|                     }
|  82|  82|                     else { // positional argument (implicit)
|  83|    |-                        arg = argv[cursor++]
|    |  83|+                        arg = argv[cursor++];
|  84|  84|                     }
|  85|  85| 
|  86|  86|                     if (re.not_type.test(ph.type) && re.not_primitive.test(ph.type) && arg instanceof Function) {
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 20 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|  81|  81|                     }
|  82|  82|                     else { // positional argument (implicit)
|  83|  83|                         arg = argv[cursor++]
|  84|    |-                    }
|    |  84|+			}
|  85|  85| 
|  86|  86|                     if (re.not_type.test(ph.type) && re.not_primitive.test(ph.type) && arg instanceof Function) {
|  87|  87|                         arg = arg()
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 20 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|  83|  83|                         arg = argv[cursor++]
|  84|  84|                     }
|  85|  85| 
|  86|    |-                    if (re.not_type.test(ph.type) && re.not_primitive.test(ph.type) && arg instanceof Function) {
|    |  86|+			if (re.not_type.test(ph.type) && re.not_primitive.test(ph.type) && arg instanceof Function) {
|  87|  87|                         arg = arg()
|  88|  88|                     }
|  89|  89| 
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 24 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|  84|  84|                     }
|  85|  85| 
|  86|  86|                     if (re.not_type.test(ph.type) && re.not_primitive.test(ph.type) && arg instanceof Function) {
|  87|    |-                        arg = arg()
|    |  87|+				arg = arg()
|  88|  88|                     }
|  89|  89| 
|  90|  90|                     if (re.numeric_arg.test(ph.type) && (typeof arg !== 'number' && isNaN(arg))) {
|    | [NORMAL] ESLintBear (semi):
|    | Missing semicolon.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|  84|  84|                     }
|  85|  85| 
|  86|  86|                     if (re.not_type.test(ph.type) && re.not_primitive.test(ph.type) && arg instanceof Function) {
|  87|    |-                        arg = arg()
|    |  87|+                        arg = arg();
|  88|  88|                     }
|  89|  89| 
|  90|  90|                     if (re.numeric_arg.test(ph.type) && (typeof arg !== 'number' && isNaN(arg))) {
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 20 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|  85|  85| 
|  86|  86|                     if (re.not_type.test(ph.type) && re.not_primitive.test(ph.type) && arg instanceof Function) {
|  87|  87|                         arg = arg()
|  88|    |-                    }
|    |  88|+			}
|  89|  89| 
|  90|  90|                     if (re.numeric_arg.test(ph.type) && (typeof arg !== 'number' && isNaN(arg))) {
|  91|  91|                         throw new TypeError(sprintf('[sprintf] expecting number but found %T', arg))
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 20 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|  87|  87|                         arg = arg()
|  88|  88|                     }
|  89|  89| 
|  90|    |-                    if (re.numeric_arg.test(ph.type) && (typeof arg !== 'number' && isNaN(arg))) {
|    |  90|+			if (re.numeric_arg.test(ph.type) && (typeof arg !== 'number' && isNaN(arg))) {
|  91|  91|                         throw new TypeError(sprintf('[sprintf] expecting number but found %T', arg))
|  92|  92|                     }
|  93|  93| 
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 24 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|  88|  88|                     }
|  89|  89| 
|  90|  90|                     if (re.numeric_arg.test(ph.type) && (typeof arg !== 'number' && isNaN(arg))) {
|  91|    |-                        throw new TypeError(sprintf('[sprintf] expecting number but found %T', arg))
|    |  91|+				throw new TypeError(sprintf('[sprintf] expecting number but found %T', arg))
|  92|  92|                     }
|  93|  93| 
|  94|  94|                     if (re.number.test(ph.type)) {
|    | [NORMAL] ESLintBear (semi):
|    | Missing semicolon.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|  88|  88|                     }
|  89|  89| 
|  90|  90|                     if (re.numeric_arg.test(ph.type) && (typeof arg !== 'number' && isNaN(arg))) {
|  91|    |-                        throw new TypeError(sprintf('[sprintf] expecting number but found %T', arg))
|    |  91|+                        throw new TypeError(sprintf('[sprintf] expecting number but found %T', arg));
|  92|  92|                     }
|  93|  93| 
|  94|  94|                     if (re.number.test(ph.type)) {
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 20 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|  89|  89| 
|  90|  90|                     if (re.numeric_arg.test(ph.type) && (typeof arg !== 'number' && isNaN(arg))) {
|  91|  91|                         throw new TypeError(sprintf('[sprintf] expecting number but found %T', arg))
|  92|    |-                    }
|    |  92|+			}
|  93|  93| 
|  94|  94|                     if (re.number.test(ph.type)) {
|  95|  95|                         is_positive = arg >= 0
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 20 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|  91|  91|                         throw new TypeError(sprintf('[sprintf] expecting number but found %T', arg))
|  92|  92|                     }
|  93|  93| 
|  94|    |-                    if (re.number.test(ph.type)) {
|    |  94|+			if (re.number.test(ph.type)) {
|  95|  95|                         is_positive = arg >= 0
|  96|  96|                     }
|  97|  97| 
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 24 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|  92|  92|                     }
|  93|  93| 
|  94|  94|                     if (re.number.test(ph.type)) {
|  95|    |-                        is_positive = arg >= 0
|    |  95|+				is_positive = arg >= 0
|  96|  96|                     }
|  97|  97| 
|  98|  98|                     switch (ph.type) {
|    | [NORMAL] ESLintBear (semi):
|    | Missing semicolon.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|  92|  92|                     }
|  93|  93| 
|  94|  94|                     if (re.number.test(ph.type)) {
|  95|    |-                        is_positive = arg >= 0
|    |  95|+                        is_positive = arg >= 0;
|  96|  96|                     }
|  97|  97| 
|  98|  98|                     switch (ph.type) {
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 20 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|  93|  93| 
|  94|  94|                     if (re.number.test(ph.type)) {
|  95|  95|                         is_positive = arg >= 0
|  96|    |-                    }
|    |  96|+			}
|  97|  97| 
|  98|  98|                     switch (ph.type) {
|  99|  99|                         case 'b':
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 20 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|  95|  95|                         is_positive = arg >= 0
|  96|  96|                     }
|  97|  97| 
|  98|    |-                    switch (ph.type) {
|    |  98|+			switch (ph.type) {
|  99|  99|                         case 'b':
| 100| 100|                             arg = parseInt(arg, 10).toString(2)
| 101| 101|                             break
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 24 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|  96|  96|                     }
|  97|  97| 
|  98|  98|                     switch (ph.type) {
|  99|    |-                        case 'b':
|    |  99|+			case 'b':
| 100| 100|                             arg = parseInt(arg, 10).toString(2)
| 101| 101|                             break
| 102| 102|                         case 'c':
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 28 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|  97|  97| 
|  98|  98|                     switch (ph.type) {
|  99|  99|                         case 'b':
| 100|    |-                            arg = parseInt(arg, 10).toString(2)
|    | 100|+				arg = parseInt(arg, 10).toString(2)
| 101| 101|                             break
| 102| 102|                         case 'c':
| 103| 103|                             arg = String.fromCharCode(parseInt(arg, 10))
|    | [NORMAL] ESLintBear (semi):
|    | Missing semicolon.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|  97|  97| 
|  98|  98|                     switch (ph.type) {
|  99|  99|                         case 'b':
| 100|    |-                            arg = parseInt(arg, 10).toString(2)
|    | 100|+                            arg = parseInt(arg, 10).toString(2);
| 101| 101|                             break
| 102| 102|                         case 'c':
| 103| 103|                             arg = String.fromCharCode(parseInt(arg, 10))
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 28 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|  98|  98|                     switch (ph.type) {
|  99|  99|                         case 'b':
| 100| 100|                             arg = parseInt(arg, 10).toString(2)
| 101|    |-                            break
|    | 101|+				break
| 102| 102|                         case 'c':
| 103| 103|                             arg = String.fromCharCode(parseInt(arg, 10))
| 104| 104|                             break
|    | [NORMAL] ESLintBear (semi):
|    | Missing semicolon.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|  98|  98|                     switch (ph.type) {
|  99|  99|                         case 'b':
| 100| 100|                             arg = parseInt(arg, 10).toString(2)
| 101|    |-                            break
|    | 101|+                            break;
| 102| 102|                         case 'c':
| 103| 103|                             arg = String.fromCharCode(parseInt(arg, 10))
| 104| 104|                             break
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 24 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|  99|  99|                         case 'b':
| 100| 100|                             arg = parseInt(arg, 10).toString(2)
| 101| 101|                             break
| 102|    |-                        case 'c':
|    | 102|+			case 'c':
| 103| 103|                             arg = String.fromCharCode(parseInt(arg, 10))
| 104| 104|                             break
| 105| 105|                         case 'd':
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 28 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 100| 100|                             arg = parseInt(arg, 10).toString(2)
| 101| 101|                             break
| 102| 102|                         case 'c':
| 103|    |-                            arg = String.fromCharCode(parseInt(arg, 10))
|    | 103|+				arg = String.fromCharCode(parseInt(arg, 10))
| 104| 104|                             break
| 105| 105|                         case 'd':
| 106| 106|                         case 'i':
|    | [NORMAL] ESLintBear (semi):
|    | Missing semicolon.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 100| 100|                             arg = parseInt(arg, 10).toString(2)
| 101| 101|                             break
| 102| 102|                         case 'c':
| 103|    |-                            arg = String.fromCharCode(parseInt(arg, 10))
|    | 103|+                            arg = String.fromCharCode(parseInt(arg, 10));
| 104| 104|                             break
| 105| 105|                         case 'd':
| 106| 106|                         case 'i':
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 28 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 101| 101|                             break
| 102| 102|                         case 'c':
| 103| 103|                             arg = String.fromCharCode(parseInt(arg, 10))
| 104|    |-                            break
|    | 104|+				break
| 105| 105|                         case 'd':
| 106| 106|                         case 'i':
| 107| 107|                             arg = parseInt(arg, 10)
|    | [NORMAL] ESLintBear (semi):
|    | Missing semicolon.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 101| 101|                             break
| 102| 102|                         case 'c':
| 103| 103|                             arg = String.fromCharCode(parseInt(arg, 10))
| 104|    |-                            break
|    | 104|+                            break;
| 105| 105|                         case 'd':
| 106| 106|                         case 'i':
| 107| 107|                             arg = parseInt(arg, 10)
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 24 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 102| 102|                         case 'c':
| 103| 103|                             arg = String.fromCharCode(parseInt(arg, 10))
| 104| 104|                             break
| 105|    |-                        case 'd':
|    | 105|+			case 'd':
| 106| 106|                         case 'i':
| 107| 107|                             arg = parseInt(arg, 10)
| 108| 108|                             break
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 24 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 103| 103|                             arg = String.fromCharCode(parseInt(arg, 10))
| 104| 104|                             break
| 105| 105|                         case 'd':
| 106|    |-                        case 'i':
|    | 106|+			case 'i':
| 107| 107|                             arg = parseInt(arg, 10)
| 108| 108|                             break
| 109| 109|                         case 'j':
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 28 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 104| 104|                             break
| 105| 105|                         case 'd':
| 106| 106|                         case 'i':
| 107|    |-                            arg = parseInt(arg, 10)
|    | 107|+				arg = parseInt(arg, 10)
| 108| 108|                             break
| 109| 109|                         case 'j':
| 110| 110|                             arg = JSON.stringify(arg, null, ph.width ? parseInt(ph.width) : 0)
|    | [NORMAL] ESLintBear (semi):
|    | Missing semicolon.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 104| 104|                             break
| 105| 105|                         case 'd':
| 106| 106|                         case 'i':
| 107|    |-                            arg = parseInt(arg, 10)
|    | 107|+                            arg = parseInt(arg, 10);
| 108| 108|                             break
| 109| 109|                         case 'j':
| 110| 110|                             arg = JSON.stringify(arg, null, ph.width ? parseInt(ph.width) : 0)
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 28 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 105| 105|                         case 'd':
| 106| 106|                         case 'i':
| 107| 107|                             arg = parseInt(arg, 10)
| 108|    |-                            break
|    | 108|+				break
| 109| 109|                         case 'j':
| 110| 110|                             arg = JSON.stringify(arg, null, ph.width ? parseInt(ph.width) : 0)
| 111| 111|                             break
|    | [NORMAL] ESLintBear (semi):
|    | Missing semicolon.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 105| 105|                         case 'd':
| 106| 106|                         case 'i':
| 107| 107|                             arg = parseInt(arg, 10)
| 108|    |-                            break
|    | 108|+                            break;
| 109| 109|                         case 'j':
| 110| 110|                             arg = JSON.stringify(arg, null, ph.width ? parseInt(ph.width) : 0)
| 111| 111|                             break
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 24 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 106| 106|                         case 'i':
| 107| 107|                             arg = parseInt(arg, 10)
| 108| 108|                             break
| 109|    |-                        case 'j':
|    | 109|+			case 'j':
| 110| 110|                             arg = JSON.stringify(arg, null, ph.width ? parseInt(ph.width) : 0)
| 111| 111|                             break
| 112| 112|                         case 'e':
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 28 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 107| 107|                             arg = parseInt(arg, 10)
| 108| 108|                             break
| 109| 109|                         case 'j':
| 110|    |-                            arg = JSON.stringify(arg, null, ph.width ? parseInt(ph.width) : 0)
|    | 110|+				arg = JSON.stringify(arg, null, ph.width ? parseInt(ph.width) : 0)
| 111| 111|                             break
| 112| 112|                         case 'e':
| 113| 113|                             arg = ph.precision ? parseFloat(arg).toExponential(ph.precision) : parseFloat(arg).toExponential()
|    | [NORMAL] ESLintBear (semi):
|    | Missing semicolon.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 107| 107|                             arg = parseInt(arg, 10)
| 108| 108|                             break
| 109| 109|                         case 'j':
| 110|    |-                            arg = JSON.stringify(arg, null, ph.width ? parseInt(ph.width) : 0)
|    | 110|+                            arg = JSON.stringify(arg, null, ph.width ? parseInt(ph.width) : 0);
| 111| 111|                             break
| 112| 112|                         case 'e':
| 113| 113|                             arg = ph.precision ? parseFloat(arg).toExponential(ph.precision) : parseFloat(arg).toExponential()
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 28 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 108| 108|                             break
| 109| 109|                         case 'j':
| 110| 110|                             arg = JSON.stringify(arg, null, ph.width ? parseInt(ph.width) : 0)
| 111|    |-                            break
|    | 111|+				break
| 112| 112|                         case 'e':
| 113| 113|                             arg = ph.precision ? parseFloat(arg).toExponential(ph.precision) : parseFloat(arg).toExponential()
| 114| 114|                             break
|    | [NORMAL] ESLintBear (semi):
|    | Missing semicolon.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 108| 108|                             break
| 109| 109|                         case 'j':
| 110| 110|                             arg = JSON.stringify(arg, null, ph.width ? parseInt(ph.width) : 0)
| 111|    |-                            break
|    | 111|+                            break;
| 112| 112|                         case 'e':
| 113| 113|                             arg = ph.precision ? parseFloat(arg).toExponential(ph.precision) : parseFloat(arg).toExponential()
| 114| 114|                             break
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 24 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 109| 109|                         case 'j':
| 110| 110|                             arg = JSON.stringify(arg, null, ph.width ? parseInt(ph.width) : 0)
| 111| 111|                             break
| 112|    |-                        case 'e':
|    | 112|+			case 'e':
| 113| 113|                             arg = ph.precision ? parseFloat(arg).toExponential(ph.precision) : parseFloat(arg).toExponential()
| 114| 114|                             break
| 115| 115|                         case 'f':
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 28 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 110| 110|                             arg = JSON.stringify(arg, null, ph.width ? parseInt(ph.width) : 0)
| 111| 111|                             break
| 112| 112|                         case 'e':
| 113|    |-                            arg = ph.precision ? parseFloat(arg).toExponential(ph.precision) : parseFloat(arg).toExponential()
|    | 113|+				arg = ph.precision ? parseFloat(arg).toExponential(ph.precision) : parseFloat(arg).toExponential()
| 114| 114|                             break
| 115| 115|                         case 'f':
| 116| 116|                             arg = ph.precision ? parseFloat(arg).toFixed(ph.precision) : parseFloat(arg)
|    | [NORMAL] ESLintBear (semi):
|    | Missing semicolon.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 110| 110|                             arg = JSON.stringify(arg, null, ph.width ? parseInt(ph.width) : 0)
| 111| 111|                             break
| 112| 112|                         case 'e':
| 113|    |-                            arg = ph.precision ? parseFloat(arg).toExponential(ph.precision) : parseFloat(arg).toExponential()
|    | 113|+                            arg = ph.precision ? parseFloat(arg).toExponential(ph.precision) : parseFloat(arg).toExponential();
| 114| 114|                             break
| 115| 115|                         case 'f':
| 116| 116|                             arg = ph.precision ? parseFloat(arg).toFixed(ph.precision) : parseFloat(arg)
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 28 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 111| 111|                             break
| 112| 112|                         case 'e':
| 113| 113|                             arg = ph.precision ? parseFloat(arg).toExponential(ph.precision) : parseFloat(arg).toExponential()
| 114|    |-                            break
|    | 114|+				break
| 115| 115|                         case 'f':
| 116| 116|                             arg = ph.precision ? parseFloat(arg).toFixed(ph.precision) : parseFloat(arg)
| 117| 117|                             break
|    | [NORMAL] ESLintBear (semi):
|    | Missing semicolon.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 111| 111|                             break
| 112| 112|                         case 'e':
| 113| 113|                             arg = ph.precision ? parseFloat(arg).toExponential(ph.precision) : parseFloat(arg).toExponential()
| 114|    |-                            break
|    | 114|+                            break;
| 115| 115|                         case 'f':
| 116| 116|                             arg = ph.precision ? parseFloat(arg).toFixed(ph.precision) : parseFloat(arg)
| 117| 117|                             break
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 24 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 112| 112|                         case 'e':
| 113| 113|                             arg = ph.precision ? parseFloat(arg).toExponential(ph.precision) : parseFloat(arg).toExponential()
| 114| 114|                             break
| 115|    |-                        case 'f':
|    | 115|+			case 'f':
| 116| 116|                             arg = ph.precision ? parseFloat(arg).toFixed(ph.precision) : parseFloat(arg)
| 117| 117|                             break
| 118| 118|                         case 'g':
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 28 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 113| 113|                             arg = ph.precision ? parseFloat(arg).toExponential(ph.precision) : parseFloat(arg).toExponential()
| 114| 114|                             break
| 115| 115|                         case 'f':
| 116|    |-                            arg = ph.precision ? parseFloat(arg).toFixed(ph.precision) : parseFloat(arg)
|    | 116|+				arg = ph.precision ? parseFloat(arg).toFixed(ph.precision) : parseFloat(arg)
| 117| 117|                             break
| 118| 118|                         case 'g':
| 119| 119|                             arg = ph.precision ? String(Number(arg.toPrecision(ph.precision))) : parseFloat(arg)
|    | [NORMAL] ESLintBear (semi):
|    | Missing semicolon.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 113| 113|                             arg = ph.precision ? parseFloat(arg).toExponential(ph.precision) : parseFloat(arg).toExponential()
| 114| 114|                             break
| 115| 115|                         case 'f':
| 116|    |-                            arg = ph.precision ? parseFloat(arg).toFixed(ph.precision) : parseFloat(arg)
|    | 116|+                            arg = ph.precision ? parseFloat(arg).toFixed(ph.precision) : parseFloat(arg);
| 117| 117|                             break
| 118| 118|                         case 'g':
| 119| 119|                             arg = ph.precision ? String(Number(arg.toPrecision(ph.precision))) : parseFloat(arg)
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 28 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 114| 114|                             break
| 115| 115|                         case 'f':
| 116| 116|                             arg = ph.precision ? parseFloat(arg).toFixed(ph.precision) : parseFloat(arg)
| 117|    |-                            break
|    | 117|+				break
| 118| 118|                         case 'g':
| 119| 119|                             arg = ph.precision ? String(Number(arg.toPrecision(ph.precision))) : parseFloat(arg)
| 120| 120|                             break
|    | [NORMAL] ESLintBear (semi):
|    | Missing semicolon.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 114| 114|                             break
| 115| 115|                         case 'f':
| 116| 116|                             arg = ph.precision ? parseFloat(arg).toFixed(ph.precision) : parseFloat(arg)
| 117|    |-                            break
|    | 117|+                            break;
| 118| 118|                         case 'g':
| 119| 119|                             arg = ph.precision ? String(Number(arg.toPrecision(ph.precision))) : parseFloat(arg)
| 120| 120|                             break
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 24 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 115| 115|                         case 'f':
| 116| 116|                             arg = ph.precision ? parseFloat(arg).toFixed(ph.precision) : parseFloat(arg)
| 117| 117|                             break
| 118|    |-                        case 'g':
|    | 118|+			case 'g':
| 119| 119|                             arg = ph.precision ? String(Number(arg.toPrecision(ph.precision))) : parseFloat(arg)
| 120| 120|                             break
| 121| 121|                         case 'o':
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 28 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 116| 116|                             arg = ph.precision ? parseFloat(arg).toFixed(ph.precision) : parseFloat(arg)
| 117| 117|                             break
| 118| 118|                         case 'g':
| 119|    |-                            arg = ph.precision ? String(Number(arg.toPrecision(ph.precision))) : parseFloat(arg)
|    | 119|+				arg = ph.precision ? String(Number(arg.toPrecision(ph.precision))) : parseFloat(arg)
| 120| 120|                             break
| 121| 121|                         case 'o':
| 122| 122|                             arg = (parseInt(arg, 10) >>> 0).toString(8)
|    | [NORMAL] ESLintBear (semi):
|    | Missing semicolon.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 116| 116|                             arg = ph.precision ? parseFloat(arg).toFixed(ph.precision) : parseFloat(arg)
| 117| 117|                             break
| 118| 118|                         case 'g':
| 119|    |-                            arg = ph.precision ? String(Number(arg.toPrecision(ph.precision))) : parseFloat(arg)
|    | 119|+                            arg = ph.precision ? String(Number(arg.toPrecision(ph.precision))) : parseFloat(arg);
| 120| 120|                             break
| 121| 121|                         case 'o':
| 122| 122|                             arg = (parseInt(arg, 10) >>> 0).toString(8)
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 28 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 117| 117|                             break
| 118| 118|                         case 'g':
| 119| 119|                             arg = ph.precision ? String(Number(arg.toPrecision(ph.precision))) : parseFloat(arg)
| 120|    |-                            break
|    | 120|+				break
| 121| 121|                         case 'o':
| 122| 122|                             arg = (parseInt(arg, 10) >>> 0).toString(8)
| 123| 123|                             break
|    | [NORMAL] ESLintBear (semi):
|    | Missing semicolon.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 117| 117|                             break
| 118| 118|                         case 'g':
| 119| 119|                             arg = ph.precision ? String(Number(arg.toPrecision(ph.precision))) : parseFloat(arg)
| 120|    |-                            break
|    | 120|+                            break;
| 121| 121|                         case 'o':
| 122| 122|                             arg = (parseInt(arg, 10) >>> 0).toString(8)
| 123| 123|                             break
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 24 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 118| 118|                         case 'g':
| 119| 119|                             arg = ph.precision ? String(Number(arg.toPrecision(ph.precision))) : parseFloat(arg)
| 120| 120|                             break
| 121|    |-                        case 'o':
|    | 121|+			case 'o':
| 122| 122|                             arg = (parseInt(arg, 10) >>> 0).toString(8)
| 123| 123|                             break
| 124| 124|                         case 's':
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 28 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 119| 119|                             arg = ph.precision ? String(Number(arg.toPrecision(ph.precision))) : parseFloat(arg)
| 120| 120|                             break
| 121| 121|                         case 'o':
| 122|    |-                            arg = (parseInt(arg, 10) >>> 0).toString(8)
|    | 122|+				arg = (parseInt(arg, 10) >>> 0).toString(8)
| 123| 123|                             break
| 124| 124|                         case 's':
| 125| 125|                             arg = String(arg)
|    | [NORMAL] ESLintBear (semi):
|    | Missing semicolon.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 119| 119|                             arg = ph.precision ? String(Number(arg.toPrecision(ph.precision))) : parseFloat(arg)
| 120| 120|                             break
| 121| 121|                         case 'o':
| 122|    |-                            arg = (parseInt(arg, 10) >>> 0).toString(8)
|    | 122|+                            arg = (parseInt(arg, 10) >>> 0).toString(8);
| 123| 123|                             break
| 124| 124|                         case 's':
| 125| 125|                             arg = String(arg)
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 28 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 120| 120|                             break
| 121| 121|                         case 'o':
| 122| 122|                             arg = (parseInt(arg, 10) >>> 0).toString(8)
| 123|    |-                            break
|    | 123|+				break
| 124| 124|                         case 's':
| 125| 125|                             arg = String(arg)
| 126| 126|                             arg = (ph.precision ? arg.substring(0, ph.precision) : arg)
|    | [NORMAL] ESLintBear (semi):
|    | Missing semicolon.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 120| 120|                             break
| 121| 121|                         case 'o':
| 122| 122|                             arg = (parseInt(arg, 10) >>> 0).toString(8)
| 123|    |-                            break
|    | 123|+                            break;
| 124| 124|                         case 's':
| 125| 125|                             arg = String(arg)
| 126| 126|                             arg = (ph.precision ? arg.substring(0, ph.precision) : arg)
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 24 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 121| 121|                         case 'o':
| 122| 122|                             arg = (parseInt(arg, 10) >>> 0).toString(8)
| 123| 123|                             break
| 124|    |-                        case 's':
|    | 124|+			case 's':
| 125| 125|                             arg = String(arg)
| 126| 126|                             arg = (ph.precision ? arg.substring(0, ph.precision) : arg)
| 127| 127|                             break
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 28 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 122| 122|                             arg = (parseInt(arg, 10) >>> 0).toString(8)
| 123| 123|                             break
| 124| 124|                         case 's':
| 125|    |-                            arg = String(arg)
|    | 125|+				arg = String(arg)
| 126| 126|                             arg = (ph.precision ? arg.substring(0, ph.precision) : arg)
| 127| 127|                             break
| 128| 128|                         case 't':
|    | [NORMAL] ESLintBear (semi):
|    | Missing semicolon.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 122| 122|                             arg = (parseInt(arg, 10) >>> 0).toString(8)
| 123| 123|                             break
| 124| 124|                         case 's':
| 125|    |-                            arg = String(arg)
|    | 125|+                            arg = String(arg);
| 126| 126|                             arg = (ph.precision ? arg.substring(0, ph.precision) : arg)
| 127| 127|                             break
| 128| 128|                         case 't':
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 28 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 123| 123|                             break
| 124| 124|                         case 's':
| 125| 125|                             arg = String(arg)
| 126|    |-                            arg = (ph.precision ? arg.substring(0, ph.precision) : arg)
|    | 126|+				arg = (ph.precision ? arg.substring(0, ph.precision) : arg)
| 127| 127|                             break
| 128| 128|                         case 't':
| 129| 129|                             arg = String(!!arg)
|    | [NORMAL] ESLintBear (semi):
|    | Missing semicolon.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 123| 123|                             break
| 124| 124|                         case 's':
| 125| 125|                             arg = String(arg)
| 126|    |-                            arg = (ph.precision ? arg.substring(0, ph.precision) : arg)
|    | 126|+                            arg = (ph.precision ? arg.substring(0, ph.precision) : arg);
| 127| 127|                             break
| 128| 128|                         case 't':
| 129| 129|                             arg = String(!!arg)
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 28 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 124| 124|                         case 's':
| 125| 125|                             arg = String(arg)
| 126| 126|                             arg = (ph.precision ? arg.substring(0, ph.precision) : arg)
| 127|    |-                            break
|    | 127|+				break
| 128| 128|                         case 't':
| 129| 129|                             arg = String(!!arg)
| 130| 130|                             arg = (ph.precision ? arg.substring(0, ph.precision) : arg)
|    | [NORMAL] ESLintBear (semi):
|    | Missing semicolon.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 124| 124|                         case 's':
| 125| 125|                             arg = String(arg)
| 126| 126|                             arg = (ph.precision ? arg.substring(0, ph.precision) : arg)
| 127|    |-                            break
|    | 127|+                            break;
| 128| 128|                         case 't':
| 129| 129|                             arg = String(!!arg)
| 130| 130|                             arg = (ph.precision ? arg.substring(0, ph.precision) : arg)
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 24 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 125| 125|                             arg = String(arg)
| 126| 126|                             arg = (ph.precision ? arg.substring(0, ph.precision) : arg)
| 127| 127|                             break
| 128|    |-                        case 't':
|    | 128|+			case 't':
| 129| 129|                             arg = String(!!arg)
| 130| 130|                             arg = (ph.precision ? arg.substring(0, ph.precision) : arg)
| 131| 131|                             break
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 28 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 126| 126|                             arg = (ph.precision ? arg.substring(0, ph.precision) : arg)
| 127| 127|                             break
| 128| 128|                         case 't':
| 129|    |-                            arg = String(!!arg)
|    | 129|+				arg = String(!!arg)
| 130| 130|                             arg = (ph.precision ? arg.substring(0, ph.precision) : arg)
| 131| 131|                             break
| 132| 132|                         case 'T':
|    | [NORMAL] ESLintBear (semi):
|    | Missing semicolon.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 126| 126|                             arg = (ph.precision ? arg.substring(0, ph.precision) : arg)
| 127| 127|                             break
| 128| 128|                         case 't':
| 129|    |-                            arg = String(!!arg)
|    | 129|+                            arg = String(!!arg);
| 130| 130|                             arg = (ph.precision ? arg.substring(0, ph.precision) : arg)
| 131| 131|                             break
| 132| 132|                         case 'T':
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 28 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 127| 127|                             break
| 128| 128|                         case 't':
| 129| 129|                             arg = String(!!arg)
| 130|    |-                            arg = (ph.precision ? arg.substring(0, ph.precision) : arg)
|    | 130|+				arg = (ph.precision ? arg.substring(0, ph.precision) : arg)
| 131| 131|                             break
| 132| 132|                         case 'T':
| 133| 133|                             arg = Object.prototype.toString.call(arg).slice(8, -1).toLowerCase()
|    | [NORMAL] ESLintBear (semi):
|    | Missing semicolon.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 127| 127|                             break
| 128| 128|                         case 't':
| 129| 129|                             arg = String(!!arg)
| 130|    |-                            arg = (ph.precision ? arg.substring(0, ph.precision) : arg)
|    | 130|+                            arg = (ph.precision ? arg.substring(0, ph.precision) : arg);
| 131| 131|                             break
| 132| 132|                         case 'T':
| 133| 133|                             arg = Object.prototype.toString.call(arg).slice(8, -1).toLowerCase()
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 28 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 128| 128|                         case 't':
| 129| 129|                             arg = String(!!arg)
| 130| 130|                             arg = (ph.precision ? arg.substring(0, ph.precision) : arg)
| 131|    |-                            break
|    | 131|+				break
| 132| 132|                         case 'T':
| 133| 133|                             arg = Object.prototype.toString.call(arg).slice(8, -1).toLowerCase()
| 134| 134|                             arg = (ph.precision ? arg.substring(0, ph.precision) : arg)
|    | [NORMAL] ESLintBear (semi):
|    | Missing semicolon.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 128| 128|                         case 't':
| 129| 129|                             arg = String(!!arg)
| 130| 130|                             arg = (ph.precision ? arg.substring(0, ph.precision) : arg)
| 131|    |-                            break
|    | 131|+                            break;
| 132| 132|                         case 'T':
| 133| 133|                             arg = Object.prototype.toString.call(arg).slice(8, -1).toLowerCase()
| 134| 134|                             arg = (ph.precision ? arg.substring(0, ph.precision) : arg)
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 24 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 129| 129|                             arg = String(!!arg)
| 130| 130|                             arg = (ph.precision ? arg.substring(0, ph.precision) : arg)
| 131| 131|                             break
| 132|    |-                        case 'T':
|    | 132|+			case 'T':
| 133| 133|                             arg = Object.prototype.toString.call(arg).slice(8, -1).toLowerCase()
| 134| 134|                             arg = (ph.precision ? arg.substring(0, ph.precision) : arg)
| 135| 135|                             break
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 28 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 130| 130|                             arg = (ph.precision ? arg.substring(0, ph.precision) : arg)
| 131| 131|                             break
| 132| 132|                         case 'T':
| 133|    |-                            arg = Object.prototype.toString.call(arg).slice(8, -1).toLowerCase()
|    | 133|+				arg = Object.prototype.toString.call(arg).slice(8, -1).toLowerCase()
| 134| 134|                             arg = (ph.precision ? arg.substring(0, ph.precision) : arg)
| 135| 135|                             break
| 136| 136|                         case 'u':
|    | [NORMAL] ESLintBear (semi):
|    | Missing semicolon.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 130| 130|                             arg = (ph.precision ? arg.substring(0, ph.precision) : arg)
| 131| 131|                             break
| 132| 132|                         case 'T':
| 133|    |-                            arg = Object.prototype.toString.call(arg).slice(8, -1).toLowerCase()
|    | 133|+                            arg = Object.prototype.toString.call(arg).slice(8, -1).toLowerCase();
| 134| 134|                             arg = (ph.precision ? arg.substring(0, ph.precision) : arg)
| 135| 135|                             break
| 136| 136|                         case 'u':
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 28 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 131| 131|                             break
| 132| 132|                         case 'T':
| 133| 133|                             arg = Object.prototype.toString.call(arg).slice(8, -1).toLowerCase()
| 134|    |-                            arg = (ph.precision ? arg.substring(0, ph.precision) : arg)
|    | 134|+				arg = (ph.precision ? arg.substring(0, ph.precision) : arg)
| 135| 135|                             break
| 136| 136|                         case 'u':
| 137| 137|                             arg = parseInt(arg, 10) >>> 0
|    | [NORMAL] ESLintBear (semi):
|    | Missing semicolon.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 131| 131|                             break
| 132| 132|                         case 'T':
| 133| 133|                             arg = Object.prototype.toString.call(arg).slice(8, -1).toLowerCase()
| 134|    |-                            arg = (ph.precision ? arg.substring(0, ph.precision) : arg)
|    | 134|+                            arg = (ph.precision ? arg.substring(0, ph.precision) : arg);
| 135| 135|                             break
| 136| 136|                         case 'u':
| 137| 137|                             arg = parseInt(arg, 10) >>> 0
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 28 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 132| 132|                         case 'T':
| 133| 133|                             arg = Object.prototype.toString.call(arg).slice(8, -1).toLowerCase()
| 134| 134|                             arg = (ph.precision ? arg.substring(0, ph.precision) : arg)
| 135|    |-                            break
|    | 135|+				break
| 136| 136|                         case 'u':
| 137| 137|                             arg = parseInt(arg, 10) >>> 0
| 138| 138|                             break
|    | [NORMAL] ESLintBear (semi):
|    | Missing semicolon.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 132| 132|                         case 'T':
| 133| 133|                             arg = Object.prototype.toString.call(arg).slice(8, -1).toLowerCase()
| 134| 134|                             arg = (ph.precision ? arg.substring(0, ph.precision) : arg)
| 135|    |-                            break
|    | 135|+                            break;
| 136| 136|                         case 'u':
| 137| 137|                             arg = parseInt(arg, 10) >>> 0
| 138| 138|                             break
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 24 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 133| 133|                             arg = Object.prototype.toString.call(arg).slice(8, -1).toLowerCase()
| 134| 134|                             arg = (ph.precision ? arg.substring(0, ph.precision) : arg)
| 135| 135|                             break
| 136|    |-                        case 'u':
|    | 136|+			case 'u':
| 137| 137|                             arg = parseInt(arg, 10) >>> 0
| 138| 138|                             break
| 139| 139|                         case 'v':
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 28 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 134| 134|                             arg = (ph.precision ? arg.substring(0, ph.precision) : arg)
| 135| 135|                             break
| 136| 136|                         case 'u':
| 137|    |-                            arg = parseInt(arg, 10) >>> 0
|    | 137|+				arg = parseInt(arg, 10) >>> 0
| 138| 138|                             break
| 139| 139|                         case 'v':
| 140| 140|                             arg = arg.valueOf()
|    | [NORMAL] ESLintBear (semi):
|    | Missing semicolon.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 134| 134|                             arg = (ph.precision ? arg.substring(0, ph.precision) : arg)
| 135| 135|                             break
| 136| 136|                         case 'u':
| 137|    |-                            arg = parseInt(arg, 10) >>> 0
|    | 137|+                            arg = parseInt(arg, 10) >>> 0;
| 138| 138|                             break
| 139| 139|                         case 'v':
| 140| 140|                             arg = arg.valueOf()
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 28 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 135| 135|                             break
| 136| 136|                         case 'u':
| 137| 137|                             arg = parseInt(arg, 10) >>> 0
| 138|    |-                            break
|    | 138|+				break
| 139| 139|                         case 'v':
| 140| 140|                             arg = arg.valueOf()
| 141| 141|                             arg = (ph.precision ? arg.substring(0, ph.precision) : arg)
|    | [NORMAL] ESLintBear (semi):
|    | Missing semicolon.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 135| 135|                             break
| 136| 136|                         case 'u':
| 137| 137|                             arg = parseInt(arg, 10) >>> 0
| 138|    |-                            break
|    | 138|+                            break;
| 139| 139|                         case 'v':
| 140| 140|                             arg = arg.valueOf()
| 141| 141|                             arg = (ph.precision ? arg.substring(0, ph.precision) : arg)
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 24 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 136| 136|                         case 'u':
| 137| 137|                             arg = parseInt(arg, 10) >>> 0
| 138| 138|                             break
| 139|    |-                        case 'v':
|    | 139|+			case 'v':
| 140| 140|                             arg = arg.valueOf()
| 141| 141|                             arg = (ph.precision ? arg.substring(0, ph.precision) : arg)
| 142| 142|                             break
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 28 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 137| 137|                             arg = parseInt(arg, 10) >>> 0
| 138| 138|                             break
| 139| 139|                         case 'v':
| 140|    |-                            arg = arg.valueOf()
|    | 140|+				arg = arg.valueOf()
| 141| 141|                             arg = (ph.precision ? arg.substring(0, ph.precision) : arg)
| 142| 142|                             break
| 143| 143|                         case 'x':
|    | [NORMAL] ESLintBear (semi):
|    | Missing semicolon.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 137| 137|                             arg = parseInt(arg, 10) >>> 0
| 138| 138|                             break
| 139| 139|                         case 'v':
| 140|    |-                            arg = arg.valueOf()
|    | 140|+                            arg = arg.valueOf();
| 141| 141|                             arg = (ph.precision ? arg.substring(0, ph.precision) : arg)
| 142| 142|                             break
| 143| 143|                         case 'x':
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 28 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 138| 138|                             break
| 139| 139|                         case 'v':
| 140| 140|                             arg = arg.valueOf()
| 141|    |-                            arg = (ph.precision ? arg.substring(0, ph.precision) : arg)
|    | 141|+				arg = (ph.precision ? arg.substring(0, ph.precision) : arg)
| 142| 142|                             break
| 143| 143|                         case 'x':
| 144| 144|                             arg = (parseInt(arg, 10) >>> 0).toString(16)
|    | [NORMAL] ESLintBear (semi):
|    | Missing semicolon.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 138| 138|                             break
| 139| 139|                         case 'v':
| 140| 140|                             arg = arg.valueOf()
| 141|    |-                            arg = (ph.precision ? arg.substring(0, ph.precision) : arg)
|    | 141|+                            arg = (ph.precision ? arg.substring(0, ph.precision) : arg);
| 142| 142|                             break
| 143| 143|                         case 'x':
| 144| 144|                             arg = (parseInt(arg, 10) >>> 0).toString(16)
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 28 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 139| 139|                         case 'v':
| 140| 140|                             arg = arg.valueOf()
| 141| 141|                             arg = (ph.precision ? arg.substring(0, ph.precision) : arg)
| 142|    |-                            break
|    | 142|+				break
| 143| 143|                         case 'x':
| 144| 144|                             arg = (parseInt(arg, 10) >>> 0).toString(16)
| 145| 145|                             break
|    | [NORMAL] ESLintBear (semi):
|    | Missing semicolon.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 139| 139|                         case 'v':
| 140| 140|                             arg = arg.valueOf()
| 141| 141|                             arg = (ph.precision ? arg.substring(0, ph.precision) : arg)
| 142|    |-                            break
|    | 142|+                            break;
| 143| 143|                         case 'x':
| 144| 144|                             arg = (parseInt(arg, 10) >>> 0).toString(16)
| 145| 145|                             break
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 24 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 140| 140|                             arg = arg.valueOf()
| 141| 141|                             arg = (ph.precision ? arg.substring(0, ph.precision) : arg)
| 142| 142|                             break
| 143|    |-                        case 'x':
|    | 143|+			case 'x':
| 144| 144|                             arg = (parseInt(arg, 10) >>> 0).toString(16)
| 145| 145|                             break
| 146| 146|                         case 'X':
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 28 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 141| 141|                             arg = (ph.precision ? arg.substring(0, ph.precision) : arg)
| 142| 142|                             break
| 143| 143|                         case 'x':
| 144|    |-                            arg = (parseInt(arg, 10) >>> 0).toString(16)
|    | 144|+				arg = (parseInt(arg, 10) >>> 0).toString(16)
| 145| 145|                             break
| 146| 146|                         case 'X':
| 147| 147|                             arg = (parseInt(arg, 10) >>> 0).toString(16).toUpperCase()
|    | [NORMAL] ESLintBear (semi):
|    | Missing semicolon.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 141| 141|                             arg = (ph.precision ? arg.substring(0, ph.precision) : arg)
| 142| 142|                             break
| 143| 143|                         case 'x':
| 144|    |-                            arg = (parseInt(arg, 10) >>> 0).toString(16)
|    | 144|+                            arg = (parseInt(arg, 10) >>> 0).toString(16);
| 145| 145|                             break
| 146| 146|                         case 'X':
| 147| 147|                             arg = (parseInt(arg, 10) >>> 0).toString(16).toUpperCase()
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 28 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 142| 142|                             break
| 143| 143|                         case 'x':
| 144| 144|                             arg = (parseInt(arg, 10) >>> 0).toString(16)
| 145|    |-                            break
|    | 145|+				break
| 146| 146|                         case 'X':
| 147| 147|                             arg = (parseInt(arg, 10) >>> 0).toString(16).toUpperCase()
| 148| 148|                             break
|    | [NORMAL] ESLintBear (semi):
|    | Missing semicolon.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 142| 142|                             break
| 143| 143|                         case 'x':
| 144| 144|                             arg = (parseInt(arg, 10) >>> 0).toString(16)
| 145|    |-                            break
|    | 145|+                            break;
| 146| 146|                         case 'X':
| 147| 147|                             arg = (parseInt(arg, 10) >>> 0).toString(16).toUpperCase()
| 148| 148|                             break
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 24 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 143| 143|                         case 'x':
| 144| 144|                             arg = (parseInt(arg, 10) >>> 0).toString(16)
| 145| 145|                             break
| 146|    |-                        case 'X':
|    | 146|+			case 'X':
| 147| 147|                             arg = (parseInt(arg, 10) >>> 0).toString(16).toUpperCase()
| 148| 148|                             break
| 149| 149|                     }
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 28 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 144| 144|                             arg = (parseInt(arg, 10) >>> 0).toString(16)
| 145| 145|                             break
| 146| 146|                         case 'X':
| 147|    |-                            arg = (parseInt(arg, 10) >>> 0).toString(16).toUpperCase()
|    | 147|+				arg = (parseInt(arg, 10) >>> 0).toString(16).toUpperCase()
| 148| 148|                             break
| 149| 149|                     }
| 150| 150|                     if (re.json.test(ph.type)) {
|    | [NORMAL] ESLintBear (semi):
|    | Missing semicolon.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 144| 144|                             arg = (parseInt(arg, 10) >>> 0).toString(16)
| 145| 145|                             break
| 146| 146|                         case 'X':
| 147|    |-                            arg = (parseInt(arg, 10) >>> 0).toString(16).toUpperCase()
|    | 147|+                            arg = (parseInt(arg, 10) >>> 0).toString(16).toUpperCase();
| 148| 148|                             break
| 149| 149|                     }
| 150| 150|                     if (re.json.test(ph.type)) {
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 28 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 145| 145|                             break
| 146| 146|                         case 'X':
| 147| 147|                             arg = (parseInt(arg, 10) >>> 0).toString(16).toUpperCase()
| 148|    |-                            break
|    | 148|+				break
| 149| 149|                     }
| 150| 150|                     if (re.json.test(ph.type)) {
| 151| 151|                         output += arg
|    | [NORMAL] ESLintBear (semi):
|    | Missing semicolon.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 145| 145|                             break
| 146| 146|                         case 'X':
| 147| 147|                             arg = (parseInt(arg, 10) >>> 0).toString(16).toUpperCase()
| 148|    |-                            break
|    | 148|+                            break;
| 149| 149|                     }
| 150| 150|                     if (re.json.test(ph.type)) {
| 151| 151|                         output += arg
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 20 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 146| 146|                         case 'X':
| 147| 147|                             arg = (parseInt(arg, 10) >>> 0).toString(16).toUpperCase()
| 148| 148|                             break
| 149|    |-                    }
|    | 149|+			}
| 150| 150|                     if (re.json.test(ph.type)) {
| 151| 151|                         output += arg
| 152| 152|                     }
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 20 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 147| 147|                             arg = (parseInt(arg, 10) >>> 0).toString(16).toUpperCase()
| 148| 148|                             break
| 149| 149|                     }
| 150|    |-                    if (re.json.test(ph.type)) {
|    | 150|+			if (re.json.test(ph.type)) {
| 151| 151|                         output += arg
| 152| 152|                     }
| 153| 153|                     else {
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 24 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 148| 148|                             break
| 149| 149|                     }
| 150| 150|                     if (re.json.test(ph.type)) {
| 151|    |-                        output += arg
|    | 151|+				output += arg
| 152| 152|                     }
| 153| 153|                     else {
| 154| 154|                         if (re.number.test(ph.type) && (!is_positive || ph.sign)) {
|    | [NORMAL] ESLintBear (semi):
|    | Missing semicolon.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 148| 148|                             break
| 149| 149|                     }
| 150| 150|                     if (re.json.test(ph.type)) {
| 151|    |-                        output += arg
|    | 151|+                        output += arg;
| 152| 152|                     }
| 153| 153|                     else {
| 154| 154|                         if (re.number.test(ph.type) && (!is_positive || ph.sign)) {
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 20 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 149| 149|                     }
| 150| 150|                     if (re.json.test(ph.type)) {
| 151| 151|                         output += arg
| 152|    |-                    }
|    | 152|+			}
| 153| 153|                     else {
| 154| 154|                         if (re.number.test(ph.type) && (!is_positive || ph.sign)) {
| 155| 155|                             sign = is_positive ? '+' : '-'
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 20 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 150| 150|                     if (re.json.test(ph.type)) {
| 151| 151|                         output += arg
| 152| 152|                     }
| 153|    |-                    else {
|    | 153|+			else {
| 154| 154|                         if (re.number.test(ph.type) && (!is_positive || ph.sign)) {
| 155| 155|                             sign = is_positive ? '+' : '-'
| 156| 156|                             arg = arg.toString().replace(re.sign, '')
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 24 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 151| 151|                         output += arg
| 152| 152|                     }
| 153| 153|                     else {
| 154|    |-                        if (re.number.test(ph.type) && (!is_positive || ph.sign)) {
|    | 154|+				if (re.number.test(ph.type) && (!is_positive || ph.sign)) {
| 155| 155|                             sign = is_positive ? '+' : '-'
| 156| 156|                             arg = arg.toString().replace(re.sign, '')
| 157| 157|                         }
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 28 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 152| 152|                     }
| 153| 153|                     else {
| 154| 154|                         if (re.number.test(ph.type) && (!is_positive || ph.sign)) {
| 155|    |-                            sign = is_positive ? '+' : '-'
|    | 155|+					sign = is_positive ? '+' : '-'
| 156| 156|                             arg = arg.toString().replace(re.sign, '')
| 157| 157|                         }
| 158| 158|                         else {
|    | [NORMAL] ESLintBear (semi):
|    | Missing semicolon.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 152| 152|                     }
| 153| 153|                     else {
| 154| 154|                         if (re.number.test(ph.type) && (!is_positive || ph.sign)) {
| 155|    |-                            sign = is_positive ? '+' : '-'
|    | 155|+                            sign = is_positive ? '+' : '-';
| 156| 156|                             arg = arg.toString().replace(re.sign, '')
| 157| 157|                         }
| 158| 158|                         else {
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 28 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 153| 153|                     else {
| 154| 154|                         if (re.number.test(ph.type) && (!is_positive || ph.sign)) {
| 155| 155|                             sign = is_positive ? '+' : '-'
| 156|    |-                            arg = arg.toString().replace(re.sign, '')
|    | 156|+					arg = arg.toString().replace(re.sign, '')
| 157| 157|                         }
| 158| 158|                         else {
| 159| 159|                             sign = ''
|    | [NORMAL] ESLintBear (semi):
|    | Missing semicolon.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 153| 153|                     else {
| 154| 154|                         if (re.number.test(ph.type) && (!is_positive || ph.sign)) {
| 155| 155|                             sign = is_positive ? '+' : '-'
| 156|    |-                            arg = arg.toString().replace(re.sign, '')
|    | 156|+                            arg = arg.toString().replace(re.sign, '');
| 157| 157|                         }
| 158| 158|                         else {
| 159| 159|                             sign = ''
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 24 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 154| 154|                         if (re.number.test(ph.type) && (!is_positive || ph.sign)) {
| 155| 155|                             sign = is_positive ? '+' : '-'
| 156| 156|                             arg = arg.toString().replace(re.sign, '')
| 157|    |-                        }
|    | 157|+				}
| 158| 158|                         else {
| 159| 159|                             sign = ''
| 160| 160|                         }
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 24 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 155| 155|                             sign = is_positive ? '+' : '-'
| 156| 156|                             arg = arg.toString().replace(re.sign, '')
| 157| 157|                         }
| 158|    |-                        else {
|    | 158|+				else {
| 159| 159|                             sign = ''
| 160| 160|                         }
| 161| 161|                         pad_character = ph.pad_char ? ph.pad_char === '0' ? '0' : ph.pad_char.charAt(1) : ' '
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 28 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 156| 156|                             arg = arg.toString().replace(re.sign, '')
| 157| 157|                         }
| 158| 158|                         else {
| 159|    |-                            sign = ''
|    | 159|+					sign = ''
| 160| 160|                         }
| 161| 161|                         pad_character = ph.pad_char ? ph.pad_char === '0' ? '0' : ph.pad_char.charAt(1) : ' '
| 162| 162|                         pad_length = ph.width - (sign + arg).length
|    | [NORMAL] ESLintBear (semi):
|    | Missing semicolon.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 156| 156|                             arg = arg.toString().replace(re.sign, '')
| 157| 157|                         }
| 158| 158|                         else {
| 159|    |-                            sign = ''
|    | 159|+                            sign = '';
| 160| 160|                         }
| 161| 161|                         pad_character = ph.pad_char ? ph.pad_char === '0' ? '0' : ph.pad_char.charAt(1) : ' '
| 162| 162|                         pad_length = ph.width - (sign + arg).length
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 24 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 157| 157|                         }
| 158| 158|                         else {
| 159| 159|                             sign = ''
| 160|    |-                        }
|    | 160|+				}
| 161| 161|                         pad_character = ph.pad_char ? ph.pad_char === '0' ? '0' : ph.pad_char.charAt(1) : ' '
| 162| 162|                         pad_length = ph.width - (sign + arg).length
| 163| 163|                         pad = ph.width ? (pad_length > 0 ? pad_character.repeat(pad_length) : '') : ''
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 24 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 158| 158|                         else {
| 159| 159|                             sign = ''
| 160| 160|                         }
| 161|    |-                        pad_character = ph.pad_char ? ph.pad_char === '0' ? '0' : ph.pad_char.charAt(1) : ' '
|    | 161|+				pad_character = ph.pad_char ? ph.pad_char === '0' ? '0' : ph.pad_char.charAt(1) : ' '
| 162| 162|                         pad_length = ph.width - (sign + arg).length
| 163| 163|                         pad = ph.width ? (pad_length > 0 ? pad_character.repeat(pad_length) : '') : ''
| 164| 164|                         output += ph.align ? sign + arg + pad : (pad_character === '0' ? sign + pad + arg : pad + sign + arg)
|    | [NORMAL] ESLintBear (semi):
|    | Missing semicolon.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 158| 158|                         else {
| 159| 159|                             sign = ''
| 160| 160|                         }
| 161|    |-                        pad_character = ph.pad_char ? ph.pad_char === '0' ? '0' : ph.pad_char.charAt(1) : ' '
|    | 161|+                        pad_character = ph.pad_char ? ph.pad_char === '0' ? '0' : ph.pad_char.charAt(1) : ' ';
| 162| 162|                         pad_length = ph.width - (sign + arg).length
| 163| 163|                         pad = ph.width ? (pad_length > 0 ? pad_character.repeat(pad_length) : '') : ''
| 164| 164|                         output += ph.align ? sign + arg + pad : (pad_character === '0' ? sign + pad + arg : pad + sign + arg)
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 24 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 159| 159|                             sign = ''
| 160| 160|                         }
| 161| 161|                         pad_character = ph.pad_char ? ph.pad_char === '0' ? '0' : ph.pad_char.charAt(1) : ' '
| 162|    |-                        pad_length = ph.width - (sign + arg).length
|    | 162|+				pad_length = ph.width - (sign + arg).length
| 163| 163|                         pad = ph.width ? (pad_length > 0 ? pad_character.repeat(pad_length) : '') : ''
| 164| 164|                         output += ph.align ? sign + arg + pad : (pad_character === '0' ? sign + pad + arg : pad + sign + arg)
| 165| 165|                     }
|    | [NORMAL] ESLintBear (semi):
|    | Missing semicolon.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 159| 159|                             sign = ''
| 160| 160|                         }
| 161| 161|                         pad_character = ph.pad_char ? ph.pad_char === '0' ? '0' : ph.pad_char.charAt(1) : ' '
| 162|    |-                        pad_length = ph.width - (sign + arg).length
|    | 162|+                        pad_length = ph.width - (sign + arg).length;
| 163| 163|                         pad = ph.width ? (pad_length > 0 ? pad_character.repeat(pad_length) : '') : ''
| 164| 164|                         output += ph.align ? sign + arg + pad : (pad_character === '0' ? sign + pad + arg : pad + sign + arg)
| 165| 165|                     }
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 24 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 160| 160|                         }
| 161| 161|                         pad_character = ph.pad_char ? ph.pad_char === '0' ? '0' : ph.pad_char.charAt(1) : ' '
| 162| 162|                         pad_length = ph.width - (sign + arg).length
| 163|    |-                        pad = ph.width ? (pad_length > 0 ? pad_character.repeat(pad_length) : '') : ''
|    | 163|+				pad = ph.width ? (pad_length > 0 ? pad_character.repeat(pad_length) : '') : ''
| 164| 164|                         output += ph.align ? sign + arg + pad : (pad_character === '0' ? sign + pad + arg : pad + sign + arg)
| 165| 165|                     }
| 166| 166|                 }
|    | [NORMAL] ESLintBear (semi):
|    | Missing semicolon.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 160| 160|                         }
| 161| 161|                         pad_character = ph.pad_char ? ph.pad_char === '0' ? '0' : ph.pad_char.charAt(1) : ' '
| 162| 162|                         pad_length = ph.width - (sign + arg).length
| 163|    |-                        pad = ph.width ? (pad_length > 0 ? pad_character.repeat(pad_length) : '') : ''
|    | 163|+                        pad = ph.width ? (pad_length > 0 ? pad_character.repeat(pad_length) : '') : '';
| 164| 164|                         output += ph.align ? sign + arg + pad : (pad_character === '0' ? sign + pad + arg : pad + sign + arg)
| 165| 165|                     }
| 166| 166|                 }
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 24 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 161| 161|                         pad_character = ph.pad_char ? ph.pad_char === '0' ? '0' : ph.pad_char.charAt(1) : ' '
| 162| 162|                         pad_length = ph.width - (sign + arg).length
| 163| 163|                         pad = ph.width ? (pad_length > 0 ? pad_character.repeat(pad_length) : '') : ''
| 164|    |-                        output += ph.align ? sign + arg + pad : (pad_character === '0' ? sign + pad + arg : pad + sign + arg)
|    | 164|+				output += ph.align ? sign + arg + pad : (pad_character === '0' ? sign + pad + arg : pad + sign + arg)
| 165| 165|                     }
| 166| 166|                 }
| 167| 167|             }
|    | [NORMAL] ESLintBear (semi):
|    | Missing semicolon.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 161| 161|                         pad_character = ph.pad_char ? ph.pad_char === '0' ? '0' : ph.pad_char.charAt(1) : ' '
| 162| 162|                         pad_length = ph.width - (sign + arg).length
| 163| 163|                         pad = ph.width ? (pad_length > 0 ? pad_character.repeat(pad_length) : '') : ''
| 164|    |-                        output += ph.align ? sign + arg + pad : (pad_character === '0' ? sign + pad + arg : pad + sign + arg)
|    | 164|+                        output += ph.align ? sign + arg + pad : (pad_character === '0' ? sign + pad + arg : pad + sign + arg);
| 165| 165|                     }
| 166| 166|                 }
| 167| 167|             }
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 20 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 162| 162|                         pad_length = ph.width - (sign + arg).length
| 163| 163|                         pad = ph.width ? (pad_length > 0 ? pad_character.repeat(pad_length) : '') : ''
| 164| 164|                         output += ph.align ? sign + arg + pad : (pad_character === '0' ? sign + pad + arg : pad + sign + arg)
| 165|    |-                    }
|    | 165|+			}
| 166| 166|                 }
| 167| 167|             }
| 168| 168|             return output
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 2 tabs but found 16 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 163| 163|                         pad = ph.width ? (pad_length > 0 ? pad_character.repeat(pad_length) : '') : ''
| 164| 164|                         output += ph.align ? sign + arg + pad : (pad_character === '0' ? sign + pad + arg : pad + sign + arg)
| 165| 165|                     }
| 166|    |-                }
|    | 166|+		}
| 167| 167|             }
| 168| 168|             return output
| 169| 169|         }
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 1 tab but found 12 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 164| 164|                         output += ph.align ? sign + arg + pad : (pad_character === '0' ? sign + pad + arg : pad + sign + arg)
| 165| 165|                     }
| 166| 166|                 }
| 167|    |-            }
|    | 167|+	}
| 168| 168|             return output
| 169| 169|         }
| 170| 170| 
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 1 tab but found 12 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 165| 165|                     }
| 166| 166|                 }
| 167| 167|             }
| 168|    |-            return output
|    | 168|+	return output
| 169| 169|         }
| 170| 170| 
| 171| 171|         var sprintf_cache = Object.create(null)
|    | [NORMAL] ESLintBear (semi):
|    | Missing semicolon.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 165| 165|                     }
| 166| 166|                 }
| 167| 167|             }
| 168|    |-            return output
|    | 168|+            return output;
| 169| 169|         }
| 170| 170| 
| 171| 171|         var sprintf_cache = Object.create(null)
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 0 tabs but found 8 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 166| 166|                 }
| 167| 167|             }
| 168| 168|             return output
| 169|    |-        }
|    | 169|+}
| 170| 170| 
| 171| 171|         var sprintf_cache = Object.create(null)
| 172| 172| 
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 0 tabs but found 8 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 168| 168|             return output
| 169| 169|         }
| 170| 170| 
| 171|    |-        var sprintf_cache = Object.create(null)
|    | 171|+var sprintf_cache = Object.create(null)
| 172| 172| 
| 173| 173|         function sprintf_parse(fmt) {
| 174| 174|             if (sprintf_cache[fmt]) {
|    | [NORMAL] ESLintBear (semi):
|    | Missing semicolon.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 168| 168|             return output
| 169| 169|         }
| 170| 170| 
| 171|    |-        var sprintf_cache = Object.create(null)
|    | 171|+        var sprintf_cache = Object.create(null);
| 172| 172| 
| 173| 173|         function sprintf_parse(fmt) {
| 174| 174|             if (sprintf_cache[fmt]) {
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 0 tabs but found 8 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 170| 170| 
| 171| 171|         var sprintf_cache = Object.create(null)
| 172| 172| 
| 173|    |-        function sprintf_parse(fmt) {
|    | 173|+function sprintf_parse(fmt) {
| 174| 174|             if (sprintf_cache[fmt]) {
| 175| 175|                 return sprintf_cache[fmt]
| 176| 176|             }
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 1 tab but found 12 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 171| 171|         var sprintf_cache = Object.create(null)
| 172| 172| 
| 173| 173|         function sprintf_parse(fmt) {
| 174|    |-            if (sprintf_cache[fmt]) {
|    | 174|+	if (sprintf_cache[fmt]) {
| 175| 175|                 return sprintf_cache[fmt]
| 176| 176|             }
| 177| 177| 
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 2 tabs but found 16 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 172| 172| 
| 173| 173|         function sprintf_parse(fmt) {
| 174| 174|             if (sprintf_cache[fmt]) {
| 175|    |-                return sprintf_cache[fmt]
|    | 175|+		return sprintf_cache[fmt]
| 176| 176|             }
| 177| 177| 
| 178| 178|             var _fmt = fmt, match, parse_tree = [], arg_names = 0
|    | [NORMAL] ESLintBear (semi):
|    | Missing semicolon.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 172| 172| 
| 173| 173|         function sprintf_parse(fmt) {
| 174| 174|             if (sprintf_cache[fmt]) {
| 175|    |-                return sprintf_cache[fmt]
|    | 175|+                return sprintf_cache[fmt];
| 176| 176|             }
| 177| 177| 
| 178| 178|             var _fmt = fmt, match, parse_tree = [], arg_names = 0
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 1 tab but found 12 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 173| 173|         function sprintf_parse(fmt) {
| 174| 174|             if (sprintf_cache[fmt]) {
| 175| 175|                 return sprintf_cache[fmt]
| 176|    |-            }
|    | 176|+	}
| 177| 177| 
| 178| 178|             var _fmt = fmt, match, parse_tree = [], arg_names = 0
| 179| 179|             while (_fmt) {
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 1 tab but found 12 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 175| 175|                 return sprintf_cache[fmt]
| 176| 176|             }
| 177| 177| 
| 178|    |-            var _fmt = fmt, match, parse_tree = [], arg_names = 0
|    | 178|+	var _fmt = fmt, match, parse_tree = [], arg_names = 0
| 179| 179|             while (_fmt) {
| 180| 180|                 if ((match = re.text.exec(_fmt)) !== null) {
| 181| 181|                     parse_tree.push(match[0])
|    | [NORMAL] ESLintBear (semi):
|    | Missing semicolon.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 175| 175|                 return sprintf_cache[fmt]
| 176| 176|             }
| 177| 177| 
| 178|    |-            var _fmt = fmt, match, parse_tree = [], arg_names = 0
|    | 178|+            var _fmt = fmt, match, parse_tree = [], arg_names = 0;
| 179| 179|             while (_fmt) {
| 180| 180|                 if ((match = re.text.exec(_fmt)) !== null) {
| 181| 181|                     parse_tree.push(match[0])
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 1 tab but found 12 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 176| 176|             }
| 177| 177| 
| 178| 178|             var _fmt = fmt, match, parse_tree = [], arg_names = 0
| 179|    |-            while (_fmt) {
|    | 179|+	while (_fmt) {
| 180| 180|                 if ((match = re.text.exec(_fmt)) !== null) {
| 181| 181|                     parse_tree.push(match[0])
| 182| 182|                 }
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 2 tabs but found 16 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 177| 177| 
| 178| 178|             var _fmt = fmt, match, parse_tree = [], arg_names = 0
| 179| 179|             while (_fmt) {
| 180|    |-                if ((match = re.text.exec(_fmt)) !== null) {
|    | 180|+		if ((match = re.text.exec(_fmt)) !== null) {
| 181| 181|                     parse_tree.push(match[0])
| 182| 182|                 }
| 183| 183|                 else if ((match = re.modulo.exec(_fmt)) !== null) {
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 20 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 178| 178|             var _fmt = fmt, match, parse_tree = [], arg_names = 0
| 179| 179|             while (_fmt) {
| 180| 180|                 if ((match = re.text.exec(_fmt)) !== null) {
| 181|    |-                    parse_tree.push(match[0])
|    | 181|+			parse_tree.push(match[0])
| 182| 182|                 }
| 183| 183|                 else if ((match = re.modulo.exec(_fmt)) !== null) {
| 184| 184|                     parse_tree.push('%')
|    | [NORMAL] ESLintBear (semi):
|    | Missing semicolon.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 178| 178|             var _fmt = fmt, match, parse_tree = [], arg_names = 0
| 179| 179|             while (_fmt) {
| 180| 180|                 if ((match = re.text.exec(_fmt)) !== null) {
| 181|    |-                    parse_tree.push(match[0])
|    | 181|+                    parse_tree.push(match[0]);
| 182| 182|                 }
| 183| 183|                 else if ((match = re.modulo.exec(_fmt)) !== null) {
| 184| 184|                     parse_tree.push('%')
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 2 tabs but found 16 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 179| 179|             while (_fmt) {
| 180| 180|                 if ((match = re.text.exec(_fmt)) !== null) {
| 181| 181|                     parse_tree.push(match[0])
| 182|    |-                }
|    | 182|+		}
| 183| 183|                 else if ((match = re.modulo.exec(_fmt)) !== null) {
| 184| 184|                     parse_tree.push('%')
| 185| 185|                 }
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 2 tabs but found 16 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 180| 180|                 if ((match = re.text.exec(_fmt)) !== null) {
| 181| 181|                     parse_tree.push(match[0])
| 182| 182|                 }
| 183|    |-                else if ((match = re.modulo.exec(_fmt)) !== null) {
|    | 183|+		else if ((match = re.modulo.exec(_fmt)) !== null) {
| 184| 184|                     parse_tree.push('%')
| 185| 185|                 }
| 186| 186|                 else if ((match = re.placeholder.exec(_fmt)) !== null) {
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 20 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 181| 181|                     parse_tree.push(match[0])
| 182| 182|                 }
| 183| 183|                 else if ((match = re.modulo.exec(_fmt)) !== null) {
| 184|    |-                    parse_tree.push('%')
|    | 184|+			parse_tree.push('%')
| 185| 185|                 }
| 186| 186|                 else if ((match = re.placeholder.exec(_fmt)) !== null) {
| 187| 187|                     if (match[2]) {
|    | [NORMAL] ESLintBear (semi):
|    | Missing semicolon.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 181| 181|                     parse_tree.push(match[0])
| 182| 182|                 }
| 183| 183|                 else if ((match = re.modulo.exec(_fmt)) !== null) {
| 184|    |-                    parse_tree.push('%')
|    | 184|+                    parse_tree.push('%');
| 185| 185|                 }
| 186| 186|                 else if ((match = re.placeholder.exec(_fmt)) !== null) {
| 187| 187|                     if (match[2]) {
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 2 tabs but found 16 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 182| 182|                 }
| 183| 183|                 else if ((match = re.modulo.exec(_fmt)) !== null) {
| 184| 184|                     parse_tree.push('%')
| 185|    |-                }
|    | 185|+		}
| 186| 186|                 else if ((match = re.placeholder.exec(_fmt)) !== null) {
| 187| 187|                     if (match[2]) {
| 188| 188|                         arg_names |= 1
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 2 tabs but found 16 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 183| 183|                 else if ((match = re.modulo.exec(_fmt)) !== null) {
| 184| 184|                     parse_tree.push('%')
| 185| 185|                 }
| 186|    |-                else if ((match = re.placeholder.exec(_fmt)) !== null) {
|    | 186|+		else if ((match = re.placeholder.exec(_fmt)) !== null) {
| 187| 187|                     if (match[2]) {
| 188| 188|                         arg_names |= 1
| 189| 189|                         var field_list = [], replacement_field = match[2], field_match = []
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 20 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 184| 184|                     parse_tree.push('%')
| 185| 185|                 }
| 186| 186|                 else if ((match = re.placeholder.exec(_fmt)) !== null) {
| 187|    |-                    if (match[2]) {
|    | 187|+			if (match[2]) {
| 188| 188|                         arg_names |= 1
| 189| 189|                         var field_list = [], replacement_field = match[2], field_match = []
| 190| 190|                         if ((field_match = re.key.exec(replacement_field)) !== null) {
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 24 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 185| 185|                 }
| 186| 186|                 else if ((match = re.placeholder.exec(_fmt)) !== null) {
| 187| 187|                     if (match[2]) {
| 188|    |-                        arg_names |= 1
|    | 188|+				arg_names |= 1
| 189| 189|                         var field_list = [], replacement_field = match[2], field_match = []
| 190| 190|                         if ((field_match = re.key.exec(replacement_field)) !== null) {
| 191| 191|                             field_list.push(field_match[1])
|    | [NORMAL] ESLintBear (semi):
|    | Missing semicolon.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 185| 185|                 }
| 186| 186|                 else if ((match = re.placeholder.exec(_fmt)) !== null) {
| 187| 187|                     if (match[2]) {
| 188|    |-                        arg_names |= 1
|    | 188|+                        arg_names |= 1;
| 189| 189|                         var field_list = [], replacement_field = match[2], field_match = []
| 190| 190|                         if ((field_match = re.key.exec(replacement_field)) !== null) {
| 191| 191|                             field_list.push(field_match[1])
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 24 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 186| 186|                 else if ((match = re.placeholder.exec(_fmt)) !== null) {
| 187| 187|                     if (match[2]) {
| 188| 188|                         arg_names |= 1
| 189|    |-                        var field_list = [], replacement_field = match[2], field_match = []
|    | 189|+				var field_list = [], replacement_field = match[2], field_match = []
| 190| 190|                         if ((field_match = re.key.exec(replacement_field)) !== null) {
| 191| 191|                             field_list.push(field_match[1])
| 192| 192|                             while ((replacement_field = replacement_field.substring(field_match[0].length)) !== '') {
|    | [NORMAL] ESLintBear (semi):
|    | Missing semicolon.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 186| 186|                 else if ((match = re.placeholder.exec(_fmt)) !== null) {
| 187| 187|                     if (match[2]) {
| 188| 188|                         arg_names |= 1
| 189|    |-                        var field_list = [], replacement_field = match[2], field_match = []
|    | 189|+                        var field_list = [], replacement_field = match[2], field_match = [];
| 190| 190|                         if ((field_match = re.key.exec(replacement_field)) !== null) {
| 191| 191|                             field_list.push(field_match[1])
| 192| 192|                             while ((replacement_field = replacement_field.substring(field_match[0].length)) !== '') {
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 24 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 187| 187|                     if (match[2]) {
| 188| 188|                         arg_names |= 1
| 189| 189|                         var field_list = [], replacement_field = match[2], field_match = []
| 190|    |-                        if ((field_match = re.key.exec(replacement_field)) !== null) {
|    | 190|+				if ((field_match = re.key.exec(replacement_field)) !== null) {
| 191| 191|                             field_list.push(field_match[1])
| 192| 192|                             while ((replacement_field = replacement_field.substring(field_match[0].length)) !== '') {
| 193| 193|                                 if ((field_match = re.key_access.exec(replacement_field)) !== null) {
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 28 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 188| 188|                         arg_names |= 1
| 189| 189|                         var field_list = [], replacement_field = match[2], field_match = []
| 190| 190|                         if ((field_match = re.key.exec(replacement_field)) !== null) {
| 191|    |-                            field_list.push(field_match[1])
|    | 191|+					field_list.push(field_match[1])
| 192| 192|                             while ((replacement_field = replacement_field.substring(field_match[0].length)) !== '') {
| 193| 193|                                 if ((field_match = re.key_access.exec(replacement_field)) !== null) {
| 194| 194|                                     field_list.push(field_match[1])
|    | [NORMAL] ESLintBear (semi):
|    | Missing semicolon.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 188| 188|                         arg_names |= 1
| 189| 189|                         var field_list = [], replacement_field = match[2], field_match = []
| 190| 190|                         if ((field_match = re.key.exec(replacement_field)) !== null) {
| 191|    |-                            field_list.push(field_match[1])
|    | 191|+                            field_list.push(field_match[1]);
| 192| 192|                             while ((replacement_field = replacement_field.substring(field_match[0].length)) !== '') {
| 193| 193|                                 if ((field_match = re.key_access.exec(replacement_field)) !== null) {
| 194| 194|                                     field_list.push(field_match[1])
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 28 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 189| 189|                         var field_list = [], replacement_field = match[2], field_match = []
| 190| 190|                         if ((field_match = re.key.exec(replacement_field)) !== null) {
| 191| 191|                             field_list.push(field_match[1])
| 192|    |-                            while ((replacement_field = replacement_field.substring(field_match[0].length)) !== '') {
|    | 192|+					while ((replacement_field = replacement_field.substring(field_match[0].length)) !== '') {
| 193| 193|                                 if ((field_match = re.key_access.exec(replacement_field)) !== null) {
| 194| 194|                                     field_list.push(field_match[1])
| 195| 195|                                 }
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 6 tabs but found 32 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 190| 190|                         if ((field_match = re.key.exec(replacement_field)) !== null) {
| 191| 191|                             field_list.push(field_match[1])
| 192| 192|                             while ((replacement_field = replacement_field.substring(field_match[0].length)) !== '') {
| 193|    |-                                if ((field_match = re.key_access.exec(replacement_field)) !== null) {
|    | 193|+						if ((field_match = re.key_access.exec(replacement_field)) !== null) {
| 194| 194|                                     field_list.push(field_match[1])
| 195| 195|                                 }
| 196| 196|                                 else if ((field_match = re.index_access.exec(replacement_field)) !== null) {
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 7 tabs but found 36 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 191| 191|                             field_list.push(field_match[1])
| 192| 192|                             while ((replacement_field = replacement_field.substring(field_match[0].length)) !== '') {
| 193| 193|                                 if ((field_match = re.key_access.exec(replacement_field)) !== null) {
| 194|    |-                                    field_list.push(field_match[1])
|    | 194|+							field_list.push(field_match[1])
| 195| 195|                                 }
| 196| 196|                                 else if ((field_match = re.index_access.exec(replacement_field)) !== null) {
| 197| 197|                                     field_list.push(field_match[1])
|    | [NORMAL] ESLintBear (semi):
|    | Missing semicolon.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 191| 191|                             field_list.push(field_match[1])
| 192| 192|                             while ((replacement_field = replacement_field.substring(field_match[0].length)) !== '') {
| 193| 193|                                 if ((field_match = re.key_access.exec(replacement_field)) !== null) {
| 194|    |-                                    field_list.push(field_match[1])
|    | 194|+                                    field_list.push(field_match[1]);
| 195| 195|                                 }
| 196| 196|                                 else if ((field_match = re.index_access.exec(replacement_field)) !== null) {
| 197| 197|                                     field_list.push(field_match[1])
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 6 tabs but found 32 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 192| 192|                             while ((replacement_field = replacement_field.substring(field_match[0].length)) !== '') {
| 193| 193|                                 if ((field_match = re.key_access.exec(replacement_field)) !== null) {
| 194| 194|                                     field_list.push(field_match[1])
| 195|    |-                                }
|    | 195|+						}
| 196| 196|                                 else if ((field_match = re.index_access.exec(replacement_field)) !== null) {
| 197| 197|                                     field_list.push(field_match[1])
| 198| 198|                                 }
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 6 tabs but found 32 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 193| 193|                                 if ((field_match = re.key_access.exec(replacement_field)) !== null) {
| 194| 194|                                     field_list.push(field_match[1])
| 195| 195|                                 }
| 196|    |-                                else if ((field_match = re.index_access.exec(replacement_field)) !== null) {
|    | 196|+						else if ((field_match = re.index_access.exec(replacement_field)) !== null) {
| 197| 197|                                     field_list.push(field_match[1])
| 198| 198|                                 }
| 199| 199|                                 else {
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 7 tabs but found 36 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 194| 194|                                     field_list.push(field_match[1])
| 195| 195|                                 }
| 196| 196|                                 else if ((field_match = re.index_access.exec(replacement_field)) !== null) {
| 197|    |-                                    field_list.push(field_match[1])
|    | 197|+							field_list.push(field_match[1])
| 198| 198|                                 }
| 199| 199|                                 else {
| 200| 200|                                     throw new SyntaxError('[sprintf] failed to parse named argument key')
|    | [NORMAL] ESLintBear (semi):
|    | Missing semicolon.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 194| 194|                                     field_list.push(field_match[1])
| 195| 195|                                 }
| 196| 196|                                 else if ((field_match = re.index_access.exec(replacement_field)) !== null) {
| 197|    |-                                    field_list.push(field_match[1])
|    | 197|+                                    field_list.push(field_match[1]);
| 198| 198|                                 }
| 199| 199|                                 else {
| 200| 200|                                     throw new SyntaxError('[sprintf] failed to parse named argument key')
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 6 tabs but found 32 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 195| 195|                                 }
| 196| 196|                                 else if ((field_match = re.index_access.exec(replacement_field)) !== null) {
| 197| 197|                                     field_list.push(field_match[1])
| 198|    |-                                }
|    | 198|+						}
| 199| 199|                                 else {
| 200| 200|                                     throw new SyntaxError('[sprintf] failed to parse named argument key')
| 201| 201|                                 }
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 6 tabs but found 32 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 196| 196|                                 else if ((field_match = re.index_access.exec(replacement_field)) !== null) {
| 197| 197|                                     field_list.push(field_match[1])
| 198| 198|                                 }
| 199|    |-                                else {
|    | 199|+						else {
| 200| 200|                                     throw new SyntaxError('[sprintf] failed to parse named argument key')
| 201| 201|                                 }
| 202| 202|                             }
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 7 tabs but found 36 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 197| 197|                                     field_list.push(field_match[1])
| 198| 198|                                 }
| 199| 199|                                 else {
| 200|    |-                                    throw new SyntaxError('[sprintf] failed to parse named argument key')
|    | 200|+							throw new SyntaxError('[sprintf] failed to parse named argument key')
| 201| 201|                                 }
| 202| 202|                             }
| 203| 203|                         }
|    | [NORMAL] ESLintBear (semi):
|    | Missing semicolon.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 197| 197|                                     field_list.push(field_match[1])
| 198| 198|                                 }
| 199| 199|                                 else {
| 200|    |-                                    throw new SyntaxError('[sprintf] failed to parse named argument key')
|    | 200|+                                    throw new SyntaxError('[sprintf] failed to parse named argument key');
| 201| 201|                                 }
| 202| 202|                             }
| 203| 203|                         }
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 6 tabs but found 32 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 198| 198|                                 }
| 199| 199|                                 else {
| 200| 200|                                     throw new SyntaxError('[sprintf] failed to parse named argument key')
| 201|    |-                                }
|    | 201|+						}
| 202| 202|                             }
| 203| 203|                         }
| 204| 204|                         else {
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 28 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 199| 199|                                 else {
| 200| 200|                                     throw new SyntaxError('[sprintf] failed to parse named argument key')
| 201| 201|                                 }
| 202|    |-                            }
|    | 202|+					}
| 203| 203|                         }
| 204| 204|                         else {
| 205| 205|                             throw new SyntaxError('[sprintf] failed to parse named argument key')
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 24 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 200| 200|                                     throw new SyntaxError('[sprintf] failed to parse named argument key')
| 201| 201|                                 }
| 202| 202|                             }
| 203|    |-                        }
|    | 203|+				}
| 204| 204|                         else {
| 205| 205|                             throw new SyntaxError('[sprintf] failed to parse named argument key')
| 206| 206|                         }
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 24 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 201| 201|                                 }
| 202| 202|                             }
| 203| 203|                         }
| 204|    |-                        else {
|    | 204|+				else {
| 205| 205|                             throw new SyntaxError('[sprintf] failed to parse named argument key')
| 206| 206|                         }
| 207| 207|                         match[2] = field_list
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 28 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 202| 202|                             }
| 203| 203|                         }
| 204| 204|                         else {
| 205|    |-                            throw new SyntaxError('[sprintf] failed to parse named argument key')
|    | 205|+					throw new SyntaxError('[sprintf] failed to parse named argument key')
| 206| 206|                         }
| 207| 207|                         match[2] = field_list
| 208| 208|                     }
|    | [NORMAL] ESLintBear (semi):
|    | Missing semicolon.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 202| 202|                             }
| 203| 203|                         }
| 204| 204|                         else {
| 205|    |-                            throw new SyntaxError('[sprintf] failed to parse named argument key')
|    | 205|+                            throw new SyntaxError('[sprintf] failed to parse named argument key');
| 206| 206|                         }
| 207| 207|                         match[2] = field_list
| 208| 208|                     }
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 24 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 203| 203|                         }
| 204| 204|                         else {
| 205| 205|                             throw new SyntaxError('[sprintf] failed to parse named argument key')
| 206|    |-                        }
|    | 206|+				}
| 207| 207|                         match[2] = field_list
| 208| 208|                     }
| 209| 209|                     else {
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 24 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 204| 204|                         else {
| 205| 205|                             throw new SyntaxError('[sprintf] failed to parse named argument key')
| 206| 206|                         }
| 207|    |-                        match[2] = field_list
|    | 207|+				match[2] = field_list
| 208| 208|                     }
| 209| 209|                     else {
| 210| 210|                         arg_names |= 2
|    | [NORMAL] ESLintBear (semi):
|    | Missing semicolon.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 204| 204|                         else {
| 205| 205|                             throw new SyntaxError('[sprintf] failed to parse named argument key')
| 206| 206|                         }
| 207|    |-                        match[2] = field_list
|    | 207|+                        match[2] = field_list;
| 208| 208|                     }
| 209| 209|                     else {
| 210| 210|                         arg_names |= 2
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 20 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 205| 205|                             throw new SyntaxError('[sprintf] failed to parse named argument key')
| 206| 206|                         }
| 207| 207|                         match[2] = field_list
| 208|    |-                    }
|    | 208|+			}
| 209| 209|                     else {
| 210| 210|                         arg_names |= 2
| 211| 211|                     }
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 20 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 206| 206|                         }
| 207| 207|                         match[2] = field_list
| 208| 208|                     }
| 209|    |-                    else {
|    | 209|+			else {
| 210| 210|                         arg_names |= 2
| 211| 211|                     }
| 212| 212|                     if (arg_names === 3) {
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 24 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 207| 207|                         match[2] = field_list
| 208| 208|                     }
| 209| 209|                     else {
| 210|    |-                        arg_names |= 2
|    | 210|+				arg_names |= 2
| 211| 211|                     }
| 212| 212|                     if (arg_names === 3) {
| 213| 213|                         throw new Error('[sprintf] mixing positional and named placeholders is not (yet) supported')
|    | [NORMAL] ESLintBear (semi):
|    | Missing semicolon.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 207| 207|                         match[2] = field_list
| 208| 208|                     }
| 209| 209|                     else {
| 210|    |-                        arg_names |= 2
|    | 210|+                        arg_names |= 2;
| 211| 211|                     }
| 212| 212|                     if (arg_names === 3) {
| 213| 213|                         throw new Error('[sprintf] mixing positional and named placeholders is not (yet) supported')
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 20 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 208| 208|                     }
| 209| 209|                     else {
| 210| 210|                         arg_names |= 2
| 211|    |-                    }
|    | 211|+			}
| 212| 212|                     if (arg_names === 3) {
| 213| 213|                         throw new Error('[sprintf] mixing positional and named placeholders is not (yet) supported')
| 214| 214|                     }
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 20 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 209| 209|                     else {
| 210| 210|                         arg_names |= 2
| 211| 211|                     }
| 212|    |-                    if (arg_names === 3) {
|    | 212|+			if (arg_names === 3) {
| 213| 213|                         throw new Error('[sprintf] mixing positional and named placeholders is not (yet) supported')
| 214| 214|                     }
| 215| 215| 
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 24 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 210| 210|                         arg_names |= 2
| 211| 211|                     }
| 212| 212|                     if (arg_names === 3) {
| 213|    |-                        throw new Error('[sprintf] mixing positional and named placeholders is not (yet) supported')
|    | 213|+				throw new Error('[sprintf] mixing positional and named placeholders is not (yet) supported')
| 214| 214|                     }
| 215| 215| 
| 216| 216|                     parse_tree.push(
|    | [NORMAL] ESLintBear (semi):
|    | Missing semicolon.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 210| 210|                         arg_names |= 2
| 211| 211|                     }
| 212| 212|                     if (arg_names === 3) {
| 213|    |-                        throw new Error('[sprintf] mixing positional and named placeholders is not (yet) supported')
|    | 213|+                        throw new Error('[sprintf] mixing positional and named placeholders is not (yet) supported');
| 214| 214|                     }
| 215| 215| 
| 216| 216|                     parse_tree.push(
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 20 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 211| 211|                     }
| 212| 212|                     if (arg_names === 3) {
| 213| 213|                         throw new Error('[sprintf] mixing positional and named placeholders is not (yet) supported')
| 214|    |-                    }
|    | 214|+			}
| 215| 215| 
| 216| 216|                     parse_tree.push(
| 217| 217|                         {
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 20 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 213| 213|                         throw new Error('[sprintf] mixing positional and named placeholders is not (yet) supported')
| 214| 214|                     }
| 215| 215| 
| 216|    |-                    parse_tree.push(
|    | 216|+			parse_tree.push(
| 217| 217|                         {
| 218| 218|                             placeholder: match[0],
| 219| 219|                             param_no:    match[1],
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 24 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 214| 214|                     }
| 215| 215| 
| 216| 216|                     parse_tree.push(
| 217|    |-                        {
|    | 217|+				{
| 218| 218|                             placeholder: match[0],
| 219| 219|                             param_no:    match[1],
| 220| 220|                             keys:        match[2],
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 28 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 215| 215| 
| 216| 216|                     parse_tree.push(
| 217| 217|                         {
| 218|    |-                            placeholder: match[0],
|    | 218|+					placeholder: match[0],
| 219| 219|                             param_no:    match[1],
| 220| 220|                             keys:        match[2],
| 221| 221|                             sign:        match[3],
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'placeholder' found.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 215| 215| 
| 216| 216|                     parse_tree.push(
| 217| 217|                         {
| 218|    |-                            placeholder: match[0],
|    | 218|+                            "placeholder": match[0],
| 219| 219|                             param_no:    match[1],
| 220| 220|                             keys:        match[2],
| 221| 221|                             sign:        match[3],
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 28 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 216| 216|                     parse_tree.push(
| 217| 217|                         {
| 218| 218|                             placeholder: match[0],
| 219|    |-                            param_no:    match[1],
|    | 219|+					param_no:    match[1],
| 220| 220|                             keys:        match[2],
| 221| 221|                             sign:        match[3],
| 222| 222|                             pad_char:    match[4],
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'param_no' found.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 216| 216|                     parse_tree.push(
| 217| 217|                         {
| 218| 218|                             placeholder: match[0],
| 219|    |-                            param_no:    match[1],
|    | 219|+                            "param_no":    match[1],
| 220| 220|                             keys:        match[2],
| 221| 221|                             sign:        match[3],
| 222| 222|                             pad_char:    match[4],
|    | [NORMAL] ESLintBear (key-spacing):
|    | Extra space before value for key 'param_no'.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 216| 216|                     parse_tree.push(
| 217| 217|                         {
| 218| 218|                             placeholder: match[0],
| 219|    |-                            param_no:    match[1],
|    | 219|+                            param_no: match[1],
| 220| 220|                             keys:        match[2],
| 221| 221|                             sign:        match[3],
| 222| 222|                             pad_char:    match[4],
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 28 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 217| 217|                         {
| 218| 218|                             placeholder: match[0],
| 219| 219|                             param_no:    match[1],
| 220|    |-                            keys:        match[2],
|    | 220|+					keys:        match[2],
| 221| 221|                             sign:        match[3],
| 222| 222|                             pad_char:    match[4],
| 223| 223|                             align:       match[5],
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'keys' found.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 217| 217|                         {
| 218| 218|                             placeholder: match[0],
| 219| 219|                             param_no:    match[1],
| 220|    |-                            keys:        match[2],
|    | 220|+                            "keys":        match[2],
| 221| 221|                             sign:        match[3],
| 222| 222|                             pad_char:    match[4],
| 223| 223|                             align:       match[5],
|    | [NORMAL] ESLintBear (key-spacing):
|    | Extra space before value for key 'keys'.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 217| 217|                         {
| 218| 218|                             placeholder: match[0],
| 219| 219|                             param_no:    match[1],
| 220|    |-                            keys:        match[2],
|    | 220|+                            keys: match[2],
| 221| 221|                             sign:        match[3],
| 222| 222|                             pad_char:    match[4],
| 223| 223|                             align:       match[5],
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 28 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 218| 218|                             placeholder: match[0],
| 219| 219|                             param_no:    match[1],
| 220| 220|                             keys:        match[2],
| 221|    |-                            sign:        match[3],
|    | 221|+					sign:        match[3],
| 222| 222|                             pad_char:    match[4],
| 223| 223|                             align:       match[5],
| 224| 224|                             width:       match[6],
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'sign' found.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 218| 218|                             placeholder: match[0],
| 219| 219|                             param_no:    match[1],
| 220| 220|                             keys:        match[2],
| 221|    |-                            sign:        match[3],
|    | 221|+                            "sign":        match[3],
| 222| 222|                             pad_char:    match[4],
| 223| 223|                             align:       match[5],
| 224| 224|                             width:       match[6],
|    | [NORMAL] ESLintBear (key-spacing):
|    | Extra space before value for key 'sign'.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 218| 218|                             placeholder: match[0],
| 219| 219|                             param_no:    match[1],
| 220| 220|                             keys:        match[2],
| 221|    |-                            sign:        match[3],
|    | 221|+                            sign: match[3],
| 222| 222|                             pad_char:    match[4],
| 223| 223|                             align:       match[5],
| 224| 224|                             width:       match[6],
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 28 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 219| 219|                             param_no:    match[1],
| 220| 220|                             keys:        match[2],
| 221| 221|                             sign:        match[3],
| 222|    |-                            pad_char:    match[4],
|    | 222|+					pad_char:    match[4],
| 223| 223|                             align:       match[5],
| 224| 224|                             width:       match[6],
| 225| 225|                             precision:   match[7],
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'pad_char' found.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 219| 219|                             param_no:    match[1],
| 220| 220|                             keys:        match[2],
| 221| 221|                             sign:        match[3],
| 222|    |-                            pad_char:    match[4],
|    | 222|+                            "pad_char":    match[4],
| 223| 223|                             align:       match[5],
| 224| 224|                             width:       match[6],
| 225| 225|                             precision:   match[7],
|    | [NORMAL] ESLintBear (key-spacing):
|    | Extra space before value for key 'pad_char'.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 219| 219|                             param_no:    match[1],
| 220| 220|                             keys:        match[2],
| 221| 221|                             sign:        match[3],
| 222|    |-                            pad_char:    match[4],
|    | 222|+                            pad_char: match[4],
| 223| 223|                             align:       match[5],
| 224| 224|                             width:       match[6],
| 225| 225|                             precision:   match[7],
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 28 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 220| 220|                             keys:        match[2],
| 221| 221|                             sign:        match[3],
| 222| 222|                             pad_char:    match[4],
| 223|    |-                            align:       match[5],
|    | 223|+					align:       match[5],
| 224| 224|                             width:       match[6],
| 225| 225|                             precision:   match[7],
| 226| 226|                             type:        match[8]
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'align' found.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 220| 220|                             keys:        match[2],
| 221| 221|                             sign:        match[3],
| 222| 222|                             pad_char:    match[4],
| 223|    |-                            align:       match[5],
|    | 223|+                            "align":       match[5],
| 224| 224|                             width:       match[6],
| 225| 225|                             precision:   match[7],
| 226| 226|                             type:        match[8]
|    | [NORMAL] ESLintBear (key-spacing):
|    | Extra space before value for key 'align'.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 220| 220|                             keys:        match[2],
| 221| 221|                             sign:        match[3],
| 222| 222|                             pad_char:    match[4],
| 223|    |-                            align:       match[5],
|    | 223|+                            align: match[5],
| 224| 224|                             width:       match[6],
| 225| 225|                             precision:   match[7],
| 226| 226|                             type:        match[8]
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 28 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 221| 221|                             sign:        match[3],
| 222| 222|                             pad_char:    match[4],
| 223| 223|                             align:       match[5],
| 224|    |-                            width:       match[6],
|    | 224|+					width:       match[6],
| 225| 225|                             precision:   match[7],
| 226| 226|                             type:        match[8]
| 227| 227|                         }
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'width' found.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 221| 221|                             sign:        match[3],
| 222| 222|                             pad_char:    match[4],
| 223| 223|                             align:       match[5],
| 224|    |-                            width:       match[6],
|    | 224|+                            "width":       match[6],
| 225| 225|                             precision:   match[7],
| 226| 226|                             type:        match[8]
| 227| 227|                         }
|    | [NORMAL] ESLintBear (key-spacing):
|    | Extra space before value for key 'width'.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 221| 221|                             sign:        match[3],
| 222| 222|                             pad_char:    match[4],
| 223| 223|                             align:       match[5],
| 224|    |-                            width:       match[6],
|    | 224|+                            width: match[6],
| 225| 225|                             precision:   match[7],
| 226| 226|                             type:        match[8]
| 227| 227|                         }
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 28 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 222| 222|                             pad_char:    match[4],
| 223| 223|                             align:       match[5],
| 224| 224|                             width:       match[6],
| 225|    |-                            precision:   match[7],
|    | 225|+					precision:   match[7],
| 226| 226|                             type:        match[8]
| 227| 227|                         }
| 228| 228|                     )
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'precision' found.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 222| 222|                             pad_char:    match[4],
| 223| 223|                             align:       match[5],
| 224| 224|                             width:       match[6],
| 225|    |-                            precision:   match[7],
|    | 225|+                            "precision":   match[7],
| 226| 226|                             type:        match[8]
| 227| 227|                         }
| 228| 228|                     )
|    | [NORMAL] ESLintBear (key-spacing):
|    | Extra space before value for key 'precision'.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 222| 222|                             pad_char:    match[4],
| 223| 223|                             align:       match[5],
| 224| 224|                             width:       match[6],
| 225|    |-                            precision:   match[7],
|    | 225|+                            precision: match[7],
| 226| 226|                             type:        match[8]
| 227| 227|                         }
| 228| 228|                     )
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 28 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 223| 223|                             align:       match[5],
| 224| 224|                             width:       match[6],
| 225| 225|                             precision:   match[7],
| 226|    |-                            type:        match[8]
|    | 226|+					type:        match[8]
| 227| 227|                         }
| 228| 228|                     )
| 229| 229|                 }
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'type' found.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 223| 223|                             align:       match[5],
| 224| 224|                             width:       match[6],
| 225| 225|                             precision:   match[7],
| 226|    |-                            type:        match[8]
|    | 226|+                            "type":        match[8]
| 227| 227|                         }
| 228| 228|                     )
| 229| 229|                 }
|    | [NORMAL] ESLintBear (key-spacing):
|    | Extra space before value for key 'type'.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 223| 223|                             align:       match[5],
| 224| 224|                             width:       match[6],
| 225| 225|                             precision:   match[7],
| 226|    |-                            type:        match[8]
|    | 226|+                            type: match[8]
| 227| 227|                         }
| 228| 228|                     )
| 229| 229|                 }
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 24 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 224| 224|                             width:       match[6],
| 225| 225|                             precision:   match[7],
| 226| 226|                             type:        match[8]
| 227|    |-                        }
|    | 227|+				}
| 228| 228|                     )
| 229| 229|                 }
| 230| 230|                 else {
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 20 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 225| 225|                             precision:   match[7],
| 226| 226|                             type:        match[8]
| 227| 227|                         }
| 228|    |-                    )
|    | 228|+			)
| 229| 229|                 }
| 230| 230|                 else {
| 231| 231|                     throw new SyntaxError('[sprintf] unexpected placeholder')
|    | [NORMAL] ESLintBear (semi):
|    | Missing semicolon.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 225| 225|                             precision:   match[7],
| 226| 226|                             type:        match[8]
| 227| 227|                         }
| 228|    |-                    )
|    | 228|+                    );
| 229| 229|                 }
| 230| 230|                 else {
| 231| 231|                     throw new SyntaxError('[sprintf] unexpected placeholder')
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 2 tabs but found 16 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 226| 226|                             type:        match[8]
| 227| 227|                         }
| 228| 228|                     )
| 229|    |-                }
|    | 229|+		}
| 230| 230|                 else {
| 231| 231|                     throw new SyntaxError('[sprintf] unexpected placeholder')
| 232| 232|                 }
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 2 tabs but found 16 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 227| 227|                         }
| 228| 228|                     )
| 229| 229|                 }
| 230|    |-                else {
|    | 230|+		else {
| 231| 231|                     throw new SyntaxError('[sprintf] unexpected placeholder')
| 232| 232|                 }
| 233| 233|                 _fmt = _fmt.substring(match[0].length)
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 20 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 228| 228|                     )
| 229| 229|                 }
| 230| 230|                 else {
| 231|    |-                    throw new SyntaxError('[sprintf] unexpected placeholder')
|    | 231|+			throw new SyntaxError('[sprintf] unexpected placeholder')
| 232| 232|                 }
| 233| 233|                 _fmt = _fmt.substring(match[0].length)
| 234| 234|             }
|    | [NORMAL] ESLintBear (semi):
|    | Missing semicolon.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 228| 228|                     )
| 229| 229|                 }
| 230| 230|                 else {
| 231|    |-                    throw new SyntaxError('[sprintf] unexpected placeholder')
|    | 231|+                    throw new SyntaxError('[sprintf] unexpected placeholder');
| 232| 232|                 }
| 233| 233|                 _fmt = _fmt.substring(match[0].length)
| 234| 234|             }
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 2 tabs but found 16 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 229| 229|                 }
| 230| 230|                 else {
| 231| 231|                     throw new SyntaxError('[sprintf] unexpected placeholder')
| 232|    |-                }
|    | 232|+		}
| 233| 233|                 _fmt = _fmt.substring(match[0].length)
| 234| 234|             }
| 235| 235|             return sprintf_cache[fmt] = parse_tree
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 2 tabs but found 16 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 230| 230|                 else {
| 231| 231|                     throw new SyntaxError('[sprintf] unexpected placeholder')
| 232| 232|                 }
| 233|    |-                _fmt = _fmt.substring(match[0].length)
|    | 233|+		_fmt = _fmt.substring(match[0].length)
| 234| 234|             }
| 235| 235|             return sprintf_cache[fmt] = parse_tree
| 236| 236|         }
|    | [NORMAL] ESLintBear (semi):
|    | Missing semicolon.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 230| 230|                 else {
| 231| 231|                     throw new SyntaxError('[sprintf] unexpected placeholder')
| 232| 232|                 }
| 233|    |-                _fmt = _fmt.substring(match[0].length)
|    | 233|+                _fmt = _fmt.substring(match[0].length);
| 234| 234|             }
| 235| 235|             return sprintf_cache[fmt] = parse_tree
| 236| 236|         }
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 1 tab but found 12 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 231| 231|                     throw new SyntaxError('[sprintf] unexpected placeholder')
| 232| 232|                 }
| 233| 233|                 _fmt = _fmt.substring(match[0].length)
| 234|    |-            }
|    | 234|+	}
| 235| 235|             return sprintf_cache[fmt] = parse_tree
| 236| 236|         }
| 237| 237| 
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 1 tab but found 12 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 232| 232|                 }
| 233| 233|                 _fmt = _fmt.substring(match[0].length)
| 234| 234|             }
| 235|    |-            return sprintf_cache[fmt] = parse_tree
|    | 235|+	return sprintf_cache[fmt] = parse_tree
| 236| 236|         }
| 237| 237| 
| 238| 238|         /**
|    | [NORMAL] ESLintBear (semi):
|    | Missing semicolon.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 232| 232|                 }
| 233| 233|                 _fmt = _fmt.substring(match[0].length)
| 234| 234|             }
| 235|    |-            return sprintf_cache[fmt] = parse_tree
|    | 235|+            return sprintf_cache[fmt] = parse_tree;
| 236| 236|         }
| 237| 237| 
| 238| 238|         /**
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 0 tabs but found 8 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 233| 233|                 _fmt = _fmt.substring(match[0].length)
| 234| 234|             }
| 235| 235|             return sprintf_cache[fmt] = parse_tree
| 236|    |-        }
|    | 236|+}
| 237| 237| 
| 238| 238|         /**
| 239| 239|          * export to either browser or node.js
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 0 tabs but found 8 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 235| 235|             return sprintf_cache[fmt] = parse_tree
| 236| 236|         }
| 237| 237| 
| 238|    |-        /**
|    | 238|+/**
| 239| 239|          * export to either browser or node.js
| 240| 240|          */
| 241| 241|         /* eslint-disable quote-props */
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 0 tabs but found 8 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 238| 238|         /**
| 239| 239|          * export to either browser or node.js
| 240| 240|          */
| 241|    |-        /* eslint-disable quote-props */
|    | 241|+/* eslint-disable quote-props */
| 242| 242|         if (typeof exports !== 'undefined') {
| 243| 243|             exports['sprintf'] = sprintf
| 244| 244|             exports['vsprintf'] = vsprintf
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 0 tabs but found 8 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 239| 239|          * export to either browser or node.js
| 240| 240|          */
| 241| 241|         /* eslint-disable quote-props */
| 242|    |-        if (typeof exports !== 'undefined') {
|    | 242|+if (typeof exports !== 'undefined') {
| 243| 243|             exports['sprintf'] = sprintf
| 244| 244|             exports['vsprintf'] = vsprintf
| 245| 245|         }
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 1 tab but found 12 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 240| 240|          */
| 241| 241|         /* eslint-disable quote-props */
| 242| 242|         if (typeof exports !== 'undefined') {
| 243|    |-            exports['sprintf'] = sprintf
|    | 243|+	exports['sprintf'] = sprintf
| 244| 244|             exports['vsprintf'] = vsprintf
| 245| 245|         }
| 246| 246|         if (typeof window !== 'undefined') {
|    | [NORMAL] ESLintBear (dot-notation):
|    | ["sprintf"] is better written in dot notation.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 240| 240|          */
| 241| 241|         /* eslint-disable quote-props */
| 242| 242|         if (typeof exports !== 'undefined') {
| 243|    |-            exports['sprintf'] = sprintf
|    | 243|+            exports.sprintf = sprintf
| 244| 244|             exports['vsprintf'] = vsprintf
| 245| 245|         }
| 246| 246|         if (typeof window !== 'undefined') {
|    | [NORMAL] ESLintBear (semi):
|    | Missing semicolon.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 240| 240|          */
| 241| 241|         /* eslint-disable quote-props */
| 242| 242|         if (typeof exports !== 'undefined') {
| 243|    |-            exports['sprintf'] = sprintf
|    | 243|+            exports['sprintf'] = sprintf;
| 244| 244|             exports['vsprintf'] = vsprintf
| 245| 245|         }
| 246| 246|         if (typeof window !== 'undefined') {
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 1 tab but found 12 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 241| 241|         /* eslint-disable quote-props */
| 242| 242|         if (typeof exports !== 'undefined') {
| 243| 243|             exports['sprintf'] = sprintf
| 244|    |-            exports['vsprintf'] = vsprintf
|    | 244|+	exports['vsprintf'] = vsprintf
| 245| 245|         }
| 246| 246|         if (typeof window !== 'undefined') {
| 247| 247|             window['sprintf'] = sprintf
|    | [NORMAL] ESLintBear (dot-notation):
|    | ["vsprintf"] is better written in dot notation.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 241| 241|         /* eslint-disable quote-props */
| 242| 242|         if (typeof exports !== 'undefined') {
| 243| 243|             exports['sprintf'] = sprintf
| 244|    |-            exports['vsprintf'] = vsprintf
|    | 244|+            exports.vsprintf = vsprintf
| 245| 245|         }
| 246| 246|         if (typeof window !== 'undefined') {
| 247| 247|             window['sprintf'] = sprintf
|    | [NORMAL] ESLintBear (semi):
|    | Missing semicolon.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 241| 241|         /* eslint-disable quote-props */
| 242| 242|         if (typeof exports !== 'undefined') {
| 243| 243|             exports['sprintf'] = sprintf
| 244|    |-            exports['vsprintf'] = vsprintf
|    | 244|+            exports['vsprintf'] = vsprintf;
| 245| 245|         }
| 246| 246|         if (typeof window !== 'undefined') {
| 247| 247|             window['sprintf'] = sprintf
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 0 tabs but found 8 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 242| 242|         if (typeof exports !== 'undefined') {
| 243| 243|             exports['sprintf'] = sprintf
| 244| 244|             exports['vsprintf'] = vsprintf
| 245|    |-        }
|    | 245|+}
| 246| 246|         if (typeof window !== 'undefined') {
| 247| 247|             window['sprintf'] = sprintf
| 248| 248|             window['vsprintf'] = vsprintf
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 0 tabs but found 8 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 243| 243|             exports['sprintf'] = sprintf
| 244| 244|             exports['vsprintf'] = vsprintf
| 245| 245|         }
| 246|    |-        if (typeof window !== 'undefined') {
|    | 246|+if (typeof window !== 'undefined') {
| 247| 247|             window['sprintf'] = sprintf
| 248| 248|             window['vsprintf'] = vsprintf
| 249| 249| 
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 1 tab but found 12 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 244| 244|             exports['vsprintf'] = vsprintf
| 245| 245|         }
| 246| 246|         if (typeof window !== 'undefined') {
| 247|    |-            window['sprintf'] = sprintf
|    | 247|+	window['sprintf'] = sprintf
| 248| 248|             window['vsprintf'] = vsprintf
| 249| 249| 
| 250| 250|             if (typeof define === 'function' && define['amd']) {
|    | [NORMAL] ESLintBear (dot-notation):
|    | ["sprintf"] is better written in dot notation.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 244| 244|             exports['vsprintf'] = vsprintf
| 245| 245|         }
| 246| 246|         if (typeof window !== 'undefined') {
| 247|    |-            window['sprintf'] = sprintf
|    | 247|+            window.sprintf = sprintf
| 248| 248|             window['vsprintf'] = vsprintf
| 249| 249| 
| 250| 250|             if (typeof define === 'function' && define['amd']) {
|    | [NORMAL] ESLintBear (semi):
|    | Missing semicolon.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 244| 244|             exports['vsprintf'] = vsprintf
| 245| 245|         }
| 246| 246|         if (typeof window !== 'undefined') {
| 247|    |-            window['sprintf'] = sprintf
|    | 247|+            window['sprintf'] = sprintf;
| 248| 248|             window['vsprintf'] = vsprintf
| 249| 249| 
| 250| 250|             if (typeof define === 'function' && define['amd']) {
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 1 tab but found 12 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 245| 245|         }
| 246| 246|         if (typeof window !== 'undefined') {
| 247| 247|             window['sprintf'] = sprintf
| 248|    |-            window['vsprintf'] = vsprintf
|    | 248|+	window['vsprintf'] = vsprintf
| 249| 249| 
| 250| 250|             if (typeof define === 'function' && define['amd']) {
| 251| 251|                 define(function() {
|    | [NORMAL] ESLintBear (dot-notation):
|    | ["vsprintf"] is better written in dot notation.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 245| 245|         }
| 246| 246|         if (typeof window !== 'undefined') {
| 247| 247|             window['sprintf'] = sprintf
| 248|    |-            window['vsprintf'] = vsprintf
|    | 248|+            window.vsprintf = vsprintf
| 249| 249| 
| 250| 250|             if (typeof define === 'function' && define['amd']) {
| 251| 251|                 define(function() {
|    | [NORMAL] ESLintBear (semi):
|    | Missing semicolon.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 245| 245|         }
| 246| 246|         if (typeof window !== 'undefined') {
| 247| 247|             window['sprintf'] = sprintf
| 248|    |-            window['vsprintf'] = vsprintf
|    | 248|+            window['vsprintf'] = vsprintf;
| 249| 249| 
| 250| 250|             if (typeof define === 'function' && define['amd']) {
| 251| 251|                 define(function() {
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 1 tab but found 12 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 247| 247|             window['sprintf'] = sprintf
| 248| 248|             window['vsprintf'] = vsprintf
| 249| 249| 
| 250|    |-            if (typeof define === 'function' && define['amd']) {
|    | 250|+	if (typeof define === 'function' && define['amd']) {
| 251| 251|                 define(function() {
| 252| 252|                     return {
| 253| 253|                         'sprintf': sprintf,
|    | [NORMAL] ESLintBear (dot-notation):
|    | ["amd"] is better written in dot notation.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 247| 247|             window['sprintf'] = sprintf
| 248| 248|             window['vsprintf'] = vsprintf
| 249| 249| 
| 250|    |-            if (typeof define === 'function' && define['amd']) {
|    | 250|+            if (typeof define === 'function' && define.amd) {
| 251| 251|                 define(function() {
| 252| 252|                     return {
| 253| 253|                         'sprintf': sprintf,
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 2 tabs but found 16 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 248| 248|             window['vsprintf'] = vsprintf
| 249| 249| 
| 250| 250|             if (typeof define === 'function' && define['amd']) {
| 251|    |-                define(function() {
|    | 251|+		define(function() {
| 252| 252|                     return {
| 253| 253|                         'sprintf': sprintf,
| 254| 254|                         'vsprintf': vsprintf
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 20 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 249| 249| 
| 250| 250|             if (typeof define === 'function' && define['amd']) {
| 251| 251|                 define(function() {
| 252|    |-                    return {
|    | 252|+			return {
| 253| 253|                         'sprintf': sprintf,
| 254| 254|                         'vsprintf': vsprintf
| 255| 255|                     }
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 24 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 250| 250|             if (typeof define === 'function' && define['amd']) {
| 251| 251|                 define(function() {
| 252| 252|                     return {
| 253|    |-                        'sprintf': sprintf,
|    | 253|+				'sprintf': sprintf,
| 254| 254|                         'vsprintf': vsprintf
| 255| 255|                     }
| 256| 256|                 })
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 24 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 251| 251|                 define(function() {
| 252| 252|                     return {
| 253| 253|                         'sprintf': sprintf,
| 254|    |-                        'vsprintf': vsprintf
|    | 254|+				'vsprintf': vsprintf
| 255| 255|                     }
| 256| 256|                 })
| 257| 257|             }
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 20 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 252| 252|                     return {
| 253| 253|                         'sprintf': sprintf,
| 254| 254|                         'vsprintf': vsprintf
| 255|    |-                    }
|    | 255|+			}
| 256| 256|                 })
| 257| 257|             }
| 258| 258|         }
|    | [NORMAL] ESLintBear (semi):
|    | Missing semicolon.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 252| 252|                     return {
| 253| 253|                         'sprintf': sprintf,
| 254| 254|                         'vsprintf': vsprintf
| 255|    |-                    }
|    | 255|+                    };
| 256| 256|                 })
| 257| 257|             }
| 258| 258|         }
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 2 tabs but found 16 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 253| 253|                         'sprintf': sprintf,
| 254| 254|                         'vsprintf': vsprintf
| 255| 255|                     }
| 256|    |-                })
|    | 256|+		})
| 257| 257|             }
| 258| 258|         }
| 259| 259| 
|    | [NORMAL] ESLintBear (semi):
|    | Missing semicolon.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 253| 253|                         'sprintf': sprintf,
| 254| 254|                         'vsprintf': vsprintf
| 255| 255|                     }
| 256|    |-                })
|    | 256|+                });
| 257| 257|             }
| 258| 258|         }
| 259| 259| 
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 1 tab but found 12 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 254| 254|                         'vsprintf': vsprintf
| 255| 255|                     }
| 256| 256|                 })
| 257|    |-            }
|    | 257|+	}
| 258| 258|         }
| 259| 259| 
| 260| 260| })(typeof window === "undefined" ? this : window);
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 0 tabs but found 8 spaces.
|----|    | /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
|    |++++| /zpool0/trunk/binaries/data/mods/mod/globalscripts/sprintf.js
| 255| 255|                     }
| 256| 256|                 })
| 257| 257|             }
| 258|    |-        }
|    | 258|+}
| 259| 259| 
| 260| 260| })(typeof window === "undefined" ? this : window);

binaries/data/mods/mod/globalscripts/sprintf.js
|  53| ········function·sprintf(key)·{
|    | [NORMAL] ESLintBear (brace-rules/brace-on-same-line):
|    | Opening curly brace appears on the same line as controlling statement.

binaries/data/mods/mod/globalscripts/sprintf.js
|  58| ········function·vsprintf(fmt,·argv)·{
|    | [NORMAL] ESLintBear (brace-rules/brace-on-same-line):
|    | Opening curly brace appears on the same line as controlling statement.

binaries/data/mods/mod/globalscripts/sprintf.js
|  62| ········function·sprintf_format(parse_tree,·argv)·{
|    | [NORMAL] ESLintBear (brace-rules/brace-on-same-line):
|    | Opening curly brace appears on the same line as controlling statement.

binaries/data/mods/mod/globalscripts/sprintf.js
|  64| ············for·(i·=·0;·i·<·tree_length;·i++)·{
|    | [NORMAL] ESLintBear (brace-rules/brace-on-same-line):
|    | Opening curly brace appears on the same line as controlling statement.

binaries/data/mods/mod/globalscripts/sprintf.js
|  65| ················if·(typeof·parse_tree[i]·===·'string')·{
|    | [NORMAL] ESLintBear (brace-rules/brace-on-same-line):
|    | Opening curly brace appears on the same line as controlling statement.

binaries/data/mods/mod/globalscripts/sprintf.js
|  68| ················else·if·(typeof·parse_tree[i]·===·'object')·{
|    | [NORMAL] ESLintBear (brace-rules/brace-on-same-line):
|    | Opening curly brace appears on the same line as controlling statement.

binaries/data/mods/mod/globalscripts/sprintf.js
|  70| ····················if·(ph.keys)·{·//·keyword·argument
|    | [NORMAL] ESLintBear (brace-rules/brace-on-same-line):
|    | Opening curly brace appears on the same line as controlling statement.

binaries/data/mods/mod/globalscripts/sprintf.js
|  72| ························for·(k·=·0;·k·<·ph.keys.length;·k++)·{
|    | [NORMAL] ESLintBear (brace-rules/brace-on-same-line):
|    | Opening curly brace appears on the same line as controlling statement.

binaries/data/mods/mod/globalscripts/sprintf.js
|  73| ····························if·(arg·==·undefined)·{
|    | [NORMAL] ESLintBear (brace-rules/brace-on-same-line):
|    | Opening curly brace appears on the same line as controlling statement.

binaries/data/mods/mod/globalscripts/sprintf.js
|  79| ····················else·if·(ph.param_no)·{·//·positional·argument·(explicit)
|    | [NORMAL] ESLintBear (brace-rules/brace-on-same-line):
|    | Opening curly brace appears on the same line as controlling statement.

binaries/data/mods/mod/globalscripts/sprintf.js
|  79| ····················else·if·(ph.param_no)·{·//·positional·argument·(explicit)
|    | [NORMAL] ESLintBear (brace-rules/brace-on-same-line):
|    | Opening curly brace appears on the same line as controlling statement.

binaries/data/mods/mod/globalscripts/sprintf.js
|  86| ····················if·(re.not_type.test(ph.type)·&&·re.not_primitive.test(ph.type)·&&·arg·instanceof·Function)·{
|    | [NORMAL] ESLintBear (brace-rules/brace-on-same-line):
|    | Opening curly brace appears on the same line as controlling statement.

binaries/data/mods/mod/globalscripts/sprintf.js
|  90| ····················if·(re.numeric_arg.test(ph.type)·&&·(typeof·arg·!==·'number'·&&·isNaN(arg)))·{
|    | [NORMAL] ESLintBear (brace-rules/brace-on-same-line):
|    | Opening curly brace appears on the same line as controlling statement.

binaries/data/mods/mod/globalscripts/sprintf.js
|  94| ····················if·(re.number.test(ph.type))·{
|    | [NORMAL] ESLintBear (brace-rules/brace-on-same-line):
|    | Opening curly brace appears on the same line as controlling statement.

binaries/data/mods/mod/globalscripts/sprintf.js
|  98| ····················switch·(ph.type)·{
|    | [NORMAL] ESLintBear (brace-rules/brace-on-same-line):
|    | Opening curly brace appears on the same line as controlling statement.

binaries/data/mods/mod/globalscripts/sprintf.js
|  98| ····················switch·(ph.type)·{
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/mod/globalscripts/sprintf.js
| 150| ····················if·(re.json.test(ph.type))·{
|    | [NORMAL] ESLintBear (brace-rules/brace-on-same-line):
|    | Opening curly brace appears on the same line as controlling statement.

binaries/data/mods/mod/globalscripts/sprintf.js
| 150| ····················if·(re.json.test(ph.type))·{
|    | [NORMAL] ESLintBear (brace-rules/brace-on-same-line):
|    | Opening curly brace appears on the same line as controlling statement.

binaries/data/mods/mod/globalscripts/sprintf.js
| 154| ························if·(re.number.test(ph.type)·&&·(!is_positive·||·ph.sign))·{
|    | [NORMAL] ESLintBear (brace-rules/brace-on-same-line):
|    | Opening curly brace appears on the same line as controlling statement.

binaries/data/mods/mod/globalscripts/sprintf.js
| 154| ························if·(re.number.test(ph.type)·&&·(!is_positive·||·ph.sign))·{
|    | [NORMAL] ESLintBear (brace-rules/brace-on-same-line):
|    | Opening curly brace appears on the same line as controlling statement.

binaries/data/mods/mod/globalscripts/sprintf.js
| 173| ········function·sprintf_parse(fmt)·{
|    | [NORMAL] ESLintBear (brace-rules/brace-on-same-line):
|    | Opening curly brace appears on the same line as controlling statement.

binaries/data/mods/mod/globalscripts/sprintf.js
| 174| ············if·(sprintf_cache[fmt])·{
|    | [NORMAL] ESLintBear (brace-rules/brace-on-same-line):
|    | Opening curly brace appears on the same line as controlling statement.

binaries/data/mods/mod/globalscripts/sprintf.js
| 179| ············while·(_fmt)·{
|    | [NORMAL] ESLintBear (brace-rules/brace-on-same-line):
|    | Opening curly brace appears on the same line as controlling statement.

binaries/data/mods/mod/globalscripts/sprintf.js
| 180| ················if·((match·=·re.text.exec(_fmt))·!==·null)·{
|    | [NORMAL] ESLintBear (brace-rules/brace-on-same-line):
|    | Opening curly brace appears on the same line as controlling statement.

binaries/data/mods/mod/globalscripts/sprintf.js
| 183| ················else·if·((match·=·re.modulo.exec(_fmt))·!==·null)·{
|    | [NORMAL] ESLintBear (brace-rules/brace-on-same-line):
|    | Opening curly brace appears on the same line as controlling statement.

binaries/data/mods/mod/globalscripts/sprintf.js
| 186| ················else·if·((match·=·re.placeholder.exec(_fmt))·!==·null)·{
|    | [NORMAL] ESLintBear (brace-rules/brace-on-same-line):
|    | Opening curly brace appears on the same line as controlling statement.

binaries/data/mods/mod/globalscripts/sprintf.js
| 186| ················else·if·((match·=·re.placeholder.exec(_fmt))·!==·null)·{
|    | [NORMAL] ESLintBear (brace-rules/brace-on-same-line):
|    | Opening curly brace appears on the same line as controlling statement.

binaries/data/mods/mod/globalscripts/sprintf.js
| 187| ····················if·(match[2])·{
|    | [NORMAL] ESLintBear (brace-rules/brace-on-same-line):
|    | Opening curly brace appears on the same line as controlling statement.

binaries/data/mods/mod/globalscripts/sprintf.js
| 187| ····················if·(match[2])·{
|    | [NORMAL] ESLintBear (brace-rules/brace-on-same-line):
|    | Opening curly brace appears on the same line as controlling statement.

binaries/data/mods/mod/globalscripts/sprintf.js
| 190| ························if·((field_match·=·re.key.exec(replacement_field))·!==·null)·{
|    | [NORMAL] ESLintBear (brace-rules/brace-on-same-line):
|    | Opening curly brace appears on the same line as controlling statement.

binaries/data/mods/mod/globalscripts/sprintf.js
| 190| ························if·((field_match·=·re.key.exec(replacement_field))·!==·null)·{
|    | [NORMAL] ESLintBear (brace-rules/brace-on-same-line):
|    | Opening curly brace appears on the same line as controlling statement.

binaries/data/mods/mod/globalscripts/sprintf.js
| 192| ····························while·((replacement_field·=·replacement_field.substring(field_match[0].length))·!==·'')·{
|    | [NORMAL] ESLintBear (brace-rules/brace-on-same-line):
|    | Opening curly brace appears on the same line as controlling statement.

binaries/data/mods/mod/globalscripts/sprintf.js
| 193| ································if·((field_match·=·re.key_access.exec(replacement_field))·!==·null)·{
|    | [NORMAL] ESLintBear (brace-rules/brace-on-same-line):
|    | Opening curly brace appears on the same line as controlling statement.

binaries/data/mods/mod/globalscripts/sprintf.js
| 196| ································else·if·((field_match·=·re.index_access.exec(replacement_field))·!==·null)·{
|    | [NORMAL] ESLintBear (brace-rules/brace-on-same-line):
|    | Opening curly brace appears on the same line as controlling statement.

binaries/data/mods/mod/globalscripts/sprintf.js
| 196| ································else·if·((field_match·=·re.index_access.exec(replacement_field))·!==·null)·{
|    | [NORMAL] ESLintBear (brace-rules/brace-on-same-line):
|    | Opening curly brace appears on the same line as controlling statement.

binaries/data/mods/mod/globalscripts/sprintf.js
| 212| ····················if·(arg_names·===·3)·{
|    | [NORMAL] ESLintBear (brace-rules/brace-on-same-line):
|    | Opening curly brace appears on the same line as controlling statement.

binaries/data/mods/mod/globalscripts/sprintf.js
| 235| ············return·sprintf_cache[fmt]·=·parse_tree
|    | [NORMAL] ESLintBear (no-return-assign):
|    | Return statement should not contain assignment.

binaries/data/mods/mod/globalscripts/sprintf.js
| 242| ········if·(typeof·exports·!==·'undefined')·{
|    | [NORMAL] ESLintBear (brace-rules/brace-on-same-line):
|    | Opening curly brace appears on the same line as controlling statement.

binaries/data/mods/mod/globalscripts/sprintf.js
| 246| ········if·(typeof·window·!==·'undefined')·{
|    | [NORMAL] ESLintBear (brace-rules/brace-on-same-line):
|    | Opening curly brace appears on the same line as controlling statement.

binaries/data/mods/mod/globalscripts/sprintf.js
| 250| ············if·(typeof·define·===·'function'·&&·define['amd'])·{
|    | [NORMAL] ESLintBear (brace-rules/brace-on-same-line):
|    | Opening curly brace appears on the same line as controlling statement.

binaries/data/mods/mod/globalscripts/sprintf.js
|  33| ····'use·strict'
|    | [NORMAL] JSHintBear:
|    | Missing semicolon.

binaries/data/mods/mod/globalscripts/sprintf.js
|  51| ········}
|    | [NORMAL] JSHintBear:
|    | Missing semicolon.

binaries/data/mods/mod/globalscripts/sprintf.js
|  55| ············return·sprintf_format(sprintf_parse(key),·arguments)
|    | [NORMAL] JSHintBear:
|    | Missing semicolon.

binaries/data/mods/mod/globalscripts/sprintf.js
|  59| ············return·sprintf.apply(null,·[fmt].concat(argv·||·[]))
|    | [NORMAL] JSHintBear:
|    | Missing semicolon.

binaries/data/mods/mod/globalscripts/sprintf.js
|  63| ············var·cursor·=·1,·tree_length·=·parse_tree.length,·arg,·output·=·'',·i,·k,·ph,·pad,·pad_character,·pad_length,·is_positive,·sign
|    | [NORMAL] JSHintBear:
|    | Missing semicolon.

binaries/data/mods/mod/globalscripts/sprintf.js
|  66| ····················output·+=·parse_tree[i]
|    | [NORMAL] JSHintBear:
|    | Missing semicolon.

binaries/data/mods/mod/globalscripts/sprintf.js
|  69| ····················ph·=·parse_tree[i]·//·convenience·purposes·only
|    | [NORMAL] JSHintBear:
|    | Missing semicolon.

binaries/data/mods/mod/globalscripts/sprintf.js
|  71| ························arg·=·argv[cursor]
|    | [NORMAL] JSHintBear:
|    | Missing semicolon.

binaries/data/mods/mod/globalscripts/sprintf.js
|  74| ································throw·new·Error(sprintf('[sprintf]·Cannot·access·property·"%s"·of·undefined·value·"%s"',·ph.keys[k],·ph.keys[k-1]))
|    | [NORMAL] JSHintBear:
|    | Missing semicolon.

binaries/data/mods/mod/globalscripts/sprintf.js
|  76| ····························arg·=·arg[ph.keys[k]]
|    | [NORMAL] JSHintBear:
|    | Missing semicolon.

binaries/data/mods/mod/globalscripts/sprintf.js
|  80| ························arg·=·argv[ph.param_no]
|    | [NORMAL] JSHintBear:
|    | Missing semicolon.

binaries/data/mods/mod/globalscripts/sprintf.js
|  83| ························arg·=·argv[cursor++]
|    | [NORMAL] JSHintBear:
|    | Missing semicolon.

binaries/data/mods/mod/globalscripts/sprintf.js
|  87| ························arg·=·arg()
|    | [NORMAL] JSHintBear:
|    | Missing semicolon.

binaries/data/mods/mod/globalscripts/sprintf.js
|  91| ························throw·new·TypeError(sprintf('[sprintf]·expecting·number·but·found·%T',·arg))
|    | [NORMAL] JSHintBear:
|    | Missing semicolon.

binaries/data/mods/mod/globalscripts/sprintf.js
|  95| ························is_positive·=·arg·>=·0
|    | [NORMAL] JSHintBear:
|    | Missing semicolon.

binaries/data/mods/mod/globalscripts/sprintf.js
| 100| ····························arg·=·parseInt(arg,·10).toString(2)
|    | [NORMAL] JSHintBear:
|    | Missing semicolon.

binaries/data/mods/mod/globalscripts/sprintf.js
| 101| ····························break
|    | [MAJOR] JSHintBear:
|    | Line breaking error 'break'.

binaries/data/mods/mod/globalscripts/sprintf.js
| 101| ····························break
|    | [NORMAL] JSHintBear:
|    | Missing semicolon.

binaries/data/mods/mod/globalscripts/sprintf.js
| 103| ····························arg·=·String.fromCharCode(parseInt(arg,·10))
|    | [NORMAL] JSHintBear:
|    | Missing semicolon.

binaries/data/mods/mod/globalscripts/sprintf.js
| 104| ····························break
|    | [MAJOR] JSHintBear:
|    | Line breaking error 'break'.

binaries/data/mods/mod/globalscripts/sprintf.js
| 104| ····························break
|    | [NORMAL] JSHintBear:
|    | Missing semicolon.

binaries/data/mods/mod/globalscripts/sprintf.js
| 107| ····························arg·=·parseInt(arg,·10)
|    | [NORMAL] JSHintBear:
|    | Missing semicolon.

binaries/data/mods/mod/globalscripts/sprintf.js
| 108| ····························break
|    | [MAJOR] JSHintBear:
|    | Line breaking error 'break'.

binaries/data/mods/mod/globalscripts/sprintf.js
| 108| ····························break
|    | [NORMAL] JSHintBear:
|    | Missing semicolon.

binaries/data/mods/mod/globalscripts/sprintf.js
| 110| ····························arg·=·JSON.stringify(arg,·null,·ph.width·?·parseInt(ph.width)·:·0)
|    | [NORMAL] JSHintBear:
|    | Missing semicolon.

binaries/data/mods/mod/globalscripts/sprintf.js
| 111| ····························break
|    | [MAJOR] JSHintBear:
|    | Line breaking error 'break'.

binaries/data/mods/mod/globalscripts/sprintf.js
| 111| ····························break
|    | [NORMAL] JSHintBear:
|    | Missing semicolon.

binaries/data/mods/mod/globalscripts/sprintf.js
| 113| ····························arg·=·ph.precision·?·parseFloat(arg).toExponential(ph.precision)·:·parseFloat(arg).toExponential()
|    | [NORMAL] JSHintBear:
|    | Missing semicolon.

binaries/data/mods/mod/globalscripts/sprintf.js
| 114| ····························break
|    | [MAJOR] JSHintBear:
|    | Line breaking error 'break'.

binaries/data/mods/mod/globalscripts/sprintf.js
| 114| ····························break
|    | [NORMAL] JSHintBear:
|    | Missing semicolon.

binaries/data/mods/mod/globalscripts/sprintf.js
| 116| ····························arg·=·ph.precision·?·parseFloat(arg).toFixed(ph.precision)·:·parseFloat(arg)
|    | [NORMAL] JSHintBear:
|    | Missing semicolon.

binaries/data/mods/mod/globalscripts/sprintf.js
| 117| ····························break
|    | [MAJOR] JSHintBear:
|    | Line breaking error 'break'.

binaries/data/mods/mod/globalscripts/sprintf.js
| 117| ····························break
|    | [NORMAL] JSHintBear:
|    | Missing semicolon.

binaries/data/mods/mod/globalscripts/sprintf.js
| 119| ····························arg·=·ph.precision·?·String(Number(arg.toPrecision(ph.precision)))·:·parseFloat(arg)
|    | [NORMAL] JSHintBear:
|    | Missing semicolon.

binaries/data/mods/mod/globalscripts/sprintf.js
| 120| ····························break
|    | [MAJOR] JSHintBear:
|    | Line breaking error 'break'.

binaries/data/mods/mod/globalscripts/sprintf.js
| 120| ····························break
|    | [NORMAL] JSHintBear:
|    | Missing semicolon.

binaries/data/mods/mod/globalscripts/sprintf.js
| 122| ····························arg·=·(parseInt(arg,·10)·>>>·0).toString(8)
|    | [NORMAL] JSHintBear:
|    | Missing semicolon.

binaries/data/mods/mod/globalscripts/sprintf.js
| 123| ····························break
|    | [MAJOR] JSHintBear:
|    | Line breaking error 'break'.

binaries/data/mods/mod/globalscripts/sprintf.js
| 123| ····························break
|    | [NORMAL] JSHintBear:
|    | Missing semicolon.

binaries/data/mods/mod/globalscripts/sprintf.js
| 125| ····························arg·=·String(arg)
|    | [NORMAL] JSHintBear:
|    | Missing semicolon.

binaries/data/mods/mod/globalscripts/sprintf.js
| 126| ····························arg·=·(ph.precision·?·arg.substring(0,·ph.precision)·:·arg)
|    | [NORMAL] JSHintBear:
|    | Missing semicolon.

binaries/data/mods/mod/globalscripts/sprintf.js
| 127| ····························break
|    | [MAJOR] JSHintBear:
|    | Line breaking error 'break'.

binaries/data/mods/mod/globalscripts/sprintf.js
| 127| ····························break
|    | [NORMAL] JSHintBear:
|    | Missing semicolon.

binaries/data/mods/mod/globalscripts/sprintf.js
| 129| ····························arg·=·String(!!arg)
|    | [NORMAL] JSHintBear:
|    | Missing semicolon.

binaries/data/mods/mod/globalscripts/sprintf.js
| 130| ····························arg·=·(ph.precision·?·arg.substring(0,·ph.precision)·:·arg)
|    | [NORMAL] JSHintBear:
|    | Missing semicolon.

binaries/data/mods/mod/globalscripts/sprintf.js
| 131| ····························break
|    | [MAJOR] JSHintBear:
|    | Line breaking error 'break'.

binaries/data/mods/mod/globalscripts/sprintf.js
| 131| ····························break
|    | [NORMAL] JSHintBear:
|    | Missing semicolon.

binaries/data/mods/mod/globalscripts/sprintf.js
| 133| ····························arg·=·Object.prototype.toString.call(arg).slice(8,·-1).toLowerCase()
|    | [NORMAL] JSHintBear:
|    | Missing semicolon.

binaries/data/mods/mod/globalscripts/sprintf.js
| 134| ····························arg·=·(ph.precision·?·arg.substring(0,·ph.precision)·:·arg)
|    | [NORMAL] JSHintBear:
|    | Missing semicolon.

binaries/data/mods/mod/globalscripts/sprintf.js
| 135| ····························break
|    | [MAJOR] JSHintBear:
|    | Line breaking error 'break'.

binaries/data/mods/mod/globalscripts/sprintf.js
| 135| ····························break
|    | [MAJOR] JSHintBear:
|    | Too many errors. (51% scanned).
Executing section cli...

Link to build: https://jenkins.wildfiregames.com/job/docker-differential/1083/display/redirect

Successful build - Chance fights ever on the side of the prudent.

Link to build: https://jenkins.wildfiregames.com/job/vs2015-differential/569/display/redirect

Stan added a subscriber: Stan.Nov 13 2019, 4:59 PM

Not sure if that's worth it but I remember ParseInt() function to be slow which is why we most of the time use +variable, I guess we could do that there too.

CC Rant:

Also the file doesn't follow the brace on newline line coding convention. Nor the one line brace convention.
Silier added a subscriber: Silier.Nov 13 2019, 8:15 PM

I checked gui, mostly tooltips and summary screen. It looks fine.

elexis edited the test plan for this revision. (Show Details)Nov 14 2019, 1:30 PM

Test plan performance:

Updates from
https://github.com/alexei/sprintf.js/blob/1.0.2/src/sprintf.js
to
https://github.com/alexei/sprintf.js/blob/1.1.2/src/sprintf.js

Commits that add new features with feature description from https://github.com/alexei/sprintf.js/blob/master/README.md

padding (intent) support:
https://github.com/alexei/sprintf.js/commit/9e846915e273ebeb12b4decc59af94d596e5ee92

Adds support for the %g placeholder

g — yields a float as is; see notes on precision above

https://github.com/alexei/sprintf.js/commit/a60a5705fcb589b55373b1f15f2b4b5b5892f19c

Adds type option

T — yields the type of the argument1

https://github.com/alexei/sprintf.js/commit/c31c24ecefe92abff04fc38f860ad50c97bebf62

Adds support for the %t (boolean) type specifier

t — yields true or false

https://github.com/alexei/sprintf.js/commit/b92b530c7a4c6ef98632339e05cdea8a041da857

Adds support for returning primitive values through the %v specifier

v — yields the primitive value of the specified argument

https://github.com/alexei/sprintf.js/commit/f18037240bbbc7d53ede6be9a1d7bc964a75e309

The other commits clean sprintf internals, use eshint instead of jslint.

On security, current state of sprintf.js committed triggers a SpiderMonkey crash unintentionally which was only found by chance.
The cause for this issue lies in SpiderMonkey, fixing sprintf.js won't fix that.
According to the SpiderMonkey upstream bugreports cited in #5636 it should already be fixed when it's evidently not in our repository.
But this discussion is orthogonal to this library and should be held in #5636 and some future SpiderMonkey upgrade test.
And we can reproduce this crash easily even with an updated sprintf and without sprintf altogether (see code piece in the SpiderMonkey upstream duplicate report, also cited in the trac ticket).
And in general, if this update of the sprintf library would have any security impact, it would be an issue that is already present in SpiderMonkey and doesn't require sprintf.

binaries/data/mods/mod/globalscripts/sprintf.js
2 ↗(On Diff #10316)

Most recent commit is release 1.1.2.
https://github.com/alexei/sprintf.js/releases/tag/1.1.2

50 ↗(On Diff #10316)

Above are the newly supported formats

This revision was not accepted when it landed; it landed in state Needs Review.Nov 14 2019, 2:01 PM
This revision was automatically updated to reflect the committed changes.