-**IMPORTANT**: This file is in active development along with the policies in Firefox. Make sure to check the compatibility section to see if a policy is available in a specific version of Firefox. To get the policy information that corresponds to a specific release, go to https://github.com/mozilla/policy-templates/releases.
-
Policies can be specified using the Group Policy templates on Windows (https://github.com/mozilla/policy-templates/tree/master/windows), configuration profiles on macOS (https://github.com/mozilla/policy-templates/tree/master/mac), or by creating a file called `policies.json`. On Windows, create a directory called `distribution` where the EXE is located and place the file there. On Mac, the file goes into `Firefox.app/Contents/Resources/distribution`. On Linux, the file goes into `firefox/distribution`, where `firefox` is the installation directory for firefox, which varies by distribution.
| Policy Name | Description
| **[`DisablePrivateBrowsing`](#disableprivatebrowsing)** | Remove access to private browsing.
| **[`DisableProfileImport`](#disableprofileimport)** | Disables the "Import data from another browser" option in the bookmarks window.
| **[`DisableProfileRefresh`](#disableprofilerefresh)** | Disable the Refresh Firefox button on about:support and support.mozilla.org
-| **[`DisableSafeMode`](#disablesafemode)** | Disable safe mode.
+| **[`DisableSafeMode`](#disablesafemode)** | Disable safe mode within the browser.
| **[`DisableSecurityBypass`](#disablesecuritybypass)** | Prevent the user from bypassing security in certain cases.
| **[`DisableSystemAddonUpdate`](#disablesystemaddonupdate)** | Prevent system add-ons from being installed or update.
| **[`DisableTelemetry`](#disabletelemetry)** | DisableTelemetry
| **[`DisplayBookmarksToolbar`](#displaybookmarkstoolbar)** | Set the initial state of the bookmarks toolbar.
-| **[`DisplayMenuBar`](#displaymenubar)** | Set the initial state of the menubar
+| **[`DisplayMenuBar`](#displaymenubar)** | Set the initial state of the menubar.
| **[`DNSOverHTTPS`](#dnsoverhttps)** | Configure DNS over HTTPS.
| **[`DontCheckDefaultBrowser`](#dontcheckdefaultbrowser)** | Don't check if Firefox is the default browser at startup.
+| **[`DefaultDownloadDirectory`](#defaultdownloaddirectory)** | Set the default download directory.
+| **[`DownloadDirectory`](#downloaddirectory)** | Set and lock the download directory.
| **[`EnableTrackingProtection`](#enabletrackingprotection)** | Configure tracking protection.
+| **[`EnterprisePoliciesEnabled`](#enterprisepoliciesenabled)** | Enable policy support on macOS.
| **[`Extensions`](#extensions)** | Control the installation, uninstallation and locking of extensions.
| **[`ExtensionUpdate`](#extensionupdate)** | Control extension updates.
| **[`FlashPlugin`](#flashplugin)** | Configure the default Flash plugin policy as well as origins for which Flash is allowed.
+| **[`FirefoxHome`](#firefoxhome)** | Customize the Firefox Home page.
| **[`HardwareAcceleration`](#hardwareacceleration)** | Control hardware acceleration.
| **[`Homepage`](#homepage)** | Configure the default homepage and how Firefox starts.
| **[`InstallAddonsPermission`](#installaddonspermission)** | Configure the default extension install policy as well as origins for extension installs are allowed.
+| **[`LocalFileLinks`](#localfilelinks)** | Enable linking to local files by origin.
| **[`NetworkPrediction`](#networkprediction)** | Enable or disable network prediction (DNS prefetching).
+| **[`NewTabPage`](#newtabpage)** | Enable or disable the New Tab page.
| **[`NoDefaultBookmarks`](#nodefaultbookmarks)** | Disable the creation of default bookmarks.
| **[`OfferToSaveLogins`](#offertosavelogins)** | Control whether or not Firefox offers to save passwords.
| **[`OverrideFirstRunPage`](#overridefirstrunpage)** | Override the first run page.
| **[`OverridePostUpdatePage`](#overridepostupdatepage)** | Override the upgrade page.
-| **[`PopupBlocking`](#popupblocking)** | Configure the default pop-up window policy as well as origins for which pop-up windows are allowed.
| **[`Permissions`](#permissions)** | Set permissions associated with camera, microphone, location, and notifications.
+| **[`PopupBlocking`](#popupblocking)** | Configure the default pop-up window policy as well as origins for which pop-up windows are allowed.
| **[`Preferences`](#preferences)** | Set and lock some preferences.
+| **[`PromptForDownloadLocation`](#promptfordownloadlocation)** | Ask where to save each file before downloading.
| **[`Proxy`](#proxy)** | Configure proxy settings.
| **[`RequestedLocales`](#requestedlocales)** | Set the the list of requested locales for the application in order of preference.
-| **[`SanitizeOnShutdown`](#sanitizeonshutdown)** | Clear all data on shutdown.
+| **[`SanitizeOnShutdown` (All)](#sanitizeonshutdown-all)** | Clear all data on shutdown.
+| **[`SanitizeOnShutdown` (Selective)](#sanitizeonshutdown-selective)** | Clear data on shutdown.
| **[`SearchBar`](#searchbar)** | Set whether or not search bar is displayed.
| **[`SearchEngines`](#searchengines-this-policy-is-only-available-on-the-esr)** |
| **[`SearchEngines -> Default`](#searchengines--default)** | Set the default search engine.
| **[`SearchEngines -> Remove`](#searchengines--remove)** | Hide built-in search engines.
| **[`SearchEngines -> Add`](#searchengines--add)** | Add new search engines.
| **[`SecurityDevices`](#securitydevices)** | Install PKCS #11 modules.
+| **[`SearchSuggestEnabled`](#searchsuggestenabled)** | Enable search suggestions.
| **[`SSLVersionMax`](#sslversionmax)** | Set and lock the maximum version of TLS.
| **[`SSLVersionMin`](#sslversionmin)** | Set and lock the minimum version of TLS.
+| **[`SupportMenu`](#supportmenu)** | Add a menuitem to the help menu for specifying support information.
| **[`WebsiteFilter`](#websitefilter)** | Block websites from being visited.
-
### AppUpdateURL
Change the URL for application update.
}
```
### DisableSafeMode
-Disable safe mode.
+Disable safe mode within the browser.
+
+On Windows, this disables safe mode via the command line as well.
**Compatibility:** Firefox 60, Firefox ESR 60 (Windows, macOS)\
**CCK2 Equivalent:** `disableSafeMode`\
#### Windows
```
-Software\Policies\Mozilla\Firefox\Cookies\Enabled = 0x1 | 0x0
-Software\Policies\Mozilla\Firefox\Cookies\ProviderURL = "URL_TO_ALTERNATE_PROVIDER"
-Software\Policies\Mozilla\Firefox\Cookies\Locked = 0x1 | 0x0
+Software\Policies\Mozilla\Firefox\DNSOverHTTPS\Enabled = 0x1 | 0x0
+Software\Policies\Mozilla\Firefox\DNSOverHTTPS\ProviderURL = "URL_TO_ALTERNATE_PROVIDER"
+Software\Policies\Mozilla\Firefox\DNSOverHTTPS\Locked = 0x1 | 0x0
```
#### macOS
```
<dict>
- <key>Cookies</key>
+ <key>DNSOverHTTPS</key>
<dict>
<key>Enabled</key>
<true/> | <false/>
}
}
```
+### DefaultDownloadDirectory
+Set the default download directory.
+
+You can use ${home} for the native home directory.
+
+**Compatibility:** Firefox 68, Firefox ESR 68\
+**CCK2 Equivalent:** N/A\
+**Preferences Affected:** `browser.download.dir`,`browser.download.folderList`
+
+#### Windows
+```
+Software\Policies\Mozilla\Firefox\DefaultDownloadDirectory = "${home}\Downloads"
+```
+#### macOS
+```
+<dict>
+ <key>DefaultDownloadDirectory</key>
+ <string>${home}/Downloads</string>
+</dict>
+```
+#### JSON (macOS and Linux)
+```
+{
+ "policies": {
+ "DefaultDownloadDirectory": "${home}/Downloads"
+}
+```
+#### JSON (Windows)
+```
+{
+ "policies": {
+ "DefaultDownloadDirectory": "${home}\\Downloads"
+}
+```
+### DownloadDirectory
+Set and lock the download directory.
+
+You can use ${home} for the native home directory.
+
+**Compatibility:** Firefox 68, Firefox ESR 68\
+**CCK2 Equivalent:** N/A\
+**Preferences Affected:** `browser.download.dir`,`browser.download.folderList`,`browser.download.useDownloadDir`
+
+#### Windows
+```
+Software\Policies\Mozilla\Firefox\DownloadDirectory = "${home}\Downloads"
+```
+#### macOS
+```
+<dict>
+ <key>DownloadDirectory</key>
+ <string>${home}/Downloads</string>
+</dict>
+```
+#### JSON (macOS and Linux)
+```
+{
+ "policies": {
+ "DownloadDirectory": "${home}/Downloads"
+}
+```
+#### JSON (Windows)
+```
+{
+ "policies": {
+ "DownloadDirectory": "${home}\\Downloads"
+}
+```
### EnableTrackingProtection
Configure tracking protection.
}
}
```
+### EnterprisePoliciesEnabled
+Enable policy support on macOS.
+
+**Compatibility:** Firefox 63, Firefox ESR 60.3 (macOS only)\
+**CCK2 Equivalent:** N/A\
+**Preferences Affected:** N/A
+
+#### macOS
+```
+<dict>
+ <key>EnterprisePoliciesEnabled</key>
+ <true/>
+</dict>
+```
### Extensions
Control the installation, uninstallation and locking of extensions.
}
}
```
+### ExtensionSettings
+Do NOT use this policy. You risk uninstalling your search extensions.
+
### ExtensionUpdate
Control extension updates.
}
}
```
+### FirefoxHome
+Customize the Firefox Home page.
+
+**Compatibility:** Firefox 68, Firefox ESR 68\
+**CCK2 Equivalent:** N/A\
+**Preferences Affected:** `browser.newtabpage.activity-stream.showSearch`,`browser.newtabpage.activity-stream.feeds.topsites`,`browser.newtabpage.activity-stream.feeds.section.highlights`,`browser.newtabpage.activity-stream.feeds.section.topstories`,`browser.newtabpage.activity-stream.feeds.snippets`
+
+#### Windows
+```
+Software\Policies\Mozilla\Firefox\FirefoxHome\Search = 0x1 | 0x0
+Software\Policies\Mozilla\Firefox\FirefoxHome\TopSites = 0x1 | 0x0
+Software\Policies\Mozilla\Firefox\FirefoxHome\Highlights = 0x1 | 0x0
+Software\Policies\Mozilla\Firefox\FirefoxHome\Pocket = 0x1 | 0x0
+Software\Policies\Mozilla\Firefox\FirefoxHome\Snippets = 0x1 | 0x0
+Software\Policies\Mozilla\Firefox\FirefoxHome\Locked = 0x1 | 0x0
+```
+#### macOS
+```
+<dict>
+ <key>FirefoxHome</key>
+ <dict>
+ <key>Search</key>
+ <true/> | <false/>
+ <key>TopSites</key>
+ <true/> | <false/>
+ <key>Highlights</key>
+ <true/> | <false/>
+ <key>Pocket</key>
+ <true/> | <false/>
+ <key>Snippets</key>
+ <true/> | <false/>
+ <key>Locked</key>
+ <true/> | <false/>
+ </dict>
+</dict>
+```
+#### JSON
+```
+{
+ "policies": {
+ "FirefoxHome": {
+ "Search": true | false,
+ "TopSites": true | false,
+ "Highlights": true | false,
+ "Pocket": true | false,
+ "Snippets": true | false,
+ "Locked": true | false
+ }
+ }
+}
+```
### HardwareAcceleration
Control hardware acceleration.
}
}
```
+### LocalFileLinks
+Enable linking to local files by origin.
+
+**Compatibility:** Firefox 68, Firefox ESR 68\
+**CCK2 Equivalent:** N/A\
+**Preferences Affected:** `capability.policy.localfilelinks.*`
+
+#### Windows
+```
+Software\Policies\Mozilla\Firefox\LocalFileLinks\1 = "https://example.org"
+Software\Policies\Mozilla\Firefox\LocalFileLinks\2 = "https://example.edu"
+```
+#### macOS
+```
+<dict>
+ <key>LocalFileLinks</key>
+ <array>
+ <string>http://example.org</string>
+ <string>http://example.edu</string>
+ </array>
+</dict>
+```
+#### JSON
+```
+{
+ "policies": {
+ "LocalFileLinks": ["http://example.org/",
+ "http://example.edu/"]
+ }
+}
+```
### NoDefaultBookmarks
Disable the creation of default bookmarks.
}
```
### NetworkPrediction
-Enable or disable network prediction (DNS prefetching).
+Enable or disable network prediction (DNS prefetching).
**Compatibility:** Firefox 67, Firefox ESR 60.7\
**CCK2 Equivalent:** N/A\
"NetworkPrediction": true | false
}
```
+### NewTabPage
+Enable or disable the New Tab page.
+
+**Compatibility:** Firefox 68, Firefox ESR 68\
+**CCK2 Equivalent:** N/A\
+**Preferences Affected:** `browser.newtabpage.enabled`
+
+#### Windows
+```
+Software\Policies\Mozilla\Firefox\NewTabPage = 0x1 | 0x0
+```
+#### macOS
+```
+<dict>
+ <key>NewTabPage</key>
+ <true/> | <false/>
+</dict>
+```
+#### JSON
+```
+{
+ "policies": {
+ "NewTabPage": true | false
+}
+```
### OfferToSaveLogins
Control whether or not Firefox offers to save passwords.
```
{
"policies": {
- "OverrideFirstRunPage": ""http://example.org""
+ "OverrideFirstRunPage": "http://example.org"
}
```
### OverridePostUpdatePage
```
{
"policies": {
- "OverridePostUpdatePage": ""http://example.org""
+ "OverridePostUpdatePage": "http://example.org"
}
```
### Permissions
#### macOS
```
<dict>
- <key>Preference</key>
+ <key>Preferences</key>
<dict>
<key>boolean_preference_name</key>
<true/> | <false/>
```
{
"policies": {
- "Preference": {
+ "Preferences": {
"boolean_preference_name": true | false,
"string_preference_name": "string_value"
}
}
}
```
+### PromptForDownloadLocation
+Ask where to save each file before downloading.
+
+**Compatibility:** Firefox 68, Firefox ESR 68\
+**CCK2 Equivalent:** N/A
+**Preferences Affected:** `browser.download.useDownloadDir`
+
+#### Windows
+```
+Software\Policies\Mozilla\Firefox\PromptForDownloadLocation = 0x1 | 0x0
+```
+#### macOS
+```
+<dict>
+ <key>PromptForDownloadLocation</key>
+ <true/> | <false/>
+</dict>
+```
+#### JSON
+```
+{
+ "policies": {
+ "PromptForDownloadLocation": true | false
+ }
+}
+```
### Proxy
-Configugre proxy settings. These settings correspond to the connection settings in Firefox preferences.
+Configure proxy settings. These settings correspond to the connection settings in Firefox preferences.
To specify ports, append them to the hostnames with a colon (:).
`Mode` is the proxy method being used.
`UseProxyForDNS` to use proxy DNS when using SOCKS v5.
-**Compatibility:** Firefoox 60, Firefox ESR 60\
+**Compatibility:** Firefox 60, Firefox ESR 60\
**CCK2 Equivalent:** `networkProxy*`\
**Preferences Affected:** `network.proxy.type`,`network.proxy.autoconfig_url`,`network.proxy.socks_remote_dns`,`signon.autologin.proxy`,`network.proxy.socks_version`,`network.proxy.no_proxies_on`,`network.proxy.share_proxy_settings`,`network.proxy.http`,`network.proxy.http_port`,`network.proxy.ftp`,`network.proxy.ftp_port`,`network.proxy.ssl`,`network.proxy.ssl_port`,`network.proxy.socks`,`network.proxy.socks_port`
### RequestedLocales
Set the the list of requested locales for the application in order of preference. It will cause the corresponding language pack to become active.
-**Compatibility:** Firefox 64, Firefox ESR 60.4\
+Note: For Firefox 68, this can now be a string so that you can specify an empty value.
+
+**Compatibility:** Firefox 64, Firefox ESR 60.4, Updated in Firefox 68, Firefox ESR 68\
**CCK2 Equivalent:** N/A\
**Preferences Affected:** N/A
#### Windows
```
Software\Policies\Mozilla\Firefox\RequestedLocales\1 = "de"
Software\Policies\Mozilla\Firefox\RequestedLocales\2 = "en-US"
+
+or
+
+Software\Policies\Mozilla\Firefox\RequestedLocales = "de,en-US"
```
#### macOS
```
<string>en-US</string>
</array>
</dict>
+
+or
+
+<dict>
+ <key>RequestedLocales</key>
+ <string>de,en-US</string>
+</dict>
+
```
#### JSON
```
"RequestedLocales": ["de", "en-US"]
}
}
+
+or
+
+{
+ "policies": {
+ "RequestedLocales": "de,en-US"
+ }
+}
+```
+### SanitizeOnShutdown (Selective)
+Clear data on shutdown. Choose from Cache, Cookies, Download History, Form & Search History, Browsing History, Active Logins, Site Preferences and Offline Website Data.
+
+**Compatibility:** Firefox 68, Firefox ESR 68\
+**CCK2 Equivalent:** N/A\
+**Preferences Affected:** `privacy.sanitize.sanitizeOnShutdown`,`privacy.clearOnShutdown.cache`,`privacy.clearOnShutdown.cookies`,`privacy.clearOnShutdown.downloads`,`privacy.clearOnShutdown.formdata`,`privacy.clearOnShutdown.history`,`privacy.clearOnShutdown.sessions`,`privacy.clearOnShutdown.siteSettings`,`privacy.clearOnShutdown.offlineApps`
+#### Windows
+```
+Software\Policies\Mozilla\Firefox\SanitizeOnShutdown\Cache = 0x1 | 0x0
+Software\Policies\Mozilla\Firefox\SanitizeOnShutdown\Cookies = 0x1 | 0x0
+Software\Policies\Mozilla\Firefox\SanitizeOnShutdown\Downloads = 0x1 | 0x0
+Software\Policies\Mozilla\Firefox\SanitizeOnShutdown\FormData = 0x1 | 0x0
+Software\Policies\Mozilla\Firefox\SanitizeOnShutdown\History = 0x1 | 0x0
+Software\Policies\Mozilla\Firefox\SanitizeOnShutdown\Sessions = 0x1 | 0x0
+Software\Policies\Mozilla\Firefox\SanitizeOnShutdown\SiteSettings = 0x1 | 0x0
+Software\Policies\Mozilla\Firefox\SanitizeOnShutdown\OfflineApps = 0x1 | 0x0
+```
+#### macOS
+```
+<dict>
+ <key>SanitizeOnShutdown</key>
+ <dict>
+ <key>Cache</key>
+ <true/> | <false/>
+ <key>Cookies</key>
+ <true/> | <false/>
+ <key>Downloads</key>
+ <true/> | <false/>
+ <key>FormData</key>
+ <true/> | <false/>
+ <key>History</key>
+ <true/> | <false/>
+ <key>Sessions</key>
+ <true/> | <false/>
+ <key>SiteSettings</key>
+ <true/> | <false/>
+ <key>OfflineApps</key>
+ <true/> | <false/>
+ </dict>
+</dict>
+```
+#### JSON
+```
+{
+ "policies": {
+ "SanitizeOnShutdown": {
+ "Cache": true | false,
+ "Cookies": true | false,
+ "Downloads": true | false,
+ "FormData": true | false,
+ "History": true | false,
+ "Sessions": true | false,
+ "SiteSettings": true | false,
+ "OfflineApps": true | false
+ }
+ }
+}
```
-### SanitizeOnShutdown
+### SanitizeOnShutdown (All)
Clear all data on shutdown, including Browsing & Download History, Cookies, Active Logins, Cache, Form & Search History, Site Preferences and Offline Website Data.
**Compatibility:** Firefox 60, Firefox ESR 60\
**CCK2 Equivalent:** N/A\
-**Preferences Affected:** `privacy.sanitize.sanitizeOnShutdown,privacy.clearOnShutdown.cache,privacy.clearOnShutdown.cookies,privacy.clearOnShutdown.downloads,privacy.clearOnShutdown.formdata,privacy.clearOnShutdown.history,privacy.clearOnShutdown.sessions,privacy.clearOnShutdown.siteSettings,privacy.clearOnShutdown.offlineApps`
+**Preferences Affected:** `privacy.sanitize.sanitizeOnShutdown`,`privacy.clearOnShutdown.cache`,`privacy.clearOnShutdown.cookies`,`privacy.clearOnShutdown.downloads`,`privacy.clearOnShutdown.formdata`,`privacy.clearOnShutdown.history`,`privacy.clearOnShutdown.sessions`,`privacy.clearOnShutdown.siteSettings`,`privacy.clearOnShutdown.offlineApps`
#### Windows
```
Software\Policies\Mozilla\Firefox\SanitizeOnShutdown = 0x1 | 0x0
```
### SearchEngines | Add
-Adddd new search engines (up to five). This policy is only available on the ESR. `Name` and `URLTemplate` are required.
+Add new search engines (up to five). This policy is only available on the ESR. `Name` and `URLTemplate` are required.
`Name` is the name of the search engine.
`Description` is a description of the search engine.
+`PostData` is the POST data as name value pairs separated by &.
+
`SuggestURLTemplate` is a search suggestions URL with {searchTerms} to substitute for the search term.
-**Compatibility:** Firefox ESR 60\
+**Compatibility:** Firefox ESR 60 (POST support in Firefox ESR 68)\
**CCK2 Equivalent:** `searchplugins`\
**Preferences Affected:** N/A
Software\Policies\Mozilla\Firefox\SearchEngines\Add\1\Alias = "example"
Software\Policies\Mozilla\Firefox\SearchEngines\Add\1\Description = "Example Description"
Software\Policies\Mozilla\Firefox\SearchEngines\Add\1\SuggestURLTemplate = "https://www.example.org/suggestions/q={searchTerms}"
+Software\Policies\Mozilla\Firefox\SearchEngines\Add\1\PostData = "name=value&q={searchTerms}"
#### macOS
```
<string>Example Description</string>
<key>SuggestURLTemplate</key>
<string>https://www.example.org/suggestions/q={searchTerms}</string>
+ <key>PostData</key>
+ <string>name=value&q={searchTerms}</string>
</dict>
<array>
</dict>
"IconURL": "https://www.example.org/favicon.ico",
"Alias": "example",
"Description": "Description",
+ "PostData": "name=value&q={searchTerms}",
"SuggestURLTemplate": "https://www.example.org/suggestions/q={searchTerms}"
}
]
}
}
```
+### SearchSuggestEnabled
+
+Enable search suggestions.
+
+**Compatibility:** Firefox 68, Firefox ESR 68\
+**CCK2 Equivalent:** N/A\
+**Preferences Affected:** `browser.urlbar.suggest.searches`,`browser.search.suggest.enabled`
+
+### Windows
+```
+Software\Policies\Mozilla\Firefox\SearchSuggestEnabled = 0x1 | 0x0
+```
+#### macOS
+```
+<dict>
+ <key>SearchSuggestEnabled</key>
+ <true/> | <false/>
+</dict>
+```
+### JSON
+```
+{
+ "policies": {
+ "SearchSuggestEnabled": true | false
+ }
+}
+```
### SecurityDevices
Install PKCS #11 modules.
}
}
```
+### SupportMenu
+Add a menuitem to the help menu for specifying support information.
+
+**Compatibility:** Firefox 68.0.1, Firefox ESR 68.0.1\
+**CCK2 Equivalent:** helpMenu\
+**Preferences Affected:** N/A
+
+#### Windows
+```
+Software\Policies\Mozilla\Firefox\SupportMenu\Title = "Support Menu"
+Software\Policies\Mozilla\Firefox\SupportMenu\URL = "http://example.com/support"
+Software\Policies\Mozilla\Firefox\SupportMenu\Title = "S"
+```
+#### macOS
+```
+<dict>
+ <key>SupportMenu</key>
+ <dict>
+ <key>Title</key>
+ <string>SupportMenu</string>
+ <key>URL</key>
+ <string>http://example.com/support</string>
+ <key>AccessKey</key>
+ <string>S</string>
+ </dict>
+</dict>
+```
+### JSON
+```
+{
+ "policies": {
+ "SupportMenu": {
+ "Title": "Support Menu",
+ "URL": "http://example.com/support",
+ "AccessKey": "S"
+ }
+ }
+}
+```
### WebsiteFilter
Block websites from being visited. The parameters take an array of Match Patterns, as documented in https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Match_patterns. Only http/https addresses are supported at the moment. The arrays are limited to 1000 entries each.