diff --git a/Changelog.md b/Changelog.md index 72b2fe5..7089899 100755 --- a/Changelog.md +++ b/Changelog.md @@ -1234,6 +1234,7 @@ media.eme.enabled = true media.gmp-widevinecdm.visible = true media.gmp-widevinecdm.enabled = true media.gmp-provider.enabled = true +media.gmp-manager.url = https://aus5.mozilla.org/update/3/GMP/%VERSION%/%BUILD_ID%/%BUILD_TARGET%/%LOCALE%/%CHANNEL%/%OS_VERSION%/%DISTRIBUTION%/%DISTRIBUTION_VERSION%/update.xml ``` #### Use video conferencing ``` @@ -1295,4 +1296,154 @@ javascript.options.wasm -> DISCUSS security.pki.crlite_mode -> DISCUSS security.remote_settings.crlite_filters.enabled -> DISCUSS ``` +<<<<<<< HEAD >>>>>>> 0267245 (added some new prefs from arkenfox) +======= + +## Experimental removals +need testing, should be redundant prefs as we already disabled others +``` +/* +// fxaccount, to check +lockPref("identity.fxaccounts.enabled", false); +lockPref("identity.fxaccounts.remote.root", ""); +lockPref("identity.fxaccounts.auth.uri", ""); +lockPref("identity.fxaccounts.commands.enabled", false); +lockPref("identity.fxaccounts.remote.oauth.uri", ""); +lockPref("identity.fxaccounts.remote.profile.uri", ""); +lockPref("identity.fxaccounts.service.monitorLoginUrl", ""); +*/ + +/* +// to check, should all be handled by lockPref("services.settings.server", "") +lockPref("services.blocklist.addons.collection", ""); +lockPref("services.blocklist.plugins.collection", ""); +lockPref("services.blocklist.gfx.collection", ""); +lockPref("services.blocklist.addons.signer", ""); +lockPref("services.blocklist.gfx.signer", ""); +lockPref("services.settings.security.onecrl.signer", ""); +lockPref("services.blocklist.pinning.signer", ""); +lockPref("services.blocklist.plugins.signer", ""); +*/ + +// -------------------------------- +// SYNC +// -------------------------------- + +/* +lockPref("services.sync.addons.trustedSourceHostnames", ""); +lockPref("services.sync.lastversion", ""); +lockPref("services.sync.maxResyncs", 0); // 1 +lockPref("services.sync.telemetry.maxPayloadCount", 0); //500 +lockPref("services.sync.addons.ignoreUserEnabledChanges", true); //false +lockPref("services.sync.engine.addons", false); //true +lockPref("services.sync.engine.addresses", false); //false +lockPref("services.sync.engine.addresses.available", false); +lockPref("services.sync.engine.bookmarks", false); //true +lockPref("services.sync.engine.creditcards", false); //false +lockPref("services.sync.engine.creditcards.available", false); //false +lockPref("services.sync.engine.history", false); //true +lockPref("services.sync.engine.passwords", false); //true +lockPref("services.sync.engine.prefs", false); //true +lockPref("services.sync.engine.tabs", false); //true +lockPref("services.sync.log.appender.file.logOnError", false); //true +lockPref("services.sync.log.appender.file.logOnSuccess", false); //false +lockPref("services.sync.log.cryptoDebug", false); //false +lockPref("services.sync.sendVersionInfo", false); //true +lockPref("services.sync.syncedTabs.showRemoteIcons", true); //true +lockPref("services.sync.prefs.sync.services.sync.syncedTabs.showRemoteIcons", false); //true +lockPref("services.sync.prefs.sync.accessibility.blockautorefresh", false); //true +lockPref("services.sync.prefs.sync.accessibility.browsewithcaret", false); //true +lockPref("services.sync.prefs.sync.accessibility.typeaheadfind", false); //true +lockPref("services.sync.prefs.sync.accessibility.typeaheadfind.linksonly", false); //true +lockPref("services.sync.prefs.sync.addons.ignoreUserEnabledChanges", true); //true +lockPref("services.sync.prefs.sync.browser.contentblocking.category", false); //true +lockPref("services.sync.prefs.sync.browser.contentblocking.features.strict", false); //true +lockPref("services.sync.prefs.sync.browser.ctrlTab.recentlyUsedOrder", false); //true +lockPref("services.sync.prefs.sync.browser.download.useDownloadDir", false); //true +lockPref("services.sync.prefs.sync.browser.formfill.enable", false); //true +lockPref("services.sync.prefs.sync.browser.link.open_newwindow", false); //true +lockPref("services.sync.prefs.sync.browser.newtabpage.enabled", false); //true +lockPref("services.sync.prefs.sync.browser.newtabpage.pinned", false); //true +lockPref("services.sync.prefs.sync.browser.newtabpage.activity-stream.section.highlights.includePocket", false); //true +lockPref("services.sync.prefs.sync.browser.newtabpage.activity-stream.section.highlights.includeVisited", false); //true +lockPref("services.sync.prefs.sync.browser.newtabpage.activity-stream.section.highlights.includeBookmarks", false); //true +lockPref("services.sync.prefs.sync.browser.newtabpage.activity-stream.section.highlights.includeDownloads", false); //true +lockPref("services.sync.prefs.sync.browser.newtabpage.activity-stream.section.highlights.rows", false); //true +lockPref("services.sync.prefs.sync.browser.newtabpage.activity-stream.section.topstories.rows", false); //true +lockPref("services.sync.prefs.sync.browser.offline-apps.notify", false); //true +lockPref("services.sync.prefs.sync.browser.search.update", false); //true +lockPref("services.sync.prefs.sync.browser.search.widget.inNavBar", false); //true +lockPref("services.sync.prefs.sync.browser.sessionstore.warnOnQuit", false); //true +lockPref("services.sync.prefs.sync.browser.startup.homepage", false); //true +lockPref("services.sync.prefs.sync.browser.startup.page", false); //true +lockPref("services.sync.prefs.sync.browser.tabs.loadInBackground", false); //true +lockPref("services.sync.prefs.sync.browser.tabs.warnOnClose", false); //true +lockPref("services.sync.prefs.sync.browser.tabs.warnOnOpen", false); //true +lockPref("services.sync.prefs.sync.browser.urlbar.maxRichResults", false); //true +lockPref("services.sync.prefs.sync.browser.urlbar.suggest.bookmark", false); //true +lockPref("services.sync.prefs.sync.browser.urlbar.suggest.history", false); //true +lockPref("services.sync.prefs.sync.browser.urlbar.suggest.engines", false); //true +lockPref("services.sync.prefs.sync.browser.urlbar.suggest.topsites", false); //true +lockPref("services.sync.prefs.sync.browser.urlbar.suggest.openpage", false); //true +lockPref("services.sync.prefs.sync.browser.urlbar.suggest.searches", false); //true +lockPref("services.sync.prefs.sync.browser.urlbar.resultBuckets", false); //true +lockPref("services.sync.prefs.sync.browser.urlbar.showSearchSuggestionsFirst", false); //true +lockPref("services.sync.prefs.sync.dom.disable_open_during_load", false); //true +lockPref("services.sync.prefs.sync.dom.disable_window_flip", false); //true +lockPref("services.sync.prefs.sync.dom.disable_window_move_resize", false); //true +lockPref("services.sync.prefs.sync.dom.event.contextmenu.enabled", false); //true +lockPref("services.sync.prefs.sync.dom.security.https_only_mode", false); //true +lockPref("services.sync.prefs.sync.dom.security.https_only_mode_ever_enabled", false); //true +lockPref("services.sync.prefs.sync.dom.security.https_only_mode_ever_enabled_pbm", false); //true +lockPref("services.sync.prefs.sync.dom.security.https_only_mode_pbm", false); //true +lockPref("services.sync.prefs.sync.extensions.activeThemeID", false); //true +lockPref("services.sync.prefs.sync.extensions.update.enabled", false); //true +lockPref("services.sync.prefs.sync.intl.accept_languages", false); //true +lockPref("services.sync.prefs.sync.intl.regional_prefs.use_os_locales", false); //true +lockPref("services.sync.prefs.sync.layout.spellcheckDefault", false); //true +lockPref("services.sync.prefs.sync.network.cookie.cookieBehavior", false); //true +lockPref("services.sync.prefs.sync.network.cookie.lifetimePolicy", false); //true +lockPref("services.sync.prefs.sync.network.cookie.thirdparty.sessionOnly", false); //true +lockPref("services.sync.prefs.sync.permissions.default.image", false); //true +lockPref("services.sync.prefs.sync.pref.downloads.disable_button.edit_actions", false); //true +lockPref("services.sync.prefs.sync.pref.privacy.disable_button.cookie_exceptions", false); //true +lockPref("services.sync.prefs.sync.privacy.clearOnShutdown.cache", false); //true +lockPref("services.sync.prefs.sync.privacy.clearOnShutdown.cookies", false); //true +lockPref("services.sync.prefs.sync.privacy.clearOnShutdown.downloads", false); //true +lockPref("services.sync.prefs.sync.privacy.clearOnShutdown.formdata", false); //true +lockPref("services.sync.prefs.sync.privacy.clearOnShutdown.history", false); //true +lockPref("services.sync.prefs.sync.privacy.clearOnShutdown.offlineApps", false); //true +lockPref("services.sync.prefs.sync.privacy.clearOnShutdown.sessions", false); //true +lockPref("services.sync.prefs.sync.privacy.clearOnShutdown.siteSettings", false); //true +lockPref("services.sync.prefs.sync.privacy.donottrackheader.enabled", false); //true +lockPref("services.sync.prefs.sync.privacy.fuzzyfox.clockgrainus", false); //true +lockPref("services.sync.prefs.sync.privacy.fuzzyfox.enabled", false); //true +lockPref("services.sync.prefs.sync.privacy.reduceTimerPrecision", false); //true +lockPref("services.sync.prefs.sync.privacy.resistFingerprinting", false); //true +lockPref("services.sync.prefs.sync.privacy.resistFingerprinting.reduceTimerPrecision.jitter", false); //true +lockPref("services.sync.prefs.sync.privacy.resistFingerprinting.reduceTimerPrecision.microseconds", false); //true +lockPref("services.sync.prefs.sync.privacy.sanitize.sanitizeOnShutdown", false); //true +lockPref("services.sync.prefs.sync.privacy.trackingprotection.enabled", false); //true +lockPref("services.sync.prefs.sync.privacy.trackingprotection.pbmode.enabled", false); //true +lockPref("services.sync.prefs.sync.privacy.trackingprotection.cryptomining.enabled", false); //true +lockPref("services.sync.prefs.sync.privacy.trackingprotection.fingerprinting.enabled", false); //true +lockPref("services.sync.prefs.sync.privacy.userContext.enabled", false); //true +lockPref("services.sync.prefs.sync.privacy.userContext.newTabContainerOnLeftClick.enabled", false); //true +lockPref("services.sync.prefs.sync.security.default_personal_cert", false); //true +lockPref("services.sync.prefs.sync.spellchecker.dictionary", false); //true +lockPref("services.sync.prefs.sync.signon.rememberSignons", false); +lockPref("services.sync.prefs.sync.signon.management.page.breach-alerts.enabled", false); +lockPref("services.sync.prefs.sync.signon.generation.enabled", false); +lockPref("services.sync.prefs.sync.signon.autofillForms", false); +lockPref("services.sync.declinedEngines", ""); +lockPref("services.sync.globalScore", 0); +lockPref("services.sync.nextSync", 0); +lockPref("services.sync.prefs.sync.browser.safebrowsing.downloads.enabled", false); +lockPref("services.sync.prefs.sync.browser.safebrowsing.malware.enabled", false); +lockPref("services.sync.prefs.sync.browser.safebrowsing.downloads.remote.block_potentially_unwanted", false); +lockPref("services.sync.prefs.sync.browser.safebrowsing.phishing.enabled", false); +lockPref("services.sync.tabs.lastSync", "0"); +*/ +``` +>>>>>>> 814a479 (reviewed DRM, removed ircs hand, moved exp prefs) diff --git a/librewolf.cfg b/librewolf.cfg index 9536513..035550b 100755 --- a/librewolf.cfg +++ b/librewolf.cfg @@ -435,11 +435,15 @@ defaultPref("media.eme.enabled", false); defaultPref("media.gmp-widevinecdm.visible", false); defaultPref("media.gmp-widevinecdm.enabled", false); defaultPref("media.gmp-provider.enabled", false); +<<<<<<< HEAD defaultPref("media.gmp-manager.url", "data:text/plain,"); // had to re-add to prevent connections <<<<<<< HEAD <<<<<<< HEAD defaultPref("media.gmp-gmpopenh264.enabled", false); +======= +defaultPref("media.gmp-manager.url", "data:text/plain,"); had to re-add to prevent connections +>>>>>>> 814a479 (reviewed DRM, removed ircs hand, moved exp prefs) // ---------------------- // # WEBRTC @@ -1356,15 +1360,6 @@ lockPref("canvas.capturestream.enabled", false); lockPref("network.IDN_show_punycode", true); lockPref("security.fileuri.strict_origin_policy", true); -// fxaccount, to check -lockPref("identity.fxaccounts.enabled", false); -lockPref("identity.fxaccounts.remote.root", ""); -lockPref("identity.fxaccounts.auth.uri", ""); -lockPref("identity.fxaccounts.commands.enabled", false); -lockPref("identity.fxaccounts.remote.oauth.uri", ""); -lockPref("identity.fxaccounts.remote.profile.uri", ""); -lockPref("identity.fxaccounts.service.monitorLoginUrl", ""); - // pocket lockPref("extensions.pocket.enabled", false); lockPref("extensions.pocket.site", ""); @@ -1437,6 +1432,8 @@ lockPref("gecko.handlerService.schemes.mailto.1.uriTemplate", ""); lockPref("gecko.handlerService.schemes.mailto.1.name", ""); // default Gmail lockPref("gecko.handlerService.schemes.irc.0.uriTemplate", ""); lockPref("gecko.handlerService.schemes.irc.0.name", ""); +lockPref("gecko.handlerService.schemes.ircs.0.uriTemplate", ""); +lockPref("gecko.handlerService.schemes.ircs.0.name", ""); lockPref("services.settings.server", ""); lockPref("accessibility.support.url", ""); lockPref("app.support.baseURL", ""); @@ -1459,17 +1456,6 @@ lockPref("browser.chrome.errorReporter.infoURL", ""); lockPref("datareporting.policy.firstRunURL", ""); lockPref("gecko.handlerService.schemes.webcal.0.uriTemplate", ""); - -// to check, should all be handled by lockPref("services.settings.server", "") -lockPref("services.blocklist.addons.collection", ""); -lockPref("services.blocklist.plugins.collection", ""); -lockPref("services.blocklist.gfx.collection", ""); -lockPref("services.blocklist.addons.signer", ""); -lockPref("services.blocklist.gfx.signer", ""); -lockPref("services.settings.security.onecrl.signer", ""); -lockPref("services.blocklist.pinning.signer", ""); -lockPref("services.blocklist.plugins.signer", ""); - // -------------------------------- // CACHE // -------------------------------- @@ -1482,124 +1468,6 @@ lockPref("media.memory_cache_max_size", 16384); // should be checked // lockPref("browser.cache.offline.enable", false); -// -------------------------------- -// SYNC -// -------------------------------- - -lockPref("services.sync.addons.trustedSourceHostnames", ""); -lockPref("services.sync.lastversion", ""); -lockPref("services.sync.maxResyncs", 0); // 1 -lockPref("services.sync.telemetry.maxPayloadCount", 0); //500 -lockPref("services.sync.addons.ignoreUserEnabledChanges", true); //false -lockPref("services.sync.engine.addons", false); //true -lockPref("services.sync.engine.addresses", false); //false -lockPref("services.sync.engine.addresses.available", false); -lockPref("services.sync.engine.bookmarks", false); //true -lockPref("services.sync.engine.creditcards", false); //false -lockPref("services.sync.engine.creditcards.available", false); //false -lockPref("services.sync.engine.history", false); //true -lockPref("services.sync.engine.passwords", false); //true -lockPref("services.sync.engine.prefs", false); //true -lockPref("services.sync.engine.tabs", false); //true -lockPref("services.sync.log.appender.file.logOnError", false); //true -lockPref("services.sync.log.appender.file.logOnSuccess", false); //false -lockPref("services.sync.log.cryptoDebug", false); //false -lockPref("services.sync.sendVersionInfo", false); //true -lockPref("services.sync.syncedTabs.showRemoteIcons", true); //true -lockPref("services.sync.prefs.sync.services.sync.syncedTabs.showRemoteIcons", false); //true -lockPref("services.sync.prefs.sync.accessibility.blockautorefresh", false); //true -lockPref("services.sync.prefs.sync.accessibility.browsewithcaret", false); //true -lockPref("services.sync.prefs.sync.accessibility.typeaheadfind", false); //true -lockPref("services.sync.prefs.sync.accessibility.typeaheadfind.linksonly", false); //true -lockPref("services.sync.prefs.sync.addons.ignoreUserEnabledChanges", true); //true -lockPref("services.sync.prefs.sync.browser.contentblocking.category", false); //true -lockPref("services.sync.prefs.sync.browser.contentblocking.features.strict", false); //true -lockPref("services.sync.prefs.sync.browser.ctrlTab.recentlyUsedOrder", false); //true -lockPref("services.sync.prefs.sync.browser.download.useDownloadDir", false); //true -lockPref("services.sync.prefs.sync.browser.formfill.enable", false); //true -lockPref("services.sync.prefs.sync.browser.link.open_newwindow", false); //true -lockPref("services.sync.prefs.sync.browser.newtabpage.enabled", false); //true -lockPref("services.sync.prefs.sync.browser.newtabpage.pinned", false); //true -lockPref("services.sync.prefs.sync.browser.newtabpage.activity-stream.section.highlights.includePocket", false); //true -lockPref("services.sync.prefs.sync.browser.newtabpage.activity-stream.section.highlights.includeVisited", false); //true -lockPref("services.sync.prefs.sync.browser.newtabpage.activity-stream.section.highlights.includeBookmarks", false); //true -lockPref("services.sync.prefs.sync.browser.newtabpage.activity-stream.section.highlights.includeDownloads", false); //true -lockPref("services.sync.prefs.sync.browser.newtabpage.activity-stream.section.highlights.rows", false); //true -lockPref("services.sync.prefs.sync.browser.newtabpage.activity-stream.section.topstories.rows", false); //true -lockPref("services.sync.prefs.sync.browser.offline-apps.notify", false); //true -lockPref("services.sync.prefs.sync.browser.search.update", false); //true -lockPref("services.sync.prefs.sync.browser.search.widget.inNavBar", false); //true -lockPref("services.sync.prefs.sync.browser.sessionstore.warnOnQuit", false); //true -lockPref("services.sync.prefs.sync.browser.startup.homepage", false); //true -lockPref("services.sync.prefs.sync.browser.startup.page", false); //true -lockPref("services.sync.prefs.sync.browser.tabs.loadInBackground", false); //true -lockPref("services.sync.prefs.sync.browser.tabs.warnOnClose", false); //true -lockPref("services.sync.prefs.sync.browser.tabs.warnOnOpen", false); //true -lockPref("services.sync.prefs.sync.browser.urlbar.maxRichResults", false); //true -lockPref("services.sync.prefs.sync.browser.urlbar.suggest.bookmark", false); //true -lockPref("services.sync.prefs.sync.browser.urlbar.suggest.history", false); //true -lockPref("services.sync.prefs.sync.browser.urlbar.suggest.engines", false); //true -lockPref("services.sync.prefs.sync.browser.urlbar.suggest.topsites", false); //true -lockPref("services.sync.prefs.sync.browser.urlbar.suggest.openpage", false); //true -lockPref("services.sync.prefs.sync.browser.urlbar.suggest.searches", false); //true -lockPref("services.sync.prefs.sync.browser.urlbar.resultBuckets", false); //true -lockPref("services.sync.prefs.sync.browser.urlbar.showSearchSuggestionsFirst", false); //true -lockPref("services.sync.prefs.sync.dom.disable_open_during_load", false); //true -lockPref("services.sync.prefs.sync.dom.disable_window_flip", false); //true -lockPref("services.sync.prefs.sync.dom.disable_window_move_resize", false); //true -lockPref("services.sync.prefs.sync.dom.event.contextmenu.enabled", false); //true -lockPref("services.sync.prefs.sync.dom.security.https_only_mode", false); //true -lockPref("services.sync.prefs.sync.dom.security.https_only_mode_ever_enabled", false); //true -lockPref("services.sync.prefs.sync.dom.security.https_only_mode_ever_enabled_pbm", false); //true -lockPref("services.sync.prefs.sync.dom.security.https_only_mode_pbm", false); //true -lockPref("services.sync.prefs.sync.extensions.activeThemeID", false); //true -lockPref("services.sync.prefs.sync.extensions.update.enabled", false); //true -lockPref("services.sync.prefs.sync.intl.accept_languages", false); //true -lockPref("services.sync.prefs.sync.intl.regional_prefs.use_os_locales", false); //true -lockPref("services.sync.prefs.sync.layout.spellcheckDefault", false); //true -lockPref("services.sync.prefs.sync.network.cookie.cookieBehavior", false); //true -lockPref("services.sync.prefs.sync.network.cookie.lifetimePolicy", false); //true -lockPref("services.sync.prefs.sync.network.cookie.thirdparty.sessionOnly", false); //true -lockPref("services.sync.prefs.sync.permissions.default.image", false); //true -lockPref("services.sync.prefs.sync.pref.downloads.disable_button.edit_actions", false); //true -lockPref("services.sync.prefs.sync.pref.privacy.disable_button.cookie_exceptions", false); //true -lockPref("services.sync.prefs.sync.privacy.clearOnShutdown.cache", false); //true -lockPref("services.sync.prefs.sync.privacy.clearOnShutdown.cookies", false); //true -lockPref("services.sync.prefs.sync.privacy.clearOnShutdown.downloads", false); //true -lockPref("services.sync.prefs.sync.privacy.clearOnShutdown.formdata", false); //true -lockPref("services.sync.prefs.sync.privacy.clearOnShutdown.history", false); //true -lockPref("services.sync.prefs.sync.privacy.clearOnShutdown.offlineApps", false); //true -lockPref("services.sync.prefs.sync.privacy.clearOnShutdown.sessions", false); //true -lockPref("services.sync.prefs.sync.privacy.clearOnShutdown.siteSettings", false); //true -lockPref("services.sync.prefs.sync.privacy.donottrackheader.enabled", false); //true -lockPref("services.sync.prefs.sync.privacy.fuzzyfox.clockgrainus", false); //true -lockPref("services.sync.prefs.sync.privacy.fuzzyfox.enabled", false); //true -lockPref("services.sync.prefs.sync.privacy.reduceTimerPrecision", false); //true -lockPref("services.sync.prefs.sync.privacy.resistFingerprinting", false); //true -lockPref("services.sync.prefs.sync.privacy.resistFingerprinting.reduceTimerPrecision.jitter", false); //true -lockPref("services.sync.prefs.sync.privacy.resistFingerprinting.reduceTimerPrecision.microseconds", false); //true -lockPref("services.sync.prefs.sync.privacy.sanitize.sanitizeOnShutdown", false); //true -lockPref("services.sync.prefs.sync.privacy.trackingprotection.enabled", false); //true -lockPref("services.sync.prefs.sync.privacy.trackingprotection.pbmode.enabled", false); //true -lockPref("services.sync.prefs.sync.privacy.trackingprotection.cryptomining.enabled", false); //true -lockPref("services.sync.prefs.sync.privacy.trackingprotection.fingerprinting.enabled", false); //true -lockPref("services.sync.prefs.sync.privacy.userContext.enabled", false); //true -lockPref("services.sync.prefs.sync.privacy.userContext.newTabContainerOnLeftClick.enabled", false); //true -lockPref("services.sync.prefs.sync.security.default_personal_cert", false); //true -lockPref("services.sync.prefs.sync.spellchecker.dictionary", false); //true -lockPref("services.sync.prefs.sync.signon.rememberSignons", false); -lockPref("services.sync.prefs.sync.signon.management.page.breach-alerts.enabled", false); -lockPref("services.sync.prefs.sync.signon.generation.enabled", false); -lockPref("services.sync.prefs.sync.signon.autofillForms", false); -lockPref("services.sync.declinedEngines", ""); -lockPref("services.sync.globalScore", 0); -lockPref("services.sync.nextSync", 0); -lockPref("services.sync.prefs.sync.browser.safebrowsing.downloads.enabled", false); -lockPref("services.sync.prefs.sync.browser.safebrowsing.malware.enabled", false); -lockPref("services.sync.prefs.sync.browser.safebrowsing.downloads.remote.block_potentially_unwanted", false); -lockPref("services.sync.prefs.sync.browser.safebrowsing.phishing.enabled", false); -lockPref("services.sync.tabs.lastSync", "0"); - // -------------------------------- // WEBGL AND PERFORMANCE // --------------------------------