@inboxsdk/core 2.1.11 → 2.1.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (27) hide show
  1. package/inboxsdk.js +389 -897
  2. package/package.json +1 -1
  3. package/pageWorld.js +1 -31
  4. package/src/common/log-error.d.ts +0 -1
  5. package/src/common/log-error.d.ts.map +1 -1
  6. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/gmail-load-event.d.ts.map +1 -1
  7. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/goto-view.d.ts.map +1 -1
  8. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/open-draft-by-message-id.d.ts.map +1 -1
  9. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-custom-thread-list.d.ts.map +1 -1
  10. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver.d.ts +0 -1
  11. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver.d.ts.map +1 -1
  12. package/src/platform-implementation-js/dom-driver/gmail/gmail-page-communicator.d.ts +17 -3
  13. package/src/platform-implementation-js/dom-driver/gmail/gmail-page-communicator.d.ts.map +1 -1
  14. package/src/platform-implementation-js/dom-driver/gmail/gmail-response-processor.d.ts +0 -6
  15. package/src/platform-implementation-js/dom-driver/gmail/gmail-response-processor.d.ts.map +1 -1
  16. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view.d.ts +5 -0
  17. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view.d.ts.map +1 -1
  18. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-message-view.d.ts.map +1 -1
  19. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-row-view.d.ts.map +1 -1
  20. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-view.d.ts.map +1 -1
  21. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-mole-view-driver.d.ts +1 -1
  22. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-mole-view-driver.d.ts.map +1 -1
  23. package/src/platform-implementation-js/driver-common/getGmailThreadIdForRfcMessageId.d.ts.map +1 -1
  24. package/src/platform-implementation-js/lib/logger.d.ts +0 -1
  25. package/src/platform-implementation-js/lib/logger.d.ts.map +1 -1
  26. package/src/platform-implementation-js/lib/common-page-communicator.d.ts +0 -20
  27. package/src/platform-implementation-js/lib/common-page-communicator.d.ts.map +0 -1
package/inboxsdk.js CHANGED
@@ -785,23 +785,6 @@ const get = function get(map, key) {
785
785
 
786
786
  /***/ }),
787
787
 
788
- /***/ 9865:
789
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
790
-
791
- "use strict";
792
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
793
- /* harmony export */ "Z": () => (/* binding */ htmlToText)
794
- /* harmony export */ });
795
- // Quick function for converting HTML with entities into text without
796
- // introducing an XSS vulnerability.
797
- function htmlToText(html) {
798
- const div = document.createElement('div');
799
- div.innerHTML = html.replace(/<[^>]*>?/g, '');
800
- return div.textContent;
801
- }
802
-
803
- /***/ }),
804
-
805
788
  /***/ 3567:
806
789
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
807
790
 
@@ -831,7 +814,7 @@ function isElementVisible(el) {
831
814
 
832
815
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment -- SDK_VERSION is injected by webpack
833
816
  ///@ts-ignore
834
- const BUILD_VERSION = "2.1.11-1698862155990-e5612abaef09a181";
817
+ const BUILD_VERSION = "2.1.12-1699623720812-466cb297eff34e1f";
835
818
  if (false) {}
836
819
 
837
820
  /***/ }),
@@ -1001,20 +984,18 @@ const gotoView = ud__WEBPACK_IMPORTED_MODULE_2__.defn(module, async function got
1001
984
  viewName = viewName.slice(1);
1002
985
  }
