define("metaserver/static/js/dropbox/proto/js_init_data/login_form/login_form",["require","exports","tslib","protobufjs/minimal"],(function(e,t,r,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.login_form=void 0;const o=(n=r.__importStar(n)).Reader,i=n.Writer,s=(n.util,n.roots.default||(n.roots.default={}));var a;t.default=s,t.login_form=s.login_form=((a=s.login_form||{}).EncryptionOptions=(function(e){function e(e){if(e)for(let t=Object.keys(e),r=0;r>>3){case 1:n.key=e.string();break;case 2:n.version=e.int64();break;case 3:n.type=e.string();break;case 4:n.plaintextFallback=e.bool();break;case 5:n.timestamp=e.float();break;default:e.skipType(7&t)}}return n},e.getTypeUrl=function(){return"type.googleapis.com/login_form.EncryptionOptions"},e})(a.EncryptionOptions||{}),a)})),define("metaserver/static/js/modules/clean/security/crypto",["require","exports","tslib","metaserver/static/js/modules/core/browser_detection","metaserver/static/js/modules/clean/security/util"],(function(e,t,r,n,o){"use strict";function i(){return r.__awaiter(this,void 0,void 0,(function*(){const t=n.edge&&!n.edgeChromium();if(void 0!==window.crypto.subtle&&!t&&!n.checkBrowserVersion(n.chrome,40,!1))return window.crypto;if(void 0!==window.crypto.webkitSubtle){const{webkitCryptoWrapper:t}=yield new Promise((t,r)=>{e(["metaserver/static/js/modules/clean/security/webkitcrypto_shim"],t,r)}).then(r.__importStar),n=t();if(void 0!==n)return n}if(t){const{legacyEdgeWrapper:t}=yield new Promise((t,r)=>{e(["metaserver/static/js/modules/clean/security/legacy_edge_shim"],t,r)}).then(r.__importStar),n=t();if(void 0!==n)return n}throw(function(e){const t=new Error(e);return t.isBrowserNotSupported=!0,t})("WebCrypto not supported")}))}Object.defineProperty(t,"__esModule",{value:!0}),t.getRandomValues=t.verifyMessageHmac=t.hashSHA256=t.hmacMessage=t.encryptWithPublicKey=void 0,n=r.__importStar(n),t.encryptWithPublicKey=function(e,t,n){return r.__awaiter(this,void 0,void 0,(function*(){return i().then(i=>r.__awaiter(this,void 0,void 0,(function*(){const r=i.getRandomValues(new Uint8Array(12)),s=yield i.subtle.generateKey({name:"AES-GCM",length:128},!0,["encrypt","decrypt"]),a=yield i.subtle.encrypt({name:"AES-GCM",iv:r},s,t),c=yield i.subtle.exportKey("raw",s),u=yield i.subtle.importKey("spki",e,{name:"RSA-OAEP",hash:"SHA-256"},!0,["encrypt"]),l=yield i.subtle.encrypt({name:"RSA-OAEP"},u,c),p=new ArrayBuffer(2);return new DataView(p).setInt16(0,n),o.concatenateArrayBuffers(p,l,r,a)})))}))},t.hmacMessage=function(e,t){return r.__awaiter(this,void 0,void 0,(function*(){const r=yield i(),n=yield r.subtle.importKey("raw",e,{name:"HMAC",hash:"SHA-256"},!0,["sign"]),o=yield r.subtle.sign({name:"HMAC"},n,t);return new Uint8Array(o)}))},t.hashSHA256=function(e){return r.__awaiter(this,void 0,void 0,(function*(){const t=yield i(),r=yield t.subtle.digest("SHA-256",e);return new Uint8Array(r)}))},t.verifyMessageHmac=function(e,t,n){return r.__awaiter(this,void 0,void 0,(function*(){const r=yield i(),o=yield r.subtle.importKey("raw",e,{name:"HMAC",hash:"SHA-256"},!0,["verify"]);return yield r.subtle.verify({name:"HMAC"},o,n,t)}))},t.getRandomValues=function(e){return r.__awaiter(this,void 0,void 0,(function*(){return(yield i()).getRandomValues(e),e}))}})),define("metaserver/static/js/modules/clean/security/encryption_options",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.convertProtoEncryptionOptionsToProp=void 0,t.convertProtoEncryptionOptionsToProp=e=>{if(e)return{key:e.key,version:Number(e.version),type:e.type,timestamp:e.timestamp,plaintextFallback:e.plaintextFallback}}})),define("metaserver/static/js/modules/clean/security/encryption_options_context",["require","exports","react","metaserver/static/js/modules/clean/security/encryption_options","metaserver/static/js/modules/clean/security/passwords"],(function(e,t,r,n,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.useEncryptPassword=t.EncryptionOptionsContext=void 0,t.EncryptionOptionsContext=r.createContext(void 0),t.useEncryptPassword=()=>{const e=r.useContext(t.EncryptionOptionsContext),i=n.convertProtoEncryptionOptionsToProp(e);if(null==i)throw new Error("EncryptionOptions missing: check to ensure that the current context includes EncryptionOptions.Provider");return e=>o.wrapPassword(e,i)}})),define("metaserver/static/js/modules/clean/security/passwords",["require","exports","tslib","metaserver/static/js/modules/clean/security/util","metaserver/static/js/modules/clean/security/crypto","metaserver/static/js/modules/core/exception"],(function(e,t,r,n,o,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.wrapPassword=void 0,n=r.__importStar(n),t.wrapPassword=function(e,t){return r.__awaiter(this,void 0,void 0,(function*(){if(""===e)return"";const r=encodeURIComponent(e);try{const e="wrapped_password_"+t.type+"_";if("RSA-OAEP"===t.type){const i=void 0!==window.performance?window.performance.now()/1e3:0,s=t.timestamp+i,a=n.b64urldecode(t.key),c=yield o.encryptWithPublicKey(a,n.stringToBytes(JSON.stringify({timestamp:s,password:r})),t.version);return e+n.b64urlencode(c)}throw new Error("Unsupported algorithm")}catch(e){if(!0===t.plaintextFallback)return i.reportException({err:e,severity:"non-critical",tags:["password-crypto-fallback-error"]}),"wrapped_password_PLAINTEXT_"+r;{let t;throw t=e.isBrowserNotSupported?"user-error":"critical",i.reportException({err:e,severity:t,tags:["password-crypto-error"]}),e}}}))}})),define("metaserver/static/js/modules/clean/security/util",["require","exports"],(function(e,t){"use strict";function r(e){return btoa(e).replace(/\//g,"_").replace(/\+/g,"-")}function n(e){return String.fromCharCode.apply(null,new Uint8Array(e))}function o(e){return new Uint8Array(Array.prototype.map.call(e,e=>e.charCodeAt(0)))}Object.defineProperty(t,"__esModule",{value:!0}),t.asNumber=t.concatenateArrayBuffers=t.stringToBytes=t.bytesToString=t.b64urldecode=t.b64urlencodeString=t.b64urlencode=void 0,t.b64urlencode=function(e){return r(n(e))},t.b64urlencodeString=r,t.b64urldecode=function(e){return o(atob(e.replace(/_/g,"/").replace(/-/g,"+")))},t.bytesToString=n,t.stringToBytes=o,t.concatenateArrayBuffers=function(...e){let t=0;for(const r of e)t+=r.byteLength;const r=new Uint8Array(t);let n=0;for(const t of e){const e=new Uint8Array(t);r.set(e,n),n+=t.byteLength}return r},t.asNumber=function(e){return"number"==typeof e?e:e.toNumber()}})); //# sourceMappingURL=pkg-core-security.min.js-vflgOveRV.map