diff --git a/node_modules/redux-persist/es/createPersistoid.js b/node_modules/redux-persist/es/createPersistoid.js
index 8b43b9a..184faab 100644
--- a/node_modules/redux-persist/es/createPersistoid.js
+++ b/node_modules/redux-persist/es/createPersistoid.js
@@ -6,6 +6,7 @@ export default function createPersistoid(config) {
   var whitelist = config.whitelist || null;
   var transforms = config.transforms || [];
   var throttle = config.throttle || 0;
+  var debounce = config.debounce || 0;
   var storageKey = "".concat(config.keyPrefix !== undefined ? config.keyPrefix : KEY_PREFIX).concat(config.key);
   var storage = config.storage;
   var serialize;
@@ -28,30 +29,37 @@ export default function createPersistoid(config) {
   var timeIterator = null;
   var writePromise = null;
 
-  var update = function update(state) {
-    // add any changed keys to the queue
-    Object.keys(state).forEach(function (key) {
-      if (!passWhitelistBlacklist(key)) return; // is keyspace ignored? noop
+  // Timer for debounced `update()`
+  let timer = 0;
 
-      if (lastState[key] === state[key]) return; // value unchanged? noop
+  function update(state) {
+    // Debounce the update
+    clearTimeout(timer);
+    timer = setTimeout(() => {
+      // add any changed keys to the queue
+      Object.keys(state).forEach(function (key) {
+        if (!passWhitelistBlacklist(key)) return; // is keyspace ignored? noop
 
-      if (keysToProcess.indexOf(key) !== -1) return; // is key already queued? noop
+        if (lastState[key] === state[key]) return; // value unchanged? noop
 
-      keysToProcess.push(key); // add key to queue
-    }); //if any key is missing in the new state which was present in the lastState,
-    //add it for processing too
+        if (keysToProcess.indexOf(key) !== -1) return; // is key already queued? noop
 
-    Object.keys(lastState).forEach(function (key) {
-      if (state[key] === undefined && passWhitelistBlacklist(key) && keysToProcess.indexOf(key) === -1 && lastState[key] !== undefined) {
-        keysToProcess.push(key);
-      }
-    }); // start the time iterator if not running (read: throttle)
+        keysToProcess.push(key); // add key to queue
+      }); //if any key is missing in the new state which was present in the lastState,
+      //add it for processing too
 
-    if (timeIterator === null) {
-      timeIterator = setInterval(processNextKey, throttle);
-    }
+      Object.keys(lastState).forEach(function (key) {
+        if (state[key] === undefined && passWhitelistBlacklist(key) && keysToProcess.indexOf(key) === -1 && lastState[key] !== undefined) {
+          keysToProcess.push(key);
+        }
+      }); // start the time iterator if not running (read: throttle)
+
+      if (timeIterator === null) {
+        timeIterator = setInterval(processNextKey, throttle);
+      }
 
-    lastState = state;
+      lastState = state;
+    }, debounce)
   };
 
   function processNextKey() {
diff --git a/node_modules/redux-persist/es/types.js.flow b/node_modules/redux-persist/es/types.js.flow
index c50d3cd..39d8be2 100644
--- a/node_modules/redux-persist/es/types.js.flow
+++ b/node_modules/redux-persist/es/types.js.flow
@@ -19,6 +19,7 @@ export type PersistConfig = {
   whitelist?: Array<string>,
   transforms?: Array<Transform>,
   throttle?: number,
+  debounce?: number,
   migrate?: (PersistedState, number) => Promise<PersistedState>,
   stateReconciler?: false | Function,
   getStoredState?: PersistConfig => Promise<PersistedState>, // used for migrations
diff --git a/node_modules/redux-persist/lib/types.js.flow b/node_modules/redux-persist/lib/types.js.flow
index c50d3cd..39d8be2 100644
--- a/node_modules/redux-persist/lib/types.js.flow
+++ b/node_modules/redux-persist/lib/types.js.flow
@@ -19,6 +19,7 @@ export type PersistConfig = {
   whitelist?: Array<string>,
   transforms?: Array<Transform>,
   throttle?: number,
+  debounce?: number,
   migrate?: (PersistedState, number) => Promise<PersistedState>,
   stateReconciler?: false | Function,
   getStoredState?: PersistConfig => Promise<PersistedState>, // used for migrations
diff --git a/node_modules/redux-persist/src/types.js b/node_modules/redux-persist/src/types.js
index c50d3cd..39d8be2 100644
--- a/node_modules/redux-persist/src/types.js
+++ b/node_modules/redux-persist/src/types.js
@@ -19,6 +19,7 @@ export type PersistConfig = {
   whitelist?: Array<string>,
   transforms?: Array<Transform>,
   throttle?: number,
+  debounce?: number,
   migrate?: (PersistedState, number) => Promise<PersistedState>,
   stateReconciler?: false | Function,
   getStoredState?: PersistConfig => Promise<PersistedState>, // used for migrations
diff --git a/node_modules/redux-persist/types/types.d.ts b/node_modules/redux-persist/types/types.d.ts
index b3733bc..2a1696c 100644
--- a/node_modules/redux-persist/types/types.d.ts
+++ b/node_modules/redux-persist/types/types.d.ts
@@ -35,6 +35,7 @@ declare module "redux-persist/es/types" {
     whitelist?: Array<string>;
     transforms?: Array<Transform<HSS, ESS, S, RS>>;
     throttle?: number;
+    debounce?: number;
     migrate?: PersistMigrate;
     stateReconciler?: false | StateReconciler<S>;
     /**