1003
986
  if (lodash_includes__WEBPACK_IMPORTED_MODULE_0___default()(_constants_router__WEBPACK_IMPORTED_MODULE_1__/* .NATIVE_ROUTE_IDS */ .H7, viewName)) {
1004
- if (gmailDriver.isUsingSyncAPI()) {
1005
- // need to go to the new url
1006
- if (params && typeof params !== 'string') {
1007
- const threadID = params.threadID;
1008
- if (threadID && typeof threadID === 'string') {
1009
- const int = parseInt(threadID, 16);
1010
- if (!isNaN(int)) {
1011
- //we got an old id
1012
- const syncThreadId = await gmailDriver.getSyncThreadIdForOldGmailThreadId(threadID);
1013
- params = {
1014
- ...params,
1015
- threadID: '#' + syncThreadId
1016
- };
1017
- }
987
+ // need to go to the new url
988
+ if (params && typeof params !== 'string') {
989
+ const threadID = params.threadID;
990
+ if (threadID && typeof threadID === 'string') {
991
+ const int = parseInt(threadID, 16);
992
+ if (!isNaN(int)) {
993
+ //we got an old id
994
+ const syncThreadId = await gmailDriver.getSyncThreadIdForOldGmailThreadId(threadID);
995
+ params = {
996
+ ...params,
997
+ threadID: '#' + syncThreadId
998
+ };
1018
999
  }
1019
1000
  }
1020
1001
  }
@@ -1774,21 +1755,15 @@ const GmailElementGetter = {
1774
1755
  "use strict";
1775
1756
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1776
1757
  /* harmony export */ "Be": () => (/* binding */ readDraftId),
1777
- /* harmony export */ "IG": () => (/* binding */ interpretSentEmailResponse),
1778
- /* harmony export */ "MA": () => (/* binding */ extractThreads),
1779
- /* harmony export */ "PH": () => (/* binding */ extractMessageIdsFromThreadBatchRequest),
1780
- /* harmony export */ "Z8": () => (/* binding */ replaceThreadsInResponse)
1758
+ /* harmony export */ "PH": () => (/* binding */ extractMessageIdsFromThreadBatchRequest)
1781
1759
  /* harmony export */ });
1782
- /* unused harmony exports extractGmailMessageIdFromSentEmail, extractGmailThreadIdFromSentEmail, extractGmailThreadIdFromMessageIdSearch, rewriteSingleQuotes, deserialize, deserializeArray, serialize, extractThreadsFromDeserialized, cleanupPeopleLine, extractMessages */
1760
+ /* unused harmony exports extractGmailThreadIdFromMessageIdSearch, rewriteSingleQuotes, deserialize, deserializeArray, serialize, replaceThreadsInResponse, extractThreads, extractThreadsFromDeserialized, cleanupPeopleLine, extractMessages */
1783
1761
  /* harmony import */ var lodash_flatten__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5564);
1784
1762
  /* harmony import */ var lodash_flatten__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash_flatten__WEBPACK_IMPORTED_MODULE_0__);
1785
1763
  /* harmony import */ var lodash_last__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(928);
1786
1764
  /* harmony import */ var lodash_last__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(lodash_last__WEBPACK_IMPORTED_MODULE_1__);
1787
1765
  /* harmony import */ var transducers_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(1095);
1788
1766
  /* harmony import */ var transducers_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(transducers_js__WEBPACK_IMPORTED_MODULE_2__);
1789
- /* harmony import */ var map_indexed_xf__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(9880);
1790
- /* harmony import */ var map_indexed_xf__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(map_indexed_xf__WEBPACK_IMPORTED_MODULE_5__);
1791
- /* harmony import */ var _common_html_to_text__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(9865);
1792
1767
  /* harmony import */ var _common_assert__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(9817);
1793
1768
 
1794
1769
 
@@ -1796,36 +1771,6 @@ const GmailElementGetter = {
1796
1771
 
1797
1772
 
1798
1773
 
1799
- function interpretSentEmailResponse(responseString) {
1800
- const emailSentArray = deserialize(responseString).value;
1801
- const gmailMessageId = extractGmailMessageIdFromSentEmail(emailSentArray);
1802
- const gmailThreadId = extractGmailThreadIdFromSentEmail(emailSentArray) || gmailMessageId;
1803
- if (!gmailMessageId || !gmailThreadId) {
1804
- throw new Error('Failed to read email response');
1805
- }
1806
- return {
1807
- threadID: gmailThreadId,
1808
- messageID: gmailMessageId
1809
- };
1810
- }
1811
- function extractGmailMessageIdFromSentEmail(emailSentArray) {
1812
- const messageIdArrayMarker = 'a';
1813
- const messageIdArray = _searchArray(emailSentArray, messageIdArrayMarker, markerArray => markerArray.length > 3 && Array.isArray(markerArray[3]) && markerArray[3].length > 0);
1814
- if (!messageIdArray) {
1815
- return null;
1816
- }
1817
- return messageIdArray[3][0];
1818
- }
1819
- function extractGmailThreadIdFromSentEmail(emailSentArray) {
1820
- const threadIdArrayMarker = 'csd';
1821
- const threadIdArray = _searchArray(emailSentArray, threadIdArrayMarker, function (markerArray) {
1822
- return markerArray.length == 3 && Array.isArray(markerArray[2]) && markerArray[2].length > 5;
1823
- });
1824
- if (!threadIdArray) {
1825
- return null;
1826
- }
1827
- return threadIdArray[1];
1828
- }
1829
1774
  function extractGmailThreadIdFromMessageIdSearch(responseString) {
1830
1775
  const threadResponseArray = deserialize(responseString).value;
1831
1776
  const threadIdArrayMarker = 'cs';
@@ -1997,7 +1942,7 @@ function deserializeArray(value) {
1997
1942
  }
1998
1943
  function serialize(value, options) {
1999
1944
  if (options.suggestionMode) {
2000
- (0,_common_assert__WEBPACK_IMPORTED_MODULE_3__/* .assert */ .h)(options.includeLengths);
1945
+ assert(options.includeLengths);
2001
1946
  return suggestionSerialize(value, options.includeExplicitNulls);
2002
1947
  }
2003
1948
  return threadListSerialize(value, options);
@@ -2178,14 +2123,14 @@ function replaceThreadsInResponse(response, replacementThreads, _ref) {
2178
2123
  newTbs.push(postTbItems);
2179
2124
  }
2180
2125
  }
2181
- const parsedNew = lodash_flatten__WEBPACK_IMPORTED_MODULE_0___default()([preTbGroups, newTbs, postTbGroups]);
2182
- const allSections = lodash_flatten__WEBPACK_IMPORTED_MODULE_0___default()(parsedNew);
2183
- const endSection = lodash_last__WEBPACK_IMPORTED_MODULE_1___default()(allSections);
2126
+ const parsedNew = flatten([preTbGroups, newTbs, postTbGroups]);
2127
+ const allSections = flatten(parsedNew);
2128
+ const endSection = last(allSections);
2184
2129
  if (endSection[0] !== 'e') {
2185
2130
  throw new Error('Failed to find end section');
2186
2131
  }
2187
2132
  endSection[1] = allSections.length;
2188
- const fullNew = actionResponseMode ? [[lodash_flatten__WEBPACK_IMPORTED_MODULE_0___default()(parsedNew), value[0][1]]] : parsedNew;
2133
+ const fullNew = actionResponseMode ? [[flatten(parsedNew), value[0][1]]] : parsedNew;
2189
2134
  return serialize(fullNew, options);
2190
2135
  }
2191
2136
  function extractThreads(response) {
@@ -2196,9 +2141,9 @@ function extractThreadsFromDeserialized(value) {
2196
2141
  value = [value[0][0]];
2197
2142
  }
2198
2143
  return _extractThreadArraysFromResponseArray(value).map(thread => Object.freeze(Object.defineProperty({
2199
- subject: (0,_common_html_to_text__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z)(thread[9]),
2200
- shortDate: (0,_common_html_to_text__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z)(thread[14]),
2201
- timeString: (0,_common_html_to_text__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z)(thread[15]),
2144
+ subject: htmlToText(thread[9]),
2145
+ shortDate: htmlToText(thread[14]),
2146
+ timeString: htmlToText(thread[15]),
2202
2147
  peopleHtml: cleanupPeopleLine(thread[7]),
2203
2148
  timestamp: thread[16] / 1000,
2204
2149
  isUnread: thread[9].indexOf('<b>') > -1,
@@ -2224,7 +2169,7 @@ function cleanupPeopleLine(peopleHtml) {
2224
2169
  }
2225
2170
  const _extractThreadArraysFromResponseArrayXf = transducers_js__WEBPACK_IMPORTED_MODULE_2___default().compose((transducers_js__WEBPACK_IMPORTED_MODULE_2___default().cat), transducers_js__WEBPACK_IMPORTED_MODULE_2___default().filter(item => item[0] === 'tb'), transducers_js__WEBPACK_IMPORTED_MODULE_2___default().map(item => item[2]), (transducers_js__WEBPACK_IMPORTED_MODULE_2___default().cat));
2226
2171
  function _extractThreadArraysFromResponseArray(threadResponseArray) {
2227
- return transducers_js__WEBPACK_IMPORTED_MODULE_2___default().toArray(threadResponseArray, _extractThreadArraysFromResponseArrayXf);
2172
+ return t.toArray(threadResponseArray, _extractThreadArraysFromResponseArrayXf);
2228
2173
  }
2229
2174
  const _extractThreadsFromConversationViewResponseArrayXf = transducers_js__WEBPACK_IMPORTED_MODULE_2___default().compose((transducers_js__WEBPACK_IMPORTED_MODULE_2___default().cat), transducers_js__WEBPACK_IMPORTED_MODULE_2___default().filter(item => item[0] === 'cs'), transducers_js__WEBPACK_IMPORTED_MODULE_2___default().map(item => ({
2230
2175
  threadID: item[1],
@@ -2260,8 +2205,8 @@ function extractMessages(response) {
2260
2205
  });
2261
2206
  }
2262
2207
  function _threadsToTbGroups(threads, start) {
2263
- const _threadsToTbGroupsXf = transducers_js__WEBPACK_IMPORTED_MODULE_2___default().compose(transducers_js__WEBPACK_IMPORTED_MODULE_2___default().map(thread => thread._originalGmailFormat), transducers_js__WEBPACK_IMPORTED_MODULE_2___default().partition(10), map_indexed_xf__WEBPACK_IMPORTED_MODULE_5___default()((threadsChunk, i) => [['tb', start + i * 10, threadsChunk]]));
2264
- return transducers_js__WEBPACK_IMPORTED_MODULE_2___default().toArray(threads, _threadsToTbGroupsXf);
2208
+ const _threadsToTbGroupsXf = t.compose(t.map(thread => thread._originalGmailFormat), t.partition(10), mapIndexed((threadsChunk, i) => [['tb', start + i * 10, threadsChunk]]));
2209
+ return t.toArray(threads, _threadsToTbGroupsXf);
2265
2210
  }
2266
2211
  function _searchArray(responseArray, marker, markerArrayValidator) {
2267
2212
  const pathArray = _searchObject(responseArray, marker, 100);
@@ -4069,9 +4014,6 @@ var once_default = /*#__PURE__*/__webpack_require__.n(once);
4069
4014
  // EXTERNAL MODULE: ./node_modules/lodash/escape.js
4070
4015
  var lodash_escape = __webpack_require__(1675);
4071
4016
  var escape_default = /*#__PURE__*/__webpack_require__.n(lodash_escape);
4072
- // EXTERNAL MODULE: ./node_modules/lodash/includes.js
4073
- var includes = __webpack_require__(4721);
4074
- var includes_default = /*#__PURE__*/__webpack_require__.n(includes);
4075
4017
  // EXTERNAL MODULE: ./node_modules/lodash/constant.js
4076
4018
  var constant = __webpack_require__(5703);
4077
4019
  var constant_default = /*#__PURE__*/__webpack_require__.n(constant);
@@ -4248,8 +4190,6 @@ function simulateDragEnd(element, files) {
4248
4190
  dataTransfer
4249
4191
  });
4250
4192
  }
4251
- // EXTERNAL MODULE: ./src/platform-implementation-js/dom-driver/gmail/gmail-response-processor.ts
4252
- var gmail_response_processor = __webpack_require__(6139);
4253
4193
  // EXTERNAL MODULE: ./src/platform-implementation-js/dom-driver/gmail/gmail-element-getter.ts + 2 modules
4254
4194
  var gmail_element_getter = __webpack_require__(2851);
4255
4195
  ;// CONCATENATED MODULE: ./src/platform-implementation-js/lib/dom/set-css.ts
@@ -4276,8 +4216,6 @@ function setCss(key, css) {
4276
4216
  var wait_for = __webpack_require__(2392);
4277
4217
  // EXTERNAL MODULE: ./src/platform-implementation-js/lib/stream-wait-for.ts
4278
4218
  var stream_wait_for = __webpack_require__(3511);
4279
- // EXTERNAL MODULE: ./src/platform-implementation-js/lib/dom/make-mutation-observer-chunked-stream.ts
4280
- var make_mutation_observer_chunked_stream = __webpack_require__(5578);
4281
4219
  // EXTERNAL MODULE: ./src/platform-implementation-js/lib/handle-compose-link-chips.ts
4282
4220
  var handle_compose_link_chips = __webpack_require__(3095);
4283
4221
  // EXTERNAL MODULE: ./src/platform-implementation-js/lib/insert-link-chip-into-body.ts
@@ -4369,12 +4307,17 @@ function ensureAppButtonToolbarsAreClosed(gmailComposeViewElement) {
4369
4307
  (0,simulate_mouse_event/* simulateClick */.HX)(groupedButton);
4370
4308
  }
4371
4309
  }
4310
+ // EXTERNAL MODULE: ./node_modules/lodash/includes.js
4311
+ var includes = __webpack_require__(4721);
4312
+ var includes_default = /*#__PURE__*/__webpack_require__.n(includes);
4372
4313
  // EXTERNAL MODULE: ./node_modules/lodash/startsWith.js
4373
4314
  var startsWith = __webpack_require__(240);
4374
4315
  var startsWith_default = /*#__PURE__*/__webpack_require__.n(startsWith);
4375
4316
  // EXTERNAL MODULE: ./node_modules/lodash/findIndex.js
4376
4317
  var findIndex = __webpack_require__(998);
4377
4318
  var findIndex_default = /*#__PURE__*/__webpack_require__.n(findIndex);
4319
+ // EXTERNAL MODULE: ./src/platform-implementation-js/lib/dom/make-mutation-observer-chunked-stream.ts
4320
+ var make_mutation_observer_chunked_stream = __webpack_require__(5578);
4378
4321
  ;// CONCATENATED MODULE: ./src/platform-implementation-js/lib/css-selector-escape.ts
4379
4322
  function cssSelectorEscape(text) {
4380
4323
  if (text.length === 0 || /^-?[0-9]/.test(text)) {
@@ -5657,9 +5600,6 @@ function setFromEmail(driver, gmailComposeView, email) {
5657
5600
 
5658
5601
 
5659
5602
 
5660
-
5661
-
5662
-
5663
5603
 
5664
5604
 
5665
5605
 
@@ -5696,181 +5636,70 @@ class GmailComposeView {
5696
5636
  this._isTriggeringADraftSavePending = false;
5697
5637
  this._page = makePageParser(element, driver.getLogger());
5698
5638
  this.tagTree = this._page.tree;
5699
- let saveAndSendStream;
5700
- if (this._driver.isUsingSyncAPI()) {
5701
- saveAndSendStream = xhrInterceptorStream // we know _getDraftIDfromForm will work because by the time we're
5702
- // getting an ajax event Gmail's JS has generated an ID and added it to the DOM.
5703
- .filter(event => event.draftID === this._getDraftIDfromForm()).map(event => {
5704
- switch (event.type) {
5705
- case 'emailSending':
5706
- {
5707
- return {
5708
- eventName: 'sending'
5709
- };
5710
- }
5711
- case 'emailSent':
5712
- {
5713
- const syncThreadID = event.threadID;
5714
- const syncMessageID = event.messageID;
5715
- if (event.oldMessageID) this._messageId = event.oldMessageID;
5716
- if (event.oldThreadID) this._threadID = event.oldThreadID;
5717
- driver.removeCachedGmailMessageIdForSyncMessageId(syncMessageID);
5718
- driver.removeCachedOldGmailThreadIdFromSyncThreadId(syncThreadID);
5719
- return {
5720
- eventName: 'sent',
5721
- data: {
5722
- getThreadID: once_default()(async () => {
5723
- if (event.oldThreadID) {
5724
- return event.oldThreadID;
5725
- }
5726
- return await driver.getOldGmailThreadIdFromSyncThreadId(syncThreadID);
5727
- }),
5728
- getMessageID: once_default()(async () => {
5729
- if (event.oldMessageID) {
5730
- return event.oldMessageID;
5731
- }
5732
- return await driver.getGmailMessageIdForSyncMessageId(syncMessageID);
5733
- })
5734
- }
5735
- };
5736
- }
5737
- case 'emailSendFailed':
5738
- {
5739
- return {
5740
- eventName: 'sendCanceled'
5741
- };
5742
- }
5743
- case 'emailDraftReceived':
5744
- {
5745
- this._messageId = event.oldMessageID;
5746
- this._threadID = event.oldThreadID;
5747
- return {
5748
- eventName: 'draftSaved',
5749
- data: {
5750
- getThreadID() {
5751
- return Promise.resolve(event.oldThreadID);
5752
- },
5753
- getMessageID() {
5754
- return Promise.resolve(event.oldMessageID);
5755
- }
5756
- }
5757
- };
5758
- }
5759
- default:
5760
- {
5761
- return null;
5762
- }
5763
- }
5764
- }).filter(Boolean);
5765
- } else {
5766
- saveAndSendStream = xhrInterceptorStream.filter(event => event.composeId === this.getComposeID()).map(event => {
5767
- switch (event.type) {
5768
- case 'emailSending':
5769
- {
5770
- return [{
5771
- eventName: 'sending'
5772
- }];
5773
- }
5774
- case 'emailSent':
5775
- {
5776
- const response = gmail_response_processor/* interpretSentEmailResponse */.IG(event.response);
5777
- if (includes_default()(['tr', 'eu'], response.messageID)) {
5778
- return [{
5779
- eventName: 'sendCanceled'
5780
- }];
5781
- }
5782
- this._emailWasSent = true;
5783
- if (response.messageID) {
5784
- this._finalMessageId = response.messageID;
5785
- }
5786
- this._messageId = null;
5787
- const data = {
5788
- getThreadID: () => Promise.resolve(response.threadID),
5789
- getMessageID: () => Promise.resolve(response.messageID)
5790
- };
5791
- ['threadID', 'gmailThreadId'].forEach(prop => {
5792
- // These properties are nonenumerable.
5793
- Object.defineProperty(data, prop, {
5794
- get: () => {
5795
- this._driver.getLogger().deprecationWarning(`composeView sent event.${prop}`, 'composeView sent event.getThreadID()');
5796
- return response.threadID;
5639
+ const saveAndSendStream = xhrInterceptorStream // we know _getDraftIDfromForm will work because by the time we're
5640
+ // getting an ajax event Gmail's JS has generated an ID and added it to the DOM.
5641
+ .filter(event => event.draftID === this._getDraftIDfromForm()).map(event => {
5642
+ switch (event.type) {
5643
+ case 'emailSending':
5644
+ {
5645
+ return {
5646
+ eventName: 'sending'
5647
+ };
5648
+ }
5649
+ case 'emailSent':
5650
+ {
5651
+ const syncThreadID = event.threadID;
5652
+ const syncMessageID = event.messageID;
5653
+ if (event.oldMessageID) this._messageId = event.oldMessageID;
5654
+ if (event.oldThreadID) this._threadID = event.oldThreadID;
5655
+ driver.removeCachedGmailMessageIdForSyncMessageId(syncMessageID);
5656
+ driver.removeCachedOldGmailThreadIdFromSyncThreadId(syncThreadID);
5657
+ return {
5658
+ eventName: 'sent',
5659
+ data: {
5660
+ getThreadID: once_default()(async () => {
5661
+ if (event.oldThreadID) {
5662
+ return event.oldThreadID;
5797
5663
  }
5798
- });
5799
- });
5800
- ['messageID', 'gmailMessageId'].forEach(prop => {
5801
- Object.defineProperty(data, prop, {
5802
- get: () => {
5803
- this._driver.getLogger().deprecationWarning(`composeView sent event.${prop}`, 'composeView sent event.getMessageID()');
5804
- return response.messageID;
5664
+ return await driver.getOldGmailThreadIdFromSyncThreadId(syncThreadID);
5665
+ }),
5666
+ getMessageID: once_default()(async () => {
5667
+ if (event.oldMessageID) {
5668
+ return event.oldMessageID;
5805
5669
  }
5806
- });
5807
- });
5808
- return [{
5809
- eventName: 'sent',
5810
- data
5811
- }];
5812
- }
5813
- case 'emailDraftSaveSending':
5814
- {
5815
- this._draftSaving = true;
5816
- return [{
5817
- eventName: 'draftSaving'
5818
- }];
5819
- }
5820
- case 'emailDraftReceived':
5821
- {
5822
- this._draftSaving = false;
5823
- let response;
5824
- try {
5825
- response = gmail_response_processor/* interpretSentEmailResponse */.IG(event.response);
5826
- } catch (err) {
5827
- if (this._driver.getAppId() === 'sdk_streak_21e9788951') {
5828
- this._driver.getLogger().error(err, {
5829
- connectionDetails: event.connectionDetails,
5830
- response: event.response
5831
- });
5832
- throw err;
5833
- } else {
5834
- throw err;
5835
- }
5836
- }
5837
- if (response.messageID === 'eu') {
5838
- return []; // save was canceled
5670
+ return await driver.getGmailMessageIdForSyncMessageId(syncMessageID);
5671
+ })
5839
5672
  }
5840
-
5841
- const events = [{
5842
- eventName: 'draftSaved',
5843
- data: response
5844
- }];
5845
- if (!response.messageID) {
5846
- this._driver.getLogger().error(new Error('Missing message id from emailDraftReceived'));
5847
- } else if (response.messageID && this._messageId !== response.messageID) {
5848
- if (/^[0-9a-f]+$/i.test(response.messageID)) {
5849
- this._messageId = response.messageID;
5850
- events.push({
5851
- eventName: 'messageIDChange',
5852
- data: this._messageId
5853
- });
5854
- } else {
5855
- this._driver.getLogger().error(new Error('Invalid message id from emailDraftReceived'), {
5856
- value: response.messageID
5857
- });
5673
+ };
5674
+ }
5675
+ case 'emailSendFailed':
5676
+ {
5677
+ return {
5678
+ eventName: 'sendCanceled'
5679
+ };
5680
+ }
5681
+ case 'emailDraftReceived':
5682
+ {
5683
+ this._messageId = event.oldMessageID;
5684
+ this._threadID = event.oldThreadID;
5685
+ return {
5686
+ eventName: 'draftSaved',
5687
+ data: {
5688
+ getThreadID() {
5689
+ return Promise.resolve(event.oldThreadID);
5690
+ },
5691
+ getMessageID() {
5692
+ return Promise.resolve(event.oldMessageID);
5858
5693
  }
5859
5694
  }
5860
- return events;
5861
- }
5862
- default:
5863
- return [];
5864
- }
5865
- }).flatten().map(event => {
5866
- if (this._driver.getLogger().shouldTrackEverything()) {
5867
- driver.getLogger().eventSite('compose.debug.xhr', {
5868
- eventName: event.eventName
5869
- });
5870
- }
5871
- return event;
5872
- });
5873
- }
5695
+ };
5696
+ }
5697
+ default:
5698
+ {
5699
+ return null;
5700
+ }
5701
+ }
5702
+ }).filter(Boolean);
5874
5703
  this._eventStream.plug(kefir_esm.merge([saveAndSendStream, kefir_esm.fromEvents(this._element, 'buttonAdded').map(() => {
5875
5704
  return {
5876
5705
  eventName: 'buttonAdded'
@@ -5935,35 +5764,27 @@ class GmailComposeView {
5935
5764
  class: this.getElement().getAttribute('class')
5936
5765
  });
5937
5766
  });
5938
-
5939
- // v2 Data behaves differently whereby the compose element is removed
5940
- // from the page while the send is in flight instead of waiting for the
5941
- // send to come back, so we have to handle that difference
5942
- if (this._driver.isUsingSyncAPI()) {
5943
- kefir_esm.merge([
5944
- // if we get a presending then we let the other stream wait for
5945
- // sent. But if we get a sendCanceled, then a regular destroy can
5946
- // pass through
5947
- this._removedFromDOMStopper.filterBy(this._eventStream.filter(_ref3 => {
5948
- let {
5949
- eventName
5950
- } = _ref3;
5951
- return eventName === 'presending' || eventName === 'sendCanceled';
5952
- }).map(_ref4 => {
5953
- let {
5954
- eventName
5955
- } = _ref4;
5956
- return eventName === 'sendCanceled';
5957
- }).toProperty(() => true)), kefir_esm.combine([this._removedFromDOMStopper, this._eventStream.filter(_ref5 => {
5958
- let {
5959
- eventName
5960
- } = _ref5;
5961
- return eventName === 'sent';
5962
- })])]).take(1) // we delay asap here so that the event stream is not destroyed before listeners here the sent event
5963
- .flatMap(() => (0,delay_asap/* default */.Z)(null)).onValue(() => this._destroy());
5964
- } else {
5965
- this._removedFromDOMStopper.onValue(() => this._destroy());
5966
- }
5767
+ kefir_esm.merge([
5768
+ // if we get a presending then we let the other stream wait for
5769
+ // sent. But if we get a sendCanceled, then a regular destroy can
5770
+ // pass through
5771
+ this._removedFromDOMStopper.filterBy(this._eventStream.filter(_ref3 => {
5772
+ let {
5773
+ eventName
5774
+ } = _ref3;
5775
+ return eventName === 'presending' || eventName === 'sendCanceled';
5776
+ }).map(_ref4 => {
5777
+ let {
5778
+ eventName
5779
+ } = _ref4;
5780
+ return eventName === 'sendCanceled';
5781
+ }).toProperty(() => true)), kefir_esm.combine([this._removedFromDOMStopper, this._eventStream.filter(_ref5 => {
5782
+ let {
5783
+ eventName
5784
+ } = _ref5;
5785
+ return eventName === 'sent';
5786
+ })])]).take(1) // we delay asap here so that the event stream is not destroyed before listeners here the sent event
5787
+ .flatMap(() => (0,delay_asap/* default */.Z)(null)).onValue(() => this._destroy());
5967
5788
  detectClassicRecipientsArea();
5968
5789
  }
5969
5790
  destroy() {
@@ -6043,18 +5864,6 @@ class GmailComposeView {
6043
5864
  this._eventStream.plug(kefir_esm.later(10, undefined).flatMap(() => (0,get_minimized_stream/* default */.Z)(this)).changes().map(minimized => ({
6044
5865
  eventName: minimized ? 'minimized' : 'restored'
6045
5866
  })));
6046
- if (!this._driver.isUsingSyncAPI()) {
6047
- (0,make_mutation_observer_chunked_stream/* default */.Z)(this._messageIDElement, {
6048
- attributes: true,
6049
- attributeFilter: ['value']
6050
- }).takeUntilBy(this._eventStream.filter(() => false).beforeEnd(() => null)).map(() => this._getMessageIDfromForm()).filter(messageID => messageID && !this._emailWasSent && this._messageId !== messageID).onValue(messageID => {
6051
- this._messageId = messageID;
6052
- this._eventStream.emit({
6053
- eventName: 'messageIDChange',
6054
- data: this._messageId
6055
- });
6056
- });
6057
- }
6058
5867
  }
6059
5868
  _setupConsistencyCheckers() {
6060
5869
  try {
@@ -6067,33 +5876,27 @@ class GmailComposeView {
6067
5876
  }
6068
5877
  }
6069
5878
  _setupIDs() {
6070
- if (this._driver.isUsingSyncAPI()) {
6071
- const syncTargetMessageID = this._getTargetMessageID();
6072
- if (syncTargetMessageID) {
6073
- this._driver.getGmailMessageIdForSyncMessageId(syncTargetMessageID).then(gmailMessageId => this._targetMessageID = gmailMessageId);
6074
- }
6075
- const syncMessageId = this._getMessageIDfromForm();
6076
- if (syncMessageId) {
6077
- this._driver.getGmailMessageIdForSyncDraftId(syncMessageId).then(gmailMessageId => {
6078
- this._initialMessageId = gmailMessageId;
6079
- this._messageId = gmailMessageId;
6080
- }).catch(() => {
6081
- //do nothing because this means the message hasn't been saved yet
6082
- });
6083
- this._driver.reportRecentSyncDraftId(syncMessageId);
6084
- this._stopper.onValue(() => {
6085
- this._driver.reportDraftClosed(syncMessageId);
6086
- });
6087
- } else {
6088
- this._driver.getLogger().error(new Error('Draft is missing sync draft id'));
6089
- }
6090
- const legacyThreadIdElement = this._element.querySelector('input[name="lts"]');
6091
- if (legacyThreadIdElement && typeof legacyThreadIdElement.value === 'string') this._threadID = legacyThreadIdElement.value;
5879
+ const syncTargetMessageID = this._getTargetMessageID();
5880
+ if (syncTargetMessageID) {
5881
+ this._driver.getGmailMessageIdForSyncMessageId(syncTargetMessageID).then(gmailMessageId => this._targetMessageID = gmailMessageId);
5882
+ }
5883
+ const syncMessageId = this._getMessageIDfromForm();
5884
+ if (syncMessageId) {
5885
+ this._driver.getGmailMessageIdForSyncDraftId(syncMessageId).then(gmailMessageId => {
5886
+ this._initialMessageId = gmailMessageId;
5887
+ this._messageId = gmailMessageId;
5888
+ }).catch(() => {
5889
+ //do nothing because this means the message hasn't been saved yet
5890
+ });
5891
+ this._driver.reportRecentSyncDraftId(syncMessageId);
5892
+ this._stopper.onValue(() => {
5893
+ this._driver.reportDraftClosed(syncMessageId);
5894
+ });
6092
5895
  } else {
6093
- this._targetMessageID = this._getTargetMessageID();
6094
- this._messageId = this._initialMessageId = this._getMessageIDfromForm();
6095
- this._threadID = this._getThreadID();
5896
+ this._driver.getLogger().error(new Error('Draft is missing sync draft id'));
6096
5897
  }
5898
+ const legacyThreadIdElement = this._element.querySelector('input[name="lts"]');
5899
+ if (legacyThreadIdElement && typeof legacyThreadIdElement.value === 'string') this._threadID = legacyThreadIdElement.value;
6097
5900
  }
6098
5901
  _updateComposeFullscreenState() {
6099
5902
  if (this._isInlineReplyForm) {
@@ -6594,37 +6397,24 @@ class GmailComposeView {
6594
6397
  return this._initialMessageId;
6595
6398
  }
6596
6399
 
6597
- // For use only when isUsingSyncAPI() is true — gets the draft ID
6598
- // from the input that used to hold the hex message ID. Still does not
6599
- // populate until first save.
6400
+ /**
6401
+ * gets the draft ID
6402
+ * from the input that used to hold the hex message ID. Still does not
6403
+ * populate until first save.
6404
+ */
6600
6405
  _getDraftIDfromForm() {
6601
6406
  const value = this._messageIDElement && this._messageIDElement.value || null;
6602
6407
  if (typeof value === 'string' && value !== 'undefined' && value !== 'null') {
6603
- if (this._driver.isUsingSyncAPI()) {
6604
- return value.replace('#', '').replace('msg-a:', '');
6605
- } else {
6606
- this._driver.getLogger().error(new Error('Invalid draft id in element'), {
6607
- value
6608
- });
6609
- }
6408
+ return value.replace('#', '').replace('msg-a:', '');
6610
6409
  }
6611
6410
  return null;
6612
6411
  }
6613
6412
  _getMessageIDfromForm() {
6614
6413
  const value = this._messageIDElement && this._messageIDElement.value || null;
6615
6414
  if (typeof value === 'string' && value !== 'undefined' && value !== 'null') {
6616
- if (this._driver.isUsingSyncAPI()) {
6617
- return value.replace('#', ''); //annoyingly the hash is included
6618
- } else {
6619
- if (/^[0-9a-f]+$/i.test(value)) {
6620
- return value;
6621
- } else {
6622
- this._driver.getLogger().error(new Error('Invalid message id in element'), {
6623
- value
6624
- });
6625
- }
6626
- }
6415
+ return value.replace('#', ''); //annoyingly the hash is included
6627
6416
  }
6417
+
6628
6418
  return null;
6629
6419
  }
6630
6420
  getMessageID() {
@@ -6637,31 +6427,23 @@ class GmailComposeView {
6637
6427
  return this._threadID;
6638
6428
  }
6639
6429
  async getCurrentDraftID() {
6640
- if (this._driver.isUsingSyncAPI()) {
6641
- // This function is mostly a mirror of _getDraftIDimplementation, but
6642
- // instead of waiting when finding out it's not saved, just returns null.
6643
- const draftID = this._getDraftIDfromForm();
6644
- if (this._messageId) {
6645
- return draftID;
6646
- } else {
6647
- const syncMessageId = this._getMessageIDfromForm();
6648
- if (syncMessageId) {
6649
- try {
6650
- // If this succeeds, then the draft must exist on the server and we
6651
- // can safely return the draft id we know.
6652
- await this._driver.getGmailMessageIdForSyncDraftId(syncMessageId);
6653
- } catch (e) {
6654
- // ignore error, it's probably that the draft isn't saved yet.
6655
- return null;
6656
- }
6657
- return draftID;
6658
- }
6659
- }
6430
+ // This function is mostly a mirror of _getDraftIDimplementation, but
6431
+ // instead of waiting when finding out it's not saved, just returns null.
6432
+ const draftID = this._getDraftIDfromForm();
6433
+ if (this._messageId) {
6434
+ return draftID;
6660
6435
  } else {
6661
- if (!this.getMessageID()) {
6662
- return null;
6663
- } else {
6664
- return this.getDraftID();
6436
+ const syncMessageId = this._getMessageIDfromForm();
6437
+ if (syncMessageId) {
6438
+ try {
6439
+ // If this succeeds, then the draft must exist on the server and we
6440
+ // can safely return the draft id we know.
6441
+ await this._driver.getGmailMessageIdForSyncDraftId(syncMessageId);
6442
+ } catch (e) {
6443
+ // ignore error, it's probably that the draft isn't saved yet.
6444
+ return null;
6445
+ }
6446
+ return draftID;
6665
6447
  }
6666
6448
  }
6667
6449
  }
@@ -6673,115 +6455,32 @@ class GmailComposeView {
6673
6455
  return draftIDpromise;
6674
6456
  }
6675
6457
  async _getDraftIDimplementation() {
6676
- if (this._driver.isUsingSyncAPI()) {
6677
- const draftID = this._getDraftIDfromForm();
6458
+ const draftID = this._getDraftIDfromForm();
6678
6459
 
6679
- // we want to keep the semantics that getDraftID doesn't return until
6680
- // the draft is actually saved on Gmail's servers
6681
- if (this._messageId) {
6682
- // if we have a messageId that means there is a draft on the server
6683
- return draftID;
6684
- } else {
6685
- // there may be a draft on the server, so let's find out
6686
- const syncMessageId = this._getMessageIDfromForm();
6687
- if (syncMessageId) {
6688
- try {
6689
- // If this succeeds, then the draft must exist on the server and we
6690
- // can safely return the draft id we know.
6691
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
6692
- const gmailMessageId = await this._driver.getGmailMessageIdForSyncDraftId(syncMessageId);
6693
- } catch (e) {
6694
- // draft doesn't exist so we wait until it does
6695
- await this._eventStream.filter(_ref8 => {
6696
- let {
6697
- eventName
6698
- } = _ref8;
6699
- return eventName === 'draftSaved';
6700
- }).beforeEnd(() => null).map(() => this._getDraftIDfromForm()).take(1).toPromise();
6701
- }
6702
- return draftID;
6703
- }
6704
- }
6460
+ // we want to keep the semantics that getDraftID doesn't return until
6461
+ // the draft is actually saved on Gmail's servers
6462
+ if (this._messageId) {
6463
+ // if we have a messageId that means there is a draft on the server
6464
+ return draftID;
6705
6465
  } else {
6706
- let i = -1;
6707
- let lastDebugData = null;
6708
- try {
6709
- // If this compose view doesn't have a message id yet, wait until it gets
6710
- // one or it's closed.
6711
- if (!this._messageId) {
6712
- await this._eventStream.filter(event => event.eventName === 'messageIDChange').beforeEnd(() => null).take(1).toPromise();
6713
- if (!this._messageId) {
6714
- // The compose was closed before it got an id.
6715
- return null;
6716
- }
6717
- }
6718
-
6719
- // We make an AJAX request against gmail to find the draft ID for our
6720
- // current message ID. However, our message ID can change before that
6721
- // request finishes. If we fail to get our draft ID and we see that our
6722
- // message ID has changed since we made the request, then we try again.
6723
- let lastMessageId = null;
6724
-
6725
- // eslint-disable-next-line no-constant-condition
6726
- while (true) {
6727
- i++;
6728
- const messageId = this._messageId;
6729
- if (!messageId) {
6730
- throw new Error('Should not happen');
6731
- }
6732
- if (lastMessageId === messageId) {
6733
- // It's possible that the server received a draft save request from us
6734
- // already, causing the draft id lookup to fail, but we haven't gotten
6735
- // the draft save response yet. Wait for that response to finish and
6736
- // keep trying if it looks like that might be the case.
6737
- if (this._draftSaving) {
6738
- await this._eventStream.filter(event => event.eventName === 'messageIDChange').beforeEnd(() => null).take(1).toPromise();
6739
- continue;
6740
- }
6741
-
6742
- // maaaaybe the draft is saving, but we failed to detect that.
6743
- // Let's log whether things would've worked out a little in the future.
6744
- setTimeout(async () => {
6745
- const newMessageId = this._messageId;
6746
- if (!newMessageId) {
6747
- throw new Error('Should not happen');
6748
- }
6749
- const {
6750
- draftID,
6751
- debugData
6752
- } = await this._driver.getDraftIDForMessageID(newMessageId, true);
6753
- const err = new Error('Failed to read draft ID -- after check');
6754
- this._driver.getLogger().error(err, {
6755
- message: 'getDraftID error -- after check',
6756
- messageIdChanged: messageId !== newMessageId,
6757
- gotDraftID: draftID != null,
6758
- debugData: draftID ? null : debugData
6759
- });
6760
- }, 10 * 1000);
6761
- throw new Error('Failed to read draft ID');
6762
- }
6763
- lastMessageId = messageId;
6764
- const {
6765
- draftID,
6766
- debugData
6767
- } = await this._driver.getDraftIDForMessageID(messageId);
6768
- lastDebugData = debugData;
6769
- if (draftID) {
6770
- return draftID;
6771
- }
6466
+ // there may be a draft on the server, so let's find out
6467
+ const syncMessageId = this._getMessageIDfromForm();
6468
+ if (syncMessageId) {
6469
+ try {
6470
+ // If this succeeds, then the draft must exist on the server and we
6471
+ // can safely return the draft id we know.
6472
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
6473
+ const gmailMessageId = await this._driver.getGmailMessageIdForSyncDraftId(syncMessageId);
6474
+ } catch (e) {
6475
+ // draft doesn't exist so we wait until it does
6476
+ await this._eventStream.filter(_ref8 => {
6477
+ let {
6478
+ eventName
6479
+ } = _ref8;
6480
+ return eventName === 'draftSaved';
6481
+ }).beforeEnd(() => null).map(() => this._getDraftIDfromForm()).take(1).toPromise();
6772
6482
  }
6773
- } catch (err) {
6774
- this._driver.getLogger().error(err, {
6775
- message: 'getDraftID error',
6776
- removedFromDOM: !document.contains(this._element),
6777
- destroyed: this._destroyed,
6778
- isFullscreen: this._isFullscreen,
6779
- isStandalone: this._isStandalone,
6780
- emailWasSent: this._emailWasSent,
6781
- i,
6782
- lastDebugData
6783
- });
6784
- throw err;
6483
+ return draftID;
6785
6484
  }
6786
6485
  }
6787
6486
  }
@@ -6929,7 +6628,7 @@ class GmailComposeView {
6929
6628
  this._lastSelectionRange = lastSelectionRange;
6930
6629
  }
6931
6630
  registerRequestModifier(modifier) {
6932
- const keyId = this._driver.isUsingSyncAPI() ? this._getDraftIDfromForm() : this.getComposeID();
6631
+ const keyId = this._getDraftIDfromForm();
6933
6632
  if (!keyId) throw new Error('keyId should be set here');
6934
6633
  const modifierId = this._driver.getPageCommunicator().registerComposeRequestModifier(keyId, this._driver.getAppId());
6935
6634
  this._requestModifiers[modifierId] = modifier;
@@ -6942,7 +6641,7 @@ class GmailComposeView {
6942
6641
  if (this._isListeningToAjaxInterceptStream) {
6943
6642
  return;
6944
6643
  }
6945
- const keyId = this._driver.isUsingSyncAPI() ? this._getDraftIDfromForm() : this.getComposeID();
6644
+ const keyId = this._getDraftIDfromForm();
6946
6645
  if (!keyId) throw new Error('keyId should be set here');
6947
6646
  this._driver.getPageCommunicator().ajaxInterceptStream.filter(_ref9 => {
6948
6647
  let {
@@ -8131,26 +7830,13 @@ class GmailThreadRowView {
8131
7830
  let counts = this._counts;
8132
7831
  if (!counts) {
8133
7832
  const recipientsElement = (0,querySelectorOrFail/* default */.Z)(this._elements[0], 'td div.yW');
8134
- if (this._driver.isUsingSyncAPI()) {
8135
- const draftCount = recipientsElement.querySelectorAll('.boq').length;
8136
- const messageCountMatch = recipientsElement.querySelector('.bx0');
8137
- const messageCount = messageCountMatch && messageCountMatch.innerHTML ? +messageCountMatch.innerHTML : draftCount ? 0 : 1;
8138
- counts = this._counts = {
8139
- messageCount,
8140
- draftCount
8141
- };
8142
- } else {
8143
- const [preDrafts, drafts] = recipientsElement.innerHTML.split(/<font color=[^>]+>[^>]+<\/font>/);
8144
- const preDraftsWithoutNames = preDrafts.replace(/<span\b[^>]*>.*?<\/span>/g, '');
8145
- const messageCountMatch = preDraftsWithoutNames.match(/\((\d+)\)/);
8146
- const messageCount = messageCountMatch ? +messageCountMatch[1] : preDrafts ? 1 : 0;
8147
- const draftCountMatch = drafts && drafts.match(/\((\d+)\)/);
8148
- const draftCount = draftCountMatch ? +draftCountMatch[1] : drafts != null ? 1 : 0;
8149
- counts = this._counts = {
8150
- messageCount,
8151
- draftCount
8152
- };
8153
- }
7833
+ const draftCount = recipientsElement.querySelectorAll('.boq').length;
7834
+ const messageCountMatch = recipientsElement.querySelector('.bx0');
7835
+ const messageCount = messageCountMatch && messageCountMatch.innerHTML ? +messageCountMatch.innerHTML : draftCount ? 0 : 1;
7836
+ counts = this._counts = {
7837
+ messageCount,
7838
+ draftCount
7839
+ };
8154
7840
  }
8155
7841
  return counts;
8156
7842
  }
@@ -8659,23 +8345,19 @@ class GmailThreadRowView {
8659
8345
  if (this._cachedThreadID) {
8660
8346
  return this._cachedThreadID;
8661
8347
  }
8662
- if (this._driver.isUsingSyncAPI()) {
8663
- const elementWithId = flatten_default()(this._elements.map(el => Array.from(el.querySelectorAll('[data-thread-id][data-legacy-thread-id]')))).filter(Boolean)[0];
8664
- if (elementWithId) {
8665
- this._cachedSyncThreadID = elementWithId.getAttribute('data-thread-id').replace('#', '');
8666
- this._cachedThreadID = elementWithId.getAttribute('data-legacy-thread-id').replace('#', '');
8667
- return this._cachedThreadID;
8668
- } else {
8669
- const threadID = this._driver.getThreadRowIdentifier().getThreadIdForThreadRow(this, this._elements);
8670
- this._cachedSyncThreadID = threadID;
8671
- if (threadID) {
8672
- this._driver.getOldGmailThreadIdFromSyncThreadId(threadID).then(oldGmailThreadID => {
8673
- this._cachedThreadID = oldGmailThreadID;
8674
- });
8675
- }
8676
- }
8348
+ const elementWithId = flatten_default()(this._elements.map(el => Array.from(el.querySelectorAll('[data-thread-id][data-legacy-thread-id]')))).filter(Boolean)[0];
8349
+ if (elementWithId) {
8350
+ this._cachedSyncThreadID = elementWithId.getAttribute('data-thread-id').replace('#', '');
8351
+ this._cachedThreadID = elementWithId.getAttribute('data-legacy-thread-id').replace('#', '');
8352
+ return this._cachedThreadID;
8677
8353
  } else {
8678
- this._cachedThreadID = this._driver.getThreadRowIdentifier().getThreadIdForThreadRow(this, this._elements);
8354
+ const threadID = this._driver.getThreadRowIdentifier().getThreadIdForThreadRow(this, this._elements);
8355
+ this._cachedSyncThreadID = threadID;
8356
+ if (threadID) {
8357
+ this._driver.getOldGmailThreadIdFromSyncThreadId(threadID).then(oldGmailThreadID => {
8358
+ this._cachedThreadID = oldGmailThreadID;
8359
+ });
8360
+ }
8679
8361
  }
8680
8362
  return this._cachedThreadID;
8681
8363
  }
@@ -8699,12 +8381,8 @@ class GmailThreadRowView {
8699
8381
  }
8700
8382
  getDraftID() {
8701
8383
  if (this._cachedSyncDraftIDPromise) return this._cachedSyncDraftIDPromise;
8702
- if (this._driver.isUsingSyncAPI()) {
8703
- const elementWithId = flatten_default()(this._elements.map(el => Array.from(el.querySelectorAll('[data-standalone-draft-id]')))).filter(Boolean)[0];
8704
- this._cachedSyncDraftIDPromise = Promise.resolve(elementWithId ? elementWithId.getAttribute('data-standalone-draft-id').replace('#msg-a:', '') : null);
8705
- } else {
8706
- this._cachedSyncDraftIDPromise = this._driver.getThreadRowIdentifier().getDraftIdForThreadRow(this);
8707
- }
8384
+ const elementWithId = flatten_default()(this._elements.map(el => Array.from(el.querySelectorAll('[data-standalone-draft-id]')))).filter(Boolean)[0];
8385
+ this._cachedSyncDraftIDPromise = Promise.resolve(elementWithId ? elementWithId.getAttribute('data-standalone-draft-id').replace('#msg-a:', '') : null);
8708
8386
  return this._cachedSyncDraftIDPromise;
8709
8387
  }
8710
8388
  getVisibleDraftCount() {
@@ -9601,57 +9279,18 @@ async function getGmailMessageIdForSyncMessageId(driver, syncMessageID) {
9601
9279
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
9602
9280
  /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
9603
9281
  /* harmony export */ });
9604
- /* harmony import */ var ud__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(1010);
9605
- /* harmony import */ var _dom_driver_gmail_gmail_response_processor__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6139);
9606
- /* harmony import */ var _getSyncThreadsForSearch__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7889);
9607
- /* harmony import */ var _gmailAjax__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4013);
9608
- /* harmony import */ var _getAccountUrlPart__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(4653);
9282
+ /* harmony import */ var ud__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1010);
9283
+ /* harmony import */ var _getSyncThreadsForSearch__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7889);
9609
9284
  /* module decorator */ module = __webpack_require__.hmd(module);
9610
9285
 
9611
9286
 
9612
-
9613
-
9614
-
9615
9287
  async function getGmailThreadIdForRfcMessageId(driver, rfcMessageId) {
9616
- if (driver.isUsingSyncAPI && driver.isUsingSyncAPI()) {
9617
- const {
9618
- threads: threadDescriptors
9619
- } = await (0,_getSyncThreadsForSearch__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z)(driver, 'rfc822msgid:' + rfcMessageId);
9620
- return threadDescriptors[0].oldGmailThreadID;
9621
- } else {
9622
- return forOldAPI(driver, rfcMessageId);
9623
- }
9624
- }
9625
- async function forOldAPI(driver, rfcMessageId) {
9626
- const response = await (0,_gmailAjax__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z)({
9627
- method: 'POST',
9628
- url: `https://mail.google.com/mail${(0,_getAccountUrlPart__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z)()}/`,
9629
- data: {
9630
- ik: driver.getPageCommunicator().getIkValue(),
9631
- at: await driver.getGmailActionToken(),
9632
- ui: '2',
9633
- view: 'tl',
9634
- start: '0',
9635
- num: '1',
9636
- rt: 'c',
9637
- search: 'query',
9638
- q: `rfc822msgid:${rfcMessageId}`
9639
- },
9640
- xhrFields: {
9641
- withCredentials: true
9642
- },
9643
- canRetry: true,
9644
- headers: {
9645
- 'content-type': 'application/x-www-form-urlencoded;charset=UTF-8'
9646
- }
9647
- });
9648
- const threads = (0,_dom_driver_gmail_gmail_response_processor__WEBPACK_IMPORTED_MODULE_0__/* .extractThreads */ .MA)(response.text);
9649
- if (threads.length !== 1) {
9650
- throw new Error("Failed to find gmail thread id for rfc message id. Message may not exist in user's account.");
9651
- }
9652
- return threads[0].gmailThreadId;
9288
+ const {
9289
+ threads: threadDescriptors
9290
+ } = await (0,_getSyncThreadsForSearch__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z)(driver, 'rfc822msgid:' + rfcMessageId);
9291
+ return threadDescriptors[0].oldGmailThreadID;
9653
9292
  }
9654
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,ud__WEBPACK_IMPORTED_MODULE_4__.defn)(module, getGmailThreadIdForRfcMessageId));
9293
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,ud__WEBPACK_IMPORTED_MODULE_1__.defn)(module, getGmailThreadIdForRfcMessageId));
9655
9294
 
9656
9295
  /***/ }),
9657
9296
 
@@ -10839,7 +10478,7 @@ options.insert = htmlElement => {
10839
10478
  htmlElement.setAttribute('data-inboxsdk-version',
10840
10479
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment -- this is injected by webpack
10841
10480
  ///@ts-ignore
10842
- "2.1.11-1698862155990-e5612abaef09a181");
10481
+ "2.1.12-1699623720812-466cb297eff34e1f");
10843
10482
  document.head.append(htmlElement);
10844
10483
  };
10845
10484
  options.domAPI = (styleDomAPI_default());
@@ -11090,7 +10729,6 @@ function logError(err, details, context) {
11090
10729
  const {
11091
10730
  appIds,
11092
10731
  implVersion,
11093
- isUsingSyncAPI,
11094
10732
  userEmailHash
11095
10733
  } = context;
11096
10734
  const loaderVersion = context.loaderVersion || version/* BUILD_VERSION */.b;
@@ -11131,7 +10769,6 @@ function logError(err, details, context) {
11131
10769
  stuffToLog.push('\nExtension Id:', getExtensionId());
11132
10770
  stuffToLog.push('\nInboxSDK Loader Version:', loaderVersion);
11133
10771
  stuffToLog.push('\nInboxSDK Implementation Version:', implVersion);
11134
- stuffToLog.push('\nIs Using Sync API:', isUsingSyncAPI);
11135
10772
  console.error(...stuffToLog);
11136
10773
  const report = {
11137
10774
  message: err && err.message || err,
@@ -11145,7 +10782,6 @@ function logError(err, details, context) {
11145
10782
  extensionId: getExtensionId(),
11146
10783
  loaderVersion: loaderVersion,
11147
10784
  implementationVersion: implVersion,
11148
- isUsingSyncAPI,
11149
10785
  origin: document.location.origin,
11150
10786
  timestamp: Date.now() * 1000
11151
10787
  };
@@ -11369,7 +11005,6 @@ let _extensionLoaderVersion;
11369
11005
  let _extensionImplVersion;
11370
11006
  let _extensionUserEmailHash;
11371
11007
  let _extensionUseEventTracking = false;
11372
- let _isUsingSyncAPI = undefined;
11373
11008
  const _sessionId = getSessionId();
11374
11009
  const _loggedDeprecatedMessages = new Set();
11375
11010
 
@@ -11430,9 +11065,6 @@ class Logger {
11430
11065
  shouldTrackEverything() {
11431
11066
  return _extensionUserEmailHash === 'ca05afe92819df590a4196c31814fdb24050e8f49d8a41613f3d6cfb5729c785';
11432
11067
  }
11433
- setIsUsingSyncAPI(isUsing) {
11434
- _isUsingSyncAPI = isUsing;
11435
- }
11436
11068
  static run(cb, details) {
11437
11069
  try {
11438
11070
  return cb();
@@ -11676,8 +11308,7 @@ function _logError(err, details, appId, sentByApp) {
11676
11308
  appIds: getAppIdsProperty(appId),
11677
11309
  loaderVersion: _extensionLoaderVersion,
11678
11310
  implVersion: _extensionImplVersion,
11679
- userEmailHash: _extensionUserEmailHash,
11680
- isUsingSyncAPI: _isUsingSyncAPI
11311
+ userEmailHash: _extensionUserEmailHash
11681
11312
  });
11682
11313
  }
11683
11314
  function makeLoggedFunction(func, name) {
@@ -11712,7 +11343,6 @@ function _trackEvent(appId, type, eventName, properties) {
11712
11343
  emailHash: _extensionUserEmailHash,
11713
11344
  loaderVersion: _extensionLoaderVersion,
11714
11345
  implementationVersion: _extensionImplVersion,
11715
- isUsingSyncAPI: _isUsingSyncAPI,
11716
11346
  properties: properties
11717
11347
  };
11718
11348
  if (type != 'gmail') {
@@ -11986,7 +11616,7 @@ if (!__webpack_require__.g.__InboxSDKImpLoader) {
11986
11616
  await onready;
11987
11617
  const {
11988
11618
  makePlatformImplementation
11989
- } = await Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 2180));
11619
+ } = await Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 2384));
11990
11620
  return makePlatformImplementation(appId, opts, {
11991
11621
  piMainStarted,
11992
11622
  piLoadStarted,
@@ -12674,7 +12304,7 @@ function _updateNavMenu(members, newRouteViewDriver) {
12674
12304
 
12675
12305
  /***/ }),
12676
12306
 
12677
- /***/ 2180:
12307
+ /***/ 2384:
12678
12308
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
12679
12309
 
12680
12310
  "use strict";
@@ -13383,40 +13013,37 @@ class GmailMessageView {
13383
13013
  this._monitorEmailAddressHovering();
13384
13014
  this._setupMoreMenuWatching();
13385
13015
  let partialReadyStream;
13386
- if (driver.isUsingSyncAPI()) {
13387
- // handle the case that the data-message-id is available, but the data-legacy-message-id is not
13388
- // this happens when you're looking at a thread, and then you reply to a message, the message id is generated
13389
- // client side, so the new message added (from your reply) shows up in the UI right away and has a data-message-id but
13390
- // because it hasn't been synced to the server it does not have a data-legacy-messag-id
13391
- // so we wait until the message has been synced to the server before saying this is ready
13392
- const messageIdElement = this._element.querySelector('[data-message-id]');
13393
- if (messageIdElement) {
13394
- const syncMessageId = messageIdElement.getAttribute('data-message-id');
13395
- if (!syncMessageId) throw new Error('data-message-id attribute has no value');
13396
-
13397
- // Only respect data-legacy-message-id if data-message-id is not the id
13398
- // of a draft we've seen recently, in order to work around a Gmail bug.
13399
- // https://github.com/StreakYC/GmailSDK/issues/515#issuecomment-457420619
13400
- if (messageIdElement.hasAttribute('data-legacy-message-id') && !this._driver.isRecentSyncDraftId(syncMessageId.replace('#', ''))) {
13401
- partialReadyStream = kefir_esm.constant(null);
13402
- } else {
13403
- // we have a data message id, but not the legacy message id. So now we have to poll for the gmail message id
13404
- partialReadyStream = kefir_esm.fromPromise((async () => {
13405
- for (let ii = 0; ii < 10; ii++) {
13406
- try {
13407
- const gmailMessageId = await this._driver.getGmailMessageIdForSyncMessageId(syncMessageId.replace('#', ''));
13408
- // set the legacy message id attribute so subsequent calls to getMessageId find the legacy message id in the dom
13409
- messageIdElement.setAttribute('data-legacy-message-id', gmailMessageId);
13410
- return null;
13411
- } catch (e) {
13412
- await new Promise(resolve => setTimeout(resolve, ii * 200));
13413
- }
13414
- }
13415
- throw new Error('gmail message id never became available');
13416
- })());
13417
- }
13418
- } else {
13016
+
13017
+ // handle the case that the data-message-id is available, but the data-legacy-message-id is not
13018
+ // this happens when you're looking at a thread, and then you reply to a message, the message id is generated
13019
+ // client side, so the new message added (from your reply) shows up in the UI right away and has a data-message-id but
13020
+ // because it hasn't been synced to the server it does not have a data-legacy-messag-id
13021
+ // so we wait until the message has been synced to the server before saying this is ready
13022
+ const messageIdElement = this._element.querySelector('[data-message-id]');
13023
+ if (messageIdElement) {
13024
+ const syncMessageId = messageIdElement.getAttribute('data-message-id');
13025
+ if (!syncMessageId) throw new Error('data-message-id attribute has no value');
13026
+
13027
+ // Only respect data-legacy-message-id if data-message-id is not the id
13028
+ // of a draft we've seen recently, in order to work around a Gmail bug.
13029
+ // https://github.com/StreakYC/GmailSDK/issues/515#issuecomment-457420619
13030
+ if (messageIdElement.hasAttribute('data-legacy-message-id') && !this._driver.isRecentSyncDraftId(syncMessageId.replace('#', ''))) {
13419
13031
  partialReadyStream = kefir_esm.constant(null);
13032
+ } else {
13033
+ // we have a data message id, but not the legacy message id. So now we have to poll for the gmail message id
13034
+ partialReadyStream = kefir_esm.fromPromise((async () => {
13035
+ for (let ii = 0; ii < 10; ii++) {
13036
+ try {
13037
+ const gmailMessageId = await this._driver.getGmailMessageIdForSyncMessageId(syncMessageId.replace('#', ''));
13038
+ // set the legacy message id attribute so subsequent calls to getMessageId find the legacy message id in the dom
13039
+ messageIdElement.setAttribute('data-legacy-message-id', gmailMessageId);
13040
+ return null;
13041
+ } catch (e) {
13042
+ await new Promise(resolve => setTimeout(resolve, ii * 200));
13043
+ }
13044
+ }
13045
+ throw new Error('gmail message id never became available');
13046
+ })());
13420
13047
  }
13421
13048
  } else {
13422
13049
  partialReadyStream = kefir_esm.constant(null);
@@ -13495,23 +13122,13 @@ class GmailMessageView {
13495
13122
  async getRecipientsFull() {
13496
13123
  let recipients = this._recipientsFull;
13497
13124
  if (recipients) return recipients;
13498
- if (this._driver.isUsingSyncAPI()) {
13499
- const threadID = this._threadViewDriver.getInternalID();
13500
- recipients = this._recipientsFull = await this._driver.getPageCommunicator().getMessageRecipients(threadID, this._element);
13501
- if (!recipients) {
13502
- this._driver.getLogger().error(new Error('Failed to find message recipients from response'), {
13503
- threadID
13504
- });
13505
- recipients = this._recipientsFull = this.getRecipients();
13506
- }
13507
- } else {
13508
- const receipientSpans = Array.from(this._element.querySelectorAll('.hb span[email]'));
13509
- recipients = this._recipientsFull = receipientSpans.map(span => {
13510
- return this._getUpdatedContact({
13511
- name: span.getAttribute('name'),
13512
- emailAddress: span.getAttribute('email') || ''
13513
- });
13125
+ const threadID = this._threadViewDriver.getInternalID();
13126
+ recipients = this._recipientsFull = await this._driver.getPageCommunicator().getMessageRecipients(threadID, this._element);
13127
+ if (!recipients) {
13128
+ this._driver.getLogger().error(new Error('Failed to find message recipients from response'), {
13129
+ threadID
13514
13130
  });
13131
+ recipients = this._recipientsFull = this.getRecipients();
13515
13132
  }
13516
13133
  return recipients;
13517
13134
  }
@@ -14775,7 +14392,7 @@ class GmailThreadView {
14775
14392
  return kefir_esm.constant(null);
14776
14393
  }).toProperty();
14777
14394
  let combinedReadyStream;
14778
- if (driver.getOpts().REQUESTED_API_VERSION === 1 && driver.isUsingSyncAPI()) {
14395
+ if (driver.getOpts().REQUESTED_API_VERSION === 1) {
14779
14396
  combinedReadyStream = kefir_esm.combine([waitForSidebarReady, kefir_esm.fromPromise(this.getThreadIDAsync())]);
14780
14397
  } else {
14781
14398
  combinedReadyStream = waitForSidebarReady;
@@ -15016,19 +14633,17 @@ class GmailThreadView {
15016
14633
  getThreadID() {
15017
14634
  if (this._threadID) return this._threadID;
15018
14635
  let threadID;
15019
- if (this._driver.isUsingSyncAPI()) {
15020
- const idElement = this._element.querySelector('[data-thread-perm-id]');
15021
- if (!idElement) throw new Error('threadID element not found');
15022
- const syncThreadID = this._syncThreadID = idElement.getAttribute('data-thread-perm-id');
15023
- if (!syncThreadID) throw new Error('syncThreadID attribute with no value');
15024
- threadID = idElement.getAttribute('data-legacy-thread-id');
15025
- if (!threadID) {
15026
- const err = new Error('Failed to get id for thread: data-legacy-thread-id attribute missing');
15027
- this._driver.getLogger().error(err); // throw err;
15028
- // Fall back to old behavior instead of throwing. Probably not super sensible, but
15029
- // this is a deprecated method and preserving the current behavior is
15030
- // probably an okay choice.
15031
- }
14636
+ const idElement = this._element.querySelector('[data-thread-perm-id]');
14637
+ if (!idElement) throw new Error('threadID element not found');
14638
+ const syncThreadID = this._syncThreadID = idElement.getAttribute('data-thread-perm-id');
14639
+ if (!syncThreadID) throw new Error('syncThreadID attribute with no value');
14640
+ threadID = idElement.getAttribute('data-legacy-thread-id');
14641
+ if (!threadID) {
14642
+ const err = new Error('Failed to get id for thread: data-legacy-thread-id attribute missing');
14643
+ this._driver.getLogger().error(err); // throw err;
14644
+ // Fall back to old behavior instead of throwing. Probably not super sensible, but
14645
+ // this is a deprecated method and preserving the current behavior is
14646
+ // probably an okay choice.
15032
14647
  }
15033
14648
 
15034
14649
  if (!threadID) {
@@ -15050,29 +14665,13 @@ class GmailThreadView {
15050
14665
  }
15051
14666
  async getThreadIDAsync() {
15052
14667
  let threadID;
15053
- if (this._driver.isUsingSyncAPI()) {
15054
- const idElement = this._element.querySelector('[data-thread-perm-id]');
15055
- if (!idElement) throw new Error('threadID element not found');
15056
- const syncThreadID = this._syncThreadID = idElement.getAttribute('data-thread-perm-id');
15057
- if (!syncThreadID) throw new Error('syncThreadID attribute with no value');
15058
- this._threadID = threadID = idElement.getAttribute('data-legacy-thread-id');
15059
- if (!threadID) {
15060
- this._threadID = threadID = await this._driver.getOldGmailThreadIdFromSyncThreadId(syncThreadID);
15061
- }
15062
- } else {
15063
- if (this._isPreviewedThread) {
15064
- threadID = this._driver.getPageCommunicator().getCurrentThreadID(this._element, true);
15065
- } else {
15066
- const params = this._routeViewDriver ? this._routeViewDriver.getParams() : null;
15067
- if (params && params.threadID) {
15068
- threadID = params.threadID;
15069
- } else {
15070
- const err = new Error('Failed to get id for thread');
15071
- this._driver.getLogger().error(err);
15072
- throw err;
15073
- }
15074
- }
15075
- this._threadID = threadID;
14668
+ const idElement = this._element.querySelector('[data-thread-perm-id]');
14669
+ if (!idElement) throw new Error('threadID element not found');
14670
+ const syncThreadID = this._syncThreadID = idElement.getAttribute('data-thread-perm-id');
14671
+ if (!syncThreadID) throw new Error('syncThreadID attribute with no value');
14672
+ this._threadID = threadID = idElement.getAttribute('data-legacy-thread-id');
14673
+ if (!threadID) {
14674
+ this._threadID = threadID = await this._driver.getOldGmailThreadIdFromSyncThreadId(syncThreadID);
15076
14675
  }
15077
14676
  if (this._threadID) return this._threadID;else throw new Error('Failed to get id for thread');
15078
14677
  }
@@ -18598,14 +18197,26 @@ function showAppIdWarning(driver) {
18598
18197
  }
18599
18198
  // EXTERNAL MODULE: ./src/platform-implementation-js/dom-driver/gmail/makePageParserTree.ts + 1 modules
18600
18199
  var makePageParserTree = __webpack_require__(6107);
18601
- ;// CONCATENATED MODULE: ./src/platform-implementation-js/lib/common-page-communicator.ts
18200
+ ;// CONCATENATED MODULE: ./src/platform-implementation-js/lib/dom/custom-events.ts
18201
+ var CustomDomEvent = {
18202
+ tellMeThisThreadIdByDatabase: "inboxSDKtellMeThisThreadIdByDatabase",
18203
+ tellMeThisThreadIdByClick: "inboxSDKtellMeThisThreadIdByClick"
18204
+ };
18205
+ ;// CONCATENATED MODULE: ./src/platform-implementation-js/dom-driver/gmail/gmail-page-communicator.ts
18206
+
18207
+
18602
18208
 
18603
18209
 
18604
18210
 
18605
18211
 
18606
- class CommonPageCommunicator {
18212
+
18213
+ // This is intended to be instantiated from makeXhrInterceptor, since it depends
18214
+ // on the injected script, and if it's not instantiated elsewhere, you know that
18215
+ // if you have an instance of this, then the injected script is present and this
18216
+ // will work.
18217
+ class GmailPageCommunicator {
18607
18218
  constructor() {
18608
- this.ajaxInterceptStream = kefir_esm.fromEvents(document, 'inboxSDKajaxIntercept').map(x => x.detail);
18219
+ this.ajaxInterceptStream = kefir_esm["default"].fromEvents(document, 'inboxSDKajaxIntercept').map(x => x.detail);
18609
18220
  }
18610
18221
  getUserEmailAddress() {
18611
18222
  const s = document.head.getAttribute('data-inboxsdk-user-email-address');
@@ -18633,9 +18244,6 @@ class CommonPageCommunicator {
18633
18244
  }
18634
18245
  throw new Error("Failed to look up 'ik' value");
18635
18246
  }
18636
- isUsingSyncAPI() {
18637
- return false;
18638
- }
18639
18247
  async getXsrfToken() {
18640
18248
  const existingHeader = document.head.getAttribute('data-inboxsdk-xsrf-token');
18641
18249
  if (existingHeader) {
@@ -18676,7 +18284,7 @@ class CommonPageCommunicator {
18676
18284
  }
18677
18285
  pageAjax(opts) {
18678
18286
  const id = `${Date.now()}-${Math.random()}`;
18679
- const promise = kefir_esm.fromEvents(document, 'inboxSDKpageAjaxDone').filter(event => event.detail && event.detail.id === id).take(1).flatMap(event => {
18287
+ const promise = kefir_esm["default"].fromEvents(document, 'inboxSDKpageAjaxDone').filter(event => event.detail && event.detail.id === id).take(1).flatMap(event => {
18680
18288
  if (event.detail.error) {
18681
18289
  const err = Object.assign(new Error(event.detail.message || 'Connection error'), {
18682
18290
  status: event.detail.status
@@ -18684,9 +18292,9 @@ class CommonPageCommunicator {
18684
18292
  if (event.detail.stack) {
18685
18293
  err.stack = event.detail.stack;
18686
18294
  }
18687
- return kefir_esm.constantError(err);
18295
+ return kefir_esm["default"].constantError(err);
18688
18296
  } else {
18689
- return kefir_esm.constant({
18297
+ return kefir_esm["default"].constant({
18690
18298
  text: event.detail.text,
18691
18299
  responseURL: event.detail.responseURL
18692
18300
  });
@@ -18735,23 +18343,6 @@ class CommonPageCommunicator {
18735
18343
  }
18736
18344
  }));
18737
18345
  }
18738
- }
18739
- ;// CONCATENATED MODULE: ./src/platform-implementation-js/lib/dom/custom-events.ts
18740
- var CustomDomEvent = {
18741
- tellMeThisThreadIdByDatabase: "inboxSDKtellMeThisThreadIdByDatabase",
18742
- tellMeThisThreadIdByClick: "inboxSDKtellMeThisThreadIdByClick"
18743
- };
18744
- ;// CONCATENATED MODULE: ./src/platform-implementation-js/dom-driver/gmail/gmail-page-communicator.ts
18745
-
18746
-
18747
-
18748
-
18749
-
18750
- // This is intended to be instantiated from makeXhrInterceptor, since it depends
18751
- // on the injected script, and if it's not instantiated elsewhere, you know that
18752
- // if you have an instance of this, then the injected script is present and this
18753
- // will work.
18754
- class GmailPageCommunicator extends CommonPageCommunicator {
18755
18346
  async getMessageDate(threadId, message) {
18756
18347
  return this._getMessageData(threadId, message, 'data-inboxsdk-sortdate', 'inboxSDKtellMeThisMessageDate');
18757
18348
  }
@@ -18761,7 +18352,7 @@ class GmailPageCommunicator extends CommonPageCommunicator {
18761
18352
  async _getMessageData(threadId, message, attribute, eventName) {
18762
18353
  let data = message.getAttribute(attribute);
18763
18354
  if (!data) {
18764
- const [btaiHeader, xsrfToken] = this.isUsingSyncAPI() ? await Promise.all([this.getBtaiHeader(), this.getXsrfToken()]) : [null, null];
18355
+ const [btaiHeader, xsrfToken] = await Promise.all([this.getBtaiHeader(), this.getXsrfToken()]);
18765
18356
  message.dispatchEvent(new CustomEvent(eventName, {
18766
18357
  bubbles: true,
18767
18358
  cancelable: false,
@@ -18828,11 +18419,6 @@ class GmailPageCommunicator extends CommonPageCommunicator {
18828
18419
  if (s == null) throw new Error('Failed to read value');
18829
18420
  return s;
18830
18421
  }
18831
- isUsingSyncAPI() {
18832
- const s = document.head.getAttribute('data-inboxsdk-using-sync-api');
18833
- if (s == null) throw new Error('Failed to read value');
18834
- return s === 'true';
18835
- }
18836
18422
  isConversationViewDisabled() {
18837
18423
  return new Promise(resolve => {
18838
18424
  kefir_esm["default"].fromEvents(document, 'inboxSDKgmonkeyResponse').take(1).onValue(event => {
@@ -18929,11 +18515,7 @@ class GmailPageCommunicator extends CommonPageCommunicator {
18929
18515
  const detail = {
18930
18516
  modifierId
18931
18517
  };
18932
- if (this.isUsingSyncAPI()) {
18933
- detail.draftID = keyId;
18934
- } else {
18935
- detail.composeid = keyId;
18936
- }
18518
+ detail.draftID = keyId;
18937
18519
  document.dispatchEvent(new CustomEvent('inboxSDKregisterComposeRequestModifier', {
18938
18520
  detail,
18939
18521
  bubbles: false,
@@ -18954,9 +18536,9 @@ class GmailPageCommunicator extends CommonPageCommunicator {
18954
18536
  modifyComposeRequest(keyId, modifierId, composeParams) {
18955
18537
  const detail = {
18956
18538
  modifierId,
18957
- composeParams
18539
+ composeParams,
18540
+ draftID: keyId
18958
18541
  };
18959
- if (this.isUsingSyncAPI()) detail.draftID = keyId;else detail.composeid = keyId;
18960
18542
  document.dispatchEvent(new CustomEvent('inboxSDKcomposeRequestModified', {
18961
18543
  detail,
18962
18544
  bubbles: false,
@@ -19412,7 +18994,7 @@ options.insert = htmlElement => {
19412
18994
  htmlElement.setAttribute('data-inboxsdk-version',
19413
18995
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment -- this is injected by webpack
19414
18996
  ///@ts-ignore
19415
- "2.1.11-1698862155990-e5612abaef09a181");
18997
+ "2.1.12-1699623720812-466cb297eff34e1f");
19416
18998
  document.head.append(htmlElement);
19417
18999
  };
19418
19000
  options.domAPI = (styleDomAPI_default());
@@ -19590,7 +19172,9 @@ class GmailMoleViewDriver {
19590
19172
  event.stopPropagation();
19591
19173
  titleButton.onClick.call(null);
19592
19174
  });
19593
- img.src = titleButton.iconUrl;
19175
+ if (titleButton.iconUrl) {
19176
+ img.src = titleButton.iconUrl;
19177
+ }
19594
19178
  titleButtonContainer.insertBefore(img, lastChild);
19595
19179
  });
19596
19180
  }
@@ -20281,8 +19865,14 @@ function encodeDraftUrlId(syncThreadId, syncMessageId) {
20281
19865
  }
20282
19866
  // EXTERNAL MODULE: ./src/platform-implementation-js/driver-common/getOriginalMessagePage.ts
20283
19867
  var getOriginalMessagePage = __webpack_require__(8102);
20284
- // EXTERNAL MODULE: ./src/common/html-to-text.ts
20285
- var html_to_text = __webpack_require__(9865);
19868
+ ;// CONCATENATED MODULE: ./src/common/html-to-text.ts
19869
+ // Quick function for converting HTML with entities into text without
19870
+ // introducing an XSS vulnerability.
19871
+ function htmlToText(html) {
19872
+ const div = document.createElement('div');
19873
+ div.innerHTML = html.replace(/<[^>]*>?/g, '');
19874
+ return div.textContent;
19875
+ }
20286
19876
  ;// CONCATENATED MODULE: ./src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-rfc-message-id-for-gmail-message-id.ts
20287
19877
 
20288
19878
 
@@ -20294,7 +19884,7 @@ async function getRfcMessageIdForGmailMessageId(driver, gmailMessageId) {
20294
19884
  if (!match) {
20295
19885
  throw new Error("Failed to find rfc id for gmail thread id. Message may not exist in user's account.");
20296
19886
  }
20297
- return (0,html_to_text/* default */.Z)(match[1]);
19887
+ return htmlToText(match[1]);
20298
19888
  }
20299
19889
  ;// CONCATENATED MODULE: ./src/platform-implementation-js/dom-driver/gmail/gmail-driver/open-draft-by-message-id.ts
20300
19890
 
@@ -20302,39 +19892,34 @@ async function getRfcMessageIdForGmailMessageId(driver, gmailMessageId) {
20302
19892
 
20303
19893
 
20304
19894
  async function openDraftByMessageID(driver, messageID) {
20305
- let newHash;
20306
- if (driver.isUsingSyncAPI()) {
20307
- const rfcMessageID = await getRfcMessageIdForGmailMessageId(driver, messageID);
20308
- const {
20309
- threads
20310
- } = await (0,getSyncThreadsForSearch/* default */.Z)(driver, 'rfc822msgid:' + rfcMessageID);
20311
- if (threads.length === 0) {
20312
- throw new Error('Failed to get sync message id');
20313
- }
20314
- const thread = threads[0];
20315
- const syncMessageData = thread.extraMetaData.syncMessageData.find(m => m.oldMessageID === messageID);
20316
- if (!syncMessageData) {
20317
- throw new Error('Failed to find syncMessageData');
20318
- }
20319
- const {
20320
- syncMessageID
20321
- } = syncMessageData;
20322
- newHash = makeNewSyncHash(window.location.hash, thread.syncThreadID, syncMessageID);
20323
- } else {
20324
- newHash = makeNewHash(window.location.hash, messageID);
19895
+ const rfcMessageID = await getRfcMessageIdForGmailMessageId(driver, messageID);
19896
+ const {
19897
+ threads
19898
+ } = await (0,getSyncThreadsForSearch/* default */.Z)(driver, 'rfc822msgid:' + rfcMessageID);
19899
+ if (threads.length === 0) {
19900
+ throw new Error('Failed to get sync message id');
20325
19901
  }
19902
+ const thread = threads[0];
19903
+ const syncMessageData = thread.extraMetaData.syncMessageData.find(m => m.oldMessageID === messageID);
19904
+ if (!syncMessageData) {
19905
+ throw new Error('Failed to find syncMessageData');
19906
+ }
19907
+ const {
19908
+ syncMessageID
19909
+ } = syncMessageData;
19910
+ const newHash = makeNewSyncHash(window.location.hash, thread.syncThreadID, syncMessageID);
20326
19911
  window.location.hash = newHash;
20327
19912
  }
20328
19913
  function makeNewHash(oldHash, messageID) {
20329
19914
  oldHash = '#' + oldHash.replace(/^#/, '');
20330
19915
  const [pre, query] = oldHash.split('?');
20331
- const params = querystring_es3.parse(query);
19916
+ const params = qs.parse(query);
20332
19917
  if (params.compose) {
20333
19918
  params.compose += ',' + messageID;
20334
19919
  } else {
20335
19920
  params.compose = messageID;
20336
19921
  }
20337
- return pre + '?' + querystring_es3.stringify(params);
19922
+ return pre + '?' + qs.stringify(params);
20338
19923
  }
20339
19924
  function makeNewSyncHash(oldHash, syncThreadID, syncMessageID) {
20340
19925
  oldHash = '#' + oldHash.replace(/^#/, '');
@@ -21720,7 +21305,6 @@ var immutability_helper_default = /*#__PURE__*/__webpack_require__.n(immutabilit
21720
21305
 
21721
21306
 
21722
21307
 
21723
-
21724
21308
  const threadListHandlersToSearchStrings = new Map();
21725
21309
  const MAX_THREADS_PER_PAGE = 50;
21726
21310
 
@@ -21917,97 +21501,83 @@ const setupSearchReplacing = (driver, customRouteID, onActivate, findIdFailure)
21917
21501
  // order that user passed in
21918
21502
  let newResponse;
21919
21503
  try {
21920
- if (driver.isUsingSyncAPI()) {
21921
- const extractedThreads = gmail_sync_response_processor/* extractThreadsFromSearchResponse */.OL(response);
21922
- const extractedThreadsInCompletedIDPairsOrder = completedIDPairs.map(_ref3 => {
21923
- let {
21924
- gtid
21925
- } = _ref3;
21926
- return find_default()(extractedThreads, t => t.oldGmailThreadID === gtid);
21927
- }).filter(Boolean);
21928
- const doesNeedReorder = extractedThreads.length !== extractedThreadsInCompletedIDPairsOrder.length || extractedThreads.some((extractedThread, index) => extractedThread !== extractedThreadsInCompletedIDPairsOrder[index]);
21929
- let reorderedThreads;
21930
- if (doesNeedReorder) {
21931
- const now = Date.now();
21932
- reorderedThreads = extractedThreadsInCompletedIDPairsOrder.map((extractedThread, index) => {
21933
- const newFormat = Array.isArray(extractedThread.rawResponse);
21934
- const newTime = String(now - index);
21935
- let newThread = immutability_helper_default()(extractedThread, {
21504
+ const extractedThreads = gmail_sync_response_processor/* extractThreadsFromSearchResponse */.OL(response);
21505
+ const extractedThreadsInCompletedIDPairsOrder = completedIDPairs.map(_ref3 => {
21506
+ let {
21507
+ gtid
21508
+ } = _ref3;
21509
+ return find_default()(extractedThreads, t => t.oldGmailThreadID === gtid);
21510
+ }).filter(Boolean);
21511
+ const doesNeedReorder = extractedThreads.length !== extractedThreadsInCompletedIDPairsOrder.length || extractedThreads.some((extractedThread, index) => extractedThread !== extractedThreadsInCompletedIDPairsOrder[index]);
21512
+ let reorderedThreads;
21513
+ if (doesNeedReorder) {
21514
+ const now = Date.now();
21515
+ reorderedThreads = extractedThreadsInCompletedIDPairsOrder.map((extractedThread, index) => {
21516
+ const newFormat = Array.isArray(extractedThread.rawResponse);
21517
+ const newTime = String(now - index);
21518
+ let newThread = immutability_helper_default()(extractedThread, {
21519
+ rawResponse: newFormat ? {
21520
+ '0': {
21521
+ '2': {
21522
+ $set: newTime
21523
+ },
21524
+ '7': {
21525
+ $set: newTime
21526
+ }
21527
+ }
21528
+ } : {
21529
+ '1': {
21530
+ '3': {
21531
+ $set: newTime
21532
+ },
21533
+ '8': {
21534
+ $set: newTime
21535
+ }
21536
+ }
21537
+ }
21538
+ });
21539
+ if (newFormat ? extractedThread.rawResponse[0][4] : extractedThread.rawResponse[1][5]) {
21540
+ newThread = immutability_helper_default()(newThread, {
21936
21541
  rawResponse: newFormat ? {
21937
21542
  '0': {
21938
- '2': {
21939
- $set: newTime
21940
- },
21941
- '7': {
21942
- $set: newTime
21943
- }
21543
+ '4': oldVal => oldVal.map(md => immutability_helper_default()(md, {
21544
+ '6': {
21545
+ $set: newTime
21546
+ },
21547
+ '17': {
21548
+ $set: newTime
21549
+ },
21550
+ '30': {
21551
+ $set: newTime
21552
+ }
21553
+ }))
21944
21554
  }
21945
21555
  } : {
21946
21556
  '1': {
21947
- '3': {
21948
- $set: newTime
21949
- },
21950
- '8': {
21951
- $set: newTime
21952
- }
21557
+ '5': oldVal => oldVal.map(md => immutability_helper_default()(md, {
21558
+ '7': {
21559
+ $set: newTime
21560
+ },
21561
+ '18': {
21562
+ $set: newTime
21563
+ },
21564
+ '31': {
21565
+ $set: newTime
21566
+ }
21567
+ }))
21953
21568
  }
21954
21569
  }
21955
21570
  });
21956
- if (newFormat ? extractedThread.rawResponse[0][4] : extractedThread.rawResponse[1][5]) {
21957
- newThread = immutability_helper_default()(newThread, {
21958
- rawResponse: newFormat ? {
21959
- '0': {
21960
- '4': oldVal => oldVal.map(md => immutability_helper_default()(md, {
21961
- '6': {
21962
- $set: newTime
21963
- },
21964
- '17': {
21965
- $set: newTime
21966
- },
21967
- '30': {
21968
- $set: newTime
21969
- }
21970
- }))
21971
- }
21972
- } : {
21973
- '1': {
21974
- '5': oldVal => oldVal.map(md => immutability_helper_default()(md, {
21975
- '7': {
21976
- $set: newTime
21977
- },
21978
- '18': {
21979
- $set: newTime
21980
- },
21981
- '31': {
21982
- $set: newTime
21983
- }
21984
- }))
21985
- }
21986
- }
21987
- });
21988
- }
21989
- return newThread;
21990
- });
21991
- } else {
21992
- reorderedThreads = extractedThreads;
21993
- }
21994
- newResponse = gmail_sync_response_processor/* replaceThreadsInSearchResponse */.ti(response, reorderedThreads, {
21995
- start,
21996
- total
21571
+ }
21572
+ return newThread;
21997
21573
  });
21998
21574
  } else {
21999
- const extractedThreads = gmail_response_processor/* extractThreads */.MA(response);
22000
- const reorderedThreads = completedIDPairs.map(_ref4 => {
22001
- let {
22002
- gtid
22003
- } = _ref4;
22004
- return find_default()(extractedThreads, t => t.gmailThreadId === gtid);
22005
- }).filter(Boolean);
22006
- newResponse = gmail_response_processor/* replaceThreadsInResponse */.Z8(response, reorderedThreads, {
22007
- start,
22008
- total
22009
- });
21575
+ reorderedThreads = extractedThreads;
22010
21576
  }
21577
+ newResponse = gmail_sync_response_processor/* replaceThreadsInSearchResponse */.ti(response, reorderedThreads, {
21578
+ start,
21579
+ total
21580
+ });
22011
21581
  driver.getPageCommunicator().setCustomListResults(newQuery, newResponse);
22012
21582
  } catch (e) {
22013
21583
  driver.getLogger().error(e, {
@@ -22022,17 +21592,10 @@ const setupSearchReplacing = (driver, customRouteID, onActivate, findIdFailure)
22022
21592
  });
22023
21593
  }
22024
21594
  try {
22025
- if (driver.isUsingSyncAPI()) {
22026
- driver.getPageCommunicator().setCustomListResults(newQuery, gmail_sync_response_processor/* replaceThreadsInSearchResponse */.ti(response, [], {
22027
- start,
22028
- total
22029
- }));
22030
- } else {
22031
- driver.getPageCommunicator().setCustomListResults(newQuery, gmail_response_processor/* replaceThreadsInResponse */.Z8(response, [], {
22032
- start,
22033
- total
22034
- }));
22035
- }
21595
+ driver.getPageCommunicator().setCustomListResults(newQuery, gmail_sync_response_processor/* replaceThreadsInSearchResponse */.ti(response, [], {
21596
+ start,
21597
+ total
21598
+ }));
22036
21599
  } catch (e2) {
22037
21600
  driver.getLogger().error(e2);
22038
21601
  // The original response will be used.
@@ -22401,7 +21964,6 @@ async function gmailLoadEvent(driver) {
22401
21964
  windowWidth: window.innerWidth,
22402
21965
  windowHeight: window.innerHeight,
22403
21966
  language: pageCommunicator.getUserLanguage(),
22404
- isUsingSyncAPI: pageCommunicator.isUsingSyncAPI(),
22405
21967
  previewPane: pageCommunicator.getUserOriginalPreviewPaneMode(),
22406
21968
  isConversationViewDisabled,
22407
21969
  wasAccountSwitcherReadyAtStart: driver.getEnvData().wasAccountSwitcherReadyAtStart,
@@ -23594,13 +23156,6 @@ class GmailDriver {
23594
23156
 
23595
23157
  // mapping between sync message ids and old message ids
23596
23158
  {
23597
- try {
23598
- // TODO remove sometime after March 24 2019 to give time for this to
23599
- // run for most users.
23600
- localStorage.removeItem('inboxsdk__cached_gmail_and_inbox_message_ids_2');
23601
- } catch (err) {
23602
- console.error(err);
23603
- }
23604
23159
  const gmailMessageIdForSyncMessageIdCache = new (bimapcache_js_default())({
23605
23160
  key: 'inboxsdk__cached_gmail_and_inbox_message_ids_3',
23606
23161
  getAfromB: sync => (0,getGmailMessageIdForSyncMessageId/* default */.Z)(this, sync),
@@ -24002,7 +23557,6 @@ class GmailDriver {
24002
23557
  this.#timestampGlobalsFound = Date.now();
24003
23558
  this.#pageCommunicator = pageCommunicator;
24004
23559
  this.#logger.setUserEmailAddress(this.getUserEmailAddress());
24005
- this.#logger.setIsUsingSyncAPI(pageCommunicator.isUsingSyncAPI());
24006
23560
  this.#userInfo = new UserInfo(this);
24007
23561
  this.#timestampAccountSwitcherReady = Date.now();
24008
23562
  this.#routeViewDriverStream = setupRouteViewDriverStream(this.#gmailRouteProcessor, this).takeUntilBy(this.#stopper).toProperty();
@@ -24067,9 +23621,6 @@ class GmailDriver {
24067
23621
  isRunningInPageContext() {
24068
23622
  return !!(__webpack_require__.g.GLOBALS && __webpack_require__.g._GM_main);
24069
23623
  }
24070
- isUsingSyncAPI() {
24071
- return this.#pageCommunicator.isUsingSyncAPI();
24072
- }
24073
23624
  showAppIdWarning() {
24074
23625
  showAppIdWarning(this);
24075
23626
  }
@@ -32944,7 +32495,7 @@ var ___CSS_LOADER_URL_REPLACEMENT_0___ = _node_modules_css_loader_dist_runtime_g
32944
32495
  var ___CSS_LOADER_URL_REPLACEMENT_1___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(___CSS_LOADER_URL_IMPORT_1___);
32945
32496
  var ___CSS_LOADER_URL_REPLACEMENT_2___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(___CSS_LOADER_URL_IMPORT_2___);
32946
32497
  // Module
32947
- ___CSS_LOADER_EXPORT___.push([module.id, ".inboxsdk__notransition{transition:none!important}.inboxsdk__close_button{height:24px;width:24px;opacity:.7;position:relative;background:0 0;border:0;padding:0;box-sizing:content-box;outline:0;cursor:pointer}.inboxsdk__close_button:focus,.inboxsdk__close_button:hover{opacity:1}.inboxsdk__close_button:focus::before{background-color:rgb(0 0 0/12%)}.inboxsdk__close_button::before{border-radius:50%;position:absolute;inset:-4px -4px -4px -4px;padding:4px;content:\" \"}.inboxsdk__close_button::after{content:\" \";background:url(https://www.gstatic.com/images/icons/material/system/1x/close_black_24dp.png);position:absolute;height:24px;width:24px;top:0;left:0}@media (min-resolution:192dpi){.inboxsdk__close_button::after{background:url(https://www.gstatic.com/images/icons/material/system/2x/close_black_24dp.png);background-size:contain}}.inboxsdk__nJrOYb9x4IUalKhkqH70{display:none}.inboxsdk__drawer_view_container{visibility:visible;direction:initial;position:fixed;height:100vh;width:100vw;bottom:0;left:0;z-index:51;pointer-events:none}.inboxsdk__drawer_view{position:absolute;pointer-events:auto;top:0;bottom:0;right:0;width:452px;font:13px\"Helvetica Neue\",Helvetica,Arial,sans-serif;display:flex;flex-direction:column;background-color:#fff;outline:0;box-shadow:0 0 8px rgb(0 0 0/18%),0 8px 16px rgb(0 0 0/36%);transform:translateX(100%);transition:transform 150ms cubic-bezier(.4,0,.2,1)}.inboxsdk__drawer_view.inboxsdk__match_sidebar_content_panel_width{width:300px}.inboxsdk__drawer_view.inboxsdk__active{transform:none}.inboxsdk__drawer_title_bar{background-color:#f5f5f5;border-bottom:1px solid #e0e0e0;padding:16px 20px;white-space:nowrap;display:flex;flex:0 0 auto}.inboxsdk__drawer_title_bar .inboxsdk__close_button{margin-right:20px;flex-shrink:0}.inboxsdk__drawer_title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:20px/24px\"Helvetica Neue\",Helvetica,Arial,sans-serif}.inboxsdk__inbox_backdrop{visibility:visible;position:fixed;height:100vh;width:100vw;bottom:0;left:0;z-index:50;background-color:transparent;transition:background-color 150ms cubic-bezier(.4,0,1,1)}.inboxsdk__inbox_backdrop.inboxsdk__active{background-color:rgb(10 10 10/60%);transition:background-color 70ms cubic-bezier(0,0,.2,1)}.inboxsdk__inbox_backdrop~.inboxsdk__inbox_backdrop{opacity:.6}.inboxsdk__YVRXKNcaUvgm8xbnhvbA{display:flex;flex-direction:column}.inboxsdk__L1YTilBb_3NY6uyjljIg>.inboxsdk__close_button{position:absolute;bottom:10px;right:20px}.inboxsdk__ZsVjiThsnbCmCG_X1Vvn{width:216px}.inboxsdk__RRnCd87hoA2uHeC1Z_FE{overflow:hidden;font:12px Arial,sans-serif;max-height:100%;box-sizing:border-box}.inboxsdk__iYzl6PjYB9v7KGQNbONH{white-space:nowrap;display:flex;user-select:none;cursor:default}.inboxsdk__RRnCd87hoA2uHeC1Z_FE:not(.inboxsdk__o9YcckDJql686JS0n2cc) .inboxsdk__iYzl6PjYB9v7KGQNbONH{border-bottom:1px solid #ddd}.inboxsdk__RRnCd87hoA2uHeC1Z_FE.inboxsdk__XdCPRDkO7zSIv6nU4USH .inboxsdk__iYzl6PjYB9v7KGQNbONH,.inboxsdk__RRnCd87hoA2uHeC1Z_FE.inboxsdk__vTsoFgWgM9ldKGsRJYHd .inboxsdk__iYzl6PjYB9v7KGQNbONH:hover{background:rgb(0 0 0/3%)}.inboxsdk__lD1h9YUibxcHdtWGdiWq{min-width:0;overflow:hidden;text-overflow:ellipsis}.inboxsdk__RRnCd87hoA2uHeC1Z_FE.inboxsdk__vTsoFgWgM9ldKGsRJYHd .inboxsdk__lD1h9YUibxcHdtWGdiWq{cursor:move}.inboxsdk__p_cMIiZvN4vwQdGOpCts{padding-left:6px;vertical-align:middle;font:700 13px/40px\"Helvetica Neue\",Helvetica,Arial,sans-serif;color:rgb(0 0 0/87%)}.inboxsdk__L1YTilBb_3NY6uyjljIg.inboxsdk__fQK2Ffccj51PVtC_ibDc .inboxsdk__iYzl6PjYB9v7KGQNbONH{display:none}.inboxsdk__RRnCd87hoA2uHeC1Z_FE.inboxsdk__vTsoFgWgM9ldKGsRJYHd .inboxsdk__iYzl6PjYB9v7KGQNbONH:hover .inboxsdk__KudoZ1EBFoQsddbSavvj{position:absolute;top:0;left:0;width:10px;height:40px;background:url(" + ___CSS_LOADER_URL_REPLACEMENT_0___ + ")50%center no-repeat}.inboxsdk__TFQRFr4aJVmDmx2llTVx{width:20px;height:20px;vertical-align:middle;display:inline-flex;justify-content:center;align-items:center;margin-top:-1px}.inboxsdk__Yzt2_upvw7fe6BjWdlhZ,.inboxsdk__Yzt2_upvw7fe6BjWdlhZ>img{width:13px;height:13px}.inboxsdk__M4Frio2Us0lwSTltblkg{flex:1;text-align:right;visibility:hidden}.inboxsdk__RRnCd87hoA2uHeC1Z_FE.inboxsdk__vTsoFgWgM9ldKGsRJYHd .inboxsdk__M4Frio2Us0lwSTltblkg{visibility:visible;cursor:pointer}.inboxsdk__Nr6Udyn2ocUynKpdfxh1{margin-top:12px;margin-right:4px;background:url(" + ___CSS_LOADER_URL_REPLACEMENT_1___ + ")center/20px no-repeat;border:0;width:14px;height:14px;transform:rotate(-90deg);transition:-webkit-transform .15s,transform .15s;outline:0;opacity:.6;cursor:pointer}.inboxsdk__RRnCd87hoA2uHeC1Z_FE.inboxsdk__XdCPRDkO7zSIv6nU4USH .inboxsdk__iYzl6PjYB9v7KGQNbONH .inboxsdk__Nr6Udyn2ocUynKpdfxh1,.inboxsdk__iYzl6PjYB9v7KGQNbONH:hover .inboxsdk__Nr6Udyn2ocUynKpdfxh1{opacity:.9}.inboxsdk__RRnCd87hoA2uHeC1Z_FE.inboxsdk__o9YcckDJql686JS0n2cc .inboxsdk__Nr6Udyn2ocUynKpdfxh1{transform:rotate(0)}.inboxsdk__QsikHKWmzD0Ovsg3wrIw{margin-bottom:25px}.inboxsdk__z3cCBtGXYneog44Vf16J .inboxsdk__ARG5bpD2vntIyElH978u{position:relative}.inboxsdk__z3cCBtGXYneog44Vf16J .inboxsdk__button_icon:focus,.inboxsdk__z3cCBtGXYneog44Vf16J .inboxsdk__button_icon:hover{outline:0}.inboxsdk__appid_warning{margin:0;padding:9px;color:#4b4b4b;background:#ff6c6c;font-size:10pt}.inboxsdk__appid_warning_main,a.inboxsdk__appid_register{display:inline-block;vertical-align:middle}.inboxsdk__appid_warning .topline{font-weight:700;font-size:11pt}a.inboxsdk__appid_register{color:#fff;background:#1989ff;border-radius:3px;text-decoration:none;box-shadow:0 0 5px rgb(0 0 0/30%);padding:7px;font-size:10pt;margin-left:1em}.inboxsdk__thread_row_icon_wrapper{display:inline-block}.inboxsdk__thread_row_icon_wrapper .inboxsdk__button_iconImg{margin-top:0}.inboxsdk__QbxpXL1mja3SlO_1nJOS{background:#f8ebc0;margin-bottom:10px;padding:12px 4px 6px 12px}.inboxsdk__suggestions_separator_before{padding-bottom:2px!important}.inboxsdk__suggestions_separator_after{border-top:1px solid #e5e5e5;padding-top:2px!important}div.T-I.inboxsdk__button{user-select:none;min-width:27px}.inboxsdk__no_bg{background:0 0}.inboxsdk__button.inboxsdk__button_disabled{opacity:.55}.inboxsdk__button_icon+.inboxsdk__button_text{margin-left:5px}.inboxsdk__button_icon{display:inline-block}.inboxsdk__button_iconImg{height:20px;width:20px;vertical-align:middle;margin-top:-2px;user-drag:none;user-select:none;-webkit-user-drag:none}.inboxsdk__button_green_hover,.inboxsdk__button_green_inactive{background-image:-webkit-linear-gradient(top,transparent,transparent);background-image:linear-gradient(top,transparent,transparent);border:1px solid transparent;text-shadow:none}.inboxsdk__button_green_inactive{box-shadow:0 1px 0 rgb(0 0 0/5%);background-color:#53a93f;color:#fff}.inboxsdk__button_green_hover{box-shadow:inset 0-1px 0#4c8534;background-color:#65b045;border-bottom:1px solid #4c8534}.inboxsdk__button_green_active{box-shadow:inset 0 1px 0#2f6124;background:#3e802f;border:1px solid transparent;border-top:1px solid #2f6124;color:#fff;text-shadow:none}.inboxsdk__menu{min-width:1em;min-height:1em;padding:0;overflow:visible;max-height:none;z-index:7;cursor:default;font-size:13px;margin:0;outline:0}.inboxsdk__menu>.inboxsdk__menuContent{padding:0;box-shadow:0 8px 10px 1px rgb(0 0 0/14%),0 3px 14px 2px rgb(0 0 0/12%),0 5px 5px -3px rgb(0 0 0/20%);transition:opacity .218s;border:1px solid rgb(0 0 0/20%);background:#fff;outline:0}.f4.J-N-JX.inboxsdk__message_more_icon{height:16px;margin-top:1px;width:16px}.dw .nH>.no .nH.nn:last-child[style*=\"width: 310px;\"],body:has(.companion_app_sidebar_visible) .dw .nH>.no .nH.nn:last-child{width:366px!important}.inboxsdk__composeButton{height:20px;width:20px;padding:4px}.inboxsdk__composeButton,.inboxsdk__compose_sendButton{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;outline:0;position:relative}.inboxsdk__composeButton+.inboxsdk__composeButton{margin-left:4px}.inboxsdk__composeButton .inboxsdk__button_icon{opacity:.55}.inboxsdk__composeButton.inboxsdk__composeButton_active .inboxsdk__button_icon,.inboxsdk__composeButton:focus .inboxsdk__button_icon,.inboxsdk__composeButton:hover .inboxsdk__button_icon{opacity:1}.inboxsdk__composeButton::before{content:\"\";display:block;opacity:0;position:absolute;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1);inset:0 0 0 0;background:0 0;box-sizing:border-box;transform:scale(0);transition-property:transform,opacity;border-radius:4px}.inboxsdk__composeButton:hover::before{background-color:rgb(32 33 36/5.9%);border:0;box-shadow:none;opacity:1;transform:scale(1)}.inboxsdk__composeButton.inboxsdk__composeButton_active::before,.inboxsdk__composeButton:focus::before{background-color:rgb(32 33 36/12.2%);border:0;box-shadow:none;opacity:1;transform:scale(1)}.inboxsdk__compose_actionToolbar .inboxsdk__compose_groupedActionToolbar div.inboxsdk__composeButton:last-child{margin-right:0}.inboxsdk__compose_sendButton{background-color:#1a73e8;color:#fff;height:24px;width:auto;border-radius:4px;padding:6px 4px;margin-left:2px}.inboxsdk__compose_inlineReply .inboxsdk__compose_sendButton{height:24px}.inboxsdk__compose_sendButton.inboxsdk__composeButton_active,.inboxsdk__compose_sendButton:focus{background-color:#5094ed;box-shadow:0 1px 1px 0 rgb(66 133 244/30%),0 1px 3px 1px rgb(66 133 244/15%);border:0}.T-I~.inboxsdk__compose_sendButton{margin-left:-6px}.inboxsdk__compose_actionToolbar{white-space:nowrap;padding-left:6px}.inboxsdk__compose_actionToolbar .inboxsdk__button_icon{height:20px;width:20px;display:inline-flex;user-select:none}.inboxsdk__compose_actionToolbar .inboxsdk__button_iconImg{height:17px;width:17px;display:inline-flex;margin:auto}.inboxsdk__compose_actionToolbar+.gU:not(.inboxsdk__compose_separator){padding-left:8px}.inboxsdk__compose_groupedActionToolbar_visible .aDg .aDh{overflow-y:visible}.inboxsdk__compose_groupedActionToolbar{position:absolute;bottom:44px;z-index:10;border-radius:2px;box-shadow:0 4px 5px 0 rgb(0 0 0/14%),0 1px 10px 0 rgb(0 0 0/12%),0 2px 4px -1px rgb(0 0 0/20%);margin:3px 3px 7px;padding:4px 5px;background:#fff;left:-3px}.inboxsdk__compose_inlineReply .inboxsdk__compose_groupedActionToolbar{left:14px}.inboxsdk__compose_groupedActionToolbar .inboxsdk__composeButton:first-child{margin-left:0;margin-right:0}.inboxsdk__composeButton.inboxsdk__compose_groupedActionButton{margin-right:0}.inboxsdk__compose_groupedActionToolbar .inboxsdk__composeButton{padding:4px}.inboxsdk__compose_groupedActionToolbar_visible .bA3{height:40px}.inboxsdk__compose_groupedActionToolbar div.inboxsdk__button{z-index:1;margin-right:0}.inboxsdk__compose_groupedActionToolbar_arrow,span.inboxsdk__thread_row_custom_draft_label+div.yW{display:none}.inboxsdk__compose_customSendContainer{display:inline-block;position:relative;outline:0;margin:6px 0;padding:0;vertical-align:middle;height:36px;line-height:36px}.inboxsdk__compose_customTitleBarColor>img.Ha,.inboxsdk__compose_customTitleBarColor>img.Hl,.inboxsdk__compose_customTitleBarColor>img.Hq{background-color:transparent!important}.inboxsdk__compose_hasCustomTitleBarText,.inboxsdk__compose_hasCustomTitleBarText>tbody>tr{display:flex}.inboxsdk__compose_hasCustomTitleBarText>tbody>tr{align-items:center}.inboxsdk__compose_hasCustomTitleBarText>tbody{width:100%}.inboxsdk__compose_nativeTitleBarText{display:none!important}.inboxsdk__compose_customTitleBarText{width:calc(100% - 80px)}.inboxsdk__compose_hasCustomTitleBarText td.Hm{margin-right:10px;margin-left:auto}.inboxsdk__compose_statusBarPrependContainer{border-top:1px solid #cfcfcf}.inboxsdk__compose_statusBarPrependContainer+table td.gU{border-top:none}input.inboxsdk__x_close_button{background-color:transparent;background-image:url(" + ___CSS_LOADER_URL_REPLACEMENT_2___ + ");background-size:cover;background-repeat:no-repeat;background-position:center center;height:20px;width:20px;border:0;vertical-align:middle;cursor:pointer;float:right;margin:5px}.inboxsdk__gmail_label.inboxsdk__label_has_icon .au{display:inline-block;margin-left:14px}.inboxsdk__thread_row_label .inboxsdk__button_icon,.inboxsdk__thread_row_label .inboxsdk__button_iconImg{height:11px;width:11px}.inboxsdk__thread_row_label .inboxsdk__button_icon{display:inline-block;margin-top:3px;margin-left:4px;position:absolute}.inboxsdk__thread_row_button{outline:0;height:20px;width:20px;padding:0}.inboxsdk__thread_row_button .inboxsdk__button_icon{max-height:100%}.inboxsdk__thread_row_custom_date_container,.zA>.xY.inboxsdk__thread_row_attachment_icons_present{max-width:inherit}.inboxsdk__thread_row_button .inboxsdk__button_iconImg{height:20px;width:20px;margin-top:0}.inboxsdk__gmail_action{float:right;position:relative;background-color:gray;margin-left:1em;cursor:default;background-image:-webkit-linear-gradient(top,#e9e9e9,#e6e6e6);background-image:linear-gradient(top,#e9e9e9,#e6e6e6);border:1px solid rgb(0 0 0/10%);border-color:#ccc;color:#444;height:17px;line-height:17px;min-width:56px;border-radius:2px;font-size:11px;font-weight:700;text-align:center;white-space:nowrap;padding:0 18px 0 6px}.inboxsdk__gmail_action:focus{border:1px solid #4d90fe;outline:0}.inboxsdk__gmail_action:active{box-shadow:inset 0 1px 2px rgb(0 0 0/10%)}.inboxsdk__gmail_action:hover{box-shadow:0 1px 1px rgb(0 0 0/5%);background-color:#ededed;background-image:-webkit-linear-gradient(top,#ededed,#eaeaea);background-image:linear-gradient(top,#ededed,#eaeaea);border-color:#b8b8b8}.inboxsdk__gmail_action::after{content:\"\";position:absolute;right:5px;top:5px;margin-left:5px;background:no-repeat url(https://ssl.gstatic.com/mail/sprites/smartmail-561acb673be75c1d374881a95997fce4.png)-67px -100px;width:7px;height:7px;opacity:.55}.inboxsdk__thread_row_custom_date{margin-left:2px}span.inboxsdk__thread_row_custom_date+span:not(.inboxsdk__thread_row_custom_date){display:none}.inboxsdk__thread_row_attachment_iconWrapper{margin-left:3px;height:16px}.inboxsdk__thread_row_attachment_icon{margin-left:3px;width:16px;height:16px}.inboxsdk__thread_row_attachment_iconWrapper{display:flex;justify-content:center;align-items:center;width:max-content}.zA td.apU.xY{width:initial}.zA td.apU.xY span.inboxsdk__thread_row_button{margin:0 10px;opacity:.16}.zA.aqw td.apU.xY span.inboxsdk__thread_row_button{opacity:.54}.zA.aqw td.apU.xY span.inboxsdk__thread_row_button:hover{opacity:1}.zA td.apU.xY span.inboxsdk__thread_row_button::before{width:0;height:0}.inboxsdk__thread_row_attachment_icon{vertical-align:middle}.Zs .xY.inboxsdk__thread_row_attachment_icons_present{flex-grow:0}.Zs .xY.inboxsdk__thread_row_label{order:1}.Zs .xY.inboxsdk__thread_row_icon_wrapper{order:1;margin-left:3px;margin-right:0}.inboxsdk__thread_row_icon_wrapper .inboxsdk__button_icon,.inboxsdk__thread_row_icon_wrapper .inboxsdk__button_iconImg{height:18px;width:18px}.inboxsdk__thread_row_icon_wrapper{width:20px;margin-right:3px;align-self:center;height:20px;flex:0 0 auto}.inboxsdk__thread_row_icon_wrapper .inboxsdk__button_iconImg{vertical-align:top}.inboxsdk__thread_row_image_added .y6 .inboxsdk__thread_row_icon_wrapper~span[id]{margin-left:3px}.inboxsdk__thread_row_image_added .a4W,.inboxsdk__thread_row_image_added .apA,.inboxsdk__thread_row_image_added .apx{position:relative}[inboxsdk__message_added_attachment_icon] td.gH div.gK>span:first-child>img,[inboxsdk__message_added_attachment_icon] td.gH>span:first-child>img{margin-right:3px;margin-left:3px;margin-top:0}[inboxsdk__message_added_attachment_icon] td.gH div.gK>span:first-child>:last-child,[inboxsdk__message_added_attachment_icon] td.gH>span:first-child>:last-child{margin-right:6px}.inboxsdk__message_attachment_icon,.inboxsdk__message_attachment_iconWrapper{width:21px;height:21px;position:relative}.inboxsdk__message_attachment_iconWrapper{margin:auto 3px;display:inline-flex;justify-content:center;align-items:center;vertical-align:top}.inboxsdk__message_attachment_tooltipWrapper{position:absolute;top:19px;z-index:10}.gU .aWQ{max-height:3px}.aQw .inboxsdk__button_icon{display:inline-flex;align-items:center;justify-content:center;height:28px}.aQw .inboxsdk__button_iconImg{height:18px;width:18px;margin-top:2px}.aZi .asa .inboxsdk__button_iconImg{display:inline-block;vertical-align:middle;margin-top:-3px}.aZi .aZj .asa .inboxsdk__button_iconImg{margin:0}body .dw{z-index:6!important}.inboxsdk__compose_outerSidebar_wrapper{position:absolute;left:-401px;top:0;background:#fff;width:400px;bottom:0;border-left:1px solid silver;box-shadow:-2px 0 1px #e6e6e6;display:block}.inboxsdk__outerSidebarActive .aSt .inboxsdk__compose_outerSidebar_wrapper{border-left:0;box-shadow:none;left:-400px}.inboxsdk__outerSidebarActive .aSs>div{width:50%!important;margin-left:30%}.inboxsdk__compose_outerSidebar_header{background:#404040;font-size:80%;padding:10px 10px 11px;color:#fff;border-bottom:1px solid #c4c4c4}.inboxsdk__compose_outerSidebar_body{position:absolute;width:100%;bottom:43px;top:36px;left:-1px;overflow:auto}.inboxsdk__compose_outerSidebar_footer{position:absolute;bottom:0;width:100%;border-top:1px solid rgb(206 206 206);display:block}.inboxsdk__compose_innerSidebarActive .GQ,.inboxsdk__compose_innerSidebarActive form{padding-right:200px}div.inboxsdk__compose_statusbar{border:0;height:40px;margin:0}.inboxsdk__compose_statusbar{background:0 0;position:relative}.HM .I5 .inboxsdk__compose_statusbar{padding:0 16px 16px}table+.inboxsdk__compose_statusbar{margin-top:-8px}body.inboxsdk__classic_gmail_recipients_area .inboxsdk__compose_statusbarActive .aoI{height:auto!important}.inboxsdk__compose_statusbarActive .aDl{z-index:unset}.inboxsdk__compose .qz{max-height:inherit!important}body:not(.inboxsdk_hack_disableComposeSizeFixer) .inboxsdk__size_fixer .aDj.aDi{position:static!important}.inboxsdk__compose_inlineReply.inboxsdk__compose_statusbarActive .HM .I5{padding-bottom:var(--inboxsdk-total-added-statusbar-height, 0px)}.inboxsdk__compose_inlineReply.inboxsdk__compose_statusbarActive .aDj::before{height:calc(100% + var(--inboxsdk-total-added-statusbar-height, 0px))}.inboxsdk__compose_inlineReply.inboxsdk__compose_statusbarActive .aDj.aDi>.aDh{background-color:#fff}.inboxsdk__recipient_row{display:flex}.inboxsdk__compose_notice{background-color:#f5f5f5;border-radius:4px;margin:10px;padding:10px 16px}.inboxsdk__recipient_row td.ok{height:20px;padding:0!important}.inboxsdk__recipient_row td.az3{padding:0 3px}.inboxsdk__compose_forceRecipientsOpen .fX.aXjCH{display:block!important}.inboxsdk__compose_forceRecipientRowHidden,.inboxsdk__compose_forceRecipientsOpen .aoD.hl,.inboxsdk__compose_hideRecipientArea .aoD.hl,.inboxsdk__compose_hideRecipientArea .fX.aXjCH,[data-thread-toolbar=true] [data-rowlist-toolbar=true],[data-toolbar-expanded=false] [data-toolbar-expanded=true],[data-toolbar-expanded=true] [data-toolbar-expanded=false],[data-toolbar-icononly=true] .inboxsdk__button_text{display:none!important}[data-toolbar-icononly=false] .inboxsdk__button_text{color:#5f6368}[data-toolbar-icononly=false] .asa::before{border-radius:4px;border:0!important}[data-toolbar-icononly=false] .inboxsdk__button{align-items:center;border:0;display:inline-flex;justify-content:center;position:relative;z-index:0;-webkit-font-smoothing:antialiased;font-family:\"Google Sans\",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;letter-spacing:.15px;background:0 0;box-sizing:border-box;color:#5f6368;cursor:pointer;font-weight:500;outline:0;padding:0 8px}.inboxsdk__menuItem .inboxsdk__icon,.inboxsdk__menuItem img{height:16px;width:16px;margin-top:-1px}.inboxsdk__modal_overlay{right:0;bottom:0}.inboxsdk__modal_fullscreen{position:fixed;inset:0 0 0 0;z-index:503;display:flex;justify-content:center;align-items:center;padding:110px 50px 50px}.inboxsdk__modal_content{margin-top:30px;margin-bottom:30px}.inboxsdk__modal_fullscreen.inboxsdk__modal_content_no_buttons .inboxsdk__modal_content{margin-bottom:0}.inboxsdk__modal_fullscreen.inboxsdk__modal_content_no_buttons:not(.inboxsdk__modal_hideBottom) .inboxsdk__modal_content{margin-bottom:0;padding-bottom:24px}.inboxsdk__modal_close{outline:0;cursor:pointer}.inboxsdk__modal_fullscreen .inboxsdk__modal_container{position:relative;margin-top:-60px;width:auto;overflow:hidden}.inboxsdk__modal_fullscreen .inboxsdk__modal_container .inboxsdk__modal_toprow{margin-right:16px}.inboxsdk__modal_fullscreen.inboxsdk__modal_hideTop .inboxsdk__modal_close{display:none}.inboxsdk__modal_fullscreen.inboxsdk__modal_hideTop .inboxsdk__modal_container{padding-top:0}.inboxsdk__modal_fullscreen.inboxsdk__modal_hideTop .inboxsdk__modal_content{margin-top:0}.inboxsdk__modal_fullscreen.inboxsdk__modal_hideTop .Kj-JD-K7{margin:0;display:none}.inboxsdk__modal_fullscreen.inboxsdk__modal_hideSides .inboxsdk__modal_container,.inboxsdk__modal_fullscreen.inboxsdk__modal_hideSides .inboxsdk__modal_content{padding-left:0;padding-right:0}.inboxsdk__modal_fullscreen.inboxsdk__modal_hideBottom .inboxsdk__modal_content{margin-bottom:0}.inboxsdk__modal_fullscreen.inboxsdk__modal_hideBottom .inboxsdk__modal_container{padding-bottom:0}.inboxsdk__modal_toprow.inboxsdk__modal_toprow--constrain-title-width{display:flex}.inboxsdk__modal_toprow--constrain-title-width>span[role=heading]{flex:1;width:0;word-wrap:break-word}.inboxsdk__drawers_in_use .aDi,.inboxsdk__moles_in_use .aDi{left:auto!important;position:static}.inboxsdk__moles_in_use .nH>.nH>.no{white-space:nowrap}.inboxsdk__moles_in_use .nH>.nH>.no>*{white-space:initial}.inboxsdk__moles_in_use .nH>.nH>.no>.nn{display:inline-block;float:none}.inboxsdk__mole_view{position:relative;max-width:564px;height:100vh;vertical-align:top;display:inline-flex;align-items:flex-end}.inboxsdk__mole_view_inner{visibility:visible;box-sizing:border-box;margin-right:5px;box-shadow:rgb(0 0 0/20%)0 2px 6px;min-width:260px;min-height:40px}.inboxsdk__mole_view_inner:not(.inboxsdk__original_view),.inboxsdk__mole_view_titlebar:not(.inboxsdk__original_view){border-radius:8px 8px 0 0}.inboxsdk__mole_view_titlebar{position:absolute;left:0;right:5px;font-size:14px;font-weight:500;box-sizing:border-box;height:40px;cursor:pointer;padding:10px 12px 10px 16px;color:#041e49;background:#f2f6fc}.inboxsdk__mole_view_titlebar.inboxsdk__original_view{color:#fff;font-size:12.8px;font-weight:400;background:#404040;padding:9px 0 0 11px;border-radius:4px 4px 0 0}.inboxsdk__mole_view_titlebar h2{font-size:inherit;font-weight:inherit;margin:4px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inboxsdk__mole_title_buttons{white-space:nowrap;float:right;padding-right:5px;margin-top:1px}.inboxsdk__mole_title_buttons.inboxsdk__original_view{margin-top:-3px}.inboxsdk__mole_title_buttons>img{height:24px;width:24px;position:relative;top:2px;opacity:.6}.inboxsdk__mole_title_buttons:not(.inboxsdk__original_view)>img{height:16px;width:16px;margin-left:4px}.inboxsdk__mole_title_buttons:not(.inboxsdk__original_view)>img:hover{background-color:rgb(68 71 70/7.8%)}.inboxsdk__mole_title_buttons.inboxsdk__original_view>img:hover{background-color:#737373}.inboxsdk__mole_title_buttons>img:hover{opacity:1}.inboxsdk__mole_view.inboxsdk__minimized .Hl,.inboxsdk__mole_view.inboxsdk__minimized .inboxsdk__mole_view_content,.inboxsdk__mole_view.inboxsdk__minimized.inboxsdk__mole_use_minimize_title h2.inboxsdk__mole_default,.inboxsdk__mole_view:not(.inboxsdk__minimized) .Hk,.inboxsdk__mole_view:not(.inboxsdk__minimized) h2.inboxsdk__mole_minimized,.inboxsdk__mole_view:not(.inboxsdk__mole_use_minimize_title) h2.inboxsdk__mole_minimized{display:none}.inboxsdk__mole_view_content:not(.inboxsdk__original_view){margin-top:40px;border:0}.inboxsdk__mole_view_content{margin-top:36px;border:1px solid #cfcfcf;background:#fff;min-width:260px;min-height:20px;max-height:80vh}.inboxsdk__mole_view_chromeless .inboxsdk__mole_view_inner{min-width:0}.inboxsdk__mole_view_chromeless .inboxsdk__mole_view_content{margin-top:0;min-width:0}.inboxsdk__tab{width:30px}.inboxsdk__tab.inboxsdk__fQK2Ffccj51PVtC_ibDc:first-child:last-child{display:none}.inboxsdk__tab.inboxsdk__tab_selected{width:auto}table.aKk .inboxsdk__contentTabContainer .inboxsdk__tab .aAy[role=tab]{height:28px}.inboxsdk__tab_icon{width:30px;height:25px;background-position-x:5px;background-position-y:3px;background-size:16px;background-repeat:no-repeat}.inboxsdk__tab_icon img{height:16px;width:16px;margin-left:5px;margin-top:3px}.inboxsdk__tab .aKx{top:4px}.inboxsdk__sidebar div[role=complementary]{position:static!important}.inboxsdk__sidebar>div.y4,.inboxsdk__lmkPHCz841PzU2vywMZI>div.y4{display:none}table.aKk .inboxsdk__contentTabContainer .inboxsdk__tab:first-child .aAy[role=tab]{border-left-width:1px}.inboxsdk__sidebar .inboxsdk__contentPanelContainer{font:12px Arial,sans-serif;max-width:220px}.inboxsdk__contentPanelContainer_contentContainer{overflow:hidden;margin-bottom:10px;border-bottom:1px solid #d8d8d8}body.inboxsdk__hasTopMessageBar .bq9{top:var(--inboxsdk__topMessageBar-height)}.inboxsdk__lmkPHCz841PzU2vywMZI>div[role=complementary]{position:static!important;width:216px!important}.inboxsdk__lmkPHCz841PzU2vywMZI{will-change:position}.inboxsdk__RRnCd87hoA2uHeC1Z_FE{background:#fff}.inboxsdk__ZsVjiThsnbCmCG_X1Vvn{padding:4px 0 12px}.inboxsdk__L1YTilBb_3NY6uyjljIg.inboxsdk__fQK2Ffccj51PVtC_ibDc .inboxsdk__ZsVjiThsnbCmCG_X1Vvn{padding-top:0}.container_app_sidebar_in_use.no,.inboxsdk__IpDkQtEZuh257muFXot6.no{display:flex;flex-direction:row;width:100%}body[dir=rtl] .container_app_sidebar_in_use.no[dir=ltr],body[dir=rtl] .idm5_container_app_sidebar_no_icons.no[dir=ltr]{flex-direction:row-reverse}.container_app_sidebar_in_use.no .G-atb.inboxsdk__thread_toolbar_parent[gh=tm]{margin-right:-57px!important}.container_addon_sidebar_visible.container_app_sidebar_in_use.no .G-atb.inboxsdk__thread_toolbar_parent[gh=tm],.container_app_sidebar_visible.container_app_sidebar_in_use.no .G-atb.inboxsdk__thread_toolbar_parent[gh=tm]{margin-right:-321px!important}.inboxsdk__IpDkQtEZuh257muFXot6 .G-atb.inboxsdk__thread_toolbar_parent[gh=tm]{margin-right:0!important}.inboxsdk__button.ar7{pointer-events:all!important}.container_app_sidebar_in_use .bkK.nn,.inboxsdk__IpDkQtEZuh257muFXot6 .bkK.nn{width:auto!important;flex:1;min-width:0}.inboxsdk__IpDkQtEZuh257muFXot6 .bnl.nn{z-index:-1;position:absolute}.container_app_sidebar_in_use .inboxsdk__lmkPHCz841PzU2vywMZI{min-width:57px!important;flex-shrink:0}.container_app_sidebar_in_use .inboxsdk__lmkPHCz841PzU2vywMZI.app_sidebar_visible{min-width:321px!important}.container_app_sidebar_in_use .inboxsdk__lmkPHCz841PzU2vywMZI>.J-KU-Jg{display:block!important}.container_app_sidebar_in_use .inboxsdk__lmkPHCz841PzU2vywMZI .inboxsdk__jQiSbhX57v1JCl6fIbdb{display:none}.container_app_sidebar_in_use .inboxsdk__lmkPHCz841PzU2vywMZI.app_sidebar_visible .inboxsdk__jQiSbhX57v1JCl6fIbdb{display:block;float:left;height:100%;border-left:1px solid #e0e0e0;padding-left:16px;width:calc(100% - 74px);overflow:auto}.container_app_sidebar_in_use .inboxsdk__jQiSbhX57v1JCl6fIbdb .inboxsdk__ZsVjiThsnbCmCG_X1Vvn{width:calc(100% - 16px);padding-right:16px}.container_app_sidebar_in_use .inboxsdk__lmkPHCz841PzU2vywMZI.app_sidebar_visible .J-KU-Jz{width:auto;padding-right:50px}.inboxsdk__z3cCBtGXYneog44Vf16J .inboxsdk__button_icon{margin:18px 18px 10px;border:0;background:0 0;height:20px;width:20px;overflow:hidden;padding:0;cursor:pointer;position:relative}.inboxsdk__z3cCBtGXYneog44Vf16J.sidebar_global_iconArea .inboxsdk__button_icon{margin-bottom:18px}body .inboxsdk__z3cCBtGXYneog44Vf16J .inboxsdk__button_icon{overflow:visible}.inboxsdk__z3cCBtGXYneog44Vf16J .inboxsdk__button_icon:hover::before,.inboxsdk__z3cCBtGXYneog44Vf16J .sidebar_button_container_active .inboxsdk__button_icon::before{content:\"\";background:#f1f3f4;position:absolute;inset:-10px -10px -10px -10px;border-radius:50%;z-index:0}.inboxsdk__z3cCBtGXYneog44Vf16J .sidebar_button_container_active .inboxsdk__button_icon::before{background:#e8eaed}.inboxsdk__z3cCBtGXYneog44Vf16J .inboxsdk__button_iconImg{width:20px;height:20px;margin-top:0}.inboxsdk__z3cCBtGXYneog44Vf16J .inboxsdk__button_icon .inboxsdk__button_iconImg{position:absolute;left:0;top:0;z-index:1}.inboxsdk__z3cCBtGXYneog44Vf16J .sidebar_button_container_active .inboxsdk__button_selectedIndicator{height:40px;width:4px;position:absolute;right:0;bottom:0;background-color:rgb(66 133 244);border-radius:3px 0 0 3px}.inboxsdk__z3cCBtGXYneog44Vf16J.sidebar_global_iconArea .sidebar_button_container_active .inboxsdk__button_selectedIndicator{bottom:8px}.brC-brG.companion_app_sidebar_visible{display:block!important}.bq9:not(.brC-brG).companion_app_sidebar_wrapper_visible{display:block!important}.companion_global_app_sidebar_visible .thread_app_sidebar{display:none}.companion_app_sidebar_visible:not(.companion_global_app_sidebar_visible) .global_app_sidebar,body.inboxsdk__custom_view_active .brC-aT5-aOt-ato-Kp-Jw [role=tablist]>div:not(:last-child){display:none}.nH.companion_container_app_sidebar_visible{width:calc(100% - 300px)!important}.companion_app_sidebar_visible .addon_sidebar~div:not(.addon_sidebar){display:none!important}.inboxsdk__lmkPHCz841PzU2vywMZI .inboxsdk__jQiSbhX57v1JCl6fIbdb.addon_sidebar{height:100%;overflow:auto}.inboxsdk__lmkPHCz841PzU2vywMZI .inboxsdk__jQiSbhX57v1JCl6fIbdb.addon_sidebar .inboxsdk__ZsVjiThsnbCmCG_X1Vvn{width:100%}.inboxsdk__lmkPHCz841PzU2vywMZI:not(.companion_app_sidebar_visible) .addon_sidebar{display:none}.inboxsdk__TFQRFr4aJVmDmx2llTVx{margin-left:0}.inboxsdk__RRnCd87hoA2uHeC1Z_FE .inboxsdk__iYzl6PjYB9v7KGQNbONH{padding:0 16px}.inboxsdk__lmkPHCz841PzU2vywMZI .bvq,.inboxsdk__lmkPHCz841PzU2vywMZI .bvq>div:last-child{display:block!important}.inboxsdk__cnd4jAy3zFUYdR_NdMxT .bvq>div:first-child{display:none!important}.inboxsdk__custom_view_element{overflow:auto}.inboxsdk__hide_native_marker .ain:not(.inboxsdk__navItem){border-left-color:transparent}.inboxsdk__hide_native_marker .ain:not(.inboxsdk__navItem) .bsU,.inboxsdk__hide_native_marker .ain:not(.inboxsdk__navItem) .nU:not(.n1) .n0{font-weight:400}.inboxsdk__hide_native_marker .ain:not(.inboxsdk__navItem) .TO{background:0 0}.inboxsdk__hide_addon_container{display:flex!important;flex-direction:row;width:100%!important}body[dir=rtl] .inboxsdk__hide_addon_container[dir=ltr]{flex-direction:row-reverse}.inboxsdk__hide_addon_container>.bkK.nn{width:auto!important;flex:1;min-width:0}.inboxsdk__hide_addon_container>.bnl.nn,.inboxsdk__navItem>.TO img.afM.afO~.aio>.bsU{display:none}.inboxsdk__navItem{font-size:14px}.inboxsdk__navItem:not(.Xr)>.V3[style]{flex-grow:0!important}.inboxsdk__navItem>.TO.n4{display:block;padding-left:0}.inboxsdk__collapsiblePanel .inboxsdk__navItem>.TO .TN.aik{padding-left:18px}.inboxsdk__collapsiblePanel .inboxsdk__navItem>.TO .qj{margin-right:14px}.inboxsdk__navItem>.TO.n4 .qj>.G-asx{margin-right:0}.inboxsdk__navItem>.TO .aio>.bsU:empty{display:none}.inboxsdk__navItem>.TO .qj:empty::after{background-color:rgb(118 118 118);border-radius:50%;content:\"\";height:18px;margin-left:1px;width:18px}.inboxsdk__navItem>.TO .qj[style*=border-color]:empty::after{border-color:inherit}.inboxsdk__navItem>.TO:hover .pM{display:flex;visibility:visible}.inboxsdk__navItem>.TO .afM{cursor:pointer}.inboxsdk__navItem>.TO img.afM.afO,.inboxsdk__navItem>.TO:hover .afM{display:block;visibility:visible}.inboxsdk__collapsiblePanel_loading_container,.inboxsdk__navItem>.TO:hover .bsU{display:none}.inboxsdk__navItem.inboxsdk__navItem_nonClickable>.TO:active{background-color:initial}.inboxsdk__navItem_hover .aj0,.inboxsdk__navItem_hover .p8{visibility:visible}.inboxsdk__appMenuItem .CL.V6::before,.inboxsdk__collapsiblePanel .T-I.T-I-KE.L3::before{background-image:var(--background-image)}.inboxsdk__collapsiblePanel.apV.aJu .T-I.T-I-KE.L3::before{background-image:var(--background-image--hover)}.inboxsdk__appMenuItem.apV .CL.V6::before{background-image:var(--background-image--active)}.inboxsdk__collapsiblePanel .T-I.T-I-KE.L3::before{background-size:24px}.inboxsdk__collapsiblePanel_loading_container.inboxsdk__collapsiblePanel_loading_container--active,.inboxsdk__shortcutHelp_table table.cf,.inboxsdk__shortcutHelp_table tbody tbody,table[role=presentation].inboxsdk__thread_view_with_custom_view>tr{display:block}.inboxsdk__navItem_link{cursor:pointer;margin-left:auto}.inboxsdk__navItem_link>a{margin-left:16px}.inboxsdk__navItem>.TO .inboxsdk__button{margin-right:0}[dir=rtl] .inboxsdk__navItem_link{left:-4px;right:initial}.inboxsdk__navItem_container .aio .inboxsdk__button{position:absolute;top:0;right:-30px}.inboxsdk__navItem_marker{position:absolute;left:0;padding-bottom:2px}.inboxsdk__expando{z-index:1}.aip .CK,.inboxsdk__navItem_link>a{color:#15c}.aip .CK:hover,.inboxsdk__navItem_link>a:hover{text-decoration:underline}.inboxsdk__navItem_container .aio.aip{white-space:nowrap}.WR[role=navigation] .inboxsdk__navItem .Yh:not(.inboxsdk__navItem_parent_accessory_button):empty{display:none}.WR[role=navigation] .inboxsdk__navItem .Yh:not(.inboxsdk__navItem_parent_accessory_button){background:0 0}.WR[role=navigation] .inboxsdk__navItem .Yh .inboxsdk__button_icon{display:none}.WR[role=navigation].bhZ:not(.bym) .inboxsdk__navItem .Yh{opacity:1}.WR[role=navigation].bhZ:not(.bym) .inboxsdk__navItem .Yh.inboxsdk__navItem_parent_accessory_button{background-image:none!important}.WR[role=navigation].bhZ:not(.bym) .inboxsdk__navItem .Yh:empty{background-color:rgb(32 33 36/71%);border-radius:50%;display:inherit;height:18px;margin-left:1px;width:18px}.WR[role=navigation].bhZ:not(.bym) .inboxsdk__navItem .Yh .inboxsdk__button_icon{display:inherit}.inboxsdk__custom_sections{margin-bottom:8px}.inboxsdk__custom_sections.Wc{padding:0;margin-bottom:0}.inboxsdk__resultsSection.inboxsdk__resultsSection_nonCollapsible .inboxsdk__resultsSection_title .Wp{visibility:hidden}.inboxsdk__custom_sections .Wg,.inboxsdk__custom_sections.Wc .inboxsdk__resultsSection{padding-top:0}.inboxsdk__custom_sections.Wc .Wg{border-bottom:0;padding:0}.inboxsdk__results_collapsedContainer.Wg{height:auto}.inboxsdk__results_collapsedContainer>div{display:flex;flex-wrap:wrap;flex:1 0 100%}.inboxsdk__results_collapsedContainer>div>.inboxsdk__resultsSection_collapsed:first-child:last-child{flex:1;margin-right:0}.inboxsdk__results_collapsedContainer>div>.inboxsdk__resultsSection_collapsed:first-child:last-child>.inboxsdk__resultsSection_header{display:flex;align-items:center;flex:1}.inboxsdk__results_collapsedContainer>div>.inboxsdk__resultsSection_collapsed:first-child:last-child>.inboxsdk__resultsSection_header>.Cr{display:flex;align-items:center;margin-left:auto}.inboxsdk__resultsSection.inboxsdk__resultsSection_collapsed{display:inline-block;margin-right:20px;display:inline-flex}.Wc .inboxsdk__resultsSection.inboxsdk__resultsSection_collapsed{margin-right:0}.inboxsdk__resultsSection_collapsed .Cr{display:none}.inboxsdk__resultsSection_title{white-space:nowrap;cursor:pointer;display:inline-block;display:flex;align-items:center;height:48px}.Wc .inboxsdk__resultsSection_title{padding:3px 0 3px 8px}.inboxsdk__resultsSection_header{min-height:48px;line-height:48px}.inboxsdk__resultsSection_header_summaryText.Wm:last-child .amH{padding-right:0;margin-right:0}.inboxsdk__custom_sections.Wc .inboxsdk__resultsSection_header_summaryText:last-child{margin-right:11px}.inboxsdk__custom_sections.Wc .J-JN-M-I{margin-right:13px}.inboxsdk__resultsSection .TB.TC{text-align:center}.inboxsdk__resultsSection .inboxsdk__resultsSection_loading{font-style:italic}.inboxsdk__resultsSection .inboxsdk__resultsSection_result_icon{height:15px;width:15px}.inboxsdk__resultsSection_label_iconHtml,.inboxsdk__resultsSection_result_iconHtml{display:flex;justify-content:center;align-items:center}.inboxsdk__resultsSection .inboxsdk__resultsSection_tableRow.zA:hover>.xW{display:flex}.inboxsdk__resultsSection .inboxsdk__resultsSection_tableRow.zA>.xW{max-width:none;flex-basis:auto}.inboxsdk__resultsSection .inboxsdk__resultsSection_tableRow .xT{align-items:center}.inboxsdk__resultsSection .xX{width:20ex}.inboxsdk__resultsSection tr .xW>span,.inboxsdk__resultsSection_result_title span{overflow:hidden;display:block;text-overflow:ellipsis}.inboxsdk__resultsSection .V3{overflow:hidden;white-space:nowrap}.inboxsdk__resultsSection .at{position:relative}.inboxsdk__thread_row_label{flex-shrink:0;align-self:flex-end}.apv .inboxsdk__thread_row_label{align-self:flex-start}.inboxsdk__resultsSection_label_icon{height:11px;width:11px;position:absolute;top:2px;margin-left:4px;margin-top:1px}.inboxsdk__resultsSection .av,.inboxsdk__thread_row_label .av{overflow:hidden;text-overflow:ellipsis}.inboxsdk__resultsSection_label_icon+.av,.inboxsdk__thread_row_label .inboxsdk__button_icon+.av{margin-left:16px}.Wc .inboxsdk__resultsSection_footer{padding:3px 3px 3px 8px}.inboxsdk__tooltip .T-P{box-shadow:0 1px 3px rgb(0 0 0/20%);background-color:#fff;border:1px solid;border-color:#bbb #bbb #a8a8a8;padding:16px;z-index:1201!important}.inboxdk__tooltip_content.inboxsdk__tooltip .aRM,.inboxsdk__tooltip.inboxdk__tooltip_content .T-P,.inboxsdk__tooltip.inboxsdk__appButton_tooltip .T-P{padding:0}.inboxsdk__tooltip .aRM{outline:0;padding:13px 10px 16px;text-align:center;font:16px arial,sans-serif}.inboxsdk__tooltip .aRR{color:#333;font-size:18px;margin-top:13px}.inboxsdk__tooltip .aRQ{color:#777;font-size:13px;margin:3px 0 14px}.inboxsdk__tooltip{position:fixed;z-index:1300;transition:left 200ms ease,top 200ms ease}.inboxsdk__tooltip .T-P{position:relative;width:auto;max-width:500px}.inboxsdk__tooltip .inboxsdk__tooltip_arrow{position:fixed;z-index:1400;margin-top:-1px;transition:left 200ms ease,top 200ms ease}.inboxsdk__tooltip .inboxsdk__tooltip_close{user-select:none}.inboxsdk__tooltip .inboxsdk__button{margin-right:0}.inboxsdk__tooltip .inboxsdk__tooltip_image{max-height:300px;max-width:500px;overflow:hidden;height:auto}.inboxsdk__tooltip .inboxsdk__tooltip_image>img{max-height:300px;max-width:500px}.inboxsdk__attachmentCard img.aQG.aYB{max-width:178px;min-width:178px;min-height:118px}.inboxsdk__attachmentCard img.aZG.aYw{background:0 0}.aQw>.T-I.J-J5-Ji.L3{margin-top:5px}table.cf.wd.inboxsdk__shortcutHelp_table{margin-bottom:15px}.inboxsdk__shortcutHelp_table td.Dn{display:inline-block;width:50%}.inboxsdk__shortcutHelp_table tbody tbody tr{display:block;white-space:nowrap}.inboxsdk__shortcutHelp_table td.wg.Dn{display:inline-block;width:45%}.inboxsdk__shortcutHelp_table span.wb{margin-left:3px}.inboxsdk__shortcutHelp_table td.we.Dn{width:60%;white-space:normal}.inboxsdk__shortcutHelp_title img.inboxsdk__icon{height:21px;width:21px;vertical-align:middle;margin-right:10px;border-radius:4px}.asor.inboxsdk__custom_suggestion,.inboxsdk__custom_suggestion_iconHTML{display:flex;justify-content:center;align-items:center}.inboxsdk__custom_suggestion img{max-width:32px;max-height:32px}.inboxsdk__custom_suggestion_iconHTML{position:absolute;left:8px;height:32px;width:43px}.gstq_d .inboxsdk__custom_suggestion_iconHTML{margin-top:-8px}.inboxsdk__appButton{margin-right:8px}.inboxsdk__appButton+.inboxsdk__appButton{margin-left:16px}.inboxsdk__appButton.inboxsdk__appButton_noGPlus{margin-right:0}.inboxsdk__appButton .inboxsdk__button_icon{margin-right:5px;position:relative}.inboxsdk__appButton a{color:#404040;text-decoration:none;line-height:24px}.inboxsdk__appButton.inboxsdk__appButton_noGPlus a{line-height:30px}.inboxsdk__appButton a:hover{text-decoration:underline;color:#000}.inboxsdk__gmail_dark_theme .inboxsdk__appButton a{color:#eee}.inboxsdk__gmail_dark_theme .inboxsdk__appButton a:hover{color:#fff}.inboxsdk__appButton_tooltip{outline:0;transition:none;animation:gb__a .2s}.inboxsdk__appButton_tooltip .inboxsdk__tooltip_close,.inboxsdk__searchIsNarrow .streak__appToolbarButton_title{display:none}.inboxsdk__tooltip.inboxsdk__appButton_tooltip .aRM{padding:0;white-space:initial;text-align:center;font:16px arial,sans-serif}.inboxsdk__tooltip.inboxsdk__appButton_tooltip .inboxsdk__tooltip_arrow{transform-origin:top;transform:rotateZ(180deg);margin-top:9px}.inboxsdk__custom_message_view{display:flex;padding-top:20px;padding-bottom:20px;border-top:1px solid #efefef;border-collapse:collapse}.inboxsdk__custom_message_view_hidden{display:none}.h7.ie+.inboxsdk__custom_message_view{margin-top:5px}.kQ+.inboxsdk__custom_message_view,.kx+.inboxsdk__custom_message_view{margin-top:1px}.inboxsdk__custom_message_view.inboxsdk__custom_message_view_collapsed{cursor:pointer}.inboxsdk__custom_message_view .inboxsdk__custom_message_view_icon{padding-left:16px;padding-right:16px;flex-shrink:0}.inboxsdk__custom_message_view .inboxsdk__custom_message_view_icon img{height:32px;width:32px;border-radius:50%}.inboxsdk__custom_message_view .inboxsdk__custom_message_view_content{width:100%;min-width:0}.inboxsdk__custom_message_view .inboxsdk__custom_message_view_header{cursor:pointer}.inboxsdk__custom_message_view_app_notice_content{position:relative;z-index:1;align-items:center;display:flex;font-size:.75rem!important;justify-content:flex-start;margin-left:0;padding:0;top:0}.adx.inboxsdk__custom_message_view_app_notice_container.inboxsdk__custom_message_view_app_notice_container{position:relative;width:auto!important;min-width:32px}.adx.inboxsdk__custom_message_view_app_notice_container.inboxsdk__custom_message_view_app_notice_container:hover::before{content:none!important}.adx.inboxsdk__custom_message_view_app_notice_container.inboxsdk__custom_message_view_app_notice_container>span:first-child{display:none}.inboxsdk__custom_message_view_app_notice_container::before{position:absolute}.inboxsdk__custom_message_view_app_notice_content>*{color:#555}table[role=presentation].inboxsdk__thread_view_with_custom_view{table-layout:fixed}.inboxsdk__butterbar.inboxsdk__butterbar_error{background-color:#c53929!important}.inboxsdk__butterbar.inboxsdk__butterbar_error [role=button]{color:#fff}.inboxsdk__butterbar.inboxsdk__butterbar_error [role=button]::before{background:rgb(255 255 255/8%)}.inboxsdk__support_menuItem:hover{background-color:#eee;outline:1px dashed transparent}.inboxsdk__compose_addressList{display:flex!important}.inboxsdk__linkPopOver_section_container{position:absolute;width:100%;top:35px;left:0}.inboxsdk__linkPopOver_section{width:100%;background:#fff;border:1px solid;border-color:#bbb #bbb #a8a8a8;font:13px arial,sans-serif;padding:5px 8px;margin-bottom:5px;box-sizing:border-box;box-shadow:0 1px 3px rgb(0 0 0/20%)}.T-I.J-J5-Ji.T-I-ax7.inboxsdk__button .asa::after{width:auto}", ""]);
32498
+ ___CSS_LOADER_EXPORT___.push([module.id, ".inboxsdk__notransition{transition:none!important}.inboxsdk__close_button{height:24px;width:24px;opacity:.7;position:relative;background:0 0;border:0;padding:0;box-sizing:content-box;outline:0;cursor:pointer}.inboxsdk__close_button:focus,.inboxsdk__close_button:hover{opacity:1}.inboxsdk__close_button:focus::before{background-color:rgb(0 0 0/12%)}.inboxsdk__close_button::before{border-radius:50%;position:absolute;inset:-4px -4px -4px -4px;padding:4px;content:\" \"}.inboxsdk__close_button::after{content:\" \";background:url(https://www.gstatic.com/images/icons/material/system/1x/close_black_24dp.png);position:absolute;height:24px;width:24px;top:0;left:0}@media (min-resolution:192dpi){.inboxsdk__close_button::after{background:url(https://www.gstatic.com/images/icons/material/system/2x/close_black_24dp.png);background-size:contain}}.inboxsdk__nJrOYb9x4IUalKhkqH70{display:none}.inboxsdk__drawer_view_container{visibility:visible;direction:initial;position:fixed;height:100vh;width:100vw;bottom:0;left:0;z-index:51;pointer-events:none}.inboxsdk__drawer_view{position:absolute;pointer-events:auto;top:0;bottom:0;right:0;width:452px;font:13px\"Helvetica Neue\",Helvetica,Arial,sans-serif;display:flex;flex-direction:column;background-color:#fff;outline:0;box-shadow:0 0 8px rgb(0 0 0/18%),0 8px 16px rgb(0 0 0/36%);transform:translateX(100%);transition:transform 150ms cubic-bezier(.4,0,.2,1)}.inboxsdk__drawer_view.inboxsdk__match_sidebar_content_panel_width{width:300px}.inboxsdk__drawer_view.inboxsdk__active{transform:none}.inboxsdk__drawer_title_bar{background-color:#f5f5f5;border-bottom:1px solid #e0e0e0;padding:16px 20px;white-space:nowrap;display:flex;flex:0 0 auto}.inboxsdk__drawer_title_bar .inboxsdk__close_button{margin-right:20px;flex-shrink:0}.inboxsdk__drawer_title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:20px/24px\"Helvetica Neue\",Helvetica,Arial,sans-serif}.inboxsdk__inbox_backdrop{visibility:visible;position:fixed;height:100vh;width:100vw;bottom:0;left:0;z-index:50;background-color:transparent;transition:background-color 150ms cubic-bezier(.4,0,1,1)}.inboxsdk__inbox_backdrop.inboxsdk__active{background-color:rgb(10 10 10/60%);transition:background-color 70ms cubic-bezier(0,0,.2,1)}.inboxsdk__inbox_backdrop~.inboxsdk__inbox_backdrop{opacity:.6}.inboxsdk__YVRXKNcaUvgm8xbnhvbA{display:flex;flex-direction:column}.inboxsdk__L1YTilBb_3NY6uyjljIg>.inboxsdk__close_button{position:absolute;bottom:10px;right:20px}.inboxsdk__ZsVjiThsnbCmCG_X1Vvn{width:216px}.inboxsdk__RRnCd87hoA2uHeC1Z_FE{overflow:hidden;font:12px Arial,sans-serif;max-height:100%;box-sizing:border-box}.inboxsdk__iYzl6PjYB9v7KGQNbONH{white-space:nowrap;display:flex;user-select:none;cursor:default}.inboxsdk__RRnCd87hoA2uHeC1Z_FE:not(.inboxsdk__o9YcckDJql686JS0n2cc) .inboxsdk__iYzl6PjYB9v7KGQNbONH{border-bottom:1px solid #ddd}.inboxsdk__RRnCd87hoA2uHeC1Z_FE.inboxsdk__XdCPRDkO7zSIv6nU4USH .inboxsdk__iYzl6PjYB9v7KGQNbONH,.inboxsdk__RRnCd87hoA2uHeC1Z_FE.inboxsdk__vTsoFgWgM9ldKGsRJYHd .inboxsdk__iYzl6PjYB9v7KGQNbONH:hover{background:rgb(0 0 0/3%)}.inboxsdk__lD1h9YUibxcHdtWGdiWq{min-width:0;overflow:hidden;text-overflow:ellipsis}.inboxsdk__RRnCd87hoA2uHeC1Z_FE.inboxsdk__vTsoFgWgM9ldKGsRJYHd .inboxsdk__lD1h9YUibxcHdtWGdiWq{cursor:move}.inboxsdk__p_cMIiZvN4vwQdGOpCts{padding-left:6px;vertical-align:middle;font:700 13px/40px\"Helvetica Neue\",Helvetica,Arial,sans-serif;color:rgb(0 0 0/87%)}.inboxsdk__L1YTilBb_3NY6uyjljIg.inboxsdk__fQK2Ffccj51PVtC_ibDc .inboxsdk__iYzl6PjYB9v7KGQNbONH{display:none}.inboxsdk__RRnCd87hoA2uHeC1Z_FE.inboxsdk__vTsoFgWgM9ldKGsRJYHd .inboxsdk__iYzl6PjYB9v7KGQNbONH:hover .inboxsdk__KudoZ1EBFoQsddbSavvj{position:absolute;top:0;left:0;width:10px;height:40px;background:url(" + ___CSS_LOADER_URL_REPLACEMENT_0___ + ")50%center no-repeat}.inboxsdk__TFQRFr4aJVmDmx2llTVx{width:20px;height:20px;vertical-align:middle;display:inline-flex;justify-content:center;align-items:center;margin-top:-1px}.inboxsdk__Yzt2_upvw7fe6BjWdlhZ,.inboxsdk__Yzt2_upvw7fe6BjWdlhZ>img{width:13px;height:13px}.inboxsdk__M4Frio2Us0lwSTltblkg{flex:1;text-align:right;visibility:hidden}.inboxsdk__RRnCd87hoA2uHeC1Z_FE.inboxsdk__vTsoFgWgM9ldKGsRJYHd .inboxsdk__M4Frio2Us0lwSTltblkg{visibility:visible;cursor:pointer}.inboxsdk__Nr6Udyn2ocUynKpdfxh1{margin-top:12px;margin-right:4px;background:url(" + ___CSS_LOADER_URL_REPLACEMENT_1___ + ")center/20px no-repeat;border:0;width:14px;height:14px;transform:rotate(-90deg);transition:-webkit-transform .15s,transform .15s;outline:0;opacity:.6;cursor:pointer}.inboxsdk__RRnCd87hoA2uHeC1Z_FE.inboxsdk__XdCPRDkO7zSIv6nU4USH .inboxsdk__iYzl6PjYB9v7KGQNbONH .inboxsdk__Nr6Udyn2ocUynKpdfxh1,.inboxsdk__iYzl6PjYB9v7KGQNbONH:hover .inboxsdk__Nr6Udyn2ocUynKpdfxh1{opacity:.9}.inboxsdk__RRnCd87hoA2uHeC1Z_FE.inboxsdk__o9YcckDJql686JS0n2cc .inboxsdk__Nr6Udyn2ocUynKpdfxh1{transform:rotate(0)}.inboxsdk__QsikHKWmzD0Ovsg3wrIw{margin-bottom:25px}.inboxsdk__z3cCBtGXYneog44Vf16J .inboxsdk__ARG5bpD2vntIyElH978u{position:relative}.inboxsdk__z3cCBtGXYneog44Vf16J .inboxsdk__button_icon:focus,.inboxsdk__z3cCBtGXYneog44Vf16J .inboxsdk__button_icon:hover{outline:0}.inboxsdk__appid_warning{margin:0;padding:9px;color:#4b4b4b;background:#ff6c6c;font-size:10pt}.inboxsdk__appid_warning_main,a.inboxsdk__appid_register{display:inline-block;vertical-align:middle}.inboxsdk__appid_warning .topline{font-weight:700;font-size:11pt}a.inboxsdk__appid_register{color:#fff;background:#1989ff;border-radius:3px;text-decoration:none;box-shadow:0 0 5px rgb(0 0 0/30%);padding:7px;font-size:10pt;margin-left:1em}.inboxsdk__thread_row_icon_wrapper{display:inline-block}.inboxsdk__thread_row_icon_wrapper .inboxsdk__button_iconImg{margin-top:0}.inboxsdk__QbxpXL1mja3SlO_1nJOS{background:#f8ebc0;margin-bottom:10px;padding:12px 4px 6px 12px}.inboxsdk__suggestions_separator_before{padding-bottom:2px!important}.inboxsdk__suggestions_separator_after{border-top:1px solid #e5e5e5;padding-top:2px!important}div.T-I.inboxsdk__button{user-select:none;min-width:27px}.inboxsdk__no_bg{background:0 0}.inboxsdk__button.inboxsdk__button_disabled{opacity:.55}.inboxsdk__button_icon+.inboxsdk__button_text{margin-left:5px}.inboxsdk__button_icon{display:inline-block}.inboxsdk__button_iconImg{height:20px;width:20px;vertical-align:middle;margin-top:-2px;user-drag:none;user-select:none;-webkit-user-drag:none}.inboxsdk__button_green_hover,.inboxsdk__button_green_inactive{background-image:-webkit-linear-gradient(top,transparent,transparent);background-image:linear-gradient(top,transparent,transparent);border:1px solid transparent;text-shadow:none}.inboxsdk__button_green_inactive{box-shadow:0 1px 0 rgb(0 0 0/5%);background-color:#53a93f;color:#fff}.inboxsdk__button_green_hover{box-shadow:inset 0-1px 0#4c8534;background-color:#65b045;border-bottom:1px solid #4c8534}.inboxsdk__button_green_active{box-shadow:inset 0 1px 0#2f6124;background:#3e802f;border:1px solid transparent;border-top:1px solid #2f6124;color:#fff;text-shadow:none}.inboxsdk__menu{min-width:1em;min-height:1em;padding:0;overflow:visible;max-height:none;z-index:7;cursor:default;font-size:13px;margin:0;outline:0}.inboxsdk__menu>.inboxsdk__menuContent{padding:0;box-shadow:0 8px 10px 1px rgb(0 0 0/14%),0 3px 14px 2px rgb(0 0 0/12%),0 5px 5px -3px rgb(0 0 0/20%);transition:opacity .218s;border:1px solid rgb(0 0 0/20%);background:#fff;outline:0}.f4.J-N-JX.inboxsdk__message_more_icon{height:16px;margin-top:1px;width:16px}.dw .nH>.no .nH.nn:last-child[style*=\"width: 310px;\"],body:has(.companion_app_sidebar_visible) .dw .nH>.no .nH.nn:last-child{width:366px!important}.inboxsdk__composeButton{height:20px;width:20px;padding:4px}.inboxsdk__composeButton,.inboxsdk__compose_sendButton{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;outline:0;position:relative}.inboxsdk__composeButton+.inboxsdk__composeButton{margin-left:4px}.inboxsdk__composeButton .inboxsdk__button_icon{opacity:.55}.inboxsdk__composeButton.inboxsdk__composeButton_active .inboxsdk__button_icon,.inboxsdk__composeButton:focus .inboxsdk__button_icon,.inboxsdk__composeButton:hover .inboxsdk__button_icon{opacity:1}.inboxsdk__composeButton::before{content:\"\";display:block;opacity:0;position:absolute;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1);inset:0 0 0 0;background:0 0;box-sizing:border-box;transform:scale(0);transition-property:transform,opacity;border-radius:4px}.inboxsdk__composeButton:hover::before{background-color:rgb(32 33 36/5.9%);border:0;box-shadow:none;opacity:1;transform:scale(1)}.inboxsdk__composeButton.inboxsdk__composeButton_active::before,.inboxsdk__composeButton:focus::before{background-color:rgb(32 33 36/12.2%);border:0;box-shadow:none;opacity:1;transform:scale(1)}.inboxsdk__compose_actionToolbar .inboxsdk__compose_groupedActionToolbar div.inboxsdk__composeButton:last-child{margin-right:0}.inboxsdk__compose_sendButton{background-color:#1a73e8;color:#fff;height:24px;width:auto;border-radius:4px;padding:6px 4px;margin-left:2px}.inboxsdk__compose_inlineReply .inboxsdk__compose_sendButton{height:24px}.inboxsdk__compose_sendButton.inboxsdk__composeButton_active,.inboxsdk__compose_sendButton:focus{background-color:#5094ed;box-shadow:0 1px 1px 0 rgb(66 133 244/30%),0 1px 3px 1px rgb(66 133 244/15%);border:0}.T-I~.inboxsdk__compose_sendButton{margin-left:-6px}.inboxsdk__compose_actionToolbar{white-space:nowrap;padding-left:6px}.inboxsdk__compose_actionToolbar .inboxsdk__button_icon{height:20px;width:20px;display:inline-flex;user-select:none}.inboxsdk__compose_actionToolbar .inboxsdk__button_iconImg{height:17px;width:17px;display:inline-flex;margin:auto}.inboxsdk__compose_actionToolbar+.gU:not(.inboxsdk__compose_separator){padding-left:8px}.inboxsdk__compose_groupedActionToolbar_visible .aDg .aDh{overflow-y:visible}.inboxsdk__compose_groupedActionToolbar{position:absolute;bottom:44px;z-index:10;border-radius:2px;box-shadow:0 4px 5px 0 rgb(0 0 0/14%),0 1px 10px 0 rgb(0 0 0/12%),0 2px 4px -1px rgb(0 0 0/20%);margin:3px 3px 7px;padding:4px 5px;background:#fff;left:-3px}.inboxsdk__compose_inlineReply .inboxsdk__compose_groupedActionToolbar{left:14px}.inboxsdk__compose_groupedActionToolbar .inboxsdk__composeButton:first-child{margin-left:0;margin-right:0}.inboxsdk__composeButton.inboxsdk__compose_groupedActionButton{margin-right:0}.inboxsdk__compose_groupedActionToolbar .inboxsdk__composeButton{padding:4px}.inboxsdk__compose_groupedActionToolbar_visible .bA3{height:40px}.inboxsdk__compose_groupedActionToolbar div.inboxsdk__button{z-index:1;margin-right:0}.inboxsdk__compose_groupedActionToolbar_arrow,span.inboxsdk__thread_row_custom_draft_label+div.yW{display:none}.inboxsdk__compose_customSendContainer{display:inline-block;position:relative;outline:0;margin:6px 0;padding:0;vertical-align:middle;height:36px;line-height:36px}.inboxsdk__compose_customTitleBarColor>img.Ha,.inboxsdk__compose_customTitleBarColor>img.Hl,.inboxsdk__compose_customTitleBarColor>img.Hq{background-color:transparent!important}.inboxsdk__compose_hasCustomTitleBarText,.inboxsdk__compose_hasCustomTitleBarText>tbody>tr{display:flex}.inboxsdk__compose_hasCustomTitleBarText>tbody>tr{align-items:center}.inboxsdk__compose_hasCustomTitleBarText>tbody{width:100%}.inboxsdk__compose_nativeTitleBarText{display:none!important}.inboxsdk__compose_customTitleBarText{width:calc(100% - 80px)}.inboxsdk__compose_hasCustomTitleBarText td.Hm{margin-right:10px;margin-left:auto}.inboxsdk__compose_statusBarPrependContainer{border-top:1px solid #cfcfcf}.inboxsdk__compose_statusBarPrependContainer+table td.gU{border-top:none}input.inboxsdk__x_close_button{background-color:transparent;background-image:url(" + ___CSS_LOADER_URL_REPLACEMENT_2___ + ");background-size:cover;background-repeat:no-repeat;background-position:center center;height:20px;width:20px;border:0;vertical-align:middle;cursor:pointer;float:right;margin:5px}.inboxsdk__gmail_label.inboxsdk__label_has_icon .au{display:inline-block;margin-left:14px}.inboxsdk__thread_row_label .inboxsdk__button_icon,.inboxsdk__thread_row_label .inboxsdk__button_iconImg{height:11px;width:11px}.inboxsdk__thread_row_label .inboxsdk__button_icon{display:inline-block;margin-top:3px;margin-left:4px;position:absolute}.inboxsdk__thread_row_button{outline:0;height:20px;width:20px;padding:0}.inboxsdk__thread_row_button .inboxsdk__button_icon{max-height:100%}.inboxsdk__thread_row_custom_date_container,.zA>.xY.inboxsdk__thread_row_attachment_icons_present{max-width:inherit}.inboxsdk__thread_row_button .inboxsdk__button_iconImg{height:20px;width:20px;margin-top:0}.inboxsdk__gmail_action{float:right;position:relative;background-color:gray;margin-left:1em;cursor:default;background-image:-webkit-linear-gradient(top,#e9e9e9,#e6e6e6);background-image:linear-gradient(top,#e9e9e9,#e6e6e6);border:1px solid rgb(0 0 0/10%);border-color:#ccc;color:#444;height:17px;line-height:17px;min-width:56px;border-radius:2px;font-size:11px;font-weight:700;text-align:center;white-space:nowrap;padding:0 18px 0 6px}.inboxsdk__gmail_action:focus{border:1px solid #4d90fe;outline:0}.inboxsdk__gmail_action:active{box-shadow:inset 0 1px 2px rgb(0 0 0/10%)}.inboxsdk__gmail_action:hover{box-shadow:0 1px 1px rgb(0 0 0/5%);background-color:#ededed;background-image:-webkit-linear-gradient(top,#ededed,#eaeaea);background-image:linear-gradient(top,#ededed,#eaeaea);border-color:#b8b8b8}.inboxsdk__gmail_action::after{content:\"\";position:absolute;right:5px;top:5px;margin-left:5px;background:no-repeat url(https://ssl.gstatic.com/mail/sprites/smartmail-561acb673be75c1d374881a95997fce4.png)-67px -100px;width:7px;height:7px;opacity:.55}.inboxsdk__thread_row_custom_date{margin-left:2px}span.inboxsdk__thread_row_custom_date+span:not(.inboxsdk__thread_row_custom_date){display:none}.inboxsdk__thread_row_attachment_iconWrapper{margin-left:3px;height:16px}.inboxsdk__thread_row_attachment_icon{margin-left:3px;width:16px;height:16px}.inboxsdk__thread_row_attachment_iconWrapper{display:flex;justify-content:center;align-items:center;width:max-content}.zA td.apU.xY{width:initial}.zA td.apU.xY span.inboxsdk__thread_row_button{margin:0 10px;opacity:.16}.zA.aqw td.apU.xY span.inboxsdk__thread_row_button{opacity:.54}.zA.aqw td.apU.xY span.inboxsdk__thread_row_button:hover{opacity:1}.zA td.apU.xY span.inboxsdk__thread_row_button::before{width:0;height:0}.inboxsdk__thread_row_attachment_icon{vertical-align:middle}.Zs .xY.inboxsdk__thread_row_attachment_icons_present{flex-grow:0}.Zs .xY.inboxsdk__thread_row_label{order:1}.Zs .xY.inboxsdk__thread_row_icon_wrapper{order:1;margin-left:3px;margin-right:0}.inboxsdk__thread_row_icon_wrapper .inboxsdk__button_icon,.inboxsdk__thread_row_icon_wrapper .inboxsdk__button_iconImg{height:18px;width:18px}.inboxsdk__thread_row_icon_wrapper{width:20px;margin-right:3px;align-self:center;height:20px;flex:0 0 auto}.inboxsdk__thread_row_icon_wrapper .inboxsdk__button_iconImg{vertical-align:top}.inboxsdk__thread_row_image_added .y6 .inboxsdk__thread_row_icon_wrapper~span[id]{margin-left:3px}.inboxsdk__thread_row_image_added .a4W,.inboxsdk__thread_row_image_added .apA,.inboxsdk__thread_row_image_added .apx{position:relative}[inboxsdk__message_added_attachment_icon] td.gH div.gK>span:first-child>img,[inboxsdk__message_added_attachment_icon] td.gH>span:first-child>img{margin-right:3px;margin-left:3px;margin-top:0}[inboxsdk__message_added_attachment_icon] td.gH div.gK>span:first-child>:last-child,[inboxsdk__message_added_attachment_icon] td.gH>span:first-child>:last-child{margin-right:6px}.inboxsdk__message_attachment_icon,.inboxsdk__message_attachment_iconWrapper{width:21px;height:21px;position:relative}.inboxsdk__message_attachment_iconWrapper{margin:auto 3px;display:inline-flex;justify-content:center;align-items:center;vertical-align:top}.inboxsdk__message_attachment_tooltipWrapper{position:absolute;top:19px;z-index:10}.gU .aWQ{max-height:3px}.aQw .inboxsdk__button_icon{display:inline-flex;align-items:center;justify-content:center;height:28px}.aQw .inboxsdk__button_iconImg{height:18px;width:18px;margin-top:2px}.aZi .asa .inboxsdk__button_iconImg{display:inline-block;vertical-align:middle;margin-top:-3px}.aZi .aZj .asa .inboxsdk__button_iconImg{margin:0}body .dw{z-index:6!important}.inboxsdk__compose_outerSidebar_wrapper{position:absolute;left:-401px;top:0;background:#fff;width:400px;bottom:0;border-left:1px solid silver;box-shadow:-2px 0 1px #e6e6e6;display:block}.inboxsdk__outerSidebarActive .aSt .inboxsdk__compose_outerSidebar_wrapper{border-left:0;box-shadow:none;left:-400px}.inboxsdk__outerSidebarActive .aSs>div{width:50%!important;margin-left:30%}.inboxsdk__compose_outerSidebar_header{background:#404040;font-size:80%;padding:10px 10px 11px;color:#fff;border-bottom:1px solid #c4c4c4}.inboxsdk__compose_outerSidebar_body{position:absolute;width:100%;bottom:43px;top:36px;left:-1px;overflow:auto}.inboxsdk__compose_outerSidebar_footer{position:absolute;bottom:0;width:100%;border-top:1px solid rgb(206 206 206);display:block}.inboxsdk__compose_innerSidebarActive .GQ,.inboxsdk__compose_innerSidebarActive form{padding-right:200px}div.inboxsdk__compose_statusbar{border:0;height:40px;margin:0}.inboxsdk__compose_statusbar{background:0 0;position:relative}.HM .I5 .inboxsdk__compose_statusbar{padding:0 16px 16px}table+.inboxsdk__compose_statusbar{margin-top:-8px}body.inboxsdk__classic_gmail_recipients_area .inboxsdk__compose_statusbarActive .aoI{height:auto!important}.inboxsdk__compose_statusbarActive .aDl{z-index:unset}.inboxsdk__compose .qz{max-height:inherit!important}body:not(.inboxsdk_hack_disableComposeSizeFixer) .inboxsdk__size_fixer .aDj.aDi{position:static!important}.inboxsdk__compose_inlineReply.inboxsdk__compose_statusbarActive .HM .I5{padding-bottom:var(--inboxsdk-total-added-statusbar-height, 0px)}.inboxsdk__compose_inlineReply.inboxsdk__compose_statusbarActive .aDj::before{height:calc(100% + var(--inboxsdk-total-added-statusbar-height, 0px))}.inboxsdk__compose_inlineReply.inboxsdk__compose_statusbarActive .aDj.aDi>.aDh{background-color:#fff}.inboxsdk__recipient_row{display:flex}.inboxsdk__compose_notice{background-color:#f5f5f5;border-radius:4px;margin:10px;padding:10px 16px}.inboxsdk__recipient_row td.ok{height:20px;padding:0!important}.inboxsdk__recipient_row td.az3{padding:0 3px}.inboxsdk__compose_forceRecipientsOpen .fX.aXjCH{display:block!important}.inboxsdk__compose_forceRecipientRowHidden,.inboxsdk__compose_forceRecipientsOpen .aoD.hl,.inboxsdk__compose_hideRecipientArea .aoD.hl,.inboxsdk__compose_hideRecipientArea .fX.aXjCH,[data-thread-toolbar=true] [data-rowlist-toolbar=true],[data-toolbar-expanded=false] [data-toolbar-expanded=true],[data-toolbar-expanded=true] [data-toolbar-expanded=false],[data-toolbar-icononly=true] .inboxsdk__button_text{display:none!important}[data-toolbar-icononly=false] .inboxsdk__button_text{color:#5f6368}[data-toolbar-icononly=false] .asa::before{border-radius:4px;border:0!important}[data-toolbar-icononly=false] .inboxsdk__button{align-items:center;border:0;display:inline-flex;justify-content:center;position:relative;z-index:0;-webkit-font-smoothing:antialiased;font-family:\"Google Sans\",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;letter-spacing:.15px;background:0 0;box-sizing:border-box;color:#5f6368;cursor:pointer;font-weight:500;outline:0;padding:0 8px}.inboxsdk__menuItem .inboxsdk__icon,.inboxsdk__menuItem img{height:16px;width:16px;margin-top:-1px}.inboxsdk__modal_overlay{right:0;bottom:0}.inboxsdk__modal_fullscreen{position:fixed;inset:0 0 0 0;z-index:503;display:flex;justify-content:center;align-items:center;padding:110px 50px 50px}.inboxsdk__modal_content{margin-top:30px;margin-bottom:30px}.inboxsdk__modal_fullscreen.inboxsdk__modal_content_no_buttons .inboxsdk__modal_content{margin-bottom:0}.inboxsdk__modal_fullscreen.inboxsdk__modal_content_no_buttons:not(.inboxsdk__modal_hideBottom) .inboxsdk__modal_content{margin-bottom:0;padding-bottom:24px}.inboxsdk__modal_close{outline:0;cursor:pointer}.inboxsdk__modal_fullscreen .inboxsdk__modal_container{position:relative;margin-top:-60px;width:auto;overflow:hidden}.inboxsdk__modal_fullscreen .inboxsdk__modal_container .inboxsdk__modal_toprow{margin-right:16px}.inboxsdk__modal_fullscreen.inboxsdk__modal_hideTop .inboxsdk__modal_close{display:none}.inboxsdk__modal_fullscreen.inboxsdk__modal_hideTop .inboxsdk__modal_container{padding-top:0}.inboxsdk__modal_fullscreen.inboxsdk__modal_hideTop .inboxsdk__modal_content{margin-top:0}.inboxsdk__modal_fullscreen.inboxsdk__modal_hideTop .Kj-JD-K7{margin:0;display:none}.inboxsdk__modal_fullscreen.inboxsdk__modal_hideSides .inboxsdk__modal_container,.inboxsdk__modal_fullscreen.inboxsdk__modal_hideSides .inboxsdk__modal_content{padding-left:0;padding-right:0}.inboxsdk__modal_fullscreen.inboxsdk__modal_hideBottom .inboxsdk__modal_content{margin-bottom:0}.inboxsdk__modal_fullscreen.inboxsdk__modal_hideBottom .inboxsdk__modal_container{padding-bottom:0}.inboxsdk__modal_toprow.inboxsdk__modal_toprow--constrain-title-width{display:flex}.inboxsdk__modal_toprow--constrain-title-width>span[role=heading]{flex:1;width:0;word-wrap:break-word}.inboxsdk__drawers_in_use .aDi,.inboxsdk__moles_in_use .aDi{left:auto!important;position:static}.inboxsdk__moles_in_use .nH>.nH>.no{white-space:nowrap}.inboxsdk__moles_in_use .nH>.nH>.no>*{white-space:initial}.inboxsdk__moles_in_use .nH>.nH>.no>.nn{display:inline-block;float:none}.inboxsdk__mole_view{position:relative;max-width:564px;height:100vh;vertical-align:top;display:inline-flex;align-items:flex-end}.inboxsdk__mole_view_inner{visibility:visible;box-sizing:border-box;margin-right:5px;box-shadow:rgb(0 0 0/20%)0 2px 6px;min-width:260px;min-height:40px}.inboxsdk__mole_view_inner:not(.inboxsdk__original_view),.inboxsdk__mole_view_titlebar:not(.inboxsdk__original_view){border-radius:8px 8px 0 0}.inboxsdk__mole_view_titlebar{position:absolute;left:0;right:5px;font-size:14px;font-weight:500;box-sizing:border-box;height:40px;cursor:pointer;padding:10px 12px 10px 16px;color:#041e49;background:#f2f6fc}.inboxsdk__mole_view_titlebar.inboxsdk__original_view{color:#fff;font-size:12.8px;font-weight:400;background:#404040;padding:9px 0 0 11px;border-radius:4px 4px 0 0}.inboxsdk__mole_view_titlebar h2{font-size:inherit;font-weight:inherit;margin:4px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inboxsdk__mole_title_buttons{white-space:nowrap;float:right;padding-right:5px;margin-top:1px}.inboxsdk__mole_title_buttons.inboxsdk__original_view{margin-top:-3px}.inboxsdk__mole_title_buttons>img{height:24px;width:24px;position:relative;top:2px}.inboxsdk__mole_title_buttons:not(.inboxsdk__original_view)>img{height:16px;width:16px;margin-left:4px}.inboxsdk__mole_title_buttons:not(.inboxsdk__original_view)>img:hover{background-color:rgb(68 71 70/7.8%)}.inboxsdk__mole_title_buttons.inboxsdk__original_view>img:hover{background-color:#737373}.inboxsdk__mole_title_buttons>img:hover{opacity:1}.inboxsdk__mole_view.inboxsdk__minimized .Hl,.inboxsdk__mole_view.inboxsdk__minimized .inboxsdk__mole_view_content,.inboxsdk__mole_view.inboxsdk__minimized.inboxsdk__mole_use_minimize_title h2.inboxsdk__mole_default,.inboxsdk__mole_view:not(.inboxsdk__minimized) .Hk,.inboxsdk__mole_view:not(.inboxsdk__minimized) h2.inboxsdk__mole_minimized,.inboxsdk__mole_view:not(.inboxsdk__mole_use_minimize_title) h2.inboxsdk__mole_minimized{display:none}.inboxsdk__mole_view_content:not(.inboxsdk__original_view){margin-top:40px;border:0}.inboxsdk__mole_view_content{margin-top:36px;border:1px solid #cfcfcf;background:#fff;min-width:260px;min-height:20px;max-height:80vh}.inboxsdk__mole_view_chromeless .inboxsdk__mole_view_inner{min-width:0}.inboxsdk__mole_view_chromeless .inboxsdk__mole_view_content{margin-top:0;min-width:0}.inboxsdk__tab{width:30px}.inboxsdk__tab.inboxsdk__fQK2Ffccj51PVtC_ibDc:first-child:last-child{display:none}.inboxsdk__tab.inboxsdk__tab_selected{width:auto}table.aKk .inboxsdk__contentTabContainer .inboxsdk__tab .aAy[role=tab]{height:28px}.inboxsdk__tab_icon{width:30px;height:25px;background-position-x:5px;background-position-y:3px;background-size:16px;background-repeat:no-repeat}.inboxsdk__tab_icon img{height:16px;width:16px;margin-left:5px;margin-top:3px}.inboxsdk__tab .aKx{top:4px}.inboxsdk__sidebar div[role=complementary]{position:static!important}.inboxsdk__sidebar>div.y4,.inboxsdk__lmkPHCz841PzU2vywMZI>div.y4{display:none}table.aKk .inboxsdk__contentTabContainer .inboxsdk__tab:first-child .aAy[role=tab]{border-left-width:1px}.inboxsdk__sidebar .inboxsdk__contentPanelContainer{font:12px Arial,sans-serif;max-width:220px}.inboxsdk__contentPanelContainer_contentContainer{overflow:hidden;margin-bottom:10px;border-bottom:1px solid #d8d8d8}body.inboxsdk__hasTopMessageBar .bq9{top:var(--inboxsdk__topMessageBar-height)}.inboxsdk__lmkPHCz841PzU2vywMZI>div[role=complementary]{position:static!important;width:216px!important}.inboxsdk__lmkPHCz841PzU2vywMZI{will-change:position}.inboxsdk__RRnCd87hoA2uHeC1Z_FE{background:#fff}.inboxsdk__ZsVjiThsnbCmCG_X1Vvn{padding:4px 0 12px}.inboxsdk__L1YTilBb_3NY6uyjljIg.inboxsdk__fQK2Ffccj51PVtC_ibDc .inboxsdk__ZsVjiThsnbCmCG_X1Vvn{padding-top:0}.container_app_sidebar_in_use.no,.inboxsdk__IpDkQtEZuh257muFXot6.no{display:flex;flex-direction:row;width:100%}body[dir=rtl] .container_app_sidebar_in_use.no[dir=ltr],body[dir=rtl] .idm5_container_app_sidebar_no_icons.no[dir=ltr]{flex-direction:row-reverse}.container_app_sidebar_in_use.no .G-atb.inboxsdk__thread_toolbar_parent[gh=tm]{margin-right:-57px!important}.container_addon_sidebar_visible.container_app_sidebar_in_use.no .G-atb.inboxsdk__thread_toolbar_parent[gh=tm],.container_app_sidebar_visible.container_app_sidebar_in_use.no .G-atb.inboxsdk__thread_toolbar_parent[gh=tm]{margin-right:-321px!important}.inboxsdk__IpDkQtEZuh257muFXot6 .G-atb.inboxsdk__thread_toolbar_parent[gh=tm]{margin-right:0!important}.inboxsdk__button.ar7{pointer-events:all!important}.container_app_sidebar_in_use .bkK.nn,.inboxsdk__IpDkQtEZuh257muFXot6 .bkK.nn{width:auto!important;flex:1;min-width:0}.inboxsdk__IpDkQtEZuh257muFXot6 .bnl.nn{z-index:-1;position:absolute}.container_app_sidebar_in_use .inboxsdk__lmkPHCz841PzU2vywMZI{min-width:57px!important;flex-shrink:0}.container_app_sidebar_in_use .inboxsdk__lmkPHCz841PzU2vywMZI.app_sidebar_visible{min-width:321px!important}.container_app_sidebar_in_use .inboxsdk__lmkPHCz841PzU2vywMZI>.J-KU-Jg{display:block!important}.container_app_sidebar_in_use .inboxsdk__lmkPHCz841PzU2vywMZI .inboxsdk__jQiSbhX57v1JCl6fIbdb{display:none}.container_app_sidebar_in_use .inboxsdk__lmkPHCz841PzU2vywMZI.app_sidebar_visible .inboxsdk__jQiSbhX57v1JCl6fIbdb{display:block;float:left;height:100%;border-left:1px solid #e0e0e0;padding-left:16px;width:calc(100% - 74px);overflow:auto}.container_app_sidebar_in_use .inboxsdk__jQiSbhX57v1JCl6fIbdb .inboxsdk__ZsVjiThsnbCmCG_X1Vvn{width:calc(100% - 16px);padding-right:16px}.container_app_sidebar_in_use .inboxsdk__lmkPHCz841PzU2vywMZI.app_sidebar_visible .J-KU-Jz{width:auto;padding-right:50px}.inboxsdk__z3cCBtGXYneog44Vf16J .inboxsdk__button_icon{margin:18px 18px 10px;border:0;background:0 0;height:20px;width:20px;overflow:hidden;padding:0;cursor:pointer;position:relative}.inboxsdk__z3cCBtGXYneog44Vf16J.sidebar_global_iconArea .inboxsdk__button_icon{margin-bottom:18px}body .inboxsdk__z3cCBtGXYneog44Vf16J .inboxsdk__button_icon{overflow:visible}.inboxsdk__z3cCBtGXYneog44Vf16J .inboxsdk__button_icon:hover::before,.inboxsdk__z3cCBtGXYneog44Vf16J .sidebar_button_container_active .inboxsdk__button_icon::before{content:\"\";background:#f1f3f4;position:absolute;inset:-10px -10px -10px -10px;border-radius:50%;z-index:0}.inboxsdk__z3cCBtGXYneog44Vf16J .sidebar_button_container_active .inboxsdk__button_icon::before{background:#e8eaed}.inboxsdk__z3cCBtGXYneog44Vf16J .inboxsdk__button_iconImg{width:20px;height:20px;margin-top:0}.inboxsdk__z3cCBtGXYneog44Vf16J .inboxsdk__button_icon .inboxsdk__button_iconImg{position:absolute;left:0;top:0;z-index:1}.inboxsdk__z3cCBtGXYneog44Vf16J .sidebar_button_container_active .inboxsdk__button_selectedIndicator{height:40px;width:4px;position:absolute;right:0;bottom:0;background-color:rgb(66 133 244);border-radius:3px 0 0 3px}.inboxsdk__z3cCBtGXYneog44Vf16J.sidebar_global_iconArea .sidebar_button_container_active .inboxsdk__button_selectedIndicator{bottom:8px}.brC-brG.companion_app_sidebar_visible{display:block!important}.bq9:not(.brC-brG).companion_app_sidebar_wrapper_visible{display:block!important}.companion_global_app_sidebar_visible .thread_app_sidebar{display:none}.companion_app_sidebar_visible:not(.companion_global_app_sidebar_visible) .global_app_sidebar,body.inboxsdk__custom_view_active .brC-aT5-aOt-ato-Kp-Jw [role=tablist]>div:not(:last-child){display:none}.nH.companion_container_app_sidebar_visible{width:calc(100% - 300px)!important}.companion_app_sidebar_visible .addon_sidebar~div:not(.addon_sidebar){display:none!important}.inboxsdk__lmkPHCz841PzU2vywMZI .inboxsdk__jQiSbhX57v1JCl6fIbdb.addon_sidebar{height:100%;overflow:auto}.inboxsdk__lmkPHCz841PzU2vywMZI .inboxsdk__jQiSbhX57v1JCl6fIbdb.addon_sidebar .inboxsdk__ZsVjiThsnbCmCG_X1Vvn{width:100%}.inboxsdk__lmkPHCz841PzU2vywMZI:not(.companion_app_sidebar_visible) .addon_sidebar{display:none}.inboxsdk__TFQRFr4aJVmDmx2llTVx{margin-left:0}.inboxsdk__RRnCd87hoA2uHeC1Z_FE .inboxsdk__iYzl6PjYB9v7KGQNbONH{padding:0 16px}.inboxsdk__lmkPHCz841PzU2vywMZI .bvq,.inboxsdk__lmkPHCz841PzU2vywMZI .bvq>div:last-child{display:block!important}.inboxsdk__cnd4jAy3zFUYdR_NdMxT .bvq>div:first-child{display:none!important}.inboxsdk__custom_view_element{overflow:auto}.inboxsdk__hide_native_marker .ain:not(.inboxsdk__navItem){border-left-color:transparent}.inboxsdk__hide_native_marker .ain:not(.inboxsdk__navItem) .bsU,.inboxsdk__hide_native_marker .ain:not(.inboxsdk__navItem) .nU:not(.n1) .n0{font-weight:400}.inboxsdk__hide_native_marker .ain:not(.inboxsdk__navItem) .TO{background:0 0}.inboxsdk__hide_addon_container{display:flex!important;flex-direction:row;width:100%!important}body[dir=rtl] .inboxsdk__hide_addon_container[dir=ltr]{flex-direction:row-reverse}.inboxsdk__hide_addon_container>.bkK.nn{width:auto!important;flex:1;min-width:0}.inboxsdk__hide_addon_container>.bnl.nn,.inboxsdk__navItem>.TO img.afM.afO~.aio>.bsU{display:none}.inboxsdk__navItem{font-size:14px}.inboxsdk__navItem:not(.Xr)>.V3[style]{flex-grow:0!important}.inboxsdk__navItem>.TO.n4{display:block;padding-left:0}.inboxsdk__collapsiblePanel .inboxsdk__navItem>.TO .TN.aik{padding-left:18px}.inboxsdk__collapsiblePanel .inboxsdk__navItem>.TO .qj{margin-right:14px}.inboxsdk__navItem>.TO.n4 .qj>.G-asx{margin-right:0}.inboxsdk__navItem>.TO .aio>.bsU:empty{display:none}.inboxsdk__navItem>.TO .qj:empty::after{background-color:rgb(118 118 118);border-radius:50%;content:\"\";height:18px;margin-left:1px;width:18px}.inboxsdk__navItem>.TO .qj[style*=border-color]:empty::after{border-color:inherit}.inboxsdk__navItem>.TO:hover .pM{display:flex;visibility:visible}.inboxsdk__navItem>.TO .afM{cursor:pointer}.inboxsdk__navItem>.TO img.afM.afO,.inboxsdk__navItem>.TO:hover .afM{display:block;visibility:visible}.inboxsdk__collapsiblePanel_loading_container,.inboxsdk__navItem>.TO:hover .bsU{display:none}.inboxsdk__navItem.inboxsdk__navItem_nonClickable>.TO:active{background-color:initial}.inboxsdk__navItem_hover .aj0,.inboxsdk__navItem_hover .p8{visibility:visible}.inboxsdk__appMenuItem .CL.V6::before,.inboxsdk__collapsiblePanel .T-I.T-I-KE.L3::before{background-image:var(--background-image)}.inboxsdk__collapsiblePanel.apV.aJu .T-I.T-I-KE.L3::before{background-image:var(--background-image--hover)}.inboxsdk__appMenuItem.apV .CL.V6::before{background-image:var(--background-image--active)}.inboxsdk__collapsiblePanel .T-I.T-I-KE.L3::before{background-size:24px}.inboxsdk__collapsiblePanel_loading_container.inboxsdk__collapsiblePanel_loading_container--active,.inboxsdk__shortcutHelp_table table.cf,.inboxsdk__shortcutHelp_table tbody tbody,table[role=presentation].inboxsdk__thread_view_with_custom_view>tr{display:block}.inboxsdk__navItem_link{cursor:pointer;margin-left:auto}.inboxsdk__navItem_link>a{margin-left:16px}.inboxsdk__navItem>.TO .inboxsdk__button{margin-right:0}[dir=rtl] .inboxsdk__navItem_link{left:-4px;right:initial}.inboxsdk__navItem_container .aio .inboxsdk__button{position:absolute;top:0;right:-30px}.inboxsdk__navItem_marker{position:absolute;left:0;padding-bottom:2px}.inboxsdk__expando{z-index:1}.aip .CK,.inboxsdk__navItem_link>a{color:#15c}.aip .CK:hover,.inboxsdk__navItem_link>a:hover{text-decoration:underline}.inboxsdk__navItem_container .aio.aip{white-space:nowrap}.WR[role=navigation] .inboxsdk__navItem .Yh:not(.inboxsdk__navItem_parent_accessory_button):empty{display:none}.WR[role=navigation] .inboxsdk__navItem .Yh:not(.inboxsdk__navItem_parent_accessory_button){background:0 0}.WR[role=navigation] .inboxsdk__navItem .Yh .inboxsdk__button_icon{display:none}.WR[role=navigation].bhZ:not(.bym) .inboxsdk__navItem .Yh{opacity:1}.WR[role=navigation].bhZ:not(.bym) .inboxsdk__navItem .Yh.inboxsdk__navItem_parent_accessory_button{background-image:none!important}.WR[role=navigation].bhZ:not(.bym) .inboxsdk__navItem .Yh:empty{background-color:rgb(32 33 36/71%);border-radius:50%;display:inherit;height:18px;margin-left:1px;width:18px}.WR[role=navigation].bhZ:not(.bym) .inboxsdk__navItem .Yh .inboxsdk__button_icon{display:inherit}.inboxsdk__custom_sections{margin-bottom:8px}.inboxsdk__custom_sections.Wc{padding:0;margin-bottom:0}.inboxsdk__resultsSection.inboxsdk__resultsSection_nonCollapsible .inboxsdk__resultsSection_title .Wp{visibility:hidden}.inboxsdk__custom_sections .Wg,.inboxsdk__custom_sections.Wc .inboxsdk__resultsSection{padding-top:0}.inboxsdk__custom_sections.Wc .Wg{border-bottom:0;padding:0}.inboxsdk__results_collapsedContainer.Wg{height:auto}.inboxsdk__results_collapsedContainer>div{display:flex;flex-wrap:wrap;flex:1 0 100%}.inboxsdk__results_collapsedContainer>div>.inboxsdk__resultsSection_collapsed:first-child:last-child{flex:1;margin-right:0}.inboxsdk__results_collapsedContainer>div>.inboxsdk__resultsSection_collapsed:first-child:last-child>.inboxsdk__resultsSection_header{display:flex;align-items:center;flex:1}.inboxsdk__results_collapsedContainer>div>.inboxsdk__resultsSection_collapsed:first-child:last-child>.inboxsdk__resultsSection_header>.Cr{display:flex;align-items:center;margin-left:auto}.inboxsdk__resultsSection.inboxsdk__resultsSection_collapsed{display:inline-block;margin-right:20px;display:inline-flex}.Wc .inboxsdk__resultsSection.inboxsdk__resultsSection_collapsed{margin-right:0}.inboxsdk__resultsSection_collapsed .Cr{display:none}.inboxsdk__resultsSection_title{white-space:nowrap;cursor:pointer;display:inline-block;display:flex;align-items:center;height:48px}.Wc .inboxsdk__resultsSection_title{padding:3px 0 3px 8px}.inboxsdk__resultsSection_header{min-height:48px;line-height:48px}.inboxsdk__resultsSection_header_summaryText.Wm:last-child .amH{padding-right:0;margin-right:0}.inboxsdk__custom_sections.Wc .inboxsdk__resultsSection_header_summaryText:last-child{margin-right:11px}.inboxsdk__custom_sections.Wc .J-JN-M-I{margin-right:13px}.inboxsdk__resultsSection .TB.TC{text-align:center}.inboxsdk__resultsSection .inboxsdk__resultsSection_loading{font-style:italic}.inboxsdk__resultsSection .inboxsdk__resultsSection_result_icon{height:15px;width:15px}.inboxsdk__resultsSection_label_iconHtml,.inboxsdk__resultsSection_result_iconHtml{display:flex;justify-content:center;align-items:center}.inboxsdk__resultsSection .inboxsdk__resultsSection_tableRow.zA:hover>.xW{display:flex}.inboxsdk__resultsSection .inboxsdk__resultsSection_tableRow.zA>.xW{max-width:none;flex-basis:auto}.inboxsdk__resultsSection .inboxsdk__resultsSection_tableRow .xT{align-items:center}.inboxsdk__resultsSection .xX{width:20ex}.inboxsdk__resultsSection tr .xW>span,.inboxsdk__resultsSection_result_title span{overflow:hidden;display:block;text-overflow:ellipsis}.inboxsdk__resultsSection .V3{overflow:hidden;white-space:nowrap}.inboxsdk__resultsSection .at{position:relative}.inboxsdk__thread_row_label{flex-shrink:0;align-self:flex-end}.apv .inboxsdk__thread_row_label{align-self:flex-start}.inboxsdk__resultsSection_label_icon{height:11px;width:11px;position:absolute;top:2px;margin-left:4px;margin-top:1px}.inboxsdk__resultsSection .av,.inboxsdk__thread_row_label .av{overflow:hidden;text-overflow:ellipsis}.inboxsdk__resultsSection_label_icon+.av,.inboxsdk__thread_row_label .inboxsdk__button_icon+.av{margin-left:16px}.Wc .inboxsdk__resultsSection_footer{padding:3px 3px 3px 8px}.inboxsdk__tooltip .T-P{box-shadow:0 1px 3px rgb(0 0 0/20%);background-color:#fff;border:1px solid;border-color:#bbb #bbb #a8a8a8;padding:16px;z-index:1201!important}.inboxdk__tooltip_content.inboxsdk__tooltip .aRM,.inboxsdk__tooltip.inboxdk__tooltip_content .T-P,.inboxsdk__tooltip.inboxsdk__appButton_tooltip .T-P{padding:0}.inboxsdk__tooltip .aRM{outline:0;padding:13px 10px 16px;text-align:center;font:16px arial,sans-serif}.inboxsdk__tooltip .aRR{color:#333;font-size:18px;margin-top:13px}.inboxsdk__tooltip .aRQ{color:#777;font-size:13px;margin:3px 0 14px}.inboxsdk__tooltip{position:fixed;z-index:1300;transition:left 200ms ease,top 200ms ease}.inboxsdk__tooltip .T-P{position:relative;width:auto;max-width:500px}.inboxsdk__tooltip .inboxsdk__tooltip_arrow{position:fixed;z-index:1400;margin-top:-1px;transition:left 200ms ease,top 200ms ease}.inboxsdk__tooltip .inboxsdk__tooltip_close{user-select:none}.inboxsdk__tooltip .inboxsdk__button{margin-right:0}.inboxsdk__tooltip .inboxsdk__tooltip_image{max-height:300px;max-width:500px;overflow:hidden;height:auto}.inboxsdk__tooltip .inboxsdk__tooltip_image>img{max-height:300px;max-width:500px}.inboxsdk__attachmentCard img.aQG.aYB{max-width:178px;min-width:178px;min-height:118px}.inboxsdk__attachmentCard img.aZG.aYw{background:0 0}.aQw>.T-I.J-J5-Ji.L3{margin-top:5px}table.cf.wd.inboxsdk__shortcutHelp_table{margin-bottom:15px}.inboxsdk__shortcutHelp_table td.Dn{display:inline-block;width:50%}.inboxsdk__shortcutHelp_table tbody tbody tr{display:block;white-space:nowrap}.inboxsdk__shortcutHelp_table td.wg.Dn{display:inline-block;width:45%}.inboxsdk__shortcutHelp_table span.wb{margin-left:3px}.inboxsdk__shortcutHelp_table td.we.Dn{width:60%;white-space:normal}.inboxsdk__shortcutHelp_title img.inboxsdk__icon{height:21px;width:21px;vertical-align:middle;margin-right:10px;border-radius:4px}.asor.inboxsdk__custom_suggestion,.inboxsdk__custom_suggestion_iconHTML{display:flex;justify-content:center;align-items:center}.inboxsdk__custom_suggestion img{max-width:32px;max-height:32px}.inboxsdk__custom_suggestion_iconHTML{position:absolute;left:8px;height:32px;width:43px}.gstq_d .inboxsdk__custom_suggestion_iconHTML{margin-top:-8px}.inboxsdk__appButton{margin-right:8px}.inboxsdk__appButton+.inboxsdk__appButton{margin-left:16px}.inboxsdk__appButton.inboxsdk__appButton_noGPlus{margin-right:0}.inboxsdk__appButton .inboxsdk__button_icon{margin-right:5px;position:relative}.inboxsdk__appButton a{color:#404040;text-decoration:none;line-height:24px}.inboxsdk__appButton.inboxsdk__appButton_noGPlus a{line-height:30px}.inboxsdk__appButton a:hover{text-decoration:underline;color:#000}.inboxsdk__gmail_dark_theme .inboxsdk__appButton a{color:#eee}.inboxsdk__gmail_dark_theme .inboxsdk__appButton a:hover{color:#fff}.inboxsdk__appButton_tooltip{outline:0;transition:none;animation:gb__a .2s}.inboxsdk__appButton_tooltip .inboxsdk__tooltip_close,.inboxsdk__searchIsNarrow .streak__appToolbarButton_title{display:none}.inboxsdk__tooltip.inboxsdk__appButton_tooltip .aRM{padding:0;white-space:initial;text-align:center;font:16px arial,sans-serif}.inboxsdk__tooltip.inboxsdk__appButton_tooltip .inboxsdk__tooltip_arrow{transform-origin:top;transform:rotateZ(180deg);margin-top:9px}.inboxsdk__custom_message_view{display:flex;padding-top:20px;padding-bottom:20px;border-top:1px solid #efefef;border-collapse:collapse}.inboxsdk__custom_message_view_hidden{display:none}.h7.ie+.inboxsdk__custom_message_view{margin-top:5px}.kQ+.inboxsdk__custom_message_view,.kx+.inboxsdk__custom_message_view{margin-top:1px}.inboxsdk__custom_message_view.inboxsdk__custom_message_view_collapsed{cursor:pointer}.inboxsdk__custom_message_view .inboxsdk__custom_message_view_icon{padding-left:16px;padding-right:16px;flex-shrink:0}.inboxsdk__custom_message_view .inboxsdk__custom_message_view_icon img{height:32px;width:32px;border-radius:50%}.inboxsdk__custom_message_view .inboxsdk__custom_message_view_content{width:100%;min-width:0}.inboxsdk__custom_message_view .inboxsdk__custom_message_view_header{cursor:pointer}.inboxsdk__custom_message_view_app_notice_content{position:relative;z-index:1;align-items:center;display:flex;font-size:.75rem!important;justify-content:flex-start;margin-left:0;padding:0;top:0}.adx.inboxsdk__custom_message_view_app_notice_container.inboxsdk__custom_message_view_app_notice_container{position:relative;width:auto!important;min-width:32px}.adx.inboxsdk__custom_message_view_app_notice_container.inboxsdk__custom_message_view_app_notice_container:hover::before{content:none!important}.adx.inboxsdk__custom_message_view_app_notice_container.inboxsdk__custom_message_view_app_notice_container>span:first-child{display:none}.inboxsdk__custom_message_view_app_notice_container::before{position:absolute}.inboxsdk__custom_message_view_app_notice_content>*{color:#555}table[role=presentation].inboxsdk__thread_view_with_custom_view{table-layout:fixed}.inboxsdk__butterbar.inboxsdk__butterbar_error{background-color:#c53929!important}.inboxsdk__butterbar.inboxsdk__butterbar_error [role=button]{color:#fff}.inboxsdk__butterbar.inboxsdk__butterbar_error [role=button]::before{background:rgb(255 255 255/8%)}.inboxsdk__support_menuItem:hover{background-color:#eee;outline:1px dashed transparent}.inboxsdk__compose_addressList{display:flex!important}.inboxsdk__linkPopOver_section_container{position:absolute;width:100%;top:35px;left:0}.inboxsdk__linkPopOver_section{width:100%;background:#fff;border:1px solid;border-color:#bbb #bbb #a8a8a8;font:13px arial,sans-serif;padding:5px 8px;margin-bottom:5px;box-sizing:border-box;box-shadow:0 1px 3px rgb(0 0 0/20%)}.T-I.J-J5-Ji.T-I-ax7.inboxsdk__button .asa::after{width:auto}", ""]);
32948
32499
  // Exports
32949
32500
  var app_sidebar_waiting_platform = "inboxsdk__nJrOYb9x4IUalKhkqH70";
32950
32501
  var app_sidebar_main = "inboxsdk__YVRXKNcaUvgm8xbnhvbA";
@@ -51392,65 +50943,6 @@ var zip = baseRest(unzip);
51392
50943
  module.exports = zip;
51393
50944
 
51394
50945
 
51395
- /***/ }),
51396
-
51397
- /***/ 9880:
51398
- /***/ ((module, exports, __webpack_require__) => {
51399
-
51400
- "use strict";
51401
-
51402
-
51403
- var _interopRequireDefault = __webpack_require__(4836);
51404
-
51405
- Object.defineProperty(exports, "__esModule", ({
51406
- value: true
51407
- }));
51408
- exports["default"] = mapIndexed;
51409
-
51410
- var _classCallCheck2 = _interopRequireDefault(__webpack_require__(6690));
51411
-
51412
- var _createClass2 = _interopRequireDefault(__webpack_require__(9728));
51413
-
51414
- var MapIndexed =
51415
- /*#__PURE__*/
51416
- function () {
51417
- function MapIndexed(f, xform) {
51418
- (0, _classCallCheck2.default)(this, MapIndexed);
51419
- this.f = f;
51420
- this.xform = xform;
51421
- this.i = -1;
51422
- }
51423
-
51424
- (0, _createClass2.default)(MapIndexed, [{
51425
- key: '@@transducer/init',
51426
- value: function transducerInit() {
51427
- return this.xform['@@transducer/init']();
51428
- }
51429
- }, {
51430
- key: '@@transducer/result',
51431
- value: function transducerResult(v) {
51432
- return this.xform['@@transducer/result'](v);
51433
- }
51434
- }, {
51435
- key: '@@transducer/step',
51436
- value: function transducerStep(res, input) {
51437
- this.i++;
51438
- return this.xform['@@transducer/step'](res, this.f(input, this.i));
51439
- }
51440
- }]);
51441
- return MapIndexed;
51442
- }();
51443
-
51444
- function mapIndexed(f) {
51445
- return function (xform) {
51446
- return new MapIndexed(f, xform);
51447
- };
51448
- }
51449
-
51450
- module.exports = exports.default;
51451
- module.exports["default"] = exports.default;
51452
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJuYW1lcyI6WyJNYXBJbmRleGVkIiwiZiIsInhmb3JtIiwiaSIsInYiLCJyZXMiLCJpbnB1dCIsIm1hcEluZGV4ZWQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7SUFBTUEsVTs7O0FBQ0osc0JBQVlDLENBQVosRUFBZUMsS0FBZixFQUFzQjtBQUFBO0FBQ3BCLFNBQUtELENBQUwsR0FBU0EsQ0FBVDtBQUNBLFNBQUtDLEtBQUwsR0FBYUEsS0FBYjtBQUNBLFNBQUtDLENBQUwsR0FBUyxDQUFDLENBQVY7QUFDRDs7O1NBRUQsbUI7cUNBQXNCO0FBQ3BCLGFBQU8sS0FBS0QsS0FBTCxDQUFXLG1CQUFYLEdBQVA7QUFDRDs7U0FFRCxxQjtxQ0FBc0JFLEMsRUFBRztBQUN2QixhQUFPLEtBQUtGLEtBQUwsQ0FBVyxxQkFBWCxFQUFrQ0UsQ0FBbEMsQ0FBUDtBQUNEOztTQUVELG1CO21DQUFvQkMsRyxFQUFLQyxLLEVBQU87QUFDOUIsV0FBS0gsQ0FBTDtBQUNBLGFBQU8sS0FBS0QsS0FBTCxDQUFXLG1CQUFYLEVBQWdDRyxHQUFoQyxFQUFxQyxLQUFLSixDQUFMLENBQU9LLEtBQVAsRUFBYyxLQUFLSCxDQUFuQixDQUFyQyxDQUFQO0FBQ0Q7Ozs7O0FBR1ksU0FBU0ksVUFBVCxDQUFvQk4sQ0FBcEIsRUFBdUI7QUFDcEMsU0FBTyxVQUFTQyxLQUFULEVBQWdCO0FBQ3JCLFdBQU8sSUFBSUYsVUFBSixDQUFlQyxDQUFmLEVBQWtCQyxLQUFsQixDQUFQO0FBQ0QsR0FGRDtBQUdEIiwic291cmNlc0NvbnRlbnQiOlsiY2xhc3MgTWFwSW5kZXhlZCB7XG4gIGNvbnN0cnVjdG9yKGYsIHhmb3JtKSB7XG4gICAgdGhpcy5mID0gZjtcbiAgICB0aGlzLnhmb3JtID0geGZvcm07XG4gICAgdGhpcy5pID0gLTE7XG4gIH1cblxuICAnQEB0cmFuc2R1Y2VyL2luaXQnKCkge1xuICAgIHJldHVybiB0aGlzLnhmb3JtWydAQHRyYW5zZHVjZXIvaW5pdCddKCk7XG4gIH1cblxuICAnQEB0cmFuc2R1Y2VyL3Jlc3VsdCcodikge1xuICAgIHJldHVybiB0aGlzLnhmb3JtWydAQHRyYW5zZHVjZXIvcmVzdWx0J10odik7XG4gIH1cblxuICAnQEB0cmFuc2R1Y2VyL3N0ZXAnKHJlcywgaW5wdXQpIHtcbiAgICB0aGlzLmkrKztcbiAgICByZXR1cm4gdGhpcy54Zm9ybVsnQEB0cmFuc2R1Y2VyL3N0ZXAnXShyZXMsIHRoaXMuZihpbnB1dCwgdGhpcy5pKSk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gbWFwSW5kZXhlZChmKSB7XG4gIHJldHVybiBmdW5jdGlvbih4Zm9ybSkge1xuICAgIHJldHVybiBuZXcgTWFwSW5kZXhlZChmLCB4Zm9ybSk7XG4gIH07XG59XG4iXX0=
51453
-
51454
50946
  /***/ }),
51455
50947
 
51456
50948
  /***/ 5936: