<commit_before>{
  "bootstrap": [
    ["loadUserConfig", true, "For sth like jens/config.js, used in lively.bootstrap."],
    ["libsFile", "core/lib/lively-libs-debug.js", "Library code."],

    ["bootstrapFiles", [
      "core/lively/Migration.js",
      "core/lively/JSON.js",
      "node_modules/lively.lang/lib/base.js",
      "node_modules/lively.lang/lib/events.js",
      "node_modules/lively.lang/lib/object.js",
      "node_modules/lively.lang/lib/collection.js",
      "node_modules/lively.lang/lib/tree.js",
      "node_modules/lively.lang/lib/function.js",
      "node_modules/lively.lang/lib/string.js",
      "node_modules/lively.lang/lib/number.js",
      "node_modules/lively.lang/lib/date.js",
      "node_modules/lively.lang/lib/class.js",
      "node_modules/lively.lang/lib/messenger.js",
      "node_modules/lively.lang/lib/worker.js",
      "core/lively/lang/LocalStorage.js",
      "core/lively/Base.js",
      "core/lively/ModuleSystem.js"
    ], "Loaded to initialize the base Lively system."],

    ["bootstrapModules", [
      "lively.bindings",
      "lively.Main"
      ], "Lively modules to start a world (after the bootstrapFiles are loaded)."]
  ],

  "cop": [
    ["copDynamicInlining", false, "Dynamically compile layered methods for improving their execution performance."],
    ["ignoredepricatedProceed", true]
  ],

  "cookie": [
    {
      "name": "cookie",
      "type": "Object",
      "doc": "Get the parsed cookie data",
      "get": {
          "type": "function",
          "code": "function() { return typeof document !== 'undefined' && document.cookie ? document.cookie.split(';').invoke('split', '=').reduce(function(cookie, kv) { cookie[kv[0].trim()] = decodeURIComponent(kv[1]); return cookie; }, {}) : {}; }"
      },
      "set": {"type": "function", "code": "function() {}"}
    }
  ],

  "ssl": [
    {
      "name": "ssl-subject",
      "type": "Object|null",
      "doc": "parsed subject from SSL certificate",
      "get": {
        "type": "function",
        "code": "function() { var subj = Config.get('cookie')[\"ssl-certificate-subject\"];\nreturn subj ? Config.get('cookie')[\"ssl-certificate-subject\"]\n.split('/').compact()\n.invoke('split', '=').reduce(function(subj, kv) {\nsubj[kv[0]] = kv[1]; return subj;\n}, {}) : null; }"
      },
      "set": {"type": "function", "code": "function() {}"}
    },
    {
      "name": "ssl-auth",
      "type": "String|null",
      "doc": "User defined by SSL client certificate",
      "get": {
        "type": "function",
        "code": "function() { var subj = Config.get('ssl-subject'); \n return subj ? {user: subj.CN, email: subj.emailAddress} : null; }"
      },
      "set": {"type": "function", "code": "function() {} "}
    }
  ],

  "user": [
    {
      "name": "UserName",
      "type": "String",
      "doc": "UserName identifies the current Lively user",
      "get": {
        "type": "function",
        "code": "function() { var user = lively.LocalStorage.get('UserName');\nif (user && user !== 'undefined') return user;\nvar sslAuth = Config.get('ssl-auth');\nreturn (sslAuth && sslAuth.user) || user; }"
      },
      "set": {
        "type": "function",
        "code": "function(val) { return lively.LocalStorage.set('UserName', val ? val.replace(/ /g, '_') : val); }"
      }
    },
    {
      "name": "UserEmail",
      "type": "String",
      "doc": "Email of user",
      "get": {
        "type": "function",
        "code": "function() { var val = lively.LocalStorage.get('UserEmail');\nif (val && val !== 'undefined') return val;\nvar sslAuth = Config.get('ssl-auth');return (sslAuth && sslAuth.email) || val; }"
      },
      "set": {
        "type": "function",
        "code": "function(val) { return lively.LocalStorage.set('UserEmail', val ? val.replace(/ /g, '_') : val); }"
      }
    }
  ],

  "lively.Network": [
    {
      "name": "location",
      "type": "Object",
      "doc": "The interpreted document.location or something similar for non-browser environments.",
      "get": {
          "type": "function",
          "code": "function() { return LivelyLoader.location; }"
      },
      "set": {"type": "function", "code": "function() {}"}
    },

    {
      "name": "proxyURL",
      "type": "String",
      "doc": "URL that acts as a proxy for network operations, computed at system start.",
      "get": {
          "type": "function",
          "code": "function() { return lively.Config.location.protocol + '//' + lively.Config.location.host + '/proxy'; }"
      },
      "set": {"type": "function", "code": "function() {}"}
    }
  ],

  "Lively2Lively": [
    ["isPublicServer", false, "Is the lively server this world is started from considered public?"],
    ["lively2livelyAutoStart", true, "Whether to automatically connect to a session tracker server and enable Lively-to-Lively connections."],
    ["lively2livelyCentral", "http://lively-web.org/nodejs/SessionTracker/", "Central server to connect to for inter-realm Lively-to-Lively connections. Nullify to deactivate."],
    ["lively2livelyAllowRemoteEval", true, "Allow eval actions from other Lively worlds."],
    ["lively2livelyEnableConnectionIndicator", true, "Show a morph that indicates whether lively2lively is running and which provides access to collab actions."],
    ["lively2livelyInformAboutReceivedMessages", true, "Visually log when receiving a lively2lively message."],
    ["lively2livelyTrackerHeartbeatInterval", 30000, "In milliseconds. Ensure staying connected to the tracker by sending regular heartbeats. Change to undefined to disable heartbeats."],
    ["lively2livelyLogHeartbeatRoundtripTime", false, "Logging heartbeat."]
  ],

  "server.nodejs": [
    {
      "name": "nodeJSURL",
      "type": "String",
      "doc": "Base URL of Lively subservers. Computed at system start.",
      "get": {
          "type": "function",
          "code": "function() { return Config.location.protocol + '//' + Config.location.host + '/nodejs'; }"
      },
      "set": {"type": "function", "code": "function() {}"}
    }
  ],

  "lively.persistence": [
    ["ignoreClassNotFound", true, "if a class is not found during deserializing a place holder object can be created instead of raising an error"],
    ["ignoreLoadingErrors", true],
    ["ignoreMissingModules", false],
    ["keepSerializerIds", false],
    ["createWorldPreview", true, "Whether to store an HTML document showing a static version of the serialized world."],
    ["manuallyCreateWorld", false, "Loads up Lively and creates a complete new world from scratch instead of using a serialized one."],
    ["removeDOMContentBeforeWorldLoad", true, "Whether to remove all the DOM child nodes of the DOM element that is used to display the World."]
  ],

  "lively.Storage": [
    ["defaultIndexedDBStores", ["default", "Debugging"], "The default stores created once IndexedDB is opened."]
  ],

  "lively.bindings": [
    ["selfConnect", false, "DEPRECATED! some widgets self connect to a private model on startup, but it doesn't seem necessary, turn on to override"],
    ["debugConnect", false, "For triggering a breakpoint when an connect update throws an error"],
    ["visualConnectEnabled", false, "Show data-flow arrows when doing a connect using the UI."]
  ],

  "lively.morphic": [
    ["isNewMorphic", true, "Deprecated option, defaults to true. Used in 2011 when Lively2 was being developed."],
    ["shiftDragForDup", false, "Allows easy object duplication using the Shift key."],
    ["usePieMenus", false],

    ["nullMoveAfterTicks", false, "For the engine/piano demo (and any other simulation interacting with unmoving mouse) it is necessary to generate a mouseMove event after each tick set this true in localconfig if you need this behavior"],

    ["askBeforeQuit", true, "Confirm system shutdown from the user"],<commit_msg>config: official version of nodeJSWebSocketURL option<commit_after>{
  "bootstrap": [
    ["loadUserConfig", true, "For sth like jens/config.js, used in lively.bootstrap."],
    ["libsFile", "core/lib/lively-libs-debug.js", "Library code."],

    ["bootstrapFiles", [
      "core/lively/Migration.js",
      "core/lively/JSON.js",
      "node_modules/lively.lang/lib/base.js",
      "node_modules/lively.lang/lib/events.js",
      "node_modules/lively.lang/lib/object.js",
      "node_modules/lively.lang/lib/collection.js",
      "node_modules/lively.lang/lib/tree.js",
      "node_modules/lively.lang/lib/function.js",
      "node_modules/lively.lang/lib/string.js",
      "node_modules/lively.lang/lib/number.js",
      "node_modules/lively.lang/lib/date.js",
      "node_modules/lively.lang/lib/class.js",
      "node_modules/lively.lang/lib/messenger.js",
      "node_modules/lively.lang/lib/worker.js",
      "core/lively/lang/LocalStorage.js",
      "core/lively/Base.js",
      "core/lively/ModuleSystem.js"
    ], "Loaded to initialize the base Lively system."],

    ["bootstrapModules", [
      "lively.bindings",
      "lively.Main"
      ], "Lively modules to start a world (after the bootstrapFiles are loaded)."]
  ],

  "cop": [
    ["copDynamicInlining", false, "Dynamically compile layered methods for improving their execution performance."],
    ["ignoredepricatedProceed", true]
  ],

  "cookie": [
    {
      "name": "cookie",
      "type": "Object",
      "doc": "Get the parsed cookie data",
      "get": {
          "type": "function",
          "code": "function() { return typeof document !== 'undefined' && document.cookie ? document.cookie.split(';').map(function(ea) { return ea.split('='); }).reduce(function(cookie, kv) { cookie[kv[0].trim()] = decodeURIComponent(kv[1]); return cookie; }, {}) : {}; }"
      },
      "set": {"type": "function", "code": "function() {}"}
    }
  ],

  "ssl": [
    {
      "name": "ssl-subject",
      "type": "Object|null",
      "doc": "parsed subject from SSL certificate",
      "get": {
        "type": "function",
        "code": "function() { var subj = Config.get('cookie')[\"ssl-certificate-subject\"];\nreturn subj ? Config.get('cookie')[\"ssl-certificate-subject\"]\n.split('/').compact()\n.invoke('split', '=').reduce(function(subj, kv) {\nsubj[kv[0]] = kv[1]; return subj;\n}, {}) : null; }"
      },
      "set": {"type": "function", "code": "function() {}"}
    },
    {
      "name": "ssl-auth",
      "type": "String|null",
      "doc": "User defined by SSL client certificate",
      "get": {
        "type": "function",
        "code": "function() { var subj = Config.get('ssl-subject'); \n return subj ? {user: subj.CN, email: subj.emailAddress} : null; }"
      },
      "set": {"type": "function", "code": "function() {} "}
    }
  ],

  "user": [
    {
      "name": "UserName",
      "type": "String",
      "doc": "UserName identifies the current Lively user",
      "get": {
        "type": "function",
        "code": "function() { var user = lively.LocalStorage.get('UserName');\nif (user && user !== 'undefined') return user;\nvar sslAuth = Config.get('ssl-auth');\nreturn (sslAuth && sslAuth.user) || user; }"
      },
      "set": {
        "type": "function",
        "code": "function(val) { return lively.LocalStorage.set('UserName', val ? val.replace(/ /g, '_') : val); }"
      }
    },
    {
      "name": "UserEmail",
      "type": "String",
      "doc": "Email of user",
      "get": {
        "type": "function",
        "code": "function() { var val = lively.LocalStorage.get('UserEmail');\nif (val && val !== 'undefined') return val;\nvar sslAuth = Config.get('ssl-auth');return (sslAuth && sslAuth.email) || val; }"
      },
      "set": {
        "type": "function",
        "code": "function(val) { return lively.LocalStorage.set('UserEmail', val ? val.replace(/ /g, '_') : val); }"
      }
    }
  ],

  "lively.Network": [
    {
      "name": "location",
      "type": "Object",
      "doc": "The interpreted document.location or something similar for non-browser environments.",
      "get": {
          "type": "function",
          "code": "function() { return LivelyLoader.location; }"
      },
      "set": {"type": "function", "code": "function() {}"}
    },

    {
      "name": "proxyURL",
      "type": "String",
      "doc": "URL that acts as a proxy for network operations, computed at system start.",
      "get": {
          "type": "function",
          "code": "function() { return lively.Config.location.protocol + '//' + lively.Config.location.host + '/proxy'; }"
      },
      "set": {"type": "function", "code": "function() {}"}
    }
  ],

  "Lively2Lively": [
    ["isPublicServer", false, "Is the lively server this world is started from considered public?"],
    ["lively2livelyAutoStart", true, "Whether to automatically connect to a session tracker server and enable Lively-to-Lively connections."],
    ["lively2livelyCentral", "http://lively-web.org/nodejs/SessionTracker/", "Central server to connect to for inter-realm Lively-to-Lively connections. Nullify to deactivate."],
    ["lively2livelyAllowRemoteEval", true, "Allow eval actions from other Lively worlds."],
    ["lively2livelyEnableConnectionIndicator", true, "Show a morph that indicates whether lively2lively is running and which provides access to collab actions."],
    ["lively2livelyInformAboutReceivedMessages", true, "Visually log when receiving a lively2lively message."],
    ["lively2livelyTrackerHeartbeatInterval", 30000, "In milliseconds. Ensure staying connected to the tracker by sending regular heartbeats. Change to undefined to disable heartbeats."],
    ["lively2livelyLogHeartbeatRoundtripTime", false, "Logging heartbeat."]
  ],

  "server.nodejs": [
    {
      "name": "nodeJSURL",
      "type": "String",
      "doc": "Base URL of Lively subservers. Computed at system start.",
      "get": {
          "type": "function",
          "code": "function() { return Config.location.protocol + '//' + Config.location.host + '/nodejs'; }"
      },
      "set": {"type": "function", "code": "function() {}"}
    },
    {
      "name": "nodeJSWebSocketURL",
      "type": "String",
      "doc": "Optional url to be used for websocket connections. By default the normal nodeJSURL will be used but under certain circumstances it can be blocked for websocket traffic. In this case you can set this aleernate url, e.g. to re-route to a certain port.",
      "get": {
          "type": "function",
          "code": "function() { return lively.Config._nodeJSWebSocketURL; }"
      },
      "set": {
        "type": "function",
        "code": "function(val) { lively.Config._nodeJSWebSocketURL = val; var sessionTracker = lively.lang.Path('net.SessionTracker').get(lively); if (sessionTracker) { sessionTracker.localSessionTrackerURL = new URL(val.replace(/\\$/, '') + '/SessionTracker/'); if (lively.Config.get('lively2livelyAutoStart')) sessionTracker.resetSession(); } return val; }"
      }
    }
  ],

  "lively.persistence": [
    ["ignoreClassNotFound", true, "if a class is not found during deserializing a place holder object can be created instead of raising an error"],
    ["ignoreLoadingErrors", true],
    ["ignoreMissingModules", false],
    ["keepSerializerIds", false],
    ["createWorldPreview", true, "Whether to store an HTML document showing a static version of the serialized world."],
    ["manuallyCreateWorld", false, "Loads up Lively and creates a complete new world from scratch instead of using a serialized one."],
    ["removeDOMContentBeforeWorldLoad", true, "Whether to remove all the DOM child nodes of the DOM element that is used to display the World."]
  ],

  "lively.Storage": [
    ["defaultIndexedDBStores", ["default", "Debugging"], "The default stores created once IndexedDB is opened."]
  ],

  "lively.bindings": [
    ["selfConnect", false, "DEPRECATED! some widgets self connect to a private model on startup, but it doesn't seem necessary, turn on to override"],
    ["debugConnect", false, "For triggering a breakpoint when an connect update throws an error"],
    ["visualConnectEnabled", false, "Show data-flow arrows when doing a connect using the UI."]
  ],

  "lively.morphic": [
    ["isNewMorphic", true, "Deprecated option, defaults to true. Used in 2011 when Lively2 was being developed."],
    ["shiftDragForDup", false, "Allows easy object duplication using the Shift key."],
    ["usePieMenus", false],

    ["nullMoveAfterTicks", false, "For the engine/piano demo (and any other simulation interacting with unmoving mouse) it is necessary to generate a mouseMove event after each tick set this true in localconfig if you need this behavior"],

    ["askBeforeQuit", true, "Confirm system shutdown from the user"],
{'fraction_non_alphanumeric': 0.1673680413610677, 'fraction_numerical': 0.0029457737164843094, 'mean_word_length': 3.2741521068859196, 'pattern_counts': {'":': 177, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2936610', 'n_tokens_mistral': 5114, 'n_tokens_neox': 5015, 'n_words': 1384}