gitextract_4or1ul2c/ ├── .circleci/ │ └── config.yml ├── .dockerignore ├── .editorconfig ├── .eslintignore ├── .eslintrc.yml ├── .gitattributes ├── .gitignore ├── .htmllintrc ├── .prettierignore ├── .stylelintrc ├── .vscode/ │ └── settings.json ├── CHANGELOG.md ├── CODE_OF_CONDUCT.md ├── CONTRIBUTORS ├── Dockerfile ├── LICENSE ├── README.md ├── android/ │ ├── .eslintrc.yaml │ ├── .gitignore │ ├── README.md │ ├── android.js │ ├── app/ │ │ ├── .gitignore │ │ ├── build.gradle │ │ ├── buildAssets.sh │ │ ├── proguard-rules.pro │ │ └── src/ │ │ └── main/ │ │ ├── AndroidManifest.xml │ │ ├── java/ │ │ │ └── org/ │ │ │ └── mozilla/ │ │ │ └── firefoxsend/ │ │ │ └── MainActivity.kt │ │ └── res/ │ │ ├── drawable/ │ │ │ └── ic_launcher_foreground.xml │ │ ├── drawable-v24/ │ │ │ └── ic_launcher_foreground.xml │ │ ├── layout/ │ │ │ └── activity_main.xml │ │ ├── mipmap-anydpi-v26/ │ │ │ ├── ic_launcher.xml │ │ │ └── ic_launcher_round.xml │ │ └── values/ │ │ ├── colors.xml │ │ ├── ic_launcher_background.xml │ │ ├── strings.xml │ │ └── styles.xml │ ├── build.gradle │ ├── gradle/ │ │ └── wrapper/ │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties │ ├── gradle.properties │ ├── gradlew │ ├── gradlew.bat │ ├── pages/ │ │ ├── .eslintrc.yaml │ │ ├── error.js │ │ ├── home.js │ │ ├── preferences.js │ │ ├── share.js │ │ └── upload.js │ ├── settings.gradle │ ├── stores/ │ │ ├── intents.js │ │ └── state.js │ └── user.js ├── app/ │ ├── .eslintrc.yml │ ├── api.js │ ├── archive.js │ ├── capabilities.js │ ├── controller.js │ ├── crc32.js │ ├── dragManager.js │ ├── ece.js │ ├── experiments.js │ ├── fileReceiver.js │ ├── fileSender.js │ ├── fxa.js │ ├── keychain.js │ ├── locale.js │ ├── main.css │ ├── main.js │ ├── metrics.js │ ├── ownedFile.js │ ├── pasteManager.js │ ├── readme.md │ ├── routes.js │ ├── serviceWorker.js │ ├── storage.js │ ├── streams.js │ ├── ui/ │ │ ├── account.js │ │ ├── archiveTile.js │ │ ├── blank.js │ │ ├── body.js │ │ ├── copyDialog.js │ │ ├── download.js │ │ ├── downloadCompleted.js │ │ ├── downloadDialog.js │ │ ├── downloadPassword.js │ │ ├── error.js │ │ ├── expiryOptions.js │ │ ├── footer.js │ │ ├── header.js │ │ ├── home.js │ │ ├── intro.js │ │ ├── modal.js │ │ ├── noStreams.js │ │ ├── notFound.js │ │ ├── okDialog.js │ │ ├── report.js │ │ ├── selectbox.js │ │ ├── shareDialog.js │ │ └── unsupported.js │ ├── user.js │ ├── utils.js │ └── zip.js ├── browserslist ├── build/ │ ├── android_index_plugin.js │ ├── readme.md │ └── version_plugin.js ├── common/ │ ├── assets.js │ ├── generate_asset_map.js │ └── readme.md ├── docker-compose.yml ├── docs/ │ ├── CODEOWNERS │ ├── acceptance-mobile.md │ ├── acceptance-web.md │ ├── build.md │ ├── deployment.md │ ├── docker.md │ ├── encryption.md │ ├── experiments.md │ ├── faq.md │ ├── localization.md │ ├── metrics.md │ ├── notes/ │ │ └── streams.md │ └── takedowns.md ├── ios/ │ ├── generate-bundle.js │ ├── ios.js │ ├── send-ios/ │ │ ├── AppDelegate.swift │ │ ├── Assets.xcassets/ │ │ │ ├── AppIcon.appiconset/ │ │ │ │ └── Contents.json │ │ │ └── Contents.json │ │ ├── Base.lproj/ │ │ │ ├── LaunchScreen.storyboard │ │ │ └── Main.storyboard │ │ ├── Info.plist │ │ ├── ViewController.swift │ │ ├── assets/ │ │ │ ├── index.css │ │ │ └── index.html │ │ └── help.html │ ├── send-ios-action-extension/ │ │ ├── ActionViewController.swift │ │ ├── Base.lproj/ │ │ │ └── MainInterface.storyboard │ │ └── Info.plist │ └── send-ios.xcodeproj/ │ ├── project.pbxproj │ └── project.xcworkspace/ │ ├── contents.xcworkspacedata │ └── xcshareddata/ │ └── IDEWorkspaceChecks.plist ├── l10n.toml ├── package.json ├── postcss.config.js ├── public/ │ ├── contribute.json │ ├── inter.css │ └── locales/ │ ├── an/ │ │ └── send.ftl │ ├── ar/ │ │ └── send.ftl │ ├── ast/ │ │ └── send.ftl │ ├── az/ │ │ └── send.ftl │ ├── azz/ │ │ └── send.ftl │ ├── be/ │ │ └── send.ftl │ ├── bn/ │ │ └── send.ftl │ ├── br/ │ │ └── send.ftl │ ├── bs/ │ │ └── send.ftl │ ├── ca/ │ │ └── send.ftl │ ├── cak/ │ │ └── send.ftl │ ├── ckb/ │ │ └── send.ftl │ ├── cs/ │ │ └── send.ftl │ ├── cy/ │ │ └── send.ftl │ ├── da/ │ │ └── send.ftl │ ├── de/ │ │ └── send.ftl │ ├── dsb/ │ │ └── send.ftl │ ├── el/ │ │ └── send.ftl │ ├── en-CA/ │ │ └── send.ftl │ ├── en-GB/ │ │ └── send.ftl │ ├── en-US/ │ │ └── send.ftl │ ├── es-AR/ │ │ └── send.ftl │ ├── es-CL/ │ │ └── send.ftl │ ├── es-ES/ │ │ └── send.ftl │ ├── es-MX/ │ │ └── send.ftl │ ├── et/ │ │ └── send.ftl │ ├── eu/ │ │ └── send.ftl │ ├── fa/ │ │ └── send.ftl │ ├── fi/ │ │ └── send.ftl │ ├── fr/ │ │ └── send.ftl │ ├── fy-NL/ │ │ └── send.ftl │ ├── gn/ │ │ └── send.ftl │ ├── gor/ │ │ └── send.ftl │ ├── he/ │ │ └── send.ftl │ ├── hr/ │ │ └── send.ftl │ ├── hsb/ │ │ └── send.ftl │ ├── hu/ │ │ └── send.ftl │ ├── hus/ │ │ └── send.ftl │ ├── hy-AM/ │ │ └── send.ftl │ ├── ia/ │ │ └── send.ftl │ ├── id/ │ │ └── send.ftl │ ├── ig/ │ │ └── send.ftl │ ├── it/ │ │ └── send.ftl │ ├── ixl/ │ │ └── send.ftl │ ├── ja/ │ │ └── send.ftl │ ├── ka/ │ │ └── send.ftl │ ├── kab/ │ │ └── send.ftl │ ├── ko/ │ │ └── send.ftl │ ├── lt/ │ │ └── send.ftl │ ├── lus/ │ │ └── send.ftl │ ├── meh/ │ │ └── send.ftl │ ├── mix/ │ │ └── send.ftl │ ├── ml/ │ │ └── send.ftl │ ├── ms/ │ │ └── send.ftl │ ├── nb-NO/ │ │ └── send.ftl │ ├── nl/ │ │ └── send.ftl │ ├── nn-NO/ │ │ └── send.ftl │ ├── oc/ │ │ └── send.ftl │ ├── pa-IN/ │ │ └── send.ftl │ ├── pai/ │ │ └── send.ftl │ ├── pl/ │ │ └── send.ftl │ ├── ppl/ │ │ └── send.ftl │ ├── pt-BR/ │ │ └── send.ftl │ ├── pt-PT/ │ │ └── send.ftl │ ├── quc/ │ │ └── send.ftl │ ├── ro/ │ │ └── send.ftl │ ├── ru/ │ │ └── send.ftl │ ├── sk/ │ │ └── send.ftl │ ├── sl/ │ │ └── send.ftl │ ├── sn/ │ │ └── send.ftl │ ├── sq/ │ │ └── send.ftl │ ├── sr/ │ │ └── send.ftl │ ├── su/ │ │ └── send.ftl │ ├── sv-SE/ │ │ └── send.ftl │ ├── te/ │ │ └── send.ftl │ ├── th/ │ │ └── send.ftl │ ├── tl/ │ │ └── send.ftl │ ├── tr/ │ │ └── send.ftl │ ├── trs/ │ │ └── send.ftl │ ├── uk/ │ │ └── send.ftl │ ├── vi/ │ │ └── send.ftl │ ├── yo/ │ │ └── send.ftl │ ├── yua/ │ │ └── send.ftl │ ├── zgh/ │ │ └── send.ftl │ ├── zh-CN/ │ │ └── send.ftl │ └── zh-TW/ │ └── send.ftl ├── scripts/ │ ├── .eslintrc.yml │ ├── bin/ │ │ └── run-integration-test-circleci.sh │ ├── get-prod-locales.js │ ├── lint-locales.js │ └── sync-npm-dependencies.sh ├── server/ │ ├── amplitude.js │ ├── bin/ │ │ ├── dev.js │ │ ├── prod.js │ │ └── test.js │ ├── clientConstants.js │ ├── config.js │ ├── fxa.js │ ├── initScript.js │ ├── keychain.js │ ├── layout.js │ ├── limiter.js │ ├── locale.js │ ├── log.js │ ├── metadata.js │ ├── middleware/ │ │ ├── auth.js │ │ └── language.js │ ├── readme.md │ ├── routes/ │ │ ├── delete.js │ │ ├── done.js │ │ ├── download.js │ │ ├── exists.js │ │ ├── filelist.js │ │ ├── index.js │ │ ├── info.js │ │ ├── metadata.js │ │ ├── metrics.js │ │ ├── pages.js │ │ ├── params.js │ │ ├── password.js │ │ ├── report.js │ │ ├── token.js │ │ ├── upload.js │ │ ├── webmanifest.js │ │ └── ws.js │ ├── state.js │ └── storage/ │ ├── fs.js │ ├── gcs.js │ ├── index.js │ ├── redis.js │ └── s3.js ├── tailwind.config.js ├── test/ │ ├── .eslintrc.yml │ ├── backend/ │ │ ├── auth-tests.js │ │ ├── delete-tests.js │ │ ├── info-tests.js │ │ ├── language-tests.js │ │ ├── metadata-tests.js │ │ ├── owner-tests.js │ │ ├── params-tests.js │ │ ├── password-tests.js │ │ ├── s3-tests.js │ │ └── storage-tests.js │ ├── frontend/ │ │ ├── .eslintrc.yml │ │ ├── index.js │ │ ├── routes.js │ │ ├── runner.js │ │ └── tests/ │ │ ├── api-tests.js │ │ ├── auth-tests.js │ │ ├── crypto-tests.js │ │ ├── fileSender-tests.js │ │ ├── keychain-tests.js │ │ ├── streaming-tests.js │ │ └── workflow-tests.js │ ├── integration/ │ │ ├── README.md │ │ ├── download-tests.js │ │ ├── fixtures/ │ │ │ ├── txt-larger-testfile.txt │ │ │ └── txt-small-testfile.txt │ │ ├── homepage-tests.js │ │ ├── pages/ │ │ │ └── desktop/ │ │ │ ├── download_page.js │ │ │ ├── home_page.js │ │ │ └── page.js │ │ ├── progress-tests.js │ │ └── send-test.html │ ├── readme.md │ ├── testServer.js │ ├── wdio.circleci.conf.js │ ├── wdio.common.conf.js │ ├── wdio.docker.conf.js │ ├── wdio.local.conf.js │ ├── wdio.remote.config.js │ └── wdio.saucelabs.config.js └── webpack.config.js